{
    "id": "event_39d66e00c53b46e4",
    "timestamp": 1778274837,
    "branch_id": "main",
    "parent_event_id": "event_bb1946de47cf64e0",
    "type": "patch_apply",
    "label": "Unifier le comptage stats avec cuisine",
    "source": "patch",
    "author": "CNOC",
    "session_id": "43305eb2706f6eee2531a5a173355a18",
    "payload": [
        {
            "path": "stats/_lib/orderStatsAggregator.php",
            "kind": "file",
            "before": {
                "exists": false
            },
            "after": {
                "exists": true,
                "kind": "file",
                "size": 6911,
                "sha1": "d9a1adb6840f3bce0091dbd588b147336c1f915e",
                "content_b64": "PD9waHAKZGVjbGFyZShzdHJpY3RfdHlwZXM9MSk7CgovKiBkb2MtcHJvamVjdCB8IHN0YXRzL19saWIvb3JkZXJTdGF0c0FnZ3JlZ2F0b3IucGhwIHwgQ2VudHJhbGlzZSBs4oCZYWdyw6lnYXRpb24gcXVvdGlkaWVubmUgZGVzIGNvbW1hbmRlcyBzdGF0aXN0aXF1ZXMgYXZlYyBsZXMgbcOqbWVzIHLDqGdsZXMgZGUgY29tcHRhZ2UgcGl6emFzIHF1ZSBjdWlzaW5lL2NhaXNzZSwgZW4gZmlsdHJhbnQgbGVzIGNvbW1hbmRlcyBmaW5hbGlzw6llcyBldCBlbiBib3JuYW50IGxlcyBqb3VybsOpZXMgZW4gZnVzZWF1IEV1cm9wZS9QYXJpcy4gfCBFeHBvc2U6IHN0YXRzTm9ybWFsaXplU3RvcmVTdWZmaXgsIHN0YXRzRGF5Qm91bmRzTXMsIHN0YXRzRmV0Y2hTdG9yZURhaWx5VG90YWxzLCBzdGF0c1Vwc2VydERhaWx5RXZlbnQgfCBEw6lwZW5kIGRlOiBQRE8sIERhdGVUaW1lSW1tdXRhYmxlLCBEYXRlVGltZVpvbmUsIHBvc19jb21tYW5kZXMsIHBvc19jb21tYW5kZXNfcGVsLCBwb3NfcGl6emFzX2NvbW1hbmRlZXMsIHBvc19waXp6YXNfY29tbWFuZGVlc19wZWwsIHBvc19tb2RpZnNfcGl6emFzLCBwb3NfbW9kaWZzX3Bpenphc19wZWwsIHBvc19waXp6YXMsIHBvc19ldmVudHMgfCBJbXBhY3RlOiBhZ3LDqWdhdHMgcG9zX2V2ZW50cywgY29ow6lyZW5jZSBkZXMgdG90YXV4IHN0YXRzIGF2ZWMgY2Fpc3NlL2N1aXNpbmUgfCBUYWJsZXM6IHBvc19jb21tYW5kZXMoaWQsaWRfZGF0ZSxoZXVyZV9wcmVwYSxzdGF0dXQpLCBwb3NfY29tbWFuZGVzX3BlbChpZCxpZF9kYXRlLGhldXJlX3ByZXBhLHN0YXR1dCksIHBvc19waXp6YXNfY29tbWFuZGVlcyhpZCxpZF9wb3NfY29tbWFuZGVzLGlkX3Bvc19waXp6YXMpLCBwb3NfcGl6emFzX2NvbW1hbmRlZXNfcGVsKGlkLGlkX3Bvc19jb21tYW5kZXNfcGVsLGlkX3Bvc19waXp6YXMpLCBwb3NfbW9kaWZzX3BpenphcyhpZF9wb3NfcGl6emFzX2NvbW1hbmRlZXMsZGF0YV9wcmljZSksIHBvc19tb2RpZnNfcGl6emFzX3BlbChpZF9wb3NfcGl6emFzX2NvbW1hbmRlZXNfcGVsLGRhdGFfcHJpY2UpLCBwb3NfcGl6emFzKGlkLGJhc2UscHJpY2VfbGFyZ2UpLCBwb3NfZXZlbnRzKGRhdGUsbW9udGFudF90b3RhbF9wZWxpc3Nhbm5lLG1vbnRhbnRfdG90YWxfbGFuY29uLG5vbWJyZV9wZWxpc3Nhbm5lLG5vbWJyZV9sYW5jb24pICovCgpmdW5jdGlvbiBzdGF0c05vcm1hbGl6ZVN0b3JlU3VmZml4KHN0cmluZyAkc3VmZml4KTogYXJyYXkgewogICAgaWYgKCRzdWZmaXggPT09ICdfcGVsJykgewogICAgICAgIHJldHVybiBbCiAgICAgICAgICAgICdvcmRlcnNfdGFibGUnID0+ICdwb3NfY29tbWFuZGVzX3BlbCcsCiAgICAgICAgICAgICdsaW5lc190YWJsZScgPT4gJ3Bvc19waXp6YXNfY29tbWFuZGVlc19wZWwnLAogICAgICAgICAgICAnbGluZV9vcmRlcl9maycgPT4gJ2lkX3Bvc19jb21tYW5kZXNfcGVsJywKICAgICAgICAgICAgJ21vZGlmc190YWJsZScgPT4gJ3Bvc19tb2RpZnNfcGl6emFzX3BlbCcsCiAgICAgICAgICAgICdtb2RpZl9saW5lX2ZrJyA9PiAnaWRfcG9zX3Bpenphc19jb21tYW5kZWVzX3BlbCcsCiAgICAgICAgXTsKICAgIH0KCiAgICBpZiAoJHN1ZmZpeCA9PT0gJycpIHsKICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAnb3JkZXJzX3RhYmxlJyA9PiAncG9zX2NvbW1hbmRlcycsCiAgICAgICAgICAgICdsaW5lc190YWJsZScgPT4gJ3Bvc19waXp6YXNfY29tbWFuZGVlcycsCiAgICAgICAgICAgICdsaW5lX29yZGVyX2ZrJyA9PiAnaWRfcG9zX2NvbW1hbmRlcycsCiAgICAgICAgICAgICdtb2RpZnNfdGFibGUnID0+ICdwb3NfbW9kaWZzX3BpenphcycsCiAgICAgICAgICAgICdtb2RpZl9saW5lX2ZrJyA9PiAnaWRfcG9zX3Bpenphc19jb21tYW5kZWVzJywKICAgICAgICBdOwogICAgfQoKICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ1N1ZmZpeGUgbWFnYXNpbiBpbnZhbGlkZS4nKTsKfQoKZnVuY3Rpb24gc3RhdHNEYXlCb3VuZHNNcyhzdHJpbmcgJGRhdGUpOiBhcnJheSB7CiAgICBpZiAoIXByZWdfbWF0Y2goJy9eXGR7NH0tXGR7Mn0tXGR7Mn0kLycsICRkYXRlKSkgewogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0RhdGUgaW52YWxpZGUuJyk7CiAgICB9CgogICAgJHR6ID0gbmV3IERhdGVUaW1lWm9uZSgnRXVyb3BlL1BhcmlzJyk7CiAgICAkZGF5ID0gRGF0ZVRpbWVJbW11dGFibGU6OmNyZWF0ZUZyb21Gb3JtYXQoJyFZLW0tZCcsICRkYXRlLCAkdHopOwogICAgaWYgKCEkZGF5IHx8ICRkYXktPmZvcm1hdCgnWS1tLWQnKSAhPT0gJGRhdGUpIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCdEYXRlIGludmFsaWRlLicpOwogICAgfQoKICAgICRzdGFydCA9ICRkYXktPnNldFRpbWUoMCwgMCwgMCk7CiAgICAkZW5kID0gJGRheS0+c2V0VGltZSgyMywgNTksIDU5KTsKCiAgICByZXR1cm4gWwogICAgICAgICgoaW50KSRzdGFydC0+Zm9ybWF0KCdVJykpICogMTAwMCwKICAgICAgICAoKGludCkkZW5kLT5mb3JtYXQoJ1UnKSkgKiAxMDAwICsgOTk5LAogICAgXTsKfQoKZnVuY3Rpb24gc3RhdHNGZXRjaFN0b3JlRGFpbHlUb3RhbHMoUERPICRwZG8sIHN0cmluZyAkZGF0ZSwgc3RyaW5nICRzdWZmaXgpOiBhcnJheSB7CiAgICBbJHN0YXJ0TXMsICRlbmRNc10gPSBzdGF0c0RheUJvdW5kc01zKCRkYXRlKTsKICAgICRjZmcgPSBzdGF0c05vcm1hbGl6ZVN0b3JlU3VmZml4KCRzdWZmaXgpOwoKICAgICRvcmRlcnNUYWJsZSA9ICRjZmdbJ29yZGVyc190YWJsZSddOwogICAgJGxpbmVzVGFibGUgPSAkY2ZnWydsaW5lc190YWJsZSddOwogICAgJGxpbmVPcmRlckZrID0gJGNmZ1snbGluZV9vcmRlcl9mayddOwogICAgJG1vZGlmc1RhYmxlID0gJGNmZ1snbW9kaWZzX3RhYmxlJ107CiAgICAkbW9kaWZMaW5lRmsgPSAkY2ZnWydtb2RpZl9saW5lX2ZrJ107CgogICAgLyoKICAgICAqIEFsaWduZW1lbnQgdm9sb250YWlyZSBhdmVjIGN1aXNpbmUvY2Fpc3NlOgogICAgICogLSBjb21tYW5kZSBmaW5hbGlzw6llOiBpZF9kYXRlIG5vbiBudWxsOwogICAgICogLSBleGNsdXNpb24gZGVzIHN0YXR1dHMgbm9uIHByb2R1Y3RpZnM7CiAgICAgKiAtIGNvbXB0YWdlIHBpenphIHBhciBiYXNlIGNhdGFsb2d1ZSwgY29tbWUgcmVjYXBPcmRlcnMvc2xvdEJhZGdlcywKICAgICAqICAgcGFzIHBhciBjbGFzcz0ncGl6emEnIHF1aSBlc3QgbW9pbnMgZmlhYmxlIHN1ciBs4oCZaGlzdG9yaXF1ZS4KICAgICAqLwogICAgJHNxbExpbmVzID0gIgogICAgICAgIFNFTEVDVAogICAgICAgICAgICBDT0FMRVNDRShTVU0oQ09BTEVTQ0UocC5wcmljZV9sYXJnZSwgMCkpLCAwKSBBUyBiYXNlX2Ftb3VudCwKICAgICAgICAgICAgQ09BTEVTQ0UoU1VNKAogICAgICAgICAgICAgICAgQ0FTRQogICAgICAgICAgICAgICAgICAgIFdIRU4gKAogICAgICAgICAgICAgICAgICAgICAgICBwLmJhc2UgSVMgTlVMTCBPUgogICAgICAgICAgICAgICAgICAgICAgICBMT1dFUihUUklNKHAuYmFzZSkpIE5PVCBJTiAoJ2JvaXNzb24nLCAncsOpZHVjdGlvbicsICdyZWR1Y3Rpb24nKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICBUSEVOIDEKICAgICAgICAgICAgICAgICAgICBFTFNFIDAKICAgICAgICAgICAgICAgIEVORAogICAgICAgICAgICApLCAwKSBBUyBwaXp6YXNfY291bnQKICAgICAgICBGUk9NIHskbGluZXNUYWJsZX0gcGMKICAgICAgICBKT0lOIHskb3JkZXJzVGFibGV9IG8gT04gby5pZCA9IHBjLnskbGluZU9yZGVyRmt9CiAgICAgICAgTEVGVCBKT0lOIHBvc19waXp6YXMgcCBPTiBwLmlkID0gcGMuaWRfcG9zX3BpenphcwogICAgICAgIFdIRVJFIG8uaWRfZGF0ZSBJUyBOT1QgTlVMTAogICAgICAgICAgQU5EIChvLnN0YXR1dCBJUyBOVUxMIE9SIExPV0VSKFRSSU0oby5zdGF0dXQpKSBOT1QgSU4gKCdkZWxldGVkJywgJ3BheW1lbnRfcmVxdWlyZWQnLCAnY2FuY2VsbGVkJywgJ2NhbmNlbGVkJywgJ3JlZnVzZWQnKSkKICAgICAgICAgIEFORCBvLmhldXJlX3ByZXBhIEJFVFdFRU4gOnN0YXJ0TXMgQU5EIDplbmRNcwogICAgIjsKCiAgICAkc3RtdExpbmVzID0gJHBkby0+cHJlcGFyZSgkc3FsTGluZXMpOwogICAgJHN0bXRMaW5lcy0+YmluZFZhbHVlKCc6c3RhcnRNcycsICRzdGFydE1zLCBQRE86OlBBUkFNX0lOVCk7CiAgICAkc3RtdExpbmVzLT5iaW5kVmFsdWUoJzplbmRNcycsICRlbmRNcywgUERPOjpQQVJBTV9JTlQpOwogICAgJHN0bXRMaW5lcy0+ZXhlY3V0ZSgpOwogICAgJGxpbmVUb3RhbHMgPSAkc3RtdExpbmVzLT5mZXRjaChQRE86OkZFVENIX0FTU09DKSA/OiBbXTsKCiAgICAkc3FsTW9kaWZzID0gIgogICAgICAgIFNFTEVDVCBDT0FMRVNDRShTVU0oQ09BTEVTQ0UobS5kYXRhX3ByaWNlLCAwKSksIDApIEFTIG1vZGlmc19hbW91bnQKICAgICAgICBGUk9NIHskbW9kaWZzVGFibGV9IG0KICAgICAgICBKT0lOIHskbGluZXNUYWJsZX0gcGMgT04gcGMuaWQgPSBtLnskbW9kaWZMaW5lRmt9CiAgICAgICAgSk9JTiB7JG9yZGVyc1RhYmxlfSBvIE9OIG8uaWQgPSBwYy57JGxpbmVPcmRlckZrfQogICAgICAgIFdIRVJFIG8uaWRfZGF0ZSBJUyBOT1QgTlVMTAogICAgICAgICAgQU5EIChvLnN0YXR1dCBJUyBOVUxMIE9SIExPV0VSKFRSSU0oby5zdGF0dXQpKSBOT1QgSU4gKCdkZWxldGVkJywgJ3BheW1lbnRfcmVxdWlyZWQnLCAnY2FuY2VsbGVkJywgJ2NhbmNlbGVkJywgJ3JlZnVzZWQnKSkKICAgICAgICAgIEFORCBvLmhldXJlX3ByZXBhIEJFVFdFRU4gOnN0YXJ0TXMgQU5EIDplbmRNcwogICAgIjsKCiAgICAkc3RtdE1vZGlmcyA9ICRwZG8tPnByZXBhcmUoJHNxbE1vZGlmcyk7CiAgICAkc3RtdE1vZGlmcy0+YmluZFZhbHVlKCc6c3RhcnRNcycsICRzdGFydE1zLCBQRE86OlBBUkFNX0lOVCk7CiAgICAkc3RtdE1vZGlmcy0+YmluZFZhbHVlKCc6ZW5kTXMnLCAkZW5kTXMsIFBETzo6UEFSQU1fSU5UKTsKICAgICRzdG10TW9kaWZzLT5leGVjdXRlKCk7CiAgICAkbW9kaWZUb3RhbHMgPSAkc3RtdE1vZGlmcy0+ZmV0Y2goUERPOjpGRVRDSF9BU1NPQykgPzogW107CgogICAgJGJhc2VBbW91bnQgPSAoZmxvYXQpKCRsaW5lVG90YWxzWydiYXNlX2Ftb3VudCddID8/IDApOwogICAgJG1vZGlmc0Ftb3VudCA9IChmbG9hdCkoJG1vZGlmVG90YWxzWydtb2RpZnNfYW1vdW50J10gPz8gMCk7CgogICAgcmV0dXJuIFsKICAgICAgICAncHJpY2UnID0+IHJvdW5kKCRiYXNlQW1vdW50ICsgJG1vZGlmc0Ftb3VudCwgMiksCiAgICAgICAgJ3BpenphcycgPT4gKGludCkoJGxpbmVUb3RhbHNbJ3Bpenphc19jb3VudCddID8/IDApLAogICAgXTsKfQoKZnVuY3Rpb24gc3RhdHNVcHNlcnREYWlseUV2ZW50KFBETyAkcGRvLCBzdHJpbmcgJGRhdGUsIGFycmF5ICRwZWxpc3Nhbm5lVG90YWxzLCBhcnJheSAkbGFuY29uVG90YWxzKTogdm9pZCB7CiAgICBpZiAoIXByZWdfbWF0Y2goJy9eXGR7NH0tXGR7Mn0tXGR7Mn0kLycsICRkYXRlKSkgewogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oJ0RhdGUgaW52YWxpZGUuJyk7CiAgICB9CgogICAgJHN0bXQgPSAkcGRvLT5wcmVwYXJlKCJTRUxFQ1QgMSBGUk9NIHBvc19ldmVudHMgV0hFUkUgZGF0ZSA9IDpkYXRlIExJTUlUIDEiKTsKICAgICRzdG10LT5leGVjdXRlKFsnOmRhdGUnID0+ICRkYXRlXSk7CiAgICAkZXhpc3RzID0gKGJvb2wpJHN0bXQtPmZldGNoQ29sdW1uKCk7CgogICAgaWYgKCRleGlzdHMpIHsKICAgICAgICAkc3RtdFVwc2VydCA9ICRwZG8tPnByZXBhcmUoIgogICAgICAgICAgICBVUERBVEUgcG9zX2V2ZW50cyBTRVQKICAgICAgICAgICAgICAgIG1vbnRhbnRfdG90YWxfcGVsaXNzYW5uZSA9IDptb250YW50UGVsaXNzYW5uZSwKICAgICAgICAgICAgICAgIG1vbnRhbnRfdG90YWxfbGFuY29uID0gOm1vbnRhbnRMYW5jb24sCiAgICAgICAgICAgICAgICBub21icmVfcGVsaXNzYW5uZSA9IDpub21icmVQZWxpc3Nhbm5lLAogICAgICAgICAgICAgICAgbm9tYnJlX2xhbmNvbiA9IDpub21icmVMYW5jb24KICAgICAgICAgICAgV0hFUkUgZGF0ZSA9IDpkYXRlCiAgICAgICAgIik7CiAgICB9IGVsc2UgewogICAgICAgICRzdG10VXBzZXJ0ID0gJHBkby0+cHJlcGFyZSgiCiAgICAgICAgICAgIElOU0VSVCBJTlRPIHBvc19ldmVudHMgKAogICAgICAgICAgICAgICAgZGF0ZSwKICAgICAgICAgICAgICAgIG1vbnRhbnRfdG90YWxfcGVsaXNzYW5uZSwKICAgICAgICAgICAgICAgIG1vbnRhbnRfdG90YWxfbGFuY29uLAogICAgICAgICAgICAgICAgbm9tYnJlX3BlbGlzc2FubmUsCiAgICAgICAgICAgICAgICBub21icmVfbGFuY29uCiAgICAgICAgICAgICkgVkFMVUVTICgKICAgICAgICAgICAgICAgIDpkYXRlLAogICAgICAgICAgICAgICAgOm1vbnRhbnRQZWxpc3Nhbm5lLAogICAgICAgICAgICAgICAgOm1vbnRhbnRMYW5jb24sCiAgICAgICAgICAgICAgICA6bm9tYnJlUGVsaXNzYW5uZSwKICAgICAgICAgICAgICAgIDpub21icmVMYW5jb24KICAgICAgICAgICAgKQogICAgICAgICIpOwogICAgfQoKICAgICRzdG10VXBzZXJ0LT5leGVjdXRlKFsKICAgICAgICAnOmRhdGUnID0+ICRkYXRlLAogICAgICAgICc6bW9udGFudFBlbGlzc2FubmUnID0+IChmbG9hdCkoJHBlbGlzc2FubmVUb3RhbHNbJ3ByaWNlJ10gPz8gMCksCiAgICAgICAgJzptb250YW50TGFuY29uJyA9PiAoZmxvYXQpKCRsYW5jb25Ub3RhbHNbJ3ByaWNlJ10gPz8gMCksCiAgICAgICAgJzpub21icmVQZWxpc3Nhbm5lJyA9PiAoaW50KSgkcGVsaXNzYW5uZVRvdGFsc1sncGl6emFzJ10gPz8gMCksCiAgICAgICAgJzpub21icmVMYW5jb24nID0+IChpbnQpKCRsYW5jb25Ub3RhbHNbJ3BpenphcyddID8/IDApLAogICAgXSk7Cn0="
            }
        },
        {
            "path": "stats/fill_table.php",
            "kind": "file",
            "before": {
                "exists": true,
                "kind": "file",
                "size": 5899,
                "sha1": "89e01abc67db4d7fe9ba854c478b7ac4f52e7a32",
                "content_b64": "PD9waHAKLyogZG9jLXByb2plY3QgfCBzdGF0cy9maWxsX3RhYmxlLnBocCB8IEFncsOoZ2UgbGVzIHZlbnRlcyBldCBjb21wdGUgbGVzIHBpenphcyBwYXIgZGF0ZSBwb3VyIFDDqWxpc3Nhbm5lIGV0IExhbsOnb24sIHB1aXMgZW5yZWdpc3RyZSBsZSByw6lzdWx0YXQgZGFucyBsZXMgw6l2w6luZW1lbnRzIHN0YXRpc3RpcXVlcy4gfCBFeHBvc2U6IGNhbGN1bGF0ZU9yZGVyUHJpY2UsIGdldE9yZGVycyB8IETDqXBlbmQgZGU6IHN0YXRzL2NvbmZpZy5waHAsIHBvc19jb21tYW5kZXMsIHBvc19waXp6YXNfY29tbWFuZGVlcywgcG9zX21vZGlmc19waXp6YXMsIHBvc19waXp6YXMsIHBvc19ldmVudHMgfCBJbXBhY3RlOiBCREQgcG9zX2V2ZW50cywgY2FsY3VscyBkZSB2ZW50ZSwgcsOpcG9uc2UgQUpBWCB8IFRhYmxlczogcG9zX2NvbW1hbmRlcyhoZXVyZV9wcmVwYSwgc3RhdHV0LCBpZCksIHBvc19waXp6YXNfY29tbWFuZGVlcyhpZF9wb3NfY29tbWFuZGVzLCBpZF9wb3NfcGl6emFzLCBpZCksIHBvc19tb2RpZnNfcGl6emFzKGlkX3Bvc19waXp6YXNfY29tbWFuZGVlcywgZGF0YV9wcmljZSksIHBvc19waXp6YXMoaWQsIHByaWNlX2xhcmdlLCBjbGFzcyksIHBvc19ldmVudHMoZGF0ZSwgbW9udGFudF90b3RhbF9wZWxpc3Nhbm5lLCBtb250YW50X3RvdGFsX2xhbmNvbiwgbm9tYnJlX3BlbGlzc2FubmUsIG5vbWJyZV9sYW5jb24pICovCi8vIGZpbGxfdGFibGUucGhwCi8vIEluY2x1cmUgbGUgZmljaGllciBkZSBjb25maWd1cmF0aW9uIHBvdXIgYWNjw6lkZXIgw6AgbGEgYmFzZSBkZSBkb25uw6llcwppbmNsdWRlICdjb25maWcucGhwJzsKCi8vIFbDqXJpZmllciBxdWUgbGEgY29ubmV4aW9uIFBETyBlc3Qgw6l0YWJsaWUKaWYgKCFpc3NldCgkcGRvKSkgewogICAgZGllKCdFcnJldXIgZGUgY29ubmV4aW9uIMOgIGxhIGJhc2UgZGUgZG9ubsOpZXMuJyk7Cn0KCi8vIFLDqWN1cMOpcmVyIGxhIGRhdGUgZW52b3nDqWUgcGFyIGxlIGJvdXRvbiB2aWEgQUpBWAokZGF0ZSA9ICRfUE9TVFsnZGF0ZSddID8/IG51bGw7CgppZiAoISRkYXRlKSB7CiAgICBkaWUoJ0RhdGUgbm9uIGZvdXJuaWUuJyk7Cn0KCi8vIEZvbmN0aW9uIHBvdXIgY2FsY3VsZXIgbGUgcHJpeCBkJ3VuZSBjb21tYW5kZSBldCBjb21wdGVyIGxlIG5vbWJyZSBkZSBwaXp6YXMKZnVuY3Rpb24gY2FsY3VsYXRlT3JkZXJQcmljZSgkcGRvLCAkb3JkZXJJZCwgJHN1ZmZpeCkgewogICAgJHByaXhGaW5hbENlbnRpbWVzID0gMDsgLy8gSW5pdGlhbGlzZXIgbGUgcHJpeCB0b3RhbCBlbiBjZW50aW1lcwogICAgJHRvdGFsUGl6emFzID0gMDsgLy8gSW5pdGlhbGlzZXIgbGUgbm9tYnJlIHRvdGFsIGRlIHBpenphcwoKICAgIC8vIFLDqWN1cMOpcmVyIGxlcyBwaXp6YXMgY29tbWFuZMOpZXMgZGFucyBsYSBjb21tYW5kZSBkb25uw6llCiAgICAkc3RtdCA9ICRwZG8tPnByZXBhcmUoIlNFTEVDVCBwcGMuaWQsIHBwYy5pZF9wb3NfcGl6emFzCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEZST00gcG9zX3Bpenphc19jb21tYW5kZWVzeyRzdWZmaXh9IHBwYwogICAgICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSBwcGMuaWRfcG9zX2NvbW1hbmRlc3skc3VmZml4fSA9IDpvcmRlcklkIik7CiAgICAkc3RtdC0+ZXhlY3V0ZShbJzpvcmRlcklkJyA9PiAkb3JkZXJJZF0pOwogICAgJHBpenphc0NvbW1hbmRlID0gJHN0bXQtPmZldGNoQWxsKFBETzo6RkVUQ0hfQVNTT0MpOwoKICAgIGZvcmVhY2ggKCRwaXp6YXNDb21tYW5kZSBhcyAkcGl6emEpIHsKICAgICAgICAvLyBPYnRlbmlyIGxlIHByaXggZGUgYmFzZSBkZSBsYSBwaXp6YSBlbiBjZW50aW1lcyBldCBzYSBjbGFzc2UKICAgICAgICAkc3RtdCA9ICRwZG8tPnByZXBhcmUoIlNFTEVDVCBwcmljZV9sYXJnZSAqIDEwMCBhcyBwcmljZV9sYXJnZV9jZW50aW1lcywgY2xhc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZST00gcG9zX3BpenphcyBXSEVSRSBpZCA9IDpwaXp6YUlkIik7CiAgICAgICAgJHN0bXQtPmV4ZWN1dGUoWyc6cGl6emFJZCcgPT4gJHBpenphWydpZF9wb3NfcGl6emFzJ11dKTsKICAgICAgICAkcGl6emFEZXRhaWxzID0gJHN0bXQtPmZldGNoKFBETzo6RkVUQ0hfQVNTT0MpOwoKICAgICAgICAkYmFzZVByaWNlQ2VudGltZXMgPSAkcGl6emFEZXRhaWxzWydwcmljZV9sYXJnZV9jZW50aW1lcyddID8/IDA7CiAgICAgICAgJHByaXhGaW5hbENlbnRpbWVzICs9ICRiYXNlUHJpY2VDZW50aW1lczsKCiAgICAgICAgLy8gSW5jcsOpbWVudGVyIGxlIG5vbWJyZSB0b3RhbCBkZSBwaXp6YXMgc2kgbGEgY2xhc3NlIGVzdCAncGl6emEnCiAgICAgICAgaWYgKCRwaXp6YURldGFpbHNbJ2NsYXNzJ10gPT0gJ3BpenphJykgewogICAgICAgICAgICAkdG90YWxQaXp6YXMgKz0gMTsKICAgICAgICB9CgogICAgICAgIC8vIFLDqWN1cMOpcmVyIGV0IGFqb3V0ZXIgbGVzIHByaXggZGVzIG9wdGlvbnMgcG91ciBjZXR0ZSBwaXp6YQogICAgICAgICRzdG10ID0gJHBkby0+cHJlcGFyZSgiU0VMRUNUIGRhdGFfcHJpY2UgKiAxMDAgYXMgZGF0YV9wcmljZV9jZW50aW1lcyBGUk9NIHBvc19tb2RpZnNfcGl6emFzeyRzdWZmaXh9IFdIRVJFIGlkX3Bvc19waXp6YXNfY29tbWFuZGVlc3skc3VmZml4fSA9IDpwaXp6YUlkIik7CiAgICAgICAgJHN0bXQtPmV4ZWN1dGUoWyc6cGl6emFJZCcgPT4gJHBpenphWydpZCddXSk7CiAgICAgICAgJG9wdGlvbnMgPSAkc3RtdC0+ZmV0Y2hBbGwoUERPOjpGRVRDSF9BU1NPQyk7CgogICAgICAgIGZvcmVhY2ggKCRvcHRpb25zIGFzICRvcHRpb24pIHsKICAgICAgICAgICAgJHByaXhGaW5hbENlbnRpbWVzICs9ICRvcHRpb25bJ2RhdGFfcHJpY2VfY2VudGltZXMnXSA/PyAwOwogICAgICAgIH0KICAgIH0KCiAgICAvLyBDb252ZXJ0aXIgbGUgcHJpeCB0b3RhbCBlbiBldXJvcyBldCBhcnJvbmRpciDDoCBkZXV4IGTDqWNpbWFsZXMKICAgICRwcml4RmluYWxFdXJvcyA9IHJvdW5kKCRwcml4RmluYWxDZW50aW1lcyAvIDEwMCwgMik7CgogICAgcmV0dXJuIFsKICAgICAgICAncHJpY2UnID0+ICRwcml4RmluYWxFdXJvcywKICAgICAgICAncGl6emFzJyA9PiAkdG90YWxQaXp6YXMKICAgIF07Cn0KCi8vIEZvbmN0aW9uIHBvdXIgcsOpY3Vww6lyZXIgbGVzIGNvbW1hbmRlcyBwb3VyIHVuZSBwbGFnZSBkZSBkYXRlcyBldCB1biBzdWZmaXhlIGRvbm7DqXMKZnVuY3Rpb24gZ2V0T3JkZXJzKCRwZG8sICR0aW1lc3RhbXBTdGFydCwgJHRpbWVzdGFtcEVuZCwgJHN1ZmZpeCkgewogICAgJHN0bXQgPSAkcGRvLT5wcmVwYXJlKCIKICAgICAgICBTRUxFQ1QgaWQKICAgICAgICBGUk9NIHBvc19jb21tYW5kZXN7JHN1ZmZpeH0KICAgICAgICBXSEVSRSBoZXVyZV9wcmVwYSBCRVRXRUVOIDpzdGFydCBBTkQgOmVuZAogICAgICAgICAgQU5EIHN0YXR1dCAhPSAnZGVsZXRlZCcKICAgICIpOwogICAgJHN0bXQtPmV4ZWN1dGUoWwogICAgICAgICc6c3RhcnQnID0+ICR0aW1lc3RhbXBTdGFydCwKICAgICAgICAnOmVuZCcgPT4gJHRpbWVzdGFtcEVuZAogICAgXSk7CiAgICAkb3JkZXJzID0gJHN0bXQtPmZldGNoQWxsKFBETzo6RkVUQ0hfQVNTT0MpOwogICAgcmV0dXJuICRvcmRlcnM7Cn0KCi8vIFByb2PDqWRlciBhdSBjYWxjdWwgZGVzIGRvbm7DqWVzIGRlIHZlbnRlcyBwb3VyIGxhIGRhdGUgZG9ubsOpZQoKLy8gT2J0ZW5pciBsZXMgdGltZXN0YW1wcyBkZSBkw6lidXQgZXQgZGUgZmluIHBvdXIgbGEgZGF0ZQokdGltZXN0YW1wU3RhcnQgPSBzdHJ0b3RpbWUoJGRhdGUgLiAnIDAwOjAwOjAwJykgKiAxMDAwOyAvLyBoZXVyZV9wcmVwYSBlbiBtaWxsaXNlY29uZGVzCiR0aW1lc3RhbXBFbmQgPSBzdHJ0b3RpbWUoJGRhdGUgLiAnIDIzOjU5OjU5JykgKiAxMDAwOwoKLy8gSW5pdGlhbGlzZXIgbGVzIHRvdGF1eAokdG90YWxBbW91bnRQZWxpc3Nhbm5lID0gMDsKJHRvdGFsUGl6emFzUGVsaXNzYW5uZSA9IDA7CiR0b3RhbEFtb3VudExhbmNvbiA9IDA7CiR0b3RhbFBpenphc0xhbmNvbiA9IDA7CgovLyBDYWxjdWxlciBsZXMgZG9ubsOpZXMgcG91ciBQw6lsaXNzYW5uZQokb3JkZXJzUGVsaXNzYW5uZSA9IGdldE9yZGVycygkcGRvLCAkdGltZXN0YW1wU3RhcnQsICR0aW1lc3RhbXBFbmQsICdfcGVsJyk7CmZvcmVhY2ggKCRvcmRlcnNQZWxpc3Nhbm5lIGFzICRvcmRlcikgewogICAgJG9yZGVySWQgPSAkb3JkZXJbJ2lkJ107CiAgICAkb3JkZXJEYXRhID0gY2FsY3VsYXRlT3JkZXJQcmljZSgkcGRvLCAkb3JkZXJJZCwgJ19wZWwnKTsKICAgICR0b3RhbEFtb3VudFBlbGlzc2FubmUgKz0gJG9yZGVyRGF0YVsncHJpY2UnXTsKICAgICR0b3RhbFBpenphc1BlbGlzc2FubmUgKz0gJG9yZGVyRGF0YVsncGl6emFzJ107Cn0KCi8vIENhbGN1bGVyIGxlcyBkb25uw6llcyBwb3VyIExhbsOnb24KJG9yZGVyc0xhbmNvbiA9IGdldE9yZGVycygkcGRvLCAkdGltZXN0YW1wU3RhcnQsICR0aW1lc3RhbXBFbmQsICcnKTsKZm9yZWFjaCAoJG9yZGVyc0xhbmNvbiBhcyAkb3JkZXIpIHsKICAgICRvcmRlcklkID0gJG9yZGVyWydpZCddOwogICAgJG9yZGVyRGF0YSA9IGNhbGN1bGF0ZU9yZGVyUHJpY2UoJHBkbywgJG9yZGVySWQsICcnKTsKICAgICR0b3RhbEFtb3VudExhbmNvbiArPSAkb3JkZXJEYXRhWydwcmljZSddOwogICAgJHRvdGFsUGl6emFzTGFuY29uICs9ICRvcmRlckRhdGFbJ3BpenphcyddOwp9CgovLyBWw6lyaWZpZXIgc2kgbGVzIGRvbm7DqWVzIHBvdXIgY2V0dGUgZGF0ZSBleGlzdGVudCBkw6lqw6AgZGFucyBwb3NfZXZlbnRzCiRzdG10ID0gJHBkby0+cHJlcGFyZSgiU0VMRUNUICogRlJPTSBwb3NfZXZlbnRzIFdIRVJFIGRhdGUgPSA6ZGF0ZSIpOwokc3RtdC0+ZXhlY3V0ZShbJzpkYXRlJyA9PiAkZGF0ZV0pOwokZXZlbnREYXRhID0gJHN0bXQtPmZldGNoKFBETzo6RkVUQ0hfQVNTT0MpOwoKLy8gSW5zw6lyZXIgb3UgbWV0dHJlIMOgIGpvdXIgbGVzIGRvbm7DqWVzIGRhbnMgcG9zX2V2ZW50cwppZiAoJGV2ZW50RGF0YSkgewogICAgLy8gTWV0dHJlIMOgIGpvdXIKICAgICRzdG10VXBkYXRlID0gJHBkby0+cHJlcGFyZSgiCiAgICAgICAgVVBEQVRFIHBvc19ldmVudHMgU0VUCiAgICAgICAgICAgIG1vbnRhbnRfdG90YWxfcGVsaXNzYW5uZSA9IDptb250YW50UGVsaXNzYW5uZSwKICAgICAgICAgICAgbW9udGFudF90b3RhbF9sYW5jb24gPSA6bW9udGFudExhbmNvbiwKICAgICAgICAgICAgbm9tYnJlX3BlbGlzc2FubmUgPSA6bm9tYnJlUGVsaXNzYW5uZSwKICAgICAgICAgICAgbm9tYnJlX2xhbmNvbiA9IDpub21icmVMYW5jb24KICAgICAgICBXSEVSRSBkYXRlID0gOmRhdGUKICAgICIpOwp9IGVsc2UgewogICAgLy8gSW5zw6lyZXIKICAgICRzdG10VXBkYXRlID0gJHBkby0+cHJlcGFyZSgiCiAgICAgICAgSU5TRVJUIElOVE8gcG9zX2V2ZW50cyAoZGF0ZSwgbW9udGFudF90b3RhbF9wZWxpc3Nhbm5lLCBtb250YW50X3RvdGFsX2xhbmNvbiwgbm9tYnJlX3BlbGlzc2FubmUsIG5vbWJyZV9sYW5jb24pCiAgICAgICAgVkFMVUVTICg6ZGF0ZSwgOm1vbnRhbnRQZWxpc3Nhbm5lLCA6bW9udGFudExhbmNvbiwgOm5vbWJyZVBlbGlzc2FubmUsIDpub21icmVMYW5jb24pCiAgICAiKTsKfQoKJHN0bXRVcGRhdGUtPmV4ZWN1dGUoWwogICAgJzpkYXRlJyA9PiAkZGF0ZSwKICAgICc6bW9udGFudFBlbGlzc2FubmUnID0+ICR0b3RhbEFtb3VudFBlbGlzc2FubmUsCiAgICAnOm1vbnRhbnRMYW5jb24nID0+ICR0b3RhbEFtb3VudExhbmNvbiwKICAgICc6bm9tYnJlUGVsaXNzYW5uZScgPT4gJHRvdGFsUGl6emFzUGVsaXNzYW5uZSwKICAgICc6bm9tYnJlTGFuY29uJyA9PiAkdG90YWxQaXp6YXNMYW5jb24KXSk7CgplY2hvICJEb25uw6llcyB0cmFpdMOpZXMgcG91ciBsYSBkYXRlIDogJGRhdGVcbiI7Cj8+Cg=="
            },
            "after": {
                "exists": true,
                "kind": "file",
                "size": 1640,
                "sha1": "f24382f8bbc543f2ed2c0fd644d3679801630193",
                "content_b64": "PD9waHAKZGVjbGFyZShzdHJpY3RfdHlwZXM9MSk7CgovKiBkb2MtcHJvamVjdCB8IHN0YXRzL2ZpbGxfdGFibGUucGhwIHwgQWdyw6hnZSBsZXMgdmVudGVzIGV0IGNvbXB0ZSBsZXMgcGl6emFzIGTigJl1bmUgZGF0ZSBwb3VyIFDDqWxpc3Nhbm5lIGV0IExhbsOnb24gdmlhIGxlIGhlbHBlciBzdGF0cyBwYXJ0YWfDqSwgYXZlYyBsZXMgbcOqbWVzIHLDqGdsZXMgZGUgam91cm7DqWUsIHN0YXR1dHMgZmluYWxpc8OpcyBldCBjb21wdGFnZSBwaXp6YXMgcXVlIGNhaXNzZS9jdWlzaW5lLCBwdWlzIGVucmVnaXN0cmUgbGUgcsOpc3VsdGF0IGRhbnMgcG9zX2V2ZW50cy4gfCBFeHBvc2U6IGF1Y3VuIHwgRMOpcGVuZCBkZTogc3RhdHMvY29uZmlnLnBocCwgc3RhdHMvX2xpYi9vcmRlclN0YXRzQWdncmVnYXRvci5waHAsIFBETywgcG9zX2V2ZW50cyB8IEltcGFjdGU6IEJERCBwb3NfZXZlbnRzLCBjYWxjdWxzIGRlIHZlbnRlLCByw6lwb25zZSBBSkFYLCBjb2jDqXJlbmNlIHN0YXRzL2NhaXNzZS9jdWlzaW5lIHwgVGFibGVzOiBwb3NfZXZlbnRzKGRhdGUsIG1vbnRhbnRfdG90YWxfcGVsaXNzYW5uZSwgbW9udGFudF90b3RhbF9sYW5jb24sIG5vbWJyZV9wZWxpc3Nhbm5lLCBub21icmVfbGFuY29uKSAqLwovLyBmaWxsX3RhYmxlLnBocAovLyBJbmNsdXJlIGxlIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBwb3VyIGFjY8OpZGVyIMOgIGxhIGJhc2UgZGUgZG9ubsOpZXMKaW5jbHVkZSAnY29uZmlnLnBocCc7CnJlcXVpcmVfb25jZSBfX0RJUl9fIC4gJy9fbGliL29yZGVyU3RhdHNBZ2dyZWdhdG9yLnBocCc7CgovLyBWw6lyaWZpZXIgcXVlIGxhIGNvbm5leGlvbiBQRE8gZXN0IMOpdGFibGllCmlmICghaXNzZXQoJHBkbykgfHwgISgkcGRvIGluc3RhbmNlb2YgUERPKSkgewogICAgZGllKCdFcnJldXIgZGUgY29ubmV4aW9uIMOgIGxhIGJhc2UgZGUgZG9ubsOpZXMuJyk7Cn0KCi8vIFLDqWN1cMOpcmVyIGxhIGRhdGUgZW52b3nDqWUgcGFyIGxlIGJvdXRvbiB2aWEgQUpBWAokZGF0ZSA9ICRfUE9TVFsnZGF0ZSddID8/IG51bGw7CgppZiAoIWlzX3N0cmluZygkZGF0ZSkgfHwgIXByZWdfbWF0Y2goJy9eXGR7NH0tXGR7Mn0tXGR7Mn0kLycsICRkYXRlKSkgewogICAgZGllKCdEYXRlIG5vbiBmb3VybmllLicpOwp9Cgp0cnkgewogICAgJHRvdGFsc1BlbGlzc2FubmUgPSBzdGF0c0ZldGNoU3RvcmVEYWlseVRvdGFscygkcGRvLCAkZGF0ZSwgJ19wZWwnKTsKICAgICR0b3RhbHNMYW5jb24gPSBzdGF0c0ZldGNoU3RvcmVEYWlseVRvdGFscygkcGRvLCAkZGF0ZSwgJycpOwoKICAgIHN0YXRzVXBzZXJ0RGFpbHlFdmVudCgkcGRvLCAkZGF0ZSwgJHRvdGFsc1BlbGlzc2FubmUsICR0b3RhbHNMYW5jb24pOwoKICAgIGVjaG8gIkRvbm7DqWVzIHRyYWl0w6llcyBwb3VyIGxhIGRhdGUgOiAkZGF0ZVxuIjsKfSBjYXRjaCAoVGhyb3dhYmxlICRlKSB7CiAgICBlcnJvcl9sb2coJ1tzdGF0cy9maWxsX3RhYmxlXSBlcnJldXIgYWdyw6lnYXRpb24gZGF0ZT0nIC4gJGRhdGUgLiAnIGVycj0nIC4gJGUtPmdldE1lc3NhZ2UoKSk7CiAgICBodHRwX3Jlc3BvbnNlX2NvZGUoNTAwKTsKICAgIGRpZSgnRXJyZXVyIHNlcnZldXIgbG9ycyBkdSBjYWxjdWwgZGVzIHN0YXRpc3RpcXVlcy4nKTsKfQo/Pgo="
            }
        },
        {
            "path": "stats/fill_table_by_date.php",
            "kind": "file",
            "before": {
                "exists": true,
                "kind": "file",
                "size": 7019,
                "sha1": "03f50d48567050796c4dbbc213ea1aa2746b1a56",
                "content_b64": "PD9waHAKLy8gZG9jLXByb2plY3QgfCBzdGF0cy9maWxsX3RhYmxlX2J5X2RhdGUucGhwIHwgUmVuc2VpZ25lIG91IG1ldCDDoCBqb3VyIHF1b3RpZGllbm5lbWVudCBsZXMgYWdyw6lnYXRzIGRlIGNvbW1hbmRlcyBwYXIgc2l0ZSBkYW5zIHBvc19ldmVudHMgc3VyIHVuZSBwbGFnZSBkZSBkYXRlcy4gfCBFeHBvc2U6IGNhbGN1bGF0ZU9yZGVyUHJpY2UsIGdldE9yZGVycywgbG9vcFRocm91Z2hEYXRlcyB8IETDqXBlbmQgZGU6IGNvbmZpZy5waHAsIHBvc19jb21tYW5kZXMsIHBvc19jb21tYW5kZXNfcGVsLCBwb3NfcGl6emFzLCBwb3NfbW9kaWZzX3BpenphcywgcG9zX2V2ZW50cyB8IEltcGFjdGU6IEJERCwgYWdyw6lnYXRzIGpvdXJuYWxpZXJzLCBzb3J0aWUgQ0xJL2VjaG8gfCBUYWJsZXM6IHBvc19jb21tYW5kZXMoaWQsaGV1cmVfcHJlcGEsc3RhdHV0KSwgcG9zX2NvbW1hbmRlc19wZWwoaWQsaGV1cmVfcHJlcGEsc3RhdHV0KSwgcG9zX3BpenphcyhpZCxwcmljZV9sYXJnZSxjbGFzcyksIHBvc19tb2RpZnNfcGl6emFzKGlkX3Bvc19waXp6YXNfY29tbWFuZGVzLGlkX3Bvc19waXp6YXNfY29tbWFuZGVlcyxkYXRhX3ByaWNlKSwgcG9zX2V2ZW50cyhkYXRlLG1vbnRhbnRfdG90YWxfcGVsaXNzYW5uZSxtb250YW50X3RvdGFsX2xhbmNvbixub21icmVfcGVsaXNzYW5uZSxub21icmVfbGFuY29uKSAqLwovLyBmaWxsX3RhYmxlLnBocAovLyBJbmNsdXJlIGxlIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBwb3VyIGFjY8OpZGVyIMOgIGxhIGJhc2UgZGUgZG9ubsOpZXMKaW5jbHVkZSAnY29uZmlnLnBocCc7CgovLyBWw6lyaWZpZXIgcXVlIGxhIGNvbm5leGlvbiBQRE8gZXN0IMOpdGFibGllCmlmICghaXNzZXQoJHBkbykpIHsKICAgIGRpZSgnRXJyZXVyIGRlIGNvbm5leGlvbiDDoCBsYSBiYXNlIGRlIGRvbm7DqWVzLicpOwp9CgovLyBEw6lmaW5pciBtYW51ZWxsZW1lbnQgbGEgcGxhZ2UgZGUgZGF0ZXMKJHN0YXJ0RGF0ZSA9ICcyMDIzLTA3LTAxJzsgIC8vIERhdGUgZGUgZMOpYnV0CiRlbmREYXRlID0gJzIwMjMtMTItMzEnOyAgICAvLyBEYXRlIGRlIGZpbgoKLy8gRm9uY3Rpb24gcG91ciBjYWxjdWxlciBsZSBwcml4IGQndW5lIGNvbW1hbmRlIGV0IGNvbXB0ZXIgbGUgbm9tYnJlIGRlIHBpenphcwpmdW5jdGlvbiBjYWxjdWxhdGVPcmRlclByaWNlKCRwZG8sICRvcmRlcklkLCAkc3VmZml4KSB7CiAgICAkcHJpeEZpbmFsQ2VudGltZXMgPSAwOyAvLyBJbml0aWFsaXNlciBsZSBwcml4IHRvdGFsIGVuIGNlbnRpbWVzCiAgICAkdG90YWxQaXp6YXMgPSAwOyAvLyBJbml0aWFsaXNlciBsZSBub21icmUgdG90YWwgZGUgcGl6emFzCgogICAgLy8gUsOpY3Vww6lyZXIgbGVzIHBpenphcyBjb21tYW5kw6llcyBkYW5zIGxhIGNvbW1hbmRlIGRvbm7DqWUKICAgICRzdG10ID0gJHBkby0+cHJlcGFyZSgiU0VMRUNUIHBwYy5pZCwgcHBjLmlkX3Bvc19waXp6YXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgRlJPTSBwb3NfcGl6emFzX2NvbW1hbmRlZXN7JHN1ZmZpeH0gcHBjCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIHBwYy5pZF9wb3NfY29tbWFuZGVzeyRzdWZmaXh9ID0gOm9yZGVySWQiKTsKICAgICRzdG10LT5leGVjdXRlKFsnOm9yZGVySWQnID0+ICRvcmRlcklkXSk7CiAgICAkcGl6emFzQ29tbWFuZGUgPSAkc3RtdC0+ZmV0Y2hBbGwoUERPOjpGRVRDSF9BU1NPQyk7CgogICAgZm9yZWFjaCAoJHBpenphc0NvbW1hbmRlIGFzICRwaXp6YSkgewogICAgICAgIC8vIE9idGVuaXIgbGUgcHJpeCBkZSBiYXNlIGRlIGxhIHBpenphIGVuIGNlbnRpbWVzIGV0IHNhIGNsYXNzZQogICAgICAgICRzdG10ID0gJHBkby0+cHJlcGFyZSgiU0VMRUNUIHByaWNlX2xhcmdlICogMTAwIGFzIHByaWNlX2xhcmdlX2NlbnRpbWVzLCBjbGFzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlJPTSBwb3NfcGl6emFzIFdIRVJFIGlkID0gOnBpenphSWQiKTsKICAgICAgICAkc3RtdC0+ZXhlY3V0ZShbJzpwaXp6YUlkJyA9PiAkcGl6emFbJ2lkX3Bvc19waXp6YXMnXV0pOwogICAgICAgICRwaXp6YURldGFpbHMgPSAkc3RtdC0+ZmV0Y2goUERPOjpGRVRDSF9BU1NPQyk7CgogICAgICAgICRiYXNlUHJpY2VDZW50aW1lcyA9ICRwaXp6YURldGFpbHNbJ3ByaWNlX2xhcmdlX2NlbnRpbWVzJ10gPz8gMDsKICAgICAgICAkcHJpeEZpbmFsQ2VudGltZXMgKz0gJGJhc2VQcmljZUNlbnRpbWVzOwoKICAgICAgICAvLyBJbmNyw6ltZW50ZXIgbGUgbm9tYnJlIHRvdGFsIGRlIHBpenphcyBzaSBsYSBjbGFzc2UgZXN0ICdwaXp6YScKICAgICAgICBpZiAoJHBpenphRGV0YWlsc1snY2xhc3MnXSA9PSAncGl6emEnKSB7CiAgICAgICAgICAgICR0b3RhbFBpenphcyArPSAxOwogICAgICAgIH0KCiAgICAgICAgLy8gUsOpY3Vww6lyZXIgZXQgYWpvdXRlciBsZXMgcHJpeCBkZXMgb3B0aW9ucyBwb3VyIGNldHRlIHBpenphCiAgICAgICAgJHN0bXQgPSAkcGRvLT5wcmVwYXJlKCJTRUxFQ1QgZGF0YV9wcmljZSAqIDEwMCBhcyBkYXRhX3ByaWNlX2NlbnRpbWVzIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlJPTSBwb3NfbW9kaWZzX3Bpenphc3skc3VmZml4fSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGlkX3Bvc19waXp6YXNfY29tbWFuZGVlc3skc3VmZml4fSA9IDpwaXp6YUlkIik7CiAgICAgICAgJHN0bXQtPmV4ZWN1dGUoWyc6cGl6emFJZCcgPT4gJHBpenphWydpZCddXSk7CiAgICAgICAgJG9wdGlvbnMgPSAkc3RtdC0+ZmV0Y2hBbGwoUERPOjpGRVRDSF9BU1NPQyk7CgogICAgICAgIGZvcmVhY2ggKCRvcHRpb25zIGFzICRvcHRpb24pIHsKICAgICAgICAgICAgJHByaXhGaW5hbENlbnRpbWVzICs9ICRvcHRpb25bJ2RhdGFfcHJpY2VfY2VudGltZXMnXSA/PyAwOwogICAgICAgIH0KICAgIH0KCiAgICAvLyBDb252ZXJ0aXIgbGUgcHJpeCB0b3RhbCBlbiBldXJvcyBldCBhcnJvbmRpciDDoCBkZXV4IGTDqWNpbWFsZXMKICAgICRwcml4RmluYWxFdXJvcyA9IHJvdW5kKCRwcml4RmluYWxDZW50aW1lcyAvIDEwMCwgMik7CgogICAgcmV0dXJuIFsKICAgICAgICAncHJpY2UnID0+ICRwcml4RmluYWxFdXJvcywKICAgICAgICAncGl6emFzJyA9PiAkdG90YWxQaXp6YXMKICAgIF07Cn0KCi8vIEZvbmN0aW9uIHBvdXIgcsOpY3Vww6lyZXIgbGVzIGNvbW1hbmRlcyBwb3VyIHVuZSBwbGFnZSBkZSBkYXRlcyBldCB1biBzdWZmaXhlIGRvbm7DqXMKZnVuY3Rpb24gZ2V0T3JkZXJzKCRwZG8sICR0aW1lc3RhbXBTdGFydCwgJHRpbWVzdGFtcEVuZCwgJHN1ZmZpeCkgewogICAgJHN0bXQgPSAkcGRvLT5wcmVwYXJlKCIKICAgICAgICBTRUxFQ1QgaWQKICAgICAgICBGUk9NIHBvc19jb21tYW5kZXN7JHN1ZmZpeH0KICAgICAgICBXSEVSRSBoZXVyZV9wcmVwYSBCRVRXRUVOIDpzdGFydCBBTkQgOmVuZAogICAgICAgICAgQU5EIHN0YXR1dCAhPSAnZGVsZXRlZCcKICAgICIpOwogICAgJHN0bXQtPmV4ZWN1dGUoWwogICAgICAgICc6c3RhcnQnID0+ICR0aW1lc3RhbXBTdGFydCwKICAgICAgICAnOmVuZCcgPT4gJHRpbWVzdGFtcEVuZAogICAgXSk7CiAgICAkb3JkZXJzID0gJHN0bXQtPmZldGNoQWxsKFBETzo6RkVUQ0hfQVNTT0MpOwogICAgcmV0dXJuICRvcmRlcnM7Cn0KCi8vIEZvbmN0aW9uIHBvdXIgYm91Y2xlciBzdXIgbGEgcGxhZ2UgZGUgZGF0ZXMKZnVuY3Rpb24gbG9vcFRocm91Z2hEYXRlcygkc3RhcnREYXRlLCAkZW5kRGF0ZSwgJHBkbykgewogICAgJGN1cnJlbnREYXRlID0gc3RydG90aW1lKCRzdGFydERhdGUpOwogICAgJGVuZERhdGUgPSBzdHJ0b3RpbWUoJGVuZERhdGUpOwoKICAgIC8vIEJvdWNsZSBzdXIgY2hhcXVlIGpvdXIgZGUgbGEgcGxhZ2UgZGUgZGF0ZXMKICAgIHdoaWxlICgkY3VycmVudERhdGUgPD0gJGVuZERhdGUpIHsKICAgICAgICAvLyBDb252ZXJ0aXIgbGEgZGF0ZSBhdSBmb3JtYXQgJ1ktbS1kJwogICAgICAgICRkYXRlID0gZGF0ZSgnWS1tLWQnLCAkY3VycmVudERhdGUpOwoKICAgICAgICAvLyBPYnRlbmlyIGxlcyB0aW1lc3RhbXBzIGRlIGTDqWJ1dCBldCBkZSBmaW4gcG91ciBsYSBkYXRlCiAgICAgICAgJHRpbWVzdGFtcFN0YXJ0ID0gc3RydG90aW1lKCRkYXRlIC4gJyAwMDowMDowMCcpICogMTAwMDsgLy8gaGV1cmVfcHJlcGEgZW4gbWlsbGlzZWNvbmRlcwogICAgICAgICR0aW1lc3RhbXBFbmQgPSBzdHJ0b3RpbWUoJGRhdGUgLiAnIDIzOjU5OjU5JykgKiAxMDAwOwoKICAgICAgICAvLyBJbml0aWFsaXNlciBsZXMgdG90YXV4IHBvdXIgY2hhcXVlIGRhdGUKICAgICAgICAkdG90YWxBbW91bnRQZWxpc3Nhbm5lID0gMDsKICAgICAgICAkdG90YWxQaXp6YXNQZWxpc3Nhbm5lID0gMDsKICAgICAgICAkdG90YWxBbW91bnRMYW5jb24gPSAwOwogICAgICAgICR0b3RhbFBpenphc0xhbmNvbiA9IDA7CgogICAgICAgIC8vIENhbGN1bGVyIGxlcyBkb25uw6llcyBwb3VyIFDDqWxpc3Nhbm5lCiAgICAgICAgJG9yZGVyc1BlbGlzc2FubmUgPSBnZXRPcmRlcnMoJHBkbywgJHRpbWVzdGFtcFN0YXJ0LCAkdGltZXN0YW1wRW5kLCAnX3BlbCcpOwogICAgICAgIGZvcmVhY2ggKCRvcmRlcnNQZWxpc3Nhbm5lIGFzICRvcmRlcikgewogICAgICAgICAgICAkb3JkZXJJZCA9ICRvcmRlclsnaWQnXTsKICAgICAgICAgICAgJG9yZGVyRGF0YSA9IGNhbGN1bGF0ZU9yZGVyUHJpY2UoJHBkbywgJG9yZGVySWQsICdfcGVsJyk7CiAgICAgICAgICAgICR0b3RhbEFtb3VudFBlbGlzc2FubmUgKz0gJG9yZGVyRGF0YVsncHJpY2UnXTsKICAgICAgICAgICAgJHRvdGFsUGl6emFzUGVsaXNzYW5uZSArPSAkb3JkZXJEYXRhWydwaXp6YXMnXTsKICAgICAgICB9CgogICAgICAgIC8vIENhbGN1bGVyIGxlcyBkb25uw6llcyBwb3VyIExhbsOnb24KICAgICAgICAkb3JkZXJzTGFuY29uID0gZ2V0T3JkZXJzKCRwZG8sICR0aW1lc3RhbXBTdGFydCwgJHRpbWVzdGFtcEVuZCwgJycpOwogICAgICAgIGZvcmVhY2ggKCRvcmRlcnNMYW5jb24gYXMgJG9yZGVyKSB7CiAgICAgICAgICAgICRvcmRlcklkID0gJG9yZGVyWydpZCddOwogICAgICAgICAgICAkb3JkZXJEYXRhID0gY2FsY3VsYXRlT3JkZXJQcmljZSgkcGRvLCAkb3JkZXJJZCwgJycpOwogICAgICAgICAgICAkdG90YWxBbW91bnRMYW5jb24gKz0gJG9yZGVyRGF0YVsncHJpY2UnXTsKICAgICAgICAgICAgJHRvdGFsUGl6emFzTGFuY29uICs9ICRvcmRlckRhdGFbJ3BpenphcyddOwogICAgICAgIH0KCiAgICAgICAgLy8gVsOpcmlmaWVyIHNpIGxlcyBkb25uw6llcyBwb3VyIGNldHRlIGRhdGUgZXhpc3RlbnQgZMOpasOgIGRhbnMgcG9zX2V2ZW50cwogICAgICAgICRzdG10ID0gJHBkby0+cHJlcGFyZSgiU0VMRUNUICogRlJPTSBwb3NfZXZlbnRzIFdIRVJFIGRhdGUgPSA6ZGF0ZSIpOwogICAgICAgICRzdG10LT5leGVjdXRlKFsnOmRhdGUnID0+ICRkYXRlXSk7CiAgICAgICAgJGV2ZW50RGF0YSA9ICRzdG10LT5mZXRjaChQRE86OkZFVENIX0FTU09DKTsKCiAgICAgICAgLy8gSW5zw6lyZXIgb3UgbWV0dHJlIMOgIGpvdXIgbGVzIGRvbm7DqWVzIGRhbnMgcG9zX2V2ZW50cwogICAgICAgIGlmICgkZXZlbnREYXRhKSB7CiAgICAgICAgICAgIC8vIE1ldHRyZSDDoCBqb3VyCiAgICAgICAgICAgICRzdG10VXBkYXRlID0gJHBkby0+cHJlcGFyZSgiCiAgICAgICAgICAgICAgICBVUERBVEUgcG9zX2V2ZW50cyBTRVQKICAgICAgICAgICAgICAgICAgICBtb250YW50X3RvdGFsX3BlbGlzc2FubmUgPSA6bW9udGFudFBlbGlzc2FubmUsCiAgICAgICAgICAgICAgICAgICAgbW9udGFudF90b3RhbF9sYW5jb24gPSA6bW9udGFudExhbmNvbiwKICAgICAgICAgICAgICAgICAgICBub21icmVfcGVsaXNzYW5uZSA9IDpub21icmVQZWxpc3Nhbm5lLAogICAgICAgICAgICAgICAgICAgIG5vbWJyZV9sYW5jb24gPSA6bm9tYnJlTGFuY29uCiAgICAgICAgICAgICAgICBXSEVSRSBkYXRlID0gOmRhdGUKICAgICAgICAgICAgIik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gSW5zw6lyZXIKICAgICAgICAgICAgJHN0bXRVcGRhdGUgPSAkcGRvLT5wcmVwYXJlKCIKICAgICAgICAgICAgICAgIElOU0VSVCBJTlRPIHBvc19ldmVudHMgKGRhdGUsIG1vbnRhbnRfdG90YWxfcGVsaXNzYW5uZSwgbW9udGFudF90b3RhbF9sYW5jb24sIG5vbWJyZV9wZWxpc3Nhbm5lLCBub21icmVfbGFuY29uKQogICAgICAgICAgICAgICAgVkFMVUVTICg6ZGF0ZSwgOm1vbnRhbnRQZWxpc3Nhbm5lLCA6bW9udGFudExhbmNvbiwgOm5vbWJyZVBlbGlzc2FubmUsIDpub21icmVMYW5jb24pCiAgICAgICAgICAgICIpOwogICAgICAgIH0KCiAgICAgICAgLy8gRXjDqWN1dGVyIGxhIHJlcXXDqnRlIGQnaW5zZXJ0aW9uIG91IGRlIG1pc2Ugw6Agam91cgogICAgICAgICRzdG10VXBkYXRlLT5leGVjdXRlKFsKICAgICAgICAgICAgJzpkYXRlJyA9PiAkZGF0ZSwKICAgICAgICAgICAgJzptb250YW50UGVsaXNzYW5uZScgPT4gJHRvdGFsQW1vdW50UGVsaXNzYW5uZSwKICAgICAgICAgICAgJzptb250YW50TGFuY29uJyA9PiAkdG90YWxBbW91bnRMYW5jb24sCiAgICAgICAgICAgICc6bm9tYnJlUGVsaXNzYW5uZScgPT4gJHRvdGFsUGl6emFzUGVsaXNzYW5uZSwKICAgICAgICAgICAgJzpub21icmVMYW5jb24nID0+ICR0b3RhbFBpenphc0xhbmNvbgogICAgICAgIF0pOwoKICAgICAgICAvLyBBZmZpY2hlciBsZXMgZG9ubsOpZXMgdHJhaXTDqWVzIHBvdXIgY2hhcXVlIGRhdGUKICAgICAgICBlY2hvICJEb25uw6llcyB0cmFpdMOpZXMgcG91ciBsYSBkYXRlIDogJGRhdGVcbiI7CgogICAgICAgIC8vIFBhc3NlciBhdSBqb3VyIHN1aXZhbnQKICAgICAgICAkY3VycmVudERhdGUgPSBzdHJ0b3RpbWUoJysxIGRheScsICRjdXJyZW50RGF0ZSk7CiAgICB9Cn0KCi8vIEFwcGVsIGRlIGxhIGZvbmN0aW9uIHBvdXIgcGFyY291cmlyIGxhIHBsYWdlIGRlIGRhdGVzCmxvb3BUaHJvdWdoRGF0ZXMoJHN0YXJ0RGF0ZSwgJGVuZERhdGUsICRwZG8pOwo/Pgo="
            },
            "after": {
                "exists": true,
                "kind": "file",
                "size": 2496,
                "sha1": "8eea1b0fca0d12d70d1e653032239a6c0810b640",
                "content_b64": "PD9waHAKZGVjbGFyZShzdHJpY3RfdHlwZXM9MSk7CgovLyBkb2MtcHJvamVjdCB8IHN0YXRzL2ZpbGxfdGFibGVfYnlfZGF0ZS5waHAgfCBSZW5zZWlnbmUgb3UgbWV0IMOgIGpvdXIgcXVvdGlkaWVubmVtZW50IGxlcyBhZ3LDqWdhdHMgZGUgY29tbWFuZGVzIHBhciBzaXRlIGRhbnMgcG9zX2V2ZW50cyBzdXIgdW5lIHBsYWdlIGRlIGRhdGVzIHZpYSBsZSBoZWxwZXIgc3RhdHMgcGFydGFnw6ksIGF2ZWMgbGVzIG3Dqm1lcyByw6hnbGVzIGRlIGpvdXJuw6llLCBzdGF0dXRzIGZpbmFsaXPDqXMgZXQgY29tcHRhZ2UgcGl6emFzIHF1ZSBjYWlzc2UvY3Vpc2luZS4gfCBFeHBvc2U6IGxvb3BUaHJvdWdoRGF0ZXMgfCBEw6lwZW5kIGRlOiBjb25maWcucGhwLCBzdGF0cy9fbGliL29yZGVyU3RhdHNBZ2dyZWdhdG9yLnBocCwgUERPLCBwb3NfZXZlbnRzIHwgSW1wYWN0ZTogQkRELCBhZ3LDqWdhdHMgam91cm5hbGllcnMsIHNvcnRpZSBDTEkvZWNobywgY29ow6lyZW5jZSBzdGF0cy9jYWlzc2UvY3Vpc2luZSB8IFRhYmxlczogcG9zX2V2ZW50cyhkYXRlLG1vbnRhbnRfdG90YWxfcGVsaXNzYW5uZSxtb250YW50X3RvdGFsX2xhbmNvbixub21icmVfcGVsaXNzYW5uZSxub21icmVfbGFuY29uKSAqLwovLyBmaWxsX3RhYmxlLnBocAovLyBJbmNsdXJlIGxlIGZpY2hpZXIgZGUgY29uZmlndXJhdGlvbiBwb3VyIGFjY8OpZGVyIMOgIGxhIGJhc2UgZGUgZG9ubsOpZXMKaW5jbHVkZSAnY29uZmlnLnBocCc7CnJlcXVpcmVfb25jZSBfX0RJUl9fIC4gJy9fbGliL29yZGVyU3RhdHNBZ2dyZWdhdG9yLnBocCc7CgovLyBWw6lyaWZpZXIgcXVlIGxhIGNvbm5leGlvbiBQRE8gZXN0IMOpdGFibGllCmlmICghaXNzZXQoJHBkbykgfHwgISgkcGRvIGluc3RhbmNlb2YgUERPKSkgewogICAgZGllKCdFcnJldXIgZGUgY29ubmV4aW9uIMOgIGxhIGJhc2UgZGUgZG9ubsOpZXMuJyk7Cn0KCi8vIETDqWZpbmlyIG1hbnVlbGxlbWVudCBsYSBwbGFnZSBkZSBkYXRlcwokc3RhcnREYXRlID0gJzIwMjMtMDctMDEnOyAgLy8gRGF0ZSBkZSBkw6lidXQKJGVuZERhdGUgPSAnMjAyMy0xMi0zMSc7ICAgIC8vIERhdGUgZGUgZmluCgovLyBGb25jdGlvbiBwb3VyIGJvdWNsZXIgc3VyIGxhIHBsYWdlIGRlIGRhdGVzCmZ1bmN0aW9uIGxvb3BUaHJvdWdoRGF0ZXMoc3RyaW5nICRzdGFydERhdGUsIHN0cmluZyAkZW5kRGF0ZSwgUERPICRwZG8pOiB2b2lkIHsKICAgICR0eiA9IG5ldyBEYXRlVGltZVpvbmUoJ0V1cm9wZS9QYXJpcycpOwogICAgJGN1cnJlbnREYXRlID0gRGF0ZVRpbWVJbW11dGFibGU6OmNyZWF0ZUZyb21Gb3JtYXQoJyFZLW0tZCcsICRzdGFydERhdGUsICR0eik7CiAgICAkbGFzdERhdGUgPSBEYXRlVGltZUltbXV0YWJsZTo6Y3JlYXRlRnJvbUZvcm1hdCgnIVktbS1kJywgJGVuZERhdGUsICR0eik7CgogICAgaWYgKCEkY3VycmVudERhdGUgfHwgISRsYXN0RGF0ZSkgewogICAgICAgIGRpZSgnUGxhZ2UgZGUgZGF0ZXMgaW52YWxpZGUuJyk7CiAgICB9CgogICAgLy8gQm91Y2xlIHN1ciBjaGFxdWUgam91ciBkZSBsYSBwbGFnZSBkZSBkYXRlcwogICAgd2hpbGUgKCRjdXJyZW50RGF0ZSA8PSAkbGFzdERhdGUpIHsKICAgICAgICAvLyBDb252ZXJ0aXIgbGEgZGF0ZSBhdSBmb3JtYXQgJ1ktbS1kJwogICAgICAgICRkYXRlID0gJGN1cnJlbnREYXRlLT5mb3JtYXQoJ1ktbS1kJyk7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR0b3RhbHNQZWxpc3Nhbm5lID0gc3RhdHNGZXRjaFN0b3JlRGFpbHlUb3RhbHMoJHBkbywgJGRhdGUsICdfcGVsJyk7CiAgICAgICAgICAgICR0b3RhbHNMYW5jb24gPSBzdGF0c0ZldGNoU3RvcmVEYWlseVRvdGFscygkcGRvLCAkZGF0ZSwgJycpOwoKICAgICAgICAgICAgc3RhdHNVcHNlcnREYWlseUV2ZW50KCRwZG8sICRkYXRlLCAkdG90YWxzUGVsaXNzYW5uZSwgJHRvdGFsc0xhbmNvbik7CgogICAgICAgICAgICAvLyBBZmZpY2hlciBsZXMgZG9ubsOpZXMgdHJhaXTDqWVzIHBvdXIgY2hhcXVlIGRhdGUKICAgICAgICAgICAgZWNobyAiRG9ubsOpZXMgdHJhaXTDqWVzIHBvdXIgbGEgZGF0ZSA6ICRkYXRlXG4iOwogICAgICAgIH0gY2F0Y2ggKFRocm93YWJsZSAkZSkgewogICAgICAgICAgICBlcnJvcl9sb2coJ1tzdGF0cy9maWxsX3RhYmxlX2J5X2RhdGVdIGVycmV1ciBhZ3LDqWdhdGlvbiBkYXRlPScgLiAkZGF0ZSAuICcgZXJyPScgLiAkZS0+Z2V0TWVzc2FnZSgpKTsKICAgICAgICAgICAgZWNobyAiRXJyZXVyIGxvcnMgZHUgdHJhaXRlbWVudCBkZSBsYSBkYXRlIDogJGRhdGVcbiI7CiAgICAgICAgfQoKICAgICAgICAvLyBQYXNzZXIgYXUgam91ciBzdWl2YW50CiAgICAgICAgJGN1cnJlbnREYXRlID0gJGN1cnJlbnREYXRlLT5tb2RpZnkoJysxIGRheScpOwogICAgfQp9CgovLyBBcHBlbCBkZSBsYSBmb25jdGlvbiBwb3VyIHBhcmNvdXJpciBsYSBwbGFnZSBkZSBkYXRlcwpsb29wVGhyb3VnaERhdGVzKCRzdGFydERhdGUsICRlbmREYXRlLCAkcGRvKTsKPz4K"
            }
        }
    ],
    "meta": {
        "summary": {
            "changed": 2,
            "created": 1,
            "deleted": 0,
            "errors": 0
        },
        "patch_sha1": "1d4069cdad48781df2c1662d61e7528cdf05689a",
        "created_files": [
            "stats/_lib/orderStatsAggregator.php"
        ],
        "branching": {
            "auto_branch_created": false,
            "auto_branch_id": null,
            "source_branch_id": "main",
            "base_event_id": "event_bb1946de47cf64e0"
        },
        "transition_store": {
            "dir": "event-assets/event_39d66e00c53b46e4",
            "manifest": "event-assets/event_39d66e00c53b46e4/manifest.json",
            "files_count": 3
        }
    },
    "impacted_paths": [
        "stats/_lib/orderStatsAggregator.php",
        "stats/fill_table.php",
        "stats/fill_table_by_date.php"
    ]
}