IyBTd2VkaXNoIG1lc3NhZ2VzIGZvciBncHJvZi4KIyBDb3B5cmlnaHQgKEMpIDIwMDEsIDIwMDIsIDIwMDQsIDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgQ2hyaXN0aWFuIFJvc2UgPG1lbnRob3NAbWVudGhvcy5jb20+LCAyMDAxLCAyMDAyLCAyMDA0LgojIERhbmllbCBOeWxhbmRlciA8cG9AZGFuaWVsbnlsYW5kZXIuc2U+LCAyMDA2LgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBncHJvZiAyLjE1Ljk2XG4iCiJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNS0wMy0wMyAyMTowNSsxMDMwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDA2LTAyLTEyIDIzOjU1KzAxMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogRGFuaWVsIE55bGFuZGVyIDxwb0BkYW5pZWxueWxhbmRlci5zZT5cbiIKIkxhbmd1YWdlLVRlYW06IFN3ZWRpc2ggPHRwLXN2QGxpc3Rvci50cC1zdi5zZT5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9aXNvLTg4NTktMVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIzogYWxwaGEuYzoxMDIgbWlwcy5jOjU0Cm1zZ2lkICI8aW5kaXJlY3QgY2hpbGQ+Igptc2dzdHIgIjxpbmRpcmVrdCBiYXJuPiIKCiM6IGFscGhhLmM6MTE5IG1pcHMuYzo3MQojLCBjLWZvcm1hdAptc2dpZCAiW2ZpbmRfY2FsbF0gJXM6IDB4JWx4IHRvIDB4JWx4XG4iCm1zZ3N0ciAiW2ZpbmRfY2FsbF0gJXM6IDB4JWx4IHRpbGwgMHglbHhcbiIKCiM6IGFscGhhLmM6MTQxCiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAweCVseDoganNyJXMgPGluZGlyZWN0X2NoaWxkPlxuIgptc2dzdHIgIltmaW5kX2NhbGxdIDB4JWx4OiBqc3IlcyA8aW5kaXJla3RfYmFybj5cbiIKCiM6IGFscGhhLmM6MTUxCiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAweCVseDogYnNyIgptc2dzdHIgIltmaW5kX2NhbGxdIDB4JWx4OiBic3IiCgojOiBiYXNpY19ibG9ja3MuYzoxMjggY2FsbF9ncmFwaC5jOjg5IGhpc3QuYzo5NwojLCBjLWZvcm1hdAptc2dpZCAiJXM6ICVzOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlXG4iCm1zZ3N0ciAiJXM6ICVzOiBvduRudGF0IGZpbHNsdXRcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjE5NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHdhcm5pbmc6IGlnbm9yaW5nIGJhc2ljLWJsb2NrIGV4ZWMgY291bnRzICh1c2UgLWwgb3IgLS1saW5lKVxuIgptc2dzdHIgIiVzOiB2YXJuaW5nOiBpZ25vcmVyYXIgZXhla3ZlcmluZ3Ny5GtuaW5nIGb2ciBncnVuZGJsb2NrIChhbnbkbmQgLWwgZWxsZXIgLS1saW5lKVxuIgoKIy4gRklYTUU6IFRoaXMgb25seSB3b3JrcyBpZiBiZmRfdm1hIGlzIHVuc2lnbmVkIGxvbmcuCiM6IGJhc2ljX2Jsb2Nrcy5jOjI4NyBiYXNpY19ibG9ja3MuYzoyOTcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiVkOiAoJXM6MHglbHgpICVsdSBleGVjdXRpb25zXG4iCm1zZ3N0ciAiJXM6JWQ6ICglczoweCVseCkgJWx1IGV4ZWt2ZXJpbmdhclxuIgoKIzogYmFzaWNfYmxvY2tzLmM6Mjg4IGJhc2ljX2Jsb2Nrcy5jOjI5OAptc2dpZCAiPHVua25vd24+Igptc2dzdHIgIjxva+RuZD4iCgojOiBiYXNpY19ibG9ja3MuYzo1NDEKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiXG4iCiJUb3AgJWQgTGluZXM6XG4iCiJcbiIKIiAgICAgTGluZSAgICAgIENvdW50XG4iCiJcbiIKbXNnc3RyICIiCiJcbiIKIlxuIgoi1nZlcnN0YSAlZCByYWRlcm5hOlxuIgoiXG4iCiIgICAgIFJhZCAgICAgICBBbnRhbFxuIgoiXG4iCgojOiBiYXNpY19ibG9ja3MuYzo1NjUKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiRXhlY3V0aW9uIFN1bW1hcnk6XG4iCiJcbiIKbXNnc3RyICIiCiJcbiIKIkV4ZWt2ZXJpbmdzc2FtbWFuZmF0dG5pbmc6XG4iCiJcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU2NgojLCBjLWZvcm1hdAptc2dpZCAiJTlsZCAgIEV4ZWN1dGFibGUgbGluZXMgaW4gdGhpcyBmaWxlXG4iCm1zZ3N0ciAiJTlsZCAgIEV4ZWt2ZXJiYXJhIHJhZGVyIGkgZGVubmEgZmlsXG4iCgojOiBiYXNpY19ibG9ja3MuYzo1NjgKIywgYy1mb3JtYXQKbXNnaWQgIiU5bGQgICBMaW5lcyBleGVjdXRlZFxuIgptc2dzdHIgIiU5bGQgICBFeGVrdmVyYWRlIHJhZGVyXG4iCgojOiBiYXNpY19ibG9ja3MuYzo1NjkKIywgYy1mb3JtYXQKbXNnaWQgIiU5LjJmICAgUGVyY2VudCBvZiB0aGUgZmlsZSBleGVjdXRlZFxuIgptc2dzdHIgIiU5LjJmICAgUHJvY2VudCBhdiBmaWxlbiBzb20gZXhla3ZlcmF0c1xuIgoKIzogYmFzaWNfYmxvY2tzLmM6NTczCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiU5bHUgICBUb3RhbCBudW1iZXIgb2YgbGluZSBleGVjdXRpb25zXG4iCm1zZ3N0ciAiIgoiXG4iCiIlOWx1ICAgVG90YWxhIGFudGFsZXQgcmFkZXhla3ZlcmluZ2FyXG4iCgojOiBiYXNpY19ibG9ja3MuYzo1NzUKIywgYy1mb3JtYXQKbXNnaWQgIiU5LjJmICAgQXZlcmFnZSBleGVjdXRpb25zIHBlciBsaW5lXG4iCm1zZ3N0ciAiJTkuMmYgICBNZWRlbGV4ZWt2ZXJpbmdhciBwZXIgcmFkXG4iCgojOiBjYWxsX2dyYXBoLmM6NjgKIywgYy1mb3JtYXQKbXNnaWQgIltjZ190YWxseV0gYXJjIGZyb20gJXMgdG8gJXMgdHJhdmVyc2VkICVsdSB0aW1lc1xuIgptc2dzdHIgIltjZ190YWxseV0gYuVnZSBmcuVuICVzIHRpbGwgJXMgdHJhdmVyc2VyYWQgJWx1IGflbmdlclxuIgoKIzogY2dfcHJpbnQuYzo3MwojLCBjLWZvcm1hdAptc2dpZCAiIgoiXHRcdCAgICAgQ2FsbCBncmFwaCAoZXhwbGFuYXRpb24gZm9sbG93cylcbiIKIlxuIgptc2dzdHIgIiIKIlx0XHQgICAgIEFuZ3JvcHNncmFmIChm9nJrbGFyaW5nIGb2bGplcilcbiIKIlxuIgoKIzogY2dfcHJpbnQuYzo3NQojLCBjLWZvcm1hdAptc2dpZCAiIgoiXHRcdFx0Q2FsbCBncmFwaFxuIgoiXG4iCm1zZ3N0ciAiIgoiXHRcdFx0QW5yb3BzZ3JhZlxuIgoiXG4iCgojOiBjZ19wcmludC5jOjc4IGhpc3QuYzozNTkKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiZ3JhbnVsYXJpdHk6IGVhY2ggc2FtcGxlIGhpdCBjb3ZlcnMgJWxkIGJ5dGUocykiCm1zZ3N0ciAiIgoiXG4iCiJ1cHBs9nNuaW5nOiB2YXJqZSBzdGlja3Byb3YgdORja2VyICVsZCBieXRlIgoKIzogY2dfcHJpbnQuYzo4MgojLCBjLWZvcm1hdAptc2dpZCAiIgoiIGZvciAlLjJmJSUgb2YgJS4yZiBzZWNvbmRzXG4iCiJcbiIKbXNnc3RyICIiCiIgZvZyICUuMmYlJSBw5SAlLjJmIHNla3VuZGVyXG4iCiJcbiIKCiM6IGNnX3ByaW50LmM6ODYKIywgYy1mb3JtYXQKbXNnaWQgIiIKIiBubyB0aW1lIHByb3BhZ2F0ZWRcbiIKIlxuIgptc2dzdHIgIiIKIiBpbmdlbiB0aWQgcHJvcGFnZXJhZFxuIgoiXG4iCgojOiBjZ19wcmludC5jOjk1IGNnX3ByaW50LmM6OTggY2dfcHJpbnQuYzoxMDAKbXNnaWQgImNhbGxlZCIKbXNnc3RyICJhbnJvcGFkIgoKIzogY2dfcHJpbnQuYzo5NSBjZ19wcmludC5jOjEwMAptc2dpZCAidG90YWwiCm1zZ3N0ciAidG90YWx0IgoKIzogY2dfcHJpbnQuYzo5NQptc2dpZCAicGFyZW50cyIKbXNnc3RyICJm9nLkbGRyYXIiCgojOiBjZ19wcmludC5jOjk3IGNnX3ByaW50LmM6OTgKbXNnaWQgImluZGV4Igptc2dzdHIgImluZGV4IgoKIzogY2dfcHJpbnQuYzo5NwojLCBjLWZvcm1hdAptc2dpZCAiJXRpbWUiCm1zZ3N0ciAiJXRpZCIKCiM6IGNnX3ByaW50LmM6OTcgY2dfcHJpbnQuYzo5OAptc2dpZCAic2VsZiIKbXNnc3RyICJzauRsdiIKCiM6IGNnX3ByaW50LmM6OTcKbXNnaWQgImRlc2NlbmRhbnRzIgptc2dzdHIgIuR0dGxpbmdhciIKCiM6IGNnX3ByaW50LmM6OTggaGlzdC5jOjM4NQptc2dpZCAibmFtZSIKbXNnc3RyICJuYW1uIgoKIzogY2dfcHJpbnQuYzoxMDAKbXNnaWQgImNoaWxkcmVuIgptc2dzdHIgImJhcm4iCgojOiBjZ19wcmludC5jOjEwNQojLCBjLWZvcm1hdAptc2dpZCAiaW5kZXggJSUgdGltZSAgICBzZWxmICBjaGlsZHJlbiAgICBjYWxsZWQgICAgIG5hbWVcbiIKbXNnc3RyICJpbmRleCAlJSB0aWQgICAgIHNq5Gx2IGJhcm4gICAgICAgIGFucm9wYWQgICAgbmFtblxuIgoKIzogY2dfcHJpbnQuYzoxMjgKIywgYy1mb3JtYXQKbXNnaWQgIiA8Y3ljbGUgJWQgYXMgYSB3aG9sZT4gWyVkXVxuIgptc2dzdHIgIiA8aGVsYSBjeWtlbCAlZD4gWyVkXVxuIgoKIzogY2dfcHJpbnQuYzozNTQKIywgYy1mb3JtYXQKbXNnaWQgIiU2LjZzICU1LjVzICU3LjdzICUxMS4xMXMgJTcuN3MgJTcuN3MgICAgIDxzcG9udGFuZW91cz5cbiIKbXNnc3RyICIlNi42cyAlNS41cyAlNy43cyAlMTEuMTFzICU3LjdzICU3LjdzICAgICA8c3BvbnRhbnQ+XG4iCgojOiBjZ19wcmludC5jOjM1NQojLCBjLWZvcm1hdAptc2dpZCAiJTYuNnMgJTUuNXMgJTcuN3MgJTcuN3MgJTcuN3MgJTcuN3MgICAgIDxzcG9udGFuZW91cz5cbiIKbXNnc3RyICIlNi42cyAlNS41cyAlNy43cyAlNy43cyAlNy43cyAlNy43cyAgICAgPHNwb250YW50PlxuIgoKIzogY2dfcHJpbnQuYzo1ODkKIywgYy1mb3JtYXQKbXNnaWQgIiIKIkluZGV4IGJ5IGZ1bmN0aW9uIG5hbWVcbiIKIlxuIgptc2dzdHIgIiIKIkluZGV4IGVmdGVyIGZ1bmt0aW9uc25hbW5cbiIKIlxuIgoKIzogY2dfcHJpbnQuYzo2NDYgY2dfcHJpbnQuYzo2NTUKIywgYy1mb3JtYXQKbXNnaWQgIjxjeWNsZSAlZD4iCm1zZ3N0ciAiPGN5a2VsICVkPiIKCiM6IGNvcmVmaWxlLmM6NjQKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBjb3VsZCBub3Qgb3BlbiAlcy5cbiIKbXNnc3RyICIlczoga3VuZGUgaW50ZSD2cHBuYSAlcy5cbiIKCiM6IGNvcmVmaWxlLmM6NzggY29yZWZpbGUuYzoxMTIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bmFibGUgdG8gcGFyc2UgbWFwcGluZyBmaWxlICVzLlxuIgptc2dzdHIgIiVzOiBrYW4gaW50ZSB0b2xrYSBtYXBwZmlsZW4gJXMuXG4iCgojOiBjb3JlZmlsZS5jOjE1NQojLCBjLWZvcm1hdAptc2dpZCAiJXM6ICVzOiBub3QgaW4gYS5vdXQgZm9ybWF0XG4iCm1zZ3N0ciAiJXM6ICVzOiBpbnRlIGkgYS5vdXQtZm9ybWF0XG4iCgojOiBjb3JlZmlsZS5jOjE2NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbid0IGZpbmQgLnRleHQgc2VjdGlvbiBpbiAlc1xuIgptc2dzdHIgIiVzOiBrYW4gaW50ZSBoaXR0YSAudGV4dC1zZWt0aW9uIGkgJXNcbiIKCiM6IGNvcmVmaWxlLmM6MjI0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogcmFuIG91dCByb29tIGZvciAlbHUgYnl0ZXMgb2YgdGV4dCBzcGFjZVxuIgptc2dzdHIgIiVzOiBzbHV0IHDlIHV0cnltbWUgZvZyICVsdSBieXRlIHRleHR1dHJ5bW1lXG4iCgojOiBjb3JlZmlsZS5jOjIzOAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbid0IGRvIC1jXG4iCm1zZ3N0ciAiJXM6IGthbiBpbnRlIGf2cmEgLWNcbiIKCiM6IGNvcmVmaWxlLmM6MjcyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogLWMgbm90IHN1cHBvcnRlZCBvbiBhcmNoaXRlY3R1cmUgJXNcbiIKbXNnc3RyICIlczogLWMgc3T2ZHMgaW50ZSBw5SBhcmtpdGVrdHVyZW4gJXNcbiIKCiM6IGNvcmVmaWxlLmM6NDM3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSBgJXMnIGhhcyBubyBzeW1ib2xzXG4iCm1zZ3N0ciAiJXM6IGZpbGVuIFwiJXNcIiBoYXIgaW5nYSBzeW1ib2xlclxuIgoKIzogY29yZWZpbGUuYzo3NTEKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBzb21lYm9keSBtaXNjb3VudGVkOiBsdGFiLmxlbj0lZCBpbnN0ZWFkIG9mICVsZFxuIgptc2dzdHIgIiVzOiBu5WdvbiBy5GtuYWRlIGZlbDogbHRhYi5sZW49JWQgaXN05GxsZXQgZvZyICVsZFxuIgoKIzogZ21vbl9pby5jOjgzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogYWRkcmVzcyBzaXplIGhhcyB1bmV4cGVjdGVkIHZhbHVlIG9mICV1XG4iCm1zZ3N0ciAiJXM6IGFkcmVzc3Rvcmxla2VuIGhhciBldHQgb3bkbnRhdCB25HJkZSBw5SAldVxuIgoKIzogZ21vbl9pby5jOjMxNyBnbW9uX2lvLmM6NDEzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSB0b28gc2hvcnQgdG8gYmUgYSBnbW9uIGZpbGVcbiIKbXNnc3RyICIlczogZmlsZW4g5HIgZvZyIGtvcnQgZvZyIGF0dCB2YXJhIGVuIGdtb24tZmlsXG4iCgojOiBnbW9uX2lvLmM6MzI3IGdtb25faW8uYzo0NTYKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBmaWxlIGAlcycgaGFzIGJhZCBtYWdpYyBjb29raWVcbiIKbXNnc3RyICIlczogZmlsZW4gXCIlc1wiIGhhciBmZWxha3RpZ3QgbWFnaXNrdCB0YWxcbiIKCiM6IGdtb25faW8uYzozMzgKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBmaWxlIGAlcycgaGFzIHVuc3VwcG9ydGVkIHZlcnNpb24gJWRcbiIKbXNnc3RyICIlczogZmlsZW4gXCIlc1wiIGhhciB2ZXJzaW9uICVkIHNvbSBpbnRlIHN09mRzXG4iCgojOiBnbW9uX2lvLmM6MzY4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogJXM6IGZvdW5kIGJhZCB0YWcgJWQgKGZpbGUgY29ycnVwdGVkPylcbiIKbXNnc3RyICIlczogJXM6IGhpdHRhZGUgZmVsYWt0aWcgdGFnZyAlZCAo5HIgZmlsZW4gc2thZGFkPylcbiIKCiM6IGdtb25faW8uYzo0MzUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBwcm9maWxpbmcgcmF0ZSBpbmNvbXBhdGlibGUgd2l0aCBmaXJzdCBnbW9uIGZpbGVcbiIKbXNnc3RyICIlczogcHJvZmlsZXJpbmdzaGFzdGlnaGV0IORyIGlua29tcGF0aWJlbCBtZWQgZvZyc3RhIGdtb24tZmlsZW5cbiIKCiM6IGdtb25faW8uYzo0ODMKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBpbmNvbXBhdGlibGUgd2l0aCBmaXJzdCBnbW9uIGZpbGVcbiIKbXNnc3RyICIlczogaW5rb21wYXRpYmVsIG1lZCBm9nJzdGEgZ21vbi1maWxlblxuIgoKIzogZ21vbl9pby5jOjUxMQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgJyVzJyBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgaW4gZ21vbi5vdXQgZm9ybWF0XG4iCm1zZ3N0ciAiJXM6IGZpbGVuIFwiJXNcIiB2ZXJrYXIgaW50ZSB2YXJhIGkgZ21vbi5vdXQtZm9ybWF0XG4iCgojIE1hbiBicnVrYXIgdGFsYSBvbSAiYmlucyIgaSBoYXNodGFiZWxsZXIKIwojOiBnbW9uX2lvLmM6NTMyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5leHBlY3RlZCBFT0YgYWZ0ZXIgcmVhZGluZyAlZC8lZCBiaW5zXG4iCm1zZ3N0ciAiJXM6IG925G50YXQgZmlsc2x1dCBlZnRlciBs5HNuaW5nIGF2ICVkLyVkIHBvc3RlclxuIgoKIzogZ21vbl9pby5jOjU2NQojLCBjLWZvcm1hdAptc2dpZCAidGltZSBpcyBpbiB0aWNrcywgbm90IHNlY29uZHNcbiIKbXNnc3RyICJ0aWRlbiDkciBpIHRpY2ssIGludGUgc2VrdW5kZXJcbiIKCiM6IGdtb25faW8uYzo1NzEgZ21vbl9pby5jOjc0NwojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGRvbid0IGtub3cgaG93IHRvIGRlYWwgd2l0aCBmaWxlIGZvcm1hdCAlZFxuIgptc2dzdHIgIiVzOiB2ZXQgaW50ZSBodXIgZmlsZWZvcm1hdCAlZCBza2EgaGFudGVyYXNcbiIKCiM6IGdtb25faW8uYzo1NzgKIywgYy1mb3JtYXQKbXNnaWQgIkZpbGUgYCVzJyAodmVyc2lvbiAlZCkgY29udGFpbnM6XG4iCm1zZ3N0ciAiRmlsZW4gXCIlc1wiICh2ZXJzaW9uICVkKSBpbm5laOVsbGVyOlxuIgoKIzogZ21vbl9pby5jOjU4MQojLCBjLWZvcm1hdAptc2dpZCAiXHQlZCBoaXN0b2dyYW0gcmVjb3JkXG4iCm1zZ3N0ciAiXHQlZCBoaXN0b2dyYW1wb3N0XG4iCgojOiBnbW9uX2lvLmM6NTgyCiMsIGMtZm9ybWF0Cm1zZ2lkICJcdCVkIGhpc3RvZ3JhbSByZWNvcmRzXG4iCm1zZ3N0ciAiXHQlZCBoaXN0b2dyYW1wb3N0ZXJcbiIKCiM6IGdtb25faW8uYzo1ODQKIywgYy1mb3JtYXQKbXNnaWQgIlx0JWQgY2FsbC1ncmFwaCByZWNvcmRcbiIKbXNnc3RyICJcdCVkIGFucm9wc2dyYWZwb3N0XG4iCgojOiBnbW9uX2lvLmM6NTg1CiMsIGMtZm9ybWF0Cm1zZ2lkICJcdCVkIGNhbGwtZ3JhcGggcmVjb3Jkc1xuIgptc2dzdHIgIlx0JWQgYW5yb3BzZ3JhZnBvc3RlclxuIgoKIzogZ21vbl9pby5jOjU4NwojLCBjLWZvcm1hdAptc2dpZCAiXHQlZCBiYXNpYy1ibG9jayBjb3VudCByZWNvcmRcbiIKbXNnc3RyICJcdCVkIGdydW5kYmxvY2tzcuRrbmluZ3Nwb3N0XG4iCgojOiBnbW9uX2lvLmM6NTg4CiMsIGMtZm9ybWF0Cm1zZ2lkICJcdCVkIGJhc2ljLWJsb2NrIGNvdW50IHJlY29yZHNcbiIKbXNnc3RyICJcdCVkIGdydW5kYmxvY2tzcuRrbmluZ3Nwb3N0ZXJcbiIKCiM6IGdwcm9mLmM6MTYwCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJVc2FnZTogJXMgWy1bYWJjRGhpbExzVHZ3eHl6XV0gWy1bQUNlRWZGSm5OT3BQcVFaXVtuYW1lXV0gWy1JIGRpcnNdXG4iCiJcdFstZFtudW1dXSBbLWsgZnJvbS90b10gWy1tIG1pbi1jb3VudF0gWy10IHRhYmxlLWxlbmd0aF1cbiIKIlx0Wy0tW25vLV1hbm5vdGF0ZWQtc291cmNlWz1uYW1lXV0gWy0tW25vLV1leGVjLWNvdW50c1s9bmFtZV1dXG4iCiJcdFstLVtuby1dZmxhdC1wcm9maWxlWz1uYW1lXV0gWy0tW25vLV1ncmFwaFs9bmFtZV1dXG4iCiJcdFstLVtuby1ddGltZT1uYW1lXSBbLS1hbGwtbGluZXNdIFstLWJyaWVmXSBbLS1kZWJ1Z1s9bGV2ZWxdXVxuIgoiXHRbLS1mdW5jdGlvbi1vcmRlcmluZ10gWy0tZmlsZS1vcmRlcmluZ11cbiIKIlx0Wy0tZGlyZWN0b3J5LXBhdGg9ZGlyc10gWy0tZGlzcGxheS11bnVzZWQtZnVuY3Rpb25zXVxuIgoiXHRbLS1maWxlLWZvcm1hdD1uYW1lXSBbLS1maWxlLWluZm9dIFstLWhlbHBdIFstLWxpbmVdIFstLW1pbi1jb3VudD1uXVxuIgoiXHRbLS1uby1zdGF0aWNdIFstLXByaW50LXBhdGhdIFstLXNlcGFyYXRlLWZpbGVzXVxuIgoiXHRbLS1zdGF0aWMtY2FsbC1ncmFwaF0gWy0tc3VtXSBbLS10YWJsZS1sZW5ndGg9bGVuXSBbLS10cmFkaXRpb25hbF1cbiIKIlx0Wy0tdmVyc2lvbl0gWy0td2lkdGg9bl0gWy0taWdub3JlLW5vbi1mdW5jdGlvbnNdXG4iCiJcdFstLWRlbWFuZ2xlWz1TVFlMRV1dIFstLW5vLWRlbWFuZ2xlXVxuIgoiXHRbaW1hZ2UtZmlsZV0gW3Byb2ZpbGUtZmlsZS4uLl1cbiIKbXNnc3RyICIiCiJBbnbkbmRuaW5nOiAlcyBbLVthYmNEaGlsTHNUdnd4eXpdXSBbLVtBQ2VFZkZKbk5PcFBxUVpdW25hbW5dXVxuIgoiXHRbLUkga2F0YWxvZ2VyXSBbLWRbdGFsXV0gWy1rIGZy5W4vdGlsbF0gWy1tIG1pbnN0YS1hbnRhbF1cbiIKIlx0Wy10IHRhYmxlLWxlbmd0aF0gWy0tW25vLV1hbm5vdGF0ZWQtc291cmNlWz1uYW1uXV1cbiIKIlx0Wy0tW25vLV1leGVjLWNvdW50c1s9bmFtbl1dIFstLVtuby1dZmxhdC1wcm9maWxlWz1uYW1uXV1cbiIKIlx0Wy0tW25vLV1ncmFwaFs9bmFtbl1dIFstLVtuby1ddGltZT1uYW1uXSBbLS1hbGwtbGluZXNdIFstLWJyaWVmXVxuIgoiXHRbLS1kZWJ1Z1s9bml25V1dIFstLWZ1bmN0aW9uLW9yZGVyaW5nXSBbLS1maWxlLW9yZGVyaW5nXVxuIgoiXHRbLS1kaXJlY3RvcnktcGF0aD1rYXRhbG9nZXJdIFstLWRpc3BsYXktdW51c2VkLWZ1bmN0aW9uc11cbiIKIlx0Wy0tZmlsZS1mb3JtYXQ9bmFtbl0gWy0tZmlsZS1pbmZvXSBbLS1oZWxwXSBbLS1saW5lXSBbLS1taW4tY291bnQ9bl1cbiIKIlx0Wy0tbm8tc3RhdGljXSBbLS1wcmludC1wYXRoXSBbLS1zZXBhcmF0ZS1maWxlc11cbiIKIlx0Wy0tc3RhdGljLWNhbGwtZ3JhcGhdIFstLXN1bV0gWy0tdGFibGUtbGVuZ3RoPWzkbmdkXSBbLS10cmFkaXRpb25hbF1cbiIKIlx0Wy0tdmVyc2lvbl0gWy0td2lkdGg9bl0gWy0taWdub3JlLW5vbi1mdW5jdGlvbnNdXG4iCiJcdFstLWRlbWFuZ2xlWz1TVElMXV0gWy0tbm8tZGVtYW5nbGVdXG4iCiJcdFtiaWxkZmlsXSBbcHJvZmlsZmlsLi4uXVxuIgoKIzogZ3Byb2YuYzoxNzYKIywgYy1mb3JtYXQKbXNnaWQgIlJlcG9ydCBidWdzIHRvICVzXG4iCm1zZ3N0ciAiIgoiUmFwcG9ydGVyYSBmZWwgdGlsbCAlcyxcbiIKIm9jaCBzeW5wdW5rdGVyIHDlIPZ2ZXJz5HR0bmluZ2VuIHRpbGwgc3ZAbGkub3JnXG4iCgojOiBncHJvZi5jOjI0OAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGRlYnVnZ2luZyBub3Qgc3VwcG9ydGVkOyAtZCBpZ25vcmVkXG4iCm1zZ3N0ciAiJXM6IGZlbHP2a25pbmcgc3T2ZHMgaW50ZTsgLWQgaWdub3JlcmFkZXNcbiIKCiM6IGdwcm9mLmM6MzI4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5rbm93biBmaWxlIGZvcm1hdCAlc1xuIgptc2dzdHIgIiVzOiBva+RudCBmaWxmb3JtYXQgJXNcbiIKCiMuIFRoaXMgb3V0cHV0IGlzIGludGVuZGVkIHRvIGZvbGxvdyB0aGUgR05VIHN0YW5kYXJkcyBkb2N1bWVudC4KIzogZ3Byb2YuYzo0MTIKIywgYy1mb3JtYXQKbXNnaWQgIkdOVSBncHJvZiAlc1xuIgptc2dzdHIgIkdOVSBncHJvZiAlc1xuIgoKIzogZ3Byb2YuYzo0MTMKIywgYy1mb3JtYXQKbXNnaWQgIkJhc2VkIG9uIEJTRCBncHJvZiwgY29weXJpZ2h0IDE5ODMgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLlxuIgptc2dzdHIgIkJhc2VyYXQgcOUgQlNEIGdwcm9mLCBjb3B5cmlnaHQgMTk4MyBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuXG4iCgojOiBncHJvZi5jOjQxNAojLCBjLWZvcm1hdAptc2dpZCAiVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmUuICBUaGlzIHByb2dyYW0gaGFzIGFic29sdXRlbHkgbm8gd2FycmFudHkuXG4iCm1zZ3N0ciAiRGV0dGEgcHJvZ3JhbSDkciBmcmkgcHJvZ3JhbXZhcmEuIERldHRhIHByb2dyYW0gaGFyIGluZ2VuIHNvbSBoZWxzdCBnYXJhbnRpLlxuIgoKIzogZ3Byb2YuYzo0NTUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bmtub3duIGRlbWFuZ2xpbmcgc3R5bGUgYCVzJ1xuIgptc2dzdHIgIiVzOiBva+RuZCBhdm1hbmdsaW5nc3N0aWwgXCIlc1wiXG4iCgojOiBncHJvZi5jOjQ3NQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IE9ubHkgb25lIG9mIC0tZnVuY3Rpb24tb3JkZXJpbmcgYW5kIC0tZmlsZS1vcmRlcmluZyBtYXkgYmUgc3BlY2lmaWVkLlxuIgptc2dzdHIgIiVzOiBFbmRhc3QgZW4gYXYgLS1mdW5jdGlvbi1vcmRlcmluZyBvY2ggLS1maWxlLW9yZGVyaW5nIGthbiBhbmdlcy5cbiIKCiM6IGdwcm9mLmM6NTI1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogc29ycnksIGZpbGUgZm9ybWF0IGBwcm9mJyBpcyBub3QgeWV0IHN1cHBvcnRlZFxuIgptc2dzdHIgIiVzOiB0eXbkcnIsIGZpbGZvcm1hdGV0IFwicHJvZlwiIHN09mRzIGludGUg5G5cbiIKCiM6IGdwcm9mLmM6NTc0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZ21vbi5vdXQgZmlsZSBpcyBtaXNzaW5nIGhpc3RvZ3JhbVxuIgptc2dzdHIgIiVzOiBnbW9uLm91dC1maWxlbiBzYWtuYXIgaGlzdG9ncmFtXG4iCgojOiBncHJvZi5jOjU4MQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGdtb24ub3V0IGZpbGUgaXMgbWlzc2luZyBjYWxsLWdyYXBoIGRhdGFcbiIKbXNnc3RyICIlczogZ21vbi5vdXQtZmlsZW4gc2FrbmFyIGFucm9wc2dyYWZkYXRhXG4iCgojOiBoaXN0LmM6MTI2CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogYCVzJyBpcyBpbmNvbXBhdGlibGUgd2l0aCBmaXJzdCBnbW9uIGZpbGVcbiIKbXNnc3RyICIlczogXCIlc1wiIORyIGlua29tcGF0aWJlbCBtZWQgZvZyc3RhIGdtb24tZmlsZW5cbiIKCiM6IGhpc3QuYzoxNDIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAlczogdW5leHBlY3RlZCBFT0YgYWZ0ZXIgcmVhZGluZyAldSBvZiAldSBzYW1wbGVzXG4iCm1zZ3N0ciAiJXM6ICVzOiBvduRudGF0IGZpbHNsdXQgZWZ0ZXIgbORzbmluZyBhdiAldSBhdiAldSBzdGlja3Byb3ZcbiIKCiM6IGhpc3QuYzozNTUKIywgYy1mb3JtYXQKbXNnaWQgIiVjJWMvY2FsbCIKbXNnc3RyICIlYyVjL2Fucm9wIgoKIzogaGlzdC5jOjM2MwojLCBjLWZvcm1hdAptc2dpZCAiIgoiIGZvciAlLjJmJSUgb2YgJS4yZiAlc1xuIgoiXG4iCm1zZ3N0ciAiIgoiIGb2ciAlLjJmJSUgYXYgJS4yZiAlc1xuIgoiXG4iCgojOiBoaXN0LmM6MzY5CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIkVhY2ggc2FtcGxlIGNvdW50cyBhcyAlZyAlcy5cbiIKbXNnc3RyICIiCiJcbiIKIlZhcmplIHN0aWNrcHJvdiBy5GtuYXMgc29tICVnICVzLlxuIgoKIzogaGlzdC5jOjM3NAojLCBjLWZvcm1hdAptc2dpZCAiIgoiIG5vIHRpbWUgYWNjdW11bGF0ZWRcbiIKIlxuIgptc2dzdHIgIiIKIiBpbmdlbiBhY2t1bXVsZXJhZCB0aWRcbiIKIlxuIgoKIzogaGlzdC5jOjM4MQptc2dpZCAiY3VtdWxhdGl2ZSIKbXNnc3RyICJrdW11bGF0aXYiCgojOiBoaXN0LmM6MzgxCm1zZ2lkICJzZWxmICAiCm1zZ3N0ciAic2rkbHYiCgojOiBoaXN0LmM6MzgxCm1zZ2lkICJ0b3RhbCAiCm1zZ3N0ciAidG90YWx0IgoKIzogaGlzdC5jOjM4NAptc2dpZCAidGltZSIKbXNnc3RyICJ0aWQiCgojOiBoaXN0LmM6Mzg0Cm1zZ2lkICJjYWxscyIKbXNnc3RyICJhbnJvcCIKCiM6IGhpc3QuYzo0NzMKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiXG4iCiJcbiIKImZsYXQgcHJvZmlsZTpcbiIKbXNnc3RyICIiCiJcbiIKIlxuIgoiXG4iCiJwbGF0dCBwcm9maWw6XG4iCgojOiBoaXN0LmM6NDc5CiMsIGMtZm9ybWF0Cm1zZ2lkICJGbGF0IHByb2ZpbGU6XG4iCm1zZ3N0ciAiUGxhdHQgcHJvZmlsOlxuIgoKIzogbWlwcy5jOjgyCiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAweCVseDogamFsIgptc2dzdHIgIltmaW5kX2NhbGxdIDB4JWx4OiBqYWwiCgojOiBtaXBzLmM6MTA3CiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAweCVseDogamFsclxuIgptc2dzdHIgIltmaW5kX2NhbGxdIDB4JWx4OiBqYWxyXG4iCgojOiBzb3VyY2UuYzoxNjIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBjb3VsZCBub3QgbG9jYXRlIGAlcydcbiIKbXNnc3RyICIlczoga3VuZGUgaW50ZSBoaXR0YSBcIiVzXCJcbiIKCiM6IHNvdXJjZS5jOjIzNwojLCBjLWZvcm1hdAptc2dpZCAiKioqIEZpbGUgJXM6XG4iCm1zZ3N0ciAiKioqIEZpbCAlczpcbiIKCiM6IHV0aWxzLmM6MTA3CiMsIGMtZm9ybWF0Cm1zZ2lkICIgPGN5Y2xlICVkPiIKbXNnc3RyICIgPGN5a2VsICVkPiIKCiN+IG1zZ2lkICIlczogYmZkX3ZtYSBoYXMgdW5leHBlY3RlZCBzaXplIG9mICVsZCBieXRlc1xuIgojfiBtc2dzdHIgIiVzOiBiZmRfdm1hIGhhciBlbiBvduRudGFkIHN0b3JsZWsgcOUgJWxkIGJ5dGVcbiIK