mirror of https://github.com/tc39/test262.git
1 line
288 KiB
JSON
1 line
288 KiB
JSON
{"testsCollection":{"name":"Chapter - 15.4.4.21","numTests":"255","tests":[{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtMC0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMC0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUucmVkdWNlOwogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsKICAgIHJldHVybiB0cnVlOwogIH0KIH0KfSk7Cg==","id":"15.4.4.21-0-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtMC0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMC0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZS5sZW5ndGggbXVzdCBiZSAxIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIGlmIChBcnJheS5wcm90b3R5cGUucmVkdWNlLmxlbmd0aCA9PT0gMSkgewogICAgcmV0dXJuIHRydWU7CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-0-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHVuZGVmaW5lZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKHVuZGVmaW5lZCk7IAogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-1-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMS0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgTWF0aF0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICBNYXRoLmxlbmd0aCA9IDE7CiAgICAgICAgICAgIE1hdGhbMF0gPSAxOwogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKE1hdGgsIGNhbGxiYWNrZm4sIDEpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOwogICAgICAgICAgICBkZWxldGUgTWF0aC5sZW5ndGg7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-1-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMS0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRGF0ZTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOwogICAgICAgIG9iai5sZW5ndGggPSAxOwogICAgICAgIG9ialswXSA9IDE7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-1-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMS0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBSZWdFeHA7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0gbmV3IFJlZ0V4cCgpOwogICAgICAgIG9iai5sZW5ndGggPSAxOwogICAgICAgIG9ialswXSA9IDE7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-1-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtMTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMS0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgSlNPTl0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICBKU09OLmxlbmd0aCA9IDE7CiAgICAgICAgICAgIEpTT05bMF0gPSAxOwogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKEpTT04sIGNhbGxiYWNrZm4sIDEpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsKICAgICAgICAgICAgZGVsZXRlIEpTT05bMF07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-1-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtMTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMS0xNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEVycm9yOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IG5ldyBFcnJvcigpOwogICAgICAgIG9iai5sZW5ndGggPSAxOwogICAgICAgIG9ialswXSA9IDE7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-1-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtMTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMS0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuICgnW29iamVjdCBBcmd1bWVudHNdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7CiAgICAgICAgfSgiYSIsICJiIikpOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-1-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIG51bGwiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChudWxsKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-1-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAgb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzBdID0gdHJ1ZTsKICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGUubGVuZ3RoID0gMTsKCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZmFsc2UsIGNhbGxiYWNrZm4sIDEpOwoKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGVbMF07CiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-1-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7CiAgICAgICAgb2JqLmxlbmd0aCA9IDI7CiAgICAgICAgb2JqWzBdID0gMTE7CiAgICAgICAgb2JqWzFdID0gMTI7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-1-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOwogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZVswXSA9IDE7CiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUubGVuZ3RoID0gMTsKCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoMi41LCBjYWxsYmFja2ZuLCAxKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZVswXTsKICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-1-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEyOCk7CiAgICAgICAgb2JqLmxlbmd0aCA9IDI7CiAgICAgICAgb2JqWzBdID0gMTE7CiAgICAgICAgb2JqWzFdID0gMTI7CiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-1-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFN0cmluZzsKICAgICAgICB9CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoImFiYyIsIGNhbGxiYWNrZm4sIDEpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-1-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFN0cmluZzsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsKCiAgICAgICAgcmV0dXJuICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-1-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTEtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBGdW5jdGlvbjsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICByZXR1cm4gYSArIGI7CiAgICAgICAgfTsKICAgICAgICBvYmpbMF0gPSAxMTsKICAgICAgICBvYmpbMV0gPSA5OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-1-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtMTAtMSIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTEuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgbXV0YXRlIHRoZSBBcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQgb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopCiAgewogICAgcmV0dXJuIDE7CiAgfQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsKICBzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4pOwogIGlmKHNyY0FyclswXSA9PT0gMSAmJgogICAgIHNyY0FyclsxXSA9PT0gMiAmJgogICAgIHNyY0FyclsyXSA9PT0gMyAmJgogICAgIHNyY0FyclszXSA9PT0gNCAmJgogICAgIHNyY0Fycls0XSA9PT0gNSkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-10-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtMTAtMiIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTIuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHJlZHVjZXMgdGhlIGFycmF5IGluIGFzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlkeCwgb2JqKQogIHsKICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOwogIH0KICB2YXIgc3JjQXJyID0gWycxJywnMicsJzMnLCc0JywnNSddOwogIGlmKHNyY0Fyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09ICcxMjM0NScpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-10-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtMTAtMyIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTMuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc3ViY2xhc3NlZCBhcnJheSBvZiBsZW5ndGggMSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gWzFdOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgCiAgZnVuY3Rpb24gY2IoKXt9CiAgaWYoZi5yZWR1Y2UoY2IpID09PSAxKQogICAgcmV0dXJuIHRydWU7CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogfQp9KTsK","id":"15.4.4.21-10-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtMTAtNCIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTQuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc3ViY2xhc3NlZCBhcnJheSB3aXRoIGxlbmd0aCBtb3JlIHRoYW4gMSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMsIDQpOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgCiAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7fQogIGlmKGYucmVkdWNlKGNiKSA9PT0gMTApCiAgICByZXR1cm4gdHJ1ZTsKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-10-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtMTAtNSIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTUuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHJlZHVjZXMgdGhlIGFycmF5IGluIGFzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzKGluaXRpYWx2YWx1ZSBwcmVzZW50KSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikKICB7CiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsKICB9CiAgdmFyIHNyY0FyciA9IFsnMScsJzInLCczJywnNCcsJzUnXTsKICBpZihzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4sJzAnKSA9PT0gJzAxMjM0NScpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-10-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtMTAtNiIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTYuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGluaXRpYWx2YWx1ZSBwcm92aWRlZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gWzEsMiwzLDRdOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgCiAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7fQogIGlmKGYucmVkdWNlKGNiLC0xKSA9PT0gOSkKICAgIHJldHVybiB0cnVlOwogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-10-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtMTAtNyIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTcuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc3ViY2xhc3NlZCBhcnJheSB3aXRoIGxlbmd0aCAxIGFuZCBpbml0aWFsdmFsdWUgcHJvdmlkZWQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgZm9vLnByb3RvdHlwZSA9IFsxXTsKICBmdW5jdGlvbiBmb28oKSB7fQogIHZhciBmID0gbmV3IGZvbygpOwogIAogIGZ1bmN0aW9uIGNiKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmope3JldHVybiBwcmV2VmFsICsgY3VyVmFsO30KICBpZihmLnJlZHVjZShjYiwtMSkgPT09IDApCiAgICByZXR1cm4gdHJ1ZTsKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-10-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtMTAtOCIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTguanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogIHZhciBjYWxsQ250ID0gMDsKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlkeCwgb2JqKQogIHsKICAgIGNhbGxDbnQrKzsKICAgIHJldHVybiBjdXJWYWw7CiAgfQogIHZhciBzcmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1J107CiAgc3JjQXJyWyJpIl0gPSAxMDsKICBzcmNBcnJbdHJ1ZV0gPSAxMTsKICBzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4pOwoKICBpZihjYWxsQ250ID09IDQpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-10-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAwOiAxMiwKICAgICAgICAgICAgMTogMTEsCiAgICAgICAgICAgIDI6IDksCiAgICAgICAgICAgIGxlbmd0aDogMgogICAgICAgIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-2-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMi0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOwogICAgICAgIH0KCiAgICAgICAgdmFyIHByb3RvID0ge307CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGRbMF0gPSAxMjsKICAgICAgICBjaGlsZFsxXSA9IDExOwogICAgICAgIGNoaWxkWzJdID0gOTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-2-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMi0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7CiAgICAgICAgICAgIDA6IDExLAogICAgICAgICAgICAxOiAxMgogICAgICAgIH07CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-2-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMi0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAibGVuZ3RoIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExIH07CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7CiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOwogICAgICAgIH0KCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-2-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItMTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMi0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QgdGhhdCAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgIH0KCiAgICAgICAgdmFyIHByb3RvID0ge307CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgewogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGRbMF0gPSAxMTsKICAgICAgICBjaGlsZFsxXSA9IDEyOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-2-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItMTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMi0xNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgcHJvcGVydHkgZG9lc24ndCBleGlzdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7CgogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-2-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItMTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMi0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOwogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gMTE7CiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSA5OwogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7CiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07CiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOwogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-2-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItMTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMi0xNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7CiAgICAgICAgfQoKICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9IDk7CiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuLCAxKTsKICAgICAgICB9OwoKICAgICAgICByZXR1cm4gZnVuYygxMiwgMTEpID09PSB0cnVlOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-2-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItMTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMi0xOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAzKTsKICAgICAgICB9CgogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIwMTIiKTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChzdHIsIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-2-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItMTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMi0xOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOwogICAgICAgIH0KCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgIHJldHVybiBhICsgYjsKICAgICAgICB9OwogICAgICAgIGZ1blswXSA9IDEyOwogICAgICAgIGZ1blsxXSA9IDExOwogICAgICAgIGZ1blsyXSA9IDk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZnVuLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-2-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gWzEyLCAxMV0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-2-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7CiAgICAgICAgfQoKICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9OwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7CiAgICAgICAgY2hpbGRbMF0gPSAxMjsKICAgICAgICBjaGlsZFsxXSA9IDExOwogICAgICAgIGNoaWxkWzJdID0gOTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-2-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgc3RvcmVQcm90b0xlbmd0aDsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICBzdG9yZVByb3RvTGVuZ3RoID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IDA7CgogICAgICAgICAgICByZXR1cm4gWzEyLCAxMV0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBzdG9yZVByb3RvTGVuZ3RoOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-2-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsKICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHt9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDM7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsKICAgICAgICAgICAgdmFsdWU6IDIsCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwogICAgICAgIGNoaWxkWzBdID0gMTI7CiAgICAgICAgY2hpbGRbMV0gPSAxMTsKICAgICAgICBjaGlsZFsyXSA9IDk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-2-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOwogICAgICAgIH0KCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKICAgICAgICBjaGlsZFswXSA9IDEyOwogICAgICAgIGNoaWxkWzFdID0gMTE7CiAgICAgICAgY2hpbGRbMl0gPSA5OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-2-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7fTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIG9ialswXSA9IDEyOwogICAgICAgIG9ialsxXSA9IDExOwogICAgICAgIG9ialsyXSA9IDk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-2-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsKICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIGNoaWxkWzBdID0gMTI7CiAgICAgICAgY2hpbGRbMV0gPSAxMTsKICAgICAgICBjaGlsZFsyXSA9IDk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-2-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTItOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7CiAgICAgICAgfQoKICAgICAgICB2YXIgcHJvdG8gPSB7fTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAzOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgY2hpbGRbMF0gPSAxMjsKICAgICAgICBjaGlsZFsxXSA9IDExOwogICAgICAgIGNoaWxkWzJdID0gOTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-2-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogdW5kZWZpbmVkIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-3-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgbnVtYmVyIHByaW1pdGl2ZSAodmFsdWUgaXMgTmFOKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogTmFOIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-3-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyIiB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-3-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-3-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjIuNSIgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-3-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMkUwIiB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-3-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0xNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMHgwMDAyIiB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-3-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0xNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-3-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0xOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6ICJhc2RmIV8iIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-3-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0xOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsKICAgICAgICAgICAgMTogMTEsCiAgICAgICAgICAgIDI6IDksCiAgICAgICAgICAgIGxlbmd0aDogewogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-3-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgYm9vbGVhbiAodmFsdWUgaXMgdHJ1ZSkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMCk7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiB0cnVlIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsKCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-3-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMjAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0yMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAxOiAxMSwKICAgICAgICAgICAgMjogOSwKICAgICAgICAgICAgbGVuZ3RoOiB7CiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-3-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMjEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0yMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHZhbHVlT2ZPY2N1cmVkID0gZmFsc2U7CiAgICAgICAgdmFyIHRvU3RyaW5nT2NjdXJlZCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAxOiAxMSwKICAgICAgICAgICAgMjogOSwKICAgICAgICAgICAgbGVuZ3RoOiB7CiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZk9jY3VyZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nT2NjdXJlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZSAmJiB2YWx1ZU9mT2NjdXJlZCAmJiB0b1N0cmluZ09jY3VyZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-3-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMjIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0yMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbpJ0IHJldHVybiBwcmltaXRpdmUgdmFsdWVzIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsKICAgICAgICAgICAgMTogMTEsCiAgICAgICAgICAgIDI6IDEyLAoKICAgICAgICAgICAgbGVuZ3RoOiB7CiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFhY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-3-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMjMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0yMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsKICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsKICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKCiAgICAgICAgY2hpbGQudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gJzEnOwogICAgICAgIH07CgogICAgICAgIHZhciBvYmogPSB7CiAgICAgICAgICAgIDE6IDExLAogICAgICAgICAgICAyOiA5LAogICAgICAgICAgICBsZW5ndGg6IGNoaWxkCiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-3-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMjQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0yNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAxOiAxMSwKICAgICAgICAgICAgMjogOSwKICAgICAgICAgICAgbGVuZ3RoOiAyLjY4NQogICAgICAgIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-3-24"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMjUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtMy0yNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsKICAgICAgICAgICAgMTogMTEsCiAgICAgICAgICAgIDI6IDksCiAgICAgICAgICAgIGxlbmd0aDogLTQyOTQ5NjcyOTQuNQogICAgICAgIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-3-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDEsIDE6IDEsIGxlbmd0aDogMCB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-3-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiArMCB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-3-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAtMCB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-3-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAyIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-3-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAtNDI5NDk2NzI5NCB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-3-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTMtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IC1JbmZpbml0eSB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-3-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNC0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKICB0cnkgewogICAgYXJyLnJlZHVjZSgpOyAgICAKICB9CiAgY2F0Y2goZSkgewogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKICAgICAgcmV0dXJuIHRydWU7ICAKICB9CgogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-4-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTQtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMiIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgdW5kZWZpbmVkKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-4-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTQtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIHVuZGVmaW5lZCk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-4-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTQtMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2NhbGxiYWNrZm4nIGlzIGEgZnVuY3Rpb24iLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gY3VyVmFsID4gMTA7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gWzExLCA5XS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSkgPT09IGZhbHNlICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-4-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTQtMTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC0xNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGluZyB3aXRoIG5vIGNhbGxiYWNrZm4gaXMgdGhlIHNhbWUgYXMgcGFzc2luZyB1bmRlZmluZWQgZm9yIGNhbGxiYWNrZm4iLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciBvYmogPSB7IDEwOiAxMCB9OwogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBsZW5ndGhBY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMjA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBsb29wQWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIDEwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaik7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-4-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNC0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bnJlZmVyZW5jZWQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOwogIHRyeSB7CiAgICBhcnIucmVkdWNlKGZvbyk7ICAgIAogIH0KICBjYXRjaChlKSB7CiAgICBpZihlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpCiAgICAgIHJldHVybiB0cnVlOyAgCiAgfQoKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-4-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNC0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVsbCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CiAgdHJ5IHsKICAgIGFyci5yZWR1Y2UobnVsbCk7ICAgIAogIH0KICBjYXRjaChlKSB7CiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQogICAgICByZXR1cm4gdHJ1ZTsgIAogIH0KCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogfQp9KTsK","id":"15.4.4.21-4-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNC00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgYm9vbGVhbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CiAgdHJ5IHsKICAgIGFyci5yZWR1Y2UodHJ1ZSk7ICAgIAogIH0KICBjYXRjaChlKSB7CiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQogICAgICByZXR1cm4gdHJ1ZTsgIAogIH0KCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogfQp9KTsK","id":"15.4.4.21-4-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNC01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVtYmVyIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKICB0cnkgewogICAgYXJyLnJlZHVjZSg1KTsgICAgCiAgfQogIGNhdGNoKGUpIHsKICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCiAgICAgIHJldHVybiB0cnVlOyAgCiAgfQoKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-4-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNC02IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC02LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgc3RyaW5nIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKICB0cnkgewogICAgYXJyLnJlZHVjZSgiYWJjIik7ICAgIAogIH0KICBjYXRjaChlKSB7CiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQogICAgICByZXR1cm4gdHJ1ZTsgIAogIH0KCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogfQp9KTsK","id":"15.4.4.21-4-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNC03IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNC03LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgT2JqZWN0IHdpdGhvdXQgW1tDYWxsXV0gaW50ZXJuYWwgbWV0aG9kIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsKICB0cnkgewogICAgYXJyLnJlZHVjZShuZXcgT2JqZWN0KCkpOyAgICAKICB9CiAgY2F0Y2goZSkgewogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKICAgICAgcmV0dXJuIHRydWU7ICAKICB9CgogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-4-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTQtOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgbnVsbCk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-4-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTQtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBudWxsKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-4-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNS0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KSwgbm8gaW5pdFZhbCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmdW5jdGlvbiBjYigpe30KICAKICB0cnkgewogICAgW10ucmVkdWNlKGNiKTsKICB9CiAgY2F0Y2ggKGUpIHsKICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-5-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTUtMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gaWYgZXhjZXB0aW9uIG9jY3VycywgaXQgb2NjdXJzIGFmdGVyIGFueSBzaWRlLWVmZmVjdHMgdGhhdCBtaWdodCBiZSBwcm9kdWNlZCBieSBzdGVwIDIiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPiAxMCk7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-5-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTUtMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gaWYgdGhlIGV4Y2VwdGlvbiBvY2N1cnMsIGl0IG9jY3VycyBhZnRlciBhbnkgc2lkZS1lZmZlY3RzIHRoYXQgbWlnaHQgYmUgcHJvZHVjZWQgYnkgc3RlcCAzIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID4gMTApOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjAiOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-5-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTUtMTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS0xMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMiIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA+IDEwKTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-5-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTUtMTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS0xMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA+IDEwKTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-5-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNS0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CiAgZnVuY3Rpb24gZm9vKCkge30KICB2YXIgZiA9IG5ldyBmb28oKTsKICBmLmxlbmd0aCA9IG51bGw7CiAgCiAgZnVuY3Rpb24gY2IoKXt9CiAgdHJ5IHsKICAgIGYucmVkdWNlKGNiKTsKICB9CiAgY2F0Y2ggKGUpIHsKICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-5-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNS0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgZi5sZW5ndGggPSBmYWxzZTsKICAKICBmdW5jdGlvbiBjYigpe30KICB0cnkgewogICAgZi5yZWR1Y2UoY2IpOwogIH0KICBjYXRjaCAoZSkgewogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-5-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNS00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CiAgZnVuY3Rpb24gZm9vKCkge30KICB2YXIgZiA9IG5ldyBmb28oKTsKICBmLmxlbmd0aCA9IDA7CiAgCiAgZnVuY3Rpb24gY2IoKXt9CiAgdHJ5IHsKICAgIGYucmVkdWNlKGNiKTsKICB9CiAgY2F0Y2ggKGUpIHsKICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-5-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNS01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKICBmdW5jdGlvbiBmb28oKSB7fQogIHZhciBmID0gbmV3IGZvbygpOwogIGYubGVuZ3RoID0gJzAnOwogIAogIGZ1bmN0aW9uIGNiKCl7fQogIHRyeSB7CiAgICBmLnJlZHVjZShjYik7CiAgfQogIGNhdGNoIChlKSB7CiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgewogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogfQp9KTsK","id":"15.4.4.21-5-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNS02IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS02LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZiksIG5vIGluaXRWYWwiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKICBmdW5jdGlvbiBmb28oKSB7fQogIHZhciBmID0gbmV3IGZvbygpOwogIAogIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319OwogIGYubGVuZ3RoID0gbzsKICAKICBmdW5jdGlvbiBjYigpe30KICB0cnkgewogICAgZi5yZWR1Y2UoY2IpOwogIH0KICBjYXRjaCAoZSkgewogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-5-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNS03IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS03LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpLCBubyBpbml0VmFsIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CiAgZnVuY3Rpb24gZm9vKCkge30KICB2YXIgZiA9IG5ldyBmb28oKTsKICAKICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsKICBmLmxlbmd0aCA9IG87CiAgCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0OwogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZAogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QKICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUKICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLgoKICBmdW5jdGlvbiBjYigpe30KICB0cnkgewogICAgZi5yZWR1Y2UoY2IpOwogIH0KICBjYXRjaCAoZSkgewogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-5-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNS04IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNS04LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10pLCBubyBpbml0VmFsIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CiAgZnVuY3Rpb24gZm9vKCkge30KICB2YXIgZiA9IG5ldyBmb28oKTsKICAKICBmLmxlbmd0aCA9IFtdOwogIAogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsKICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QKICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0CiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4KICAvLwogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbgogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gKICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMKICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4KCiAgZnVuY3Rpb24gY2IoKXt9CiAgdHJ5IHsKICAgIGYucmVkdWNlKGNiKTsKICB9CiAgY2F0Y2ggKGUpIHsKICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogIH0KIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-5-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTUtOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdpbml0aWFsVmFsdWUnIGlzIHJldHVybmVkIGlmICdsZW4nIGlzIDAgYW5kICdpbml0aWFsVmFsdWUnIGlzIHByZXNlbnQiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFtdLnJlZHVjZShjYWxsYmFja2ZuLCAzKSA9PT0gMyAmJiAhYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-5-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNy0xIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNy0xLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoZW1wdHkgYXJyYXkpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIGZ1bmN0aW9uIGNiKCl7fQogIAogIHRyeSB7CiAgICBpZihbXS5yZWR1Y2UoY2IsMSkgPT09IDEpCiAgICAgIHJldHVybiB0cnVlOwogIH0KICBjYXRjaCAoZSkgeyAgfSAgCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogfQp9KTsK","id":"15.4.4.21-7-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTctMTAiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNy0xMC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2luaXRpYWxWYWx1ZScgaXMgcHJlc2VudCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBzdHIgPSAiaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQiOwogICAgICAgIHJldHVybiBzdHIgPT09IFtdLnJlZHVjZShmdW5jdGlvbiAoKSB7IH0sIHN0cik7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-7-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTctMTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNy0xMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2luaXRpYWxWYWx1ZScgaXMgbm90IHByZXNlbnQiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgc3RyID0gImluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudCI7CiAgICAgICAgcmV0dXJuIHN0ciA9PT0gW3N0cl0ucmVkdWNlKGZ1bmN0aW9uICgpIHsgfSk7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-7-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNy0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNy0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKICBmdW5jdGlvbiBmb28oKSB7fQogIHZhciBmID0gbmV3IGZvbygpOwogIGYubGVuZ3RoID0gbnVsbDsKICAKICBmdW5jdGlvbiBjYigpe30KICB0cnkgewogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpCiAgICAgIHJldHVybiB0cnVlOwogIH0KICBjYXRjaCAoZSkgeyAgfSAgCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogfQp9KTsK","id":"15.4.4.21-7-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNy0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNy0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CiAgZnVuY3Rpb24gZm9vKCkge30KICB2YXIgZiA9IG5ldyBmb28oKTsKICBmLmxlbmd0aCA9IGZhbHNlOwogIAogIGZ1bmN0aW9uIGNiKCl7fQogIHRyeSB7CiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkKICAgICAgcmV0dXJuIHRydWU7CiAgfQogIGNhdGNoIChlKSB7ICB9ICAKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-7-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNy00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNy00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKICBmdW5jdGlvbiBmb28oKSB7fQogIHZhciBmID0gbmV3IGZvbygpOwogIGYubGVuZ3RoID0gMDsKICAKICBmdW5jdGlvbiBjYigpe30KICB0cnkgewogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpCiAgICAgIHJldHVybiB0cnVlOwogIH0KICBjYXRjaCAoZSkgeyAgfSAgCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogfQp9KTsK","id":"15.4.4.21-7-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNy01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNy01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgZi5sZW5ndGggPSAnMCc7CiAgCiAgZnVuY3Rpb24gY2IoKXt9CiAgdHJ5IHsKICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQogICAgICByZXR1cm4gdHJ1ZTsKICB9CiAgY2F0Y2ggKGUpIHsgIH0gIAogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-7-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNy02IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNy02LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOwogIGZ1bmN0aW9uIGZvbygpIHt9CiAgdmFyIGYgPSBuZXcgZm9vKCk7CiAgCiAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX07CiAgZi5sZW5ndGggPSBvOwogIAogIGZ1bmN0aW9uIGNiKCl7fQogIHRyeSB7CiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkKICAgICAgcmV0dXJuIHRydWU7CiAgfQogIGNhdGNoIChlKSB7ICB9ICAKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-7-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNy03IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNy03LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKICBmdW5jdGlvbiBmb28oKSB7fQogIHZhciBmID0gbmV3IGZvbygpOwogIAogIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319OwogIGYubGVuZ3RoID0gbzsKICAKICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7CiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdAogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuCgogIGZ1bmN0aW9uIGNiKCl7fQogIHRyeSB7CiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkKICAgICAgcmV0dXJuIHRydWU7CiAgfQogIGNhdGNoIChlKSB7ICB9ICAKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-7-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNy04IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNy04LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXSkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsKICBmdW5jdGlvbiBmb28oKSB7fQogIHZhciBmID0gbmV3IGZvbygpOwogIAogIGYubGVuZ3RoID0gW107CiAgCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0OwogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZAogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QKICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUKICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLgogIC8vCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywKICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaAogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcwogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwKICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLgoKICBmdW5jdGlvbiBjYigpe30KICB0cnkgewogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpCiAgICAgIHJldHVybiB0cnVlOwogIH0KICBjYXRjaCAoZSkgeyAgfSAgCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogfQp9KTsK","id":"15.4.4.21-7-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtNy05IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtNy05LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbMF0pIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7CiAgZnVuY3Rpb24gZm9vKCkge30KICB2YXIgZiA9IG5ldyBmb28oKTsKICAKICBmLmxlbmd0aCA9IFswXTsKICAKICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7CiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdAogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuCiAgLy8KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLAogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGEKICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LAogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uCgogIGZ1bmN0aW9uIGNiKCl7fQogIHRyeSB7CiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkKICAgICAgcmV0dXJuIHRydWU7CiAgfQogIGNhdGNoIChlKSB7ICB9ICAKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-7-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi0xIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi0xLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgJ2xlbicgaXMgMCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDAgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgcmV0dXJuIDEwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiAhYWNjZXNzZWQ7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-8-b-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi0yIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi0yLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCBkb24ndCBjaGFuZ2UgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgaW4gc3RlcCA5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIHJldHVybiBpZHg7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAzOiAxMiwgNDogOSwgbGVuZ3RoOiA0IH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIG9iai5sZW5ndGggPSAxMDsKICAgICAgICAgICAgICAgIHJldHVybiAxMTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKSA9PT0gMzsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-b-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi0zIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBsb29wIGlzIGJyb2tlbiBvbmNlICdrUHJlc2VudCcgaXMgdHJ1ZSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBjYWxsZWQgPSAwOwogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgdmFyIGZpcnN0Q2FsbGVkID0gMDsKICAgICAgICB2YXIgc2Vjb25kQ2FsbGVkID0gMDsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCB2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChjYWxsZWQgPT09IDApIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoaWR4ID09PSAxKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjYWxsZWQrKzsKICAgICAgICB9CgogICAgICAgIHZhciBhcnIgPSBbLCAsIF07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGZpcnN0Q2FsbGVkKys7CiAgICAgICAgICAgICAgICByZXR1cm4gMTE7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBzZWNvbmRDYWxsZWQrKzsKICAgICAgICAgICAgICAgIHJldHVybiA5OwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBmaXJzdENhbGxlZCA9PT0gMSAmJiBzZWNvbmRDYWxsZWQgPT09IDE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-b-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paS0xIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paS0xLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IHsgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBvYmpbMV0gPSAiYWNjdW11bGF0b3IiOwogICAgICAgICAgICAgICAgcmV0dXJuIDM7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KSA9PT0gImFjY3VtdWxhdG9yIjsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-b-ii-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paS0yIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paS0yLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqID0geyAxOiAiYWNjdW11bGF0b3IiLCAyOiAiYW5vdGhlciIgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIDM7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICByZXR1cm4gImFjY3VtdWxhdG9yIiAhPT0gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-b-ii-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0xIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0xLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMiB9OwogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cn0pOwo=","id":"15.4.4.21-8-b-iii-1-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0xMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHdoZW4gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGFyciA9IFssIDEsIDJdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-b-iii-1-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0xMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjkiKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyIH07CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gIjkiOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-b-iii-1-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0xMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjkiKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMDsKICAgICAgICAgICAgdmFyIGFyciA9IFssIDEsIDJdOwoKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjkiOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7CiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-8-b-iii-1-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0xMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjkiKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIHByb3RvID0geyAxOiAxLCAyOiAyfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07CiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOwoKICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7CiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gIjkiOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-b-iii-1-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0xNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICI5Iik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgdmFyIGFyciA9IFssIDEsIDJdOwogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAiOSI7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-b-iii-1-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0xNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsgMTogMSwgMjogMiB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKICAgICAgICBjaGlsZC5sZW5ndGggPSAzOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-8-b-iii-1-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0xNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgdmFyIGFyciA9IFssIDEsIDJdOwoKICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmICFbLCAxXS5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-8-b-iii-1-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0xNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSB1bmRlZmluZWQpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7CiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-8-b-iii-1-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0xOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSB1bmRlZmluZWQpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgYXJyID0gWywgMSwgMl07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-b-iii-1-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0xOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVswXSA9IDA7CgogICAgICAgICAgICB2YXIgb2JqID0geyAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsKCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgewogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-8-b-iii-1-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0yIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0yLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07CiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQp9KTsK","id":"15.4.4.21-8-b-iii-1-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0yMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMDsKICAgICAgICAgICAgdmFyIGFyciA9IFssIDEsIDJdOwogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CgogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-8-b-iii-1-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0yMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSB1bmRlZmluZWQpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgcHJvdG8gPSB7IDE6IDEsIDI6IDIgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsKICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7CgogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQp9KTsK","id":"15.4.4.21-8-b-iii-1-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0yMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgIAogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7CiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsKCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7CiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwoKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOwogICAgICAgIH0KCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmICFbLCAxXS5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-8-b-iii-1-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0yMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZGV4IHByb3BlcnR5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOwogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMDsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDE7CiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSAyOwogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDM7CgogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbik7CiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwoKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsKICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07CiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOwogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KfSk7Cg==","id":"15.4.4.21-8-b-iii-1-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0yNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOwogICAgICAgIH07CgogICAgICAgIGZ1bmMoMCwgMSk7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-8-b-iii-1-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0yNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGVxdWFscyBudW1iZXIgb2YgcGFyYW1ldGVycykiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOwogICAgICAgIH07CgogICAgICAgIGZ1bmMoMCwgMSwgMik7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-8-b-iii-1-26"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0yNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGdyZWF0ZXIgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07CiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMV07CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOwogICAgICAgIH07CgogICAgICAgIGZ1bmMoMCwgMSwgMiwgMyk7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-8-b-iii-1-27"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0yOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICIwIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIwMTIiKTsKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoc3RyLCBjYWxsYmFja2ZuKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-8-b-iii-1-28"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0yOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgICAgIHJldHVybiBhICsgYiArIGM7CiAgICAgICAgfTsKICAgICAgICBvYmpbMF0gPSAwOwogICAgICAgIG9ialsxXSA9IDE7CiAgICAgICAgb2JqWzJdID0gMjsKICAgICAgICBvYmpbM10gPSAzOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-8-b-iii-1-29"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0zIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjkiKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkWzBdID0gIjkiOwogICAgICAgIGNoaWxkWzFdID0gIjEiOwogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7CgogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CgogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cn0pOwo=","id":"15.4.4.21-8-b-iii-1-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0zMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gY3VycmVudCBpdGVyYXRpb25zIGlzIG9ic2VydmVkIGluIHN1YnNlcXVlbnQgaXRlcmF0aW9ucyBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGFyciA9IFssICwgMl07CiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-8-b-iii-1-30"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0zMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gY3VycmVudCBpdGVyYXRpb25zIGlzIG9ic2VydmVkIGluIHN1YnNlcXVlbnQgaXRlcmF0aW9ucyBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07CiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-8-b-iii-1-31"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0zMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGV4Y2VwdGlvbiBpbiBnZXR0ZXIgdGVybWluYXRlcyBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID49IDEpIHsKICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDI6IDIsIDE6IDEsIGxlbmd0aDogMyB9OwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQgJiYgIXRlc3RSZXN1bHQ7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-8-b-iii-1-32"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS0zMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGV4Y2VwdGlvbiBpbiBnZXR0ZXIgdGVybWluYXRlcyBpdGVyYXRpb24gb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID49IDEpIHsKICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkICYmICF0ZXN0UmVzdWx0OwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-8-b-iii-1-33"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS00IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9ICI5IjsKICAgICAgICAgICAgWzAsIDEsIDJdLnJlZHVjZShjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CgogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-b-iii-1-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS01IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICI5Iik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHt9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKICAgICAgICBjaGlsZC5sZW5ndGggPSAyOwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7CiAgICAgICAgICAgIHZhbHVlOiAiOSIsCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwogICAgICAgIGNoaWxkWzFdID0gIjEiOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOw==","id":"15.4.4.21-8-b-iii-1-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS02IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS02LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAiNSI7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgWzAsIDEsIDJdLnJlZHVjZShjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-b-iii-1-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS03IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS03LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAzIH07CiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKICAgICAgICBjaGlsZC5sZW5ndGggPSAzOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-b-iii-1-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS04IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS04LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDA7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDI7CiAgICAgICAgICAgIFssICwgLF0ucmVkdWNlKGNhbGxiYWNrZm4pOwogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOwogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOwogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmICFbLCAxXS5oYXNPd25Qcm9wZXJ0eSgwKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-8-b-iii-1-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYi1paWktMS05IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS05LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-8-b-iii-1-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOC1jLTEiLAoKcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMS5qcyIsCgpkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciB3aGVuIEFycmF5IGlzIGVtcHR5IGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAogCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQogIHsKICB9CgogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOwogIHRyeSB7CiAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOwogIH0gCiAgY2F0Y2goZSkgewogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKICAgICAgcmV0dXJuIHRydWU7ICAKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogfQp9KTsK","id":"15.4.4.21-8-c-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOC1jLTIiLAoKcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMi5qcyIsCgpkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGVsZW1lbnRzIGFzc2lnbmVkIHZhbHVlcyBhcmUgZGVsZXRlZCBieSByZWR1Y2luZyBhcnJheSBsZW5ndGggYW5kIGluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCiAKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopCiAgewogIH0KCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CiAgYXJyWzldID0gMTsKICBhcnIubGVuZ3RoID0gNTsKICB0cnkgewogICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsKICB9IAogIGNhdGNoKGUpIHsKICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpCiAgICAgIHJldHVybiB0cnVlOyAgCiAgfQogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-8-c-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOC1jLTMiLAoKcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMy5qcyIsCgpkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGVsZW1lbnRzIGFzc2lnbmVkIHZhbHVlcyBhcmUgZGVsZXRlZCBhbmQgaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKIAogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikKICB7CiAgfQoKICB2YXIgYXJyID0gWzEsMiwzLDQsNV07CiAgZGVsZXRlIGFyclswXTsKICBkZWxldGUgYXJyWzFdOwogIGRlbGV0ZSBhcnJbMl07CiAgZGVsZXRlIGFyclszXTsKICBkZWxldGUgYXJyWzRdOwogIHRyeSB7CiAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOwogIH0gCiAgY2F0Y2goZSkgewogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikKICAgICAgcmV0dXJuIHRydWU7ICAKICB9CiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogfQp9KTsK","id":"15.4.4.21-8-c-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYy00IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYy00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgZG9lc24ndCB0aHJvdyBlcnJvciB3aGVuIGFycmF5IGhhcyBubyBvd24gcHJvcGVydGllcyBidXQgcHJvdG90eXBlIGNvbnRhaW5zIGEgc2luZ2xlIHByb3BlcnR5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFyciA9IFssICwgLCBdOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAicHJvdG90eXBlIjsKICAgICAgICAgICAgYXJyLnJlZHVjZShmdW5jdGlvbiAoKSB7IH0pOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiAhWywgMV0uaGFzT3duUHJvcGVydHkoMCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-c-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYy01IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYy01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBpZiBleGNlcHRpb24gb2NjdXJzLCBpdCBvY2N1cnMgYWZ0ZXIgYW55IHNpZGUtZWZmZWN0cyB0aGF0IG1pZ2h0IGJlIHByb2R1Y2VkIGJ5IHN0ZXAgMiIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7IH07CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-8-c-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYy02IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYy02LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBpZiBleGNlcHRpb24gb2NjdXJzLCBpdCBvY2N1cnMgYWZ0ZXIgYW55IHNpZGUtZWZmZWN0cyB0aGF0IG1pZ2h0IGJlIHByb2R1Y2VkIGJ5IHN0ZXAgMyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmogPSB7fTsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiMiI7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NlZDsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-8-c-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYy03IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYy03LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAyIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IHt9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-8-c-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTgtYy04IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYy04LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAzIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iaiA9IHt9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-8-c-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewogICAgaWQ6ICIxNS40LjQuMjEtOS0xIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFycls1XSA9IDY7CiAgICAgICAgICAgIGFyclsyXSA9IDM7CiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOwogICAgICAgIH0KCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAsIDQsICc1J107CiAgICAgICAgcmV0dXJuIGFyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09ICIxMDUiOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cn0pOwo=","id":"15.4.4.21-9-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOS0xMCIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktMTAuanMiLAoKZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIGNhbGxlZCB3aXRoIGFuIGluaXRpYWwgdmFsdWUgZG9lc24ndCBjb25zaWRlciBuZXcgZWxlbWVudHMgYWRkZWQgdG8gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKIAogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgYXJyWzVdID0gNjsKICAgIGFyclsyXSA9IDM7ICAgCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsKICB9CgogIHZhciBhcnIgPSBbMSwyLCw0LCc1J107CiAgcmV0dXJuIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgIiIpID09PSAiMTIzNDUiOwogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-9-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOS0yIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS0yLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBjb25zaWRlcnMgbmV3IHZhbHVlIG9mIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCiAKICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopCiAgewogICAgYXJyWzNdID0gLTI7CiAgICBhcnJbNF0gPSAtMTsKICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOwogIH0KCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOwogIGlmKGFyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09IDMpCiAgICByZXR1cm4gdHJ1ZTsgIAogIAogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-9-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOS0zIiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS0zLmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAogCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSAgCiAgewogICAgZGVsZXRlIGFyclszXTsKICAgIGRlbGV0ZSBhcnJbNF07CiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsgICAgCiAgfQoKICB2YXIgYXJyID0gWycxJywyLDMsNCw1XTsKICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSAiMTIzIiAgKSAgICAvLyB0d28gZWxlbWVudHMgZGVsZXRlZAogICAgcmV0dXJuIHRydWU7ICAKICAKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-9-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOS00IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS00LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgd2hlbiBBcnJheS5sZW5ndGggaXMgZGVjcmVhc2VkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKIAogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikKICB7CiAgICBhcnIubGVuZ3RoID0gMjsKICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOwogIH0KCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOwogIGlmKGFyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09IDMgKQogICAgcmV0dXJuIHRydWU7ICAKICAKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-9-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOS01IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS01LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxiYWNrZm4gbm90IGNhbGxlZCBmb3IgYXJyYXkgd2l0aCBvbmUgZWxlbWVudCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgCiAKICB2YXIgY2FsbENudCA9IDA7CiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQogIHsKICAgIGNhbGxDbnQrKzsKICAgIHJldHVybiAyOwogIH0KCiAgdmFyIGFyciA9IFsxXTsKICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSAxICYmIGNhbGxDbnQgPT09IDAgKQogICAgcmV0dXJuIHRydWU7ICAgIAogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-9-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOS02IiwKCnBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS02LmpzIiwKCmRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSB2aXNpdHMgZGVsZXRlZCBlbGVtZW50IGluIGFycmF5IGFmdGVyIHRoZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQgaW4gcHJvdG90eXBlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKIAogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgIAogIHsKICAgIGRlbGV0ZSBhcnJbM107CiAgICBkZWxldGUgYXJyWzRdOwogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7ICAgIAogIH0KCiAgQXJyYXkucHJvdG90eXBlWzRdID0gNTsKICB2YXIgYXJyID0gWycxJywyLDMsNCw1XTsKICB2YXIgcmVzID0gYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsKICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzRdOwoKICBpZihyZXMgPT09ICIxMjM1IiAgKSAgICAvL29uZSBlbGVtZW50IGFjdWFsbHkgZGVsZXRlZAogICAgcmV0dXJuIHRydWU7ICAKICAKIH0sCgpwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-9-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewogICAgaWQ6ICIxNS40LjQuMjEtOS03IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIHN0b3BzIGNhbGxpbmcgY2FsbGJhY2tmbiBvbmNlIHRoZSBhcnJheSBpcyBkZWxldGVkIGR1cmluZyB0aGUgY2FsbCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGRlbGV0ZSBvLmFycjsKICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7CiAgICAgICAgfQoKICAgICAgICB2YXIgbyA9IG5ldyBPYmplY3QoKTsKICAgICAgICBvLmFyciA9IFsnMScsIDIsIDMsIDQsIDVdOwogICAgICAgIHJldHVybiBvLmFyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09ICIxMjM0NSIgJiYgIW8uaGFzT3duUHJvcGVydHkoImFyciIpOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cn0pOwo=","id":"15.4.4.21-9-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIG5vIG9ic2VydmFibGUgZWZmZWN0cyBvY2N1ciBpZiAnbGVuJyBpcyAwIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgdmFyIGNhbGxiYWNrQWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgewogICAgICAgICAgICBjYWxsYmFja0FjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMCB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMTA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0sICJpbml0aWFsVmFsdWUiKTsKICAgICAgICByZXR1cm4gIWFjY2Vzc2VkICYmICFjYWxsYmFja0FjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIG1vZGlmaWNhdGlvbnMgdG8gbGVuZ3RoIGRvbid0IGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucyBpbiBzdGVwIDkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAgICAgIHZhciBjYWxsZWQgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgY2FsbGVkKys7CiAgICAgICAgICAgIHJldHVybiBhY2N1bSArIHZhbDsKICAgICAgICB9CgogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHZhciBuZXdBY2N1bSA9IGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOwoKICAgICAgICByZXR1cm4gbmV3QWNjdW0gPT09ICJpbml0aWFsVmFsdWUwMSIgJiYgY2FsbGVkID09PSAyOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOS1iLTEiLAoKcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMS5qcyIsCgpkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsdmFsdWUgd2hlbiBBcnJheSBpcyBlbXB0eSBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAogCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQogIHsKICB9CgogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOwoKICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4sNSkgPT09IDUpCiAgICAgIHJldHVybiB0cnVlOyAgCgogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-9-b-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0xMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDI6IDIsIGxlbmd0aDogMjAgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbM107CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbM10gPSAxOwogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbM107CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-b-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0xMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBhcnIgPSBbLCAsICwgM107CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsKICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmICFbLCAxXS5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-b-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0xMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDExMSwgNDogMTAsIGxlbmd0aDogMTAgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOwogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-b-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0xMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdmFyIGFyciA9IFswLCAxMTFdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOwogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOwogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-b-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0xNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGluIHN0ZXAgOCBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7CgogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-b-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0xNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGluIHN0ZXAgOCBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAicHJvdG90eXBlIikgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7CiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOwoKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-b-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0xNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGluIHN0ZXAgOCBkb2VzIG5vdCBkZWxldGUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInVuY29uZmlndXJhYmxlIikgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlCiAgICAgICAgfSk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOwogICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOwoKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-b-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0xNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAzICYmIHZhbCA9PT0gMykgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNSB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMyIsIHsKICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-b-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0xOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7CiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-b-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0xOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHByb3BlcnRpZXMgYWRkZWQgdG8gcHJvdG90eXBlIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNiB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7CiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5OwogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOwogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-b-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0yIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0yLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gIjIiKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHt9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIG9ialsyXSA9ICIyIjsKICAgICAgICAgICAgICAgIHJldHVybiAzOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOwoKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-b-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0yMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgewogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOwogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgIVssIDFdLmhhc093blByb3BlcnR5KDApICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-b-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0yMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgNTogMTAsIGxlbmd0aDogMTAgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-b-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0yMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCA0XTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-b-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0yMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIE9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIGlmIChpZHggPT09IDMpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVszXSA9IDE7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbM107CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-b-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0yNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGFyciA9IFswLCAsICwgM107CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsKICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7CiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiAhWywgMV0uaGFzT3duUHJvcGVydHkoMCkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-b-24"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0yNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMTExLCA0OiAxMCwgbGVuZ3RoOiAxMCB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOwogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-b-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0yNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMV07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7CiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOwogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-b-26"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0yNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7CgogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-b-27"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0yOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJwcm90b3R5cGUiKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG90eXBlIjsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOwoKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-b-28"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0yOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAidW5jb25maWd1cmFibGUiKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuICJ1bmNvbmZpZ3VyYWJsZSI7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UKICAgICAgICB9KTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7CiAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOwoKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-b-29"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi0zIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0zLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7CgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDI6ICIyIiwgMzogMTAgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzJdOwogICAgICAgICAgICAgICAgcmV0dXJuIDU7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7CgogICAgICAgIHJldHVybiBhY2Nlc3NlZCAmJiB0ZXN0UmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-b-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi00IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDMgJiYgdmFsID09PSAzKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiA1IH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIzIiwgewogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzsKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-b-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi01IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsKICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-b-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi02IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi02LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiA2IH07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsKICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-b-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi03IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi03LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsKICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOwogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgIVssIDFdLmhhc093blByb3BlcnR5KDApICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-b-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi04IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi04LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyA1OiAxMCwgbGVuZ3RoOiAxMCB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-b-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYi05IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi05LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDRdOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-b-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOS1jLTEiLAoKcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtMS5qcyIsCgpkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAogCiAgdmFyIGNhbGxDbnQgPSAwOwogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikKICB7CiAgICBjYWxsQ250Kys7CiAgICByZXR1cm4gY3VyVmFsOwogIH0KCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7CiAgYXJyWzBdID0gYXJyWzFdID0gdW5kZWZpbmVkOyAvL2V4cGxpY2l0bHkgYXNzaWduaW5nIGEgdmFsdWUKICBpZiggYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gdW5kZWZpbmVkICYmIGNhbGxDbnQgPT09IDEpCiAgICByZXR1cm4gdHJ1ZTsgICAgCiB9LAoKcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogfQp9KTsK","id":"15.4.4.21-9-c-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTEiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS1jLWktMS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMiB9OwogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KfSk7Cg==","id":"15.4.4.21-9-c-i-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTEwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTEwLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-i-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTExIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTExLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjExIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSwgMjogMiB9OwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-i-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTEyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTEyLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjExIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7CiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLDJdOwoKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7CiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjExIjsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwoKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-i-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTEzIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTEzLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjExIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMjogMn07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjEiLCB7CiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-i-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTE0IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTE0LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxMSIpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLDJdOwoKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7CiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjExIjsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CgogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-i-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTE1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTE1LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMjogMiB9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKICAgICAgICBjaGlsZC5sZW5ndGggPSAzOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uT2JqZWN0cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-i-15"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTE2IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTE2LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDIsIF07CgogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwoKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgIVssIDFdLmhhc093blByb3BlcnR5KDApICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-i-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTE3IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTE3LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7CiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-i-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTE4IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTE4LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgICAgICAgCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-i-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTE5IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTE5LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gdW5kZWZpbmVkKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgewogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMjogMiwgbGVuZ3RoOiAzIH07CgogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsKICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-i-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTIiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS1jLWktMi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBhcnIgPSBbMCwgMV07CiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cn0pOwo=","id":"15.4.4.21-9-c-i-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTIwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTIwLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gdW5kZWZpbmVkKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7CiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOwogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsKICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOwogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKCiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-i-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTIxIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTIxLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDI6IDIgfTsKCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsKICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9OwogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsKCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOwogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7CgogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25PYmplY3RzKCk7CiAgICB9Cn0pOwo=","id":"15.4.4.21-9-c-i-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTIyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTIyLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsKICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOwoKICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOwogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKCiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmICFbLCAxXS5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-i-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTIzIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTIzLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eSIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOwogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMDsKICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDE7CiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsKCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOwogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKCiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07CiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOwogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KfSk7Cg==","id":"15.4.4.21-9-c-i-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTI1IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTI1LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgfTsKCiAgICAgICAgZnVuYygwLCAxKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-i-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTI2IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTI2LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDIpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgfTsKCiAgICAgICAgZnVuYygwLCAxLCAyKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-i-26"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTI3IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTI3LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMykgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDMpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgfTsKCiAgICAgICAgZnVuYygwLCAxLCAyLCAzKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-i-27"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTI4IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTI4LmpzIiwKICAgIAogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAiMSIpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7CiAgICAgCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKHN0ciwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgICAgICAKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7","id":"15.4.4.21-9-c-i-28"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTI5IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTI5LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7CiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7CiAgICAgICAgICAgIHJldHVybiBhICsgYiArIGM7CiAgICAgICAgfTsKICAgICAgICBvYmpbMF0gPSAwOwogICAgICAgIG9ialsxXSA9IDE7CiAgICAgICAgb2JqWzJdID0gMjsKICAgICAgICBvYmpbM10gPSAzOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTs=","id":"15.4.4.21-9-c-i-29"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTMiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS1jLWktMy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjExIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAyIH07CiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKICAgICAgICBjaGlsZFsxXSA9ICIxMSI7CiAgICAgICAgY2hpbGRbMl0gPSAiMjIiOwogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7CgogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsKICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KfSk7Cg==","id":"15.4.4.21-9-c-i-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTMwIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTMwLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBhcnIgPSBbLCAsIDJdOwogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbkFycmF5cygpOwogICAgfQoKfSk7","id":"15.4.4.21-9-c-i-30"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTMxIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTMxLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDI6IDIsIGxlbmd0aDogMyB9OwogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjExIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CgogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOw==","id":"15.4.4.21-9-c-i-31"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTMyIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTMyLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID49IDEpIHsKICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID49IDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQgJiYgIXRlc3RSZXN1bHQ7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-i-32"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTMzIiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTMzLmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID49IDEpIHsKICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID49IDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07CgogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICB0cnkgewogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9IGNhdGNoIChleCkgewogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkICYmICF0ZXN0UmVzdWx0OwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpICYmIGZuRXhpc3RzKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgJiYgZm5TdXBwb3J0c0FycmF5SW5kZXhHZXR0ZXJzT25BcnJheXMoKTsKICAgIH0KCn0pOw==","id":"15.4.4.21-9-c-i-33"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTQiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS1jLWktNC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9ICIzIjsKICAgICAgICAgICAgWzAsIDEsIDJdLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOwogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOwogICAgICAgIH0KICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-i-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTUiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS1jLWktNS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICI5Iik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHt9OwoKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgewogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUKICAgICAgICB9KTsKCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKICAgICAgICBjaGlsZC5sZW5ndGggPSAyOwogICAgICAgIAogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7CiAgICAgICAgICAgIHZhbHVlOiAiOSIsCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQogICAgICAgIH0pOwoKICAgICAgICBjaGlsZFsxXSA9ICIxIjsKCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOwogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOw==","id":"15.4.4.21-9-c-i-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTYiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS1jLWktNi5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAiOSI7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0OwoKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOwogICAgICAgIH0KCiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiBmbkV4aXN0cyhPYmplY3QuZGVmaW5lUHJvcGVydHkpICYmIGZuU3VwcG9ydHNBcnJheUluZGV4R2V0dGVyc09uQXJyYXlzKCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-i-6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTciLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS1jLWktNy5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAzIH07CiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsKICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87CgogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsKICAgICAgICBjaGlsZC5sZW5ndGggPSAzOwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-i-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTgiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS1jLWktOC5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOwogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDA7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDI7CiAgICAgICAgICAgIFssICwgLCBdLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOwoKICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsKICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsKICAgICAgICB9CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKSAmJiAhWywgMV0uaGFzT3duUHJvcGVydHkoMCk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-i-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1pLTkiLAoKICAgIHBhdGg6ICJUZXN0Q2FzZXMvY2hhcHRlcjE1LzE1LjQvMTUuNC40LzE1LjQuNC4yMS8xNS40LjQuMjEtOS1jLWktOS5qcyIsCgogICAgZGVzY3JpcHRpb246ICJBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsKICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgewogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsKICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlCiAgICAgICAgfSk7CgogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7CiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7CgogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkgJiYgZm5FeGlzdHMoT2JqZWN0LmRlZmluZVByb3BlcnR5KSAmJiBmblN1cHBvcnRzQXJyYXlJbmRleEdldHRlcnNPbk9iamVjdHMoKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-i-9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOS1jLWlpLTEiLAoKcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMS5qcyIsCgpkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoaW5pdGlhbHZhbHVlIG5vdCBwYXNzZWQpIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKIAogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikKICB7CiAgICBpZihpZHggPiAwICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgb2JqW2lkeC0xXSA9PT0gcHJldlZhbCkKICAgICAgcmV0dXJuIGN1clZhbDsKICAgIGVsc2UgCiAgICAgIHJldHVybiBmYWxzZTsKICB9CgogIHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsKICBpZiggYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gImZpdmUiKSAKICAgIHJldHVybiB0cnVlOwogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-9-c-ii-1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0xMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMSBmb3JtYWwgcGFyYW1ldGVyIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCkgewogICAgICAgICAgICByZXN1bHQgPSAocHJldlZhbCA9PT0gMSk7CiAgICAgICAgfQoKICAgICAgICBbMTFdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsKICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-ii-10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0xMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMiBmb3JtYWwgcGFyYW1ldGVyIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsKSB7CiAgICAgICAgICAgIHJlc3VsdCA9IChjdXJWYWwgPiAxMCAmJiAxID09PSBwcmV2VmFsKTsKICAgICAgICB9CgogICAgICAgIFsxMV0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOwogICAgICAgIHJldHVybiByZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-ii-11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0xMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMyBmb3JtYWwgcGFyYW1ldGVyIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgpIHsKICAgICAgICAgICAgcmVzdWx0ID0gKHByZXZWYWwgPT09IDEgJiYgYXJndW1lbnRzWzNdW2lkeF0gPT09IGN1clZhbCk7CiAgICAgICAgfQoKICAgICAgICBbMTFdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsKICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-ii-12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0xMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggNCBmb3JtYWwgcGFyYW1ldGVyIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICByZXN1bHQgPSAocHJldlZhbCA9PT0gMSAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsKTsKICAgICAgICB9CgogICAgICAgIFsxMV0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOwogICAgICAgIHJldHVybiByZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-ii-13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0xNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxiYWNrZm4gdGhhdCB1c2VzIGFyZ3VtZW50cyIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgewogICAgICAgICAgICByZXN1bHQgPSAoYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50c1szXVthcmd1bWVudHNbMl1dID09PSBhcmd1bWVudHNbMV0pOwogICAgICAgIH0KCiAgICAgICAgWzExXS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSk7CiAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-ii-14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0xNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIG5vbi1pbmRleGVkIHByb3BlcnRpZXMgYXJlIG5vdCBjYWxsZWQiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgcmVzdWx0MSA9IHRydWU7CiAgICAgICAgdmFyIHJlc3VsdDIgPSB0cnVlOwoKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICBpZiAoY3VyVmFsID09PSA4KSB7CiAgICAgICAgICAgICAgICByZXN1bHQxID0gZmFsc2U7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChwcmV2VmFsID09PSA4KSB7CiAgICAgICAgICAgICAgICByZXN1bHQyID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxMDogMTIsIG5vbl9pbmRleF9wcm9wZXJ0eTogOCwgbGVuZ3RoOiAyMCB9OwoKICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsKICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-ii-16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0xNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdhY2N1bXVsYXRvcicgdXNlZCBmb3IgY3VycmVudCBpdGVyYXRpb24gaXMgdGhlIHJlc3VsdCBvZiBwcmV2aW91cyBpdGVyYXRpb24gb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICB2YXIgcHJlSXRlcmF0aW9uID0gMTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICBpZiAocHJlSXRlcmF0aW9uICE9PSBwcmV2VmFsKSB7CiAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBwcmVJdGVyYXRpb24gPSBjdXJWYWw7CiAgICAgICAgICAgIHJldHVybiBjdXJWYWw7CiAgICAgICAgfQoKICAgICAgICBbMTEsIDEyLCAxM10ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOwogICAgICAgIHJldHVybiByZXN1bHQgJiYgYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-ii-17"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0xOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdhY2N1bXVsYXRvcicgdXNlZCBmb3IgZmlyc3QgaXRlcmF0aW9uIGlzIHRoZSB2YWx1ZSBvZiAnaW5pdGlhbFZhbHVlJyB3aGVuIGl0IGlzIHByZXNlbnQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsKICAgICAgICAgICAgICAgIHJlc3VsdCA9IChhcmd1bWVudHNbMF0gPT09IDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiAyIH07CgogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOwogICAgICAgIHJldHVybiByZXN1bHQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-ii-18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0xOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdhY2N1bXVsYXRvcicgdXNlZCBmb3IgZmlyc3QgaXRlcmF0aW9uIGlzIHRoZSB2YWx1ZSBvZiBsZWFzdCBpbmRleCBwcm9wZXJ0eSB3aGljaCBpcyBub3QgdW5kZWZpbmVkIHdoZW4gJ2luaXRpYWxWYWx1ZScgaXMgbm90IHByZXNlbnQgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgY2FsbGVkID0gMDsKICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGNhbGxlZCsrOwogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICByZXN1bHQgPSAocHJldlZhbCA9PT0gMTEpICYmIGN1clZhbCA9PT0gOTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgWzExLCA5XS5yZWR1Y2UoY2FsbGJhY2tmbik7CiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBjYWxsZWQgPT09IDE7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-ii-19"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOS1jLWlpLTIiLAoKcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMi5qcyIsCgpkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoaW5pdGlhbHZhbHVlIHBhc3NlZCkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7IAogCiAgdmFyIGJQYXJDb3JyZWN0ID0gZmFsc2U7CiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQogIHsKICAgIGlmKGlkeCA9PT0gMCAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsICYmIHByZXZWYWwgPT09IGluaXRpYWxWYWx1ZSkKICAgICAgcmV0dXJuIGN1clZhbDsKICAgIGVsc2UgaWYoaWR4ID4gMCAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsICYmIG9ialtpZHgtMV0gPT09IHByZXZWYWwpCiAgICAgIHJldHVybiBjdXJWYWw7CiAgICBlbHNlCiAgICAgIHJldHVybiBmYWxzZTsKICB9CgogIHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsKICB2YXIgaW5pdGlhbFZhbHVlID0gNS41OwogIGlmKCBhcnIucmVkdWNlKGNhbGxiYWNrZm4saW5pdGlhbFZhbHVlKSA9PT0gImZpdmUiKSAKICAgIHJldHVybiB0cnVlOwogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-9-c-ii-2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0yMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHVuZGVmaW5lZCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCI7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB1bmRlZmluZWQpID09PSB0cnVlICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-ii-20"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0yMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIG51bGwgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3IiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gbnVsbDsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIG51bGwpID09PSB0cnVlICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-ii-21"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0yMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGJvb2xlYW4gcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZmFsc2UpID09PSB0cnVlICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-ii-22"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0yMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIG51bWJlciBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3IiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gMTI7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMikgPT09IHRydWUgJiYgYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-ii-23"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0yNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHN0cmluZyBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3IiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gImhlbGxvXyI7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG9fIikgPT09IHRydWUgJiYgYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-ii-24"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0yNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIEZ1bmN0aW9uIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmpGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IG9iakZ1bmN0aW9uOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqRnVuY3Rpb24pID09PSB0cnVlICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-ii-25"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0yNiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjYuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIEFycmF5IG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmpBcnJheSA9IG5ldyBBcnJheSgxMCk7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpBcnJheTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iakFycmF5KSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-ii-26"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0yNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIFN0cmluZyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3IiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqU3RyaW5nID0gbmV3IFN0cmluZygpOwoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqU3RyaW5nOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqU3RyaW5nKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-ii-27"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0yOCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjguanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIEJvb2xlYW4gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iakJvb2xlYW4gPSBuZXcgQm9vbGVhbigpOwoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqQm9vbGVhbjsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iakJvb2xlYW4pID09PSB0cnVlICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-ii-28"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0yOSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjkuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIE51bWJlciBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3IiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqTnVtYmVyID0gbmV3IE51bWJlcigpOwoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqTnVtYmVyOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqTnVtYmVyKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-ii-29"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOS1jLWlpLTMiLAoKcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMy5qcyIsCgpkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIHRha2VzIDQgYXJndW1lbnRzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKIAogIHZhciBiQ2FsbGVkID0gZmFsc2U7CiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQogIHsgCiAgICBiQ2FsbGVkID0gdHJ1ZTsKICAgIGlmKHByZXZWYWwgPT09IHRydWUgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gNCkgICAKICAgICAgcmV0dXJuIHRydWU7CiAgICBlbHNlCiAgICAgIHJldHVybiBmYWxzZTsKICB9CiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsKICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4sdHJ1ZSkgPT09IHRydWUgJiYgYkNhbGxlZCA9PT0gdHJ1ZSkKICAgIHJldHVybiB0cnVlOwogfSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKIH0KfSk7Cg==","id":"15.4.4.21-9-c-ii-3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0zMCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzAuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBNYXRoIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBNYXRoOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgTWF0aCkgPT09IHRydWUgJiYgYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-ii-30"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0zMSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzEuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIERhdGUgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIG9iakRhdGUgPSBuZXcgRGF0ZSgpOwoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqRGF0ZTsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iakRhdGUpID09PSB0cnVlICYmIGFjY2Vzc2VkOwogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-ii-31"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0zMiIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzIuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIFJlZ0V4cCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3IiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgb2JqUmVnRXhwID0gbmV3IFJlZ0V4cCgpOwoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsKICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqUmVnRXhwOwogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9OwoKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqUmVnRXhwKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-ii-32"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0zMyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzMuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBKU09OIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IEpTT047CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBKU09OKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-ii-33"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0zNCIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzQuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIEVycm9yIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBvYmpFcnJvciA9IG5ldyBSYW5nZUVycm9yKCk7CgogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpFcnJvcjsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iakVycm9yKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-ii-34"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0zNSIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzUuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBBcmd1bWVudHMgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgdmFyIGFyZzsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGFyZzsKICAgICAgICB9CgogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsKCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsKICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOwogICAgICAgIH0oMTAsIDExLCAxMiwgMTMpKTsKCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGFyZykgPT09IHRydWUgJiYgYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-ii-35"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS0zNyIsCgogICAgcGF0aDogIlRlc3RDYXNlcy9jaGFwdGVyMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzcuanMiLAoKICAgIGRlc2NyaXB0aW9uOiAiQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBnbG9iYWwgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7CiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGZuR2xvYmFsT2JqZWN0KCk7CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07CgogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBmbkdsb2JhbE9iamVjdCgpKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-ii-37"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICIxNS40LjQuMjEtOS1jLWlpLTQtcyIsCgpwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEtOS1jLWlpLTQtcy5qcyIsCgpkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bmRlZmluZWQgcGFzc2VkIGFzIHRoaXNWYWx1ZSB0byBzdHJpY3QgY2FsbGJhY2tmbiIsCi8vRVM1IEVycmF0YSwgdW5kZWZpbmVkIGluIHN0ZXAgOS5jLmlpIGFzIHRoaXNWYWx1ZSBpcyBzdXBwb3NlZCB0byBiZSB1bmRlZmluZWQKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAKICB2YXIgaW5uZXJUaGlzQ29ycmVjdCA9IGZhbHNlOwogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikKICB7IAogICAgICJ1c2Ugc3RyaWN0IjsKICAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PXVuZGVmaW5lZDsKICAgICByZXR1cm4gdHJ1ZTsKICB9CiAgWzBdLnJlZHVjZShjYWxsYmFja2ZuLHRydWUpOwogIHJldHVybiBpbm5lclRoaXNDb3JyZWN0OyAgICAKIH0sCgpzdHJpY3Q6MSwKCnByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogIHJldHVybiBmblN1cHBvcnRzU3RyaWN0KCkgJiYgZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiB9Cn0pOwo=","id":"15.4.4.21-9-c-ii-4-s"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS00IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS00LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBrIHZhbHVlcyBhcmUgcGFzc2VkIGluIGFjZW5kaW5nIG51bWVyaWMgb3JkZXIgb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOwogICAgICAgIHZhciBsYXN0SWR4ID0gMDsKICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsKICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgewogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBsYXN0SWR4Kys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgMTEpOwogICAgICAgIHJldHVybiByZXN1bHQgJiYgYWNjZXNzZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-ii-4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS01IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS01LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBrIHZhbHVlcyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIGFuZCBub3QgcHJpb3IgdG8gc3RhcnRpbmcgdGhlIGxvb3Agb24gYW4gQXJyYXkiLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICAgICAgICB2YXIga0luZGV4ID0gW107CiAgICAgICAgdmFyIGNhbGxlZCA9IDA7CgogICAgICAgIC8vQnkgYmVsb3cgd2F5LCB3ZSBjb3VsZCB2ZXJpZnkgdGhhdCBrIHdvdWxkIGJlIHNldHRlZCBhcyAwLCAxLCAuLi4sIGxlbmd0aCAtIDEgaW4gb3JkZXIsIGFuZCBlYWNoIHZhbHVlIHdpbGwgYmUgc2V0dGVkIG9uZSB0aW1lLgogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICAvL0VhY2ggcG9zaXRpb24gc2hvdWxkIGJlIHZpc2l0ZWQgb25lIHRpbWUsIHdoaWNoIG1lYW5zIGsgaXMgYWNjZXNzZWQgb25lIHRpbWUgZHVyaW5nIGl0ZXJhdGlvbnMuCiAgICAgICAgICAgIGNhbGxlZCsrOwogICAgICAgICAgICBpZiAodHlwZW9mIGtJbmRleFtpZHhdID09PSAidW5kZWZpbmVkIikgewogICAgICAgICAgICAgICAgLy93aGVuIGN1cnJlbnQgcG9zaXRpb24gaXMgdmlzaXRlZCwgaXRzIHByZXZpb3VzIGluZGV4IHNob3VsZCBoYXMgYmVlbiB2aXNpdGVkLgogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gMCAmJiB0eXBlb2Yga0luZGV4W2lkeCAtIDFdID09PSAidW5kZWZpbmVkIikgewogICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIFsxMSwgMTIsIDEzLCAxNF0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOwoKICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGNhbGxlZCA9PT0gNDsKICAgIH0sCgoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-ii-5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS03IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS03LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBjYWxsYmFja2ZuIHRlcm1pbmF0ZSBpdGVyYXRpb24iLAoKICAgIHRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewoKICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsKCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7CiAgICAgICAgICAgIGlmIChpZHggPiAwKSB7CiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gb2NjdXJyZWQgaW4gY2FsbGJhY2tmbiIpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgNDogMTAsIDEwOiA4LCBsZW5ndGg6IDIwIH07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIEVycm9yKSAmJiAhYWNjZXNzZWQ7CiAgICAgICAgfQogICAgfSwKCiAgICBwcmVjb25kaXRpb246IGZ1bmN0aW9uIHByZXJlcSgpIHsKICAgICAgICByZXR1cm4gZm5FeGlzdHMoQXJyYXkucHJvdG90eXBlLnJlZHVjZSk7CiAgICB9Cgp9KTsK","id":"15.4.4.21-9-c-ii-7"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS04IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS04LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgY2FsbGJhY2tmbiBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIiwKCiAgICB0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgewogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7CiAgICAgICAgICAgICAgICBvYmpbaWR4ICsgMV0gPSA4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7CiAgICAgICAgICAgICAgICByZXN1bHQgPSAoY3VyVmFsID09PSA4KTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsKCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7CiAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgIH0sCgogICAgcHJlY29uZGl0aW9uOiBmdW5jdGlvbiBwcmVyZXEoKSB7CiAgICAgICAgcmV0dXJuIGZuRXhpc3RzKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpOwogICAgfQoKfSk7Cg==","id":"15.4.4.21-9-c-ii-8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoewoKICAgIGlkOiAiMTUuNC40LjIxLTktYy1paS05IiwKCiAgICBwYXRoOiAiVGVzdENhc2VzL2NoYXB0ZXIxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS05LmpzIiwKCiAgICBkZXNjcmlwdGlvbjogIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDAgZm9ybWFsIHBhcmFtZXRlciIsCgogICAgdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CgogICAgICAgIHZhciBjYWxsZWQgPSAwOwogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7CiAgICAgICAgICAgIGNhbGxlZCsrOwogICAgICAgIH0KCiAgICAgICAgWzExLCAxMl0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOwogICAgICAgIHJldHVybiAyID09PSBjYWxsZWQ7CiAgICB9LAoKICAgIHByZWNvbmRpdGlvbjogZnVuY3Rpb24gcHJlcmVxKCkgewogICAgICAgIHJldHVybiBmbkV4aXN0cyhBcnJheS5wcm90b3R5cGUucmVkdWNlKTsKICAgIH0KCn0pOwo=","id":"15.4.4.21-9-c-ii-9"}]}} |