From 184de537f52057a4f904c8eb7cefa8d205eef19c Mon Sep 17 00:00:00 2001 From: extremeheat Date: Tue, 23 Mar 2021 01:07:26 -0400 Subject: [PATCH] Remove old tests, lint tests --- .eslintignore | 1 - .gitignore | 4 +- test/checksum.js | 33 ----- test/decryption.js | 41 ------ test/ecdh_key_exchange.js | 43 ------ test/serialization.js | 296 -------------------------------------- test/vanilla.test.js | 4 +- 7 files changed, 3 insertions(+), 419 deletions(-) delete mode 100644 test/checksum.js delete mode 100644 test/decryption.js delete mode 100644 test/ecdh_key_exchange.js delete mode 100644 test/serialization.js diff --git a/.eslintignore b/.eslintignore index b59f7e3..e69de29 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1 +0,0 @@ -test/ \ No newline at end of file diff --git a/.gitignore b/.gitignore index 6be9409..8bdb3f2 100644 --- a/.gitignore +++ b/.gitignore @@ -4,10 +4,8 @@ package-lock.json __* src/**/*.json # Runtime generated data -data/*/sample +data/**/sample data/**/read.js data/**/write.js data/**/size.js -samples/*.txt -samples/*.json tools/bds* \ No newline at end of file diff --git a/test/checksum.js b/test/checksum.js deleted file mode 100644 index 3a15dd4..0000000 --- a/test/checksum.js +++ /dev/null @@ -1,33 +0,0 @@ -const crypto=require("crypto"); -const assert=require("assert"); -const bufferEqual=require("buffer-equal"); - -function writeLI64(value, buffer, offset) { - buffer.writeInt32LE(value[0], offset+4); - buffer.writeInt32LE(value[1], offset); - return offset + 8; -} - -// based on https://s.yawk.at/QADm and https://confluence.yawk.at/display/PEPROTOCOL/Encryption -describe("checksum",() => { - it("generate hash and checksum",() => { - let packetPlaintext = new Buffer("3C00000008","hex"); - let sendCounter = [0,1]; - let secretKeyBytes = new Buffer("ZOBpyzki/M8UZv5tiBih048eYOBVPkQE3r5Fl0gmUP4=","base64"); - - ///// - - let digest = crypto.createHash('sha256'); - // sendCounter to little-endian byte array - let counter=new Buffer(8); - writeLI64(sendCounter,counter,0); - digest.update(counter); - digest.update(packetPlaintext); - digest.update(secretKeyBytes); - let hash = digest.digest(); - assert(bufferEqual(hash, new Buffer("WkRtEcDHqlqesU6wdSnIz7cU3OCNKVMIsX3aXZMLRjQ=","base64")),hash.toString("base64")); - - let checksum = hash.slice(0,8); - assert(bufferEqual(checksum, new Buffer("5A446D11C0C7AA5A","hex"))); - }) -}); \ No newline at end of file diff --git a/test/decryption.js b/test/decryption.js deleted file mode 100644 index af898ee..0000000 --- a/test/decryption.js +++ /dev/null @@ -1,41 +0,0 @@ -const crypto=require("crypto"); -const assert=require("assert"); -const bufferEqual=require("buffer-equal"); - -// based on https://s.yawk.at/8W5U and https://confluence.yawk.at/display/PEPROTOCOL/Encryption -describe("decryption",() => { - let decipher; - before(() => { - - let secretKeyBytes = new Buffer("ZOBpyzki/M8UZv5tiBih048eYOBVPkQE3r5Fl0gmUP4=","base64"); - - ///// - - let iv = secretKeyBytes.slice(0,16); - - assert(bufferEqual(iv, new Buffer("ZOBpyzki/M8UZv5tiBih0w==","base64"))); - - - decipher = crypto.createDecipheriv('aes-256-cfb8', secretKeyBytes, iv); - }); - - - it("decrypt 1",cb => { - let packet1Encrypted = new Buffer("4B4FCA0C2A4114155D67F8092154AAA5EF","hex"); - decipher.once('data', packet1Decrypted => { - assert(bufferEqual(packet1Decrypted, new Buffer("0400000000499602D2FC2FCB233F34D5DD", "hex"))); - cb(); - }); - decipher.write(packet1Encrypted); - }); - - - it("decrypt 2",cb => { - let packet2Encrypted = new Buffer("DF53B9764DB48252FA1AE3AEE4","hex"); - decipher.once('data', packet2Decrypted => { - assert(bufferEqual(packet2Decrypted,new Buffer("3C000000085A446D11C0C7AA5A","hex"))); - cb(); - }); - decipher.write(packet2Encrypted); - }) -}); \ No newline at end of file diff --git a/test/ecdh_key_exchange.js b/test/ecdh_key_exchange.js deleted file mode 100644 index b49cf74..0000000 --- a/test/ecdh_key_exchange.js +++ /dev/null @@ -1,43 +0,0 @@ -const crypto=require("crypto"); -var Ber = require('asn1').Ber; -const assert=require("assert"); -const bufferEqual=require("buffer-equal"); - -// based on https://s.yawk.at/VZSf and https://confluence.yawk.at/display/PEPROTOCOL/Encryption -// and https://github.com/PrismarineJS/bedrock-protocol/issues/15 -describe("ecdh key exchange",() => { - it("generate the secret",() => { - - const pubKeyStr = "MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEDEKneqEvcqUqqFMM1HM1A4zWjJC+I8Y+aKzG5dl+6wNOHHQ4NmG2PEXRJYhujyodFH+wO0dEr4GM1WoaWog8xsYQ6mQJAC0eVpBM96spUB1eMN56+BwlJ4H3Qx4TAvAs"; - - var reader = new Ber.Reader(new Buffer(pubKeyStr, "base64")); - reader.readSequence(); - reader.readSequence(); - reader.readOID(); // Hey, I'm an elliptic curve - reader.readOID(); // This contains the curve type, could be useful - -// The first byte is unused, it contains the "number of unused bits in last octet" -// The pubKey should start at "04" which signifies it is an "uncompressed" public key. - var pubKey = new Buffer(reader.readString(Ber.BitString, true)).slice(1); - -// It'd be better to get this from the curve type OID - var server = crypto.createECDH('secp384r1'); -//server.generateKeys(); - server.setPrivateKey("oH53xXsdMRt6VbjlUUggn/QTcUQUqOHcvHl+U1jaGAUe8TP9H3XdKeoqSAKrKBGG", "base64"); - let secret = server.computeSecret(pubKey); - assert(bufferEqual(secret, new Buffer("sM5HvG6efG0RwRe7S+Er9ingxuVzC6HIXmQ1DITVkh4GmX7pboSzbLtaTTNKE8bJ", "base64"))); - - }); - - - it("create the secret key",() => { - let secret=new Buffer("sM5HvG6efG0RwRe7S+Er9ingxuVzC6HIXmQ1DITVkh4GmX7pboSzbLtaTTNKE8bJ", "base64"); - let hash = crypto.createHash('sha256'); - hash.update("SO SECRET VERY SECURE"); - hash.update(secret); - let secretKey = hash.digest(); - - let expected=new Buffer("PN/4NCtRswMTwfpOKRecbMncwxa91Fx4QSUlad46jrc","base64"); - assert(bufferEqual(secretKey,expected),secretKey.toString("base64")+"!="+expected.toString("base64")); - }) -}); \ No newline at end of file diff --git a/test/serialization.js b/test/serialization.js deleted file mode 100644 index bde8b37..0000000 --- a/test/serialization.js +++ /dev/null @@ -1,296 +0,0 @@ -const fs = require('fs') -const { createDeserializer, createSerializer } = require('../src/transforms/serializer') - -function test() { - const serializer = createSerializer() - const deserializer = createDeserializer() - - function write(name, params) { - const packet = serializer.createPacketBuffer({ name, params }) - console.log('Encoded', packet) - return packet - } - - function read(packet) { - const des = deserializer.parsePacketBuffer(packet) - return des - } - - async function creativeTest() { - let CreativeItems = require('../../data/creativeitems.json') - - let items = [] - let ids = 0 - for (var item of CreativeItems) { - let creativeitem = { runtime_id: items.length } - if (item.id != 0) { - const hasNbt = !!item.nbt_b64 - creativeitem.item = { - network_id: item.id, - auxiliary_value: item.damage || 0, - has_nbt: hasNbt, - nbt: { version: 1 }, - blocking_tick: 0, - can_destroy: [], - can_place_on: [] - } - if (hasNbt) { - let nbtBuf = Buffer.from(item.nbt_b64, 'base64') - let { result } = await NBT.parse(nbtBuf, 'little') - - const buf = NBT.writeUncompressed(result, 'littleVarint') - - console.log(nbtBuf, buf, JSON.stringify(result)) - - console.log('\n') - - let res2 = await NBT.parse(buf, 'littleVarint') - console.log(JSON.stringify(result), JSON.stringify(res2.result)) - console.assert(JSON.stringify(result) == JSON.stringify(res2.result), JSON.stringify(result), JSON.stringify(res2.result)) - - console.log('\n') - - creativeitem.item.nbt.nbt = result - } - } - - items.push(creativeitem) - console.log(JSON.stringify(creativeitem)) - // console.log(JSON.stringify(creativeitem)) - - var s = write('creative_content', { items: [creativeitem] }) - var d = read(s).data.params - - // console.log(JSON.stringify(d), JSON.stringify(s)) - // if (JSON.stringify(d) != JSON.stringify(creative_content)) throw 'mismatch' - } - } - - async function creativeTst() { - var creativeitem = { - "runtime_id": 1166, - "item": { - "network_id": 403, - "auxiliary_value": 0, - "has_nbt": true, - "nbt": { - "version": 1, - "nbt": { - "type": "compound", - "name": "", - "value": { - "ench": { - "type": "list", - "value": { - "type": "compound", - "value": [ - { - "id": { - "type": "short", - "value": 0 - }, - "lvl": { - "type": "short", - "value": 1 - } - } - ] - } - } - } - } - }, - "blocking_tick": 0, - "can_destroy": [], - "can_place_on": [] - } - } - - var s = write('creative_content', { items: [creativeitem] }) - var d = read(s).data.params - console.log(JSON.stringify(d)) - } - - async function availableCommands() { - var avaliable = { - enum_values: ['true', 'false'], - suffixes: ['L'], - enums: [ - { - name: 'Boolean', - values_len: 2, - values: [0, 1] - } - ], - command_data: [ - { - name: 'give', - description: 'Gives you items', - flags: 0, - permission_level: 0, - alias: -1, - overloads: [ - [ - { paramater_name: 'player id', paramater_type: 2, optional: false, flags: { "collapse_enum": 1 } } - ], - [ - { paramater_name: 'item id', paramater_type: 2, optional: false, flags: 0 }, - ] - ], - }, - { - name: 'xp', - description: 'Gives you xp', - flags: 0, permission_level: 0, alias: -1, - overloads: [ - [{ paramater_name: 'player id', paramater_type: 2, optional: false, flags: 0 }] - ] - } - ], - enum_constraints: [ - { - value_index: 2, enum_index: 3, constraints: [ - { constraint: 'cheats_enabled' } - ] - }, - ], - dynamic_enums: [ - { name: 'Hello', values: ['yolo', 'yee'] } - ] - } - - var s = write('available_commands', avaliable) - var d = read(s).data.params - console.log(JSON.stringify(d, null, 2)) - } - - async function avaliableCmd() { - const buffer = Buffer.from(fs.readFileSync('./serialization/available_commands.txt', 'utf8'), 'hex') - const readed = read(buffer) - const recipes = readed.data.params.enums - console.log('read', recipes) - fs.writeFileSync('commands.json', JSON.stringify(readed.data,null,2)) - } - - async function creativeTestNew() { - const json = require('../src/packets/creative_content.json') - const buf = write('creative_content', json) - - const des = read(buf) - fs.writeFileSync('cc.json', serialize(des.data.params, 2)) - console.log('Des', des) - } - - async function biomeDefinitions() { - const json = require('../src/packets/biome_definition_list.json') - const buf = write('biome_definition_list', json) - - const des = read(buf) - fs.writeFileSync('cc.json', serialize(des.data.params, 2)) - console.log('Des', des) - } - - async function playerList() { - const buf = Buffer.from('3f0001cc304faee0c9f37b41c80c39333e3f9cfdffffff5f0c546865496e766973696f6e58103235333534303837333838353837323000070000003f35656236356637332d616631312d343438652d383261612d3162376231363533313661642e706572736f6e612d653139393637326138633161383765302d30000100000001000000040000000000000000000000000000000000056e756c6c0a00000100003f35656236356637332d616631312d343438652d383261612d3162376231363533313661642e706572736f6e612d653139393637326138633161383765302d300477696465092366666666636439360000000000000000000000', 'hex') - const des = read(buf) - console.log(serialize(des.data.params, 2)) - } - - async function startGame() { - const s = '0bfdffffff5f090a32bc2144723d8342a1b99b420000000048ff21c3f6fafadb02000006706c61696e7300020002b006ffff010800c2b79505000000d48ca03e00000000000101060600001b12636f6d6d616e64626c6f636b6f757470757401010f646f6461796c696768746379636c6501010d646f656e7469747964726f707301010a646f666972657469636b010109646f6d6f626c6f6f7401010d646f6d6f62737061776e696e6701010b646f74696c6564726f707301010e646f776561746865726379636c6501010e64726f776e696e6764616d61676501010a66616c6c64616d61676501010a6669726564616d61676501010d6b656570696e76656e746f727901000b6d6f626772696566696e6701010370767001010f73686f77636f6f7264696e617465730100136e61747572616c726567656e65726174696f6e01010b746e746578706c6f64657301011373656e64636f6d6d616e64666565646261636b0101156d6178636f6d6d616e64636861696e6c656e67746802feff070a646f696e736f6d6e6961010114636f6d6d616e64626c6f636b73656e61626c656401010f72616e646f6d7469636b7370656564020212646f696d6d6564696174657265737061776e01001173686f7764656174686d6573736167657301011466756e6374696f6e636f6d6d616e646c696d697402a09c010b737061776e726164697573020a0873686f7774616773010100000000000000020400000000000001000000012a100000001000000000000d426564726f636b206c6576656c0d426564726f636b206c6576656c2430303030303030302d303030302d303030302d303030302d30303030303030303030303000026e5f520000000000e89280c209009207146d696e6563726166743a636f6f6b65645f636f640c0100166d696e6563726166743a7075727075725f626c6f636bc900000d6d696e6563726166743a626f772c0100146d696e6563726166743a656e645f627269636b73ce00000d6d696e6563726166743a61697262ff001c6d696e6563726166743a656e6465726d616e5f737061776e5f656767b80100196d696e6563726166743a6d757369635f646973635f77617264150200106d696e6563726166743a726162626974200100206d696e6563726166743a637265657065725f62616e6e65725f7061747465726e3c0200146d696e6563726166743a656c656d656e745f3235dcff00176d696e6563726166743a6d757368726f6f6d5f73746577040100286d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f627269636b5f736c6162e4fe00196d696e6563726166743a636f6f6b65645f706f726b63686f700701001b6d696e6563726166743a726176616765725f737061776e5f656767eb01001a6d696e6563726166743a73747269707065645f6f616b5f6c6f67f6ff000f6d696e6563726166743a6170706c65010100146d696e6563726166743a656c656d656e745f3530c3ff001a6d696e6563726166743a6d757369635f646973635f63686972700f0200226d696e6563726166743a707269736d6172696e655f627269636b735f737461697273fcff00176d696e6563726166743a636f6f6b65645f726162626974210100146d696e6563726166743a656c656d656e745f3334d3ff00176d696e6563726166743a71756172747a5f627269636b73d0fe00186d696e6563726166743a6974656d2e69726f6e5f646f6f724700000d6d696e6563726166743a636f64080100166d696e6563726166743a676f6c64656e5f6170706c65020100136d696e6563726166743a626f6f6b7368656c662f00001c6d696e6563726166743a676f6c64656e5f686f7273655f61726d6f720a02001e6d696e6563726166743a736d6f6f74685f71756172747a5f73746169727347ff00106d696e6563726166743a706f7461746f180100206d696e6563726166743a656e6368616e7465645f676f6c64656e5f6170706c65030100156d696e6563726166743a6e65746865725f73746172fc0100146d696e6563726166743a656c656d656e745f3135e6ff001c6d696e6563726166743a6974656d2e6461726b5f6f616b5f646f6f72c50000156d696e6563726166743a6c696768745f626c6f636b29ff00226d696e6563726166743a79656c6c6f775f676c617a65645f7465727261636f747461e000001c6d696e6563726166743a73746f6e655f627269636b5f7374616972736d0000106d696e6563726166743a706f7274616c5a0000146d696e6563726166743a676f6c645f696e676f74320100146d696e6563726166743a69726f6e5f696e676f74310100196d696e6563726166743a736c696d655f737061776e5f656767bb01000f6d696e6563726166743a7363757465320200106d696e6563726166743a636f6f6b69650f0100126d696e6563726166743a706f726b63686f70060100176d696e6563726166743a6469616d6f6e645f626c6f636b3900000f6d696e6563726166743a6272656164050100136d696e6563726166743a656c656d656e745f37eeff00166d696e6563726166743a69726f6e5f7069636b6178652901001c6d696e6563726166743a70696c6c616765725f737061776e5f656767e90100146d696e6563726166743a656c656d656e745f3237daff000e6d696e6563726166743a62656566110100196d696e6563726166743a626c617a655f737061776e5f656767c60100106d696e6563726166743a73616c6d6f6e090100226d696e6563726166743a73696c7665725f676c617a65645f7465727261636f747461e40000176d696e6563726166743a74726f706963616c5f666973680a0100156d696e6563726166743a636f636f615f6265616e739a0100156d696e6563726166743a776f6f64656e5f736c61629e0000146d696e6563726166743a656c656d656e745f3136e5ff00126d696e6563726166743a7472697077697265840000136d696e6563726166743a73746f6e655f6178653b01001c6d696e6563726166743a737461696e65645f676c6173735f70616e65a000000f6d696e6563726166743a616e76696c910000176d696e6563726166743a747261707065645f6368657374920000186d696e6563726166743a616e6369656e745f646562726973f1fe00146d696e6563726166743a707566666572666973680b0100106d696e6563726166743a6275636b6574680100176d696e6563726166743a636f6f6b65645f73616c6d6f6e0d0100146d696e6563726166743a656c656d656e745f3631b8ff00126d696e6563726166743a737061726b6c65724d0200156d696e6563726166743a7761727065645f646f6f725d0200146d696e6563726166743a64726965645f6b656c700e0100176d696e6563726166743a62656574726f6f745f736f75701e0100166d696e6563726166743a7265645f6d757368726f6f6d280000186d696e6563726166743a776f6f64656e5f7069636b617865360100176d696e6563726166743a6974656d2e63616d70666972652fff00156d696e6563726166743a6d656c6f6e5f736c696365100100136d696e6563726166743a6861795f626c6f636baa0000176d696e6563726166743a776f6f64656e5f73686f76656c350100186d696e6563726166743a6e617574696c75735f7368656c6c300200136d696e6563726166743a656c656d656e745f31f4ff001b6d696e6563726166743a73746f6e656375747465725f626c6f636b3bff00156d696e6563726166743a636f6f6b65645f62656566120100146d696e6563726166743a636f6d70617261746f72000200106d696e6563726166743a636172726f741701001b6d696e6563726166743a737472696465725f737061776e5f656767ed0100176d696e6563726166743a636f6d6d616e645f626c6f636b890000116d696e6563726166743a636869636b656e130100106d696e6563726166743a706f74696f6ea80100166d696e6563726166743a726f7474656e5f666c657368150100196d696e6563726166743a77697463685f737061776e5f656767c201000e6d696e6563726166743a64697274030000146d696e6563726166743a656c656d656e745f3632b7ff001b6d696e6563726166743a6461796c696768745f6465746563746f72970000146d696e6563726166743a736e6f775f6c617965724e0000156d696e6563726166743a7261626269745f666f6f740602001a6d696e6563726166743a6c696e676572696e675f706f74696f6e280200126d696e6563726166743a63616d7066697265420200106d696e6563726166743a736d6f6b65723aff00166d696e6563726166743a7761727065645f66656e6365fffe00186d696e6563726166743a636f6f6b65645f636869636b656e140100266d696e6563726166743a6c696768745f626c75655f676c617a65645f7465727261636f747461df0000156d696e6563726166743a73746f6e655f73776f7264380100146d696e6563726166743a7370696465725f657965160100196d696e6563726166743a686f7273655f737061776e5f656767c80100166d696e6563726166743a62616b65645f706f7461746f190100176d696e6563726166743a676f6c64656e5f636172726f741b0100176d696e6563726166743a7370727563655f7374616972738600001a6d696e6563726166743a706f69736f6e6f75735f706f7461746f1a0100146d696e6563726166743a656c656d656e745f3133e8ff00126d696e6563726166743a6f6273696469616e310000156d696e6563726166743a70756d706b696e5f7069651c0100196d696e6563726166743a6469616d6f6e645f7069636b6178653e0100116d696e6563726166743a6c616e7465726e30ff00146d696e6563726166743a69726f6e5f73776f7264330100166d696e6563726166743a736d6f6f74685f73746f6e6549ff00126d696e6563726166743a62656574726f6f741d01001a6d696e6563726166743a6d757369635f646973635f7374726164140200146d696e6563726166743a656c656d656e745f3433caff001a6d696e6563726166743a696e76697369626c65626564726f636b5f0000176d696e6563726166743a73776565745f626572726965731f0100156d696e6563726166743a7261626269745f73746577220100156d696e6563726166743a77686561745f73656564732301001b6d696e6563726166743a6974656d2e6372696d736f6e5f646f6f720cff000f6d696e6563726166743a6368657374360000176d696e6563726166743a70756d706b696e5f7365656473240100136d696e6563726166743a656c656d656e745f32f3ff00206d696e6563726166743a636f6d6d616e645f626c6f636b5f6d696e6563617274290200156d696e6563726166743a6d656c6f6e5f7365656473250100136d696e6563726166743a737061776e5f656767660200126d696e6563726166743a69726f6e5f6178652a0100156d696e6563726166743a6e65746865725f77617274260100186d696e6563726166743a62656574726f6f745f7365656473270100146d696e6563726166743a656c656d656e745f3335d2ff00156d696e6563726166743a656c656d656e745f3130348dff00156d696e6563726166743a69726f6e5f73686f76656c280100186d696e6563726166743a6772616e6974655f73746169727357ff00196d696e6563726166743a666c696e745f616e645f737465656c2b01001a6d696e6563726166743a7a6f676c696e5f737061776e5f656767f00100166d696e6563726166743a73746f6e655f73686f76656c390100156d696e6563726166743a6d656c6f6e5f626c6f636b6700000f6d696e6563726166743a6172726f772d01000e6d696e6563726166743a636f616c2e0100216d696e6563726166743a7265616c5f646f75626c655f73746f6e655f736c616232b50000126d696e6563726166743a63686172636f616c2f0100196d696e6563726166743a73747261795f737061776e5f656767cc0100116d696e6563726166743a636172726f74738d0000116d696e6563726166743a6469616d6f6e64300100166d696e6563726166743a776f6f64656e5f73776f7264340100196d696e6563726166743a6e65746865726974655f626f6f7473580200196d696e6563726166743a6d757369635f646973635f6d616c6c110200196d696e6563726166743a6461726b5f6f616b5f737461697273a40000146d696e6563726166743a776f6f64656e5f617865370100126d696e6563726166743a6661726d6c616e643c00001a6d696e6563726166743a6372696d736f6e5f74726170646f6f720aff00216d696e6563726166743a7a6f6d6269655f7069676d616e5f737061776e5f656767be0100176d696e6563726166743a73746f6e655f7069636b6178653a0100176d696e6563726166743a73616c6d6f6e5f6275636b65746d0100106d696e6563726166743a706c616e6b730500001a6d696e6563726166743a636861696e6d61696c5f68656c6d6574530100186d696e6563726166743a6469616d6f6e645f73686f76656c3d0100176d696e6563726166743a6469616d6f6e645f73776f72643c0100186d696e6563726166743a736d697468696e675f7461626c6536ff00156d696e6563726166743a6469616d6f6e645f6178653f01000f6d696e6563726166743a737469636b400100176d696e6563726166743a666c6f77696e675f77617465720800000e6d696e6563726166743a626f776c410100166d696e6563726166743a676f6c64656e5f73776f7264420100156d696e6563726166743a686f6e65795f626c6f636b24ff00176d696e6563726166743a676f6c64656e5f73686f76656c430100106d696e6563726166743a656c797472612a02001b6d696e6563726166743a6c69745f72656473746f6e655f6c616d707c0000186d696e6563726166743a676f6c64656e5f7069636b617865440100146d696e6563726166743a676f6c64656e5f617865450100146d696e6563726166743a656c656d656e745f3532c1ff00106d696e6563726166743a737472696e67460100216d696e6563726166743a7265616c5f646f75626c655f73746f6e655f736c61623458ff00116d696e6563726166743a66656174686572470100136d696e6563726166743a67756e706f776465724801001e6d696e6563726166743a736b756c6c5f62616e6e65725f7061747465726e3d0200176d696e6563726166743a6163616369615f737461697273a30000146d696e6563726166743a776f6f64656e5f686f65490100196d696e6563726166743a70616e64615f737061776e5f656767e70100136d696e6563726166743a73746f6e655f686f654a0100126d696e6563726166743a69726f6e5f686f654b0100146d696e6563726166743a656c656d656e745f38369fff00156d696e6563726166743a6469616d6f6e645f686f654c0100146d696e6563726166743a676f6c64656e5f686f654d0100156d696e6563726166743a6d6167656e74615f6479659601000f6d696e6563726166743a77686561744e0100186d696e6563726166743a6c6561746865725f68656c6d65744f01001c6d696e6563726166743a6c6561746865725f6368657374706c6174655001001a6d696e6563726166743a6c6561746865725f6c656767696e6773510100206d696e6563726166743a676c6973746572696e675f6d656c6f6e5f736c696365b00100136d696e6563726166743a6c6f646573746f6e6522ff00186d696e6563726166743a62726f776e5f6d757368726f6f6d270000176d696e6563726166743a6c6561746865725f626f6f7473520100156d696e6563726166743a656e645f67617465776179d100001e6d696e6563726166743a636861696e6d61696c5f6368657374706c617465540100176d696e6563726166743a6974656d2e62656574726f6f74f40000156d696e6563726166743a656c656d656e745f31303190ff001c6d696e6563726166743a636861696e6d61696c5f6c656767696e6773550100196d696e6563726166743a636861696e6d61696c5f626f6f7473560100136d696e6563726166743a736f756c5f73616e64580000156d696e6563726166743a69726f6e5f68656c6d6574570100126d696e6563726166743a736e6f7762616c6c740100146d696e6563726166743a656c656d656e745f3439c4ff00196d696e6563726166743a69726f6e5f6368657374706c617465580100106d696e6563726166743a62617272656c35ff00176d696e6563726166743a69726f6e5f6c656767696e6773590100146d696e6563726166743a69726f6e5f626f6f74735a0100216d696e6563726166743a7265616c5f646f75626c655f73746f6e655f736c61623359ff00136d696e6563726166743a656e6465725f657965af01001c6d696e6563726166743a6d757369635f646973635f70696773746570600200226d696e6563726166743a737469636b79706973746f6e61726d636f6c6c6973696f6e27ff00176d696e6563726166743a69726f6e5f74726170646f6f72a70000186d696e6563726166743a6469616d6f6e645f68656c6d65745b01001e6d696e6563726166743a73746f6e655f70726573737572655f706c6174654600001c6d696e6563726166743a6469616d6f6e645f6368657374706c6174655c01000e6d696e6563726166743a73616e640c0000276d696e6563726166743a6c696768745f77656967687465645f70726573737572655f706c617465930000106d696e6563726166743a706973746f6e2100001a6d696e6563726166743a6469616d6f6e645f6c656767696e67735d0100146d696e6563726166743a656c656d656e745f3330d7ff00176d696e6563726166743a6469616d6f6e645f626f6f74735e0100176d696e6563726166743a676f6c64656e5f68656c6d65745f0100146d696e6563726166743a656c656d656e745f3531c2ff001c6d696e6563726166743a646f75626c655f776f6f64656e5f736c61629d0000146d696e6563726166743a656c656d656e745f3834a1ff001c6d696e6563726166743a686172645f737461696e65645f676c617373fe00001b6d696e6563726166743a676f6c64656e5f6368657374706c617465600100146d696e6563726166743a7365616c616e7465726ea90000136d696e6563726166743a676c6f7773746f6e65590000196d696e6563726166743a676f6c64656e5f6c656767696e6773610100166d696e6563726166743a676f6c64656e5f626f6f7473620100106d696e6563726166743a736869656c646301001b6d696e6563726166743a6a756e676c655f66656e63655f67617465b90000166d696e6563726166743a666c6f77696e675f6c6176610a0000196d696e6563726166743a6167656e745f737061776e5f656767e50100106d696e6563726166743a636172706574ab00000f6d696e6563726166743a666c696e74640100126d696e6563726166743a7061696e74696e676501001a6d696e6563726166743a68656172745f6f665f7468655f736561310200226d696e6563726166743a6d6f7373795f636f62626c6573746f6e655f7374616972734dff00126d696e6563726166743a6f616b5f7369676e660100196d696e6563726166743a6d757369635f646973635f77616974170200146d696e6563726166743a656c656d656e745f3535beff00156d696e6563726166743a776f6f64656e5f646f6f72670100156d696e6563726166743a6d696c6b5f6275636b6574690100146d696e6563726166743a656c656d656e745f3734abff00166d696e6563726166743a77617465725f6275636b65746a01001b6d696e6563726166743a7368756c6b65725f737061776e5f656767d30100116d696e6563726166743a7265645f6479658a01000e6d696e6563726166743a626f6e659d0100236d696e6563726166743a6d6167656e74615f676c617a65645f7465727261636f747461de0000156d696e6563726166743a6c6176615f6275636b65746b01001e6d696e6563726166743a76696e64696361746f725f737061776e5f656767d80100146d696e6563726166743a636f645f6275636b65746c01001e6d696e6563726166743a74726f706963616c5f666973685f6275636b65746e0100136d696e6563726166743a656c656d656e745f36efff001b6d696e6563726166743a707566666572666973685f6275636b65746f0100196d696e6563726166743a636f6e63726574655f706f77646572ed0000126d696e6563726166743a6d696e6563617274700100106d696e6563726166743a736164646c657101001b6d696e6563726166743a6e65746865725f776172745f626c6f636bd60000156d696e6563726166743a656c656d656e745f31313681ff00176d696e6563726166743a6372696d736f6e5f726f6f747321ff00136d696e6563726166743a69726f6e5f646f6f72720100126d696e6563726166743a72656473746f6e65730100226d696e6563726166743a656c6465725f677561726469616e5f737061776e5f656767d50100126d696e6563726166743a63726f7373626f77350200186d696e6563726166743a616374697661746f725f7261696c7e0000126d696e6563726166743a6f616b5f626f6174750100146d696e6563726166743a656c656d656e745f393794ff00146d696e6563726166743a62697263685f626f6174760100146d696e6563726166743a707269736d6172696e65a80000216d696e6563726166743a706f6c69736865645f6772616e6974655f73746169727354ff00156d696e6563726166743a6a756e676c655f626f61747701001e6d696e6563726166743a73696c766572666973685f737061776e5f656767b90100196d696e6563726166743a6368656d69737472795f7461626c65ee0000156d696e6563726166743a7370727563655f626f6174780100146d696e6563726166743a656c656d656e745f3236dbff00156d696e6563726166743a6163616369615f626f6174790100176d696e6563726166743a6461726b5f6f616b5f626f61747a0100126d696e6563726166743a69726f6e5f6f72650f0000166d696e6563726166743a7772697474656e5f626f6f6bf50100116d696e6563726166743a6c6561746865727b01000e6d696e6563726166743a6b656c707c0100156d696e6563726166743a676f6c645f6e7567676574a701000f6d696e6563726166743a627269636b7d0100136d696e6563726166743a636c61795f62616c6c7e0100146d696e6563726166743a73756761725f63616e657f0100156d696e6563726166743a6c69745f70756d706b696e5b0000196d696e6563726166743a6e65746865726974655f696e676f744f02000f6d696e6563726166743a7061706572800100146d696e6563726166743a656c656d656e745f3233deff000f6d696e6563726166743a636f72616c7dff000e6d696e6563726166743a626f6f6b810100146d696e6563726166743a656e645f706f7274616c770000116d696e6563726166743a74726964656e74180200146d696e6563726166743a736c696d655f62616c6c820100186d696e6563726166743a63686573745f6d696e65636172748301000d6d696e6563726166743a656767840100176d696e6563726166743a636f775f737061776e5f656767b20100196d696e6563726166743a6d757369635f646973635f7374616c130200196d696e6563726166743a6e65746865726974655f73776f7264500200146d696e6563726166743a6974656d2e7265656473530000116d696e6563726166743a636f6d70617373850100186d696e6563726166743a6372696d736f6e5f73746169727302ff00156d696e6563726166743a66697368696e675f726f64860100136d696e6563726166743a726573657276656436ff0000196d696e6563726166743a616e6465736974655f73746169727355ff000f6d696e6563726166743a636c6f636b8701001a6d696e6563726166743a6f63656c6f745f737061776e5f656767c10100176d696e6563726166743a7370727563655f627574746f6e70ff00176d696e6563726166743a7265645f73616e6473746f6e65b30000186d696e6563726166743a676c6f7773746f6e655f64757374880100136d696e6563726166743a626c61636b5f647965890100136d696e6563726166743a677265656e5f6479658b0100156d696e6563726166743a7368756c6b65725f626f78da00000e6d696e6563726166743a64656e79d30000176d696e6563726166743a6265655f737061776e5f656767ec0100136d696e6563726166743a62726f776e5f6479658c0100126d696e6563726166743a626c75655f6479658d01000f6d696e6563726166743a6672616d65f701001b6d696e6563726166743a62726577696e677374616e64626c6f636b750000136d696e6563726166743a6974656d2e63616b655c0000146d696e6563726166743a707572706c655f6479658e01000d6d696e6563726166743a647965640200176d696e6563726166743a6d757369635f646973635f31330c0200126d696e6563726166743a6379616e5f6479658f0100136d696e6563726166743a626c617a655f726f64a50100186d696e6563726166743a6c696768745f677261795f647965900100126d696e6563726166743a677261795f647965910100206d696e6563726166743a7069676c696e5f62727574655f737061776e5f656767f10100146d696e6563726166743a656c656d656e745f3431ccff001a6d696e6563726166743a7261626269745f737061776e5f656767c90100126d696e6563726166743a70696e6b5f647965920100126d696e6563726166743a6c696d655f647965930100146d696e6563726166743a79656c6c6f775f647965940100176d696e6563726166743a626c6173745f6675726e6163653cff00146d696e6563726166743a656c656d656e745f3130ebff00186d696e6563726166743a6c696768745f626c75655f647965950100146d696e6563726166743a747572746c655f65676761ff000d6d696e6563726166743a626564a00100176d696e6563726166743a737461696e65645f676c617373f10000146d696e6563726166743a6f72616e67655f647965970100146d696e6563726166743a656c656d656e745f3134e7ff00136d696e6563726166743a77686974655f647965980100196d696e6563726166743a6974656d2e666c6f7765725f706f748c0000136d696e6563726166743a626f6e655f6d65616c990100176d696e6563726166743a747572746c655f68656c6d6574330200116d696e6563726166743a756e6b6e6f776ecffe00116d696e6563726166743a696e6b5f7361639b01001f6d696e6563726166743a73747269707065645f6372696d736f6e5f7374656d10ff00166d696e6563726166743a6c617069735f6c617a756c699c0100166d696e6563726166743a63686f7275735f6672756974240200106d696e6563726166743a63616d657261460200196d696e6563726166743a737573706963696f75735f737465774302000f6d696e6563726166743a73756761729e01001b6d696e6563726166743a637265657065725f737061776e5f656767b70100126d696e6563726166743a6e616d655f7461671a02000e6d696e6563726166743a63616b659f0100126d696e6563726166743a7265706561746572a10100106d696e6563726166743a626561636f6e8a00001e6d696e6563726166743a6e65746865726974655f6368657374706c617465560200226d696e6563726166743a706f6c69736865645f616e6465736974655f73746169727352ff00146d696e6563726166743a66696c6c65645f6d6170a201001b6d696e6563726166743a64726f776e65645f737061776e5f656767e101001e6d696e6563726166743a756e706f77657265645f636f6d70617261746f72950000106d696e6563726166743a736865617273a30100146d696e6563726166743a656c656d656e745f3331d6ff00156d696e6563726166743a656e6465725f706561726ca401001e6d696e6563726166743a7265645f73616e6473746f6e655f737461697273b40000186d696e6563726166743a6361727665645f70756d706b696e65ff00146d696e6563726166743a67686173745f74656172a60100166d696e6563726166743a676c6173735f626f74746c65a90100176d696e6563726166743a636f6f6b65645f6d7574746f6e1d0200146d696e6563726166743a656c656d656e745f3434c9ff002a6d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f627269636b5f737461697273edfe001f6d696e6563726166743a6a756e676c655f70726573737572655f706c61746567ff001e6d696e6563726166743a6665726d656e7465645f7370696465725f657965aa0100196d696e6563726166743a686f6e6579636f6d625f626c6f636b23ff00166d696e6563726166743a626c617a655f706f77646572ab0100156d696e6563726166743a6d61676d615f637265616dac0100106d696e6563726166743a6a69677361772dff00176d696e6563726166743a62726577696e675f7374616e64ad0100156d696e6563726166743a656c656d656e745f31313186ff00126d696e6563726166743a6361756c64726f6eae01001b6d696e6563726166743a636869636b656e5f737061776e5f656767b10100176d696e6563726166743a7069675f737061776e5f656767b30100196d696e6563726166743a73686565705f737061776e5f656767b401001a6d696e6563726166743a706172726f745f737061776e5f656767dc0100186d696e6563726166743a776f6c665f737061776e5f656767b501001d6d696e6563726166743a6d6f6f7368726f6f6d5f737061776e5f656767b60100146d696e6563726166743a66656e63655f676174656b00001c6d696e6563726166743a736b656c65746f6e5f737061776e5f656767ba01001c6d696e6563726166743a646f75626c655f73746f6e655f736c6162335eff00156d696e6563726166743a627269636b5f626c6f636b2d00001a6d696e6563726166743a7370696465725f737061776e5f656767bc0100106d696e6563726166743a626c656163684902001a6d696e6563726166743a636f6c6f7265645f746f7263685f7267ca00001a6d696e6563726166743a7a6f6d6269655f737061776e5f656767bd0100146d696e6563726166743a656c656d656e745f3231e0ff001c6d696e6563726166743a76696c6c616765725f737061776e5f656767bf0100136d696e6563726166743a636f6d706f737465722bff00196d696e6563726166743a73717569645f737061776e5f656767c001001c6d696e6563726166743a706f77657265645f636f6d70617261746f72960000176d696e6563726166743a6261745f737061776e5f656767c30100196d696e6563726166743a67686173745f737061776e5f656767c40100136d696e6563726166743a656c656d656e745f30240000156d696e6563726166743a6d6f625f737061776e6572340000206d696e6563726166743a63686973656c65645f6e65746865725f627269636b73d2fe001e6d696e6563726166743a6d61676d615f637562655f737061776e5f656767c50100156d696e6563726166743a7761727065645f7369676e5b02000f6d696e6563726166743a636861696e5f0200226d696e6563726166743a7761727065645f66756e6775735f6f6e5f615f737469636b5e02001f6d696e6563726166743a636176655f7370696465725f737061776e5f656767c70100176d696e6563726166743a736f756c5f63616d70666972656202001d6d696e6563726166743a656e6465726d6974655f737061776e5f656767ca01001c6d696e6563726166743a677561726469616e5f737061776e5f656767cb0100176d696e6563726166743a6372696d736f6e5f66656e636500ff00186d696e6563726166743a6875736b5f737061776e5f656767cd01001a6d696e6563726166743a7069676c696e5f737061776e5f656767ef0100176d696e6563726166743a77656570696e675f76696e657319ff00236d696e6563726166743a7769746865725f736b656c65746f6e5f737061776e5f656767ce0100196d696e6563726166743a676c6f77696e676f6273696469616ef60000116d696e6563726166743a6c656176657332a100001a6d696e6563726166743a646f6e6b65795f737061776e5f656767cf0100156d696e6563726166743a7370727563655f7369676e360200146d696e6563726166743a656c656d656e745f3539baff00186d696e6563726166743a6d756c655f737061776e5f656767d00100166d696e6563726166743a646f75626c655f706c616e74af0000156d696e6563726166743a656c656d656e745f31303988ff00226d696e6563726166743a736b656c65746f6e5f686f7273655f737061776e5f656767d101001b6d696e6563726166743a6e65746865726974655f7069636b617865520200116d696e6563726166743a6a756b65626f78540000206d696e6563726166743a7a6f6d6269655f686f7273655f737061776e5f656767d20100176d696e6563726166743a6e70635f737061776e5f656767d40100136d696e6563726166743a69726f6e5f62617273650000146d696e6563726166743a656c656d656e745f3830a5ff001e6d696e6563726166743a706f6c61725f626561725f737061776e5f656767d60100136d696e6563726166743a656e645f73746f6e65790000196d696e6563726166743a6c6c616d615f737061776e5f656767d70100196d696e6563726166743a6974656d2e62697263685f646f6f72c200001a6d696e6563726166743a65766f6b65725f737061776e5f656767d90100176d696e6563726166743a6d757369635f646973635f31311602001a6d696e6563726166743a6c69745f72656473746f6e655f6f72654a0000186d696e6563726166743a6372616674696e675f7461626c653a0000216d696e6563726166743a626c61636b5f676c617a65645f7465727261636f747461eb0000146d696e6563726166743a656c656d656e745f3537bcff001a6d696e6563726166743a7370727563655f77616c6c5f7369676e4aff00176d696e6563726166743a7665785f737061776e5f656767da0100196d696e6563726166743a7761727065645f74726170646f6f7209ff00186d696e6563726166743a7477697374696e675f76696e6573e1fe00246d696e6563726166743a6461796c696768745f6465746563746f725f696e766572746564b20000236d696e6563726166743a7a6f6d6269655f76696c6c616765725f737061776e5f656767db01001a6d696e6563726166743a72617069645f66657274696c697a65724a02000e6d696e6563726166743a636c6179520000216d696e6563726166743a74726f706963616c5f666973685f737061776e5f656767dd0100176d696e6563726166743a7374616e64696e675f7369676e3f0000176d696e6563726166743a636f645f737061776e5f656767de0100146d696e6563726166743a6974656d2e6672616d65c70000186d696e6563726166743a6372696d736f6e5f66756e6775731cff001e6d696e6563726166743a707566666572666973685f737061776e5f656767df01001c6d696e6563726166743a7265645f6d757368726f6f6d5f626c6f636b6400001a6d696e6563726166743a73616c6d6f6e5f737061776e5f656767e00100156d696e6563726166743a7761727065645f736c6162f7fe001c6d696e6563726166743a646f75626c655f73746f6e655f736c616232b600001b6d696e6563726166743a646f6c7068696e5f737061776e5f656767e20100136d696e6563726166743a656c656d656e745f39ecff001a6d696e6563726166743a747572746c655f737061776e5f656767e301001b6d696e6563726166743a7068616e746f6d5f737061776e5f656767e40100146d696e6563726166743a656c656d656e745f3238d9ff001a6d696e6563726166743a6974656d2e6163616369615f646f6f72c40000176d696e6563726166743a6361745f737061776e5f656767e60100176d696e6563726166743a666f785f737061776e5f656767e801001a6d696e6563726166743a636f62626c6573746f6e655f77616c6c8b0000106d696e6563726166743a71756172747a0202001b6d696e6563726166743a636172726f745f6f6e5f615f737469636bfb0100246d696e6563726166743a77616e646572696e675f7472616465725f737061776e5f656767ea0100126d696e6563726166743a74726170646f6f726000001a6d696e6563726166743a686f676c696e5f737061776e5f656767ee01001b6d696e6563726166743a657870657269656e63655f626f74746c65f20100196d696e6563726166743a6a756e676c655f74726170646f6f726cff00156d696e6563726166743a666972655f636861726765f30100146d696e6563726166743a656c656d656e745f3639b0ff00176d696e6563726166743a7772697461626c655f626f6f6bf40100116d696e6563726166743a656d6572616c64f60100146d696e6563726166743a666c6f7765725f706f74f80100106d696e6563726166743a6c6561766573120000136d696e6563726166743a656d7074795f6d6170f901000f6d696e6563726166743a736b756c6cfa0100186d696e6563726166743a6372696d736f6e5f6e796c69756d18ff00196d696e6563726166743a66697265776f726b5f726f636b6574fd0100156d696e6563726166743a656c656d656e745f3130328fff00176d696e6563726166743a66697265776f726b5f73746172fe01001a6d696e6563726166743a636f6c6f7265645f746f7263685f6270cc0000186d696e6563726166743a656e6368616e7465645f626f6f6bff01001a6d696e6563726166743a746f74656d5f6f665f756e6479696e672e0200156d696e6563726166743a6e6574686572627269636b010200166d696e6563726166743a746e745f6d696e6563617274030200146d696e6563726166743a656c656d656e745f3633b6ff00196d696e6563726166743a686f707065725f6d696e6563617274040200176d696e6563726166743a647261676f6e5f627265617468260200156d696e6563726166743a636f62626c6573746f6e65040000106d696e6563726166743a686f70706572050200156d696e6563726166743a7261626269745f686964650702001d6d696e6563726166743a6c6561746865725f686f7273655f61726d6f720802001a6d696e6563726166743a69726f6e5f686f7273655f61726d6f720902001d6d696e6563726166743a6469616d6f6e645f686f7273655f61726d6f720b0200186d696e6563726166743a6d757369635f646973635f6361740d0200156d696e6563726166743a6a756e676c655f646f6f722102001b6d696e6563726166743a6d757369635f646973635f626c6f636b730e0200136d696e6563726166743a73616e6473746f6e65180000176d696e6563726166743a776f6f64656e5f627574746f6e8f0000186d696e6563726166743a6d757369635f646973635f6661721002001c6d696e6563726166743a6d757369635f646973635f6d656c6c6f6869120200166d696e6563726166743a696e666f5f75706461746532f900000e6d696e6563726166743a6c6561641902001d6d696e6563726166743a707269736d6172696e655f6372797374616c731b0200156d696e6563726166743a6163616369615f7369676e390200106d696e6563726166743a6d7574746f6e1c0200146d696e6563726166743a656c656d656e745f3332d5ff00126d696e6563726166743a636f616c5f6f7265100000156d696e6563726166743a61726d6f725f7374616e641e0200156d696e6563726166743a7370727563655f646f6f721f02001a6d696e6563726166743a7068616e746f6d5f6d656d6272616e65340200146d696e6563726166743a62697263685f646f6f72200200156d696e6563726166743a6163616369615f646f6f72220200146d696e6563726166743a656c656d656e745f3432cbff00176d696e6563726166743a6461726b5f6f616b5f646f6f722302001c6d696e6563726166743a6e65746865726974655f6c656767696e67735702001d6d696e6563726166743a706f707065645f63686f7275735f6672756974250200146d696e6563726166743a656c656d656e745f3733acff00176d696e6563726166743a73706c6173685f706f74696f6e270200216d696e6563726166743a6461726b5f6f616b5f70726573737572655f706c61746568ff001a6d696e6563726166743a707269736d6172696e655f73686172642b0200126d696e6563726166743a73656167726173737eff00176d696e6563726166743a7368756c6b65725f7368656c6c2c0200186d696e6563726166743a72656473746f6e655f626c6f636b980000106d696e6563726166743a62616e6e65722d0200156d696e6563726166743a69726f6e5f6e75676765742f0200146d696e6563726166743a656c656d656e745f3338cfff00196d696e6563726166743a636f72616c5f66616e5f68616e673278ff00146d696e6563726166743a62697263685f7369676e370200186d696e6563726166743a636f72616c5f66616e5f646561647aff00116d696e6563726166743a62616c6c6f6f6e4b0200156d696e6563726166743a6a756e676c655f7369676e380200176d696e6563726166743a6461726b5f6f616b5f7369676e3a02001f6d696e6563726166743a666c6f7765725f62616e6e65725f7061747465726e3b0200216d696e6563726166743a706f6c69736865645f64696f726974655f73746169727353ff001f6d696e6563726166743a6d6f6a616e675f62616e6e65725f7061747465726e3e0200156d696e6563726166743a6d6f6e737465725f656767610000266d696e6563726166743a6669656c645f6d61736f6e65645f62616e6e65725f7061747465726e3f02000e6d696e6563726166743a62656c6c32ff00296d696e6563726166743a626f72647572655f696e64656e7465645f62616e6e65725f7061747465726e400200126d696e6563726166743a706f7461746f65738e00001f6d696e6563726166743a7069676c696e5f62616e6e65725f7061747465726e410200146d696e6563726166743a656c656d656e745f3738a7ff00136d696e6563726166743a686f6e6579636f6d624402001a6d696e6563726166743a7265645f6e65746865725f627269636bd70000166d696e6563726166743a686f6e65795f626f74746c65450200126d696e6563726166743a636f6d706f756e64470200126d696e6563726166743a6963655f626f6d62480200126d696e6563726166743a6d65646963696e654c0200176d696e6563726166743a7761727065645f66756e6775731bff00146d696e6563726166743a656c656d656e745f393299ff001a6d696e6563726166743a656e645f706f7274616c5f6672616d65780000146d696e6563726166743a676c6f775f737469636ba60000126d696e6563726166743a626c75655f696365f5ff00146d696e6563726166743a656c656d656e745f3833a2ff001b6d696e6563726166743a6c6f646573746f6e655f636f6d706173734e0200146d696e6563726166743a71756172747a5f6f72659900001a6d696e6563726166743a6e65746865726974655f73686f76656c5102001d6d696e6563726166743a636861696e5f636f6d6d616e645f626c6f636bbd00000e6d696e6563726166743a6c6f6f6d34ff001a6d696e6563726166743a6974656d2e7761727065645f646f6f720bff00176d696e6563726166743a6e65746865726974655f617865530200176d696e6563726166743a6e65746865726974655f686f655402001a6d696e6563726166743a6e65746865726974655f68656c6d6574550200196d696e6563726166743a6e65746865726974655f7363726170590200166d696e6563726166743a6372696d736f6e5f7369676e5a0200126d696e6563726166743a636f6e6372657465ec0000166d696e6563726166743a6372696d736f6e5f646f6f725c0200106d696e6563726166743a73706f6e6765130000186d696e6563726166743a6e65746865725f7370726f7574736102001b6d696e6563726166743a636172746f6772617068795f7461626c6538ff00196d696e6563726166743a626c61636b73746f6e655f736c6162e6fe00226d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f736c6162dbfe000f6d696e6563726166743a73746f6e650100000e6d696e6563726166743a776f6f6c230000176d696e6563726166743a79656c6c6f775f666c6f7765722500001f6d696e6563726166743a737461696e65645f68617264656e65645f636c61799f00000d6d696e6563726166743a6c6f671100000f6d696e6563726166743a66656e6365550000146d696e6563726166743a656c656d656e745f3533c0ff00146d696e6563726166743a73746f6e65627269636b6200001b6d696e6563726166743a6c69745f626c6173745f6675726e6163652aff00156d696e6563726166743a636f72616c5f626c6f636b7cff00246d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f627269636b73eefe00156d696e6563726166743a656c656d656e745f31303091ff001b6d696e6563726166743a646f75626c655f73746f6e655f736c61622c00000e6d696e6563726166743a7261696c4200001c6d696e6563726166743a646f75626c655f73746f6e655f736c6162345aff001d6d696e6563726166743a73747269707065645f6163616369615f6c6f67f8ff00206d696e6563726166743a7265616c5f646f75626c655f73746f6e655f736c61622b0000136d696e6563726166743a636f72616c5f66616e7bff00246d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f627574746f6ed8fe00146d696e6563726166743a7365615f7069636b6c6564ff00296d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f646f75626c655f736c6162dafe00116d696e6563726166743a7361706c696e67060000166d696e6563726166743a7761727065645f726f6f747320ff00146d696e6563726166743a656c656d656e745f3131eaff00146d696e6563726166743a7265645f666c6f776572260000136d696e6563726166743a77617465726c696c796f0000166d696e6563726166743a71756172747a5f626c6f636b9b0000136d696e6563726166743a736f756c5f736f696c14ff001f6d696e6563726166743a6163616369615f70726573737572655f706c6174656aff00136d696e6563726166743a74616c6c67726173731f0000156d696e6563726166743a656c656d656e745f3130338eff001e6d696e6563726166743a62726f776e5f6d757368726f6f6d5f626c6f636b6300000e6d696e6563726166743a6c6f6732a20000116d696e6563726166743a636f6e6475697463ff000f6d696e6563726166743a6d61676d61d50000146d696e6563726166743a656c656d656e745f3232dfff001c6d696e6563726166743a756e647965645f7368756c6b65725f626f78cd00001e6d696e6563726166743a7370727563655f7374616e64696e675f7369676e4bff00176d696e6563726166743a737469636b795f706973746f6e1d0000106d696e6563726166743a62616d626f6f5dff00126d696e6563726166743a6f62736572766572fb0000156d696e6563726166743a73636166666f6c64696e675bff00146d696e6563726166743a6772696e6473746f6e653dff00116d696e6563726166743a656e645f726f64d00000196d696e6563726166743a666c65746368696e675f7461626c6537ff00156d696e6563726166743a6974656d2e686f707065729a00000e6d696e6563726166743a776f6f642cff000d6d696e6563726166743a746e742e0000216d696e6563726166743a686172645f737461696e65645f676c6173735f70616e65bf00000f6d696e6563726166743a736c696d65a50000116d696e6563726166743a70756d706b696e560000166d696e6563726166743a6372696d736f6e5f736c6162f8fe00136d696e6563726166743a656c656d656e745f33f2ff00136d696e6563726166743a656c656d656e745f34f1ff00156d696e6563726166743a656e6465725f6368657374820000136d696e6563726166743a656c656d656e745f35f0ff00136d696e6563726166743a656c656d656e745f38edff00146d696e6563726166743a656c656d656e745f3132e9ff00146d696e6563726166743a656c656d656e745f3137e4ff00146d696e6563726166743a656c656d656e745f3138e3ff00146d696e6563726166743a656c656d656e745f3139e2ff00146d696e6563726166743a656c656d656e745f3230e1ff00146d696e6563726166743a656c656d656e745f3234ddff00146d696e6563726166743a656c656d656e745f3239d8ff00146d696e6563726166743a656c656d656e745f3333d4ff00146d696e6563726166743a656c656d656e745f3336d1ff000d6d696e6563726166743a6963654f0000146d696e6563726166743a656c656d656e745f3337d0ff00146d696e6563726166743a656c656d656e745f3339ceff00146d696e6563726166743a656c656d656e745f3430cdff00146d696e6563726166743a656c656d656e745f3435c8ff00146d696e6563726166743a656c656d656e745f3436c7ff00146d696e6563726166743a656c656d656e745f3437c6ff00146d696e6563726166743a656c656d656e745f3438c5ff00146d696e6563726166743a656c656d656e745f3534bfff00146d696e6563726166743a656c656d656e745f3536bdff00146d696e6563726166743a656c656d656e745f3538bbff00146d696e6563726166743a656c656d656e745f3630b9ff00146d696e6563726166743a656c656d656e745f3634b5ff00146d696e6563726166743a656c656d656e745f3635b4ff00146d696e6563726166743a656c656d656e745f3636b3ff00146d696e6563726166743a656c656d656e745f3637b2ff00146d696e6563726166743a656c656d656e745f3638b1ff00146d696e6563726166743a656c656d656e745f3730afff00146d696e6563726166743a656c656d656e745f3731aeff00146d696e6563726166743a656c656d656e745f3732adff00146d696e6563726166743a656c656d656e745f3735aaff00146d696e6563726166743a656c656d656e745f3736a9ff00196d696e6563726166743a6461726b5f6f616b5f627574746f6e72ff00146d696e6563726166743a656c656d656e745f3737a8ff00186d696e6563726166743a72656473746f6e655f746f7263684c0000186d696e6563726166743a64696f726974655f73746169727356ff00146d696e6563726166743a656c656d656e745f3739a6ff00146d696e6563726166743a656c656d656e745f3831a4ff00146d696e6563726166743a656c656d656e745f3832a3ff00226d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f77616c6cd7fe00146d696e6563726166743a656c656d656e745f3835a0ff00146d696e6563726166743a656c656d656e745f38379eff00146d696e6563726166743a656c656d656e745f38389dff00146d696e6563726166743a656c656d656e745f38399cff00146d696e6563726166743a656c656d656e745f39309bff00146d696e6563726166743a656c656d656e745f39319aff00146d696e6563726166743a656c656d656e745f393398ff00146d696e6563726166743a656c656d656e745f393497ff00146d696e6563726166743a656c656d656e745f393596ff00146d696e6563726166743a656c656d656e745f393695ff00146d696e6563726166743a656c656d656e745f393893ff00106d696e6563726166743a636163747573510000146d696e6563726166743a656c656d656e745f393992ff00156d696e6563726166743a656c656d656e745f3130358cff00156d696e6563726166743a656c656d656e745f3130368bff00206d696e6563726166743a6379616e5f676c617a65645f7465727261636f747461e50000156d696e6563726166743a656c656d656e745f3130378aff00156d696e6563726166743a656c656d656e745f31303889ff00156d696e6563726166743a656c656d656e745f31313087ff00156d696e6563726166743a656c656d656e745f31313285ff00176d696e6563726166743a7761727065645f627574746f6efbfe00156d696e6563726166743a656c656d656e745f31313384ff00166d696e6563726166743a62697263685f737461697273870000156d696e6563726166743a656c656d656e745f31313483ff001d6d696e6563726166743a6461726b5f6f616b5f66656e63655f67617465ba0000156d696e6563726166743a656c656d656e745f31313582ff00156d696e6563726166743a656c656d656e745f31313780ff00156d696e6563726166743a656c656d656e745f3131387fff00196d696e6563726166743a6e65746865726974655f626c6f636bf2fe00186d696e6563726166743a7265737061776e5f616e63686f72f0fe00196d696e6563726166743a637279696e675f6f6273696469616edffe000e6d696e6563726166743a626f6174630200186d696e6563726166743a62616e6e65725f7061747465726e650200156d696e6563726166743a656e645f6372797374616c6702000e6d696e6563726166743a736e6f77500000176d696e6563726166743a6465746563746f725f7261696c1c0000176d696e6563726166743a6163616369615f627574746f6e74ff00176d696e6563726166743a71756172747a5f7374616972739c00001b6d696e6563726166743a6163616369615f66656e63655f67617465bb00001e6d696e6563726166743a6163616369615f7374616e64696e675f7369676e42ff00196d696e6563726166743a6163616369615f74726170646f6f726fff00176d696e6563726166743a7075727075725f737461697273cb00001a6d696e6563726166743a6163616369615f77616c6c5f7369676e41ff000f6d696e6563726166743a616c6c6f77d20000196d696e6563726166743a7374616e64696e675f62616e6e6572b00000186d696e6563726166743a62616d626f6f5f7361706c696e675cff00156d696e6563726166743a66726f737465645f696365cf0000116d696e6563726166743a626172726965725fff00106d696e6563726166743a626173616c7416ff00126d696e6563726166743a6974656d2e6265641a0000116d696e6563726166743a626564726f636b070000126d696e6563726166743a6265655f6e65737426ff00116d696e6563726166743a6265656869766525ff00166d696e6563726166743a62697263685f627574746f6e73ff001a6d696e6563726166743a62697263685f66656e63655f67617465b800001e6d696e6563726166743a62697263685f70726573737572655f706c61746569ff00266d696e6563726166743a63686973656c65645f706f6c69736865645f626c61636b73746f6e65e9fe001d6d696e6563726166743a62697263685f7374616e64696e675f7369676e46ff00186d696e6563726166743a62697263685f74726170646f6f726eff00196d696e6563726166743a62697263685f77616c6c5f7369676e45ff00176d696e6563726166743a63686f7275735f666c6f776572c80000146d696e6563726166743a626c61636b73746f6e65effe00106d696e6563726166743a74617267657411ff00206d696e6563726166743a626c61636b73746f6e655f646f75626c655f736c6162e5fe001a6d696e6563726166743a64726965645f6b656c705f626c6f636b75ff001b6d696e6563726166743a626c61636b73746f6e655f737461697273ecfe00196d696e6563726166743a626c61636b73746f6e655f77616c6cebfe00206d696e6563726166743a626c75655f676c617a65645f7465727261636f747461e70000146d696e6563726166743a626f6e655f626c6f636bd80000166d696e6563726166743a626f726465725f626c6f636bd40000136d696e6563726166743a77616c6c5f7369676e440000226d696e6563726166743a6f72616e67655f676c617a65645f7465727261636f747461dd0000166d696e6563726166743a627269636b5f7374616972736c0000216d696e6563726166743a62726f776e5f676c617a65645f7465727261636f747461e80000176d696e6563726166743a627562626c655f636f6c756d6e60ff00156d696e6563726166743a6974656d2e63616d657261f20000176d696e6563726166743a6974656d2e6361756c64726f6e760000146d696e6563726166743a6974656d2e636861696ee2fe00176d696e6563726166743a6368656d6963616c5f68656174c00000146d696e6563726166743a676f6c645f626c6f636b290000166d696e6563726166743a63686f7275735f706c616e74f00000146d696e6563726166743a636f616c5f626c6f636bad00000f6d696e6563726166743a636f636f617f0000146d696e6563726166743a7061636b65645f696365ae0000186d696e6563726166743a636f72616c5f66616e5f68616e6779ff00196d696e6563726166743a636f72616c5f66616e5f68616e673377ff001f6d696e6563726166743a637261636b65645f6e65746865725f627269636b73d1fe002c6d696e6563726166743a637261636b65645f706f6c69736865645f626c61636b73746f6e655f627269636b73e8fe00186d696e6563726166743a6372696d736f6e5f627574746f6efcfe001d6d696e6563726166743a6372696d736f6e5f646f75626c655f736c6162f6fe001c6d696e6563726166743a6372696d736f6e5f66656e63655f67617465fefe00186d696e6563726166743a6372696d736f6e5f687970686165d5fe00156d696e6563726166743a656d6572616c645f6f7265810000186d696e6563726166743a6372696d736f6e5f706c616e6b730eff001b6d696e6563726166743a7370727563655f66656e63655f67617465b70000206d696e6563726166743a6372696d736f6e5f70726573737572655f706c617465fafe001f6d696e6563726166743a6372696d736f6e5f7374616e64696e675f7369676e06ff00166d696e6563726166743a6372696d736f6e5f7374656d1fff001b6d696e6563726166743a6372696d736f6e5f77616c6c5f7369676e04ff001b6d696e6563726166743a6461726b5f6f616b5f74726170646f6f726dff00206d696e6563726166743a6461726b5f707269736d6172696e655f737461697273fdff001f6d696e6563726166743a6461726b6f616b5f7374616e64696e675f7369676e40ff001b6d696e6563726166743a6461726b6f616b5f77616c6c5f7369676e3fff00126d696e6563726166743a6465616462757368200000156d696e6563726166743a6469616d6f6e645f6f7265380000136d696e6563726166743a64697370656e736572170000176d696e6563726166743a6c6176615f6361756c64726f6e2eff00146d696e6563726166743a647261676f6e5f6567677a0000176d696e6563726166743a6a756e676c655f737461697273880000116d696e6563726166743a64726f707065727d0000176d696e6563726166743a656d6572616c645f626c6f636b8500001a6d696e6563726166743a656e6368616e74696e675f7461626c657400001a6d696e6563726166743a656e645f627269636b5f7374616972734eff000e6d696e6563726166743a66697265330000116d696e6563726166743a6675726e6163653d00001b6d696e6563726166743a67696c6465645f626c61636b73746f6e65e7fe000f6d696e6563726166743a676c617373140000146d696e6563726166743a676c6173735f70616e65660000126d696e6563726166743a676f6c645f6f72650e0000156d696e6563726166743a676f6c64656e5f7261696c1b00000f6d696e6563726166743a6772617373020000146d696e6563726166743a67726173735f70617468c60000106d696e6563726166743a67726176656c0d0000206d696e6563726166743a677261795f676c617a65645f7465727261636f747461e30000216d696e6563726166743a677265656e5f676c617a65645f7465727261636f747461e90000146d696e6563726166743a686172645f676c617373fd0000196d696e6563726166743a686172645f676c6173735f70616e65be0000176d696e6563726166743a68617264656e65645f636c6179ac0000276d696e6563726166743a68656176795f77656967687465645f70726573737572655f706c617465940000156d696e6563726166743a696e666f5f757064617465f80000146d696e6563726166743a69726f6e5f626c6f636b2a0000176d696e6563726166743a6a756e676c655f627574746f6e71ff001a6d696e6563726166743a6974656d2e6a756e676c655f646f6f72c300001e6d696e6563726166743a6a756e676c655f7374616e64696e675f7369676e44ff00156d696e6563726166743a6c69745f6675726e6163653e00001a6d696e6563726166743a6a756e676c655f77616c6c5f7369676e43ff00136d696e6563726166743a6974656d2e6b656c7076ff001e6d696e6563726166743a756e6c69745f72656473746f6e655f746f7263684b0000106d696e6563726166743a6c6164646572410000156d696e6563726166743a6c617069735f626c6f636b160000136d696e6563726166743a6c617069735f6f72651500000e6d696e6563726166743a6c6176610b0000116d696e6563726166743a6c65637465726e3eff001b6d696e6563726166743a6d6f7373795f636f62626c6573746f6e653000000f6d696e6563726166743a6c65766572450000206d696e6563726166743a6c696d655f676c617a65645f7465727261636f747461e10000146d696e6563726166743a6c69745f736d6f6b657239ff00146d696e6563726166743a6d656c6f6e5f7374656d6900001d6d696e6563726166743a6974656d2e6e65746865725f7370726f75747312ff00226d696e6563726166743a6d6f7373795f73746f6e655f627269636b5f73746169727351ff00156d696e6563726166743a6d6f76696e67626c6f636bfa0000126d696e6563726166743a6d7963656c69756d6e0000166d696e6563726166743a6e65746865725f627269636b7000001c6d696e6563726166743a6e65746865725f627269636b5f66656e63657100001d6d696e6563726166743a6e65746865725f627269636b5f737461697273720000196d696e6563726166743a6e65746865725f676f6c645f6f7265e0fe001a6d696e6563726166743a6974656d2e6e65746865725f77617274730000146d696e6563726166743a6e65746865727261636b570000176d696e6563726166743a6e657468657272656163746f72f700001d6d696e6563726166743a6e6f726d616c5f73746f6e655f7374616972734cff00136d696e6563726166743a6e6f7465626c6f636b1900001a6d696e6563726166743a7761727065645f77616c6c5f7369676e03ff00146d696e6563726166743a6f616b5f737461697273350000206d696e6563726166743a70696e6b5f676c617a65645f7465727261636f747461e200001c6d696e6563726166743a706973746f6e61726d636f6c6c6973696f6e220000106d696e6563726166743a706f647a6f6cf30000196d696e6563726166743a706f6c69736865645f626173616c7415ff001d6d696e6563726166743a706f6c69736865645f626c61636b73746f6e65ddfe002f6d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f627269636b5f646f75626c655f736c6162e3fe001e6d696e6563726166743a7761727065645f7374616e64696e675f7369676e05ff00286d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f627269636b5f77616c6ceafe002c6d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f70726573737572655f706c617465d9fe00246d696e6563726166743a706f6c69736865645f626c61636b73746f6e655f737461697273dcfe001a6d696e6563726166743a706f77657265645f72657065617465725e00001b6d696e6563726166743a707269736d6172696e655f737461697273feff00166d696e6563726166743a70756d706b696e5f7374656d680000226d696e6563726166743a707572706c655f676c617a65645f7465727261636f747461db00001f6d696e6563726166743a7265645f676c617a65645f7465727261636f747461ea0000216d696e6563726166743a7265645f6e65746865725f627269636b5f73746169727348ff00176d696e6563726166743a72656473746f6e655f6c616d707b0000166d696e6563726166743a72656473746f6e655f6f7265490000176d696e6563726166743a72656473746f6e655f77697265370000216d696e6563726166743a726570656174696e675f636f6d6d616e645f626c6f636bbc00001a6d696e6563726166743a73616e6473746f6e655f737461697273800000156d696e6563726166743a7368726f6f6d6c696768741aff00146d696e6563726166743a6974656d2e736b756c6c900000256d696e6563726166743a736d6f6f74685f7265645f73616e6473746f6e655f73746169727350ff00216d696e6563726166743a736d6f6f74685f73616e6473746f6e655f7374616972734fff001c6d696e6563726166743a6974656d2e736f756c5f63616d7066697265defe00136d696e6563726166743a736f756c5f6669726513ff00166d696e6563726166743a736f756c5f6c616e7465726ef3fe00146d696e6563726166743a736f756c5f746f726368f4fe00146d696e6563726166743a6974656d2e77686561743b00001a6d696e6563726166743a6974656d2e7370727563655f646f6f72c100001f6d696e6563726166743a7370727563655f70726573737572655f706c61746566ff00196d696e6563726166743a7370727563655f74726170646f6f726bff00166d696e6563726166743a73746f6e655f627574746f6e4d0000166d696e6563726166743a73746f6e655f737461697273430000156d696e6563726166743a73746f6e65637574746572f500001c6d696e6563726166743a73747269707065645f62697263685f6c6f67faff00216d696e6563726166743a73747269707065645f6372696d736f6e5f687970686165d4fe001f6d696e6563726166743a73747269707065645f6461726b5f6f616b5f6c6f67f7ff001d6d696e6563726166743a73747269707065645f6a756e676c655f6c6f67f9ff001d6d696e6563726166743a73747269707065645f7370727563655f6c6f67fbff00206d696e6563726166743a73747269707065645f7761727065645f687970686165d3fe001e6d696e6563726166743a73747269707065645f7761727065645f7374656d0fff00196d696e6563726166743a7374727563747572655f626c6f636bfc0000186d696e6563726166743a7374727563747572655f766f6964d900001a6d696e6563726166743a73776565745f62657272795f6275736831ff000f6d696e6563726166743a746f726368320000176d696e6563726166743a74726970776972655f686f6f6b8300001a6d696e6563726166743a756e64657277617465725f746f726368ef00001c6d696e6563726166743a756e706f77657265645f72657065617465725d00001b6d696e6563726166743a7761727065645f776172745f626c6f636b1dff000e6d696e6563726166743a76696e656a0000156d696e6563726166743a77616c6c5f62616e6e6572b100001c6d696e6563726166743a7761727065645f646f75626c655f736c6162f5fe001b6d696e6563726166743a7761727065645f66656e63655f67617465fdfe00176d696e6563726166743a7761727065645f687970686165d6fe00176d696e6563726166743a7761727065645f6e796c69756d17ff00176d696e6563726166743a7761727065645f706c616e6b730dff001f6d696e6563726166743a7761727065645f70726573737572655f706c617465f9fe00176d696e6563726166743a7761727065645f73746169727301ff00156d696e6563726166743a7761727065645f7374656d1eff000f6d696e6563726166743a77617465720900000d6d696e6563726166743a7765621e0000216d696e6563726166743a77686974655f676c617a65645f7465727261636f747461dc00001f6d696e6563726166743a776f6f64656e5f70726573737572655f706c617465480000156d696e6563726166743a7769746865725f726f736528ff001a6d696e6563726166743a6974656d2e776f6f64656e5f646f6f724000002465303438386162302d333234362d346133372d386238332d38626435616239623433366601' - const buf = Buffer.from(s, 'hex') - const des = read(buf) - console.log(des.data.name) - const newBuf = write(des.data.name, des.data.params) - console.log(newBuf) - console.assert(newBuf.toString('hex')==s) - // console.log(serialize(des.data.params, 2)) - } - - async function testAdventureSettings() { - // const buf = Buffer.from('3720009f02010001000000fdffffff') - // const des = read(buf) - // console.log(serialize(des.data.params, 2)) - - const buf = write('adventure_settings', { - flags: { - world_immutable: true, - no_pvp: true - }, - command_permission: 'normal', - action_permissions: { - open_containers: true - }, - permission_level: 'member', - custom_stored_permissions: 0, - user_id: 0 - }) - const des = read(buf) - // fs.writeFileSync('cc.json', serialize(des.data.params, 2)) - console.log('Des', JSON.stringify(des, null, 2)) - } - - async function testInventory() { - const buf = Buffer.from('1e00020000008c0a419e0104060031bb2144723d8342aff19b420000403f0079873e8047513f8833', 'hex') - const des = read(buf) - console.log(JSON.stringify(des)) - } - - async function testInventory() { - const buf = Buffer.from('1e00020000008c0a419e0104060031bb2144723d8342aff19b420000403f0079873e8047513f8833', 'hex') - - } - - function testLevelEventGeneric() { - const s = '7cce1f0305436f756e74800205084469725363616c65cdcc4c3e0504456e647800a01c440504456e647900001a420504456e647a00008942050653746172747899ef1944050653746172747900002042050653746172747a4583a042050a566172696174696f6e789a99193f050a566172696174696f6e799a99394000' - const buf = Buffer.from(s, 'hex') - const des = read(buf) - console.log(JSON.stringify(des)) - - console.log(des.data.name) - const newBuf = write(des.data.name, des.data.params) - console.log(newBuf.toString('hex'), s) - console.assert(newBuf.toString('hex')==s) - } - - function testEvent() { - const s = '41fdffffff5f2801001203e1417678933fdf294642a034a03e57b65b40' - const buf = Buffer.from(s, 'hex') - const des = read(buf) - console.log(serialize(des)) - - console.log(des.data.name) - const newBuf = write(des.data.name, des.data.params) - console.log(newBuf.toString('hex'), s) - console.assert(newBuf.toString('hex')==s) - } - - function testItemStackReq() { - const s = '93010105030b9d050e01920502000000000100013b32053a000000' - const buf = Buffer.from(s, 'hex') - const des = read(buf) - console.log(serialize(des)) - - console.log(des.data.name) - const newBuf = write(des.data.name, des.data.params) - console.log(newBuf.toString('hex'), 'OLD:', s) - console.assert(newBuf.toString('hex')==s) - } - - // creativeTst() - // availableCommands() - // avaliableCmd() - // creativeTestNew() - // biomeDefinitions() - // startGame() - // testLevelEventGeneric() - testItemStackReq() -} - -if (!module.parent) { - test() -} - -function serialize(obj = {}, fmt) { - return JSON.stringify(obj, (k, v) => typeof v == 'bigint' ? v.toString() : v, fmt) -} \ No newline at end of file diff --git a/test/vanilla.test.js b/test/vanilla.test.js index d820a5b..252de3b 100644 --- a/test/vanilla.test.js +++ b/test/vanilla.test.js @@ -3,7 +3,7 @@ const { clientTest } = require('./vanilla') const { Versions } = require('../src/options') -describe ('vanilla server test', function () { +describe('vanilla server test', function () { this.timeout(120 * 1000) for (const version in Versions) { @@ -11,4 +11,4 @@ describe ('vanilla server test', function () { await clientTest(version) }) } -}) \ No newline at end of file +})