IyBUcmFuc2xhdGlvbiBvZiBSLWdyRGV2aWNlcy5wb3QgdG8gRnJlbmNoCiMgQ29weXJpZ2h0IChDKSAyMDA1IFRoZSBSIEZvdW5kYXRpb24KIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgZ3JEZXZpY2VzIFIgcGFja2FnZS4KIyBQaGlsaXBwZSBHcm9zamVhbiA8cGhncm9zamVhbkBzY2l2aWV3cy5vcmc+LCAyMDA1LgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBSIDIuMTIuMFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Z3Muci1wcm9qZWN0Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMjAtMDMtMjQgMTA6MTNcbiIKIlBPLVJldmlzaW9uLURhdGU6IDIwMTQtMDMtMTcgMTA6NDYrMDEwMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBQaGlsaXBwZSBHcm9zamVhbiA8cGhncm9zamVhbkBzY2l2aWV3cy5vcmc+XG4iCiJMYW5ndWFnZS1UZWFtOiBGcmVuY2ggPFItY29yZUByLXByb2plY3Qub3JnPlxuIgoiTGFuZ3VhZ2U6IGZyXG4iCiJNSU1FLVZlcnNpb246IDEuMFxuIgoiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTFcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuID4gMSk7XG4iCiJYLUdlbmVyYXRvcjogUG9lZGl0IDEuNi40XG4iCgptc2dpZCAiaW52YWxpZCAnZmlsZW5hbWUnIgptc2dzdHIgImFyZ3VtZW50ICdmaWxlbmFtZScgaW5jb3JyZWN0IgoKbXNnaWQgIidjb2VmJyBtdXN0IG5vdCBiZSBuZWdhdGl2ZSIKbXNnc3RyICInY29lZicgbmUgcGV1dCBwYXMg6nRyZSBu6WdhdGlmIgoKbXNnaWQgIm5vICd6JyBtYXRyaXggc3BlY2lmaWVkIgptc2dzdHIgImF1Y3VuZSBtYXRyaWNlICd6JyBuJ2VzdCBzcOljaWZp6WUiCgptc2dpZCAiaW5jcmVhc2luZyAneCcgYW5kICd5JyB2YWx1ZXMgZXhwZWN0ZWQiCm1zZ3N0ciAidmFsZXVycyBjcm9pc3NhbnRlcyBkZSAneCcgZXQgJ3knIGF0dGVuZHVlcyIKCm1zZ2lkICJubyBwcm9wZXIgJ3onIG1hdHJpeCBzcGVjaWZpZWQiCm1zZ3N0ciAibGEgbWF0cmljZSAneicgc3DpY2lmaellIGVzdCBpbmNvcnJlY3RlIgoKbXNnaWQgImRpbWVuc2lvbnMgb2YgJ3gnLCAneScgYW5kICd6JyBkbyBub3QgbWF0Y2giCm1zZ3N0ciAibGVzIGRpbWVuc2lvbnMgZGUgJ3gnLCAneScgZXQgJ3onIG5lIGNvcnJlc3BvbmRlbnQgcGFzIgoKbXNnaWQgImZpbml0ZSBjb29yZGluYXRlcyBhcmUgbmVlZGVkIgptc2dzdHIgIiIKCm1zZ2lkICInYmlhcycgbXVzdCBiZSBwb3NpdGl2ZSIKbXNnc3RyICInYmlhcycgZG9pdCDqdHJlIHBvc2l0aWYiCgptc2dpZCAiJ2FscGhhJyBtdXN0IGJlIGZhbHNlIGlmICdzcGFjZScgaXMgc3BlY2lmaWVkIgptc2dzdHIgIidhbHBoYScgZG9pdCDqdHJlIGZhdXggc2kgJ3NwYWNlJyBlc3QgZm91cm5pIgoKbXNnaWQgImF0IGxlYXN0IDMgY29sdW1ucyBuZWVkZWQiCm1zZ3N0ciAiaWwgZmF1dCBhdSBtb2lucyAzIGNvbG9ubmVzIgoKbXNnaWQgInJnYiBtYXRyaXggbXVzdCBiZSBudW1lcmljIgptc2dzdHIgImxhIG1hdHJpY2UgJ3JnYicgZG9pdCDqdHJlIG51belyaXF1ZSIKCm1zZ2lkICJyZ2IgbWF0cml4IG11c3QgaGF2ZSAzIHJvd3MiCm1zZ3N0ciAibGEgbWF0cmljZSAncmdiJyBkb2l0IGF2b2lyIDMgbGlnbmVzIgoKbXNnaWQgInJnYiB2YWx1ZXMgbXVzdCBiZSBpbiBbMCwgbWF4Q29sb3JWYWx1ZV0iCm1zZ3N0ciAibGVzIHZhbGV1cnMgZGUgJ3JnYicgZG9pdmVudCDqdHJlIGRhbnMgWzAsIG1heENvbG9yVmFsdWVdIgoKbXNnaWQgIidzdGFydCcgYW5kICdlbmQnIG11c3QgYmUgZGlzdGluY3QgYW5kIGluIFswLCAxXS4iCm1zZ3N0ciAiJ3N0YXJ0JyBldCAnZW5kJyBkb2l2ZW50IOp0cmUgZGlmZulyZW50cyBldCBkYW5zIFswLCAxXS4iCgptc2dpZCAiJ3BhbGV0dGUnIGRvZXMgbm90IG1hdGNoIGFueSBnaXZlbiBwYWxldHRlIgptc2dzdHIgIiIKCm1zZ2lkICIncGFsZXR0ZScgaXMgYW1iaWd1b3VzIgptc2dzdHIgIiIKCm1zZ2lkICInbicgc2V0IHRvICVzLCB0aGUgbWF4aW11bSBhdmFpbGFibGUgZm9yICVzIHBhbGV0dGUiCm1zZ3N0ciAiIgoKbXNnaWQgIidnYW1tYScgbXVzdCBiZSBhIHNjYWxhciBvciAnc1JHQiciCm1zZ3N0ciAiJ2dhbW1hJyBkb2l0IOp0cmUgdW5lIHZhbGV1ciBzaW1wbGUgb3UgJ3NSR0InIgoKbXNnaWQgIkNvbG9yIHNwYWNlIGNvbnZlcnRlcjogJXMiCm1zZ3N0ciAiQ29udmVydGlzc2V1ciBkZSBsJ2VzcGFjZSBkZXMgY291bGV1cnMgOiAlcyIKCm1zZ2lkICJSZWZlcmVuY2Ugd2hpdGU6ICVzIgptc2dzdHIgIkJsYW5jIGRlIHLpZulyZW5jZSA6ICVzIgoKbXNnaWQgImRpc3BsYXkgZ2FtbWEgPSAlcyIKbXNnc3RyICJ2YWxldXIgZ2FtbWEgZCdhZmZpY2hhZ2UgPSAlcyIKCm1zZ2lkICInZnJvbScgbXVzdCBiZSBhIFwiY29sb3JDb252ZXJ0ZXJcIiBvYmplY3Qgb3IgYSBzdHJpbmciCm1zZ3N0ciAiIgoiJ2Zyb20nIGRvaXQg6nRyZSB1biBvYmpldCBcImNvbG9yQ29udmVydGVyXCIgb3UgdW5lIGNoYe5uZSBkZSBjYXJhY3TocmVzIgoKbXNnaWQgIid0bycgbXVzdCBiZSBhIFwiY29sb3JDb252ZXJ0ZXJcIiBvYmplY3Qgb3IgYSBzdHJpbmciCm1zZ3N0ciAiJ3RvJyBkb2l0IOp0cmUgdW4gb2JqZXQgXCJjb2xvckNvbnZlcnRlclwiIG91IHVuZSBjaGHubmUgZGUgY2FyYWN06HJlcyIKCm1zZ2lkICInZnJvbS5yZWYud2hpdGUnIGRpc2FncmVlcyB3aXRoIGRlZmluaXRpb24gb2YgJXMiCm1zZ3N0ciAiJ2Zyb20ucmVmLndoaXRlJyBlbiBk6XNhY2NvcmQgYXZlYyBsYSBk6WZpbml0aW9uIGRlICVzIgoKbXNnaWQgIid0by5yZWYud2hpdGUnIGRpc2FncmVlcyB3aXRoIGRlZmluaXRpb24gb2YgJXMiCm1zZ3N0ciAiJ3RvLnJlZi53aGl0ZScgZW4gZOlzYWNjb3JkIGF2ZWMgbGEgZOlmaW5pdGlvbiBkZSAlcyIKCm1zZ2lkICJjb2xvciBzcGFjZXMgdXNlIGRpZmZlcmVudCByZWZlcmVuY2Ugd2hpdGVzIgptc2dzdHIgImxlcyBlc3BhY2VzIGRlIGNvdWxldXJzIHV0aWxpc2VudCBkaWZm6XJlbnRzIGJsYW5jcyBkZSBy6WbpcmVuY2UiCgptc2dpZCAiJ25hbWUnIG11c3QgYmUgYSBjaGFyYWN0ZXIgdmVjdG9yIgptc2dzdHIgIiduYW1lJyBkb2l0IOp0cmUgdW4gdmVjdGV1ciBkZSB0eXBlIGNoYe5uZSBkZSBjYXJhY3TocmUiCgptc2dpZCAiY2Fubm90IHNodXQgZG93biBkZXZpY2UgMSAodGhlIG51bGwgZGV2aWNlKSIKbXNnc3RyICJpbXBvc3NpYmxlIGRlIGZlcm1lciBsZSBw6XJpcGjpcmlxdWUgMSAocOlyaXBo6XJpcXVlIG51bGwpIgoKbXNnaWQgImNhbm5vdCBzdXBwbHkgJ3doaWNoJyBhbmQgJ2RldmljZScgYXQgdGhlIHNhbWUgdGltZSIKbXNnc3RyICJmaXhlciAnd2hpY2gnIGV0ICdkZXZpY2UnIGVuIG3qbWUgdGVtcHMgbidlc3QgcGFzIGF1dG9yaXPpIgoKbXNnaWQgImNhbm5vdCBjb3B5IGZyb20gdGhlIG51bGwgZGV2aWNlIgptc2dzdHIgImltcG9zc2libGUgZGUgY29waWVyIGR1IHDpcmlwaOlyaXF1ZSBudWxsIgoKbXNnaWQgImNhbm5vdCBjb3B5IHRvIHRoZSBudWxsIGRldmljZSIKbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvcGllciB2ZXJzIGxlIHDpcmlwaOlyaXF1ZSBudWxsIgoKbXNnaWQgImNhbm5vdCBjb3B5IGRldmljZSB0byBpdHNlbGYiCm1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb3BpZXIgbGUgcOlyaXBo6XJpcXVlIHZlcnMgbHVpLW3qbWUiCgptc2dpZCAiJ2RldmljZScgc2hvdWxkIGJlIGEgZnVuY3Rpb24iCm1zZ3N0ciAiJ2RldmljZScgZG9pdCDqdHJlIHVuZSBmb25jdGlvbiIKCm1zZ2lkICJubyBkZXZpY2UgdG8gcHJpbnQgZnJvbSIKbXNnc3RyICJhdWN1biBw6XJpcGjpcmlxdWUgZCdv+SBpbXByaW1lciIKCm1zZ2lkICJjYW4gb25seSBwcmludCBmcm9tIGEgc2NyZWVuIGRldmljZSIKbXNnc3RyICJzZXVsIHVuIHDpcmlwaOlyaXF1ZSDpY3JhbiBwZXV0IOp0cmUgaW1wcmlt6SIKCm1zZ2lkICJuZWVkIHRvIHNwZWNpZnkgb25lIG9mICd3aWR0aCcgYW5kICdoZWlnaHQnIgptc2dzdHIgImlsIGZhdXQgc3DpY2lmaWVyICd3aWR0aCcgb3UgJ2hlaWdodCciCgptc2dpZCAiZGV2LmNvbnRyb2woKSBjYWxsZWQgd2l0aG91dCBhbiBvcGVuIGdyYXBoaWNzIGRldmljZSIKbXNnc3RyICJkZXYuY29udHJvbCgpIGFwcGVs6SBzYW5zIHDpcmlwaOlyaXF1ZSBncmFwaGlxdWUgb3V2ZXJ0IgoKbXNnaWQgImFyZ3VtZW50IGlzIG1pc3Npbmcgd2l0aCBubyBkZWZhdWx0Igptc2dzdHIgImFyZ3VtZW50IG1hbnF1YW50IHNhbnMgdmFsZXVyIHBhciBk6WZhdXQiCgptc2dpZCAiZGV2LmRpc3BsYXlsaXN0KCkgY2FsbGVkIHdpdGhvdXQgYW4gb3BlbiBncmFwaGljcyBkZXZpY2UiCm1zZ3N0ciAiZGV2LmRpc3BsYXlsaXN0KCkgYXBwZWzpIHNhbnMgcOlyaXBo6XJpcXVlIGdyYXBoaXF1ZSBvdXZlcnQiCgptc2dpZCAiaW52YWxpZCBzZXR0aW5nIGZvciAnZ2V0T3B0aW9uKFwiZGV2aWNlXCIpJyIKbXNnc3RyICJwYXJhbeh0cmVzIGluY29ycmVjdHMgcG9yICdnZXRPcHRpb24oXCJkZXZpY2VcIiknIgoKbXNnaWQgImRldmljZSAnJXMnIG5vdCBmb3VuZCIKbXNnc3RyICJsZSBw6XJpcGjpcmlxdWUgJyVzJyBlc3QgaW50cm91dmFibGUiCgptc2dpZCAibm8gc3VpdGFibGUgdW51c2VkIGZpbGUgbmFtZSBmb3IgcGRmKCkiCm1zZ3N0ciAicGFzIGRlIG5vbSBkZSBmaWNoaWVyIHV0aWxpc2FibGUgcG91ciBwZGYoKSIKCm1zZ2lkICJkZXYubmV3KCk6IHVzaW5nIHBkZihmaWxlPVwiJXNcIikiCm1zZ3N0ciAiZGVWLm5ldygpIDogdXRpbGlzYXRpb24gZGUgcGRmKGZpbGU9XCIlc1wiKSIKCm1zZ2lkICJubyBzdWl0YWJsZSB1bnVzZWQgZmlsZSBuYW1lIGZvciBwb3N0c2NyaXB0KCkiCm1zZ3N0ciAicGFzIGRlIG5vbSBkZSBmaWNoaWVyIHV0aWxpc2FibGUgZGlzcG9uaWJsZSBwb3VyIHBvc3RzY3JpcHQoKSIKCm1zZ2lkICJkZXYubmV3KCk6IHVzaW5nIHBvc3RzY3JpcHQoZmlsZT1cIiVzXCIpIgptc2dzdHIgImRldi5uZXcoKSA6IHV0aWxpc2F0aW9uIGRlIHBvc3RzY3JpcHQoZmlsZT1cIiVzXCIpIgoKbXNnaWQgIndyb25nICd0eXBlJzsgc2hvdWxkIG5ldmVyIGhhcHBlbiwgcGxlYXNlIHJlcG9ydCEiCm1zZ3N0ciAiIgoKbXNnaWQgImludmFsaWQgYXJndW1lbnRzIGluICclcycgKG5lZWQgbmFtZWQgYXJncykiCm1zZ3N0ciAiYXJndW1lbnRzIGluY29ycmVjdHMgZGFucyAnJXMnIChsZXMgYXJndW1lbnRzIGRvaXZlbnQg6nRyZSBub21t6XMpIgoKbXNnaWQgIiduYW1lLm9wdCcgbXVzdCBiZSBjaGFyYWN0ZXIsIG5hbWUgb2YgYW4gZXhpc3RpbmcgbGlzdCIKbXNnc3RyICIiCiInbmFtZS5vcHQnIGRvaXQg6nRyZSB1bmUgY2hh7m5lIGRlIGNhcmFjdOhyZSBvdSBsZSBub20gZCd1bmUgbGlzdGUgZXhpc3RhbnRlIgoKbXNnaWQgImNhbm5vdCByZXNldCBub24tZXhpc3RlbnQgJyVzJyIKbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLpaW5pdGlhbGlzZXIgJyVzJyBjYXIgaWwgbidleGlzdGUgcGFzIgoKbXNnaWQgImludmFsaWQgb3B0aW9ucyBpbiAnJXMnIgptc2dzdHIgIm9wdGlvbnMgaW5jb3JyZWN0ZXMgZGFucyAnJXMnIgoKbXNnaWQgIk5PVCBjaGFuZ2luZyAlcyIKbXNnc3RyICIlcyBORSBjaGFuZ2UobnQpIFBBUyIKCm1zZ2lkICJhcmd1bWVudCAnYXBwZW5kJyBpcyBmb3IgYmFjay1jb21wYXRpYmlsaXR5IGFuZCB3aWxsIGJlIGlnbm9yZWQiCm1zZ3N0ciAiIgoibCdhcmd1bWVudCAnYXBwZW5kJyBlc3QgcHLpc2VudCBwb3VyIHJhaXNvbiBkZSBjb21wYXRpYmlsaXTpIGRlc2NlbmRhbnRlICIKIm1haXMgc2VyYSBpZ25vcukiCgptc2dpZCAidW5rbm93biBmYW1pbHkgJyVzJyIKbXNnc3RyICJmYW1pbGxlIGluY29ubnVlICclcyciCgptc2dpZCAiaW52YWxpZCAnZmFtaWx5JyBhcmd1bWVudCIKbXNnc3RyICJhcmd1bWVudCAnZmFtaWx5JyBpbmNvcnJlY3QiCgptc2dpZCAiJ3RpdGxlJyBhcmd1bWVudCBcIiVzXCIgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzIgptc2dzdHIgIiIKCm1zZ2lkICJpbnZhbGlkICdmaWxlJyBhcmd1bWVudCAnJXMnIgptc2dzdHIgImFyZ3VtZW50ICdmaWxlJyBpbmNvcnJlY3QgJyVzJyIKCm1zZ2lkICJpbnZhbGlkIFBERiB2ZXJzaW9uIgptc2dzdHIgInZlcnNpb24gZGUgUERGIGluY29ycmVjdGUiCgptc2dpZCAiSW52YWxpZCBmb250IHR5cGUiCm1zZ3N0ciAiVHlwZSBkZSBwb2xpY2UgaW5jb3JyZWN0IgoKbXNnaWQgImludmFsaWQgZmFtaWx5IG5hbWUgaW4gZm9udCBzcGVjaWZpY2F0aW9uIgptc2dzdHIgIm5vbSBkZSBmYW1pbGxlIGluY29ycmVjdCBkYW5zIGxhIHNw6WNpZmljYXRpb24gZGUgbGEgcG9saWNlIgoKbXNnaWQgImludmFsaWQgbWV0cmljIGluZm9ybWF0aW9uIGluIGZvbnQgc3BlY2lmaWNhdGlvbiIKbXNnc3RyICJpbmZvcm1hdGlvbiBkZSBt6XRyaXF1ZSBpbmNvcnJlY3RlIGRhbnMgbGEgc3DpY2lmaWNhdGlvbiBkZSBwb2xpY2UiCgptc2dpZCAiaW52YWxpZCBlbmNvZGluZyBpbiBmb250IHNwZWNpZmljYXRpb24iCm1zZ3N0ciAiZW5jb2RhZ2UgaW5jb3JyZWN0IGRhbnMgbGEgc3DpY2lmaWNhdGlvbiBkZSBwb2xpY2UiCgptc2dpZCAiTm90IGEgQ0lEIGZvbnQiCm1zZ3N0ciAiQ2Ugbidlc3QgcGFzIHVuZSBwb2xpY2UgQ0lEIgoKbXNnaWQgImludmFsaWQgQ01hcCBuYW1lIGluIGZvbnQgc3BlY2lmaWNhdGlvbiIKbXNnc3RyICJub20gQ01hcCBpbmNvcnJlY3QgZGFucyBsYSBzcOljaWZpY2F0aW9uIGRlIHBvbGljZSIKCm1zZ2lkICJpbnZhbGlkICdjbWFwRW5jb2RpbmcnIGluIGZvbnQgc3BlY2lmaWNhdGlvbiIKbXNnc3RyICInY21hcEVuY29kaW5nJyBpbmNvcnJlY3QgZGFucyBsYSBzcOljaWZpY2F0aW9uIGRlIHBvbGljZSIKCm1zZ2lkICJpbnZhbGlkIFBERiByZXNvdXJjZSBpbiBmb250IHNwZWNpZmljYXRpb24iCm1zZ3N0ciAicmVzc291cmNlIFBERiBpbmNvcnJlY3RlIGRhbnMgbGEgc3DpY2lmaWNhdGlvbiBkZSBwb2xpY2UiCgptc2dpZCAiSW52YWxpZCBmb250IGRhdGFiYXNlIG5hbWUiCm1zZ3N0ciAiTm9tIGRlIGJhc2UgZGUgZG9ubullcyBkZSBwb2xpY2VzIGluY29ycmVjdCIKCm1zZ2lkICJmb250ICVzIGFscmVhZHkgaW4gdXNlIgptc2dzdHIgInBvbGljZSAlcyBk6WrgIHV0aWxpc+llIgoKbXNnaWQgImludmFsaWQgYXJndW1lbnRzIGluICclcycgKG11c3QgYmUgZm9udCBuYW1lcykiCm1zZ3N0ciAiYXJndW1lbnRzIGluY29ycmVjdHMgZGFucyAnJXMnIChpbCBmYXV0IGRlcyBub21zIGRlIHBvbGljZSkiCgptc2dpZCAidW5rbm93biBmb250Igptc2dzdHIgImZvbnRlIGluY29ubnVlIgoKbXNnaWQgImZvbnQgZW5jb2RpbmcgbWlzbWF0Y2ggJyVzJy8nJXMnIgptc2dzdHIgImluY29o6XJlbmNlIGQnZW5jb2RhZ2UgcG91ciBsYSBwb2xpY2UgJyVzLyVzJyIKCm1zZ2lkICInZmlsZScgbXVzdCBiZSBhIG5vbi1lbXB0eSBjaGFyYWN0ZXIgc3RyaW5nIgptc2dzdHIgIidmaWxlJyBkb2l0IOp0cmUgdW5lIGNoYe5uZSBkZSBjYXJhY3TocmUgbm9uIHZpZGUiCgptc2dpZCAiR2hvc3RTY3JpcHQgd2FzIG5vdCBmb3VuZCIKbXNnc3RyICIiCgojLCBmdXp6eQptc2dpZCAiaW52YWxpZCBvdXRwdXQgZm9ybWF0Igptc2dzdHIgIkZvcm1hdCBkZSBzb3J0aWUgaW5jb3JyZWN0IgoKbXNnaWQgInN0YXR1cyAlZCBpbiBydW5uaW5nIGNvbW1hbmQgJyVzJyIKbXNnc3RyICJzdGF0dXQgJWQgZGFucyBsYSBjb21tYW5kZSBlbiBjb3VycyBkJ2V46WN1dGlvbiAnJXMnIgoKbXNnaWQgImZhaWxlZCB0byBhZGQgbW9yZSB0aWNrczsgJ21pbi5uJyB0b28gbGFyZ2U/Igptc2dzdHIgIiIKCm1zZ2lkICJhIHJhc3RlciBtYXRyaXggbXVzdCBiZSBjaGFyYWN0ZXIsIG9yIG51bWVyaWMsIG9yIGxvZ2ljYWwiCm1zZ3N0ciAiIgoidW5lIG1hdHJpY2UgZGUgcGl4ZWxzIGRvaXQgY29udGVuaXIgZGVzIGNoYe5uZXMgZGUgY2FyYWN06HJlcywgZGVzIG5vbWJyZXMgIgoib3UgZGVzIHZhbGV1cnMgbG9naXF1ZXMiCgptc2dpZCAiYSByYXN0ZXIgYXJyYXkgbXVzdCBiZSBudW1lcmljIgptc2dzdHIgInVuZSBtYXRyaWNlIGRlIHBpeGVscyBkb2l0IOp0cmUgbnVt6XJpcXVlIgoKbXNnaWQgImEgcmFzdGVyIGFycmF5IG11c3QgaGF2ZSBleGFjdGx5IDMgZGltZW5zaW9ucyIKbXNnc3RyICJ1bmUgbWF0cmljZSBkZSBwaXhlbHMgZG9pdCBhdm9pciBleGFjdGVtZW50IDMgZGltZW5zaW9ucyIKCm1zZ2lkICJhIHJhc3RlciBhcnJheSBtdXN0IGhhdmUgZXhhY3RseSAzIG9yIDQgcGxhbmVzIgptc2dzdHIgInVuZSBtYXRyaWNlIGRlIHBpeGVscyBkb2l0IGF2b2lyIGV4YWN0ZW1lbnQgMyBvdSA0IHBsYW5zIgoKbXNnaWQgIidkcm9wJyBpcyBhbHdheXMgaW1wbGljaXRseSBGQUxTRSBpbiAnWy5yYXN0ZXInIgptc2dzdHIgIidkcm9wJyBlc3QgdG91am91cnMgaW1wbGljaXRlbWVudCBmYXV4IChGQUxTRSkgZGFucyAnWy5yYXN0ZXInIgoKbXNnaWQgImludmFsaWQgcmFzdGVyIHN1YnNldHRpbmciCm1zZ3N0ciAiaW5kaedhZ2UgZCdpbWFnZSBlbiBtb2RlIHBvaW50IGluY29ycmVjdCIKCm1zZ2lkICJpbnZhbGlkIHJhc3RlciBzdWJhc3NpZ25tZW50Igptc2dzdHIgInNvdXMtYXNzaWduZW1lbnQgZCdpbWFnZSBlbiBtb2RlIHBvaW50IGluY29ycmVjdCIKCm1zZ2lkICJvcGVyYXRvciBub3QgbWVhbmluZ2Z1bCBmb3IgcmFzdGVyIG9iamVjdHMiCm1zZ3N0ciAib3DpcmF0ZXVyIGluY29o6XJlbnQgcG91ciBkZXMgb2JqZXRzIGRlIHR5cGUgJ3Jhc3RlciciCgptc2dpZCAibm8gY3VycmVudCBkZXZpY2UgdG8gcmVjb3JkIGZyb20iCm1zZ3N0ciAiYXVjdW4gcOlyaXBo6XJpcXVlIOAgcGFydGlyIGR1cXVlbCBlbnJlZ2lzdHJlciIKCm1zZ2lkICJhcmd1bWVudCBpcyBub3Qgb2YgY2xhc3MgJXMiCm1zZ3N0ciAibCdhcmd1bWVudCBuJ2VzdCBwYXMgZGUgY2xhc3NlICVzIgoKbXNnaWQgImludmFsaWQgXCJyZWNvcmRlZHBsb3RcIjoiCm1zZ3N0ciAiIgoKIywgZnV6enkKbXNnaWQgInNuYXBzaG90IHJlY29yZGVkIGluIGRpZmZlcmVudCBSIHZlcnNpb24gKHByZSAzLjMuMCkiCm1zZ3N0ciAiY2hhcmdlbWVudCBkJ3VuIGluc3RhbnRhbukgZ3JhcGhpcXVlIOAgcGFydGlyIGQndW5lIHZlcnNpb24gZGlmZulyZW50ZSIKCiMsIGZ1enp5Cm1zZ2lkICJzbmFwc2hvdCByZWNvcmRlZCBpbiBkaWZmZXJlbnQgUiB2ZXJzaW9uICglcykiCm1zZ3N0ciAiY2hhcmdlbWVudCBkJ3VuIGluc3RhbnRhbukgZ3JhcGhpcXVlIOAgcGFydGlyIGQndW5lIHZlcnNpb24gZGlmZulyZW50ZSIKCm1zZ2lkICJzbmFwc2hvdCBjb250YWlucyBpbnZhbGlkIGdyYXBoaWNzIGNhbGwiCm1zZ3N0ciAiIgoKbXNnaWQgIiduYmluJyBtdXN0IGJlIG51bWVyaWMgb2YgbGVuZ3RoIDEgb3IgMiIKbXNnc3RyICInbmJpbicgZG9pdCDqdHJlIG51belyaXF1ZSBldCBkZSBsb25ndWV1ciAxIG91IDIiCgptc2dpZCAiJ2JhbmR3aWR0aCcgbXVzdCBiZSBudW1lcmljIgptc2dzdHIgIidiYW5kd2lkdGgnIGRvaXQg6nRyZSBudW3pcmlxdWUiCgptc2dpZCAiJ2JhbmR3aWR0aCcgbXVzdCBiZSBwb3NpdGl2ZSIKbXNnc3RyICInYmFuZHdpZHRoJyBkb2l0IOp0cmUgcG9zaXRpZiIKCm1zZ2lkICIncicgbXVzdCBiZSBhIFwicmFuZ2VcIiwgaGVuY2Ugb2YgbGVuZ3RoIDIiCm1zZ3N0ciAiJ3InIGRvaXQgaW5kaXF1ZXIgdW5lIOl0ZW5kdWUgZGVzIHZhbGV1cnMsIGRvbmMg6nRyZSBkZSBsb25ndWV1ciAyIgoKbXNnaWQgImludmFsaWQgZmlyc3QgYXJndW1lbnQiCm1zZ3N0ciAicHJlbWllciBhcmd1bWVudCBpbmNvcnJlY3QiCgptc2dpZCAiJ3gnIGlzIGEgbGlzdCwgYnV0IGRvZXMgbm90IGhhdmUgY29tcG9uZW50cyAneCcgYW5kICd5JyIKbXNnc3RyICIneCcgZXN0IHVuZSBsaXN0ZSwgbWFpcyBuJ2EgcGFzIGxlcyBjb21wb3NhbnRzICd4JyBldCAneScgcmVxdWlzIgoKbXNnaWQgIid4JyBhbmQgJ3knIGxlbmd0aHMgZGlmZmVyIgptc2dzdHIgImxlcyBsb25ndWV1cnMgZGUgJ3gnIGV0ICd5JyBkaWZm6HJlbnQiCgptc2dpZCAiaW52YWxpZCBmaXJzdCBhcmd1bWVudCBbYmFkIGxhbmd1YWdlIG9iamVjdF0iCm1zZ3N0ciAicHJlbWllciBhcmd1bWVudCBpbmNvcnJlY3QgXCJbYmFkIGxhbmd1YWdlIG9iamVjdF1cIiIKCm1zZ2lkICJhdCBsZWFzdCAyIGNvbHVtbnMgbmVlZGVkIgptc2dzdHIgImlsIGZhdXQgYXUgbW9pbnMgMiBjb2xvbm5lcyIKCm1zZ2lkICIneCcgaXMgYSBsaXN0LCBidXQgZG9lcyBub3QgaGF2ZSBjb21wb25lbnRzICd4JywgJ3knICBhbmQgJ3onIgptc2dzdHIgIid4JyBlc3QgdW5lIGxpc3RlLCBtYWlzIG4nYSBwYXMgbGVzIGNvbXBvc2FudHMgJ3gnLCAneScgZXQgJ3onIHJlcXVpcyIKCm1zZ2lkICIneCcsICd5JyBhbmQgJ3onIGxlbmd0aHMgZGlmZmVyIgptc2dzdHIgImxlcyBsb25ndWV1cnMgZGUgJ3gnLCAneScgZXQgJ3onIGRpZmbocmVudCIKCm1zZ2lkICInZmlsZScgaXMgbWlzc2luZyB3aXRoIG5vIGRlZmF1bHQiCm1zZ3N0ciAiJ2ZpbGUnIGVzdCBtYW5xdWFudCBzYW5zIHZhbGV1ciBwYXIgZOlmYXV0IgoKbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgb2YgZ3MgLWhlbHAiCm1zZ3N0ciAiZm9ybWF0IGRlIGdzIC0gaGVscCBpbmNvbm51IgoKbXNnaWQgImRldmljZSAnJXMnIGlzIG5vdCBhdmFpbGFibGUiCm1zZ3N0ciAibGUgcOlyaXBo6XJpcXVlICclcycgbidlc3QgcGFzIGRpc3BvbmlibGUiCgojLCBmdXp6eQptc2dpZCAiIgoiQXZhaWxhYmxlIGRldmljZXMgYXJlOlxuIgoiJXMiCm1zZ3N0ciAiTGVzIHDpcmlwaOlyaXF1ZXMgZGlzcG9uaWJsZXMgc29udCAlcyIKCm1zZ2lkICIncmVzJyBtdXN0IGJlIHNwZWNpZmllZCB1bmxlc3MgJ3VuaXRzID0gXCJweFwiJyIKbXNnc3RyICIncmVzJyBkb2l0IOp0cmUgc3DpY2lmaekg4CBtb2lucyBxdWUgJ3VuaXRzID0gXCJweFwiIgoKbXNnaWQgImludmFsaWQgJ3RpdGxlJyIKbXNnc3RyICIndGl0bGUnIGluY29ycmVjdCIKCm1zZ2lkICJpbnZhbGlkICdmaWxlJyIKbXNnc3RyICJhcmd1bWVudCAnZmlsZScgaW5jb3JyZWN0IgoKbXNnaWQgImludmFsaWQgUXVhcnR6IGZvbnQ6ICBtdXN0IGJlIDQgc3RyaW5ncyIKbXNnc3RyICJwb2xpY2UgUXVhcnR6IGluY29ycmVjdGUgOiBkb2l0IOp0cmUgNCBjaGHubmVzIGRlIGNhcmFjdOhyZXMiCgptc2dpZCAiaW52YWxpZCBhcmd1bWVudHMgaW4gJ3F1YXJ0ekZvbnRzJyAobXVzdCBiZSBmb250IG5hbWVzKSIKbXNnc3RyICJhcmd1bWVudHMgaW5jb3JyZWN0cyBkYW5zICdxdWFydHpGb250cycgKGlsIGZhdXQgZGVzIG5vbXMgZGUgcG9saWNlKSIKCm1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50cyBpbiAncXVhcnR6Rm9udHMnIChuZWVkIG5hbWVkIGFyZ3MpIgptc2dzdHIgIiIKImFyZ3VtZW50cyBpbmNvcnJlY3RzIGRhbnMgJ3F1YXJ0ekZvbnRzJyAobGVzIGFyZ3VtZW50cyBkb2l2ZW50IOp0cmUgbm9tbelzKSIKCm1zZ2lkICJjYWlyby1iYXNlZCB0eXBlcyBhcmUgbm90IHN1cHBvcnRlZCBvbiB0aGlzIGJ1aWxkIC0gdXNpbmcgXCJYbGliXCIiCm1zZ3N0ciAiIgoibGVzIHR5cGVzIGJhc+lzIHN1ciBjYWlybyBuZSBzb250IHBhcyBzdXBwb3J06SBkYW5zIGNldHRlIGNvbXBpbGF0aW9uIC0gIgoidXRpbGlzYXRpb24gZGUgXCJYbGliXCIiCgptc2dpZCAidW5rbm93biBmYW1pbHkgZm9yIFgxMSh0eXBlID0gXCJYTGliXCIpIgptc2dzdHIgImZhbWlsbGUgaW5jb25udWUgcG91ciBYMTEodHlwZSA9IFwiWGxpYlwiKSIKCm1zZ2lkICJpbnZhbGlkIFgxMSBmb250IHNwZWNpZmljYXRpb246Igptc2dzdHIgInNw6WNpZmljYXRpb24gZGUgcG9saWNlIFgxMSBpbmNvcnJlY3RlIDoiCgptc2dpZCAiaW52YWxpZCBhcmd1bWVudHMgaW4gJ1gxMUZvbnRzJyAobXVzdCBiZSBmb250IG5hbWVzKSIKbXNnc3RyICJhcmd1bWVudHMgaW5jb3JyZWN0cyBkYW5zICdYMTFGb250cycgKGlsIGZhdXQgZGVzIG5vbXMgZGUgcG9saWNlKSIKCm1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50cyBpbiAnWDExRm9udHMnIChuZWVkIG5hbWVkIGFyZ3MpIgptc2dzdHIgIiIKImFyZ3VtZW50cyBpbmNvcnJlY3RzIGRhbnMgJ1gxMUZvbnRzJyAobGVzIGFyZ3VtZW50cyBkb2l2ZW50IOp0cmUgbm9tbelzKSIKCm1zZ2lkICJubyBzdWNoIGRldmljZSIKbXNnc3RyICJhdWN1biBw6XJpcGjpcmlxdWUgbmUgY29ycmVzcG9uZCIKCm1zZ2lkICJjYW4gb25seSBjb3B5IGZyb20gJ1gxMSh0eXBlPVwiKmNhaXJvXCIpJyBkZXZpY2VzIgptc2dzdHIgIiIKImlsIG4nZXN0IHBvc3NpYmxlIGRlIGNvcGllciBxdSfgIHBhcnRpciBkZSBw6XJpcGjpcmlxdWVzICdYMTEodHlwZT1cIipjYWlybyIKIlwiKSciCgptc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJ3Jlc2NhbGUnIgptc2dzdHIgInZhbGV1ciBpbmNvcnJlY3RlIHBvdXIgJ3Jlc2NhbGUnIgoKbXNnaWQgIkNhbGxzIGxpa2UgJyVzJyBhcmUgdW5zYWZlIGFuZCBzaG91bGQgYmUgcmVwbGFjZWQgYnkgJyVzJyIKbXNnc3RyICIiCgptc2dpZCAiY2FuIG9ubHkgYnJpbmcgd2luZG93cyBkZXZpY2VzIHRvIHRoZSBmcm9udCIKbXNnc3RyICIiCiJzZXVsZXMgbGVzIGZlbup0cmVzIGRlcyBw6XJpcGjpcmlxdWVzIGdyYXBoaXF1ZXMgcGV1dmVudCDqdHJlIGFtZW7pZXMgYXUgIgoicHJlbWllciBwbGFuIgoKbXNnaWQgIid0eXBlJyBub3QgYXBwbGljYWJsZSB0byB0aGUgUiBjb25zb2xlIgptc2dzdHIgIid0eXBlJyBuZSBzJ2FwcGxpcXVlIHBhcyDgIGxhIGNvbnNvbGUgUiIKCm1zZ2lkICJjYW4gb25seSBtYW5pcHVsYXRlIHdpbmRvd3MgZGV2aWNlcyIKbXNnc3RyICJzZXVscyBsZXMgcOlyaXBo6XJpcXVlcyAnd2luZG93cycgcGV1dmVudCDqdHJlIG1hbmlwdWzpcyIKCm1zZ2lkICJjYW4gb25seSBjb3B5IGZyb20gJ3dpbmRvd3MnIGRldmljZXMiCm1zZ3N0ciAiaWwgbidlc3QgcG9zc2libGUgZGUgY29waWVyIHF1J+AgcGFydGlyIGQndW4gcOlyaXBo6XJpcXVlICd3aW5kb3dzJyIKCm1zZ2lkICJzdWJzY3JpcHQgb3V0IG9mIHJhbmdlIgptc2dzdHIgImluZGljZSBob3JzIHBsYWdlIgoKbXNnaWQgImludmFsaWQgV2luZG93cyBmb250OiAgbXVzdCBiZSBhIHNpbmdsZSBmb250IGZhbWlseSBuYW1lIgptc2dzdHIgInBvbGljZSBXaW5kb3dzIGluY29ycmVjdGUgOiBpbCBmYXV0IHVuIHNldWwgbm9tIGRlIGZhbWlsbGUgZGUgcG9saWNlIgoKbXNnaWQgImludmFsaWQgYXJndW1lbnRzIGluICd3aW5kb3dzRm9udHMnIChtdXN0IGJlIGZvbnQgbmFtZXMpIgptc2dzdHIgImFyZ3VtZW50cyBpbmNvcnJlY3RzIGRhbnMgJ3dpbmRvd3NGb250cycgKGlsIGZhdXQgZGVzIG5vbXMgZGUgcG9saWNlKSIKCm1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50cyBpbiAnd2luZG93c0ZvbnRzJyAobmVlZCBuYW1lZCBhcmdzKSIKbXNnc3RyICIiCiJhcmd1bWVudHMgaW5jb3JyZWN0cyBkYW5zICd3aW5kb3dzRm9udHMnIChsZXMgYXJndW1lbnRzIGRvaXZlbnQg6nRyZSBub21t6XMpIgoKbXNnaWQgImludmFsaWQgYXJndW1lbnQgbmFtZSAlcyBpbiAnJXMnIgptc2dpZF9wbHVyYWwgImludmFsaWQgYXJndW1lbnQgbmFtZXMgJXMgaW4gJyVzJyIKbXNnc3RyWzBdICJub20gZCdhcmd1bWVudCAlcyBpbmNvcnJlY3QgZGFucyAnJXMnIgptc2dzdHJbMV0gIm5vbXMgZCdhcmd1bWVudHMgJXMgaW5jb3JyZWN0cyBkYW5zICclcyciCgptc2dpZCAiZGlmZmVycyBiZXR3ZWVuIG5ldyBhbmQgcHJldmlvdXMiCm1zZ2lkX3BsdXJhbCAiZGlmZmVyIGJldHdlZW4gbmV3IGFuZCBwcmV2aW91cyIKbXNnc3RyWzBdICJkaWZm6HJlIGVudHJlIGxlIG5vdXZlYXUgZXQgbGUgcHLpY+lkZW50Igptc2dzdHJbMV0gImRpZmbocmVudCBlbnRyZSBsZSBub3V2ZWF1IGV0IGxlIHBy6WPpZGVudCIKCm1zZ2lkICIlZCB4IHZhbHVlIDw9IDAgb21pdHRlZCBmcm9tIGxvZ2FyaXRobWljIHBsb3QiCm1zZ2lkX3BsdXJhbCAiJWQgeCB2YWx1ZXMgPD0gMCBvbWl0dGVkIGZyb20gbG9nYXJpdGhtaWMgcGxvdCIKbXNnc3RyWzBdICIlZCB2YWxldXIgeCA8PSAwIGVzdCBpZ25vcullIHBvdXIgbGUgZ3JhcGhlIGxvZ2FyaXRobWlxdWUiCm1zZ3N0clsxXSAiJWQgdmFsZXVycyB4IDw9IDAgc29udCBpZ25vcullcyBwb3VyIGxlIGdyYXBoZSBsb2dhcml0aG1pcXVlIgoKbXNnaWQgIiVkIHkgdmFsdWUgPD0gMCBvbWl0dGVkIGZyb20gbG9nYXJpdGhtaWMgcGxvdCIKbXNnaWRfcGx1cmFsICIlZCB5IHZhbHVlcyA8PSAwIG9taXR0ZWQgZnJvbSBsb2dhcml0aG1pYyBwbG90Igptc2dzdHJbMF0gIiVkIHZhbGV1ciB5IDw9IDAgZXN0IGlnbm9y6WUgcG91ciBsZSBncmFwaGUgbG9nYXJpdGhtaXF1ZSIKbXNnc3RyWzFdICIlZCB2YWxldXJzIHkgPD0gMCBzb250IGlnbm9y6WVzIHBvdXIgbGUgZ3JhcGhlIGxvZ2FyaXRobWlxdWUiCgptc2dpZCAiJWQgeiB2YWx1ZSA8PSAwIG9taXR0ZWQgZnJvbSBsb2dhcml0aG1pYyBwbG90Igptc2dpZF9wbHVyYWwgIiVkIHogdmFsdWVzIDw9IDAgb21pdHRlZCBmcm9tIGxvZ2FyaXRobWljIHBsb3QiCm1zZ3N0clswXSAiJWQgdmFsZXVyIHogPD0gMCBlc3QgaWdub3LpZSBwb3VyIGxlIGdyYXBoZSBsb2dhcml0aG1pcXVlIgptc2dzdHJbMV0gIiVkIHZhbGV1cnMgeiA8PSAwIHNvbnQgaWdub3LpZXMgcG91ciBsZSBncmFwaGUgbG9nYXJpdGhtaXF1ZSIKCiN+IG1zZ2lkICJyYW5nZSB0b28gc21hbGwgZm9yICdtaW4ubiciCiN+IG1zZ3N0ciAi6XRlbmR1ZSBkZXMgdmFsZXVycyB0cm9wIHBldGl0ZSBwb3VyICdtaW4ubiciCgojfiBtc2dpZCAic29ycnksICdncycgY2Fubm90IGJlIGZvdW5kIgojfiBtc2dzdHIgImTpc29s6SwgJ2dzJyBlc3QgaW50cm91dmFibGUiCgojfiBtc2dpZCAibG9hZGluZyBzbmFwc2hvdCBmcm9tIHByZS0zLjAuMCBSIHZlcnNpb24iCiN+IG1zZ3N0ciAiIgojfiAiY2hhcmdlbWVudCBkJ3VuIGluc3RhbnRhbukgZ3JhcGhpcXVlIOAgcGFydGlyIGQndW5lIHZlcnNpb24gZGUgUiBwcmUtMy4wLjAiCgojfiBtc2dpZCAiY2FuIG9ubHkgcHJpbnQgZnJvbSBzY3JlZW4gZGV2aWNlIgojfiBtc2dzdHIgInNldWwgdW4gcOlyaXBo6XJpcXVlIOljcmFuIHBldXQg6nRyZSBpbXByaW3pIgoKI34gbXNnaWQgIidtYXhSYXN0ZXJzJyBpcyBubyBsb25nZXIgbmVlZGVkLCBhbmQgd2lsbCBiZSBpZ25vcmVkIgojfiBtc2dzdHIgIidtYXhSYXN0ZXJzJyBuJ2VzdCBwbHVzIG7pY2Vzc2FpcmUsIGV0IGlsIHNlcmEgaWdub3LpIgoKI34gbXNnaWQgIlRoZSAnZ2FtbWEnIGFyZ3VtZW50IGlzIGRlcHJlY2F0ZWQgYW5kIGhhcyBubyBlZmZlY3QiCiN+IG1zZ3N0ciAiTCdhcmd1bWVudCAnZ2FtbWEnIGVzdCBvYnNvbOh0ZSBldCBuJ2EgYXVjdW4gZWZmZXQiCgojfiBtc2dpZCAiaW52YWxpZCB2YWx1ZSBmb3IgJ2FudGlhbGlhcyciCiN+IG1zZ3N0ciAidmFsZXVyIGluY29ycmVjdGUgcG91ciAnYW50aWFsaWFzJyIK