From 03f32dc1bdd5a72d12d94576a11c2c9d3924afb4 Mon Sep 17 00:00:00 2001 From: Miku AuahDark Date: Sat, 5 Feb 2022 11:39:41 +0800 Subject: [PATCH] Rebuild LuaJIT for Android with NDK r23. --- libs/LuaJIT/android/arm64-v8a/jit/bc.lua | 190 +++ libs/LuaJIT/android/arm64-v8a/jit/bcsave.lua | 678 +++++++++ libs/LuaJIT/android/arm64-v8a/jit/dis_arm.lua | 689 ++++++++++ .../android/arm64-v8a/jit/dis_arm64.lua | 1216 +++++++++++++++++ .../android/arm64-v8a/jit/dis_arm64be.lua | 12 + .../LuaJIT/android/arm64-v8a/jit/dis_mips.lua | 694 ++++++++++ .../android/arm64-v8a/jit/dis_mips64.lua | 17 + .../android/arm64-v8a/jit/dis_mips64el.lua | 17 + .../android/arm64-v8a/jit/dis_mips64r6.lua | 17 + .../android/arm64-v8a/jit/dis_mips64r6el.lua | 17 + .../android/arm64-v8a/jit/dis_mipsel.lua | 17 + libs/LuaJIT/android/arm64-v8a/jit/dis_ppc.lua | 591 ++++++++ libs/LuaJIT/android/arm64-v8a/jit/dis_x64.lua | 17 + libs/LuaJIT/android/arm64-v8a/jit/dis_x86.lua | 953 +++++++++++++ libs/LuaJIT/android/arm64-v8a/jit/dump.lua | 726 ++++++++++ libs/LuaJIT/android/arm64-v8a/jit/p.lua | 312 +++++ libs/LuaJIT/android/arm64-v8a/jit/v.lua | 170 +++ libs/LuaJIT/android/arm64-v8a/jit/vmdef.lua | 395 ++++++ libs/LuaJIT/android/arm64-v8a/jit/zone.lua | 45 + libs/LuaJIT/android/arm64-v8a/libluajit.a | Bin 713104 -> 804916 bytes libs/LuaJIT/android/armeabi-v7a/jit/bc.lua | 190 +++ .../LuaJIT/android/armeabi-v7a/jit/bcsave.lua | 678 +++++++++ .../android/armeabi-v7a/jit/dis_arm.lua | 689 ++++++++++ .../android/armeabi-v7a/jit/dis_arm64.lua | 1216 +++++++++++++++++ .../android/armeabi-v7a/jit/dis_arm64be.lua | 12 + .../android/armeabi-v7a/jit/dis_mips.lua | 694 ++++++++++ .../android/armeabi-v7a/jit/dis_mips64.lua | 17 + .../android/armeabi-v7a/jit/dis_mips64el.lua | 17 + .../android/armeabi-v7a/jit/dis_mips64r6.lua | 17 + .../armeabi-v7a/jit/dis_mips64r6el.lua | 17 + .../android/armeabi-v7a/jit/dis_mipsel.lua | 17 + .../android/armeabi-v7a/jit/dis_ppc.lua | 591 ++++++++ .../android/armeabi-v7a/jit/dis_x64.lua | 17 + .../android/armeabi-v7a/jit/dis_x86.lua | 953 +++++++++++++ libs/LuaJIT/android/armeabi-v7a/jit/dump.lua | 726 ++++++++++ libs/LuaJIT/android/armeabi-v7a/jit/p.lua | 312 +++++ libs/LuaJIT/android/armeabi-v7a/jit/v.lua | 170 +++ libs/LuaJIT/android/armeabi-v7a/jit/vmdef.lua | 395 ++++++ libs/LuaJIT/android/armeabi-v7a/jit/zone.lua | 45 + libs/LuaJIT/android/armeabi-v7a/libluajit.a | Bin 738692 -> 775800 bytes libs/LuaJIT/android/x86/jit/bc.lua | 190 +++ libs/LuaJIT/android/x86/jit/bcsave.lua | 678 +++++++++ libs/LuaJIT/android/x86/jit/dis_arm.lua | 689 ++++++++++ libs/LuaJIT/android/x86/jit/dis_arm64.lua | 1216 +++++++++++++++++ libs/LuaJIT/android/x86/jit/dis_arm64be.lua | 12 + libs/LuaJIT/android/x86/jit/dis_mips.lua | 694 ++++++++++ libs/LuaJIT/android/x86/jit/dis_mips64.lua | 17 + libs/LuaJIT/android/x86/jit/dis_mips64el.lua | 17 + libs/LuaJIT/android/x86/jit/dis_mips64r6.lua | 17 + .../LuaJIT/android/x86/jit/dis_mips64r6el.lua | 17 + libs/LuaJIT/android/x86/jit/dis_mipsel.lua | 17 + libs/LuaJIT/android/x86/jit/dis_ppc.lua | 591 ++++++++ libs/LuaJIT/android/x86/jit/dis_x64.lua | 17 + libs/LuaJIT/android/x86/jit/dis_x86.lua | 953 +++++++++++++ libs/LuaJIT/android/x86/jit/dump.lua | 726 ++++++++++ libs/LuaJIT/android/x86/jit/p.lua | 312 +++++ libs/LuaJIT/android/x86/jit/v.lua | 170 +++ libs/LuaJIT/android/x86/jit/vmdef.lua | 395 ++++++ libs/LuaJIT/android/x86/jit/zone.lua | 45 + libs/LuaJIT/android/x86/libluajit.a | Bin 697108 -> 731438 bytes libs/LuaJIT/android/x86_64/jit/bc.lua | 190 +++ libs/LuaJIT/android/x86_64/jit/bcsave.lua | 678 +++++++++ libs/LuaJIT/android/x86_64/jit/dis_arm.lua | 689 ++++++++++ libs/LuaJIT/android/x86_64/jit/dis_arm64.lua | 1216 +++++++++++++++++ .../LuaJIT/android/x86_64/jit/dis_arm64be.lua | 12 + libs/LuaJIT/android/x86_64/jit/dis_mips.lua | 694 ++++++++++ libs/LuaJIT/android/x86_64/jit/dis_mips64.lua | 17 + .../android/x86_64/jit/dis_mips64el.lua | 17 + .../android/x86_64/jit/dis_mips64r6.lua | 17 + .../android/x86_64/jit/dis_mips64r6el.lua | 17 + libs/LuaJIT/android/x86_64/jit/dis_mipsel.lua | 17 + libs/LuaJIT/android/x86_64/jit/dis_ppc.lua | 591 ++++++++ libs/LuaJIT/android/x86_64/jit/dis_x64.lua | 17 + libs/LuaJIT/android/x86_64/jit/dis_x86.lua | 953 +++++++++++++ libs/LuaJIT/android/x86_64/jit/dump.lua | 726 ++++++++++ libs/LuaJIT/android/x86_64/jit/p.lua | 312 +++++ libs/LuaJIT/android/x86_64/jit/v.lua | 170 +++ libs/LuaJIT/android/x86_64/jit/vmdef.lua | 395 ++++++ libs/LuaJIT/android/x86_64/jit/zone.lua | 45 + libs/LuaJIT/android/x86_64/libluajit.a | Bin 883092 -> 936000 bytes libs/LuaJIT/android_build_readme.bat | 120 +- 81 files changed, 27129 insertions(+), 83 deletions(-) create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/bc.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/bcsave.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/dis_arm.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/dis_arm64.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/dis_arm64be.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/dis_mips.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/dis_mips64.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/dis_mips64el.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/dis_mips64r6.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/dis_mips64r6el.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/dis_mipsel.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/dis_ppc.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/dis_x64.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/dis_x86.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/dump.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/p.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/v.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/vmdef.lua create mode 100644 libs/LuaJIT/android/arm64-v8a/jit/zone.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/bc.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/bcsave.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/dis_arm.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/dis_arm64.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/dis_arm64be.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/dis_mips.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64el.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64r6.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64r6el.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/dis_mipsel.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/dis_ppc.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/dis_x64.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/dis_x86.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/dump.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/p.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/v.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/vmdef.lua create mode 100644 libs/LuaJIT/android/armeabi-v7a/jit/zone.lua create mode 100644 libs/LuaJIT/android/x86/jit/bc.lua create mode 100644 libs/LuaJIT/android/x86/jit/bcsave.lua create mode 100644 libs/LuaJIT/android/x86/jit/dis_arm.lua create mode 100644 libs/LuaJIT/android/x86/jit/dis_arm64.lua create mode 100644 libs/LuaJIT/android/x86/jit/dis_arm64be.lua create mode 100644 libs/LuaJIT/android/x86/jit/dis_mips.lua create mode 100644 libs/LuaJIT/android/x86/jit/dis_mips64.lua create mode 100644 libs/LuaJIT/android/x86/jit/dis_mips64el.lua create mode 100644 libs/LuaJIT/android/x86/jit/dis_mips64r6.lua create mode 100644 libs/LuaJIT/android/x86/jit/dis_mips64r6el.lua create mode 100644 libs/LuaJIT/android/x86/jit/dis_mipsel.lua create mode 100644 libs/LuaJIT/android/x86/jit/dis_ppc.lua create mode 100644 libs/LuaJIT/android/x86/jit/dis_x64.lua create mode 100644 libs/LuaJIT/android/x86/jit/dis_x86.lua create mode 100644 libs/LuaJIT/android/x86/jit/dump.lua create mode 100644 libs/LuaJIT/android/x86/jit/p.lua create mode 100644 libs/LuaJIT/android/x86/jit/v.lua create mode 100644 libs/LuaJIT/android/x86/jit/vmdef.lua create mode 100644 libs/LuaJIT/android/x86/jit/zone.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/bc.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/bcsave.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/dis_arm.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/dis_arm64.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/dis_arm64be.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/dis_mips.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/dis_mips64.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/dis_mips64el.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/dis_mips64r6.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/dis_mips64r6el.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/dis_mipsel.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/dis_ppc.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/dis_x64.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/dis_x86.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/dump.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/p.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/v.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/vmdef.lua create mode 100644 libs/LuaJIT/android/x86_64/jit/zone.lua diff --git a/libs/LuaJIT/android/arm64-v8a/jit/bc.lua b/libs/LuaJIT/android/arm64-v8a/jit/bc.lua new file mode 100644 index 00000000..e58a3fef --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/bc.lua @@ -0,0 +1,190 @@ +---------------------------------------------------------------------------- +-- LuaJIT bytecode listing module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module lists the bytecode of a Lua function. If it's loaded by -jbc +-- it hooks into the parser and lists all functions of a chunk as they +-- are parsed. +-- +-- Example usage: +-- +-- luajit -jbc -e 'local x=0; for i=1,1e6 do x=x+i end; print(x)' +-- luajit -jbc=- foo.lua +-- luajit -jbc=foo.list foo.lua +-- +-- Default output is to stderr. To redirect the output to a file, pass a +-- filename as an argument (use '-' for stdout) or set the environment +-- variable LUAJIT_LISTFILE. The file is overwritten every time the module +-- is started. +-- +-- This module can also be used programmatically: +-- +-- local bc = require("jit.bc") +-- +-- local function foo() print("hello") end +-- +-- bc.dump(foo) --> -- BYTECODE -- [...] +-- print(bc.line(foo, 2)) --> 0002 KSTR 1 1 ; "hello" +-- +-- local out = { +-- -- Do something with each line: +-- write = function(t, ...) io.write(...) end, +-- close = function(t) end, +-- flush = function(t) end, +-- } +-- bc.dump(foo, out) +-- +------------------------------------------------------------------------------ + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local jutil = require("jit.util") +local vmdef = require("jit.vmdef") +local bit = require("bit") +local sub, gsub, format = string.sub, string.gsub, string.format +local byte, band, shr = string.byte, bit.band, bit.rshift +local funcinfo, funcbc, funck = jutil.funcinfo, jutil.funcbc, jutil.funck +local funcuvname = jutil.funcuvname +local bcnames = vmdef.bcnames +local stdout, stderr = io.stdout, io.stderr + +------------------------------------------------------------------------------ + +local function ctlsub(c) + if c == "\n" then return "\\n" + elseif c == "\r" then return "\\r" + elseif c == "\t" then return "\\t" + else return format("\\%03d", byte(c)) + end +end + +-- Return one bytecode line. +local function bcline(func, pc, prefix) + local ins, m = funcbc(func, pc) + if not ins then return end + local ma, mb, mc = band(m, 7), band(m, 15*8), band(m, 15*128) + local a = band(shr(ins, 8), 0xff) + local oidx = 6*band(ins, 0xff) + local op = sub(bcnames, oidx+1, oidx+6) + local s = format("%04d %s %-6s %3s ", + pc, prefix or " ", op, ma == 0 and "" or a) + local d = shr(ins, 16) + if mc == 13*128 then -- BCMjump + return format("%s=> %04d\n", s, pc+d-0x7fff) + end + if mb ~= 0 then + d = band(d, 0xff) + elseif mc == 0 then + return s.."\n" + end + local kc + if mc == 10*128 then -- BCMstr + kc = funck(func, -d-1) + kc = format(#kc > 40 and '"%.40s"~' or '"%s"', gsub(kc, "%c", ctlsub)) + elseif mc == 9*128 then -- BCMnum + kc = funck(func, d) + if op == "TSETM " then kc = kc - 2^52 end + elseif mc == 12*128 then -- BCMfunc + local fi = funcinfo(funck(func, -d-1)) + if fi.ffid then + kc = vmdef.ffnames[fi.ffid] + else + kc = fi.loc + end + elseif mc == 5*128 then -- BCMuv + kc = funcuvname(func, d) + end + if ma == 5 then -- BCMuv + local ka = funcuvname(func, a) + if kc then kc = ka.." ; "..kc else kc = ka end + end + if mb ~= 0 then + local b = shr(ins, 24) + if kc then return format("%s%3d %3d ; %s\n", s, b, d, kc) end + return format("%s%3d %3d\n", s, b, d) + end + if kc then return format("%s%3d ; %s\n", s, d, kc) end + if mc == 7*128 and d > 32767 then d = d - 65536 end -- BCMlits + return format("%s%3d\n", s, d) +end + +-- Collect branch targets of a function. +local function bctargets(func) + local target = {} + for pc=1,1000000000 do + local ins, m = funcbc(func, pc) + if not ins then break end + if band(m, 15*128) == 13*128 then target[pc+shr(ins, 16)-0x7fff] = true end + end + return target +end + +-- Dump bytecode instructions of a function. +local function bcdump(func, out, all) + if not out then out = stdout end + local fi = funcinfo(func) + if all and fi.children then + for n=-1,-1000000000,-1 do + local k = funck(func, n) + if not k then break end + if type(k) == "proto" then bcdump(k, out, true) end + end + end + out:write(format("-- BYTECODE -- %s-%d\n", fi.loc, fi.lastlinedefined)) + local target = bctargets(func) + for pc=1,1000000000 do + local s = bcline(func, pc, target[pc] and "=>") + if not s then break end + out:write(s) + end + out:write("\n") + out:flush() +end + +------------------------------------------------------------------------------ + +-- Active flag and output file handle. +local active, out + +-- List handler. +local function h_list(func) + return bcdump(func, out) +end + +-- Detach list handler. +local function bclistoff() + if active then + active = false + jit.attach(h_list) + if out and out ~= stdout and out ~= stderr then out:close() end + out = nil + end +end + +-- Open the output file and attach list handler. +local function bcliston(outfile) + if active then bclistoff() end + if not outfile then outfile = os.getenv("LUAJIT_LISTFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stderr + end + jit.attach(h_list, "bc") + active = true +end + +-- Public module functions. +return { + line = bcline, + dump = bcdump, + targets = bctargets, + on = bcliston, + off = bclistoff, + start = bcliston -- For -j command line option. +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/bcsave.lua b/libs/LuaJIT/android/arm64-v8a/jit/bcsave.lua new file mode 100644 index 00000000..bc959327 --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/bcsave.lua @@ -0,0 +1,678 @@ +---------------------------------------------------------------------------- +-- LuaJIT module to save/list bytecode. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module saves or lists the bytecode for an input file. +-- It's run by the -b command line option. +-- +------------------------------------------------------------------------------ + +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local bit = require("bit") + +-- Symbol name prefix for LuaJIT bytecode. +local LJBC_PREFIX = "luaJIT_BC_" + +local type, assert = type, assert +local format = string.format +local tremove, tconcat = table.remove, table.concat + +------------------------------------------------------------------------------ + +local function usage() + io.stderr:write[[ +Save LuaJIT bytecode: luajit -b[options] input output + -l Only list bytecode. + -s Strip debug info (default). + -g Keep debug info. + -n name Set module name (default: auto-detect from input name). + -t type Set output file type (default: auto-detect from output name). + -a arch Override architecture for object files (default: native). + -o os Override OS for object files (default: native). + -e chunk Use chunk string as input. + -- Stop handling options. + - Use stdin as input and/or stdout as output. + +File types: c h obj o raw (default) +]] + os.exit(1) +end + +local function check(ok, ...) + if ok then return ok, ... end + io.stderr:write("luajit: ", ...) + io.stderr:write("\n") + os.exit(1) +end + +local function readfile(input) + if type(input) == "function" then return input end + if input == "-" then input = nil end + return check(loadfile(input)) +end + +local function savefile(name, mode) + if name == "-" then return io.stdout end + return check(io.open(name, mode)) +end + +local function set_stdout_binary(ffi) + ffi.cdef[[int _setmode(int fd, int mode);]] + ffi.C._setmode(1, 0x8000) +end + +------------------------------------------------------------------------------ + +local map_type = { + raw = "raw", c = "c", h = "h", o = "obj", obj = "obj", +} + +local map_arch = { + x86 = { e = "le", b = 32, m = 3, p = 0x14c, }, + x64 = { e = "le", b = 64, m = 62, p = 0x8664, }, + arm = { e = "le", b = 32, m = 40, p = 0x1c0, }, + arm64 = { e = "le", b = 64, m = 183, p = 0xaa64, }, + arm64be = { e = "be", b = 64, m = 183, }, + ppc = { e = "be", b = 32, m = 20, }, + mips = { e = "be", b = 32, m = 8, f = 0x50001006, }, + mipsel = { e = "le", b = 32, m = 8, f = 0x50001006, }, + mips64 = { e = "be", b = 64, m = 8, f = 0x80000007, }, + mips64el = { e = "le", b = 64, m = 8, f = 0x80000007, }, + mips64r6 = { e = "be", b = 64, m = 8, f = 0xa0000407, }, + mips64r6el = { e = "le", b = 64, m = 8, f = 0xa0000407, }, +} + +local map_os = { + linux = true, windows = true, osx = true, freebsd = true, netbsd = true, + openbsd = true, dragonfly = true, solaris = true, +} + +local function checkarg(str, map, err) + str = str:lower() + local s = check(map[str], "unknown ", err) + return type(s) == "string" and s or str +end + +local function detecttype(str) + local ext = str:lower():match("%.(%a+)$") + return map_type[ext] or "raw" +end + +local function checkmodname(str) + check(str:match("^[%w_.%-]+$"), "bad module name") + return str:gsub("[%.%-]", "_") +end + +local function detectmodname(str) + if type(str) == "string" then + local tail = str:match("[^/\\]+$") + if tail then str = tail end + local head = str:match("^(.*)%.[^.]*$") + if head then str = head end + str = str:match("^[%w_.%-]+") + else + str = nil + end + check(str, "cannot derive module name, use -n name") + return str:gsub("[%.%-]", "_") +end + +------------------------------------------------------------------------------ + +local function bcsave_tail(fp, output, s) + local ok, err = fp:write(s) + if ok and output ~= "-" then ok, err = fp:close() end + check(ok, "cannot write ", output, ": ", err) +end + +local function bcsave_raw(output, s) + if output == "-" and jit.os == "Windows" then + local ok, ffi = pcall(require, "ffi") + check(ok, "FFI library required to write binary file to stdout") + set_stdout_binary(ffi) + end + local fp = savefile(output, "wb") + bcsave_tail(fp, output, s) +end + +local function bcsave_c(ctx, output, s) + local fp = savefile(output, "w") + if ctx.type == "c" then + fp:write(format([[ +#ifdef __cplusplus +extern "C" +#endif +#ifdef _WIN32 +__declspec(dllexport) +#endif +const unsigned char %s%s[] = { +]], LJBC_PREFIX, ctx.modname)) + else + fp:write(format([[ +#define %s%s_SIZE %d +static const unsigned char %s%s[] = { +]], LJBC_PREFIX, ctx.modname, #s, LJBC_PREFIX, ctx.modname)) + end + local t, n, m = {}, 0, 0 + for i=1,#s do + local b = tostring(string.byte(s, i)) + m = m + #b + 1 + if m > 78 then + fp:write(tconcat(t, ",", 1, n), ",\n") + n, m = 0, #b + 1 + end + n = n + 1 + t[n] = b + end + bcsave_tail(fp, output, tconcat(t, ",", 1, n).."\n};\n") +end + +local function bcsave_elfobj(ctx, output, s, ffi) + ffi.cdef[[ +typedef struct { + uint8_t emagic[4], eclass, eendian, eversion, eosabi, eabiversion, epad[7]; + uint16_t type, machine; + uint32_t version; + uint32_t entry, phofs, shofs; + uint32_t flags; + uint16_t ehsize, phentsize, phnum, shentsize, shnum, shstridx; +} ELF32header; +typedef struct { + uint8_t emagic[4], eclass, eendian, eversion, eosabi, eabiversion, epad[7]; + uint16_t type, machine; + uint32_t version; + uint64_t entry, phofs, shofs; + uint32_t flags; + uint16_t ehsize, phentsize, phnum, shentsize, shnum, shstridx; +} ELF64header; +typedef struct { + uint32_t name, type, flags, addr, ofs, size, link, info, align, entsize; +} ELF32sectheader; +typedef struct { + uint32_t name, type; + uint64_t flags, addr, ofs, size; + uint32_t link, info; + uint64_t align, entsize; +} ELF64sectheader; +typedef struct { + uint32_t name, value, size; + uint8_t info, other; + uint16_t sectidx; +} ELF32symbol; +typedef struct { + uint32_t name; + uint8_t info, other; + uint16_t sectidx; + uint64_t value, size; +} ELF64symbol; +typedef struct { + ELF32header hdr; + ELF32sectheader sect[6]; + ELF32symbol sym[2]; + uint8_t space[4096]; +} ELF32obj; +typedef struct { + ELF64header hdr; + ELF64sectheader sect[6]; + ELF64symbol sym[2]; + uint8_t space[4096]; +} ELF64obj; +]] + local symname = LJBC_PREFIX..ctx.modname + local ai = assert(map_arch[ctx.arch]) + local is64, isbe = ai.b == 64, ai.e == "be" + + -- Handle different host/target endianess. + local function f32(x) return x end + local f16, fofs = f32, f32 + if ffi.abi("be") ~= isbe then + f32 = bit.bswap + function f16(x) return bit.rshift(bit.bswap(x), 16) end + if is64 then + local two32 = ffi.cast("int64_t", 2^32) + function fofs(x) return bit.bswap(x)*two32 end + else + fofs = f32 + end + end + + -- Create ELF object and fill in header. + local o = ffi.new(is64 and "ELF64obj" or "ELF32obj") + local hdr = o.hdr + if ctx.os == "bsd" or ctx.os == "other" then -- Determine native hdr.eosabi. + local bf = assert(io.open("/bin/ls", "rb")) + local bs = bf:read(9) + bf:close() + ffi.copy(o, bs, 9) + check(hdr.emagic[0] == 127, "no support for writing native object files") + else + hdr.emagic = "\127ELF" + hdr.eosabi = ({ freebsd=9, netbsd=2, openbsd=12, solaris=6 })[ctx.os] or 0 + end + hdr.eclass = is64 and 2 or 1 + hdr.eendian = isbe and 2 or 1 + hdr.eversion = 1 + hdr.type = f16(1) + hdr.machine = f16(ai.m) + hdr.flags = f32(ai.f or 0) + hdr.version = f32(1) + hdr.shofs = fofs(ffi.offsetof(o, "sect")) + hdr.ehsize = f16(ffi.sizeof(hdr)) + hdr.shentsize = f16(ffi.sizeof(o.sect[0])) + hdr.shnum = f16(6) + hdr.shstridx = f16(2) + + -- Fill in sections and symbols. + local sofs, ofs = ffi.offsetof(o, "space"), 1 + for i,name in ipairs{ + ".symtab", ".shstrtab", ".strtab", ".rodata", ".note.GNU-stack", + } do + local sect = o.sect[i] + sect.align = fofs(1) + sect.name = f32(ofs) + ffi.copy(o.space+ofs, name) + ofs = ofs + #name+1 + end + o.sect[1].type = f32(2) -- .symtab + o.sect[1].link = f32(3) + o.sect[1].info = f32(1) + o.sect[1].align = fofs(8) + o.sect[1].ofs = fofs(ffi.offsetof(o, "sym")) + o.sect[1].entsize = fofs(ffi.sizeof(o.sym[0])) + o.sect[1].size = fofs(ffi.sizeof(o.sym)) + o.sym[1].name = f32(1) + o.sym[1].sectidx = f16(4) + o.sym[1].size = fofs(#s) + o.sym[1].info = 17 + o.sect[2].type = f32(3) -- .shstrtab + o.sect[2].ofs = fofs(sofs) + o.sect[2].size = fofs(ofs) + o.sect[3].type = f32(3) -- .strtab + o.sect[3].ofs = fofs(sofs + ofs) + o.sect[3].size = fofs(#symname+2) + ffi.copy(o.space+ofs+1, symname) + ofs = ofs + #symname + 2 + o.sect[4].type = f32(1) -- .rodata + o.sect[4].flags = fofs(2) + o.sect[4].ofs = fofs(sofs + ofs) + o.sect[4].size = fofs(#s) + o.sect[5].type = f32(1) -- .note.GNU-stack + o.sect[5].ofs = fofs(sofs + ofs + #s) + + -- Write ELF object file. + local fp = savefile(output, "wb") + fp:write(ffi.string(o, ffi.sizeof(o)-4096+ofs)) + bcsave_tail(fp, output, s) +end + +local function bcsave_peobj(ctx, output, s, ffi) + ffi.cdef[[ +typedef struct { + uint16_t arch, nsects; + uint32_t time, symtabofs, nsyms; + uint16_t opthdrsz, flags; +} PEheader; +typedef struct { + char name[8]; + uint32_t vsize, vaddr, size, ofs, relocofs, lineofs; + uint16_t nreloc, nline; + uint32_t flags; +} PEsection; +typedef struct __attribute((packed)) { + union { + char name[8]; + uint32_t nameref[2]; + }; + uint32_t value; + int16_t sect; + uint16_t type; + uint8_t scl, naux; +} PEsym; +typedef struct __attribute((packed)) { + uint32_t size; + uint16_t nreloc, nline; + uint32_t cksum; + uint16_t assoc; + uint8_t comdatsel, unused[3]; +} PEsymaux; +typedef struct { + PEheader hdr; + PEsection sect[2]; + // Must be an even number of symbol structs. + PEsym sym0; + PEsymaux sym0aux; + PEsym sym1; + PEsymaux sym1aux; + PEsym sym2; + PEsym sym3; + uint32_t strtabsize; + uint8_t space[4096]; +} PEobj; +]] + local symname = LJBC_PREFIX..ctx.modname + local ai = assert(map_arch[ctx.arch]) + local is64 = ai.b == 64 + local symexport = " /EXPORT:"..symname..",DATA " + + -- The file format is always little-endian. Swap if the host is big-endian. + local function f32(x) return x end + local f16 = f32 + if ffi.abi("be") then + f32 = bit.bswap + function f16(x) return bit.rshift(bit.bswap(x), 16) end + end + + -- Create PE object and fill in header. + local o = ffi.new("PEobj") + local hdr = o.hdr + hdr.arch = f16(assert(ai.p)) + hdr.nsects = f16(2) + hdr.symtabofs = f32(ffi.offsetof(o, "sym0")) + hdr.nsyms = f32(6) + + -- Fill in sections and symbols. + o.sect[0].name = ".drectve" + o.sect[0].size = f32(#symexport) + o.sect[0].flags = f32(0x00100a00) + o.sym0.sect = f16(1) + o.sym0.scl = 3 + o.sym0.name = ".drectve" + o.sym0.naux = 1 + o.sym0aux.size = f32(#symexport) + o.sect[1].name = ".rdata" + o.sect[1].size = f32(#s) + o.sect[1].flags = f32(0x40300040) + o.sym1.sect = f16(2) + o.sym1.scl = 3 + o.sym1.name = ".rdata" + o.sym1.naux = 1 + o.sym1aux.size = f32(#s) + o.sym2.sect = f16(2) + o.sym2.scl = 2 + o.sym2.nameref[1] = f32(4) + o.sym3.sect = f16(-1) + o.sym3.scl = 2 + o.sym3.value = f32(1) + o.sym3.name = "@feat.00" -- Mark as SafeSEH compliant. + ffi.copy(o.space, symname) + local ofs = #symname + 1 + o.strtabsize = f32(ofs + 4) + o.sect[0].ofs = f32(ffi.offsetof(o, "space") + ofs) + ffi.copy(o.space + ofs, symexport) + ofs = ofs + #symexport + o.sect[1].ofs = f32(ffi.offsetof(o, "space") + ofs) + + -- Write PE object file. + local fp = savefile(output, "wb") + fp:write(ffi.string(o, ffi.sizeof(o)-4096+ofs)) + bcsave_tail(fp, output, s) +end + +local function bcsave_machobj(ctx, output, s, ffi) + ffi.cdef[[ +typedef struct +{ + uint32_t magic, cputype, cpusubtype, filetype, ncmds, sizeofcmds, flags; +} mach_header; +typedef struct +{ + mach_header; uint32_t reserved; +} mach_header_64; +typedef struct { + uint32_t cmd, cmdsize; + char segname[16]; + uint32_t vmaddr, vmsize, fileoff, filesize; + uint32_t maxprot, initprot, nsects, flags; +} mach_segment_command; +typedef struct { + uint32_t cmd, cmdsize; + char segname[16]; + uint64_t vmaddr, vmsize, fileoff, filesize; + uint32_t maxprot, initprot, nsects, flags; +} mach_segment_command_64; +typedef struct { + char sectname[16], segname[16]; + uint32_t addr, size; + uint32_t offset, align, reloff, nreloc, flags; + uint32_t reserved1, reserved2; +} mach_section; +typedef struct { + char sectname[16], segname[16]; + uint64_t addr, size; + uint32_t offset, align, reloff, nreloc, flags; + uint32_t reserved1, reserved2, reserved3; +} mach_section_64; +typedef struct { + uint32_t cmd, cmdsize, symoff, nsyms, stroff, strsize; +} mach_symtab_command; +typedef struct { + int32_t strx; + uint8_t type, sect; + int16_t desc; + uint32_t value; +} mach_nlist; +typedef struct { + uint32_t strx; + uint8_t type, sect; + uint16_t desc; + uint64_t value; +} mach_nlist_64; +typedef struct +{ + uint32_t magic, nfat_arch; +} mach_fat_header; +typedef struct +{ + uint32_t cputype, cpusubtype, offset, size, align; +} mach_fat_arch; +typedef struct { + struct { + mach_header hdr; + mach_segment_command seg; + mach_section sec; + mach_symtab_command sym; + } arch[1]; + mach_nlist sym_entry; + uint8_t space[4096]; +} mach_obj; +typedef struct { + struct { + mach_header_64 hdr; + mach_segment_command_64 seg; + mach_section_64 sec; + mach_symtab_command sym; + } arch[1]; + mach_nlist_64 sym_entry; + uint8_t space[4096]; +} mach_obj_64; +typedef struct { + mach_fat_header fat; + mach_fat_arch fat_arch[2]; + struct { + mach_header hdr; + mach_segment_command seg; + mach_section sec; + mach_symtab_command sym; + } arch[2]; + mach_nlist sym_entry; + uint8_t space[4096]; +} mach_fat_obj; +]] + local symname = '_'..LJBC_PREFIX..ctx.modname + local isfat, is64, align, mobj = false, false, 4, "mach_obj" + if ctx.arch == "x64" then + is64, align, mobj = true, 8, "mach_obj_64" + elseif ctx.arch == "arm" then + isfat, mobj = true, "mach_fat_obj" + elseif ctx.arch == "arm64" then + is64, align, isfat, mobj = true, 8, true, "mach_fat_obj" + else + check(ctx.arch == "x86", "unsupported architecture for OSX") + end + local function aligned(v, a) return bit.band(v+a-1, -a) end + local be32 = bit.bswap -- Mach-O FAT is BE, supported archs are LE. + + -- Create Mach-O object and fill in header. + local o = ffi.new(mobj) + local mach_size = aligned(ffi.offsetof(o, "space")+#symname+2, align) + local cputype = ({ x86={7}, x64={0x01000007}, arm={7,12}, arm64={0x01000007,0x0100000c} })[ctx.arch] + local cpusubtype = ({ x86={3}, x64={3}, arm={3,9}, arm64={3,0} })[ctx.arch] + if isfat then + o.fat.magic = be32(0xcafebabe) + o.fat.nfat_arch = be32(#cpusubtype) + end + + -- Fill in sections and symbols. + for i=0,#cpusubtype-1 do + local ofs = 0 + if isfat then + local a = o.fat_arch[i] + a.cputype = be32(cputype[i+1]) + a.cpusubtype = be32(cpusubtype[i+1]) + -- Subsequent slices overlap each other to share data. + ofs = ffi.offsetof(o, "arch") + i*ffi.sizeof(o.arch[0]) + a.offset = be32(ofs) + a.size = be32(mach_size-ofs+#s) + end + local a = o.arch[i] + a.hdr.magic = is64 and 0xfeedfacf or 0xfeedface + a.hdr.cputype = cputype[i+1] + a.hdr.cpusubtype = cpusubtype[i+1] + a.hdr.filetype = 1 + a.hdr.ncmds = 2 + a.hdr.sizeofcmds = ffi.sizeof(a.seg)+ffi.sizeof(a.sec)+ffi.sizeof(a.sym) + a.seg.cmd = is64 and 0x19 or 0x1 + a.seg.cmdsize = ffi.sizeof(a.seg)+ffi.sizeof(a.sec) + a.seg.vmsize = #s + a.seg.fileoff = mach_size-ofs + a.seg.filesize = #s + a.seg.maxprot = 1 + a.seg.initprot = 1 + a.seg.nsects = 1 + ffi.copy(a.sec.sectname, "__data") + ffi.copy(a.sec.segname, "__DATA") + a.sec.size = #s + a.sec.offset = mach_size-ofs + a.sym.cmd = 2 + a.sym.cmdsize = ffi.sizeof(a.sym) + a.sym.symoff = ffi.offsetof(o, "sym_entry")-ofs + a.sym.nsyms = 1 + a.sym.stroff = ffi.offsetof(o, "sym_entry")+ffi.sizeof(o.sym_entry)-ofs + a.sym.strsize = aligned(#symname+2, align) + end + o.sym_entry.type = 0xf + o.sym_entry.sect = 1 + o.sym_entry.strx = 1 + ffi.copy(o.space+1, symname) + + -- Write Macho-O object file. + local fp = savefile(output, "wb") + fp:write(ffi.string(o, mach_size)) + bcsave_tail(fp, output, s) +end + +local function bcsave_obj(ctx, output, s) + local ok, ffi = pcall(require, "ffi") + check(ok, "FFI library required to write this file type") + if output == "-" and jit.os == "Windows" then + set_stdout_binary(ffi) + end + if ctx.os == "windows" then + return bcsave_peobj(ctx, output, s, ffi) + elseif ctx.os == "osx" then + return bcsave_machobj(ctx, output, s, ffi) + else + return bcsave_elfobj(ctx, output, s, ffi) + end +end + +------------------------------------------------------------------------------ + +local function bclist(input, output) + local f = readfile(input) + require("jit.bc").dump(f, savefile(output, "w"), true) +end + +local function bcsave(ctx, input, output) + local f = readfile(input) + local s = string.dump(f, ctx.strip) + local t = ctx.type + if not t then + t = detecttype(output) + ctx.type = t + end + if t == "raw" then + bcsave_raw(output, s) + else + if not ctx.modname then ctx.modname = detectmodname(input) end + if t == "obj" then + bcsave_obj(ctx, output, s) + else + bcsave_c(ctx, output, s) + end + end +end + +local function docmd(...) + local arg = {...} + local n = 1 + local list = false + local ctx = { + strip = true, arch = jit.arch, os = jit.os:lower(), + type = false, modname = false, + } + while n <= #arg do + local a = arg[n] + if type(a) == "string" and a:sub(1, 1) == "-" and a ~= "-" then + tremove(arg, n) + if a == "--" then break end + for m=2,#a do + local opt = a:sub(m, m) + if opt == "l" then + list = true + elseif opt == "s" then + ctx.strip = true + elseif opt == "g" then + ctx.strip = false + else + if arg[n] == nil or m ~= #a then usage() end + if opt == "e" then + if n ~= 1 then usage() end + arg[1] = check(loadstring(arg[1])) + elseif opt == "n" then + ctx.modname = checkmodname(tremove(arg, n)) + elseif opt == "t" then + ctx.type = checkarg(tremove(arg, n), map_type, "file type") + elseif opt == "a" then + ctx.arch = checkarg(tremove(arg, n), map_arch, "architecture") + elseif opt == "o" then + ctx.os = checkarg(tremove(arg, n), map_os, "OS name") + else + usage() + end + end + end + else + n = n + 1 + end + end + if list then + if #arg == 0 or #arg > 2 then usage() end + bclist(arg[1], arg[2] or "-") + else + if #arg ~= 2 then usage() end + bcsave(ctx, arg[1], arg[2]) + end +end + +------------------------------------------------------------------------------ + +-- Public module functions. +return { + start = docmd -- Process -b command line option. +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/dis_arm.lua b/libs/LuaJIT/android/arm64-v8a/jit/dis_arm.lua new file mode 100644 index 00000000..ba79c47e --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/dis_arm.lua @@ -0,0 +1,689 @@ +---------------------------------------------------------------------------- +-- LuaJIT ARM disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles most user-mode ARMv7 instructions +-- NYI: Advanced SIMD and VFP instructions. +------------------------------------------------------------------------------ + +local type = type +local sub, byte, format = string.sub, string.byte, string.format +local match, gmatch = string.match, string.gmatch +local concat = table.concat +local bit = require("bit") +local band, bor, ror, tohex = bit.band, bit.bor, bit.ror, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift + +------------------------------------------------------------------------------ +-- Opcode maps +------------------------------------------------------------------------------ + +local map_loadc = { + shift = 8, mask = 15, + [10] = { + shift = 20, mask = 1, + [0] = { + shift = 23, mask = 3, + [0] = "vmovFmDN", "vstmFNdr", + _ = { + shift = 21, mask = 1, + [0] = "vstrFdl", + { shift = 16, mask = 15, [13] = "vpushFdr", _ = "vstmdbFNdr", } + }, + }, + { + shift = 23, mask = 3, + [0] = "vmovFDNm", + { shift = 16, mask = 15, [13] = "vpopFdr", _ = "vldmFNdr", }, + _ = { + shift = 21, mask = 1, + [0] = "vldrFdl", "vldmdbFNdr", + }, + }, + }, + [11] = { + shift = 20, mask = 1, + [0] = { + shift = 23, mask = 3, + [0] = "vmovGmDN", "vstmGNdr", + _ = { + shift = 21, mask = 1, + [0] = "vstrGdl", + { shift = 16, mask = 15, [13] = "vpushGdr", _ = "vstmdbGNdr", } + }, + }, + { + shift = 23, mask = 3, + [0] = "vmovGDNm", + { shift = 16, mask = 15, [13] = "vpopGdr", _ = "vldmGNdr", }, + _ = { + shift = 21, mask = 1, + [0] = "vldrGdl", "vldmdbGNdr", + }, + }, + }, + _ = { + shift = 0, mask = 0 -- NYI ldc, mcrr, mrrc. + }, +} + +local map_vfps = { + shift = 6, mask = 0x2c001, + [0] = "vmlaF.dnm", "vmlsF.dnm", + [0x04000] = "vnmlsF.dnm", [0x04001] = "vnmlaF.dnm", + [0x08000] = "vmulF.dnm", [0x08001] = "vnmulF.dnm", + [0x0c000] = "vaddF.dnm", [0x0c001] = "vsubF.dnm", + [0x20000] = "vdivF.dnm", + [0x24000] = "vfnmsF.dnm", [0x24001] = "vfnmaF.dnm", + [0x28000] = "vfmaF.dnm", [0x28001] = "vfmsF.dnm", + [0x2c000] = "vmovF.dY", + [0x2c001] = { + shift = 7, mask = 0x1e01, + [0] = "vmovF.dm", "vabsF.dm", + [0x0200] = "vnegF.dm", [0x0201] = "vsqrtF.dm", + [0x0800] = "vcmpF.dm", [0x0801] = "vcmpeF.dm", + [0x0a00] = "vcmpzF.d", [0x0a01] = "vcmpzeF.d", + [0x0e01] = "vcvtG.dF.m", + [0x1000] = "vcvt.f32.u32Fdm", [0x1001] = "vcvt.f32.s32Fdm", + [0x1800] = "vcvtr.u32F.dm", [0x1801] = "vcvt.u32F.dm", + [0x1a00] = "vcvtr.s32F.dm", [0x1a01] = "vcvt.s32F.dm", + }, +} + +local map_vfpd = { + shift = 6, mask = 0x2c001, + [0] = "vmlaG.dnm", "vmlsG.dnm", + [0x04000] = "vnmlsG.dnm", [0x04001] = "vnmlaG.dnm", + [0x08000] = "vmulG.dnm", [0x08001] = "vnmulG.dnm", + [0x0c000] = "vaddG.dnm", [0x0c001] = "vsubG.dnm", + [0x20000] = "vdivG.dnm", + [0x24000] = "vfnmsG.dnm", [0x24001] = "vfnmaG.dnm", + [0x28000] = "vfmaG.dnm", [0x28001] = "vfmsG.dnm", + [0x2c000] = "vmovG.dY", + [0x2c001] = { + shift = 7, mask = 0x1e01, + [0] = "vmovG.dm", "vabsG.dm", + [0x0200] = "vnegG.dm", [0x0201] = "vsqrtG.dm", + [0x0800] = "vcmpG.dm", [0x0801] = "vcmpeG.dm", + [0x0a00] = "vcmpzG.d", [0x0a01] = "vcmpzeG.d", + [0x0e01] = "vcvtF.dG.m", + [0x1000] = "vcvt.f64.u32GdFm", [0x1001] = "vcvt.f64.s32GdFm", + [0x1800] = "vcvtr.u32FdG.m", [0x1801] = "vcvt.u32FdG.m", + [0x1a00] = "vcvtr.s32FdG.m", [0x1a01] = "vcvt.s32FdG.m", + }, +} + +local map_datac = { + shift = 24, mask = 1, + [0] = { + shift = 4, mask = 1, + [0] = { + shift = 8, mask = 15, + [10] = map_vfps, + [11] = map_vfpd, + -- NYI cdp, mcr, mrc. + }, + { + shift = 8, mask = 15, + [10] = { + shift = 20, mask = 15, + [0] = "vmovFnD", "vmovFDn", + [14] = "vmsrD", + [15] = { shift = 12, mask = 15, [15] = "vmrs", _ = "vmrsD", }, + }, + }, + }, + "svcT", +} + +local map_loadcu = { + shift = 0, mask = 0, -- NYI unconditional CP load/store. +} + +local map_datacu = { + shift = 0, mask = 0, -- NYI unconditional CP data. +} + +local map_simddata = { + shift = 0, mask = 0, -- NYI SIMD data. +} + +local map_simdload = { + shift = 0, mask = 0, -- NYI SIMD load/store, preload. +} + +local map_preload = { + shift = 0, mask = 0, -- NYI preload. +} + +local map_media = { + shift = 20, mask = 31, + [0] = false, + { --01 + shift = 5, mask = 7, + [0] = "sadd16DNM", "sasxDNM", "ssaxDNM", "ssub16DNM", + "sadd8DNM", false, false, "ssub8DNM", + }, + { --02 + shift = 5, mask = 7, + [0] = "qadd16DNM", "qasxDNM", "qsaxDNM", "qsub16DNM", + "qadd8DNM", false, false, "qsub8DNM", + }, + { --03 + shift = 5, mask = 7, + [0] = "shadd16DNM", "shasxDNM", "shsaxDNM", "shsub16DNM", + "shadd8DNM", false, false, "shsub8DNM", + }, + false, + { --05 + shift = 5, mask = 7, + [0] = "uadd16DNM", "uasxDNM", "usaxDNM", "usub16DNM", + "uadd8DNM", false, false, "usub8DNM", + }, + { --06 + shift = 5, mask = 7, + [0] = "uqadd16DNM", "uqasxDNM", "uqsaxDNM", "uqsub16DNM", + "uqadd8DNM", false, false, "uqsub8DNM", + }, + { --07 + shift = 5, mask = 7, + [0] = "uhadd16DNM", "uhasxDNM", "uhsaxDNM", "uhsub16DNM", + "uhadd8DNM", false, false, "uhsub8DNM", + }, + { --08 + shift = 5, mask = 7, + [0] = "pkhbtDNMU", false, "pkhtbDNMU", + { shift = 16, mask = 15, [15] = "sxtb16DMU", _ = "sxtab16DNMU", }, + "pkhbtDNMU", "selDNM", "pkhtbDNMU", + }, + false, + { --0a + shift = 5, mask = 7, + [0] = "ssatDxMu", "ssat16DxM", "ssatDxMu", + { shift = 16, mask = 15, [15] = "sxtbDMU", _ = "sxtabDNMU", }, + "ssatDxMu", false, "ssatDxMu", + }, + { --0b + shift = 5, mask = 7, + [0] = "ssatDxMu", "revDM", "ssatDxMu", + { shift = 16, mask = 15, [15] = "sxthDMU", _ = "sxtahDNMU", }, + "ssatDxMu", "rev16DM", "ssatDxMu", + }, + { --0c + shift = 5, mask = 7, + [3] = { shift = 16, mask = 15, [15] = "uxtb16DMU", _ = "uxtab16DNMU", }, + }, + false, + { --0e + shift = 5, mask = 7, + [0] = "usatDwMu", "usat16DwM", "usatDwMu", + { shift = 16, mask = 15, [15] = "uxtbDMU", _ = "uxtabDNMU", }, + "usatDwMu", false, "usatDwMu", + }, + { --0f + shift = 5, mask = 7, + [0] = "usatDwMu", "rbitDM", "usatDwMu", + { shift = 16, mask = 15, [15] = "uxthDMU", _ = "uxtahDNMU", }, + "usatDwMu", "revshDM", "usatDwMu", + }, + { --10 + shift = 12, mask = 15, + [15] = { + shift = 5, mask = 7, + "smuadNMS", "smuadxNMS", "smusdNMS", "smusdxNMS", + }, + _ = { + shift = 5, mask = 7, + [0] = "smladNMSD", "smladxNMSD", "smlsdNMSD", "smlsdxNMSD", + }, + }, + false, false, false, + { --14 + shift = 5, mask = 7, + [0] = "smlaldDNMS", "smlaldxDNMS", "smlsldDNMS", "smlsldxDNMS", + }, + { --15 + shift = 5, mask = 7, + [0] = { shift = 12, mask = 15, [15] = "smmulNMS", _ = "smmlaNMSD", }, + { shift = 12, mask = 15, [15] = "smmulrNMS", _ = "smmlarNMSD", }, + false, false, false, false, + "smmlsNMSD", "smmlsrNMSD", + }, + false, false, + { --18 + shift = 5, mask = 7, + [0] = { shift = 12, mask = 15, [15] = "usad8NMS", _ = "usada8NMSD", }, + }, + false, + { --1a + shift = 5, mask = 3, [2] = "sbfxDMvw", + }, + { --1b + shift = 5, mask = 3, [2] = "sbfxDMvw", + }, + { --1c + shift = 5, mask = 3, + [0] = { shift = 0, mask = 15, [15] = "bfcDvX", _ = "bfiDMvX", }, + }, + { --1d + shift = 5, mask = 3, + [0] = { shift = 0, mask = 15, [15] = "bfcDvX", _ = "bfiDMvX", }, + }, + { --1e + shift = 5, mask = 3, [2] = "ubfxDMvw", + }, + { --1f + shift = 5, mask = 3, [2] = "ubfxDMvw", + }, +} + +local map_load = { + shift = 21, mask = 9, + { + shift = 20, mask = 5, + [0] = "strtDL", "ldrtDL", [4] = "strbtDL", [5] = "ldrbtDL", + }, + _ = { + shift = 20, mask = 5, + [0] = "strDL", "ldrDL", [4] = "strbDL", [5] = "ldrbDL", + } +} + +local map_load1 = { + shift = 4, mask = 1, + [0] = map_load, map_media, +} + +local map_loadm = { + shift = 20, mask = 1, + [0] = { + shift = 23, mask = 3, + [0] = "stmdaNR", "stmNR", + { shift = 16, mask = 63, [45] = "pushR", _ = "stmdbNR", }, "stmibNR", + }, + { + shift = 23, mask = 3, + [0] = "ldmdaNR", { shift = 16, mask = 63, [61] = "popR", _ = "ldmNR", }, + "ldmdbNR", "ldmibNR", + }, +} + +local map_data = { + shift = 21, mask = 15, + [0] = "andDNPs", "eorDNPs", "subDNPs", "rsbDNPs", + "addDNPs", "adcDNPs", "sbcDNPs", "rscDNPs", + "tstNP", "teqNP", "cmpNP", "cmnNP", + "orrDNPs", "movDPs", "bicDNPs", "mvnDPs", +} + +local map_mul = { + shift = 21, mask = 7, + [0] = "mulNMSs", "mlaNMSDs", "umaalDNMS", "mlsDNMS", + "umullDNMSs", "umlalDNMSs", "smullDNMSs", "smlalDNMSs", +} + +local map_sync = { + shift = 20, mask = 15, -- NYI: brackets around N. R(D+1) for ldrexd/strexd. + [0] = "swpDMN", false, false, false, + "swpbDMN", false, false, false, + "strexDMN", "ldrexDN", "strexdDN", "ldrexdDN", + "strexbDMN", "ldrexbDN", "strexhDN", "ldrexhDN", +} + +local map_mulh = { + shift = 21, mask = 3, + [0] = { shift = 5, mask = 3, + [0] = "smlabbNMSD", "smlatbNMSD", "smlabtNMSD", "smlattNMSD", }, + { shift = 5, mask = 3, + [0] = "smlawbNMSD", "smulwbNMS", "smlawtNMSD", "smulwtNMS", }, + { shift = 5, mask = 3, + [0] = "smlalbbDNMS", "smlaltbDNMS", "smlalbtDNMS", "smlalttDNMS", }, + { shift = 5, mask = 3, + [0] = "smulbbNMS", "smultbNMS", "smulbtNMS", "smulttNMS", }, +} + +local map_misc = { + shift = 4, mask = 7, + -- NYI: decode PSR bits of msr. + [0] = { shift = 21, mask = 1, [0] = "mrsD", "msrM", }, + { shift = 21, mask = 3, "bxM", false, "clzDM", }, + { shift = 21, mask = 3, "bxjM", }, + { shift = 21, mask = 3, "blxM", }, + false, + { shift = 21, mask = 3, [0] = "qaddDMN", "qsubDMN", "qdaddDMN", "qdsubDMN", }, + false, + { shift = 21, mask = 3, "bkptK", }, +} + +local map_datar = { + shift = 4, mask = 9, + [9] = { + shift = 5, mask = 3, + [0] = { shift = 24, mask = 1, [0] = map_mul, map_sync, }, + { shift = 20, mask = 1, [0] = "strhDL", "ldrhDL", }, + { shift = 20, mask = 1, [0] = "ldrdDL", "ldrsbDL", }, + { shift = 20, mask = 1, [0] = "strdDL", "ldrshDL", }, + }, + _ = { + shift = 20, mask = 25, + [16] = { shift = 7, mask = 1, [0] = map_misc, map_mulh, }, + _ = { + shift = 0, mask = 0xffffffff, + [bor(0xe1a00000)] = "nop", + _ = map_data, + } + }, +} + +local map_datai = { + shift = 20, mask = 31, -- NYI: decode PSR bits of msr. Decode imm12. + [16] = "movwDW", [20] = "movtDW", + [18] = { shift = 0, mask = 0xf00ff, [0] = "nopv6", _ = "msrNW", }, + [22] = "msrNW", + _ = map_data, +} + +local map_branch = { + shift = 24, mask = 1, + [0] = "bB", "blB" +} + +local map_condins = { + [0] = map_datar, map_datai, map_load, map_load1, + map_loadm, map_branch, map_loadc, map_datac +} + +-- NYI: setend. +local map_uncondins = { + [0] = false, map_simddata, map_simdload, map_preload, + false, "blxB", map_loadcu, map_datacu, +} + +------------------------------------------------------------------------------ + +local map_gpr = { + [0] = "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "sp", "lr", "pc", +} + +local map_cond = { + [0] = "eq", "ne", "hs", "lo", "mi", "pl", "vs", "vc", + "hi", "ls", "ge", "lt", "gt", "le", "al", +} + +local map_shift = { [0] = "lsl", "lsr", "asr", "ror", } + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then + extra = "\t->"..sym + elseif band(ctx.op, 0x0e000000) ~= 0x0a000000 then + extra = "\t; 0x"..tohex(ctx.rel) + end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-5s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-5s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +-- Format operand 2 of load/store opcodes. +local function fmtload(ctx, op, pos) + local base = map_gpr[band(rshift(op, 16), 15)] + local x, ofs + local ext = (band(op, 0x04000000) == 0) + if not ext and band(op, 0x02000000) == 0 then + ofs = band(op, 4095) + if band(op, 0x00800000) == 0 then ofs = -ofs end + if base == "pc" then ctx.rel = ctx.addr + pos + 8 + ofs end + ofs = "#"..ofs + elseif ext and band(op, 0x00400000) ~= 0 then + ofs = band(op, 15) + band(rshift(op, 4), 0xf0) + if band(op, 0x00800000) == 0 then ofs = -ofs end + if base == "pc" then ctx.rel = ctx.addr + pos + 8 + ofs end + ofs = "#"..ofs + else + ofs = map_gpr[band(op, 15)] + if ext or band(op, 0xfe0) == 0 then + elseif band(op, 0xfe0) == 0x60 then + ofs = format("%s, rrx", ofs) + else + local sh = band(rshift(op, 7), 31) + if sh == 0 then sh = 32 end + ofs = format("%s, %s #%d", ofs, map_shift[band(rshift(op, 5), 3)], sh) + end + if band(op, 0x00800000) == 0 then ofs = "-"..ofs end + end + if ofs == "#0" then + x = format("[%s]", base) + elseif band(op, 0x01000000) == 0 then + x = format("[%s], %s", base, ofs) + else + x = format("[%s, %s]", base, ofs) + end + if band(op, 0x01200000) == 0x01200000 then x = x.."!" end + return x +end + +-- Format operand 2 of vector load/store opcodes. +local function fmtvload(ctx, op, pos) + local base = map_gpr[band(rshift(op, 16), 15)] + local ofs = band(op, 255)*4 + if band(op, 0x00800000) == 0 then ofs = -ofs end + if base == "pc" then ctx.rel = ctx.addr + pos + 8 + ofs end + if ofs == 0 then + return format("[%s]", base) + else + return format("[%s, #%d]", base, ofs) + end +end + +local function fmtvr(op, vr, sh0, sh1) + if vr == "s" then + return format("s%d", 2*band(rshift(op, sh0), 15)+band(rshift(op, sh1), 1)) + else + return format("d%d", band(rshift(op, sh0), 15)+band(rshift(op, sh1-4), 16)) + end +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + local op = bor(lshift(b3, 24), lshift(b2, 16), lshift(b1, 8), b0) + local operands = {} + local suffix = "" + local last, name, pat + local vr + ctx.op = op + ctx.rel = nil + + local cond = rshift(op, 28) + local opat + if cond == 15 then + opat = map_uncondins[band(rshift(op, 25), 7)] + else + if cond ~= 14 then suffix = map_cond[cond] end + opat = map_condins[band(rshift(op, 25), 7)] + end + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + opat = opat[band(rshift(op, opat.shift), opat.mask)] or opat._ + end + name, pat = match(opat, "^([a-z0-9]*)(.*)") + if sub(pat, 1, 1) == "." then + local s2, p2 = match(pat, "^([a-z0-9.]*)(.*)") + suffix = suffix..s2 + pat = p2 + end + + for p in gmatch(pat, ".") do + local x = nil + if p == "D" then + x = map_gpr[band(rshift(op, 12), 15)] + elseif p == "N" then + x = map_gpr[band(rshift(op, 16), 15)] + elseif p == "S" then + x = map_gpr[band(rshift(op, 8), 15)] + elseif p == "M" then + x = map_gpr[band(op, 15)] + elseif p == "d" then + x = fmtvr(op, vr, 12, 22) + elseif p == "n" then + x = fmtvr(op, vr, 16, 7) + elseif p == "m" then + x = fmtvr(op, vr, 0, 5) + elseif p == "P" then + if band(op, 0x02000000) ~= 0 then + x = ror(band(op, 255), 2*band(rshift(op, 8), 15)) + else + x = map_gpr[band(op, 15)] + if band(op, 0xff0) ~= 0 then + operands[#operands+1] = x + local s = map_shift[band(rshift(op, 5), 3)] + local r = nil + if band(op, 0xf90) == 0 then + if s == "ror" then s = "rrx" else r = "#32" end + elseif band(op, 0x10) == 0 then + r = "#"..band(rshift(op, 7), 31) + else + r = map_gpr[band(rshift(op, 8), 15)] + end + if name == "mov" then name = s; x = r + elseif r then x = format("%s %s", s, r) + else x = s end + end + end + elseif p == "L" then + x = fmtload(ctx, op, pos) + elseif p == "l" then + x = fmtvload(ctx, op, pos) + elseif p == "B" then + local addr = ctx.addr + pos + 8 + arshift(lshift(op, 8), 6) + if cond == 15 then addr = addr + band(rshift(op, 23), 2) end + ctx.rel = addr + x = "0x"..tohex(addr) + elseif p == "F" then + vr = "s" + elseif p == "G" then + vr = "d" + elseif p == "." then + suffix = suffix..(vr == "s" and ".f32" or ".f64") + elseif p == "R" then + if band(op, 0x00200000) ~= 0 and #operands == 1 then + operands[1] = operands[1].."!" + end + local t = {} + for i=0,15 do + if band(rshift(op, i), 1) == 1 then t[#t+1] = map_gpr[i] end + end + x = "{"..concat(t, ", ").."}" + elseif p == "r" then + if band(op, 0x00200000) ~= 0 and #operands == 2 then + operands[1] = operands[1].."!" + end + local s = tonumber(sub(last, 2)) + local n = band(op, 255) + if vr == "d" then n = rshift(n, 1) end + operands[#operands] = format("{%s-%s%d}", last, vr, s+n-1) + elseif p == "W" then + x = band(op, 0x0fff) + band(rshift(op, 4), 0xf000) + elseif p == "T" then + x = "#0x"..tohex(band(op, 0x00ffffff), 6) + elseif p == "U" then + x = band(rshift(op, 7), 31) + if x == 0 then x = nil end + elseif p == "u" then + x = band(rshift(op, 7), 31) + if band(op, 0x40) == 0 then + if x == 0 then x = nil else x = "lsl #"..x end + else + if x == 0 then x = "asr #32" else x = "asr #"..x end + end + elseif p == "v" then + x = band(rshift(op, 7), 31) + elseif p == "w" then + x = band(rshift(op, 16), 31) + elseif p == "x" then + x = band(rshift(op, 16), 31) + 1 + elseif p == "X" then + x = band(rshift(op, 16), 31) - last + 1 + elseif p == "Y" then + x = band(rshift(op, 12), 0xf0) + band(op, 0x0f) + elseif p == "K" then + x = "#0x"..tohex(band(rshift(op, 4), 0x0000fff0) + band(op, 15), 4) + elseif p == "s" then + if band(op, 0x00100000) ~= 0 then suffix = "s"..suffix end + else + assert(false) + end + if x then + last = x + if type(x) == "number" then x = "#"..x end + operands[#operands+1] = x + end + end + + return putop(ctx, name..suffix, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + ctx.pos = ofs + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 16 then return map_gpr[r] end + return "d"..(r-16) +end + +-- Public module functions. +return { + create = create, + disass = disass, + regname = regname +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/dis_arm64.lua b/libs/LuaJIT/android/arm64-v8a/jit/dis_arm64.lua new file mode 100644 index 00000000..ad909fbd --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/dis_arm64.lua @@ -0,0 +1,1216 @@ +---------------------------------------------------------------------------- +-- LuaJIT ARM64 disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +-- +-- Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com. +-- Sponsored by Cisco Systems, Inc. +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles most user-mode AArch64 instructions. +-- NYI: Advanced SIMD and VFP instructions. +------------------------------------------------------------------------------ + +local type = type +local sub, byte, format = string.sub, string.byte, string.format +local match, gmatch, gsub = string.match, string.gmatch, string.gsub +local concat = table.concat +local bit = require("bit") +local band, bor, bxor, tohex = bit.band, bit.bor, bit.bxor, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift +local ror = bit.ror + +------------------------------------------------------------------------------ +-- Opcode maps +------------------------------------------------------------------------------ + +local map_adr = { -- PC-relative addressing. + shift = 31, mask = 1, + [0] = "adrDBx", "adrpDBx" +} + +local map_addsubi = { -- Add/subtract immediate. + shift = 29, mask = 3, + [0] = "add|movDNIg", "adds|cmnD0NIg", "subDNIg", "subs|cmpD0NIg", +} + +local map_logi = { -- Logical immediate. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "andDNig", "orr|movDN0ig", "eorDNig", "ands|tstD0Nig" + }, + false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = "andDNig", "orr|movDN0ig", "eorDNig", "ands|tstD0Nig" + } +} + +local map_movwi = { -- Move wide immediate. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "movnDWRg", false, "movz|movDYRg", "movkDWRg" + }, false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = "movnDWRg", false, "movz|movDYRg", "movkDWRg" + }, +} + +local map_bitf = { -- Bitfield. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "sbfm|sbfiz|sbfx|asr|sxtw|sxth|sxtbDN12w", + "bfm|bfi|bfxilDN13w", + "ubfm|ubfiz|ubfx|lsr|lsl|uxth|uxtbDN12w" + } + }, + { + shift = 22, mask = 1, + { + shift = 29, mask = 3, + [0] = "sbfm|sbfiz|sbfx|asr|sxtw|sxth|sxtbDN12x", + "bfm|bfi|bfxilDN13x", + "ubfm|ubfiz|ubfx|lsr|lsl|uxth|uxtbDN12x" + } + } +} + +local map_datai = { -- Data processing - immediate. + shift = 23, mask = 7, + [0] = map_adr, map_adr, map_addsubi, false, + map_logi, map_movwi, map_bitf, + { + shift = 15, mask = 0x1c0c1, + [0] = "extr|rorDNM4w", [0x10080] = "extr|rorDNM4x", + [0x10081] = "extr|rorDNM4x" + } +} + +local map_logsr = { -- Logical, shifted register. + shift = 31, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = { + shift = 21, mask = 7, + [0] = "andDNMSg", "bicDNMSg", "andDNMSg", "bicDNMSg", + "andDNMSg", "bicDNMSg", "andDNMg", "bicDNMg" + }, + { + shift = 21, mask = 7, + [0] ="orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0MSg", "orn|mvnDN0MSg", + "orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0Mg", "orn|mvnDN0Mg" + }, + { + shift = 21, mask = 7, + [0] = "eorDNMSg", "eonDNMSg", "eorDNMSg", "eonDNMSg", + "eorDNMSg", "eonDNMSg", "eorDNMg", "eonDNMg" + }, + { + shift = 21, mask = 7, + [0] = "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMSg", "bicsDNMSg", + "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMg", "bicsDNMg" + } + }, + false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = { + shift = 21, mask = 7, + [0] = "andDNMSg", "bicDNMSg", "andDNMSg", "bicDNMSg", + "andDNMSg", "bicDNMSg", "andDNMg", "bicDNMg" + }, + { + shift = 21, mask = 7, + [0] = "orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0MSg", "orn|mvnDN0MSg", + "orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0Mg", "orn|mvnDN0Mg" + }, + { + shift = 21, mask = 7, + [0] = "eorDNMSg", "eonDNMSg", "eorDNMSg", "eonDNMSg", + "eorDNMSg", "eonDNMSg", "eorDNMg", "eonDNMg" + }, + { + shift = 21, mask = 7, + [0] = "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMSg", "bicsDNMSg", + "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMg", "bicsDNMg" + } + } +} + +local map_assh = { + shift = 31, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "addDNMSg", "addDNMSg", "addDNMSg", "addDNMg" + }, + { + shift = 22, mask = 3, + [0] = "adds|cmnD0NMSg", "adds|cmnD0NMSg", + "adds|cmnD0NMSg", "adds|cmnD0NMg" + }, + { + shift = 22, mask = 3, + [0] = "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0Mg" + }, + { + shift = 22, mask = 3, + [0] = "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0MzSg", + "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0Mzg" + }, + }, + false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "addDNMSg", "addDNMSg", "addDNMSg", "addDNMg" + }, + { + shift = 22, mask = 3, + [0] = "adds|cmnD0NMSg", "adds|cmnD0NMSg", "adds|cmnD0NMSg", + "adds|cmnD0NMg" + }, + { + shift = 22, mask = 3, + [0] = "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0Mg" + }, + { + shift = 22, mask = 3, + [0] = "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0MzSg", + "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0Mzg" + } + } +} + +local map_addsubsh = { -- Add/subtract, shifted register. + shift = 22, mask = 3, + [0] = map_assh, map_assh, map_assh +} + +local map_addsubex = { -- Add/subtract, extended register. + shift = 22, mask = 3, + [0] = { + shift = 29, mask = 3, + [0] = "addDNMXg", "adds|cmnD0NMXg", "subDNMXg", "subs|cmpD0NMzXg", + } +} + +local map_addsubc = { -- Add/subtract, with carry. + shift = 10, mask = 63, + [0] = { + shift = 29, mask = 3, + [0] = "adcDNMg", "adcsDNMg", "sbc|ngcDN0Mg", "sbcs|ngcsDN0Mg", + } +} + +local map_ccomp = { + shift = 4, mask = 1, + [0] = { + shift = 10, mask = 3, + [0] = { -- Conditional compare register. + shift = 29, mask = 3, + "ccmnNMVCg", false, "ccmpNMVCg", + }, + [2] = { -- Conditional compare immediate. + shift = 29, mask = 3, + "ccmnN5VCg", false, "ccmpN5VCg", + } + } +} + +local map_csel = { -- Conditional select. + shift = 11, mask = 1, + [0] = { + shift = 10, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "cselDNMzCg", false, "csinv|cinv|csetmDNMcg", false, + }, + { + shift = 29, mask = 3, + [0] = "csinc|cinc|csetDNMcg", false, "csneg|cnegDNMcg", false, + } + } +} + +local map_data1s = { -- Data processing, 1 source. + shift = 29, mask = 1, + [0] = { + shift = 31, mask = 1, + [0] = { + shift = 10, mask = 0x7ff, + [0] = "rbitDNg", "rev16DNg", "revDNw", false, "clzDNg", "clsDNg" + }, + { + shift = 10, mask = 0x7ff, + [0] = "rbitDNg", "rev16DNg", "rev32DNx", "revDNx", "clzDNg", "clsDNg" + } + } +} + +local map_data2s = { -- Data processing, 2 sources. + shift = 29, mask = 1, + [0] = { + shift = 10, mask = 63, + false, "udivDNMg", "sdivDNMg", false, false, false, false, "lslDNMg", + "lsrDNMg", "asrDNMg", "rorDNMg" + } +} + +local map_data3s = { -- Data processing, 3 sources. + shift = 29, mask = 7, + [0] = { + shift = 21, mask = 7, + [0] = { + shift = 15, mask = 1, + [0] = "madd|mulDNMA0g", "msub|mnegDNMA0g" + } + }, false, false, false, + { + shift = 15, mask = 1, + [0] = { + shift = 21, mask = 7, + [0] = "madd|mulDNMA0g", "smaddl|smullDxNMwA0x", "smulhDNMx", false, + false, "umaddl|umullDxNMwA0x", "umulhDNMx" + }, + { + shift = 21, mask = 7, + [0] = "msub|mnegDNMA0g", "smsubl|smneglDxNMwA0x", false, false, + false, "umsubl|umneglDxNMwA0x" + } + } +} + +local map_datar = { -- Data processing, register. + shift = 28, mask = 1, + [0] = { + shift = 24, mask = 1, + [0] = map_logsr, + { + shift = 21, mask = 1, + [0] = map_addsubsh, map_addsubex + } + }, + { + shift = 21, mask = 15, + [0] = map_addsubc, false, map_ccomp, false, map_csel, false, + { + shift = 30, mask = 1, + [0] = map_data2s, map_data1s + }, + false, map_data3s, map_data3s, map_data3s, map_data3s, map_data3s, + map_data3s, map_data3s, map_data3s + } +} + +local map_lrl = { -- Load register, literal. + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = "ldrDwB", "ldrDxB", "ldrswDxB" + }, + { + shift = 30, mask = 3, + [0] = "ldrDsB", "ldrDdB" + } +} + +local map_lsriind = { -- Load/store register, immediate pre/post-indexed. + shift = 30, mask = 3, + [0] = { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strbDwzL", "ldrbDwzL", "ldrsbDxzL", "ldrsbDwzL" + } + }, + { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strhDwzL", "ldrhDwzL", "ldrshDxzL", "ldrshDwzL" + } + }, + { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strDwzL", "ldrDwzL", "ldrswDxzL" + }, + { + shift = 22, mask = 3, + [0] = "strDszL", "ldrDszL" + } + }, + { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strDxzL", "ldrDxzL" + }, + { + shift = 22, mask = 3, + [0] = "strDdzL", "ldrDdzL" + } + } +} + +local map_lsriro = { + shift = 21, mask = 1, + [0] = { -- Load/store register immediate. + shift = 10, mask = 3, + [0] = { -- Unscaled immediate. + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "sturbDwK", "ldurbDwK" + }, + { + shift = 22, mask = 3, + [0] = "sturhDwK", "ldurhDwK" + }, + { + shift = 22, mask = 3, + [0] = "sturDwK", "ldurDwK" + }, + { + shift = 22, mask = 3, + [0] = "sturDxK", "ldurDxK" + } + } + }, map_lsriind, false, map_lsriind + }, + { -- Load/store register, register offset. + shift = 10, mask = 3, + [2] = { + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "strbDwO", "ldrbDwO", "ldrsbDxO", "ldrsbDwO" + }, + { + shift = 22, mask = 3, + [0] = "strhDwO", "ldrhDwO", "ldrshDxO", "ldrshDwO" + }, + { + shift = 22, mask = 3, + [0] = "strDwO", "ldrDwO", "ldrswDxO" + }, + { + shift = 22, mask = 3, + [0] = "strDxO", "ldrDxO" + } + }, + { + shift = 30, mask = 3, + [2] = { + shift = 22, mask = 3, + [0] = "strDsO", "ldrDsO" + }, + [3] = { + shift = 22, mask = 3, + [0] = "strDdO", "ldrDdO" + } + } + } + } +} + +local map_lsp = { -- Load/store register pair, offset. + shift = 22, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 26, mask = 1, + [0] = "stpDzAzwP", "stpDzAzsP", + }, + { + shift = 26, mask = 1, + "stpDzAzdP" + }, + { + shift = 26, mask = 1, + [0] = "stpDzAzxP" + } + }, + { + shift = 30, mask = 3, + [0] = { + shift = 26, mask = 1, + [0] = "ldpDzAzwP", "ldpDzAzsP", + }, + { + shift = 26, mask = 1, + [0] = "ldpswDAxP", "ldpDzAzdP" + }, + { + shift = 26, mask = 1, + [0] = "ldpDzAzxP" + } + } +} + +local map_ls = { -- Loads and stores. + shift = 24, mask = 0x31, + [0x10] = map_lrl, [0x30] = map_lsriro, + [0x20] = { + shift = 23, mask = 3, + map_lsp, map_lsp, map_lsp + }, + [0x21] = { + shift = 23, mask = 3, + map_lsp, map_lsp, map_lsp + }, + [0x31] = { + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "strbDwzU", "ldrbDwzU" + }, + { + shift = 22, mask = 3, + [0] = "strhDwzU", "ldrhDwzU" + }, + { + shift = 22, mask = 3, + [0] = "strDwzU", "ldrDwzU" + }, + { + shift = 22, mask = 3, + [0] = "strDxzU", "ldrDxzU" + } + }, + { + shift = 30, mask = 3, + [2] = { + shift = 22, mask = 3, + [0] = "strDszU", "ldrDszU" + }, + [3] = { + shift = 22, mask = 3, + [0] = "strDdzU", "ldrDdzU" + } + } + }, +} + +local map_datafp = { -- Data processing, SIMD and FP. + shift = 28, mask = 7, + { -- 001 + shift = 24, mask = 1, + [0] = { + shift = 21, mask = 1, + { + shift = 10, mask = 3, + [0] = { + shift = 12, mask = 1, + [0] = { + shift = 13, mask = 1, + [0] = { + shift = 14, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { -- FP/int conversion. + shift = 31, mask = 1, + [0] = { + shift = 16, mask = 0xff, + [0x20] = "fcvtnsDwNs", [0x21] = "fcvtnuDwNs", + [0x22] = "scvtfDsNw", [0x23] = "ucvtfDsNw", + [0x24] = "fcvtasDwNs", [0x25] = "fcvtauDwNs", + [0x26] = "fmovDwNs", [0x27] = "fmovDsNw", + [0x28] = "fcvtpsDwNs", [0x29] = "fcvtpuDwNs", + [0x30] = "fcvtmsDwNs", [0x31] = "fcvtmuDwNs", + [0x38] = "fcvtzsDwNs", [0x39] = "fcvtzuDwNs", + [0x60] = "fcvtnsDwNd", [0x61] = "fcvtnuDwNd", + [0x62] = "scvtfDdNw", [0x63] = "ucvtfDdNw", + [0x64] = "fcvtasDwNd", [0x65] = "fcvtauDwNd", + [0x68] = "fcvtpsDwNd", [0x69] = "fcvtpuDwNd", + [0x70] = "fcvtmsDwNd", [0x71] = "fcvtmuDwNd", + [0x78] = "fcvtzsDwNd", [0x79] = "fcvtzuDwNd" + }, + { + shift = 16, mask = 0xff, + [0x20] = "fcvtnsDxNs", [0x21] = "fcvtnuDxNs", + [0x22] = "scvtfDsNx", [0x23] = "ucvtfDsNx", + [0x24] = "fcvtasDxNs", [0x25] = "fcvtauDxNs", + [0x28] = "fcvtpsDxNs", [0x29] = "fcvtpuDxNs", + [0x30] = "fcvtmsDxNs", [0x31] = "fcvtmuDxNs", + [0x38] = "fcvtzsDxNs", [0x39] = "fcvtzuDxNs", + [0x60] = "fcvtnsDxNd", [0x61] = "fcvtnuDxNd", + [0x62] = "scvtfDdNx", [0x63] = "ucvtfDdNx", + [0x64] = "fcvtasDxNd", [0x65] = "fcvtauDxNd", + [0x66] = "fmovDxNd", [0x67] = "fmovDdNx", + [0x68] = "fcvtpsDxNd", [0x69] = "fcvtpuDxNd", + [0x70] = "fcvtmsDxNd", [0x71] = "fcvtmuDxNd", + [0x78] = "fcvtzsDxNd", [0x79] = "fcvtzuDxNd" + } + } + }, + { -- FP data-processing, 1 source. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = { + shift = 15, mask = 63, + [0] = "fmovDNf", "fabsDNf", "fnegDNf", + "fsqrtDNf", false, "fcvtDdNs", false, false, + "frintnDNf", "frintpDNf", "frintmDNf", "frintzDNf", + "frintaDNf", false, "frintxDNf", "frintiDNf", + }, + { + shift = 15, mask = 63, + [0] = "fmovDNf", "fabsDNf", "fnegDNf", + "fsqrtDNf", "fcvtDsNd", false, false, false, + "frintnDNf", "frintpDNf", "frintmDNf", "frintzDNf", + "frintaDNf", false, "frintxDNf", "frintiDNf", + } + } + } + }, + { -- FP compare. + shift = 31, mask = 1, + [0] = { + shift = 14, mask = 3, + [0] = { + shift = 23, mask = 1, + [0] = { + shift = 0, mask = 31, + [0] = "fcmpNMf", [8] = "fcmpNZf", + [16] = "fcmpeNMf", [24] = "fcmpeNZf", + } + } + } + } + }, + { -- FP immediate. + shift = 31, mask = 1, + [0] = { + shift = 5, mask = 31, + [0] = { + shift = 23, mask = 1, + [0] = "fmovDFf" + } + } + } + }, + { -- FP conditional compare. + shift = 31, mask = 1, + [0] = { + shift = 23, mask = 1, + [0] = { + shift = 4, mask = 1, + [0] = "fccmpNMVCf", "fccmpeNMVCf" + } + } + }, + { -- FP data-processing, 2 sources. + shift = 31, mask = 1, + [0] = { + shift = 23, mask = 1, + [0] = { + shift = 12, mask = 15, + [0] = "fmulDNMf", "fdivDNMf", "faddDNMf", "fsubDNMf", + "fmaxDNMf", "fminDNMf", "fmaxnmDNMf", "fminnmDNMf", + "fnmulDNMf" + } + } + }, + { -- FP conditional select. + shift = 31, mask = 1, + [0] = { + shift = 23, mask = 1, + [0] = "fcselDNMCf" + } + } + } + }, + { -- FP data-processing, 3 sources. + shift = 31, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { + shift = 21, mask = 5, + [0] = "fmaddDNMAf", "fnmaddDNMAf" + }, + { + shift = 21, mask = 5, + [0] = "fmsubDNMAf", "fnmsubDNMAf" + } + } + } + } +} + +local map_br = { -- Branches, exception generating and system instructions. + shift = 29, mask = 7, + [0] = "bB", + { -- Compare & branch, immediate. + shift = 24, mask = 3, + [0] = "cbzDBg", "cbnzDBg", "tbzDTBw", "tbnzDTBw" + }, + { -- Conditional branch, immediate. + shift = 24, mask = 3, + [0] = { + shift = 4, mask = 1, + [0] = { + shift = 0, mask = 15, + [0] = "beqB", "bneB", "bhsB", "bloB", "bmiB", "bplB", "bvsB", "bvcB", + "bhiB", "blsB", "bgeB", "bltB", "bgtB", "bleB", "balB" + } + } + }, false, "blB", + { -- Compare & branch, immediate. + shift = 24, mask = 3, + [0] = "cbzDBg", "cbnzDBg", "tbzDTBx", "tbnzDTBx" + }, + { + shift = 24, mask = 3, + [0] = { -- Exception generation. + shift = 0, mask = 0xe0001f, + [0x200000] = "brkW" + }, + { -- System instructions. + shift = 0, mask = 0x3fffff, + [0x03201f] = "nop" + }, + { -- Unconditional branch, register. + shift = 0, mask = 0xfffc1f, + [0x1f0000] = "brNx", [0x3f0000] = "blrNx", + [0x5f0000] = "retNx" + }, + } +} + +local map_init = { + shift = 25, mask = 15, + [0] = false, false, false, false, map_ls, map_datar, map_ls, map_datafp, + map_datai, map_datai, map_br, map_br, map_ls, map_datar, map_ls, map_datafp +} + +------------------------------------------------------------------------------ + +local map_regs = { x = {}, w = {}, d = {}, s = {} } + +for i=0,30 do + map_regs.x[i] = "x"..i + map_regs.w[i] = "w"..i + map_regs.d[i] = "d"..i + map_regs.s[i] = "s"..i +end +map_regs.x[31] = "sp" +map_regs.w[31] = "wsp" +map_regs.d[31] = "d31" +map_regs.s[31] = "s31" + +local map_cond = { + [0] = "eq", "ne", "cs", "cc", "mi", "pl", "vs", "vc", + "hi", "ls", "ge", "lt", "gt", "le", "al", +} + +local map_shift = { [0] = "lsl", "lsr", "asr", } + +local map_extend = { + [0] = "uxtb", "uxth", "uxtw", "uxtx", "sxtb", "sxth", "sxtw", "sxtx", +} + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then + extra = "\t->"..sym + end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-5s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-5s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +local function match_reg(p, pat, regnum) + return map_regs[match(pat, p.."%w-([xwds])")][regnum] +end + +local function fmt_hex32(x) + if x < 0 then + return tohex(x) + else + return format("%x", x) + end +end + +local imm13_rep = { 0x55555555, 0x11111111, 0x01010101, 0x00010001, 0x00000001 } + +local function decode_imm13(op) + local imms = band(rshift(op, 10), 63) + local immr = band(rshift(op, 16), 63) + if band(op, 0x00400000) == 0 then + local len = 5 + if imms >= 56 then + if imms >= 60 then len = 1 else len = 2 end + elseif imms >= 48 then len = 3 elseif imms >= 32 then len = 4 end + local l = lshift(1, len)-1 + local s = band(imms, l) + local r = band(immr, l) + local imm = ror(rshift(-1, 31-s), r) + if len ~= 5 then imm = band(imm, lshift(1, l)-1) + rshift(imm, 31-l) end + imm = imm * imm13_rep[len] + local ix = fmt_hex32(imm) + if rshift(op, 31) ~= 0 then + return ix..tohex(imm) + else + return ix + end + else + local lo, hi = -1, 0 + if imms < 32 then lo = rshift(-1, 31-imms) else hi = rshift(-1, 63-imms) end + if immr ~= 0 then + lo, hi = ror(lo, immr), ror(hi, immr) + local x = immr == 32 and 0 or band(bxor(lo, hi), lshift(-1, 32-immr)) + lo, hi = bxor(lo, x), bxor(hi, x) + if immr >= 32 then lo, hi = hi, lo end + end + if hi ~= 0 then + return fmt_hex32(hi)..tohex(lo) + else + return fmt_hex32(lo) + end + end +end + +local function parse_immpc(op, name) + if name == "b" or name == "bl" then + return arshift(lshift(op, 6), 4) + elseif name == "adr" or name == "adrp" then + local immlo = band(rshift(op, 29), 3) + local immhi = lshift(arshift(lshift(op, 8), 13), 2) + return bor(immhi, immlo) + elseif name == "tbz" or name == "tbnz" then + return lshift(arshift(lshift(op, 13), 18), 2) + else + return lshift(arshift(lshift(op, 8), 13), 2) + end +end + +local function parse_fpimm8(op) + local sign = band(op, 0x100000) == 0 and 1 or -1 + local exp = bxor(rshift(arshift(lshift(op, 12), 5), 24), 0x80) - 131 + local frac = 16+band(rshift(op, 13), 15) + return sign * frac * 2^exp +end + +local function prefer_bfx(sf, uns, imms, immr) + if imms < immr or imms == 31 or imms == 63 then + return false + end + if immr == 0 then + if sf == 0 and (imms == 7 or imms == 15) then + return false + end + if sf ~= 0 and uns == 0 and (imms == 7 or imms == 15 or imms == 31) then + return false + end + end + return true +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + local op = bor(lshift(b3, 24), lshift(b2, 16), lshift(b1, 8), b0) + local operands = {} + local suffix = "" + local last, name, pat + local map_reg + ctx.op = op + ctx.rel = nil + last = nil + local opat + opat = map_init[band(rshift(op, 25), 15)] + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + opat = opat[band(rshift(op, opat.shift), opat.mask)] or opat._ + end + name, pat = match(opat, "^([a-z0-9]*)(.*)") + local altname, pat2 = match(pat, "|([a-z0-9_.|]*)(.*)") + if altname then pat = pat2 end + if sub(pat, 1, 1) == "." then + local s2, p2 = match(pat, "^([a-z0-9.]*)(.*)") + suffix = suffix..s2 + pat = p2 + end + + local rt = match(pat, "[gf]") + if rt then + if rt == "g" then + map_reg = band(op, 0x80000000) ~= 0 and map_regs.x or map_regs.w + else + map_reg = band(op, 0x400000) ~= 0 and map_regs.d or map_regs.s + end + end + + local second0, immr + + for p in gmatch(pat, ".") do + local x = nil + if p == "D" then + local regnum = band(op, 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "N" then + local regnum = band(rshift(op, 5), 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "M" then + local regnum = band(rshift(op, 16), 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "A" then + local regnum = band(rshift(op, 10), 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "B" then + local addr = ctx.addr + pos + parse_immpc(op, name) + ctx.rel = addr + x = "0x"..tohex(addr) + elseif p == "T" then + x = bor(band(rshift(op, 26), 32), band(rshift(op, 19), 31)) + elseif p == "V" then + x = band(op, 15) + elseif p == "C" then + x = map_cond[band(rshift(op, 12), 15)] + elseif p == "c" then + local rn = band(rshift(op, 5), 31) + local rm = band(rshift(op, 16), 31) + local cond = band(rshift(op, 12), 15) + local invc = bxor(cond, 1) + x = map_cond[cond] + if altname and cond ~= 14 and cond ~= 15 then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if rn == rm then + local n = #operands + operands[n] = nil + x = map_cond[invc] + if rn ~= 31 then + if a1 then name = a1 else name = altname end + else + operands[n-1] = nil + name = a2 + end + end + end + elseif p == "W" then + x = band(rshift(op, 5), 0xffff) + elseif p == "Y" then + x = band(rshift(op, 5), 0xffff) + local hw = band(rshift(op, 21), 3) + if altname and (hw == 0 or x ~= 0) then + name = altname + end + elseif p == "L" then + local rn = map_regs.x[band(rshift(op, 5), 31)] + local imm9 = arshift(lshift(op, 11), 23) + if band(op, 0x800) ~= 0 then + x = "["..rn..", #"..imm9.."]!" + else + x = "["..rn.."], #"..imm9 + end + elseif p == "U" then + local rn = map_regs.x[band(rshift(op, 5), 31)] + local sz = band(rshift(op, 30), 3) + local imm12 = lshift(arshift(lshift(op, 10), 20), sz) + if imm12 ~= 0 then + x = "["..rn..", #"..imm12.."]" + else + x = "["..rn.."]" + end + elseif p == "K" then + local rn = map_regs.x[band(rshift(op, 5), 31)] + local imm9 = arshift(lshift(op, 11), 23) + if imm9 ~= 0 then + x = "["..rn..", #"..imm9.."]" + else + x = "["..rn.."]" + end + elseif p == "O" then + local rn, rm = map_regs.x[band(rshift(op, 5), 31)] + local m = band(rshift(op, 13), 1) + if m == 0 then + rm = map_regs.w[band(rshift(op, 16), 31)] + else + rm = map_regs.x[band(rshift(op, 16), 31)] + end + x = "["..rn..", "..rm + local opt = band(rshift(op, 13), 7) + local s = band(rshift(op, 12), 1) + local sz = band(rshift(op, 30), 3) + -- extension to be applied + if opt == 3 then + if s == 0 then x = x.."]" + else x = x..", lsl #"..sz.."]" end + elseif opt == 2 or opt == 6 or opt == 7 then + if s == 0 then x = x..", "..map_extend[opt].."]" + else x = x..", "..map_extend[opt].." #"..sz.."]" end + else + x = x.."]" + end + elseif p == "P" then + local opcv, sh = rshift(op, 26), 2 + if opcv >= 0x2a then sh = 4 elseif opcv >= 0x1b then sh = 3 end + local imm7 = lshift(arshift(lshift(op, 10), 25), sh) + local rn = map_regs.x[band(rshift(op, 5), 31)] + local ind = band(rshift(op, 23), 3) + if ind == 1 then + x = "["..rn.."], #"..imm7 + elseif ind == 2 then + if imm7 == 0 then + x = "["..rn.."]" + else + x = "["..rn..", #"..imm7.."]" + end + elseif ind == 3 then + x = "["..rn..", #"..imm7.."]!" + end + elseif p == "I" then + local shf = band(rshift(op, 22), 3) + local imm12 = band(rshift(op, 10), 0x0fff) + local rn, rd = band(rshift(op, 5), 31), band(op, 31) + if altname == "mov" and shf == 0 and imm12 == 0 and (rn == 31 or rd == 31) then + name = altname + x = nil + elseif shf == 0 then + x = imm12 + elseif shf == 1 then + x = imm12..", lsl #12" + end + elseif p == "i" then + x = "#0x"..decode_imm13(op) + elseif p == "1" then + immr = band(rshift(op, 16), 63) + x = immr + elseif p == "2" then + x = band(rshift(op, 10), 63) + if altname then + local a1, a2, a3, a4, a5, a6 = + match(altname, "([^|]*)|([^|]*)|([^|]*)|([^|]*)|([^|]*)|(.*)") + local sf = band(rshift(op, 26), 32) + local uns = band(rshift(op, 30), 1) + if prefer_bfx(sf, uns, x, immr) then + name = a2 + x = x - immr + 1 + elseif immr == 0 and x == 7 then + local n = #operands + operands[n] = nil + if sf ~= 0 then + operands[n-1] = gsub(operands[n-1], "x", "w") + end + last = operands[n-1] + name = a6 + x = nil + elseif immr == 0 and x == 15 then + local n = #operands + operands[n] = nil + if sf ~= 0 then + operands[n-1] = gsub(operands[n-1], "x", "w") + end + last = operands[n-1] + name = a5 + x = nil + elseif x == 31 or x == 63 then + if x == 31 and immr == 0 and name == "sbfm" then + name = a4 + local n = #operands + operands[n] = nil + if sf ~= 0 then + operands[n-1] = gsub(operands[n-1], "x", "w") + end + last = operands[n-1] + else + name = a3 + end + x = nil + elseif band(x, 31) ~= 31 and immr == x+1 and name == "ubfm" then + name = a4 + last = "#"..(sf+32 - immr) + operands[#operands] = last + x = nil + elseif x < immr then + name = a1 + last = "#"..(sf+32 - immr) + operands[#operands] = last + x = x + 1 + end + end + elseif p == "3" then + x = band(rshift(op, 10), 63) + if altname then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if x < immr then + name = a1 + local sf = band(rshift(op, 26), 32) + last = "#"..(sf+32 - immr) + operands[#operands] = last + x = x + 1 + else + name = a2 + x = x - immr + 1 + end + end + elseif p == "4" then + x = band(rshift(op, 10), 63) + local rn = band(rshift(op, 5), 31) + local rm = band(rshift(op, 16), 31) + if altname and rn == rm then + local n = #operands + operands[n] = nil + last = operands[n-1] + name = altname + end + elseif p == "5" then + x = band(rshift(op, 16), 31) + elseif p == "S" then + x = band(rshift(op, 10), 63) + if x == 0 then x = nil + else x = map_shift[band(rshift(op, 22), 3)].." #"..x end + elseif p == "X" then + local opt = band(rshift(op, 13), 7) + -- Width specifier . + if opt ~= 3 and opt ~= 7 then + last = map_regs.w[band(rshift(op, 16), 31)] + operands[#operands] = last + end + x = band(rshift(op, 10), 7) + -- Extension. + if opt == 2 + band(rshift(op, 31), 1) and + band(rshift(op, second0 and 5 or 0), 31) == 31 then + if x == 0 then x = nil + else x = "lsl #"..x end + else + if x == 0 then x = map_extend[band(rshift(op, 13), 7)] + else x = map_extend[band(rshift(op, 13), 7)].." #"..x end + end + elseif p == "R" then + x = band(rshift(op,21), 3) + if x == 0 then x = nil + else x = "lsl #"..x*16 end + elseif p == "z" then + local n = #operands + if operands[n] == "sp" then operands[n] = "xzr" + elseif operands[n] == "wsp" then operands[n] = "wzr" + end + elseif p == "Z" then + x = 0 + elseif p == "F" then + x = parse_fpimm8(op) + elseif p == "g" or p == "f" or p == "x" or p == "w" or + p == "d" or p == "s" then + -- These are handled in D/N/M/A. + elseif p == "0" then + if last == "sp" or last == "wsp" then + local n = #operands + operands[n] = nil + last = operands[n-1] + if altname then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if not a1 then + name = altname + elseif second0 then + name, altname = a2, a1 + else + name, altname = a1, a2 + end + end + end + second0 = true + else + assert(false) + end + if x then + last = x + if type(x) == "number" then x = "#"..x end + operands[#operands+1] = x + end + end + + return putop(ctx, name..suffix, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + ctx.pos = ofs + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 32 then return map_regs.x[r] end + return map_regs.d[r-32] +end + +-- Public module functions. +return { + create = create, + disass = disass, + regname = regname +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/dis_arm64be.lua b/libs/LuaJIT/android/arm64-v8a/jit/dis_arm64be.lua new file mode 100644 index 00000000..edcbffa8 --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/dis_arm64be.lua @@ -0,0 +1,12 @@ +---------------------------------------------------------------------------- +-- LuaJIT ARM64BE disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- ARM64 instructions are always little-endian. So just forward to the +-- common ARM64 disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +return require((string.match(..., ".*%.") or "").."dis_arm64") + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/dis_mips.lua b/libs/LuaJIT/android/arm64-v8a/jit/dis_mips.lua new file mode 100644 index 00000000..6ad17f54 --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/dis_mips.lua @@ -0,0 +1,694 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT/X license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles all standard MIPS32R1/R2 instructions. +-- Default mode is big-endian, but see: dis_mipsel.lua +------------------------------------------------------------------------------ + +local type = type +local byte, format = string.byte, string.format +local match, gmatch = string.match, string.gmatch +local concat = table.concat +local bit = require("bit") +local band, bor, tohex = bit.band, bit.bor, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift + +------------------------------------------------------------------------------ +-- Extended opcode maps common to all MIPS releases +------------------------------------------------------------------------------ + +local map_srl = { shift = 21, mask = 1, [0] = "srlDTA", "rotrDTA", } +local map_srlv = { shift = 6, mask = 1, [0] = "srlvDTS", "rotrvDTS", } + +local map_cop0 = { + shift = 25, mask = 1, + [0] = { + shift = 21, mask = 15, + [0] = "mfc0TDW", [4] = "mtc0TDW", + [10] = "rdpgprDT", + [11] = { shift = 5, mask = 1, [0] = "diT0", "eiT0", }, + [14] = "wrpgprDT", + }, { + shift = 0, mask = 63, + [1] = "tlbr", [2] = "tlbwi", [6] = "tlbwr", [8] = "tlbp", + [24] = "eret", [31] = "deret", + [32] = "wait", + }, +} + +------------------------------------------------------------------------------ +-- Primary and extended opcode maps for MIPS R1-R5 +------------------------------------------------------------------------------ + +local map_movci = { shift = 16, mask = 1, [0] = "movfDSC", "movtDSC", } + +local map_special = { + shift = 0, mask = 63, + [0] = { shift = 0, mask = -1, [0] = "nop", _ = "sllDTA" }, + map_movci, map_srl, "sraDTA", + "sllvDTS", false, map_srlv, "sravDTS", + "jrS", "jalrD1S", "movzDST", "movnDST", + "syscallY", "breakY", false, "sync", + "mfhiD", "mthiS", "mfloD", "mtloS", + "dsllvDST", false, "dsrlvDST", "dsravDST", + "multST", "multuST", "divST", "divuST", + "dmultST", "dmultuST", "ddivST", "ddivuST", + "addDST", "addu|moveDST0", "subDST", "subu|neguDS0T", + "andDST", "or|moveDST0", "xorDST", "nor|notDST0", + false, false, "sltDST", "sltuDST", + "daddDST", "dadduDST", "dsubDST", "dsubuDST", + "tgeSTZ", "tgeuSTZ", "tltSTZ", "tltuSTZ", + "teqSTZ", false, "tneSTZ", false, + "dsllDTA", false, "dsrlDTA", "dsraDTA", + "dsll32DTA", false, "dsrl32DTA", "dsra32DTA", +} + +local map_special2 = { + shift = 0, mask = 63, + [0] = "maddST", "madduST", "mulDST", false, + "msubST", "msubuST", + [32] = "clzDS", [33] = "cloDS", + [63] = "sdbbpY", +} + +local map_bshfl = { + shift = 6, mask = 31, + [2] = "wsbhDT", + [16] = "sebDT", + [24] = "sehDT", +} + +local map_dbshfl = { + shift = 6, mask = 31, + [2] = "dsbhDT", + [5] = "dshdDT", +} + +local map_special3 = { + shift = 0, mask = 63, + [0] = "extTSAK", [1] = "dextmTSAP", [3] = "dextTSAK", + [4] = "insTSAL", [6] = "dinsuTSEQ", [7] = "dinsTSAL", + [32] = map_bshfl, [36] = map_dbshfl, [59] = "rdhwrTD", +} + +local map_regimm = { + shift = 16, mask = 31, + [0] = "bltzSB", "bgezSB", "bltzlSB", "bgezlSB", + false, false, false, false, + "tgeiSI", "tgeiuSI", "tltiSI", "tltiuSI", + "teqiSI", false, "tneiSI", false, + "bltzalSB", "bgezalSB", "bltzallSB", "bgezallSB", + false, false, false, false, + false, false, false, false, + false, false, false, "synciSO", +} + +local map_cop1s = { + shift = 0, mask = 63, + [0] = "add.sFGH", "sub.sFGH", "mul.sFGH", "div.sFGH", + "sqrt.sFG", "abs.sFG", "mov.sFG", "neg.sFG", + "round.l.sFG", "trunc.l.sFG", "ceil.l.sFG", "floor.l.sFG", + "round.w.sFG", "trunc.w.sFG", "ceil.w.sFG", "floor.w.sFG", + false, + { shift = 16, mask = 1, [0] = "movf.sFGC", "movt.sFGC" }, + "movz.sFGT", "movn.sFGT", + false, "recip.sFG", "rsqrt.sFG", false, + false, false, false, false, + false, false, false, false, + false, "cvt.d.sFG", false, false, + "cvt.w.sFG", "cvt.l.sFG", "cvt.ps.sFGH", false, + false, false, false, false, + false, false, false, false, + "c.f.sVGH", "c.un.sVGH", "c.eq.sVGH", "c.ueq.sVGH", + "c.olt.sVGH", "c.ult.sVGH", "c.ole.sVGH", "c.ule.sVGH", + "c.sf.sVGH", "c.ngle.sVGH", "c.seq.sVGH", "c.ngl.sVGH", + "c.lt.sVGH", "c.nge.sVGH", "c.le.sVGH", "c.ngt.sVGH", +} + +local map_cop1d = { + shift = 0, mask = 63, + [0] = "add.dFGH", "sub.dFGH", "mul.dFGH", "div.dFGH", + "sqrt.dFG", "abs.dFG", "mov.dFG", "neg.dFG", + "round.l.dFG", "trunc.l.dFG", "ceil.l.dFG", "floor.l.dFG", + "round.w.dFG", "trunc.w.dFG", "ceil.w.dFG", "floor.w.dFG", + false, + { shift = 16, mask = 1, [0] = "movf.dFGC", "movt.dFGC" }, + "movz.dFGT", "movn.dFGT", + false, "recip.dFG", "rsqrt.dFG", false, + false, false, false, false, + false, false, false, false, + "cvt.s.dFG", false, false, false, + "cvt.w.dFG", "cvt.l.dFG", false, false, + false, false, false, false, + false, false, false, false, + "c.f.dVGH", "c.un.dVGH", "c.eq.dVGH", "c.ueq.dVGH", + "c.olt.dVGH", "c.ult.dVGH", "c.ole.dVGH", "c.ule.dVGH", + "c.df.dVGH", "c.ngle.dVGH", "c.deq.dVGH", "c.ngl.dVGH", + "c.lt.dVGH", "c.nge.dVGH", "c.le.dVGH", "c.ngt.dVGH", +} + +local map_cop1ps = { + shift = 0, mask = 63, + [0] = "add.psFGH", "sub.psFGH", "mul.psFGH", false, + false, "abs.psFG", "mov.psFG", "neg.psFG", + false, false, false, false, + false, false, false, false, + false, + { shift = 16, mask = 1, [0] = "movf.psFGC", "movt.psFGC" }, + "movz.psFGT", "movn.psFGT", + false, false, false, false, + false, false, false, false, + false, false, false, false, + "cvt.s.puFG", false, false, false, + false, false, false, false, + "cvt.s.plFG", false, false, false, + "pll.psFGH", "plu.psFGH", "pul.psFGH", "puu.psFGH", + "c.f.psVGH", "c.un.psVGH", "c.eq.psVGH", "c.ueq.psVGH", + "c.olt.psVGH", "c.ult.psVGH", "c.ole.psVGH", "c.ule.psVGH", + "c.psf.psVGH", "c.ngle.psVGH", "c.pseq.psVGH", "c.ngl.psVGH", + "c.lt.psVGH", "c.nge.psVGH", "c.le.psVGH", "c.ngt.psVGH", +} + +local map_cop1w = { + shift = 0, mask = 63, + [32] = "cvt.s.wFG", [33] = "cvt.d.wFG", +} + +local map_cop1l = { + shift = 0, mask = 63, + [32] = "cvt.s.lFG", [33] = "cvt.d.lFG", +} + +local map_cop1bc = { + shift = 16, mask = 3, + [0] = "bc1fCB", "bc1tCB", "bc1flCB", "bc1tlCB", +} + +local map_cop1 = { + shift = 21, mask = 31, + [0] = "mfc1TG", "dmfc1TG", "cfc1TG", "mfhc1TG", + "mtc1TG", "dmtc1TG", "ctc1TG", "mthc1TG", + map_cop1bc, false, false, false, + false, false, false, false, + map_cop1s, map_cop1d, false, false, + map_cop1w, map_cop1l, map_cop1ps, +} + +local map_cop1x = { + shift = 0, mask = 63, + [0] = "lwxc1FSX", "ldxc1FSX", false, false, + false, "luxc1FSX", false, false, + "swxc1FSX", "sdxc1FSX", false, false, + false, "suxc1FSX", false, "prefxMSX", + false, false, false, false, + false, false, false, false, + false, false, false, false, + false, false, "alnv.psFGHS", false, + "madd.sFRGH", "madd.dFRGH", false, false, + false, false, "madd.psFRGH", false, + "msub.sFRGH", "msub.dFRGH", false, false, + false, false, "msub.psFRGH", false, + "nmadd.sFRGH", "nmadd.dFRGH", false, false, + false, false, "nmadd.psFRGH", false, + "nmsub.sFRGH", "nmsub.dFRGH", false, false, + false, false, "nmsub.psFRGH", false, +} + +local map_pri = { + [0] = map_special, map_regimm, "jJ", "jalJ", + "beq|beqz|bST00B", "bne|bnezST0B", "blezSB", "bgtzSB", + "addiTSI", "addiu|liTS0I", "sltiTSI", "sltiuTSI", + "andiTSU", "ori|liTS0U", "xoriTSU", "luiTU", + map_cop0, map_cop1, false, map_cop1x, + "beql|beqzlST0B", "bnel|bnezlST0B", "blezlSB", "bgtzlSB", + "daddiTSI", "daddiuTSI", false, false, + map_special2, "jalxJ", false, map_special3, + "lbTSO", "lhTSO", "lwlTSO", "lwTSO", + "lbuTSO", "lhuTSO", "lwrTSO", false, + "sbTSO", "shTSO", "swlTSO", "swTSO", + false, false, "swrTSO", "cacheNSO", + "llTSO", "lwc1HSO", "lwc2TSO", "prefNSO", + false, "ldc1HSO", "ldc2TSO", "ldTSO", + "scTSO", "swc1HSO", "swc2TSO", false, + false, "sdc1HSO", "sdc2TSO", "sdTSO", +} + +------------------------------------------------------------------------------ +-- Primary and extended opcode maps for MIPS R6 +------------------------------------------------------------------------------ + +local map_mul_r6 = { shift = 6, mask = 3, [2] = "mulDST", [3] = "muhDST" } +local map_mulu_r6 = { shift = 6, mask = 3, [2] = "muluDST", [3] = "muhuDST" } +local map_div_r6 = { shift = 6, mask = 3, [2] = "divDST", [3] = "modDST" } +local map_divu_r6 = { shift = 6, mask = 3, [2] = "divuDST", [3] = "moduDST" } +local map_dmul_r6 = { shift = 6, mask = 3, [2] = "dmulDST", [3] = "dmuhDST" } +local map_dmulu_r6 = { shift = 6, mask = 3, [2] = "dmuluDST", [3] = "dmuhuDST" } +local map_ddiv_r6 = { shift = 6, mask = 3, [2] = "ddivDST", [3] = "dmodDST" } +local map_ddivu_r6 = { shift = 6, mask = 3, [2] = "ddivuDST", [3] = "dmoduDST" } + +local map_special_r6 = { + shift = 0, mask = 63, + [0] = { shift = 0, mask = -1, [0] = "nop", _ = "sllDTA" }, + false, map_srl, "sraDTA", + "sllvDTS", false, map_srlv, "sravDTS", + "jrS", "jalrD1S", false, false, + "syscallY", "breakY", false, "sync", + "clzDS", "cloDS", "dclzDS", "dcloDS", + "dsllvDST", "dlsaDSTA", "dsrlvDST", "dsravDST", + map_mul_r6, map_mulu_r6, map_div_r6, map_divu_r6, + map_dmul_r6, map_dmulu_r6, map_ddiv_r6, map_ddivu_r6, + "addDST", "addu|moveDST0", "subDST", "subu|neguDS0T", + "andDST", "or|moveDST0", "xorDST", "nor|notDST0", + false, false, "sltDST", "sltuDST", + "daddDST", "dadduDST", "dsubDST", "dsubuDST", + "tgeSTZ", "tgeuSTZ", "tltSTZ", "tltuSTZ", + "teqSTZ", "seleqzDST", "tneSTZ", "selnezDST", + "dsllDTA", false, "dsrlDTA", "dsraDTA", + "dsll32DTA", false, "dsrl32DTA", "dsra32DTA", +} + +local map_bshfl_r6 = { + shift = 9, mask = 3, + [1] = "alignDSTa", + _ = { + shift = 6, mask = 31, + [0] = "bitswapDT", + [2] = "wsbhDT", + [16] = "sebDT", + [24] = "sehDT", + } +} + +local map_dbshfl_r6 = { + shift = 9, mask = 3, + [1] = "dalignDSTa", + _ = { + shift = 6, mask = 31, + [0] = "dbitswapDT", + [2] = "dsbhDT", + [5] = "dshdDT", + } +} + +local map_special3_r6 = { + shift = 0, mask = 63, + [0] = "extTSAK", [1] = "dextmTSAP", [3] = "dextTSAK", + [4] = "insTSAL", [6] = "dinsuTSEQ", [7] = "dinsTSAL", + [32] = map_bshfl_r6, [36] = map_dbshfl_r6, [59] = "rdhwrTD", +} + +local map_regimm_r6 = { + shift = 16, mask = 31, + [0] = "bltzSB", [1] = "bgezSB", + [6] = "dahiSI", [30] = "datiSI", + [23] = "sigrieI", [31] = "synciSO", +} + +local map_pcrel_r6 = { + shift = 19, mask = 3, + [0] = "addiupcS2", "lwpcS2", "lwupcS2", { + shift = 18, mask = 1, + [0] = "ldpcS3", { shift = 16, mask = 3, [2] = "auipcSI", [3] = "aluipcSI" } + } +} + +local map_cop1s_r6 = { + shift = 0, mask = 63, + [0] = "add.sFGH", "sub.sFGH", "mul.sFGH", "div.sFGH", + "sqrt.sFG", "abs.sFG", "mov.sFG", "neg.sFG", + "round.l.sFG", "trunc.l.sFG", "ceil.l.sFG", "floor.l.sFG", + "round.w.sFG", "trunc.w.sFG", "ceil.w.sFG", "floor.w.sFG", + "sel.sFGH", false, false, false, + "seleqz.sFGH", "recip.sFG", "rsqrt.sFG", "selnez.sFGH", + "maddf.sFGH", "msubf.sFGH", "rint.sFG", "class.sFG", + "min.sFGH", "mina.sFGH", "max.sFGH", "maxa.sFGH", + false, "cvt.d.sFG", false, false, + "cvt.w.sFG", "cvt.l.sFG", +} + +local map_cop1d_r6 = { + shift = 0, mask = 63, + [0] = "add.dFGH", "sub.dFGH", "mul.dFGH", "div.dFGH", + "sqrt.dFG", "abs.dFG", "mov.dFG", "neg.dFG", + "round.l.dFG", "trunc.l.dFG", "ceil.l.dFG", "floor.l.dFG", + "round.w.dFG", "trunc.w.dFG", "ceil.w.dFG", "floor.w.dFG", + "sel.dFGH", false, false, false, + "seleqz.dFGH", "recip.dFG", "rsqrt.dFG", "selnez.dFGH", + "maddf.dFGH", "msubf.dFGH", "rint.dFG", "class.dFG", + "min.dFGH", "mina.dFGH", "max.dFGH", "maxa.dFGH", + "cvt.s.dFG", false, false, false, + "cvt.w.dFG", "cvt.l.dFG", +} + +local map_cop1w_r6 = { + shift = 0, mask = 63, + [0] = "cmp.af.sFGH", "cmp.un.sFGH", "cmp.eq.sFGH", "cmp.ueq.sFGH", + "cmp.lt.sFGH", "cmp.ult.sFGH", "cmp.le.sFGH", "cmp.ule.sFGH", + "cmp.saf.sFGH", "cmp.sun.sFGH", "cmp.seq.sFGH", "cmp.sueq.sFGH", + "cmp.slt.sFGH", "cmp.sult.sFGH", "cmp.sle.sFGH", "cmp.sule.sFGH", + false, "cmp.or.sFGH", "cmp.une.sFGH", "cmp.ne.sFGH", + false, false, false, false, + false, "cmp.sor.sFGH", "cmp.sune.sFGH", "cmp.sne.sFGH", + false, false, false, false, + "cvt.s.wFG", "cvt.d.wFG", +} + +local map_cop1l_r6 = { + shift = 0, mask = 63, + [0] = "cmp.af.dFGH", "cmp.un.dFGH", "cmp.eq.dFGH", "cmp.ueq.dFGH", + "cmp.lt.dFGH", "cmp.ult.dFGH", "cmp.le.dFGH", "cmp.ule.dFGH", + "cmp.saf.dFGH", "cmp.sun.dFGH", "cmp.seq.dFGH", "cmp.sueq.dFGH", + "cmp.slt.dFGH", "cmp.sult.dFGH", "cmp.sle.dFGH", "cmp.sule.dFGH", + false, "cmp.or.dFGH", "cmp.une.dFGH", "cmp.ne.dFGH", + false, false, false, false, + false, "cmp.sor.dFGH", "cmp.sune.dFGH", "cmp.sne.dFGH", + false, false, false, false, + "cvt.s.lFG", "cvt.d.lFG", +} + +local map_cop1_r6 = { + shift = 21, mask = 31, + [0] = "mfc1TG", "dmfc1TG", "cfc1TG", "mfhc1TG", + "mtc1TG", "dmtc1TG", "ctc1TG", "mthc1TG", + false, "bc1eqzHB", false, false, + false, "bc1nezHB", false, false, + map_cop1s_r6, map_cop1d_r6, false, false, + map_cop1w_r6, map_cop1l_r6, +} + +local function maprs_popTS(rs, rt) + if rt == 0 then return 0 elseif rs == 0 then return 1 + elseif rs == rt then return 2 else return 3 end +end + +local map_pop06_r6 = { + maprs = maprs_popTS, [0] = "blezSB", "blezalcTB", "bgezalcTB", "bgeucSTB" +} +local map_pop07_r6 = { + maprs = maprs_popTS, [0] = "bgtzSB", "bgtzalcTB", "bltzalcTB", "bltucSTB" +} +local map_pop26_r6 = { + maprs = maprs_popTS, "blezcTB", "bgezcTB", "bgecSTB" +} +local map_pop27_r6 = { + maprs = maprs_popTS, "bgtzcTB", "bltzcTB", "bltcSTB" +} + +local function maprs_popS(rs, rt) + if rs == 0 then return 0 else return 1 end +end + +local map_pop66_r6 = { + maprs = maprs_popS, [0] = "jicTI", "beqzcSb" +} +local map_pop76_r6 = { + maprs = maprs_popS, [0] = "jialcTI", "bnezcSb" +} + +local function maprs_popST(rs, rt) + if rs >= rt then return 0 elseif rs == 0 then return 1 else return 2 end +end + +local map_pop10_r6 = { + maprs = maprs_popST, [0] = "bovcSTB", "beqzalcTB", "beqcSTB" +} +local map_pop30_r6 = { + maprs = maprs_popST, [0] = "bnvcSTB", "bnezalcTB", "bnecSTB" +} + +local map_pri_r6 = { + [0] = map_special_r6, map_regimm_r6, "jJ", "jalJ", + "beq|beqz|bST00B", "bne|bnezST0B", map_pop06_r6, map_pop07_r6, + map_pop10_r6, "addiu|liTS0I", "sltiTSI", "sltiuTSI", + "andiTSU", "ori|liTS0U", "xoriTSU", "aui|luiTS0U", + map_cop0, map_cop1_r6, false, false, + false, false, map_pop26_r6, map_pop27_r6, + map_pop30_r6, "daddiuTSI", false, false, + false, "dauiTSI", false, map_special3_r6, + "lbTSO", "lhTSO", false, "lwTSO", + "lbuTSO", "lhuTSO", false, false, + "sbTSO", "shTSO", false, "swTSO", + false, false, false, false, + false, "lwc1HSO", "bc#", false, + false, "ldc1HSO", map_pop66_r6, "ldTSO", + false, "swc1HSO", "balc#", map_pcrel_r6, + false, "sdc1HSO", map_pop76_r6, "sdTSO", +} + +------------------------------------------------------------------------------ + +local map_gpr = { + [0] = "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", + "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", + "r24", "r25", "r26", "r27", "r28", "sp", "r30", "ra", +} + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then extra = "\t->"..sym end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-7s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-7s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +local function get_be(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + return bor(lshift(b0, 24), lshift(b1, 16), lshift(b2, 8), b3) +end + +local function get_le(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + return bor(lshift(b3, 24), lshift(b2, 16), lshift(b1, 8), b0) +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local op = ctx:get() + local operands = {} + local last = nil + ctx.op = op + ctx.rel = nil + + local opat = ctx.map_pri[rshift(op, 26)] + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + if opat.maprs then + opat = opat[opat.maprs(band(rshift(op,21),31), band(rshift(op,16),31))] + else + opat = opat[band(rshift(op, opat.shift), opat.mask)] or opat._ + end + end + local name, pat = match(opat, "^([a-z0-9_.]*)(.*)") + local altname, pat2 = match(pat, "|([a-z0-9_.|]*)(.*)") + if altname then pat = pat2 end + + for p in gmatch(pat, ".") do + local x = nil + if p == "S" then + x = map_gpr[band(rshift(op, 21), 31)] + elseif p == "T" then + x = map_gpr[band(rshift(op, 16), 31)] + elseif p == "D" then + x = map_gpr[band(rshift(op, 11), 31)] + elseif p == "F" then + x = "f"..band(rshift(op, 6), 31) + elseif p == "G" then + x = "f"..band(rshift(op, 11), 31) + elseif p == "H" then + x = "f"..band(rshift(op, 16), 31) + elseif p == "R" then + x = "f"..band(rshift(op, 21), 31) + elseif p == "A" then + x = band(rshift(op, 6), 31) + elseif p == "a" then + x = band(rshift(op, 6), 7) + elseif p == "E" then + x = band(rshift(op, 6), 31) + 32 + elseif p == "M" then + x = band(rshift(op, 11), 31) + elseif p == "N" then + x = band(rshift(op, 16), 31) + elseif p == "C" then + x = band(rshift(op, 18), 7) + if x == 0 then x = nil end + elseif p == "K" then + x = band(rshift(op, 11), 31) + 1 + elseif p == "P" then + x = band(rshift(op, 11), 31) + 33 + elseif p == "L" then + x = band(rshift(op, 11), 31) - last + 1 + elseif p == "Q" then + x = band(rshift(op, 11), 31) - last + 33 + elseif p == "I" then + x = arshift(lshift(op, 16), 16) + elseif p == "2" then + x = arshift(lshift(op, 13), 11) + elseif p == "3" then + x = arshift(lshift(op, 14), 11) + elseif p == "U" then + x = band(op, 0xffff) + elseif p == "O" then + local disp = arshift(lshift(op, 16), 16) + operands[#operands] = format("%d(%s)", disp, last) + elseif p == "X" then + local index = map_gpr[band(rshift(op, 16), 31)] + operands[#operands] = format("%s(%s)", index, last) + elseif p == "B" then + x = ctx.addr + ctx.pos + arshift(lshift(op, 16), 14) + 4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "b" then + x = ctx.addr + ctx.pos + arshift(lshift(op, 11), 9) + 4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "#" then + x = ctx.addr + ctx.pos + arshift(lshift(op, 6), 4) + 4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "J" then + local a = ctx.addr + ctx.pos + x = a - band(a, 0x0fffffff) + band(op, 0x03ffffff)*4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "V" then + x = band(rshift(op, 8), 7) + if x == 0 then x = nil end + elseif p == "W" then + x = band(op, 7) + if x == 0 then x = nil end + elseif p == "Y" then + x = band(rshift(op, 6), 0x000fffff) + if x == 0 then x = nil end + elseif p == "Z" then + x = band(rshift(op, 6), 1023) + if x == 0 then x = nil end + elseif p == "0" then + if last == "r0" or last == 0 then + local n = #operands + operands[n] = nil + last = operands[n-1] + if altname then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if a1 then name, altname = a1, a2 + else name = altname end + end + end + elseif p == "1" then + if last == "ra" then + operands[#operands] = nil + end + else + assert(false) + end + if x then operands[#operands+1] = x; last = x end + end + + return putop(ctx, name, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + stop = stop - stop % 4 + ctx.pos = ofs - ofs % 4 + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + ctx.get = get_be + ctx.map_pri = map_pri + return ctx +end + +local function create_el(code, addr, out) + local ctx = create(code, addr, out) + ctx.get = get_le + return ctx +end + +local function create_r6(code, addr, out) + local ctx = create(code, addr, out) + ctx.map_pri = map_pri_r6 + return ctx +end + +local function create_r6_el(code, addr, out) + local ctx = create(code, addr, out) + ctx.get = get_le + ctx.map_pri = map_pri_r6 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +local function disass_el(code, addr, out) + create_el(code, addr, out):disass() +end + +local function disass_r6(code, addr, out) + create_r6(code, addr, out):disass() +end + +local function disass_r6_el(code, addr, out) + create_r6_el(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 32 then return map_gpr[r] end + return "f"..(r-32) +end + +-- Public module functions. +return { + create = create, + create_el = create_el, + create_r6 = create_r6, + create_r6_el = create_r6_el, + disass = disass, + disass_el = disass_el, + disass_r6 = disass_r6, + disass_r6_el = disass_r6_el, + regname = regname +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/dis_mips64.lua b/libs/LuaJIT/android/arm64-v8a/jit/dis_mips64.lua new file mode 100644 index 00000000..5ad48f8f --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/dis_mips64.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64 disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the big-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create, + disass = dis_mips.disass, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/dis_mips64el.lua b/libs/LuaJIT/android/arm64-v8a/jit/dis_mips64el.lua new file mode 100644 index 00000000..d50e3a18 --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/dis_mips64el.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64EL disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the little-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_el, + disass = dis_mips.disass_el, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/dis_mips64r6.lua b/libs/LuaJIT/android/arm64-v8a/jit/dis_mips64r6.lua new file mode 100644 index 00000000..921b3cbe --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/dis_mips64r6.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64R6 disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the r6 big-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_r6, + disass = dis_mips.disass_r6, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/dis_mips64r6el.lua b/libs/LuaJIT/android/arm64-v8a/jit/dis_mips64r6el.lua new file mode 100644 index 00000000..aadef9f3 --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/dis_mips64r6el.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64R6EL disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the r6 little-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_r6_el, + disass = dis_mips.disass_r6_el, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/dis_mipsel.lua b/libs/LuaJIT/android/arm64-v8a/jit/dis_mipsel.lua new file mode 100644 index 00000000..52cebefb --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/dis_mipsel.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPSEL disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the little-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_el, + disass = dis_mips.disass_el, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/dis_ppc.lua b/libs/LuaJIT/android/arm64-v8a/jit/dis_ppc.lua new file mode 100644 index 00000000..08d742f1 --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/dis_ppc.lua @@ -0,0 +1,591 @@ +---------------------------------------------------------------------------- +-- LuaJIT PPC disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT/X license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles all common, non-privileged 32/64 bit PowerPC instructions +-- plus the e500 SPE instructions and some Cell/Xenon extensions. +-- +-- NYI: VMX, VMX128 +------------------------------------------------------------------------------ + +local type = type +local byte, format = string.byte, string.format +local match, gmatch, gsub = string.match, string.gmatch, string.gsub +local concat = table.concat +local bit = require("bit") +local band, bor, tohex = bit.band, bit.bor, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift + +------------------------------------------------------------------------------ +-- Primary and extended opcode maps +------------------------------------------------------------------------------ + +local map_crops = { + shift = 1, mask = 1023, + [0] = "mcrfXX", + [33] = "crnor|crnotCCC=", [129] = "crandcCCC", + [193] = "crxor|crclrCCC%", [225] = "crnandCCC", + [257] = "crandCCC", [289] = "creqv|crsetCCC%", + [417] = "crorcCCC", [449] = "cror|crmoveCCC=", + [16] = "b_lrKB", [528] = "b_ctrKB", + [150] = "isync", +} + +local map_rlwinm = setmetatable({ + shift = 0, mask = -1, +}, +{ __index = function(t, x) + local rot = band(rshift(x, 11), 31) + local mb = band(rshift(x, 6), 31) + local me = band(rshift(x, 1), 31) + if mb == 0 and me == 31-rot then + return "slwiRR~A." + elseif me == 31 and mb == 32-rot then + return "srwiRR~-A." + else + return "rlwinmRR~AAA." + end + end +}) + +local map_rld = { + shift = 2, mask = 7, + [0] = "rldiclRR~HM.", "rldicrRR~HM.", "rldicRR~HM.", "rldimiRR~HM.", + { + shift = 1, mask = 1, + [0] = "rldclRR~RM.", "rldcrRR~RM.", + }, +} + +local map_ext = setmetatable({ + shift = 1, mask = 1023, + + [0] = "cmp_YLRR", [32] = "cmpl_YLRR", + [4] = "twARR", [68] = "tdARR", + + [8] = "subfcRRR.", [40] = "subfRRR.", + [104] = "negRR.", [136] = "subfeRRR.", + [200] = "subfzeRR.", [232] = "subfmeRR.", + [520] = "subfcoRRR.", [552] = "subfoRRR.", + [616] = "negoRR.", [648] = "subfeoRRR.", + [712] = "subfzeoRR.", [744] = "subfmeoRR.", + + [9] = "mulhduRRR.", [73] = "mulhdRRR.", [233] = "mulldRRR.", + [457] = "divduRRR.", [489] = "divdRRR.", + [745] = "mulldoRRR.", + [969] = "divduoRRR.", [1001] = "divdoRRR.", + + [10] = "addcRRR.", [138] = "addeRRR.", + [202] = "addzeRR.", [234] = "addmeRR.", [266] = "addRRR.", + [522] = "addcoRRR.", [650] = "addeoRRR.", + [714] = "addzeoRR.", [746] = "addmeoRR.", [778] = "addoRRR.", + + [11] = "mulhwuRRR.", [75] = "mulhwRRR.", [235] = "mullwRRR.", + [459] = "divwuRRR.", [491] = "divwRRR.", + [747] = "mullwoRRR.", + [971] = "divwouRRR.", [1003] = "divwoRRR.", + + [15] = "iselltRRR", [47] = "iselgtRRR", [79] = "iseleqRRR", + + [144] = { shift = 20, mask = 1, [0] = "mtcrfRZ~", "mtocrfRZ~", }, + [19] = { shift = 20, mask = 1, [0] = "mfcrR", "mfocrfRZ", }, + [371] = { shift = 11, mask = 1023, [392] = "mftbR", [424] = "mftbuR", }, + [339] = { + shift = 11, mask = 1023, + [32] = "mferR", [256] = "mflrR", [288] = "mfctrR", [16] = "mfspefscrR", + }, + [467] = { + shift = 11, mask = 1023, + [32] = "mtxerR", [256] = "mtlrR", [288] = "mtctrR", [16] = "mtspefscrR", + }, + + [20] = "lwarxRR0R", [84] = "ldarxRR0R", + + [21] = "ldxRR0R", [53] = "lduxRRR", + [149] = "stdxRR0R", [181] = "stduxRRR", + [341] = "lwaxRR0R", [373] = "lwauxRRR", + + [23] = "lwzxRR0R", [55] = "lwzuxRRR", + [87] = "lbzxRR0R", [119] = "lbzuxRRR", + [151] = "stwxRR0R", [183] = "stwuxRRR", + [215] = "stbxRR0R", [247] = "stbuxRRR", + [279] = "lhzxRR0R", [311] = "lhzuxRRR", + [343] = "lhaxRR0R", [375] = "lhauxRRR", + [407] = "sthxRR0R", [439] = "sthuxRRR", + + [54] = "dcbst-R0R", [86] = "dcbf-R0R", + [150] = "stwcxRR0R.", [214] = "stdcxRR0R.", + [246] = "dcbtst-R0R", [278] = "dcbt-R0R", + [310] = "eciwxRR0R", [438] = "ecowxRR0R", + [470] = "dcbi-RR", + + [598] = { + shift = 21, mask = 3, + [0] = "sync", "lwsync", "ptesync", + }, + [758] = "dcba-RR", + [854] = "eieio", [982] = "icbi-R0R", [1014] = "dcbz-R0R", + + [26] = "cntlzwRR~", [58] = "cntlzdRR~", + [122] = "popcntbRR~", + [154] = "prtywRR~", [186] = "prtydRR~", + + [28] = "andRR~R.", [60] = "andcRR~R.", [124] = "nor|notRR~R=.", + [284] = "eqvRR~R.", [316] = "xorRR~R.", + [412] = "orcRR~R.", [444] = "or|mrRR~R=.", [476] = "nandRR~R.", + [508] = "cmpbRR~R", + + [512] = "mcrxrX", + + [532] = "ldbrxRR0R", [660] = "stdbrxRR0R", + + [533] = "lswxRR0R", [597] = "lswiRR0A", + [661] = "stswxRR0R", [725] = "stswiRR0A", + + [534] = "lwbrxRR0R", [662] = "stwbrxRR0R", + [790] = "lhbrxRR0R", [918] = "sthbrxRR0R", + + [535] = "lfsxFR0R", [567] = "lfsuxFRR", + [599] = "lfdxFR0R", [631] = "lfduxFRR", + [663] = "stfsxFR0R", [695] = "stfsuxFRR", + [727] = "stfdxFR0R", [759] = "stfduxFR0R", + [855] = "lfiwaxFR0R", + [983] = "stfiwxFR0R", + + [24] = "slwRR~R.", + + [27] = "sldRR~R.", [536] = "srwRR~R.", + [792] = "srawRR~R.", [824] = "srawiRR~A.", + + [794] = "sradRR~R.", [826] = "sradiRR~H.", [827] = "sradiRR~H.", + [922] = "extshRR~.", [954] = "extsbRR~.", [986] = "extswRR~.", + + [539] = "srdRR~R.", +}, +{ __index = function(t, x) + if band(x, 31) == 15 then return "iselRRRC" end + end +}) + +local map_ld = { + shift = 0, mask = 3, + [0] = "ldRRE", "lduRRE", "lwaRRE", +} + +local map_std = { + shift = 0, mask = 3, + [0] = "stdRRE", "stduRRE", +} + +local map_fps = { + shift = 5, mask = 1, + { + shift = 1, mask = 15, + [0] = false, false, "fdivsFFF.", false, + "fsubsFFF.", "faddsFFF.", "fsqrtsF-F.", false, + "fresF-F.", "fmulsFF-F.", "frsqrtesF-F.", false, + "fmsubsFFFF~.", "fmaddsFFFF~.", "fnmsubsFFFF~.", "fnmaddsFFFF~.", + } +} + +local map_fpd = { + shift = 5, mask = 1, + [0] = { + shift = 1, mask = 1023, + [0] = "fcmpuXFF", [32] = "fcmpoXFF", [64] = "mcrfsXX", + [38] = "mtfsb1A.", [70] = "mtfsb0A.", [134] = "mtfsfiA>>-A>", + [8] = "fcpsgnFFF.", [40] = "fnegF-F.", [72] = "fmrF-F.", + [136] = "fnabsF-F.", [264] = "fabsF-F.", + [12] = "frspF-F.", + [14] = "fctiwF-F.", [15] = "fctiwzF-F.", + [583] = "mffsF.", [711] = "mtfsfZF.", + [392] = "frinF-F.", [424] = "frizF-F.", + [456] = "fripF-F.", [488] = "frimF-F.", + [814] = "fctidF-F.", [815] = "fctidzF-F.", [846] = "fcfidF-F.", + }, + { + shift = 1, mask = 15, + [0] = false, false, "fdivFFF.", false, + "fsubFFF.", "faddFFF.", "fsqrtF-F.", "fselFFFF~.", + "freF-F.", "fmulFF-F.", "frsqrteF-F.", false, + "fmsubFFFF~.", "fmaddFFFF~.", "fnmsubFFFF~.", "fnmaddFFFF~.", + } +} + +local map_spe = { + shift = 0, mask = 2047, + + [512] = "evaddwRRR", [514] = "evaddiwRAR~", + [516] = "evsubwRRR~", [518] = "evsubiwRAR~", + [520] = "evabsRR", [521] = "evnegRR", + [522] = "evextsbRR", [523] = "evextshRR", [524] = "evrndwRR", + [525] = "evcntlzwRR", [526] = "evcntlswRR", + + [527] = "brincRRR", + + [529] = "evandRRR", [530] = "evandcRRR", [534] = "evxorRRR", + [535] = "evor|evmrRRR=", [536] = "evnor|evnotRRR=", + [537] = "eveqvRRR", [539] = "evorcRRR", [542] = "evnandRRR", + + [544] = "evsrwuRRR", [545] = "evsrwsRRR", + [546] = "evsrwiuRRA", [547] = "evsrwisRRA", + [548] = "evslwRRR", [550] = "evslwiRRA", + [552] = "evrlwRRR", [553] = "evsplatiRS", + [554] = "evrlwiRRA", [555] = "evsplatfiRS", + [556] = "evmergehiRRR", [557] = "evmergeloRRR", + [558] = "evmergehiloRRR", [559] = "evmergelohiRRR", + + [560] = "evcmpgtuYRR", [561] = "evcmpgtsYRR", + [562] = "evcmpltuYRR", [563] = "evcmpltsYRR", + [564] = "evcmpeqYRR", + + [632] = "evselRRR", [633] = "evselRRRW", + [634] = "evselRRRW", [635] = "evselRRRW", + [636] = "evselRRRW", [637] = "evselRRRW", + [638] = "evselRRRW", [639] = "evselRRRW", + + [640] = "evfsaddRRR", [641] = "evfssubRRR", + [644] = "evfsabsRR", [645] = "evfsnabsRR", [646] = "evfsnegRR", + [648] = "evfsmulRRR", [649] = "evfsdivRRR", + [652] = "evfscmpgtYRR", [653] = "evfscmpltYRR", [654] = "evfscmpeqYRR", + [656] = "evfscfuiR-R", [657] = "evfscfsiR-R", + [658] = "evfscfufR-R", [659] = "evfscfsfR-R", + [660] = "evfsctuiR-R", [661] = "evfsctsiR-R", + [662] = "evfsctufR-R", [663] = "evfsctsfR-R", + [664] = "evfsctuizR-R", [666] = "evfsctsizR-R", + [668] = "evfststgtYRR", [669] = "evfststltYRR", [670] = "evfststeqYRR", + + [704] = "efsaddRRR", [705] = "efssubRRR", + [708] = "efsabsRR", [709] = "efsnabsRR", [710] = "efsnegRR", + [712] = "efsmulRRR", [713] = "efsdivRRR", + [716] = "efscmpgtYRR", [717] = "efscmpltYRR", [718] = "efscmpeqYRR", + [719] = "efscfdR-R", + [720] = "efscfuiR-R", [721] = "efscfsiR-R", + [722] = "efscfufR-R", [723] = "efscfsfR-R", + [724] = "efsctuiR-R", [725] = "efsctsiR-R", + [726] = "efsctufR-R", [727] = "efsctsfR-R", + [728] = "efsctuizR-R", [730] = "efsctsizR-R", + [732] = "efststgtYRR", [733] = "efststltYRR", [734] = "efststeqYRR", + + [736] = "efdaddRRR", [737] = "efdsubRRR", + [738] = "efdcfuidR-R", [739] = "efdcfsidR-R", + [740] = "efdabsRR", [741] = "efdnabsRR", [742] = "efdnegRR", + [744] = "efdmulRRR", [745] = "efddivRRR", + [746] = "efdctuidzR-R", [747] = "efdctsidzR-R", + [748] = "efdcmpgtYRR", [749] = "efdcmpltYRR", [750] = "efdcmpeqYRR", + [751] = "efdcfsR-R", + [752] = "efdcfuiR-R", [753] = "efdcfsiR-R", + [754] = "efdcfufR-R", [755] = "efdcfsfR-R", + [756] = "efdctuiR-R", [757] = "efdctsiR-R", + [758] = "efdctufR-R", [759] = "efdctsfR-R", + [760] = "efdctuizR-R", [762] = "efdctsizR-R", + [764] = "efdtstgtYRR", [765] = "efdtstltYRR", [766] = "efdtsteqYRR", + + [768] = "evlddxRR0R", [769] = "evlddRR8", + [770] = "evldwxRR0R", [771] = "evldwRR8", + [772] = "evldhxRR0R", [773] = "evldhRR8", + [776] = "evlhhesplatxRR0R", [777] = "evlhhesplatRR2", + [780] = "evlhhousplatxRR0R", [781] = "evlhhousplatRR2", + [782] = "evlhhossplatxRR0R", [783] = "evlhhossplatRR2", + [784] = "evlwhexRR0R", [785] = "evlwheRR4", + [788] = "evlwhouxRR0R", [789] = "evlwhouRR4", + [790] = "evlwhosxRR0R", [791] = "evlwhosRR4", + [792] = "evlwwsplatxRR0R", [793] = "evlwwsplatRR4", + [796] = "evlwhsplatxRR0R", [797] = "evlwhsplatRR4", + + [800] = "evstddxRR0R", [801] = "evstddRR8", + [802] = "evstdwxRR0R", [803] = "evstdwRR8", + [804] = "evstdhxRR0R", [805] = "evstdhRR8", + [816] = "evstwhexRR0R", [817] = "evstwheRR4", + [820] = "evstwhoxRR0R", [821] = "evstwhoRR4", + [824] = "evstwwexRR0R", [825] = "evstwweRR4", + [828] = "evstwwoxRR0R", [829] = "evstwwoRR4", + + [1027] = "evmhessfRRR", [1031] = "evmhossfRRR", [1032] = "evmheumiRRR", + [1033] = "evmhesmiRRR", [1035] = "evmhesmfRRR", [1036] = "evmhoumiRRR", + [1037] = "evmhosmiRRR", [1039] = "evmhosmfRRR", [1059] = "evmhessfaRRR", + [1063] = "evmhossfaRRR", [1064] = "evmheumiaRRR", [1065] = "evmhesmiaRRR", + [1067] = "evmhesmfaRRR", [1068] = "evmhoumiaRRR", [1069] = "evmhosmiaRRR", + [1071] = "evmhosmfaRRR", [1095] = "evmwhssfRRR", [1096] = "evmwlumiRRR", + [1100] = "evmwhumiRRR", [1101] = "evmwhsmiRRR", [1103] = "evmwhsmfRRR", + [1107] = "evmwssfRRR", [1112] = "evmwumiRRR", [1113] = "evmwsmiRRR", + [1115] = "evmwsmfRRR", [1127] = "evmwhssfaRRR", [1128] = "evmwlumiaRRR", + [1132] = "evmwhumiaRRR", [1133] = "evmwhsmiaRRR", [1135] = "evmwhsmfaRRR", + [1139] = "evmwssfaRRR", [1144] = "evmwumiaRRR", [1145] = "evmwsmiaRRR", + [1147] = "evmwsmfaRRR", + + [1216] = "evaddusiaawRR", [1217] = "evaddssiaawRR", + [1218] = "evsubfusiaawRR", [1219] = "evsubfssiaawRR", + [1220] = "evmraRR", + [1222] = "evdivwsRRR", [1223] = "evdivwuRRR", + [1224] = "evaddumiaawRR", [1225] = "evaddsmiaawRR", + [1226] = "evsubfumiaawRR", [1227] = "evsubfsmiaawRR", + + [1280] = "evmheusiaawRRR", [1281] = "evmhessiaawRRR", + [1283] = "evmhessfaawRRR", [1284] = "evmhousiaawRRR", + [1285] = "evmhossiaawRRR", [1287] = "evmhossfaawRRR", + [1288] = "evmheumiaawRRR", [1289] = "evmhesmiaawRRR", + [1291] = "evmhesmfaawRRR", [1292] = "evmhoumiaawRRR", + [1293] = "evmhosmiaawRRR", [1295] = "evmhosmfaawRRR", + [1320] = "evmhegumiaaRRR", [1321] = "evmhegsmiaaRRR", + [1323] = "evmhegsmfaaRRR", [1324] = "evmhogumiaaRRR", + [1325] = "evmhogsmiaaRRR", [1327] = "evmhogsmfaaRRR", + [1344] = "evmwlusiaawRRR", [1345] = "evmwlssiaawRRR", + [1352] = "evmwlumiaawRRR", [1353] = "evmwlsmiaawRRR", + [1363] = "evmwssfaaRRR", [1368] = "evmwumiaaRRR", + [1369] = "evmwsmiaaRRR", [1371] = "evmwsmfaaRRR", + [1408] = "evmheusianwRRR", [1409] = "evmhessianwRRR", + [1411] = "evmhessfanwRRR", [1412] = "evmhousianwRRR", + [1413] = "evmhossianwRRR", [1415] = "evmhossfanwRRR", + [1416] = "evmheumianwRRR", [1417] = "evmhesmianwRRR", + [1419] = "evmhesmfanwRRR", [1420] = "evmhoumianwRRR", + [1421] = "evmhosmianwRRR", [1423] = "evmhosmfanwRRR", + [1448] = "evmhegumianRRR", [1449] = "evmhegsmianRRR", + [1451] = "evmhegsmfanRRR", [1452] = "evmhogumianRRR", + [1453] = "evmhogsmianRRR", [1455] = "evmhogsmfanRRR", + [1472] = "evmwlusianwRRR", [1473] = "evmwlssianwRRR", + [1480] = "evmwlumianwRRR", [1481] = "evmwlsmianwRRR", + [1491] = "evmwssfanRRR", [1496] = "evmwumianRRR", + [1497] = "evmwsmianRRR", [1499] = "evmwsmfanRRR", +} + +local map_pri = { + [0] = false, false, "tdiARI", "twiARI", + map_spe, false, false, "mulliRRI", + "subficRRI", false, "cmpl_iYLRU", "cmp_iYLRI", + "addicRRI", "addic.RRI", "addi|liRR0I", "addis|lisRR0I", + "b_KBJ", "sc", "bKJ", map_crops, + "rlwimiRR~AAA.", map_rlwinm, false, "rlwnmRR~RAA.", + "oriNRR~U", "orisRR~U", "xoriRR~U", "xorisRR~U", + "andi.RR~U", "andis.RR~U", map_rld, map_ext, + "lwzRRD", "lwzuRRD", "lbzRRD", "lbzuRRD", + "stwRRD", "stwuRRD", "stbRRD", "stbuRRD", + "lhzRRD", "lhzuRRD", "lhaRRD", "lhauRRD", + "sthRRD", "sthuRRD", "lmwRRD", "stmwRRD", + "lfsFRD", "lfsuFRD", "lfdFRD", "lfduFRD", + "stfsFRD", "stfsuFRD", "stfdFRD", "stfduFRD", + false, false, map_ld, map_fps, + false, false, map_std, map_fpd, +} + +------------------------------------------------------------------------------ + +local map_gpr = { + [0] = "r0", "sp", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", + "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", + "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31", +} + +local map_cond = { [0] = "lt", "gt", "eq", "so", "ge", "le", "ne", "ns", } + +-- Format a condition bit. +local function condfmt(cond) + if cond <= 3 then + return map_cond[band(cond, 3)] + else + return format("4*cr%d+%s", rshift(cond, 2), map_cond[band(cond, 3)]) + end +end + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then extra = "\t->"..sym end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-7s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-7s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + local op = bor(lshift(b0, 24), lshift(b1, 16), lshift(b2, 8), b3) + local operands = {} + local last = nil + local rs = 21 + ctx.op = op + ctx.rel = nil + + local opat = map_pri[rshift(b0, 2)] + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + opat = opat[band(rshift(op, opat.shift), opat.mask)] + end + local name, pat = match(opat, "^([a-z0-9_.]*)(.*)") + local altname, pat2 = match(pat, "|([a-z0-9_.]*)(.*)") + if altname then pat = pat2 end + + for p in gmatch(pat, ".") do + local x = nil + if p == "R" then + x = map_gpr[band(rshift(op, rs), 31)] + rs = rs - 5 + elseif p == "F" then + x = "f"..band(rshift(op, rs), 31) + rs = rs - 5 + elseif p == "A" then + x = band(rshift(op, rs), 31) + rs = rs - 5 + elseif p == "S" then + x = arshift(lshift(op, 27-rs), 27) + rs = rs - 5 + elseif p == "I" then + x = arshift(lshift(op, 16), 16) + elseif p == "U" then + x = band(op, 0xffff) + elseif p == "D" or p == "E" then + local disp = arshift(lshift(op, 16), 16) + if p == "E" then disp = band(disp, -4) end + if last == "r0" then last = "0" end + operands[#operands] = format("%d(%s)", disp, last) + elseif p >= "2" and p <= "8" then + local disp = band(rshift(op, rs), 31) * p + if last == "r0" then last = "0" end + operands[#operands] = format("%d(%s)", disp, last) + elseif p == "H" then + x = band(rshift(op, rs), 31) + lshift(band(op, 2), 4) + rs = rs - 5 + elseif p == "M" then + x = band(rshift(op, rs), 31) + band(op, 0x20) + elseif p == "C" then + x = condfmt(band(rshift(op, rs), 31)) + rs = rs - 5 + elseif p == "B" then + local bo = rshift(op, 21) + local cond = band(rshift(op, 16), 31) + local cn = "" + rs = rs - 10 + if band(bo, 4) == 0 then + cn = band(bo, 2) == 0 and "dnz" or "dz" + if band(bo, 0x10) == 0 then + cn = cn..(band(bo, 8) == 0 and "f" or "t") + end + if band(bo, 0x10) == 0 then x = condfmt(cond) end + name = name..(band(bo, 1) == band(rshift(op, 15), 1) and "-" or "+") + elseif band(bo, 0x10) == 0 then + cn = map_cond[band(cond, 3) + (band(bo, 8) == 0 and 4 or 0)] + if cond > 3 then x = "cr"..rshift(cond, 2) end + name = name..(band(bo, 1) == band(rshift(op, 15), 1) and "-" or "+") + end + name = gsub(name, "_", cn) + elseif p == "J" then + x = arshift(lshift(op, 27-rs), 29-rs)*4 + if band(op, 2) == 0 then x = ctx.addr + pos + x end + ctx.rel = x + x = "0x"..tohex(x) + elseif p == "K" then + if band(op, 1) ~= 0 then name = name.."l" end + if band(op, 2) ~= 0 then name = name.."a" end + elseif p == "X" or p == "Y" then + x = band(rshift(op, rs+2), 7) + if x == 0 and p == "Y" then x = nil else x = "cr"..x end + rs = rs - 5 + elseif p == "W" then + x = "cr"..band(op, 7) + elseif p == "Z" then + x = band(rshift(op, rs-4), 255) + rs = rs - 10 + elseif p == ">" then + operands[#operands] = rshift(operands[#operands], 1) + elseif p == "0" then + if last == "r0" then + operands[#operands] = nil + if altname then name = altname end + end + elseif p == "L" then + name = gsub(name, "_", band(op, 0x00200000) ~= 0 and "d" or "w") + elseif p == "." then + if band(op, 1) == 1 then name = name.."." end + elseif p == "N" then + if op == 0x60000000 then name = "nop"; break end + elseif p == "~" then + local n = #operands + operands[n-1], operands[n] = operands[n], operands[n-1] + elseif p == "=" then + local n = #operands + if last == operands[n-1] then + operands[n] = nil + name = altname + end + elseif p == "%" then + local n = #operands + if last == operands[n-1] and last == operands[n-2] then + operands[n] = nil + operands[n-1] = nil + name = altname + end + elseif p == "-" then + rs = rs - 5 + else + assert(false) + end + if x then operands[#operands+1] = x; last = x end + end + + return putop(ctx, name, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + stop = stop - stop % 4 + ctx.pos = ofs - ofs % 4 + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 32 then return map_gpr[r] end + return "f"..(r-32) +end + +-- Public module functions. +return { + create = create, + disass = disass, + regname = regname +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/dis_x64.lua b/libs/LuaJIT/android/arm64-v8a/jit/dis_x64.lua new file mode 100644 index 00000000..2d37423e --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/dis_x64.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT x64 disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the 64 bit functions from the combined +-- x86/x64 disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_x86 = require((string.match(..., ".*%.") or "").."dis_x86") +return { + create = dis_x86.create64, + disass = dis_x86.disass64, + regname = dis_x86.regname64 +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/dis_x86.lua b/libs/LuaJIT/android/arm64-v8a/jit/dis_x86.lua new file mode 100644 index 00000000..5480854c --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/dis_x86.lua @@ -0,0 +1,953 @@ +---------------------------------------------------------------------------- +-- LuaJIT x86/x64 disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- Sending small code snippets to an external disassembler and mixing the +-- output with our own stuff was too fragile. So I had to bite the bullet +-- and write yet another x86 disassembler. Oh well ... +-- +-- The output format is very similar to what ndisasm generates. But it has +-- been developed independently by looking at the opcode tables from the +-- Intel and AMD manuals. The supported instruction set is quite extensive +-- and reflects what a current generation Intel or AMD CPU implements in +-- 32 bit and 64 bit mode. Yes, this includes MMX, SSE, SSE2, SSE3, SSSE3, +-- SSE4.1, SSE4.2, SSE4a, AVX, AVX2 and even privileged and hypervisor +-- (VMX/SVM) instructions. +-- +-- Notes: +-- * The (useless) a16 prefix, 3DNow and pre-586 opcodes are unsupported. +-- * No attempt at optimization has been made -- it's fast enough for my needs. +------------------------------------------------------------------------------ + +local type = type +local sub, byte, format = string.sub, string.byte, string.format +local match, gmatch, gsub = string.match, string.gmatch, string.gsub +local lower, rep = string.lower, string.rep +local bit = require("bit") +local tohex = bit.tohex + +-- Map for 1st opcode byte in 32 bit mode. Ugly? Well ... read on. +local map_opc1_32 = { +--0x +[0]="addBmr","addVmr","addBrm","addVrm","addBai","addVai","push es","pop es", +"orBmr","orVmr","orBrm","orVrm","orBai","orVai","push cs","opc2*", +--1x +"adcBmr","adcVmr","adcBrm","adcVrm","adcBai","adcVai","push ss","pop ss", +"sbbBmr","sbbVmr","sbbBrm","sbbVrm","sbbBai","sbbVai","push ds","pop ds", +--2x +"andBmr","andVmr","andBrm","andVrm","andBai","andVai","es:seg","daa", +"subBmr","subVmr","subBrm","subVrm","subBai","subVai","cs:seg","das", +--3x +"xorBmr","xorVmr","xorBrm","xorVrm","xorBai","xorVai","ss:seg","aaa", +"cmpBmr","cmpVmr","cmpBrm","cmpVrm","cmpBai","cmpVai","ds:seg","aas", +--4x +"incVR","incVR","incVR","incVR","incVR","incVR","incVR","incVR", +"decVR","decVR","decVR","decVR","decVR","decVR","decVR","decVR", +--5x +"pushUR","pushUR","pushUR","pushUR","pushUR","pushUR","pushUR","pushUR", +"popUR","popUR","popUR","popUR","popUR","popUR","popUR","popUR", +--6x +"sz*pushaw,pusha","sz*popaw,popa","boundVrm","arplWmr", +"fs:seg","gs:seg","o16:","a16", +"pushUi","imulVrmi","pushBs","imulVrms", +"insb","insVS","outsb","outsVS", +--7x +"joBj","jnoBj","jbBj","jnbBj","jzBj","jnzBj","jbeBj","jaBj", +"jsBj","jnsBj","jpeBj","jpoBj","jlBj","jgeBj","jleBj","jgBj", +--8x +"arith!Bmi","arith!Vmi","arith!Bmi","arith!Vms", +"testBmr","testVmr","xchgBrm","xchgVrm", +"movBmr","movVmr","movBrm","movVrm", +"movVmg","leaVrm","movWgm","popUm", +--9x +"nop*xchgVaR|pause|xchgWaR|repne nop","xchgVaR","xchgVaR","xchgVaR", +"xchgVaR","xchgVaR","xchgVaR","xchgVaR", +"sz*cbw,cwde,cdqe","sz*cwd,cdq,cqo","call farViw","wait", +"sz*pushfw,pushf","sz*popfw,popf","sahf","lahf", +--Ax +"movBao","movVao","movBoa","movVoa", +"movsb","movsVS","cmpsb","cmpsVS", +"testBai","testVai","stosb","stosVS", +"lodsb","lodsVS","scasb","scasVS", +--Bx +"movBRi","movBRi","movBRi","movBRi","movBRi","movBRi","movBRi","movBRi", +"movVRI","movVRI","movVRI","movVRI","movVRI","movVRI","movVRI","movVRI", +--Cx +"shift!Bmu","shift!Vmu","retBw","ret","vex*3$lesVrm","vex*2$ldsVrm","movBmi","movVmi", +"enterBwu","leave","retfBw","retf","int3","intBu","into","iretVS", +--Dx +"shift!Bm1","shift!Vm1","shift!Bmc","shift!Vmc","aamBu","aadBu","salc","xlatb", +"fp*0","fp*1","fp*2","fp*3","fp*4","fp*5","fp*6","fp*7", +--Ex +"loopneBj","loopeBj","loopBj","sz*jcxzBj,jecxzBj,jrcxzBj", +"inBau","inVau","outBua","outVua", +"callVj","jmpVj","jmp farViw","jmpBj","inBad","inVad","outBda","outVda", +--Fx +"lock:","int1","repne:rep","rep:","hlt","cmc","testb!Bm","testv!Vm", +"clc","stc","cli","sti","cld","std","incb!Bm","incd!Vm", +} +assert(#map_opc1_32 == 255) + +-- Map for 1st opcode byte in 64 bit mode (overrides only). +local map_opc1_64 = setmetatable({ + [0x06]=false, [0x07]=false, [0x0e]=false, + [0x16]=false, [0x17]=false, [0x1e]=false, [0x1f]=false, + [0x27]=false, [0x2f]=false, [0x37]=false, [0x3f]=false, + [0x60]=false, [0x61]=false, [0x62]=false, [0x63]="movsxdVrDmt", [0x67]="a32:", + [0x40]="rex*", [0x41]="rex*b", [0x42]="rex*x", [0x43]="rex*xb", + [0x44]="rex*r", [0x45]="rex*rb", [0x46]="rex*rx", [0x47]="rex*rxb", + [0x48]="rex*w", [0x49]="rex*wb", [0x4a]="rex*wx", [0x4b]="rex*wxb", + [0x4c]="rex*wr", [0x4d]="rex*wrb", [0x4e]="rex*wrx", [0x4f]="rex*wrxb", + [0x82]=false, [0x9a]=false, [0xc4]="vex*3", [0xc5]="vex*2", [0xce]=false, + [0xd4]=false, [0xd5]=false, [0xd6]=false, [0xea]=false, +}, { __index = map_opc1_32 }) + +-- Map for 2nd opcode byte (0F xx). True CISC hell. Hey, I told you. +-- Prefix dependent MMX/SSE opcodes: (none)|rep|o16|repne, -|F3|66|F2 +local map_opc2 = { +--0x +[0]="sldt!Dmp","sgdt!Ump","larVrm","lslVrm",nil,"syscall","clts","sysret", +"invd","wbinvd",nil,"ud1",nil,"$prefetch!Bm","femms","3dnowMrmu", +--1x +"movupsXrm|movssXrvm|movupdXrm|movsdXrvm", +"movupsXmr|movssXmvr|movupdXmr|movsdXmvr", +"movhlpsXrm$movlpsXrm|movsldupXrm|movlpdXrm|movddupXrm", +"movlpsXmr||movlpdXmr", +"unpcklpsXrvm||unpcklpdXrvm", +"unpckhpsXrvm||unpckhpdXrvm", +"movlhpsXrm$movhpsXrm|movshdupXrm|movhpdXrm", +"movhpsXmr||movhpdXmr", +"$prefetcht!Bm","hintnopVm","hintnopVm","hintnopVm", +"hintnopVm","hintnopVm","hintnopVm","hintnopVm", +--2x +"movUmx$","movUmy$","movUxm$","movUym$","movUmz$",nil,"movUzm$",nil, +"movapsXrm||movapdXrm", +"movapsXmr||movapdXmr", +"cvtpi2psXrMm|cvtsi2ssXrvVmt|cvtpi2pdXrMm|cvtsi2sdXrvVmt", +"movntpsXmr|movntssXmr|movntpdXmr|movntsdXmr", +"cvttps2piMrXm|cvttss2siVrXm|cvttpd2piMrXm|cvttsd2siVrXm", +"cvtps2piMrXm|cvtss2siVrXm|cvtpd2piMrXm|cvtsd2siVrXm", +"ucomissXrm||ucomisdXrm", +"comissXrm||comisdXrm", +--3x +"wrmsr","rdtsc","rdmsr","rdpmc","sysenter","sysexit",nil,"getsec", +"opc3*38",nil,"opc3*3a",nil,nil,nil,nil,nil, +--4x +"cmovoVrm","cmovnoVrm","cmovbVrm","cmovnbVrm", +"cmovzVrm","cmovnzVrm","cmovbeVrm","cmovaVrm", +"cmovsVrm","cmovnsVrm","cmovpeVrm","cmovpoVrm", +"cmovlVrm","cmovgeVrm","cmovleVrm","cmovgVrm", +--5x +"movmskpsVrXm$||movmskpdVrXm$","sqrtpsXrm|sqrtssXrm|sqrtpdXrm|sqrtsdXrm", +"rsqrtpsXrm|rsqrtssXrvm","rcppsXrm|rcpssXrvm", +"andpsXrvm||andpdXrvm","andnpsXrvm||andnpdXrvm", +"orpsXrvm||orpdXrvm","xorpsXrvm||xorpdXrvm", +"addpsXrvm|addssXrvm|addpdXrvm|addsdXrvm","mulpsXrvm|mulssXrvm|mulpdXrvm|mulsdXrvm", +"cvtps2pdXrm|cvtss2sdXrvm|cvtpd2psXrm|cvtsd2ssXrvm", +"cvtdq2psXrm|cvttps2dqXrm|cvtps2dqXrm", +"subpsXrvm|subssXrvm|subpdXrvm|subsdXrvm","minpsXrvm|minssXrvm|minpdXrvm|minsdXrvm", +"divpsXrvm|divssXrvm|divpdXrvm|divsdXrvm","maxpsXrvm|maxssXrvm|maxpdXrvm|maxsdXrvm", +--6x +"punpcklbwPrvm","punpcklwdPrvm","punpckldqPrvm","packsswbPrvm", +"pcmpgtbPrvm","pcmpgtwPrvm","pcmpgtdPrvm","packuswbPrvm", +"punpckhbwPrvm","punpckhwdPrvm","punpckhdqPrvm","packssdwPrvm", +"||punpcklqdqXrvm","||punpckhqdqXrvm", +"movPrVSm","movqMrm|movdquXrm|movdqaXrm", +--7x +"pshufwMrmu|pshufhwXrmu|pshufdXrmu|pshuflwXrmu","pshiftw!Pvmu", +"pshiftd!Pvmu","pshiftq!Mvmu||pshiftdq!Xvmu", +"pcmpeqbPrvm","pcmpeqwPrvm","pcmpeqdPrvm","emms*|", +"vmreadUmr||extrqXmuu$|insertqXrmuu$","vmwriteUrm||extrqXrm$|insertqXrm$", +nil,nil, +"||haddpdXrvm|haddpsXrvm","||hsubpdXrvm|hsubpsXrvm", +"movVSmMr|movqXrm|movVSmXr","movqMmr|movdquXmr|movdqaXmr", +--8x +"joVj","jnoVj","jbVj","jnbVj","jzVj","jnzVj","jbeVj","jaVj", +"jsVj","jnsVj","jpeVj","jpoVj","jlVj","jgeVj","jleVj","jgVj", +--9x +"setoBm","setnoBm","setbBm","setnbBm","setzBm","setnzBm","setbeBm","setaBm", +"setsBm","setnsBm","setpeBm","setpoBm","setlBm","setgeBm","setleBm","setgBm", +--Ax +"push fs","pop fs","cpuid","btVmr","shldVmru","shldVmrc",nil,nil, +"push gs","pop gs","rsm","btsVmr","shrdVmru","shrdVmrc","fxsave!Dmp","imulVrm", +--Bx +"cmpxchgBmr","cmpxchgVmr","$lssVrm","btrVmr", +"$lfsVrm","$lgsVrm","movzxVrBmt","movzxVrWmt", +"|popcntVrm","ud2Dp","bt!Vmu","btcVmr", +"bsfVrm","bsrVrm|lzcntVrm|bsrWrm","movsxVrBmt","movsxVrWmt", +--Cx +"xaddBmr","xaddVmr", +"cmppsXrvmu|cmpssXrvmu|cmppdXrvmu|cmpsdXrvmu","$movntiVmr|", +"pinsrwPrvWmu","pextrwDrPmu", +"shufpsXrvmu||shufpdXrvmu","$cmpxchg!Qmp", +"bswapVR","bswapVR","bswapVR","bswapVR","bswapVR","bswapVR","bswapVR","bswapVR", +--Dx +"||addsubpdXrvm|addsubpsXrvm","psrlwPrvm","psrldPrvm","psrlqPrvm", +"paddqPrvm","pmullwPrvm", +"|movq2dqXrMm|movqXmr|movdq2qMrXm$","pmovmskbVrMm||pmovmskbVrXm", +"psubusbPrvm","psubuswPrvm","pminubPrvm","pandPrvm", +"paddusbPrvm","padduswPrvm","pmaxubPrvm","pandnPrvm", +--Ex +"pavgbPrvm","psrawPrvm","psradPrvm","pavgwPrvm", +"pmulhuwPrvm","pmulhwPrvm", +"|cvtdq2pdXrm|cvttpd2dqXrm|cvtpd2dqXrm","$movntqMmr||$movntdqXmr", +"psubsbPrvm","psubswPrvm","pminswPrvm","porPrvm", +"paddsbPrvm","paddswPrvm","pmaxswPrvm","pxorPrvm", +--Fx +"|||lddquXrm","psllwPrvm","pslldPrvm","psllqPrvm", +"pmuludqPrvm","pmaddwdPrvm","psadbwPrvm","maskmovqMrm||maskmovdquXrm$", +"psubbPrvm","psubwPrvm","psubdPrvm","psubqPrvm", +"paddbPrvm","paddwPrvm","padddPrvm","ud", +} +assert(map_opc2[255] == "ud") + +-- Map for three-byte opcodes. Can't wait for their next invention. +local map_opc3 = { +["38"] = { -- [66] 0f 38 xx +--0x +[0]="pshufbPrvm","phaddwPrvm","phadddPrvm","phaddswPrvm", +"pmaddubswPrvm","phsubwPrvm","phsubdPrvm","phsubswPrvm", +"psignbPrvm","psignwPrvm","psigndPrvm","pmulhrswPrvm", +"||permilpsXrvm","||permilpdXrvm",nil,nil, +--1x +"||pblendvbXrma",nil,nil,nil, +"||blendvpsXrma","||blendvpdXrma","||permpsXrvm","||ptestXrm", +"||broadcastssXrm","||broadcastsdXrm","||broadcastf128XrlXm",nil, +"pabsbPrm","pabswPrm","pabsdPrm",nil, +--2x +"||pmovsxbwXrm","||pmovsxbdXrm","||pmovsxbqXrm","||pmovsxwdXrm", +"||pmovsxwqXrm","||pmovsxdqXrm",nil,nil, +"||pmuldqXrvm","||pcmpeqqXrvm","||$movntdqaXrm","||packusdwXrvm", +"||maskmovpsXrvm","||maskmovpdXrvm","||maskmovpsXmvr","||maskmovpdXmvr", +--3x +"||pmovzxbwXrm","||pmovzxbdXrm","||pmovzxbqXrm","||pmovzxwdXrm", +"||pmovzxwqXrm","||pmovzxdqXrm","||permdXrvm","||pcmpgtqXrvm", +"||pminsbXrvm","||pminsdXrvm","||pminuwXrvm","||pminudXrvm", +"||pmaxsbXrvm","||pmaxsdXrvm","||pmaxuwXrvm","||pmaxudXrvm", +--4x +"||pmulddXrvm","||phminposuwXrm",nil,nil, +nil,"||psrlvVSXrvm","||psravdXrvm","||psllvVSXrvm", +--5x +[0x58] = "||pbroadcastdXrlXm",[0x59] = "||pbroadcastqXrlXm", +[0x5a] = "||broadcasti128XrlXm", +--7x +[0x78] = "||pbroadcastbXrlXm",[0x79] = "||pbroadcastwXrlXm", +--8x +[0x8c] = "||pmaskmovXrvVSm", +[0x8e] = "||pmaskmovVSmXvr", +--9x +[0x96] = "||fmaddsub132pHXrvm",[0x97] = "||fmsubadd132pHXrvm", +[0x98] = "||fmadd132pHXrvm",[0x99] = "||fmadd132sHXrvm", +[0x9a] = "||fmsub132pHXrvm",[0x9b] = "||fmsub132sHXrvm", +[0x9c] = "||fnmadd132pHXrvm",[0x9d] = "||fnmadd132sHXrvm", +[0x9e] = "||fnmsub132pHXrvm",[0x9f] = "||fnmsub132sHXrvm", +--Ax +[0xa6] = "||fmaddsub213pHXrvm",[0xa7] = "||fmsubadd213pHXrvm", +[0xa8] = "||fmadd213pHXrvm",[0xa9] = "||fmadd213sHXrvm", +[0xaa] = "||fmsub213pHXrvm",[0xab] = "||fmsub213sHXrvm", +[0xac] = "||fnmadd213pHXrvm",[0xad] = "||fnmadd213sHXrvm", +[0xae] = "||fnmsub213pHXrvm",[0xaf] = "||fnmsub213sHXrvm", +--Bx +[0xb6] = "||fmaddsub231pHXrvm",[0xb7] = "||fmsubadd231pHXrvm", +[0xb8] = "||fmadd231pHXrvm",[0xb9] = "||fmadd231sHXrvm", +[0xba] = "||fmsub231pHXrvm",[0xbb] = "||fmsub231sHXrvm", +[0xbc] = "||fnmadd231pHXrvm",[0xbd] = "||fnmadd231sHXrvm", +[0xbe] = "||fnmsub231pHXrvm",[0xbf] = "||fnmsub231sHXrvm", +--Dx +[0xdc] = "||aesencXrvm", [0xdd] = "||aesenclastXrvm", +[0xde] = "||aesdecXrvm", [0xdf] = "||aesdeclastXrvm", +--Fx +[0xf0] = "|||crc32TrBmt",[0xf1] = "|||crc32TrVmt", +[0xf7] = "| sarxVrmv| shlxVrmv| shrxVrmv", +}, + +["3a"] = { -- [66] 0f 3a xx +--0x +[0x00]="||permqXrmu","||permpdXrmu","||pblenddXrvmu",nil, +"||permilpsXrmu","||permilpdXrmu","||perm2f128Xrvmu",nil, +"||roundpsXrmu","||roundpdXrmu","||roundssXrvmu","||roundsdXrvmu", +"||blendpsXrvmu","||blendpdXrvmu","||pblendwXrvmu","palignrPrvmu", +--1x +nil,nil,nil,nil, +"||pextrbVmXru","||pextrwVmXru","||pextrVmSXru","||extractpsVmXru", +"||insertf128XrvlXmu","||extractf128XlXmYru",nil,nil, +nil,nil,nil,nil, +--2x +"||pinsrbXrvVmu","||insertpsXrvmu","||pinsrXrvVmuS",nil, +--3x +[0x38] = "||inserti128Xrvmu",[0x39] = "||extracti128XlXmYru", +--4x +[0x40] = "||dppsXrvmu", +[0x41] = "||dppdXrvmu", +[0x42] = "||mpsadbwXrvmu", +[0x44] = "||pclmulqdqXrvmu", +[0x46] = "||perm2i128Xrvmu", +[0x4a] = "||blendvpsXrvmb",[0x4b] = "||blendvpdXrvmb", +[0x4c] = "||pblendvbXrvmb", +--6x +[0x60] = "||pcmpestrmXrmu",[0x61] = "||pcmpestriXrmu", +[0x62] = "||pcmpistrmXrmu",[0x63] = "||pcmpistriXrmu", +[0xdf] = "||aeskeygenassistXrmu", +--Fx +[0xf0] = "||| rorxVrmu", +}, +} + +-- Map for VMX/SVM opcodes 0F 01 C0-FF (sgdt group with register operands). +local map_opcvm = { +[0xc1]="vmcall",[0xc2]="vmlaunch",[0xc3]="vmresume",[0xc4]="vmxoff", +[0xc8]="monitor",[0xc9]="mwait", +[0xd8]="vmrun",[0xd9]="vmmcall",[0xda]="vmload",[0xdb]="vmsave", +[0xdc]="stgi",[0xdd]="clgi",[0xde]="skinit",[0xdf]="invlpga", +[0xf8]="swapgs",[0xf9]="rdtscp", +} + +-- Map for FP opcodes. And you thought stack machines are simple? +local map_opcfp = { +-- D8-DF 00-BF: opcodes with a memory operand. +-- D8 +[0]="faddFm","fmulFm","fcomFm","fcompFm","fsubFm","fsubrFm","fdivFm","fdivrFm", +"fldFm",nil,"fstFm","fstpFm","fldenvVm","fldcwWm","fnstenvVm","fnstcwWm", +-- DA +"fiaddDm","fimulDm","ficomDm","ficompDm", +"fisubDm","fisubrDm","fidivDm","fidivrDm", +-- DB +"fildDm","fisttpDm","fistDm","fistpDm",nil,"fld twordFmp",nil,"fstp twordFmp", +-- DC +"faddGm","fmulGm","fcomGm","fcompGm","fsubGm","fsubrGm","fdivGm","fdivrGm", +-- DD +"fldGm","fisttpQm","fstGm","fstpGm","frstorDmp",nil,"fnsaveDmp","fnstswWm", +-- DE +"fiaddWm","fimulWm","ficomWm","ficompWm", +"fisubWm","fisubrWm","fidivWm","fidivrWm", +-- DF +"fildWm","fisttpWm","fistWm","fistpWm", +"fbld twordFmp","fildQm","fbstp twordFmp","fistpQm", +-- xx C0-FF: opcodes with a pseudo-register operand. +-- D8 +"faddFf","fmulFf","fcomFf","fcompFf","fsubFf","fsubrFf","fdivFf","fdivrFf", +-- D9 +"fldFf","fxchFf",{"fnop"},nil, +{"fchs","fabs",nil,nil,"ftst","fxam"}, +{"fld1","fldl2t","fldl2e","fldpi","fldlg2","fldln2","fldz"}, +{"f2xm1","fyl2x","fptan","fpatan","fxtract","fprem1","fdecstp","fincstp"}, +{"fprem","fyl2xp1","fsqrt","fsincos","frndint","fscale","fsin","fcos"}, +-- DA +"fcmovbFf","fcmoveFf","fcmovbeFf","fcmovuFf",nil,{nil,"fucompp"},nil,nil, +-- DB +"fcmovnbFf","fcmovneFf","fcmovnbeFf","fcmovnuFf", +{nil,nil,"fnclex","fninit"},"fucomiFf","fcomiFf",nil, +-- DC +"fadd toFf","fmul toFf",nil,nil, +"fsub toFf","fsubr toFf","fdivr toFf","fdiv toFf", +-- DD +"ffreeFf",nil,"fstFf","fstpFf","fucomFf","fucompFf",nil,nil, +-- DE +"faddpFf","fmulpFf",nil,{nil,"fcompp"}, +"fsubrpFf","fsubpFf","fdivrpFf","fdivpFf", +-- DF +nil,nil,nil,nil,{"fnstsw ax"},"fucomipFf","fcomipFf",nil, +} +assert(map_opcfp[126] == "fcomipFf") + +-- Map for opcode groups. The subkey is sp from the ModRM byte. +local map_opcgroup = { + arith = { "add", "or", "adc", "sbb", "and", "sub", "xor", "cmp" }, + shift = { "rol", "ror", "rcl", "rcr", "shl", "shr", "sal", "sar" }, + testb = { "testBmi", "testBmi", "not", "neg", "mul", "imul", "div", "idiv" }, + testv = { "testVmi", "testVmi", "not", "neg", "mul", "imul", "div", "idiv" }, + incb = { "inc", "dec" }, + incd = { "inc", "dec", "callUmp", "$call farDmp", + "jmpUmp", "$jmp farDmp", "pushUm" }, + sldt = { "sldt", "str", "lldt", "ltr", "verr", "verw" }, + sgdt = { "vm*$sgdt", "vm*$sidt", "$lgdt", "vm*$lidt", + "smsw", nil, "lmsw", "vm*$invlpg" }, + bt = { nil, nil, nil, nil, "bt", "bts", "btr", "btc" }, + cmpxchg = { nil, "sz*,cmpxchg8bQmp,cmpxchg16bXmp", nil, nil, + nil, nil, "vmptrld|vmxon|vmclear", "vmptrst" }, + pshiftw = { nil, nil, "psrlw", nil, "psraw", nil, "psllw" }, + pshiftd = { nil, nil, "psrld", nil, "psrad", nil, "pslld" }, + pshiftq = { nil, nil, "psrlq", nil, nil, nil, "psllq" }, + pshiftdq = { nil, nil, "psrlq", "psrldq", nil, nil, "psllq", "pslldq" }, + fxsave = { "$fxsave", "$fxrstor", "$ldmxcsr", "$stmxcsr", + nil, "lfenceDp$", "mfenceDp$", "sfenceDp$clflush" }, + prefetch = { "prefetch", "prefetchw" }, + prefetcht = { "prefetchnta", "prefetcht0", "prefetcht1", "prefetcht2" }, +} + +------------------------------------------------------------------------------ + +-- Maps for register names. +local map_regs = { + B = { "al", "cl", "dl", "bl", "ah", "ch", "dh", "bh", + "r8b", "r9b", "r10b", "r11b", "r12b", "r13b", "r14b", "r15b" }, + B64 = { "al", "cl", "dl", "bl", "spl", "bpl", "sil", "dil", + "r8b", "r9b", "r10b", "r11b", "r12b", "r13b", "r14b", "r15b" }, + W = { "ax", "cx", "dx", "bx", "sp", "bp", "si", "di", + "r8w", "r9w", "r10w", "r11w", "r12w", "r13w", "r14w", "r15w" }, + D = { "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi", + "r8d", "r9d", "r10d", "r11d", "r12d", "r13d", "r14d", "r15d" }, + Q = { "rax", "rcx", "rdx", "rbx", "rsp", "rbp", "rsi", "rdi", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15" }, + M = { "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7", + "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7" }, -- No x64 ext! + X = { "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7", + "xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15" }, + Y = { "ymm0", "ymm1", "ymm2", "ymm3", "ymm4", "ymm5", "ymm6", "ymm7", + "ymm8", "ymm9", "ymm10", "ymm11", "ymm12", "ymm13", "ymm14", "ymm15" }, +} +local map_segregs = { "es", "cs", "ss", "ds", "fs", "gs", "segr6", "segr7" } + +-- Maps for size names. +local map_sz2n = { + B = 1, W = 2, D = 4, Q = 8, M = 8, X = 16, Y = 32, +} +local map_sz2prefix = { + B = "byte", W = "word", D = "dword", + Q = "qword", + M = "qword", X = "xword", Y = "yword", + F = "dword", G = "qword", -- No need for sizes/register names for these two. +} + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local code, pos, hex = ctx.code, ctx.pos, "" + local hmax = ctx.hexdump + if hmax > 0 then + for i=ctx.start,pos-1 do + hex = hex..format("%02X", byte(code, i, i)) + end + if #hex > hmax then hex = sub(hex, 1, hmax)..". " + else hex = hex..rep(" ", hmax-#hex+2) end + end + if operands then text = text.." "..operands end + if ctx.o16 then text = "o16 "..text; ctx.o16 = false end + if ctx.a32 then text = "a32 "..text; ctx.a32 = false end + if ctx.rep then text = ctx.rep.." "..text; ctx.rep = false end + if ctx.rex then + local t = (ctx.rexw and "w" or "")..(ctx.rexr and "r" or "").. + (ctx.rexx and "x" or "")..(ctx.rexb and "b" or "").. + (ctx.vexl and "l" or "") + if ctx.vexv and ctx.vexv ~= 0 then t = t.."v"..ctx.vexv end + if t ~= "" then text = ctx.rex.."."..t.." "..gsub(text, "^ ", "") + elseif ctx.rex == "vex" then text = gsub("v"..text, "^v ", "") end + ctx.rexw = false; ctx.rexr = false; ctx.rexx = false; ctx.rexb = false + ctx.rex = false; ctx.vexl = false; ctx.vexv = false + end + if ctx.seg then + local text2, n = gsub(text, "%[", "["..ctx.seg..":") + if n == 0 then text = ctx.seg.." "..text else text = text2 end + ctx.seg = false + end + if ctx.lock then text = "lock "..text; ctx.lock = false end + local imm = ctx.imm + if imm then + local sym = ctx.symtab[imm] + if sym then text = text.."\t->"..sym end + end + ctx.out(format("%08x %s%s\n", ctx.addr+ctx.start, hex, text)) + ctx.mrm = false + ctx.vexv = false + ctx.start = pos + ctx.imm = nil +end + +-- Clear all prefix flags. +local function clearprefixes(ctx) + ctx.o16 = false; ctx.seg = false; ctx.lock = false; ctx.rep = false + ctx.rexw = false; ctx.rexr = false; ctx.rexx = false; ctx.rexb = false + ctx.rex = false; ctx.a32 = false; ctx.vexl = false +end + +-- Fallback for incomplete opcodes at the end. +local function incomplete(ctx) + ctx.pos = ctx.stop+1 + clearprefixes(ctx) + return putop(ctx, "(incomplete)") +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + clearprefixes(ctx) + return putop(ctx, "(unknown)") +end + +-- Return an immediate of the specified size. +local function getimm(ctx, pos, n) + if pos+n-1 > ctx.stop then return incomplete(ctx) end + local code = ctx.code + if n == 1 then + local b1 = byte(code, pos, pos) + return b1 + elseif n == 2 then + local b1, b2 = byte(code, pos, pos+1) + return b1+b2*256 + else + local b1, b2, b3, b4 = byte(code, pos, pos+3) + local imm = b1+b2*256+b3*65536+b4*16777216 + ctx.imm = imm + return imm + end +end + +-- Process pattern string and generate the operands. +local function putpat(ctx, name, pat) + local operands, regs, sz, mode, sp, rm, sc, rx, sdisp + local code, pos, stop, vexl = ctx.code, ctx.pos, ctx.stop, ctx.vexl + + -- Chars used: 1DFGHIMPQRSTUVWXYabcdfgijlmoprstuvwxyz + for p in gmatch(pat, ".") do + local x = nil + if p == "V" or p == "U" then + if ctx.rexw then sz = "Q"; ctx.rexw = false + elseif ctx.o16 then sz = "W"; ctx.o16 = false + elseif p == "U" and ctx.x64 then sz = "Q" + else sz = "D" end + regs = map_regs[sz] + elseif p == "T" then + if ctx.rexw then sz = "Q"; ctx.rexw = false else sz = "D" end + regs = map_regs[sz] + elseif p == "B" then + sz = "B" + regs = ctx.rex and map_regs.B64 or map_regs.B + elseif match(p, "[WDQMXYFG]") then + sz = p + if sz == "X" and vexl then sz = "Y"; ctx.vexl = false end + regs = map_regs[sz] + elseif p == "P" then + sz = ctx.o16 and "X" or "M"; ctx.o16 = false + if sz == "X" and vexl then sz = "Y"; ctx.vexl = false end + regs = map_regs[sz] + elseif p == "H" then + name = name..(ctx.rexw and "d" or "s") + ctx.rexw = false + elseif p == "S" then + name = name..lower(sz) + elseif p == "s" then + local imm = getimm(ctx, pos, 1); if not imm then return end + x = imm <= 127 and format("+0x%02x", imm) + or format("-0x%02x", 256-imm) + pos = pos+1 + elseif p == "u" then + local imm = getimm(ctx, pos, 1); if not imm then return end + x = format("0x%02x", imm) + pos = pos+1 + elseif p == "b" then + local imm = getimm(ctx, pos, 1); if not imm then return end + x = regs[imm/16+1] + pos = pos+1 + elseif p == "w" then + local imm = getimm(ctx, pos, 2); if not imm then return end + x = format("0x%x", imm) + pos = pos+2 + elseif p == "o" then -- [offset] + if ctx.x64 then + local imm1 = getimm(ctx, pos, 4); if not imm1 then return end + local imm2 = getimm(ctx, pos+4, 4); if not imm2 then return end + x = format("[0x%08x%08x]", imm2, imm1) + pos = pos+8 + else + local imm = getimm(ctx, pos, 4); if not imm then return end + x = format("[0x%08x]", imm) + pos = pos+4 + end + elseif p == "i" or p == "I" then + local n = map_sz2n[sz] + if n == 8 and ctx.x64 and p == "I" then + local imm1 = getimm(ctx, pos, 4); if not imm1 then return end + local imm2 = getimm(ctx, pos+4, 4); if not imm2 then return end + x = format("0x%08x%08x", imm2, imm1) + else + if n == 8 then n = 4 end + local imm = getimm(ctx, pos, n); if not imm then return end + if sz == "Q" and (imm < 0 or imm > 0x7fffffff) then + imm = (0xffffffff+1)-imm + x = format(imm > 65535 and "-0x%08x" or "-0x%x", imm) + else + x = format(imm > 65535 and "0x%08x" or "0x%x", imm) + end + end + pos = pos+n + elseif p == "j" then + local n = map_sz2n[sz] + if n == 8 then n = 4 end + local imm = getimm(ctx, pos, n); if not imm then return end + if sz == "B" and imm > 127 then imm = imm-256 + elseif imm > 2147483647 then imm = imm-4294967296 end + pos = pos+n + imm = imm + pos + ctx.addr + if imm > 4294967295 and not ctx.x64 then imm = imm-4294967296 end + ctx.imm = imm + if sz == "W" then + x = format("word 0x%04x", imm%65536) + elseif ctx.x64 then + local lo = imm % 0x1000000 + x = format("0x%02x%06x", (imm-lo) / 0x1000000, lo) + else + x = "0x"..tohex(imm) + end + elseif p == "R" then + local r = byte(code, pos-1, pos-1)%8 + if ctx.rexb then r = r + 8; ctx.rexb = false end + x = regs[r+1] + elseif p == "a" then x = regs[1] + elseif p == "c" then x = "cl" + elseif p == "d" then x = "dx" + elseif p == "1" then x = "1" + else + if not mode then + mode = ctx.mrm + if not mode then + if pos > stop then return incomplete(ctx) end + mode = byte(code, pos, pos) + pos = pos+1 + end + rm = mode%8; mode = (mode-rm)/8 + sp = mode%8; mode = (mode-sp)/8 + sdisp = "" + if mode < 3 then + if rm == 4 then + if pos > stop then return incomplete(ctx) end + sc = byte(code, pos, pos) + pos = pos+1 + rm = sc%8; sc = (sc-rm)/8 + rx = sc%8; sc = (sc-rx)/8 + if ctx.rexx then rx = rx + 8; ctx.rexx = false end + if rx == 4 then rx = nil end + end + if mode > 0 or rm == 5 then + local dsz = mode + if dsz ~= 1 then dsz = 4 end + local disp = getimm(ctx, pos, dsz); if not disp then return end + if mode == 0 then rm = nil end + if rm or rx or (not sc and ctx.x64 and not ctx.a32) then + if dsz == 1 and disp > 127 then + sdisp = format("-0x%x", 256-disp) + elseif disp >= 0 and disp <= 0x7fffffff then + sdisp = format("+0x%x", disp) + else + sdisp = format("-0x%x", (0xffffffff+1)-disp) + end + else + sdisp = format(ctx.x64 and not ctx.a32 and + not (disp >= 0 and disp <= 0x7fffffff) + and "0xffffffff%08x" or "0x%08x", disp) + end + pos = pos+dsz + end + end + if rm and ctx.rexb then rm = rm + 8; ctx.rexb = false end + if ctx.rexr then sp = sp + 8; ctx.rexr = false end + end + if p == "m" then + if mode == 3 then x = regs[rm+1] + else + local aregs = ctx.a32 and map_regs.D or ctx.aregs + local srm, srx = "", "" + if rm then srm = aregs[rm+1] + elseif not sc and ctx.x64 and not ctx.a32 then srm = "rip" end + ctx.a32 = false + if rx then + if rm then srm = srm.."+" end + srx = aregs[rx+1] + if sc > 0 then srx = srx.."*"..(2^sc) end + end + x = format("[%s%s%s]", srm, srx, sdisp) + end + if mode < 3 and + (not match(pat, "[aRrgp]") or match(pat, "t")) then -- Yuck. + x = map_sz2prefix[sz].." "..x + end + elseif p == "r" then x = regs[sp+1] + elseif p == "g" then x = map_segregs[sp+1] + elseif p == "p" then -- Suppress prefix. + elseif p == "f" then x = "st"..rm + elseif p == "x" then + if sp == 0 and ctx.lock and not ctx.x64 then + x = "CR8"; ctx.lock = false + else + x = "CR"..sp + end + elseif p == "v" then + if ctx.vexv then + x = regs[ctx.vexv+1]; ctx.vexv = false + end + elseif p == "y" then x = "DR"..sp + elseif p == "z" then x = "TR"..sp + elseif p == "l" then vexl = false + elseif p == "t" then + else + error("bad pattern `"..pat.."'") + end + end + if x then operands = operands and operands..", "..x or x end + end + ctx.pos = pos + return putop(ctx, name, operands) +end + +-- Forward declaration. +local map_act + +-- Fetch and cache MRM byte. +local function getmrm(ctx) + local mrm = ctx.mrm + if not mrm then + local pos = ctx.pos + if pos > ctx.stop then return nil end + mrm = byte(ctx.code, pos, pos) + ctx.pos = pos+1 + ctx.mrm = mrm + end + return mrm +end + +-- Dispatch to handler depending on pattern. +local function dispatch(ctx, opat, patgrp) + if not opat then return unknown(ctx) end + if match(opat, "%|") then -- MMX/SSE variants depending on prefix. + local p + if ctx.rep then + p = ctx.rep=="rep" and "%|([^%|]*)" or "%|[^%|]*%|[^%|]*%|([^%|]*)" + ctx.rep = false + elseif ctx.o16 then p = "%|[^%|]*%|([^%|]*)"; ctx.o16 = false + else p = "^[^%|]*" end + opat = match(opat, p) + if not opat then return unknown(ctx) end +-- ctx.rep = false; ctx.o16 = false + --XXX fails for 66 f2 0f 38 f1 06 crc32 eax,WORD PTR [esi] + --XXX remove in branches? + end + if match(opat, "%$") then -- reg$mem variants. + local mrm = getmrm(ctx); if not mrm then return incomplete(ctx) end + opat = match(opat, mrm >= 192 and "^[^%$]*" or "%$(.*)") + if opat == "" then return unknown(ctx) end + end + if opat == "" then return unknown(ctx) end + local name, pat = match(opat, "^([a-z0-9 ]*)(.*)") + if pat == "" and patgrp then pat = patgrp end + return map_act[sub(pat, 1, 1)](ctx, name, pat) +end + +-- Get a pattern from an opcode map and dispatch to handler. +local function dispatchmap(ctx, opcmap) + local pos = ctx.pos + local opat = opcmap[byte(ctx.code, pos, pos)] + pos = pos + 1 + ctx.pos = pos + return dispatch(ctx, opat) +end + +-- Map for action codes. The key is the first char after the name. +map_act = { + -- Simple opcodes without operands. + [""] = function(ctx, name, pat) + return putop(ctx, name) + end, + + -- Operand size chars fall right through. + B = putpat, W = putpat, D = putpat, Q = putpat, + V = putpat, U = putpat, T = putpat, + M = putpat, X = putpat, P = putpat, + F = putpat, G = putpat, Y = putpat, + H = putpat, + + -- Collect prefixes. + [":"] = function(ctx, name, pat) + ctx[pat == ":" and name or sub(pat, 2)] = name + if ctx.pos - ctx.start > 5 then return unknown(ctx) end -- Limit #prefixes. + end, + + -- Chain to special handler specified by name. + ["*"] = function(ctx, name, pat) + return map_act[name](ctx, name, sub(pat, 2)) + end, + + -- Use named subtable for opcode group. + ["!"] = function(ctx, name, pat) + local mrm = getmrm(ctx); if not mrm then return incomplete(ctx) end + return dispatch(ctx, map_opcgroup[name][((mrm-(mrm%8))/8)%8+1], sub(pat, 2)) + end, + + -- o16,o32[,o64] variants. + sz = function(ctx, name, pat) + if ctx.o16 then ctx.o16 = false + else + pat = match(pat, ",(.*)") + if ctx.rexw then + local p = match(pat, ",(.*)") + if p then pat = p; ctx.rexw = false end + end + end + pat = match(pat, "^[^,]*") + return dispatch(ctx, pat) + end, + + -- Two-byte opcode dispatch. + opc2 = function(ctx, name, pat) + return dispatchmap(ctx, map_opc2) + end, + + -- Three-byte opcode dispatch. + opc3 = function(ctx, name, pat) + return dispatchmap(ctx, map_opc3[pat]) + end, + + -- VMX/SVM dispatch. + vm = function(ctx, name, pat) + return dispatch(ctx, map_opcvm[ctx.mrm]) + end, + + -- Floating point opcode dispatch. + fp = function(ctx, name, pat) + local mrm = getmrm(ctx); if not mrm then return incomplete(ctx) end + local rm = mrm%8 + local idx = pat*8 + ((mrm-rm)/8)%8 + if mrm >= 192 then idx = idx + 64 end + local opat = map_opcfp[idx] + if type(opat) == "table" then opat = opat[rm+1] end + return dispatch(ctx, opat) + end, + + -- REX prefix. + rex = function(ctx, name, pat) + if ctx.rex then return unknown(ctx) end -- Only 1 REX or VEX prefix allowed. + for p in gmatch(pat, ".") do ctx["rex"..p] = true end + ctx.rex = "rex" + end, + + -- VEX prefix. + vex = function(ctx, name, pat) + if ctx.rex then return unknown(ctx) end -- Only 1 REX or VEX prefix allowed. + ctx.rex = "vex" + local pos = ctx.pos + if ctx.mrm then + ctx.mrm = nil + pos = pos-1 + end + local b = byte(ctx.code, pos, pos) + if not b then return incomplete(ctx) end + pos = pos+1 + if b < 128 then ctx.rexr = true end + local m = 1 + if pat == "3" then + m = b%32; b = (b-m)/32 + local nb = b%2; b = (b-nb)/2 + if nb == 0 then ctx.rexb = true end + local nx = b%2 + if nx == 0 then ctx.rexx = true end + b = byte(ctx.code, pos, pos) + if not b then return incomplete(ctx) end + pos = pos+1 + if b >= 128 then ctx.rexw = true end + end + ctx.pos = pos + local map + if m == 1 then map = map_opc2 + elseif m == 2 then map = map_opc3["38"] + elseif m == 3 then map = map_opc3["3a"] + else return unknown(ctx) end + local p = b%4; b = (b-p)/4 + if p == 1 then ctx.o16 = "o16" + elseif p == 2 then ctx.rep = "rep" + elseif p == 3 then ctx.rep = "repne" end + local l = b%2; b = (b-l)/2 + if l ~= 0 then ctx.vexl = true end + ctx.vexv = (-1-b)%16 + return dispatchmap(ctx, map) + end, + + -- Special case for nop with REX prefix. + nop = function(ctx, name, pat) + return dispatch(ctx, ctx.rex and pat or "nop") + end, + + -- Special case for 0F 77. + emms = function(ctx, name, pat) + if ctx.rex ~= "vex" then + return putop(ctx, "emms") + elseif ctx.vexl then + ctx.vexl = false + return putop(ctx, "zeroall") + else + return putop(ctx, "zeroupper") + end + end, +} + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + ofs = ofs + 1 + ctx.start = ofs + ctx.pos = ofs + ctx.stop = stop + ctx.imm = nil + ctx.mrm = false + clearprefixes(ctx) + while ctx.pos <= stop do dispatchmap(ctx, ctx.map1) end + if ctx.pos ~= ctx.start then incomplete(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = (addr or 0) - 1 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 16 + ctx.x64 = false + ctx.map1 = map_opc1_32 + ctx.aregs = map_regs.D + return ctx +end + +local function create64(code, addr, out) + local ctx = create(code, addr, out) + ctx.x64 = true + ctx.map1 = map_opc1_64 + ctx.aregs = map_regs.Q + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +local function disass64(code, addr, out) + create64(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 8 then return map_regs.D[r+1] end + return map_regs.X[r-7] +end + +local function regname64(r) + if r < 16 then return map_regs.Q[r+1] end + return map_regs.X[r-15] +end + +-- Public module functions. +return { + create = create, + create64 = create64, + disass = disass, + disass64 = disass64, + regname = regname, + regname64 = regname64 +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/dump.lua b/libs/LuaJIT/android/arm64-v8a/jit/dump.lua new file mode 100644 index 00000000..9eda08c4 --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/dump.lua @@ -0,0 +1,726 @@ +---------------------------------------------------------------------------- +-- LuaJIT compiler dump module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module can be used to debug the JIT compiler itself. It dumps the +-- code representations and structures used in various compiler stages. +-- +-- Example usage: +-- +-- luajit -jdump -e "local x=0; for i=1,1e6 do x=x+i end; print(x)" +-- luajit -jdump=im -e "for i=1,1000 do for j=1,1000 do end end" | less -R +-- luajit -jdump=is myapp.lua | less -R +-- luajit -jdump=-b myapp.lua +-- luajit -jdump=+aH,myapp.html myapp.lua +-- luajit -jdump=ixT,myapp.dump myapp.lua +-- +-- The first argument specifies the dump mode. The second argument gives +-- the output file name. Default output is to stdout, unless the environment +-- variable LUAJIT_DUMPFILE is set. The file is overwritten every time the +-- module is started. +-- +-- Different features can be turned on or off with the dump mode. If the +-- mode starts with a '+', the following features are added to the default +-- set of features; a '-' removes them. Otherwise the features are replaced. +-- +-- The following dump features are available (* marks the default): +-- +-- * t Print a line for each started, ended or aborted trace (see also -jv). +-- * b Dump the traced bytecode. +-- * i Dump the IR (intermediate representation). +-- r Augment the IR with register/stack slots. +-- s Dump the snapshot map. +-- * m Dump the generated machine code. +-- x Print each taken trace exit. +-- X Print each taken trace exit and the contents of all registers. +-- a Print the IR of aborted traces, too. +-- +-- The output format can be set with the following characters: +-- +-- T Plain text output. +-- A ANSI-colored text output +-- H Colorized HTML + CSS output. +-- +-- The default output format is plain text. It's set to ANSI-colored text +-- if the COLORTERM variable is set. Note: this is independent of any output +-- redirection, which is actually considered a feature. +-- +-- You probably want to use less -R to enjoy viewing ANSI-colored text from +-- a pipe or a file. Add this to your ~/.bashrc: export LESS="-R" +-- +------------------------------------------------------------------------------ + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local jutil = require("jit.util") +local vmdef = require("jit.vmdef") +local funcinfo, funcbc = jutil.funcinfo, jutil.funcbc +local traceinfo, traceir, tracek = jutil.traceinfo, jutil.traceir, jutil.tracek +local tracemc, tracesnap = jutil.tracemc, jutil.tracesnap +local traceexitstub, ircalladdr = jutil.traceexitstub, jutil.ircalladdr +local bit = require("bit") +local band, shr, tohex = bit.band, bit.rshift, bit.tohex +local sub, gsub, format = string.sub, string.gsub, string.format +local byte, rep = string.byte, string.rep +local type, tostring = type, tostring +local stdout, stderr = io.stdout, io.stderr + +-- Load other modules on-demand. +local bcline, disass + +-- Active flag, output file handle and dump mode. +local active, out, dumpmode + +------------------------------------------------------------------------------ + +local symtabmt = { __index = false } +local symtab = {} +local nexitsym = 0 + +-- Fill nested symbol table with per-trace exit stub addresses. +local function fillsymtab_tr(tr, nexit) + local t = {} + symtabmt.__index = t + if jit.arch:sub(1, 4) == "mips" then + t[traceexitstub(tr, 0)] = "exit" + return + end + for i=0,nexit-1 do + local addr = traceexitstub(tr, i) + if addr < 0 then addr = addr + 2^32 end + t[addr] = tostring(i) + end + local addr = traceexitstub(tr, nexit) + if addr then t[addr] = "stack_check" end +end + +-- Fill symbol table with trace exit stub addresses. +local function fillsymtab(tr, nexit) + local t = symtab + if nexitsym == 0 then + local maskaddr = jit.arch == "arm" and -2 + local ircall = vmdef.ircall + for i=0,#ircall do + local addr = ircalladdr(i) + if addr ~= 0 then + if maskaddr then addr = band(addr, maskaddr) end + if addr < 0 then addr = addr + 2^32 end + t[addr] = ircall[i] + end + end + end + if nexitsym == 1000000 then -- Per-trace exit stubs. + fillsymtab_tr(tr, nexit) + elseif nexit > nexitsym then -- Shared exit stubs. + for i=nexitsym,nexit-1 do + local addr = traceexitstub(i) + if addr == nil then -- Fall back to per-trace exit stubs. + fillsymtab_tr(tr, nexit) + setmetatable(symtab, symtabmt) + nexit = 1000000 + break + end + if addr < 0 then addr = addr + 2^32 end + t[addr] = tostring(i) + end + nexitsym = nexit + end + return t +end + +local function dumpwrite(s) + out:write(s) +end + +-- Disassemble machine code. +local function dump_mcode(tr) + local info = traceinfo(tr) + if not info then return end + local mcode, addr, loop = tracemc(tr) + if not mcode then return end + if not disass then disass = require("jit.dis_"..jit.arch) end + if addr < 0 then addr = addr + 2^32 end + out:write("---- TRACE ", tr, " mcode ", #mcode, "\n") + local ctx = disass.create(mcode, addr, dumpwrite) + ctx.hexdump = 0 + ctx.symtab = fillsymtab(tr, info.nexit) + if loop ~= 0 then + symtab[addr+loop] = "LOOP" + ctx:disass(0, loop) + out:write("->LOOP:\n") + ctx:disass(loop, #mcode-loop) + symtab[addr+loop] = nil + else + ctx:disass(0, #mcode) + end +end + +------------------------------------------------------------------------------ + +local irtype_text = { + [0] = "nil", + "fal", + "tru", + "lud", + "str", + "p32", + "thr", + "pro", + "fun", + "p64", + "cdt", + "tab", + "udt", + "flt", + "num", + "i8 ", + "u8 ", + "i16", + "u16", + "int", + "u32", + "i64", + "u64", + "sfp", +} + +local colortype_ansi = { + [0] = "%s", + "%s", + "%s", + "\027[36m%s\027[m", + "\027[32m%s\027[m", + "%s", + "\027[1m%s\027[m", + "%s", + "\027[1m%s\027[m", + "%s", + "\027[33m%s\027[m", + "\027[31m%s\027[m", + "\027[36m%s\027[m", + "\027[34m%s\027[m", + "\027[34m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", +} + +local function colorize_text(s) + return s +end + +local function colorize_ansi(s, t, extra) + local out = format(colortype_ansi[t], s) + if extra then out = "\027[3m"..out end + return out +end + +local irtype_ansi = setmetatable({}, + { __index = function(tab, t) + local s = colorize_ansi(irtype_text[t], t); tab[t] = s; return s; end }) + +local html_escape = { ["<"] = "<", [">"] = ">", ["&"] = "&", } + +local function colorize_html(s, t, extra) + s = gsub(s, "[<>&]", html_escape) + return format('%s', + irtype_text[t], extra and " irt_extra" or "", s) +end + +local irtype_html = setmetatable({}, + { __index = function(tab, t) + local s = colorize_html(irtype_text[t], t); tab[t] = s; return s; end }) + +local header_html = [[ + +]] + +local colorize, irtype + +-- Lookup tables to convert some literals into names. +local litname = { + ["SLOAD "] = setmetatable({}, { __index = function(t, mode) + local s = "" + if band(mode, 1) ~= 0 then s = s.."P" end + if band(mode, 2) ~= 0 then s = s.."F" end + if band(mode, 4) ~= 0 then s = s.."T" end + if band(mode, 8) ~= 0 then s = s.."C" end + if band(mode, 16) ~= 0 then s = s.."R" end + if band(mode, 32) ~= 0 then s = s.."I" end + if band(mode, 64) ~= 0 then s = s.."K" end + t[mode] = s + return s + end}), + ["XLOAD "] = { [0] = "", "R", "V", "RV", "U", "RU", "VU", "RVU", }, + ["CONV "] = setmetatable({}, { __index = function(t, mode) + local s = irtype[band(mode, 31)] + s = irtype[band(shr(mode, 5), 31)].."."..s + if band(mode, 0x800) ~= 0 then s = s.." sext" end + local c = shr(mode, 12) + if c == 1 then s = s.." none" + elseif c == 2 then s = s.." index" + elseif c == 3 then s = s.." check" end + t[mode] = s + return s + end}), + ["FLOAD "] = vmdef.irfield, + ["FREF "] = vmdef.irfield, + ["FPMATH"] = vmdef.irfpm, + ["TMPREF"] = { [0] = "", "IN", "OUT", "INOUT", "", "", "OUT2", "INOUT2" }, + ["BUFHDR"] = { [0] = "RESET", "APPEND", "WRITE" }, + ["TOSTR "] = { [0] = "INT", "NUM", "CHAR" }, +} + +local function ctlsub(c) + if c == "\n" then return "\\n" + elseif c == "\r" then return "\\r" + elseif c == "\t" then return "\\t" + else return format("\\%03d", byte(c)) + end +end + +local function fmtfunc(func, pc) + local fi = funcinfo(func, pc) + if fi.loc then + return fi.loc + elseif fi.ffid then + return vmdef.ffnames[fi.ffid] + elseif fi.addr then + return format("C:%x", fi.addr) + else + return "(?)" + end +end + +local function formatk(tr, idx, sn) + local k, t, slot = tracek(tr, idx) + local tn = type(k) + local s + if tn == "number" then + if t < 12 then + s = k == 0 and "NULL" or format("[0x%08x]", k) + elseif band(sn or 0, 0x30000) ~= 0 then + s = band(sn, 0x20000) ~= 0 and "contpc" or "ftsz" + elseif k == 2^52+2^51 then + s = "bias" + else + s = format(0 < k and k < 0x1p-1026 and "%+a" or "%+.14g", k) + end + elseif tn == "string" then + s = format(#k > 20 and '"%.20s"~' or '"%s"', gsub(k, "%c", ctlsub)) + elseif tn == "function" then + s = fmtfunc(k) + elseif tn == "table" then + s = format("{%p}", k) + elseif tn == "userdata" then + if t == 12 then + s = format("userdata:%p", k) + else + s = format("[%p]", k) + if s == "[NULL]" then s = "NULL" end + end + elseif t == 21 then -- int64_t + s = sub(tostring(k), 1, -3) + if sub(s, 1, 1) ~= "-" then s = "+"..s end + elseif sn == 0x1057fff then -- SNAP(1, SNAP_FRAME | SNAP_NORESTORE, REF_NIL) + return "----" -- Special case for LJ_FR2 slot 1. + else + s = tostring(k) -- For primitives. + end + s = colorize(format("%-4s", s), t, band(sn or 0, 0x100000) ~= 0) + if slot then + s = format("%s @%d", s, slot) + end + return s +end + +local function printsnap(tr, snap) + local n = 2 + for s=0,snap[1]-1 do + local sn = snap[n] + if shr(sn, 24) == s then + n = n + 1 + local ref = band(sn, 0xffff) - 0x8000 -- REF_BIAS + if ref < 0 then + out:write(formatk(tr, ref, sn)) + elseif band(sn, 0x80000) ~= 0 then -- SNAP_SOFTFPNUM + out:write(colorize(format("%04d/%04d", ref, ref+1), 14)) + else + local m, ot, op1, op2 = traceir(tr, ref) + out:write(colorize(format("%04d", ref), band(ot, 31), band(sn, 0x100000) ~= 0)) + end + out:write(band(sn, 0x10000) == 0 and " " or "|") -- SNAP_FRAME + else + out:write("---- ") + end + end + out:write("]\n") +end + +-- Dump snapshots (not interleaved with IR). +local function dump_snap(tr) + out:write("---- TRACE ", tr, " snapshots\n") + for i=0,1000000000 do + local snap = tracesnap(tr, i) + if not snap then break end + out:write(format("#%-3d %04d [ ", i, snap[0])) + printsnap(tr, snap) + end +end + +-- Return a register name or stack slot for a rid/sp location. +local function ridsp_name(ridsp, ins) + if not disass then disass = require("jit.dis_"..jit.arch) end + local rid, slot = band(ridsp, 0xff), shr(ridsp, 8) + if rid == 253 or rid == 254 then + return (slot == 0 or slot == 255) and " {sink" or format(" {%04d", ins-slot) + end + if ridsp > 255 then return format("[%x]", slot*4) end + if rid < 128 then return disass.regname(rid) end + return "" +end + +-- Dump CALL* function ref and return optional ctype. +local function dumpcallfunc(tr, ins) + local ctype + if ins > 0 then + local m, ot, op1, op2 = traceir(tr, ins) + if band(ot, 31) == 0 then -- nil type means CARG(func, ctype). + ins = op1 + ctype = formatk(tr, op2) + end + end + if ins < 0 then + out:write(format("[0x%x](", tonumber((tracek(tr, ins))))) + else + out:write(format("%04d (", ins)) + end + return ctype +end + +-- Recursively gather CALL* args and dump them. +local function dumpcallargs(tr, ins) + if ins < 0 then + out:write(formatk(tr, ins)) + else + local m, ot, op1, op2 = traceir(tr, ins) + local oidx = 6*shr(ot, 8) + local op = sub(vmdef.irnames, oidx+1, oidx+6) + if op == "CARG " then + dumpcallargs(tr, op1) + if op2 < 0 then + out:write(" ", formatk(tr, op2)) + else + out:write(" ", format("%04d", op2)) + end + else + out:write(format("%04d", ins)) + end + end +end + +-- Dump IR and interleaved snapshots. +local function dump_ir(tr, dumpsnap, dumpreg) + local info = traceinfo(tr) + if not info then return end + local nins = info.nins + out:write("---- TRACE ", tr, " IR\n") + local irnames = vmdef.irnames + local snapref = 65536 + local snap, snapno + if dumpsnap then + snap = tracesnap(tr, 0) + snapref = snap[0] + snapno = 0 + end + for ins=1,nins do + if ins >= snapref then + if dumpreg then + out:write(format(".... SNAP #%-3d [ ", snapno)) + else + out:write(format(".... SNAP #%-3d [ ", snapno)) + end + printsnap(tr, snap) + snapno = snapno + 1 + snap = tracesnap(tr, snapno) + snapref = snap and snap[0] or 65536 + end + local m, ot, op1, op2, ridsp = traceir(tr, ins) + local oidx, t = 6*shr(ot, 8), band(ot, 31) + local op = sub(irnames, oidx+1, oidx+6) + if op == "LOOP " then + if dumpreg then + out:write(format("%04d ------------ LOOP ------------\n", ins)) + else + out:write(format("%04d ------ LOOP ------------\n", ins)) + end + elseif op ~= "NOP " and op ~= "CARG " and + (dumpreg or op ~= "RENAME") then + local rid = band(ridsp, 255) + if dumpreg then + out:write(format("%04d %-6s", ins, ridsp_name(ridsp, ins))) + else + out:write(format("%04d ", ins)) + end + out:write(format("%s%s %s %s ", + (rid == 254 or rid == 253) and "}" or + (band(ot, 128) == 0 and " " or ">"), + band(ot, 64) == 0 and " " or "+", + irtype[t], op)) + local m1, m2 = band(m, 3), band(m, 3*4) + if sub(op, 1, 4) == "CALL" then + local ctype + if m2 == 1*4 then -- op2 == IRMlit + out:write(format("%-10s (", vmdef.ircall[op2])) + else + ctype = dumpcallfunc(tr, op2) + end + if op1 ~= -1 then dumpcallargs(tr, op1) end + out:write(")") + if ctype then out:write(" ctype ", ctype) end + elseif op == "CNEW " and op2 == -1 then + out:write(formatk(tr, op1)) + elseif m1 ~= 3 then -- op1 != IRMnone + if op1 < 0 then + out:write(formatk(tr, op1)) + else + out:write(format(m1 == 0 and "%04d" or "#%-3d", op1)) + end + if m2 ~= 3*4 then -- op2 != IRMnone + if m2 == 1*4 then -- op2 == IRMlit + local litn = litname[op] + if litn and litn[op2] then + out:write(" ", litn[op2]) + elseif op == "UREFO " or op == "UREFC " then + out:write(format(" #%-3d", shr(op2, 8))) + else + out:write(format(" #%-3d", op2)) + end + elseif op2 < 0 then + out:write(" ", formatk(tr, op2)) + else + out:write(format(" %04d", op2)) + end + end + end + out:write("\n") + end + end + if snap then + if dumpreg then + out:write(format(".... SNAP #%-3d [ ", snapno)) + else + out:write(format(".... SNAP #%-3d [ ", snapno)) + end + printsnap(tr, snap) + end +end + +------------------------------------------------------------------------------ + +local recprefix = "" +local recdepth = 0 + +-- Format trace error message. +local function fmterr(err, info) + if type(err) == "number" then + if type(info) == "function" then info = fmtfunc(info) end + err = format(vmdef.traceerr[err], info) + end + return err +end + +-- Dump trace states. +local function dump_trace(what, tr, func, pc, otr, oex) + if what == "stop" or (what == "abort" and dumpmode.a) then + if dumpmode.i then dump_ir(tr, dumpmode.s, dumpmode.r and what == "stop") + elseif dumpmode.s then dump_snap(tr) end + if dumpmode.m then dump_mcode(tr) end + end + if what == "start" then + if dumpmode.H then out:write('
\n') end
+    out:write("---- TRACE ", tr, " ", what)
+    if otr then out:write(" ", otr, "/", oex == -1 and "stitch" or oex) end
+    out:write(" ", fmtfunc(func, pc), "\n")
+  elseif what == "stop" or what == "abort" then
+    out:write("---- TRACE ", tr, " ", what)
+    if what == "abort" then
+      out:write(" ", fmtfunc(func, pc), " -- ", fmterr(otr, oex), "\n")
+    else
+      local info = traceinfo(tr)
+      local link, ltype = info.link, info.linktype
+      if link == tr or link == 0 then
+	out:write(" -> ", ltype, "\n")
+      elseif ltype == "root" then
+	out:write(" -> ", link, "\n")
+      else
+	out:write(" -> ", link, " ", ltype, "\n")
+      end
+    end
+    if dumpmode.H then out:write("
\n\n") else out:write("\n") end + else + if what == "flush" then symtab, nexitsym = {}, 0 end + out:write("---- TRACE ", what, "\n\n") + end + out:flush() +end + +-- Dump recorded bytecode. +local function dump_record(tr, func, pc, depth) + if depth ~= recdepth then + recdepth = depth + recprefix = rep(" .", depth) + end + local line + if pc >= 0 then + line = bcline(func, pc, recprefix) + if dumpmode.H then line = gsub(line, "[<>&]", html_escape) end + else + line = "0000 "..recprefix.." FUNCC \n" + end + if pc <= 0 then + out:write(sub(line, 1, -2), " ; ", fmtfunc(func), "\n") + else + out:write(line) + end + if pc >= 0 and band(funcbc(func, pc), 0xff) < 16 then -- ORDER BC + out:write(bcline(func, pc+1, recprefix)) -- Write JMP for cond. + end +end + +------------------------------------------------------------------------------ + +local gpr64 = jit.arch:match("64") +local fprmips32 = jit.arch == "mips" or jit.arch == "mipsel" + +-- Dump taken trace exits. +local function dump_texit(tr, ex, ngpr, nfpr, ...) + out:write("---- TRACE ", tr, " exit ", ex, "\n") + if dumpmode.X then + local regs = {...} + if gpr64 then + for i=1,ngpr do + out:write(format(" %016x", regs[i])) + if i % 4 == 0 then out:write("\n") end + end + else + for i=1,ngpr do + out:write(" ", tohex(regs[i])) + if i % 8 == 0 then out:write("\n") end + end + end + if fprmips32 then + for i=1,nfpr,2 do + out:write(format(" %+17.14g", regs[ngpr+i])) + if i % 8 == 7 then out:write("\n") end + end + else + for i=1,nfpr do + out:write(format(" %+17.14g", regs[ngpr+i])) + if i % 4 == 0 then out:write("\n") end + end + end + end +end + +------------------------------------------------------------------------------ + +-- Detach dump handlers. +local function dumpoff() + if active then + active = false + jit.attach(dump_texit) + jit.attach(dump_record) + jit.attach(dump_trace) + if out and out ~= stdout and out ~= stderr then out:close() end + out = nil + end +end + +-- Open the output file and attach dump handlers. +local function dumpon(opt, outfile) + if active then dumpoff() end + + local term = os.getenv("TERM") + local colormode = (term and term:match("color") or os.getenv("COLORTERM")) and "A" or "T" + if opt then + opt = gsub(opt, "[TAH]", function(mode) colormode = mode; return ""; end) + end + + local m = { t=true, b=true, i=true, m=true, } + if opt and opt ~= "" then + local o = sub(opt, 1, 1) + if o ~= "+" and o ~= "-" then m = {} end + for i=1,#opt do m[sub(opt, i, i)] = (o ~= "-") end + end + dumpmode = m + + if m.t or m.b or m.i or m.s or m.m then + jit.attach(dump_trace, "trace") + end + if m.b then + jit.attach(dump_record, "record") + if not bcline then bcline = require("jit.bc").line end + end + if m.x or m.X then + jit.attach(dump_texit, "texit") + end + + if not outfile then outfile = os.getenv("LUAJIT_DUMPFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stdout + end + + m[colormode] = true + if colormode == "A" then + colorize = colorize_ansi + irtype = irtype_ansi + elseif colormode == "H" then + colorize = colorize_html + irtype = irtype_html + out:write(header_html) + else + colorize = colorize_text + irtype = irtype_text + end + + active = true +end + +-- Public module functions. +return { + on = dumpon, + off = dumpoff, + start = dumpon -- For -j command line option. +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/p.lua b/libs/LuaJIT/android/arm64-v8a/jit/p.lua new file mode 100644 index 00000000..c9ec1d8b --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/p.lua @@ -0,0 +1,312 @@ +---------------------------------------------------------------------------- +-- LuaJIT profiler. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module is a simple command line interface to the built-in +-- low-overhead profiler of LuaJIT. +-- +-- The lower-level API of the profiler is accessible via the "jit.profile" +-- module or the luaJIT_profile_* C API. +-- +-- Example usage: +-- +-- luajit -jp myapp.lua +-- luajit -jp=s myapp.lua +-- luajit -jp=-s myapp.lua +-- luajit -jp=vl myapp.lua +-- luajit -jp=G,profile.txt myapp.lua +-- +-- The following dump features are available: +-- +-- f Stack dump: function name, otherwise module:line. Default mode. +-- F Stack dump: ditto, but always prepend module. +-- l Stack dump: module:line. +-- stack dump depth (callee < caller). Default: 1. +-- - Inverse stack dump depth (caller > callee). +-- s Split stack dump after first stack level. Implies abs(depth) >= 2. +-- p Show full path for module names. +-- v Show VM states. Can be combined with stack dumps, e.g. vf or fv. +-- z Show zones. Can be combined with stack dumps, e.g. zf or fz. +-- r Show raw sample counts. Default: show percentages. +-- a Annotate excerpts from source code files. +-- A Annotate complete source code files. +-- G Produce raw output suitable for graphical tools (e.g. flame graphs). +-- m Minimum sample percentage to be shown. Default: 3. +-- i Sampling interval in milliseconds. Default: 10. +-- +---------------------------------------------------------------------------- + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local profile = require("jit.profile") +local vmdef = require("jit.vmdef") +local math = math +local pairs, ipairs, tonumber, floor = pairs, ipairs, tonumber, math.floor +local sort, format = table.sort, string.format +local stdout = io.stdout +local zone -- Load jit.zone module on demand. + +-- Output file handle. +local out + +------------------------------------------------------------------------------ + +local prof_ud +local prof_states, prof_split, prof_min, prof_raw, prof_fmt, prof_depth +local prof_ann, prof_count1, prof_count2, prof_samples + +local map_vmmode = { + N = "Compiled", + I = "Interpreted", + C = "C code", + G = "Garbage Collector", + J = "JIT Compiler", +} + +-- Profiler callback. +local function prof_cb(th, samples, vmmode) + prof_samples = prof_samples + samples + local key_stack, key_stack2, key_state + -- Collect keys for sample. + if prof_states then + if prof_states == "v" then + key_state = map_vmmode[vmmode] or vmmode + else + key_state = zone:get() or "(none)" + end + end + if prof_fmt then + key_stack = profile.dumpstack(th, prof_fmt, prof_depth) + key_stack = key_stack:gsub("%[builtin#(%d+)%]", function(x) + return vmdef.ffnames[tonumber(x)] + end) + if prof_split == 2 then + local k1, k2 = key_stack:match("(.-) [<>] (.*)") + if k2 then key_stack, key_stack2 = k1, k2 end + elseif prof_split == 3 then + key_stack2 = profile.dumpstack(th, "l", 1) + end + end + -- Order keys. + local k1, k2 + if prof_split == 1 then + if key_state then + k1 = key_state + if key_stack then k2 = key_stack end + end + elseif key_stack then + k1 = key_stack + if key_stack2 then k2 = key_stack2 elseif key_state then k2 = key_state end + end + -- Coalesce samples in one or two levels. + if k1 then + local t1 = prof_count1 + t1[k1] = (t1[k1] or 0) + samples + if k2 then + local t2 = prof_count2 + local t3 = t2[k1] + if not t3 then t3 = {}; t2[k1] = t3 end + t3[k2] = (t3[k2] or 0) + samples + end + end +end + +------------------------------------------------------------------------------ + +-- Show top N list. +local function prof_top(count1, count2, samples, indent) + local t, n = {}, 0 + for k in pairs(count1) do + n = n + 1 + t[n] = k + end + sort(t, function(a, b) return count1[a] > count1[b] end) + for i=1,n do + local k = t[i] + local v = count1[k] + local pct = floor(v*100/samples + 0.5) + if pct < prof_min then break end + if not prof_raw then + out:write(format("%s%2d%% %s\n", indent, pct, k)) + elseif prof_raw == "r" then + out:write(format("%s%5d %s\n", indent, v, k)) + else + out:write(format("%s %d\n", k, v)) + end + if count2 then + local r = count2[k] + if r then + prof_top(r, nil, v, (prof_split == 3 or prof_split == 1) and " -- " or + (prof_depth < 0 and " -> " or " <- ")) + end + end + end +end + +-- Annotate source code +local function prof_annotate(count1, samples) + local files = {} + local ms = 0 + for k, v in pairs(count1) do + local pct = floor(v*100/samples + 0.5) + ms = math.max(ms, v) + if pct >= prof_min then + local file, line = k:match("^(.*):(%d+)$") + if not file then file = k; line = 0 end + local fl = files[file] + if not fl then fl = {}; files[file] = fl; files[#files+1] = file end + line = tonumber(line) + fl[line] = prof_raw and v or pct + end + end + sort(files) + local fmtv, fmtn = " %3d%% | %s\n", " | %s\n" + if prof_raw then + local n = math.max(5, math.ceil(math.log10(ms))) + fmtv = "%"..n.."d | %s\n" + fmtn = (" "):rep(n).." | %s\n" + end + local ann = prof_ann + for _, file in ipairs(files) do + local f0 = file:byte() + if f0 == 40 or f0 == 91 then + out:write(format("\n====== %s ======\n[Cannot annotate non-file]\n", file)) + break + end + local fp, err = io.open(file) + if not fp then + out:write(format("====== ERROR: %s: %s\n", file, err)) + break + end + out:write(format("\n====== %s ======\n", file)) + local fl = files[file] + local n, show = 1, false + if ann ~= 0 then + for i=1,ann do + if fl[i] then show = true; out:write("@@ 1 @@\n"); break end + end + end + for line in fp:lines() do + if line:byte() == 27 then + out:write("[Cannot annotate bytecode file]\n") + break + end + local v = fl[n] + if ann ~= 0 then + local v2 = fl[n+ann] + if show then + if v2 then show = n+ann elseif v then show = n + elseif show+ann < n then show = false end + elseif v2 then + show = n+ann + out:write(format("@@ %d @@\n", n)) + end + if not show then goto next end + end + if v then + out:write(format(fmtv, v, line)) + else + out:write(format(fmtn, line)) + end + ::next:: + n = n + 1 + end + fp:close() + end +end + +------------------------------------------------------------------------------ + +-- Finish profiling and dump result. +local function prof_finish() + if prof_ud then + profile.stop() + local samples = prof_samples + if samples == 0 then + if prof_raw ~= true then out:write("[No samples collected]\n") end + return + end + if prof_ann then + prof_annotate(prof_count1, samples) + else + prof_top(prof_count1, prof_count2, samples, "") + end + prof_count1 = nil + prof_count2 = nil + prof_ud = nil + if out ~= stdout then out:close() end + end +end + +-- Start profiling. +local function prof_start(mode) + local interval = "" + mode = mode:gsub("i%d*", function(s) interval = s; return "" end) + prof_min = 3 + mode = mode:gsub("m(%d+)", function(s) prof_min = tonumber(s); return "" end) + prof_depth = 1 + mode = mode:gsub("%-?%d+", function(s) prof_depth = tonumber(s); return "" end) + local m = {} + for c in mode:gmatch(".") do m[c] = c end + prof_states = m.z or m.v + if prof_states == "z" then zone = require("jit.zone") end + local scope = m.l or m.f or m.F or (prof_states and "" or "f") + local flags = (m.p or "") + prof_raw = m.r + if m.s then + prof_split = 2 + if prof_depth == -1 or m["-"] then prof_depth = -2 + elseif prof_depth == 1 then prof_depth = 2 end + elseif mode:find("[fF].*l") then + scope = "l" + prof_split = 3 + else + prof_split = (scope == "" or mode:find("[zv].*[lfF]")) and 1 or 0 + end + prof_ann = m.A and 0 or (m.a and 3) + if prof_ann then + scope = "l" + prof_fmt = "pl" + prof_split = 0 + prof_depth = 1 + elseif m.G and scope ~= "" then + prof_fmt = flags..scope.."Z;" + prof_depth = -100 + prof_raw = true + prof_min = 0 + elseif scope == "" then + prof_fmt = false + else + local sc = prof_split == 3 and m.f or m.F or scope + prof_fmt = flags..sc..(prof_depth >= 0 and "Z < " or "Z > ") + end + prof_count1 = {} + prof_count2 = {} + prof_samples = 0 + profile.start(scope:lower()..interval, prof_cb) + prof_ud = newproxy(true) + getmetatable(prof_ud).__gc = prof_finish +end + +------------------------------------------------------------------------------ + +local function start(mode, outfile) + if not outfile then outfile = os.getenv("LUAJIT_PROFILEFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stdout + end + prof_start(mode or "f") +end + +-- Public module functions. +return { + start = start, -- For -j command line option. + stop = prof_finish +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/v.lua b/libs/LuaJIT/android/arm64-v8a/jit/v.lua new file mode 100644 index 00000000..83589143 --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/v.lua @@ -0,0 +1,170 @@ +---------------------------------------------------------------------------- +-- Verbose mode of the LuaJIT compiler. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module shows verbose information about the progress of the +-- JIT compiler. It prints one line for each generated trace. This module +-- is useful to see which code has been compiled or where the compiler +-- punts and falls back to the interpreter. +-- +-- Example usage: +-- +-- luajit -jv -e "for i=1,1000 do for j=1,1000 do end end" +-- luajit -jv=myapp.out myapp.lua +-- +-- Default output is to stderr. To redirect the output to a file, pass a +-- filename as an argument (use '-' for stdout) or set the environment +-- variable LUAJIT_VERBOSEFILE. The file is overwritten every time the +-- module is started. +-- +-- The output from the first example should look like this: +-- +-- [TRACE 1 (command line):1 loop] +-- [TRACE 2 (1/3) (command line):1 -> 1] +-- +-- The first number in each line is the internal trace number. Next are +-- the file name ('(command line)') and the line number (':1') where the +-- trace has started. Side traces also show the parent trace number and +-- the exit number where they are attached to in parentheses ('(1/3)'). +-- An arrow at the end shows where the trace links to ('-> 1'), unless +-- it loops to itself. +-- +-- In this case the inner loop gets hot and is traced first, generating +-- a root trace. Then the last exit from the 1st trace gets hot, too, +-- and triggers generation of the 2nd trace. The side trace follows the +-- path along the outer loop and *around* the inner loop, back to its +-- start, and then links to the 1st trace. Yes, this may seem unusual, +-- if you know how traditional compilers work. Trace compilers are full +-- of surprises like this -- have fun! :-) +-- +-- Aborted traces are shown like this: +-- +-- [TRACE --- foo.lua:44 -- leaving loop in root trace at foo:lua:50] +-- +-- Don't worry -- trace aborts are quite common, even in programs which +-- can be fully compiled. The compiler may retry several times until it +-- finds a suitable trace. +-- +-- Of course this doesn't work with features that are not-yet-implemented +-- (NYI error messages). The VM simply falls back to the interpreter. This +-- may not matter at all if the particular trace is not very high up in +-- the CPU usage profile. Oh, and the interpreter is quite fast, too. +-- +-- Also check out the -jdump module, which prints all the gory details. +-- +------------------------------------------------------------------------------ + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local jutil = require("jit.util") +local vmdef = require("jit.vmdef") +local funcinfo, traceinfo = jutil.funcinfo, jutil.traceinfo +local type, format = type, string.format +local stdout, stderr = io.stdout, io.stderr + +-- Active flag and output file handle. +local active, out + +------------------------------------------------------------------------------ + +local startloc, startex + +local function fmtfunc(func, pc) + local fi = funcinfo(func, pc) + if fi.loc then + return fi.loc + elseif fi.ffid then + return vmdef.ffnames[fi.ffid] + elseif fi.addr then + return format("C:%x", fi.addr) + else + return "(?)" + end +end + +-- Format trace error message. +local function fmterr(err, info) + if type(err) == "number" then + if type(info) == "function" then info = fmtfunc(info) end + err = format(vmdef.traceerr[err], info) + end + return err +end + +-- Dump trace states. +local function dump_trace(what, tr, func, pc, otr, oex) + if what == "start" then + startloc = fmtfunc(func, pc) + startex = otr and "("..otr.."/"..(oex == -1 and "stitch" or oex)..") " or "" + else + if what == "abort" then + local loc = fmtfunc(func, pc) + if loc ~= startloc then + out:write(format("[TRACE --- %s%s -- %s at %s]\n", + startex, startloc, fmterr(otr, oex), loc)) + else + out:write(format("[TRACE --- %s%s -- %s]\n", + startex, startloc, fmterr(otr, oex))) + end + elseif what == "stop" then + local info = traceinfo(tr) + local link, ltype = info.link, info.linktype + if ltype == "interpreter" then + out:write(format("[TRACE %3s %s%s -- fallback to interpreter]\n", + tr, startex, startloc)) + elseif ltype == "stitch" then + out:write(format("[TRACE %3s %s%s %s %s]\n", + tr, startex, startloc, ltype, fmtfunc(func, pc))) + elseif link == tr or link == 0 then + out:write(format("[TRACE %3s %s%s %s]\n", + tr, startex, startloc, ltype)) + elseif ltype == "root" then + out:write(format("[TRACE %3s %s%s -> %d]\n", + tr, startex, startloc, link)) + else + out:write(format("[TRACE %3s %s%s -> %d %s]\n", + tr, startex, startloc, link, ltype)) + end + else + out:write(format("[TRACE %s]\n", what)) + end + out:flush() + end +end + +------------------------------------------------------------------------------ + +-- Detach dump handlers. +local function dumpoff() + if active then + active = false + jit.attach(dump_trace) + if out and out ~= stdout and out ~= stderr then out:close() end + out = nil + end +end + +-- Open the output file and attach dump handlers. +local function dumpon(outfile) + if active then dumpoff() end + if not outfile then outfile = os.getenv("LUAJIT_VERBOSEFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stderr + end + jit.attach(dump_trace, "trace") + active = true +end + +-- Public module functions. +return { + on = dumpon, + off = dumpoff, + start = dumpon -- For -j command line option. +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/vmdef.lua b/libs/LuaJIT/android/arm64-v8a/jit/vmdef.lua new file mode 100644 index 00000000..68ff7ba2 --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/vmdef.lua @@ -0,0 +1,395 @@ +-- This is a generated file. DO NOT EDIT! + +return { + +bcnames = "ISLT ISGE ISLE ISGT ISEQV ISNEV ISEQS ISNES ISEQN ISNEN ISEQP ISNEP ISTC ISFC IST ISF ISTYPEISNUM MOV NOT UNM LEN ADDVN SUBVN MULVN DIVVN MODVN ADDNV SUBNV MULNV DIVNV MODNV ADDVV SUBVV MULVV DIVVV MODVV POW CAT KSTR KCDATAKSHORTKNUM KPRI KNIL UGET USETV USETS USETN USETP UCLO FNEW TNEW TDUP GGET GSET TGETV TGETS TGETB TGETR TSETV TSETS TSETB TSETM TSETR CALLM CALL CALLMTCALLT ITERC ITERN VARG ISNEXTRETM RET RET0 RET1 FORI JFORI FORL IFORL JFORL ITERL IITERLJITERLLOOP ILOOP JLOOP JMP FUNCF IFUNCFJFUNCFFUNCV IFUNCVJFUNCVFUNCC FUNCCW", + +irnames = "LT GE LE GT ULT UGE ULE UGT EQ NE ABC RETF NOP BASE PVAL GCSTEPHIOP LOOP USE PHI RENAMEPROF KPRI KINT KGC KPTR KKPTR KNULL KNUM KINT64KSLOT BNOT BSWAP BAND BOR BXOR BSHL BSHR BSAR BROL BROR ADD SUB MUL DIV MOD POW NEG ABS LDEXP MIN MAX FPMATHADDOV SUBOV MULOV AREF HREFK HREF NEWREFUREFO UREFC FREF TMPREFSTRREFLREF ALOAD HLOAD ULOAD FLOAD XLOAD SLOAD VLOAD ALEN ASTOREHSTOREUSTOREFSTOREXSTORESNEW XSNEW TNEW TDUP CNEW CNEWI BUFHDRBUFPUTBUFSTRTBAR OBAR XBAR CONV TOBIT TOSTR STRTO CALLN CALLA CALLL CALLS CALLXSCARG ", + +irfpm = { [0]="floor", "ceil", "trunc", "sqrt", "log", "log2", "other", }, + +irfield = { [0]="str.len", "func.env", "func.pc", "func.ffid", "thread.env", "tab.meta", "tab.array", "tab.node", "tab.asize", "tab.hmask", "tab.nomm", "udata.meta", "udata.udtype", "udata.file", "sbuf.w", "sbuf.e", "sbuf.b", "sbuf.l", "sbuf.ref", "sbuf.r", "cdata.ctypeid", "cdata.ptr", "cdata.int", "cdata.int64", "cdata.int64_4", }, + +ircall = { +[0]="lj_str_cmp", +"lj_str_find", +"lj_str_new", +"lj_strscan_num", +"lj_strfmt_int", +"lj_strfmt_num", +"lj_strfmt_char", +"lj_strfmt_putint", +"lj_strfmt_putnum", +"lj_strfmt_putquoted", +"lj_strfmt_putfxint", +"lj_strfmt_putfnum_int", +"lj_strfmt_putfnum_uint", +"lj_strfmt_putfnum", +"lj_strfmt_putfstr", +"lj_strfmt_putfchar", +"lj_buf_putmem", +"lj_buf_putstr", +"lj_buf_putchar", +"lj_buf_putstr_reverse", +"lj_buf_putstr_lower", +"lj_buf_putstr_upper", +"lj_buf_putstr_rep", +"lj_buf_puttab", +"lj_bufx_set", +"lj_bufx_more", +"lj_serialize_put", +"lj_serialize_get", +"lj_serialize_encode", +"lj_serialize_decode", +"lj_buf_tostr", +"lj_tab_new_ah", +"lj_tab_new1", +"lj_tab_dup", +"lj_tab_clear", +"lj_tab_newkey", +"lj_tab_keyindex", +"lj_vm_next", +"lj_tab_len", +"lj_tab_len_hint", +"lj_gc_step_jit", +"lj_gc_barrieruv", +"lj_mem_newgco", +"lj_prng_u64d", +"lj_vm_modi", +"log10", +"exp", +"sin", +"cos", +"tan", +"asin", +"acos", +"atan", +"sinh", +"cosh", +"tanh", +"fputc", +"fwrite", +"fflush", +"lj_vm_floor", +"lj_vm_ceil", +"lj_vm_trunc", +"sqrt", +"log", +"lj_vm_log2", +"lj_vm_powi", +"pow", +"atan2", +"ldexp", +"lj_vm_tobit", +"softfp_add", +"softfp_sub", +"softfp_mul", +"softfp_div", +"softfp_cmp", +"softfp_i2d", +"softfp_d2i", +"lj_vm_sfmin", +"lj_vm_sfmax", +"lj_vm_tointg", +"softfp_ui2d", +"softfp_f2d", +"softfp_d2ui", +"softfp_d2f", +"softfp_i2f", +"softfp_ui2f", +"softfp_f2i", +"softfp_f2ui", +"fp64_l2d", +"fp64_ul2d", +"fp64_l2f", +"fp64_ul2f", +"fp64_d2l", +"fp64_d2ul", +"fp64_f2l", +"fp64_f2ul", +"lj_carith_divi64", +"lj_carith_divu64", +"lj_carith_modi64", +"lj_carith_modu64", +"lj_carith_powi64", +"lj_carith_powu64", +"lj_cdata_newv", +"lj_cdata_setfin", +"strlen", +"memcpy", +"memset", +"lj_vm_errno", +"lj_carith_mul64", +"lj_carith_shl64", +"lj_carith_shr64", +"lj_carith_sar64", +"lj_carith_rol64", +"lj_carith_ror64", +}, + +traceerr = { +[0]="error thrown or hook called during recording", +"trace too short", +"trace too long", +"trace too deep", +"too many snapshots", +"blacklisted", +"retry recording", +"NYI: bytecode %d", +"leaving loop in root trace", +"inner loop in root trace", +"loop unroll limit reached", +"bad argument type", +"JIT compilation disabled for function", +"call unroll limit reached", +"down-recursion, restarting", +"NYI: unsupported variant of FastFunc %s", +"NYI: return to lower frame", +"store with nil or NaN key", +"missing metamethod", +"looping index lookup", +"NYI: mixed sparse/dense table", +"symbol not in cache", +"NYI: unsupported C type conversion", +"NYI: unsupported C function type", +"guard would always fail", +"too many PHIs", +"persistent type instability", +"failed to allocate mcode memory", +"machine code too long", +"hit mcode limit (retrying)", +"too many spill slots", +"inconsistent register allocation", +"NYI: cannot assemble IR instruction %d", +"NYI: PHI shuffling too complex", +"NYI: register coalescing too complex", +}, + +ffnames = { +[0]="Lua", +"C", +"assert", +"type", +"next", +"pairs", +"ipairs_aux", +"ipairs", +"getmetatable", +"setmetatable", +"getfenv", +"setfenv", +"rawget", +"rawset", +"rawequal", +"unpack", +"select", +"tonumber", +"tostring", +"error", +"pcall", +"xpcall", +"loadfile", +"load", +"loadstring", +"dofile", +"gcinfo", +"collectgarbage", +"newproxy", +"print", +"coroutine.status", +"coroutine.running", +"coroutine.isyieldable", +"coroutine.create", +"coroutine.yield", +"coroutine.resume", +"coroutine.wrap_aux", +"coroutine.wrap", +"math.abs", +"math.floor", +"math.ceil", +"math.sqrt", +"math.log10", +"math.exp", +"math.sin", +"math.cos", +"math.tan", +"math.asin", +"math.acos", +"math.atan", +"math.sinh", +"math.cosh", +"math.tanh", +"math.frexp", +"math.modf", +"math.log", +"math.atan2", +"math.pow", +"math.fmod", +"math.ldexp", +"math.min", +"math.max", +"math.random", +"math.randomseed", +"bit.tobit", +"bit.bnot", +"bit.bswap", +"bit.lshift", +"bit.rshift", +"bit.arshift", +"bit.rol", +"bit.ror", +"bit.band", +"bit.bor", +"bit.bxor", +"bit.tohex", +"string.byte", +"string.char", +"string.sub", +"string.rep", +"string.reverse", +"string.lower", +"string.upper", +"string.dump", +"string.find", +"string.match", +"string.gmatch_aux", +"string.gmatch", +"string.gsub", +"string.format", +"table.maxn", +"table.insert", +"table.concat", +"table.sort", +"table.new", +"table.clear", +"io.method.close", +"io.method.read", +"io.method.write", +"io.method.flush", +"io.method.seek", +"io.method.setvbuf", +"io.method.lines", +"io.method.__gc", +"io.method.__tostring", +"io.open", +"io.popen", +"io.tmpfile", +"io.close", +"io.read", +"io.write", +"io.flush", +"io.input", +"io.output", +"io.lines", +"io.type", +"os.execute", +"os.remove", +"os.rename", +"os.tmpname", +"os.getenv", +"os.exit", +"os.clock", +"os.date", +"os.time", +"os.difftime", +"os.setlocale", +"debug.getregistry", +"debug.getmetatable", +"debug.setmetatable", +"debug.getfenv", +"debug.setfenv", +"debug.getinfo", +"debug.getlocal", +"debug.setlocal", +"debug.getupvalue", +"debug.setupvalue", +"debug.upvalueid", +"debug.upvaluejoin", +"debug.sethook", +"debug.gethook", +"debug.debug", +"debug.traceback", +"jit.on", +"jit.off", +"jit.flush", +"jit.status", +"jit.security", +"jit.attach", +"jit.util.funcinfo", +"jit.util.funcbc", +"jit.util.funck", +"jit.util.funcuvname", +"jit.util.traceinfo", +"jit.util.traceir", +"jit.util.tracek", +"jit.util.tracesnap", +"jit.util.tracemc", +"jit.util.traceexitstub", +"jit.util.ircalladdr", +"jit.opt.start", +"jit.profile.start", +"jit.profile.stop", +"jit.profile.dumpstack", +"ffi.meta.__index", +"ffi.meta.__newindex", +"ffi.meta.__eq", +"ffi.meta.__len", +"ffi.meta.__lt", +"ffi.meta.__le", +"ffi.meta.__concat", +"ffi.meta.__call", +"ffi.meta.__add", +"ffi.meta.__sub", +"ffi.meta.__mul", +"ffi.meta.__div", +"ffi.meta.__mod", +"ffi.meta.__pow", +"ffi.meta.__unm", +"ffi.meta.__tostring", +"ffi.meta.__pairs", +"ffi.meta.__ipairs", +"ffi.clib.__index", +"ffi.clib.__newindex", +"ffi.clib.__gc", +"ffi.callback.free", +"ffi.callback.set", +"ffi.cdef", +"ffi.new", +"ffi.cast", +"ffi.typeof", +"ffi.typeinfo", +"ffi.istype", +"ffi.sizeof", +"ffi.alignof", +"ffi.offsetof", +"ffi.errno", +"ffi.string", +"ffi.copy", +"ffi.fill", +"ffi.abi", +"ffi.metatype", +"ffi.gc", +"ffi.load", +"buffer.method.free", +"buffer.method.reset", +"buffer.method.skip", +"buffer.method.set", +"buffer.method.put", +"buffer.method.putf", +"buffer.method.get", +"buffer.method.putcdata", +"buffer.method.reserve", +"buffer.method.commit", +"buffer.method.ref", +"buffer.method.encode", +"buffer.method.decode", +"buffer.method.__gc", +"buffer.method.__tostring", +"buffer.method.__len", +"buffer.new", +"buffer.encode", +"buffer.decode", +}, + +} + diff --git a/libs/LuaJIT/android/arm64-v8a/jit/zone.lua b/libs/LuaJIT/android/arm64-v8a/jit/zone.lua new file mode 100644 index 00000000..94357854 --- /dev/null +++ b/libs/LuaJIT/android/arm64-v8a/jit/zone.lua @@ -0,0 +1,45 @@ +---------------------------------------------------------------------------- +-- LuaJIT profiler zones. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module implements a simple hierarchical zone model. +-- +-- Example usage: +-- +-- local zone = require("jit.zone") +-- zone("AI") +-- ... +-- zone("A*") +-- ... +-- print(zone:get()) --> "A*" +-- ... +-- zone() +-- ... +-- print(zone:get()) --> "AI" +-- ... +-- zone() +-- +---------------------------------------------------------------------------- + +local remove = table.remove + +return setmetatable({ + flush = function(t) + for i=#t,1,-1 do t[i] = nil end + end, + get = function(t) + return t[#t] + end +}, { + __call = function(t, zone) + if zone then + t[#t+1] = zone + else + return (assert(remove(t), "empty zone stack")) + end + end +}) + diff --git a/libs/LuaJIT/android/arm64-v8a/libluajit.a b/libs/LuaJIT/android/arm64-v8a/libluajit.a index 9428fc314f3289a535ecc31f9d570be117e50e7f..8ec8174b7c06aaf3e68e3260905611d1f407bace 100644 GIT binary patch literal 804916 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�vSnKj%5;=E)^NoW5Sa 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%0A5q$IFy(+Tjf6_9=*y6hg4p?tID;|_knAq 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%0D}MaPsr(L|xbi}>!n@wvvAt7ka#pnS>>T_e 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%0AkTUEwq5S#t6^;^Muu*@#^0MyBtB23zRA#heg- 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�*q~SGGD;m2>*{v^?Y^ki6a(y5&+ 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

~@2-D`C%3bEEYpP~c% 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

Lqz>vUUMgC2{! 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ℑr>BQo6Rz^7iBpS_ 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 XhHZ;)_v^m?pI-}d8Gp_s5BdKKWeF|I literal 713104 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

k9!Y0@HINt8uTME*KcLaO-JKrCDAoI1nCt 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
  • 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%0Dr^+%FDe4yV!K2uj)7CjeQx~%`+aa@`A^K*O3!H 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 Pa(g`|&h1%)(^U(eJZ^xtG3prCf0es%hn9`pO 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�&X7c$BgF{9b?5QnKVH9*gRee@(^dpOV4?g@I2 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▙U0I)>*PkHHI@cdFd#|s9e`o29z~>h2 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 Fe*g>pb3*_C diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/bc.lua b/libs/LuaJIT/android/armeabi-v7a/jit/bc.lua new file mode 100644 index 00000000..e58a3fef --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/bc.lua @@ -0,0 +1,190 @@ +---------------------------------------------------------------------------- +-- LuaJIT bytecode listing module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module lists the bytecode of a Lua function. If it's loaded by -jbc +-- it hooks into the parser and lists all functions of a chunk as they +-- are parsed. +-- +-- Example usage: +-- +-- luajit -jbc -e 'local x=0; for i=1,1e6 do x=x+i end; print(x)' +-- luajit -jbc=- foo.lua +-- luajit -jbc=foo.list foo.lua +-- +-- Default output is to stderr. To redirect the output to a file, pass a +-- filename as an argument (use '-' for stdout) or set the environment +-- variable LUAJIT_LISTFILE. The file is overwritten every time the module +-- is started. +-- +-- This module can also be used programmatically: +-- +-- local bc = require("jit.bc") +-- +-- local function foo() print("hello") end +-- +-- bc.dump(foo) --> -- BYTECODE -- [...] +-- print(bc.line(foo, 2)) --> 0002 KSTR 1 1 ; "hello" +-- +-- local out = { +-- -- Do something with each line: +-- write = function(t, ...) io.write(...) end, +-- close = function(t) end, +-- flush = function(t) end, +-- } +-- bc.dump(foo, out) +-- +------------------------------------------------------------------------------ + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local jutil = require("jit.util") +local vmdef = require("jit.vmdef") +local bit = require("bit") +local sub, gsub, format = string.sub, string.gsub, string.format +local byte, band, shr = string.byte, bit.band, bit.rshift +local funcinfo, funcbc, funck = jutil.funcinfo, jutil.funcbc, jutil.funck +local funcuvname = jutil.funcuvname +local bcnames = vmdef.bcnames +local stdout, stderr = io.stdout, io.stderr + +------------------------------------------------------------------------------ + +local function ctlsub(c) + if c == "\n" then return "\\n" + elseif c == "\r" then return "\\r" + elseif c == "\t" then return "\\t" + else return format("\\%03d", byte(c)) + end +end + +-- Return one bytecode line. +local function bcline(func, pc, prefix) + local ins, m = funcbc(func, pc) + if not ins then return end + local ma, mb, mc = band(m, 7), band(m, 15*8), band(m, 15*128) + local a = band(shr(ins, 8), 0xff) + local oidx = 6*band(ins, 0xff) + local op = sub(bcnames, oidx+1, oidx+6) + local s = format("%04d %s %-6s %3s ", + pc, prefix or " ", op, ma == 0 and "" or a) + local d = shr(ins, 16) + if mc == 13*128 then -- BCMjump + return format("%s=> %04d\n", s, pc+d-0x7fff) + end + if mb ~= 0 then + d = band(d, 0xff) + elseif mc == 0 then + return s.."\n" + end + local kc + if mc == 10*128 then -- BCMstr + kc = funck(func, -d-1) + kc = format(#kc > 40 and '"%.40s"~' or '"%s"', gsub(kc, "%c", ctlsub)) + elseif mc == 9*128 then -- BCMnum + kc = funck(func, d) + if op == "TSETM " then kc = kc - 2^52 end + elseif mc == 12*128 then -- BCMfunc + local fi = funcinfo(funck(func, -d-1)) + if fi.ffid then + kc = vmdef.ffnames[fi.ffid] + else + kc = fi.loc + end + elseif mc == 5*128 then -- BCMuv + kc = funcuvname(func, d) + end + if ma == 5 then -- BCMuv + local ka = funcuvname(func, a) + if kc then kc = ka.." ; "..kc else kc = ka end + end + if mb ~= 0 then + local b = shr(ins, 24) + if kc then return format("%s%3d %3d ; %s\n", s, b, d, kc) end + return format("%s%3d %3d\n", s, b, d) + end + if kc then return format("%s%3d ; %s\n", s, d, kc) end + if mc == 7*128 and d > 32767 then d = d - 65536 end -- BCMlits + return format("%s%3d\n", s, d) +end + +-- Collect branch targets of a function. +local function bctargets(func) + local target = {} + for pc=1,1000000000 do + local ins, m = funcbc(func, pc) + if not ins then break end + if band(m, 15*128) == 13*128 then target[pc+shr(ins, 16)-0x7fff] = true end + end + return target +end + +-- Dump bytecode instructions of a function. +local function bcdump(func, out, all) + if not out then out = stdout end + local fi = funcinfo(func) + if all and fi.children then + for n=-1,-1000000000,-1 do + local k = funck(func, n) + if not k then break end + if type(k) == "proto" then bcdump(k, out, true) end + end + end + out:write(format("-- BYTECODE -- %s-%d\n", fi.loc, fi.lastlinedefined)) + local target = bctargets(func) + for pc=1,1000000000 do + local s = bcline(func, pc, target[pc] and "=>") + if not s then break end + out:write(s) + end + out:write("\n") + out:flush() +end + +------------------------------------------------------------------------------ + +-- Active flag and output file handle. +local active, out + +-- List handler. +local function h_list(func) + return bcdump(func, out) +end + +-- Detach list handler. +local function bclistoff() + if active then + active = false + jit.attach(h_list) + if out and out ~= stdout and out ~= stderr then out:close() end + out = nil + end +end + +-- Open the output file and attach list handler. +local function bcliston(outfile) + if active then bclistoff() end + if not outfile then outfile = os.getenv("LUAJIT_LISTFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stderr + end + jit.attach(h_list, "bc") + active = true +end + +-- Public module functions. +return { + line = bcline, + dump = bcdump, + targets = bctargets, + on = bcliston, + off = bclistoff, + start = bcliston -- For -j command line option. +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/bcsave.lua b/libs/LuaJIT/android/armeabi-v7a/jit/bcsave.lua new file mode 100644 index 00000000..bc959327 --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/bcsave.lua @@ -0,0 +1,678 @@ +---------------------------------------------------------------------------- +-- LuaJIT module to save/list bytecode. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module saves or lists the bytecode for an input file. +-- It's run by the -b command line option. +-- +------------------------------------------------------------------------------ + +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local bit = require("bit") + +-- Symbol name prefix for LuaJIT bytecode. +local LJBC_PREFIX = "luaJIT_BC_" + +local type, assert = type, assert +local format = string.format +local tremove, tconcat = table.remove, table.concat + +------------------------------------------------------------------------------ + +local function usage() + io.stderr:write[[ +Save LuaJIT bytecode: luajit -b[options] input output + -l Only list bytecode. + -s Strip debug info (default). + -g Keep debug info. + -n name Set module name (default: auto-detect from input name). + -t type Set output file type (default: auto-detect from output name). + -a arch Override architecture for object files (default: native). + -o os Override OS for object files (default: native). + -e chunk Use chunk string as input. + -- Stop handling options. + - Use stdin as input and/or stdout as output. + +File types: c h obj o raw (default) +]] + os.exit(1) +end + +local function check(ok, ...) + if ok then return ok, ... end + io.stderr:write("luajit: ", ...) + io.stderr:write("\n") + os.exit(1) +end + +local function readfile(input) + if type(input) == "function" then return input end + if input == "-" then input = nil end + return check(loadfile(input)) +end + +local function savefile(name, mode) + if name == "-" then return io.stdout end + return check(io.open(name, mode)) +end + +local function set_stdout_binary(ffi) + ffi.cdef[[int _setmode(int fd, int mode);]] + ffi.C._setmode(1, 0x8000) +end + +------------------------------------------------------------------------------ + +local map_type = { + raw = "raw", c = "c", h = "h", o = "obj", obj = "obj", +} + +local map_arch = { + x86 = { e = "le", b = 32, m = 3, p = 0x14c, }, + x64 = { e = "le", b = 64, m = 62, p = 0x8664, }, + arm = { e = "le", b = 32, m = 40, p = 0x1c0, }, + arm64 = { e = "le", b = 64, m = 183, p = 0xaa64, }, + arm64be = { e = "be", b = 64, m = 183, }, + ppc = { e = "be", b = 32, m = 20, }, + mips = { e = "be", b = 32, m = 8, f = 0x50001006, }, + mipsel = { e = "le", b = 32, m = 8, f = 0x50001006, }, + mips64 = { e = "be", b = 64, m = 8, f = 0x80000007, }, + mips64el = { e = "le", b = 64, m = 8, f = 0x80000007, }, + mips64r6 = { e = "be", b = 64, m = 8, f = 0xa0000407, }, + mips64r6el = { e = "le", b = 64, m = 8, f = 0xa0000407, }, +} + +local map_os = { + linux = true, windows = true, osx = true, freebsd = true, netbsd = true, + openbsd = true, dragonfly = true, solaris = true, +} + +local function checkarg(str, map, err) + str = str:lower() + local s = check(map[str], "unknown ", err) + return type(s) == "string" and s or str +end + +local function detecttype(str) + local ext = str:lower():match("%.(%a+)$") + return map_type[ext] or "raw" +end + +local function checkmodname(str) + check(str:match("^[%w_.%-]+$"), "bad module name") + return str:gsub("[%.%-]", "_") +end + +local function detectmodname(str) + if type(str) == "string" then + local tail = str:match("[^/\\]+$") + if tail then str = tail end + local head = str:match("^(.*)%.[^.]*$") + if head then str = head end + str = str:match("^[%w_.%-]+") + else + str = nil + end + check(str, "cannot derive module name, use -n name") + return str:gsub("[%.%-]", "_") +end + +------------------------------------------------------------------------------ + +local function bcsave_tail(fp, output, s) + local ok, err = fp:write(s) + if ok and output ~= "-" then ok, err = fp:close() end + check(ok, "cannot write ", output, ": ", err) +end + +local function bcsave_raw(output, s) + if output == "-" and jit.os == "Windows" then + local ok, ffi = pcall(require, "ffi") + check(ok, "FFI library required to write binary file to stdout") + set_stdout_binary(ffi) + end + local fp = savefile(output, "wb") + bcsave_tail(fp, output, s) +end + +local function bcsave_c(ctx, output, s) + local fp = savefile(output, "w") + if ctx.type == "c" then + fp:write(format([[ +#ifdef __cplusplus +extern "C" +#endif +#ifdef _WIN32 +__declspec(dllexport) +#endif +const unsigned char %s%s[] = { +]], LJBC_PREFIX, ctx.modname)) + else + fp:write(format([[ +#define %s%s_SIZE %d +static const unsigned char %s%s[] = { +]], LJBC_PREFIX, ctx.modname, #s, LJBC_PREFIX, ctx.modname)) + end + local t, n, m = {}, 0, 0 + for i=1,#s do + local b = tostring(string.byte(s, i)) + m = m + #b + 1 + if m > 78 then + fp:write(tconcat(t, ",", 1, n), ",\n") + n, m = 0, #b + 1 + end + n = n + 1 + t[n] = b + end + bcsave_tail(fp, output, tconcat(t, ",", 1, n).."\n};\n") +end + +local function bcsave_elfobj(ctx, output, s, ffi) + ffi.cdef[[ +typedef struct { + uint8_t emagic[4], eclass, eendian, eversion, eosabi, eabiversion, epad[7]; + uint16_t type, machine; + uint32_t version; + uint32_t entry, phofs, shofs; + uint32_t flags; + uint16_t ehsize, phentsize, phnum, shentsize, shnum, shstridx; +} ELF32header; +typedef struct { + uint8_t emagic[4], eclass, eendian, eversion, eosabi, eabiversion, epad[7]; + uint16_t type, machine; + uint32_t version; + uint64_t entry, phofs, shofs; + uint32_t flags; + uint16_t ehsize, phentsize, phnum, shentsize, shnum, shstridx; +} ELF64header; +typedef struct { + uint32_t name, type, flags, addr, ofs, size, link, info, align, entsize; +} ELF32sectheader; +typedef struct { + uint32_t name, type; + uint64_t flags, addr, ofs, size; + uint32_t link, info; + uint64_t align, entsize; +} ELF64sectheader; +typedef struct { + uint32_t name, value, size; + uint8_t info, other; + uint16_t sectidx; +} ELF32symbol; +typedef struct { + uint32_t name; + uint8_t info, other; + uint16_t sectidx; + uint64_t value, size; +} ELF64symbol; +typedef struct { + ELF32header hdr; + ELF32sectheader sect[6]; + ELF32symbol sym[2]; + uint8_t space[4096]; +} ELF32obj; +typedef struct { + ELF64header hdr; + ELF64sectheader sect[6]; + ELF64symbol sym[2]; + uint8_t space[4096]; +} ELF64obj; +]] + local symname = LJBC_PREFIX..ctx.modname + local ai = assert(map_arch[ctx.arch]) + local is64, isbe = ai.b == 64, ai.e == "be" + + -- Handle different host/target endianess. + local function f32(x) return x end + local f16, fofs = f32, f32 + if ffi.abi("be") ~= isbe then + f32 = bit.bswap + function f16(x) return bit.rshift(bit.bswap(x), 16) end + if is64 then + local two32 = ffi.cast("int64_t", 2^32) + function fofs(x) return bit.bswap(x)*two32 end + else + fofs = f32 + end + end + + -- Create ELF object and fill in header. + local o = ffi.new(is64 and "ELF64obj" or "ELF32obj") + local hdr = o.hdr + if ctx.os == "bsd" or ctx.os == "other" then -- Determine native hdr.eosabi. + local bf = assert(io.open("/bin/ls", "rb")) + local bs = bf:read(9) + bf:close() + ffi.copy(o, bs, 9) + check(hdr.emagic[0] == 127, "no support for writing native object files") + else + hdr.emagic = "\127ELF" + hdr.eosabi = ({ freebsd=9, netbsd=2, openbsd=12, solaris=6 })[ctx.os] or 0 + end + hdr.eclass = is64 and 2 or 1 + hdr.eendian = isbe and 2 or 1 + hdr.eversion = 1 + hdr.type = f16(1) + hdr.machine = f16(ai.m) + hdr.flags = f32(ai.f or 0) + hdr.version = f32(1) + hdr.shofs = fofs(ffi.offsetof(o, "sect")) + hdr.ehsize = f16(ffi.sizeof(hdr)) + hdr.shentsize = f16(ffi.sizeof(o.sect[0])) + hdr.shnum = f16(6) + hdr.shstridx = f16(2) + + -- Fill in sections and symbols. + local sofs, ofs = ffi.offsetof(o, "space"), 1 + for i,name in ipairs{ + ".symtab", ".shstrtab", ".strtab", ".rodata", ".note.GNU-stack", + } do + local sect = o.sect[i] + sect.align = fofs(1) + sect.name = f32(ofs) + ffi.copy(o.space+ofs, name) + ofs = ofs + #name+1 + end + o.sect[1].type = f32(2) -- .symtab + o.sect[1].link = f32(3) + o.sect[1].info = f32(1) + o.sect[1].align = fofs(8) + o.sect[1].ofs = fofs(ffi.offsetof(o, "sym")) + o.sect[1].entsize = fofs(ffi.sizeof(o.sym[0])) + o.sect[1].size = fofs(ffi.sizeof(o.sym)) + o.sym[1].name = f32(1) + o.sym[1].sectidx = f16(4) + o.sym[1].size = fofs(#s) + o.sym[1].info = 17 + o.sect[2].type = f32(3) -- .shstrtab + o.sect[2].ofs = fofs(sofs) + o.sect[2].size = fofs(ofs) + o.sect[3].type = f32(3) -- .strtab + o.sect[3].ofs = fofs(sofs + ofs) + o.sect[3].size = fofs(#symname+2) + ffi.copy(o.space+ofs+1, symname) + ofs = ofs + #symname + 2 + o.sect[4].type = f32(1) -- .rodata + o.sect[4].flags = fofs(2) + o.sect[4].ofs = fofs(sofs + ofs) + o.sect[4].size = fofs(#s) + o.sect[5].type = f32(1) -- .note.GNU-stack + o.sect[5].ofs = fofs(sofs + ofs + #s) + + -- Write ELF object file. + local fp = savefile(output, "wb") + fp:write(ffi.string(o, ffi.sizeof(o)-4096+ofs)) + bcsave_tail(fp, output, s) +end + +local function bcsave_peobj(ctx, output, s, ffi) + ffi.cdef[[ +typedef struct { + uint16_t arch, nsects; + uint32_t time, symtabofs, nsyms; + uint16_t opthdrsz, flags; +} PEheader; +typedef struct { + char name[8]; + uint32_t vsize, vaddr, size, ofs, relocofs, lineofs; + uint16_t nreloc, nline; + uint32_t flags; +} PEsection; +typedef struct __attribute((packed)) { + union { + char name[8]; + uint32_t nameref[2]; + }; + uint32_t value; + int16_t sect; + uint16_t type; + uint8_t scl, naux; +} PEsym; +typedef struct __attribute((packed)) { + uint32_t size; + uint16_t nreloc, nline; + uint32_t cksum; + uint16_t assoc; + uint8_t comdatsel, unused[3]; +} PEsymaux; +typedef struct { + PEheader hdr; + PEsection sect[2]; + // Must be an even number of symbol structs. + PEsym sym0; + PEsymaux sym0aux; + PEsym sym1; + PEsymaux sym1aux; + PEsym sym2; + PEsym sym3; + uint32_t strtabsize; + uint8_t space[4096]; +} PEobj; +]] + local symname = LJBC_PREFIX..ctx.modname + local ai = assert(map_arch[ctx.arch]) + local is64 = ai.b == 64 + local symexport = " /EXPORT:"..symname..",DATA " + + -- The file format is always little-endian. Swap if the host is big-endian. + local function f32(x) return x end + local f16 = f32 + if ffi.abi("be") then + f32 = bit.bswap + function f16(x) return bit.rshift(bit.bswap(x), 16) end + end + + -- Create PE object and fill in header. + local o = ffi.new("PEobj") + local hdr = o.hdr + hdr.arch = f16(assert(ai.p)) + hdr.nsects = f16(2) + hdr.symtabofs = f32(ffi.offsetof(o, "sym0")) + hdr.nsyms = f32(6) + + -- Fill in sections and symbols. + o.sect[0].name = ".drectve" + o.sect[0].size = f32(#symexport) + o.sect[0].flags = f32(0x00100a00) + o.sym0.sect = f16(1) + o.sym0.scl = 3 + o.sym0.name = ".drectve" + o.sym0.naux = 1 + o.sym0aux.size = f32(#symexport) + o.sect[1].name = ".rdata" + o.sect[1].size = f32(#s) + o.sect[1].flags = f32(0x40300040) + o.sym1.sect = f16(2) + o.sym1.scl = 3 + o.sym1.name = ".rdata" + o.sym1.naux = 1 + o.sym1aux.size = f32(#s) + o.sym2.sect = f16(2) + o.sym2.scl = 2 + o.sym2.nameref[1] = f32(4) + o.sym3.sect = f16(-1) + o.sym3.scl = 2 + o.sym3.value = f32(1) + o.sym3.name = "@feat.00" -- Mark as SafeSEH compliant. + ffi.copy(o.space, symname) + local ofs = #symname + 1 + o.strtabsize = f32(ofs + 4) + o.sect[0].ofs = f32(ffi.offsetof(o, "space") + ofs) + ffi.copy(o.space + ofs, symexport) + ofs = ofs + #symexport + o.sect[1].ofs = f32(ffi.offsetof(o, "space") + ofs) + + -- Write PE object file. + local fp = savefile(output, "wb") + fp:write(ffi.string(o, ffi.sizeof(o)-4096+ofs)) + bcsave_tail(fp, output, s) +end + +local function bcsave_machobj(ctx, output, s, ffi) + ffi.cdef[[ +typedef struct +{ + uint32_t magic, cputype, cpusubtype, filetype, ncmds, sizeofcmds, flags; +} mach_header; +typedef struct +{ + mach_header; uint32_t reserved; +} mach_header_64; +typedef struct { + uint32_t cmd, cmdsize; + char segname[16]; + uint32_t vmaddr, vmsize, fileoff, filesize; + uint32_t maxprot, initprot, nsects, flags; +} mach_segment_command; +typedef struct { + uint32_t cmd, cmdsize; + char segname[16]; + uint64_t vmaddr, vmsize, fileoff, filesize; + uint32_t maxprot, initprot, nsects, flags; +} mach_segment_command_64; +typedef struct { + char sectname[16], segname[16]; + uint32_t addr, size; + uint32_t offset, align, reloff, nreloc, flags; + uint32_t reserved1, reserved2; +} mach_section; +typedef struct { + char sectname[16], segname[16]; + uint64_t addr, size; + uint32_t offset, align, reloff, nreloc, flags; + uint32_t reserved1, reserved2, reserved3; +} mach_section_64; +typedef struct { + uint32_t cmd, cmdsize, symoff, nsyms, stroff, strsize; +} mach_symtab_command; +typedef struct { + int32_t strx; + uint8_t type, sect; + int16_t desc; + uint32_t value; +} mach_nlist; +typedef struct { + uint32_t strx; + uint8_t type, sect; + uint16_t desc; + uint64_t value; +} mach_nlist_64; +typedef struct +{ + uint32_t magic, nfat_arch; +} mach_fat_header; +typedef struct +{ + uint32_t cputype, cpusubtype, offset, size, align; +} mach_fat_arch; +typedef struct { + struct { + mach_header hdr; + mach_segment_command seg; + mach_section sec; + mach_symtab_command sym; + } arch[1]; + mach_nlist sym_entry; + uint8_t space[4096]; +} mach_obj; +typedef struct { + struct { + mach_header_64 hdr; + mach_segment_command_64 seg; + mach_section_64 sec; + mach_symtab_command sym; + } arch[1]; + mach_nlist_64 sym_entry; + uint8_t space[4096]; +} mach_obj_64; +typedef struct { + mach_fat_header fat; + mach_fat_arch fat_arch[2]; + struct { + mach_header hdr; + mach_segment_command seg; + mach_section sec; + mach_symtab_command sym; + } arch[2]; + mach_nlist sym_entry; + uint8_t space[4096]; +} mach_fat_obj; +]] + local symname = '_'..LJBC_PREFIX..ctx.modname + local isfat, is64, align, mobj = false, false, 4, "mach_obj" + if ctx.arch == "x64" then + is64, align, mobj = true, 8, "mach_obj_64" + elseif ctx.arch == "arm" then + isfat, mobj = true, "mach_fat_obj" + elseif ctx.arch == "arm64" then + is64, align, isfat, mobj = true, 8, true, "mach_fat_obj" + else + check(ctx.arch == "x86", "unsupported architecture for OSX") + end + local function aligned(v, a) return bit.band(v+a-1, -a) end + local be32 = bit.bswap -- Mach-O FAT is BE, supported archs are LE. + + -- Create Mach-O object and fill in header. + local o = ffi.new(mobj) + local mach_size = aligned(ffi.offsetof(o, "space")+#symname+2, align) + local cputype = ({ x86={7}, x64={0x01000007}, arm={7,12}, arm64={0x01000007,0x0100000c} })[ctx.arch] + local cpusubtype = ({ x86={3}, x64={3}, arm={3,9}, arm64={3,0} })[ctx.arch] + if isfat then + o.fat.magic = be32(0xcafebabe) + o.fat.nfat_arch = be32(#cpusubtype) + end + + -- Fill in sections and symbols. + for i=0,#cpusubtype-1 do + local ofs = 0 + if isfat then + local a = o.fat_arch[i] + a.cputype = be32(cputype[i+1]) + a.cpusubtype = be32(cpusubtype[i+1]) + -- Subsequent slices overlap each other to share data. + ofs = ffi.offsetof(o, "arch") + i*ffi.sizeof(o.arch[0]) + a.offset = be32(ofs) + a.size = be32(mach_size-ofs+#s) + end + local a = o.arch[i] + a.hdr.magic = is64 and 0xfeedfacf or 0xfeedface + a.hdr.cputype = cputype[i+1] + a.hdr.cpusubtype = cpusubtype[i+1] + a.hdr.filetype = 1 + a.hdr.ncmds = 2 + a.hdr.sizeofcmds = ffi.sizeof(a.seg)+ffi.sizeof(a.sec)+ffi.sizeof(a.sym) + a.seg.cmd = is64 and 0x19 or 0x1 + a.seg.cmdsize = ffi.sizeof(a.seg)+ffi.sizeof(a.sec) + a.seg.vmsize = #s + a.seg.fileoff = mach_size-ofs + a.seg.filesize = #s + a.seg.maxprot = 1 + a.seg.initprot = 1 + a.seg.nsects = 1 + ffi.copy(a.sec.sectname, "__data") + ffi.copy(a.sec.segname, "__DATA") + a.sec.size = #s + a.sec.offset = mach_size-ofs + a.sym.cmd = 2 + a.sym.cmdsize = ffi.sizeof(a.sym) + a.sym.symoff = ffi.offsetof(o, "sym_entry")-ofs + a.sym.nsyms = 1 + a.sym.stroff = ffi.offsetof(o, "sym_entry")+ffi.sizeof(o.sym_entry)-ofs + a.sym.strsize = aligned(#symname+2, align) + end + o.sym_entry.type = 0xf + o.sym_entry.sect = 1 + o.sym_entry.strx = 1 + ffi.copy(o.space+1, symname) + + -- Write Macho-O object file. + local fp = savefile(output, "wb") + fp:write(ffi.string(o, mach_size)) + bcsave_tail(fp, output, s) +end + +local function bcsave_obj(ctx, output, s) + local ok, ffi = pcall(require, "ffi") + check(ok, "FFI library required to write this file type") + if output == "-" and jit.os == "Windows" then + set_stdout_binary(ffi) + end + if ctx.os == "windows" then + return bcsave_peobj(ctx, output, s, ffi) + elseif ctx.os == "osx" then + return bcsave_machobj(ctx, output, s, ffi) + else + return bcsave_elfobj(ctx, output, s, ffi) + end +end + +------------------------------------------------------------------------------ + +local function bclist(input, output) + local f = readfile(input) + require("jit.bc").dump(f, savefile(output, "w"), true) +end + +local function bcsave(ctx, input, output) + local f = readfile(input) + local s = string.dump(f, ctx.strip) + local t = ctx.type + if not t then + t = detecttype(output) + ctx.type = t + end + if t == "raw" then + bcsave_raw(output, s) + else + if not ctx.modname then ctx.modname = detectmodname(input) end + if t == "obj" then + bcsave_obj(ctx, output, s) + else + bcsave_c(ctx, output, s) + end + end +end + +local function docmd(...) + local arg = {...} + local n = 1 + local list = false + local ctx = { + strip = true, arch = jit.arch, os = jit.os:lower(), + type = false, modname = false, + } + while n <= #arg do + local a = arg[n] + if type(a) == "string" and a:sub(1, 1) == "-" and a ~= "-" then + tremove(arg, n) + if a == "--" then break end + for m=2,#a do + local opt = a:sub(m, m) + if opt == "l" then + list = true + elseif opt == "s" then + ctx.strip = true + elseif opt == "g" then + ctx.strip = false + else + if arg[n] == nil or m ~= #a then usage() end + if opt == "e" then + if n ~= 1 then usage() end + arg[1] = check(loadstring(arg[1])) + elseif opt == "n" then + ctx.modname = checkmodname(tremove(arg, n)) + elseif opt == "t" then + ctx.type = checkarg(tremove(arg, n), map_type, "file type") + elseif opt == "a" then + ctx.arch = checkarg(tremove(arg, n), map_arch, "architecture") + elseif opt == "o" then + ctx.os = checkarg(tremove(arg, n), map_os, "OS name") + else + usage() + end + end + end + else + n = n + 1 + end + end + if list then + if #arg == 0 or #arg > 2 then usage() end + bclist(arg[1], arg[2] or "-") + else + if #arg ~= 2 then usage() end + bcsave(ctx, arg[1], arg[2]) + end +end + +------------------------------------------------------------------------------ + +-- Public module functions. +return { + start = docmd -- Process -b command line option. +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/dis_arm.lua b/libs/LuaJIT/android/armeabi-v7a/jit/dis_arm.lua new file mode 100644 index 00000000..ba79c47e --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/dis_arm.lua @@ -0,0 +1,689 @@ +---------------------------------------------------------------------------- +-- LuaJIT ARM disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles most user-mode ARMv7 instructions +-- NYI: Advanced SIMD and VFP instructions. +------------------------------------------------------------------------------ + +local type = type +local sub, byte, format = string.sub, string.byte, string.format +local match, gmatch = string.match, string.gmatch +local concat = table.concat +local bit = require("bit") +local band, bor, ror, tohex = bit.band, bit.bor, bit.ror, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift + +------------------------------------------------------------------------------ +-- Opcode maps +------------------------------------------------------------------------------ + +local map_loadc = { + shift = 8, mask = 15, + [10] = { + shift = 20, mask = 1, + [0] = { + shift = 23, mask = 3, + [0] = "vmovFmDN", "vstmFNdr", + _ = { + shift = 21, mask = 1, + [0] = "vstrFdl", + { shift = 16, mask = 15, [13] = "vpushFdr", _ = "vstmdbFNdr", } + }, + }, + { + shift = 23, mask = 3, + [0] = "vmovFDNm", + { shift = 16, mask = 15, [13] = "vpopFdr", _ = "vldmFNdr", }, + _ = { + shift = 21, mask = 1, + [0] = "vldrFdl", "vldmdbFNdr", + }, + }, + }, + [11] = { + shift = 20, mask = 1, + [0] = { + shift = 23, mask = 3, + [0] = "vmovGmDN", "vstmGNdr", + _ = { + shift = 21, mask = 1, + [0] = "vstrGdl", + { shift = 16, mask = 15, [13] = "vpushGdr", _ = "vstmdbGNdr", } + }, + }, + { + shift = 23, mask = 3, + [0] = "vmovGDNm", + { shift = 16, mask = 15, [13] = "vpopGdr", _ = "vldmGNdr", }, + _ = { + shift = 21, mask = 1, + [0] = "vldrGdl", "vldmdbGNdr", + }, + }, + }, + _ = { + shift = 0, mask = 0 -- NYI ldc, mcrr, mrrc. + }, +} + +local map_vfps = { + shift = 6, mask = 0x2c001, + [0] = "vmlaF.dnm", "vmlsF.dnm", + [0x04000] = "vnmlsF.dnm", [0x04001] = "vnmlaF.dnm", + [0x08000] = "vmulF.dnm", [0x08001] = "vnmulF.dnm", + [0x0c000] = "vaddF.dnm", [0x0c001] = "vsubF.dnm", + [0x20000] = "vdivF.dnm", + [0x24000] = "vfnmsF.dnm", [0x24001] = "vfnmaF.dnm", + [0x28000] = "vfmaF.dnm", [0x28001] = "vfmsF.dnm", + [0x2c000] = "vmovF.dY", + [0x2c001] = { + shift = 7, mask = 0x1e01, + [0] = "vmovF.dm", "vabsF.dm", + [0x0200] = "vnegF.dm", [0x0201] = "vsqrtF.dm", + [0x0800] = "vcmpF.dm", [0x0801] = "vcmpeF.dm", + [0x0a00] = "vcmpzF.d", [0x0a01] = "vcmpzeF.d", + [0x0e01] = "vcvtG.dF.m", + [0x1000] = "vcvt.f32.u32Fdm", [0x1001] = "vcvt.f32.s32Fdm", + [0x1800] = "vcvtr.u32F.dm", [0x1801] = "vcvt.u32F.dm", + [0x1a00] = "vcvtr.s32F.dm", [0x1a01] = "vcvt.s32F.dm", + }, +} + +local map_vfpd = { + shift = 6, mask = 0x2c001, + [0] = "vmlaG.dnm", "vmlsG.dnm", + [0x04000] = "vnmlsG.dnm", [0x04001] = "vnmlaG.dnm", + [0x08000] = "vmulG.dnm", [0x08001] = "vnmulG.dnm", + [0x0c000] = "vaddG.dnm", [0x0c001] = "vsubG.dnm", + [0x20000] = "vdivG.dnm", + [0x24000] = "vfnmsG.dnm", [0x24001] = "vfnmaG.dnm", + [0x28000] = "vfmaG.dnm", [0x28001] = "vfmsG.dnm", + [0x2c000] = "vmovG.dY", + [0x2c001] = { + shift = 7, mask = 0x1e01, + [0] = "vmovG.dm", "vabsG.dm", + [0x0200] = "vnegG.dm", [0x0201] = "vsqrtG.dm", + [0x0800] = "vcmpG.dm", [0x0801] = "vcmpeG.dm", + [0x0a00] = "vcmpzG.d", [0x0a01] = "vcmpzeG.d", + [0x0e01] = "vcvtF.dG.m", + [0x1000] = "vcvt.f64.u32GdFm", [0x1001] = "vcvt.f64.s32GdFm", + [0x1800] = "vcvtr.u32FdG.m", [0x1801] = "vcvt.u32FdG.m", + [0x1a00] = "vcvtr.s32FdG.m", [0x1a01] = "vcvt.s32FdG.m", + }, +} + +local map_datac = { + shift = 24, mask = 1, + [0] = { + shift = 4, mask = 1, + [0] = { + shift = 8, mask = 15, + [10] = map_vfps, + [11] = map_vfpd, + -- NYI cdp, mcr, mrc. + }, + { + shift = 8, mask = 15, + [10] = { + shift = 20, mask = 15, + [0] = "vmovFnD", "vmovFDn", + [14] = "vmsrD", + [15] = { shift = 12, mask = 15, [15] = "vmrs", _ = "vmrsD", }, + }, + }, + }, + "svcT", +} + +local map_loadcu = { + shift = 0, mask = 0, -- NYI unconditional CP load/store. +} + +local map_datacu = { + shift = 0, mask = 0, -- NYI unconditional CP data. +} + +local map_simddata = { + shift = 0, mask = 0, -- NYI SIMD data. +} + +local map_simdload = { + shift = 0, mask = 0, -- NYI SIMD load/store, preload. +} + +local map_preload = { + shift = 0, mask = 0, -- NYI preload. +} + +local map_media = { + shift = 20, mask = 31, + [0] = false, + { --01 + shift = 5, mask = 7, + [0] = "sadd16DNM", "sasxDNM", "ssaxDNM", "ssub16DNM", + "sadd8DNM", false, false, "ssub8DNM", + }, + { --02 + shift = 5, mask = 7, + [0] = "qadd16DNM", "qasxDNM", "qsaxDNM", "qsub16DNM", + "qadd8DNM", false, false, "qsub8DNM", + }, + { --03 + shift = 5, mask = 7, + [0] = "shadd16DNM", "shasxDNM", "shsaxDNM", "shsub16DNM", + "shadd8DNM", false, false, "shsub8DNM", + }, + false, + { --05 + shift = 5, mask = 7, + [0] = "uadd16DNM", "uasxDNM", "usaxDNM", "usub16DNM", + "uadd8DNM", false, false, "usub8DNM", + }, + { --06 + shift = 5, mask = 7, + [0] = "uqadd16DNM", "uqasxDNM", "uqsaxDNM", "uqsub16DNM", + "uqadd8DNM", false, false, "uqsub8DNM", + }, + { --07 + shift = 5, mask = 7, + [0] = "uhadd16DNM", "uhasxDNM", "uhsaxDNM", "uhsub16DNM", + "uhadd8DNM", false, false, "uhsub8DNM", + }, + { --08 + shift = 5, mask = 7, + [0] = "pkhbtDNMU", false, "pkhtbDNMU", + { shift = 16, mask = 15, [15] = "sxtb16DMU", _ = "sxtab16DNMU", }, + "pkhbtDNMU", "selDNM", "pkhtbDNMU", + }, + false, + { --0a + shift = 5, mask = 7, + [0] = "ssatDxMu", "ssat16DxM", "ssatDxMu", + { shift = 16, mask = 15, [15] = "sxtbDMU", _ = "sxtabDNMU", }, + "ssatDxMu", false, "ssatDxMu", + }, + { --0b + shift = 5, mask = 7, + [0] = "ssatDxMu", "revDM", "ssatDxMu", + { shift = 16, mask = 15, [15] = "sxthDMU", _ = "sxtahDNMU", }, + "ssatDxMu", "rev16DM", "ssatDxMu", + }, + { --0c + shift = 5, mask = 7, + [3] = { shift = 16, mask = 15, [15] = "uxtb16DMU", _ = "uxtab16DNMU", }, + }, + false, + { --0e + shift = 5, mask = 7, + [0] = "usatDwMu", "usat16DwM", "usatDwMu", + { shift = 16, mask = 15, [15] = "uxtbDMU", _ = "uxtabDNMU", }, + "usatDwMu", false, "usatDwMu", + }, + { --0f + shift = 5, mask = 7, + [0] = "usatDwMu", "rbitDM", "usatDwMu", + { shift = 16, mask = 15, [15] = "uxthDMU", _ = "uxtahDNMU", }, + "usatDwMu", "revshDM", "usatDwMu", + }, + { --10 + shift = 12, mask = 15, + [15] = { + shift = 5, mask = 7, + "smuadNMS", "smuadxNMS", "smusdNMS", "smusdxNMS", + }, + _ = { + shift = 5, mask = 7, + [0] = "smladNMSD", "smladxNMSD", "smlsdNMSD", "smlsdxNMSD", + }, + }, + false, false, false, + { --14 + shift = 5, mask = 7, + [0] = "smlaldDNMS", "smlaldxDNMS", "smlsldDNMS", "smlsldxDNMS", + }, + { --15 + shift = 5, mask = 7, + [0] = { shift = 12, mask = 15, [15] = "smmulNMS", _ = "smmlaNMSD", }, + { shift = 12, mask = 15, [15] = "smmulrNMS", _ = "smmlarNMSD", }, + false, false, false, false, + "smmlsNMSD", "smmlsrNMSD", + }, + false, false, + { --18 + shift = 5, mask = 7, + [0] = { shift = 12, mask = 15, [15] = "usad8NMS", _ = "usada8NMSD", }, + }, + false, + { --1a + shift = 5, mask = 3, [2] = "sbfxDMvw", + }, + { --1b + shift = 5, mask = 3, [2] = "sbfxDMvw", + }, + { --1c + shift = 5, mask = 3, + [0] = { shift = 0, mask = 15, [15] = "bfcDvX", _ = "bfiDMvX", }, + }, + { --1d + shift = 5, mask = 3, + [0] = { shift = 0, mask = 15, [15] = "bfcDvX", _ = "bfiDMvX", }, + }, + { --1e + shift = 5, mask = 3, [2] = "ubfxDMvw", + }, + { --1f + shift = 5, mask = 3, [2] = "ubfxDMvw", + }, +} + +local map_load = { + shift = 21, mask = 9, + { + shift = 20, mask = 5, + [0] = "strtDL", "ldrtDL", [4] = "strbtDL", [5] = "ldrbtDL", + }, + _ = { + shift = 20, mask = 5, + [0] = "strDL", "ldrDL", [4] = "strbDL", [5] = "ldrbDL", + } +} + +local map_load1 = { + shift = 4, mask = 1, + [0] = map_load, map_media, +} + +local map_loadm = { + shift = 20, mask = 1, + [0] = { + shift = 23, mask = 3, + [0] = "stmdaNR", "stmNR", + { shift = 16, mask = 63, [45] = "pushR", _ = "stmdbNR", }, "stmibNR", + }, + { + shift = 23, mask = 3, + [0] = "ldmdaNR", { shift = 16, mask = 63, [61] = "popR", _ = "ldmNR", }, + "ldmdbNR", "ldmibNR", + }, +} + +local map_data = { + shift = 21, mask = 15, + [0] = "andDNPs", "eorDNPs", "subDNPs", "rsbDNPs", + "addDNPs", "adcDNPs", "sbcDNPs", "rscDNPs", + "tstNP", "teqNP", "cmpNP", "cmnNP", + "orrDNPs", "movDPs", "bicDNPs", "mvnDPs", +} + +local map_mul = { + shift = 21, mask = 7, + [0] = "mulNMSs", "mlaNMSDs", "umaalDNMS", "mlsDNMS", + "umullDNMSs", "umlalDNMSs", "smullDNMSs", "smlalDNMSs", +} + +local map_sync = { + shift = 20, mask = 15, -- NYI: brackets around N. R(D+1) for ldrexd/strexd. + [0] = "swpDMN", false, false, false, + "swpbDMN", false, false, false, + "strexDMN", "ldrexDN", "strexdDN", "ldrexdDN", + "strexbDMN", "ldrexbDN", "strexhDN", "ldrexhDN", +} + +local map_mulh = { + shift = 21, mask = 3, + [0] = { shift = 5, mask = 3, + [0] = "smlabbNMSD", "smlatbNMSD", "smlabtNMSD", "smlattNMSD", }, + { shift = 5, mask = 3, + [0] = "smlawbNMSD", "smulwbNMS", "smlawtNMSD", "smulwtNMS", }, + { shift = 5, mask = 3, + [0] = "smlalbbDNMS", "smlaltbDNMS", "smlalbtDNMS", "smlalttDNMS", }, + { shift = 5, mask = 3, + [0] = "smulbbNMS", "smultbNMS", "smulbtNMS", "smulttNMS", }, +} + +local map_misc = { + shift = 4, mask = 7, + -- NYI: decode PSR bits of msr. + [0] = { shift = 21, mask = 1, [0] = "mrsD", "msrM", }, + { shift = 21, mask = 3, "bxM", false, "clzDM", }, + { shift = 21, mask = 3, "bxjM", }, + { shift = 21, mask = 3, "blxM", }, + false, + { shift = 21, mask = 3, [0] = "qaddDMN", "qsubDMN", "qdaddDMN", "qdsubDMN", }, + false, + { shift = 21, mask = 3, "bkptK", }, +} + +local map_datar = { + shift = 4, mask = 9, + [9] = { + shift = 5, mask = 3, + [0] = { shift = 24, mask = 1, [0] = map_mul, map_sync, }, + { shift = 20, mask = 1, [0] = "strhDL", "ldrhDL", }, + { shift = 20, mask = 1, [0] = "ldrdDL", "ldrsbDL", }, + { shift = 20, mask = 1, [0] = "strdDL", "ldrshDL", }, + }, + _ = { + shift = 20, mask = 25, + [16] = { shift = 7, mask = 1, [0] = map_misc, map_mulh, }, + _ = { + shift = 0, mask = 0xffffffff, + [bor(0xe1a00000)] = "nop", + _ = map_data, + } + }, +} + +local map_datai = { + shift = 20, mask = 31, -- NYI: decode PSR bits of msr. Decode imm12. + [16] = "movwDW", [20] = "movtDW", + [18] = { shift = 0, mask = 0xf00ff, [0] = "nopv6", _ = "msrNW", }, + [22] = "msrNW", + _ = map_data, +} + +local map_branch = { + shift = 24, mask = 1, + [0] = "bB", "blB" +} + +local map_condins = { + [0] = map_datar, map_datai, map_load, map_load1, + map_loadm, map_branch, map_loadc, map_datac +} + +-- NYI: setend. +local map_uncondins = { + [0] = false, map_simddata, map_simdload, map_preload, + false, "blxB", map_loadcu, map_datacu, +} + +------------------------------------------------------------------------------ + +local map_gpr = { + [0] = "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "sp", "lr", "pc", +} + +local map_cond = { + [0] = "eq", "ne", "hs", "lo", "mi", "pl", "vs", "vc", + "hi", "ls", "ge", "lt", "gt", "le", "al", +} + +local map_shift = { [0] = "lsl", "lsr", "asr", "ror", } + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then + extra = "\t->"..sym + elseif band(ctx.op, 0x0e000000) ~= 0x0a000000 then + extra = "\t; 0x"..tohex(ctx.rel) + end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-5s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-5s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +-- Format operand 2 of load/store opcodes. +local function fmtload(ctx, op, pos) + local base = map_gpr[band(rshift(op, 16), 15)] + local x, ofs + local ext = (band(op, 0x04000000) == 0) + if not ext and band(op, 0x02000000) == 0 then + ofs = band(op, 4095) + if band(op, 0x00800000) == 0 then ofs = -ofs end + if base == "pc" then ctx.rel = ctx.addr + pos + 8 + ofs end + ofs = "#"..ofs + elseif ext and band(op, 0x00400000) ~= 0 then + ofs = band(op, 15) + band(rshift(op, 4), 0xf0) + if band(op, 0x00800000) == 0 then ofs = -ofs end + if base == "pc" then ctx.rel = ctx.addr + pos + 8 + ofs end + ofs = "#"..ofs + else + ofs = map_gpr[band(op, 15)] + if ext or band(op, 0xfe0) == 0 then + elseif band(op, 0xfe0) == 0x60 then + ofs = format("%s, rrx", ofs) + else + local sh = band(rshift(op, 7), 31) + if sh == 0 then sh = 32 end + ofs = format("%s, %s #%d", ofs, map_shift[band(rshift(op, 5), 3)], sh) + end + if band(op, 0x00800000) == 0 then ofs = "-"..ofs end + end + if ofs == "#0" then + x = format("[%s]", base) + elseif band(op, 0x01000000) == 0 then + x = format("[%s], %s", base, ofs) + else + x = format("[%s, %s]", base, ofs) + end + if band(op, 0x01200000) == 0x01200000 then x = x.."!" end + return x +end + +-- Format operand 2 of vector load/store opcodes. +local function fmtvload(ctx, op, pos) + local base = map_gpr[band(rshift(op, 16), 15)] + local ofs = band(op, 255)*4 + if band(op, 0x00800000) == 0 then ofs = -ofs end + if base == "pc" then ctx.rel = ctx.addr + pos + 8 + ofs end + if ofs == 0 then + return format("[%s]", base) + else + return format("[%s, #%d]", base, ofs) + end +end + +local function fmtvr(op, vr, sh0, sh1) + if vr == "s" then + return format("s%d", 2*band(rshift(op, sh0), 15)+band(rshift(op, sh1), 1)) + else + return format("d%d", band(rshift(op, sh0), 15)+band(rshift(op, sh1-4), 16)) + end +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + local op = bor(lshift(b3, 24), lshift(b2, 16), lshift(b1, 8), b0) + local operands = {} + local suffix = "" + local last, name, pat + local vr + ctx.op = op + ctx.rel = nil + + local cond = rshift(op, 28) + local opat + if cond == 15 then + opat = map_uncondins[band(rshift(op, 25), 7)] + else + if cond ~= 14 then suffix = map_cond[cond] end + opat = map_condins[band(rshift(op, 25), 7)] + end + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + opat = opat[band(rshift(op, opat.shift), opat.mask)] or opat._ + end + name, pat = match(opat, "^([a-z0-9]*)(.*)") + if sub(pat, 1, 1) == "." then + local s2, p2 = match(pat, "^([a-z0-9.]*)(.*)") + suffix = suffix..s2 + pat = p2 + end + + for p in gmatch(pat, ".") do + local x = nil + if p == "D" then + x = map_gpr[band(rshift(op, 12), 15)] + elseif p == "N" then + x = map_gpr[band(rshift(op, 16), 15)] + elseif p == "S" then + x = map_gpr[band(rshift(op, 8), 15)] + elseif p == "M" then + x = map_gpr[band(op, 15)] + elseif p == "d" then + x = fmtvr(op, vr, 12, 22) + elseif p == "n" then + x = fmtvr(op, vr, 16, 7) + elseif p == "m" then + x = fmtvr(op, vr, 0, 5) + elseif p == "P" then + if band(op, 0x02000000) ~= 0 then + x = ror(band(op, 255), 2*band(rshift(op, 8), 15)) + else + x = map_gpr[band(op, 15)] + if band(op, 0xff0) ~= 0 then + operands[#operands+1] = x + local s = map_shift[band(rshift(op, 5), 3)] + local r = nil + if band(op, 0xf90) == 0 then + if s == "ror" then s = "rrx" else r = "#32" end + elseif band(op, 0x10) == 0 then + r = "#"..band(rshift(op, 7), 31) + else + r = map_gpr[band(rshift(op, 8), 15)] + end + if name == "mov" then name = s; x = r + elseif r then x = format("%s %s", s, r) + else x = s end + end + end + elseif p == "L" then + x = fmtload(ctx, op, pos) + elseif p == "l" then + x = fmtvload(ctx, op, pos) + elseif p == "B" then + local addr = ctx.addr + pos + 8 + arshift(lshift(op, 8), 6) + if cond == 15 then addr = addr + band(rshift(op, 23), 2) end + ctx.rel = addr + x = "0x"..tohex(addr) + elseif p == "F" then + vr = "s" + elseif p == "G" then + vr = "d" + elseif p == "." then + suffix = suffix..(vr == "s" and ".f32" or ".f64") + elseif p == "R" then + if band(op, 0x00200000) ~= 0 and #operands == 1 then + operands[1] = operands[1].."!" + end + local t = {} + for i=0,15 do + if band(rshift(op, i), 1) == 1 then t[#t+1] = map_gpr[i] end + end + x = "{"..concat(t, ", ").."}" + elseif p == "r" then + if band(op, 0x00200000) ~= 0 and #operands == 2 then + operands[1] = operands[1].."!" + end + local s = tonumber(sub(last, 2)) + local n = band(op, 255) + if vr == "d" then n = rshift(n, 1) end + operands[#operands] = format("{%s-%s%d}", last, vr, s+n-1) + elseif p == "W" then + x = band(op, 0x0fff) + band(rshift(op, 4), 0xf000) + elseif p == "T" then + x = "#0x"..tohex(band(op, 0x00ffffff), 6) + elseif p == "U" then + x = band(rshift(op, 7), 31) + if x == 0 then x = nil end + elseif p == "u" then + x = band(rshift(op, 7), 31) + if band(op, 0x40) == 0 then + if x == 0 then x = nil else x = "lsl #"..x end + else + if x == 0 then x = "asr #32" else x = "asr #"..x end + end + elseif p == "v" then + x = band(rshift(op, 7), 31) + elseif p == "w" then + x = band(rshift(op, 16), 31) + elseif p == "x" then + x = band(rshift(op, 16), 31) + 1 + elseif p == "X" then + x = band(rshift(op, 16), 31) - last + 1 + elseif p == "Y" then + x = band(rshift(op, 12), 0xf0) + band(op, 0x0f) + elseif p == "K" then + x = "#0x"..tohex(band(rshift(op, 4), 0x0000fff0) + band(op, 15), 4) + elseif p == "s" then + if band(op, 0x00100000) ~= 0 then suffix = "s"..suffix end + else + assert(false) + end + if x then + last = x + if type(x) == "number" then x = "#"..x end + operands[#operands+1] = x + end + end + + return putop(ctx, name..suffix, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + ctx.pos = ofs + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 16 then return map_gpr[r] end + return "d"..(r-16) +end + +-- Public module functions. +return { + create = create, + disass = disass, + regname = regname +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/dis_arm64.lua b/libs/LuaJIT/android/armeabi-v7a/jit/dis_arm64.lua new file mode 100644 index 00000000..ad909fbd --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/dis_arm64.lua @@ -0,0 +1,1216 @@ +---------------------------------------------------------------------------- +-- LuaJIT ARM64 disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +-- +-- Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com. +-- Sponsored by Cisco Systems, Inc. +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles most user-mode AArch64 instructions. +-- NYI: Advanced SIMD and VFP instructions. +------------------------------------------------------------------------------ + +local type = type +local sub, byte, format = string.sub, string.byte, string.format +local match, gmatch, gsub = string.match, string.gmatch, string.gsub +local concat = table.concat +local bit = require("bit") +local band, bor, bxor, tohex = bit.band, bit.bor, bit.bxor, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift +local ror = bit.ror + +------------------------------------------------------------------------------ +-- Opcode maps +------------------------------------------------------------------------------ + +local map_adr = { -- PC-relative addressing. + shift = 31, mask = 1, + [0] = "adrDBx", "adrpDBx" +} + +local map_addsubi = { -- Add/subtract immediate. + shift = 29, mask = 3, + [0] = "add|movDNIg", "adds|cmnD0NIg", "subDNIg", "subs|cmpD0NIg", +} + +local map_logi = { -- Logical immediate. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "andDNig", "orr|movDN0ig", "eorDNig", "ands|tstD0Nig" + }, + false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = "andDNig", "orr|movDN0ig", "eorDNig", "ands|tstD0Nig" + } +} + +local map_movwi = { -- Move wide immediate. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "movnDWRg", false, "movz|movDYRg", "movkDWRg" + }, false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = "movnDWRg", false, "movz|movDYRg", "movkDWRg" + }, +} + +local map_bitf = { -- Bitfield. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "sbfm|sbfiz|sbfx|asr|sxtw|sxth|sxtbDN12w", + "bfm|bfi|bfxilDN13w", + "ubfm|ubfiz|ubfx|lsr|lsl|uxth|uxtbDN12w" + } + }, + { + shift = 22, mask = 1, + { + shift = 29, mask = 3, + [0] = "sbfm|sbfiz|sbfx|asr|sxtw|sxth|sxtbDN12x", + "bfm|bfi|bfxilDN13x", + "ubfm|ubfiz|ubfx|lsr|lsl|uxth|uxtbDN12x" + } + } +} + +local map_datai = { -- Data processing - immediate. + shift = 23, mask = 7, + [0] = map_adr, map_adr, map_addsubi, false, + map_logi, map_movwi, map_bitf, + { + shift = 15, mask = 0x1c0c1, + [0] = "extr|rorDNM4w", [0x10080] = "extr|rorDNM4x", + [0x10081] = "extr|rorDNM4x" + } +} + +local map_logsr = { -- Logical, shifted register. + shift = 31, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = { + shift = 21, mask = 7, + [0] = "andDNMSg", "bicDNMSg", "andDNMSg", "bicDNMSg", + "andDNMSg", "bicDNMSg", "andDNMg", "bicDNMg" + }, + { + shift = 21, mask = 7, + [0] ="orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0MSg", "orn|mvnDN0MSg", + "orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0Mg", "orn|mvnDN0Mg" + }, + { + shift = 21, mask = 7, + [0] = "eorDNMSg", "eonDNMSg", "eorDNMSg", "eonDNMSg", + "eorDNMSg", "eonDNMSg", "eorDNMg", "eonDNMg" + }, + { + shift = 21, mask = 7, + [0] = "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMSg", "bicsDNMSg", + "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMg", "bicsDNMg" + } + }, + false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = { + shift = 21, mask = 7, + [0] = "andDNMSg", "bicDNMSg", "andDNMSg", "bicDNMSg", + "andDNMSg", "bicDNMSg", "andDNMg", "bicDNMg" + }, + { + shift = 21, mask = 7, + [0] = "orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0MSg", "orn|mvnDN0MSg", + "orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0Mg", "orn|mvnDN0Mg" + }, + { + shift = 21, mask = 7, + [0] = "eorDNMSg", "eonDNMSg", "eorDNMSg", "eonDNMSg", + "eorDNMSg", "eonDNMSg", "eorDNMg", "eonDNMg" + }, + { + shift = 21, mask = 7, + [0] = "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMSg", "bicsDNMSg", + "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMg", "bicsDNMg" + } + } +} + +local map_assh = { + shift = 31, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "addDNMSg", "addDNMSg", "addDNMSg", "addDNMg" + }, + { + shift = 22, mask = 3, + [0] = "adds|cmnD0NMSg", "adds|cmnD0NMSg", + "adds|cmnD0NMSg", "adds|cmnD0NMg" + }, + { + shift = 22, mask = 3, + [0] = "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0Mg" + }, + { + shift = 22, mask = 3, + [0] = "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0MzSg", + "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0Mzg" + }, + }, + false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "addDNMSg", "addDNMSg", "addDNMSg", "addDNMg" + }, + { + shift = 22, mask = 3, + [0] = "adds|cmnD0NMSg", "adds|cmnD0NMSg", "adds|cmnD0NMSg", + "adds|cmnD0NMg" + }, + { + shift = 22, mask = 3, + [0] = "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0Mg" + }, + { + shift = 22, mask = 3, + [0] = "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0MzSg", + "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0Mzg" + } + } +} + +local map_addsubsh = { -- Add/subtract, shifted register. + shift = 22, mask = 3, + [0] = map_assh, map_assh, map_assh +} + +local map_addsubex = { -- Add/subtract, extended register. + shift = 22, mask = 3, + [0] = { + shift = 29, mask = 3, + [0] = "addDNMXg", "adds|cmnD0NMXg", "subDNMXg", "subs|cmpD0NMzXg", + } +} + +local map_addsubc = { -- Add/subtract, with carry. + shift = 10, mask = 63, + [0] = { + shift = 29, mask = 3, + [0] = "adcDNMg", "adcsDNMg", "sbc|ngcDN0Mg", "sbcs|ngcsDN0Mg", + } +} + +local map_ccomp = { + shift = 4, mask = 1, + [0] = { + shift = 10, mask = 3, + [0] = { -- Conditional compare register. + shift = 29, mask = 3, + "ccmnNMVCg", false, "ccmpNMVCg", + }, + [2] = { -- Conditional compare immediate. + shift = 29, mask = 3, + "ccmnN5VCg", false, "ccmpN5VCg", + } + } +} + +local map_csel = { -- Conditional select. + shift = 11, mask = 1, + [0] = { + shift = 10, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "cselDNMzCg", false, "csinv|cinv|csetmDNMcg", false, + }, + { + shift = 29, mask = 3, + [0] = "csinc|cinc|csetDNMcg", false, "csneg|cnegDNMcg", false, + } + } +} + +local map_data1s = { -- Data processing, 1 source. + shift = 29, mask = 1, + [0] = { + shift = 31, mask = 1, + [0] = { + shift = 10, mask = 0x7ff, + [0] = "rbitDNg", "rev16DNg", "revDNw", false, "clzDNg", "clsDNg" + }, + { + shift = 10, mask = 0x7ff, + [0] = "rbitDNg", "rev16DNg", "rev32DNx", "revDNx", "clzDNg", "clsDNg" + } + } +} + +local map_data2s = { -- Data processing, 2 sources. + shift = 29, mask = 1, + [0] = { + shift = 10, mask = 63, + false, "udivDNMg", "sdivDNMg", false, false, false, false, "lslDNMg", + "lsrDNMg", "asrDNMg", "rorDNMg" + } +} + +local map_data3s = { -- Data processing, 3 sources. + shift = 29, mask = 7, + [0] = { + shift = 21, mask = 7, + [0] = { + shift = 15, mask = 1, + [0] = "madd|mulDNMA0g", "msub|mnegDNMA0g" + } + }, false, false, false, + { + shift = 15, mask = 1, + [0] = { + shift = 21, mask = 7, + [0] = "madd|mulDNMA0g", "smaddl|smullDxNMwA0x", "smulhDNMx", false, + false, "umaddl|umullDxNMwA0x", "umulhDNMx" + }, + { + shift = 21, mask = 7, + [0] = "msub|mnegDNMA0g", "smsubl|smneglDxNMwA0x", false, false, + false, "umsubl|umneglDxNMwA0x" + } + } +} + +local map_datar = { -- Data processing, register. + shift = 28, mask = 1, + [0] = { + shift = 24, mask = 1, + [0] = map_logsr, + { + shift = 21, mask = 1, + [0] = map_addsubsh, map_addsubex + } + }, + { + shift = 21, mask = 15, + [0] = map_addsubc, false, map_ccomp, false, map_csel, false, + { + shift = 30, mask = 1, + [0] = map_data2s, map_data1s + }, + false, map_data3s, map_data3s, map_data3s, map_data3s, map_data3s, + map_data3s, map_data3s, map_data3s + } +} + +local map_lrl = { -- Load register, literal. + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = "ldrDwB", "ldrDxB", "ldrswDxB" + }, + { + shift = 30, mask = 3, + [0] = "ldrDsB", "ldrDdB" + } +} + +local map_lsriind = { -- Load/store register, immediate pre/post-indexed. + shift = 30, mask = 3, + [0] = { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strbDwzL", "ldrbDwzL", "ldrsbDxzL", "ldrsbDwzL" + } + }, + { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strhDwzL", "ldrhDwzL", "ldrshDxzL", "ldrshDwzL" + } + }, + { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strDwzL", "ldrDwzL", "ldrswDxzL" + }, + { + shift = 22, mask = 3, + [0] = "strDszL", "ldrDszL" + } + }, + { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strDxzL", "ldrDxzL" + }, + { + shift = 22, mask = 3, + [0] = "strDdzL", "ldrDdzL" + } + } +} + +local map_lsriro = { + shift = 21, mask = 1, + [0] = { -- Load/store register immediate. + shift = 10, mask = 3, + [0] = { -- Unscaled immediate. + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "sturbDwK", "ldurbDwK" + }, + { + shift = 22, mask = 3, + [0] = "sturhDwK", "ldurhDwK" + }, + { + shift = 22, mask = 3, + [0] = "sturDwK", "ldurDwK" + }, + { + shift = 22, mask = 3, + [0] = "sturDxK", "ldurDxK" + } + } + }, map_lsriind, false, map_lsriind + }, + { -- Load/store register, register offset. + shift = 10, mask = 3, + [2] = { + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "strbDwO", "ldrbDwO", "ldrsbDxO", "ldrsbDwO" + }, + { + shift = 22, mask = 3, + [0] = "strhDwO", "ldrhDwO", "ldrshDxO", "ldrshDwO" + }, + { + shift = 22, mask = 3, + [0] = "strDwO", "ldrDwO", "ldrswDxO" + }, + { + shift = 22, mask = 3, + [0] = "strDxO", "ldrDxO" + } + }, + { + shift = 30, mask = 3, + [2] = { + shift = 22, mask = 3, + [0] = "strDsO", "ldrDsO" + }, + [3] = { + shift = 22, mask = 3, + [0] = "strDdO", "ldrDdO" + } + } + } + } +} + +local map_lsp = { -- Load/store register pair, offset. + shift = 22, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 26, mask = 1, + [0] = "stpDzAzwP", "stpDzAzsP", + }, + { + shift = 26, mask = 1, + "stpDzAzdP" + }, + { + shift = 26, mask = 1, + [0] = "stpDzAzxP" + } + }, + { + shift = 30, mask = 3, + [0] = { + shift = 26, mask = 1, + [0] = "ldpDzAzwP", "ldpDzAzsP", + }, + { + shift = 26, mask = 1, + [0] = "ldpswDAxP", "ldpDzAzdP" + }, + { + shift = 26, mask = 1, + [0] = "ldpDzAzxP" + } + } +} + +local map_ls = { -- Loads and stores. + shift = 24, mask = 0x31, + [0x10] = map_lrl, [0x30] = map_lsriro, + [0x20] = { + shift = 23, mask = 3, + map_lsp, map_lsp, map_lsp + }, + [0x21] = { + shift = 23, mask = 3, + map_lsp, map_lsp, map_lsp + }, + [0x31] = { + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "strbDwzU", "ldrbDwzU" + }, + { + shift = 22, mask = 3, + [0] = "strhDwzU", "ldrhDwzU" + }, + { + shift = 22, mask = 3, + [0] = "strDwzU", "ldrDwzU" + }, + { + shift = 22, mask = 3, + [0] = "strDxzU", "ldrDxzU" + } + }, + { + shift = 30, mask = 3, + [2] = { + shift = 22, mask = 3, + [0] = "strDszU", "ldrDszU" + }, + [3] = { + shift = 22, mask = 3, + [0] = "strDdzU", "ldrDdzU" + } + } + }, +} + +local map_datafp = { -- Data processing, SIMD and FP. + shift = 28, mask = 7, + { -- 001 + shift = 24, mask = 1, + [0] = { + shift = 21, mask = 1, + { + shift = 10, mask = 3, + [0] = { + shift = 12, mask = 1, + [0] = { + shift = 13, mask = 1, + [0] = { + shift = 14, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { -- FP/int conversion. + shift = 31, mask = 1, + [0] = { + shift = 16, mask = 0xff, + [0x20] = "fcvtnsDwNs", [0x21] = "fcvtnuDwNs", + [0x22] = "scvtfDsNw", [0x23] = "ucvtfDsNw", + [0x24] = "fcvtasDwNs", [0x25] = "fcvtauDwNs", + [0x26] = "fmovDwNs", [0x27] = "fmovDsNw", + [0x28] = "fcvtpsDwNs", [0x29] = "fcvtpuDwNs", + [0x30] = "fcvtmsDwNs", [0x31] = "fcvtmuDwNs", + [0x38] = "fcvtzsDwNs", [0x39] = "fcvtzuDwNs", + [0x60] = "fcvtnsDwNd", [0x61] = "fcvtnuDwNd", + [0x62] = "scvtfDdNw", [0x63] = "ucvtfDdNw", + [0x64] = "fcvtasDwNd", [0x65] = "fcvtauDwNd", + [0x68] = "fcvtpsDwNd", [0x69] = "fcvtpuDwNd", + [0x70] = "fcvtmsDwNd", [0x71] = "fcvtmuDwNd", + [0x78] = "fcvtzsDwNd", [0x79] = "fcvtzuDwNd" + }, + { + shift = 16, mask = 0xff, + [0x20] = "fcvtnsDxNs", [0x21] = "fcvtnuDxNs", + [0x22] = "scvtfDsNx", [0x23] = "ucvtfDsNx", + [0x24] = "fcvtasDxNs", [0x25] = "fcvtauDxNs", + [0x28] = "fcvtpsDxNs", [0x29] = "fcvtpuDxNs", + [0x30] = "fcvtmsDxNs", [0x31] = "fcvtmuDxNs", + [0x38] = "fcvtzsDxNs", [0x39] = "fcvtzuDxNs", + [0x60] = "fcvtnsDxNd", [0x61] = "fcvtnuDxNd", + [0x62] = "scvtfDdNx", [0x63] = "ucvtfDdNx", + [0x64] = "fcvtasDxNd", [0x65] = "fcvtauDxNd", + [0x66] = "fmovDxNd", [0x67] = "fmovDdNx", + [0x68] = "fcvtpsDxNd", [0x69] = "fcvtpuDxNd", + [0x70] = "fcvtmsDxNd", [0x71] = "fcvtmuDxNd", + [0x78] = "fcvtzsDxNd", [0x79] = "fcvtzuDxNd" + } + } + }, + { -- FP data-processing, 1 source. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = { + shift = 15, mask = 63, + [0] = "fmovDNf", "fabsDNf", "fnegDNf", + "fsqrtDNf", false, "fcvtDdNs", false, false, + "frintnDNf", "frintpDNf", "frintmDNf", "frintzDNf", + "frintaDNf", false, "frintxDNf", "frintiDNf", + }, + { + shift = 15, mask = 63, + [0] = "fmovDNf", "fabsDNf", "fnegDNf", + "fsqrtDNf", "fcvtDsNd", false, false, false, + "frintnDNf", "frintpDNf", "frintmDNf", "frintzDNf", + "frintaDNf", false, "frintxDNf", "frintiDNf", + } + } + } + }, + { -- FP compare. + shift = 31, mask = 1, + [0] = { + shift = 14, mask = 3, + [0] = { + shift = 23, mask = 1, + [0] = { + shift = 0, mask = 31, + [0] = "fcmpNMf", [8] = "fcmpNZf", + [16] = "fcmpeNMf", [24] = "fcmpeNZf", + } + } + } + } + }, + { -- FP immediate. + shift = 31, mask = 1, + [0] = { + shift = 5, mask = 31, + [0] = { + shift = 23, mask = 1, + [0] = "fmovDFf" + } + } + } + }, + { -- FP conditional compare. + shift = 31, mask = 1, + [0] = { + shift = 23, mask = 1, + [0] = { + shift = 4, mask = 1, + [0] = "fccmpNMVCf", "fccmpeNMVCf" + } + } + }, + { -- FP data-processing, 2 sources. + shift = 31, mask = 1, + [0] = { + shift = 23, mask = 1, + [0] = { + shift = 12, mask = 15, + [0] = "fmulDNMf", "fdivDNMf", "faddDNMf", "fsubDNMf", + "fmaxDNMf", "fminDNMf", "fmaxnmDNMf", "fminnmDNMf", + "fnmulDNMf" + } + } + }, + { -- FP conditional select. + shift = 31, mask = 1, + [0] = { + shift = 23, mask = 1, + [0] = "fcselDNMCf" + } + } + } + }, + { -- FP data-processing, 3 sources. + shift = 31, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { + shift = 21, mask = 5, + [0] = "fmaddDNMAf", "fnmaddDNMAf" + }, + { + shift = 21, mask = 5, + [0] = "fmsubDNMAf", "fnmsubDNMAf" + } + } + } + } +} + +local map_br = { -- Branches, exception generating and system instructions. + shift = 29, mask = 7, + [0] = "bB", + { -- Compare & branch, immediate. + shift = 24, mask = 3, + [0] = "cbzDBg", "cbnzDBg", "tbzDTBw", "tbnzDTBw" + }, + { -- Conditional branch, immediate. + shift = 24, mask = 3, + [0] = { + shift = 4, mask = 1, + [0] = { + shift = 0, mask = 15, + [0] = "beqB", "bneB", "bhsB", "bloB", "bmiB", "bplB", "bvsB", "bvcB", + "bhiB", "blsB", "bgeB", "bltB", "bgtB", "bleB", "balB" + } + } + }, false, "blB", + { -- Compare & branch, immediate. + shift = 24, mask = 3, + [0] = "cbzDBg", "cbnzDBg", "tbzDTBx", "tbnzDTBx" + }, + { + shift = 24, mask = 3, + [0] = { -- Exception generation. + shift = 0, mask = 0xe0001f, + [0x200000] = "brkW" + }, + { -- System instructions. + shift = 0, mask = 0x3fffff, + [0x03201f] = "nop" + }, + { -- Unconditional branch, register. + shift = 0, mask = 0xfffc1f, + [0x1f0000] = "brNx", [0x3f0000] = "blrNx", + [0x5f0000] = "retNx" + }, + } +} + +local map_init = { + shift = 25, mask = 15, + [0] = false, false, false, false, map_ls, map_datar, map_ls, map_datafp, + map_datai, map_datai, map_br, map_br, map_ls, map_datar, map_ls, map_datafp +} + +------------------------------------------------------------------------------ + +local map_regs = { x = {}, w = {}, d = {}, s = {} } + +for i=0,30 do + map_regs.x[i] = "x"..i + map_regs.w[i] = "w"..i + map_regs.d[i] = "d"..i + map_regs.s[i] = "s"..i +end +map_regs.x[31] = "sp" +map_regs.w[31] = "wsp" +map_regs.d[31] = "d31" +map_regs.s[31] = "s31" + +local map_cond = { + [0] = "eq", "ne", "cs", "cc", "mi", "pl", "vs", "vc", + "hi", "ls", "ge", "lt", "gt", "le", "al", +} + +local map_shift = { [0] = "lsl", "lsr", "asr", } + +local map_extend = { + [0] = "uxtb", "uxth", "uxtw", "uxtx", "sxtb", "sxth", "sxtw", "sxtx", +} + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then + extra = "\t->"..sym + end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-5s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-5s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +local function match_reg(p, pat, regnum) + return map_regs[match(pat, p.."%w-([xwds])")][regnum] +end + +local function fmt_hex32(x) + if x < 0 then + return tohex(x) + else + return format("%x", x) + end +end + +local imm13_rep = { 0x55555555, 0x11111111, 0x01010101, 0x00010001, 0x00000001 } + +local function decode_imm13(op) + local imms = band(rshift(op, 10), 63) + local immr = band(rshift(op, 16), 63) + if band(op, 0x00400000) == 0 then + local len = 5 + if imms >= 56 then + if imms >= 60 then len = 1 else len = 2 end + elseif imms >= 48 then len = 3 elseif imms >= 32 then len = 4 end + local l = lshift(1, len)-1 + local s = band(imms, l) + local r = band(immr, l) + local imm = ror(rshift(-1, 31-s), r) + if len ~= 5 then imm = band(imm, lshift(1, l)-1) + rshift(imm, 31-l) end + imm = imm * imm13_rep[len] + local ix = fmt_hex32(imm) + if rshift(op, 31) ~= 0 then + return ix..tohex(imm) + else + return ix + end + else + local lo, hi = -1, 0 + if imms < 32 then lo = rshift(-1, 31-imms) else hi = rshift(-1, 63-imms) end + if immr ~= 0 then + lo, hi = ror(lo, immr), ror(hi, immr) + local x = immr == 32 and 0 or band(bxor(lo, hi), lshift(-1, 32-immr)) + lo, hi = bxor(lo, x), bxor(hi, x) + if immr >= 32 then lo, hi = hi, lo end + end + if hi ~= 0 then + return fmt_hex32(hi)..tohex(lo) + else + return fmt_hex32(lo) + end + end +end + +local function parse_immpc(op, name) + if name == "b" or name == "bl" then + return arshift(lshift(op, 6), 4) + elseif name == "adr" or name == "adrp" then + local immlo = band(rshift(op, 29), 3) + local immhi = lshift(arshift(lshift(op, 8), 13), 2) + return bor(immhi, immlo) + elseif name == "tbz" or name == "tbnz" then + return lshift(arshift(lshift(op, 13), 18), 2) + else + return lshift(arshift(lshift(op, 8), 13), 2) + end +end + +local function parse_fpimm8(op) + local sign = band(op, 0x100000) == 0 and 1 or -1 + local exp = bxor(rshift(arshift(lshift(op, 12), 5), 24), 0x80) - 131 + local frac = 16+band(rshift(op, 13), 15) + return sign * frac * 2^exp +end + +local function prefer_bfx(sf, uns, imms, immr) + if imms < immr or imms == 31 or imms == 63 then + return false + end + if immr == 0 then + if sf == 0 and (imms == 7 or imms == 15) then + return false + end + if sf ~= 0 and uns == 0 and (imms == 7 or imms == 15 or imms == 31) then + return false + end + end + return true +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + local op = bor(lshift(b3, 24), lshift(b2, 16), lshift(b1, 8), b0) + local operands = {} + local suffix = "" + local last, name, pat + local map_reg + ctx.op = op + ctx.rel = nil + last = nil + local opat + opat = map_init[band(rshift(op, 25), 15)] + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + opat = opat[band(rshift(op, opat.shift), opat.mask)] or opat._ + end + name, pat = match(opat, "^([a-z0-9]*)(.*)") + local altname, pat2 = match(pat, "|([a-z0-9_.|]*)(.*)") + if altname then pat = pat2 end + if sub(pat, 1, 1) == "." then + local s2, p2 = match(pat, "^([a-z0-9.]*)(.*)") + suffix = suffix..s2 + pat = p2 + end + + local rt = match(pat, "[gf]") + if rt then + if rt == "g" then + map_reg = band(op, 0x80000000) ~= 0 and map_regs.x or map_regs.w + else + map_reg = band(op, 0x400000) ~= 0 and map_regs.d or map_regs.s + end + end + + local second0, immr + + for p in gmatch(pat, ".") do + local x = nil + if p == "D" then + local regnum = band(op, 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "N" then + local regnum = band(rshift(op, 5), 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "M" then + local regnum = band(rshift(op, 16), 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "A" then + local regnum = band(rshift(op, 10), 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "B" then + local addr = ctx.addr + pos + parse_immpc(op, name) + ctx.rel = addr + x = "0x"..tohex(addr) + elseif p == "T" then + x = bor(band(rshift(op, 26), 32), band(rshift(op, 19), 31)) + elseif p == "V" then + x = band(op, 15) + elseif p == "C" then + x = map_cond[band(rshift(op, 12), 15)] + elseif p == "c" then + local rn = band(rshift(op, 5), 31) + local rm = band(rshift(op, 16), 31) + local cond = band(rshift(op, 12), 15) + local invc = bxor(cond, 1) + x = map_cond[cond] + if altname and cond ~= 14 and cond ~= 15 then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if rn == rm then + local n = #operands + operands[n] = nil + x = map_cond[invc] + if rn ~= 31 then + if a1 then name = a1 else name = altname end + else + operands[n-1] = nil + name = a2 + end + end + end + elseif p == "W" then + x = band(rshift(op, 5), 0xffff) + elseif p == "Y" then + x = band(rshift(op, 5), 0xffff) + local hw = band(rshift(op, 21), 3) + if altname and (hw == 0 or x ~= 0) then + name = altname + end + elseif p == "L" then + local rn = map_regs.x[band(rshift(op, 5), 31)] + local imm9 = arshift(lshift(op, 11), 23) + if band(op, 0x800) ~= 0 then + x = "["..rn..", #"..imm9.."]!" + else + x = "["..rn.."], #"..imm9 + end + elseif p == "U" then + local rn = map_regs.x[band(rshift(op, 5), 31)] + local sz = band(rshift(op, 30), 3) + local imm12 = lshift(arshift(lshift(op, 10), 20), sz) + if imm12 ~= 0 then + x = "["..rn..", #"..imm12.."]" + else + x = "["..rn.."]" + end + elseif p == "K" then + local rn = map_regs.x[band(rshift(op, 5), 31)] + local imm9 = arshift(lshift(op, 11), 23) + if imm9 ~= 0 then + x = "["..rn..", #"..imm9.."]" + else + x = "["..rn.."]" + end + elseif p == "O" then + local rn, rm = map_regs.x[band(rshift(op, 5), 31)] + local m = band(rshift(op, 13), 1) + if m == 0 then + rm = map_regs.w[band(rshift(op, 16), 31)] + else + rm = map_regs.x[band(rshift(op, 16), 31)] + end + x = "["..rn..", "..rm + local opt = band(rshift(op, 13), 7) + local s = band(rshift(op, 12), 1) + local sz = band(rshift(op, 30), 3) + -- extension to be applied + if opt == 3 then + if s == 0 then x = x.."]" + else x = x..", lsl #"..sz.."]" end + elseif opt == 2 or opt == 6 or opt == 7 then + if s == 0 then x = x..", "..map_extend[opt].."]" + else x = x..", "..map_extend[opt].." #"..sz.."]" end + else + x = x.."]" + end + elseif p == "P" then + local opcv, sh = rshift(op, 26), 2 + if opcv >= 0x2a then sh = 4 elseif opcv >= 0x1b then sh = 3 end + local imm7 = lshift(arshift(lshift(op, 10), 25), sh) + local rn = map_regs.x[band(rshift(op, 5), 31)] + local ind = band(rshift(op, 23), 3) + if ind == 1 then + x = "["..rn.."], #"..imm7 + elseif ind == 2 then + if imm7 == 0 then + x = "["..rn.."]" + else + x = "["..rn..", #"..imm7.."]" + end + elseif ind == 3 then + x = "["..rn..", #"..imm7.."]!" + end + elseif p == "I" then + local shf = band(rshift(op, 22), 3) + local imm12 = band(rshift(op, 10), 0x0fff) + local rn, rd = band(rshift(op, 5), 31), band(op, 31) + if altname == "mov" and shf == 0 and imm12 == 0 and (rn == 31 or rd == 31) then + name = altname + x = nil + elseif shf == 0 then + x = imm12 + elseif shf == 1 then + x = imm12..", lsl #12" + end + elseif p == "i" then + x = "#0x"..decode_imm13(op) + elseif p == "1" then + immr = band(rshift(op, 16), 63) + x = immr + elseif p == "2" then + x = band(rshift(op, 10), 63) + if altname then + local a1, a2, a3, a4, a5, a6 = + match(altname, "([^|]*)|([^|]*)|([^|]*)|([^|]*)|([^|]*)|(.*)") + local sf = band(rshift(op, 26), 32) + local uns = band(rshift(op, 30), 1) + if prefer_bfx(sf, uns, x, immr) then + name = a2 + x = x - immr + 1 + elseif immr == 0 and x == 7 then + local n = #operands + operands[n] = nil + if sf ~= 0 then + operands[n-1] = gsub(operands[n-1], "x", "w") + end + last = operands[n-1] + name = a6 + x = nil + elseif immr == 0 and x == 15 then + local n = #operands + operands[n] = nil + if sf ~= 0 then + operands[n-1] = gsub(operands[n-1], "x", "w") + end + last = operands[n-1] + name = a5 + x = nil + elseif x == 31 or x == 63 then + if x == 31 and immr == 0 and name == "sbfm" then + name = a4 + local n = #operands + operands[n] = nil + if sf ~= 0 then + operands[n-1] = gsub(operands[n-1], "x", "w") + end + last = operands[n-1] + else + name = a3 + end + x = nil + elseif band(x, 31) ~= 31 and immr == x+1 and name == "ubfm" then + name = a4 + last = "#"..(sf+32 - immr) + operands[#operands] = last + x = nil + elseif x < immr then + name = a1 + last = "#"..(sf+32 - immr) + operands[#operands] = last + x = x + 1 + end + end + elseif p == "3" then + x = band(rshift(op, 10), 63) + if altname then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if x < immr then + name = a1 + local sf = band(rshift(op, 26), 32) + last = "#"..(sf+32 - immr) + operands[#operands] = last + x = x + 1 + else + name = a2 + x = x - immr + 1 + end + end + elseif p == "4" then + x = band(rshift(op, 10), 63) + local rn = band(rshift(op, 5), 31) + local rm = band(rshift(op, 16), 31) + if altname and rn == rm then + local n = #operands + operands[n] = nil + last = operands[n-1] + name = altname + end + elseif p == "5" then + x = band(rshift(op, 16), 31) + elseif p == "S" then + x = band(rshift(op, 10), 63) + if x == 0 then x = nil + else x = map_shift[band(rshift(op, 22), 3)].." #"..x end + elseif p == "X" then + local opt = band(rshift(op, 13), 7) + -- Width specifier . + if opt ~= 3 and opt ~= 7 then + last = map_regs.w[band(rshift(op, 16), 31)] + operands[#operands] = last + end + x = band(rshift(op, 10), 7) + -- Extension. + if opt == 2 + band(rshift(op, 31), 1) and + band(rshift(op, second0 and 5 or 0), 31) == 31 then + if x == 0 then x = nil + else x = "lsl #"..x end + else + if x == 0 then x = map_extend[band(rshift(op, 13), 7)] + else x = map_extend[band(rshift(op, 13), 7)].." #"..x end + end + elseif p == "R" then + x = band(rshift(op,21), 3) + if x == 0 then x = nil + else x = "lsl #"..x*16 end + elseif p == "z" then + local n = #operands + if operands[n] == "sp" then operands[n] = "xzr" + elseif operands[n] == "wsp" then operands[n] = "wzr" + end + elseif p == "Z" then + x = 0 + elseif p == "F" then + x = parse_fpimm8(op) + elseif p == "g" or p == "f" or p == "x" or p == "w" or + p == "d" or p == "s" then + -- These are handled in D/N/M/A. + elseif p == "0" then + if last == "sp" or last == "wsp" then + local n = #operands + operands[n] = nil + last = operands[n-1] + if altname then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if not a1 then + name = altname + elseif second0 then + name, altname = a2, a1 + else + name, altname = a1, a2 + end + end + end + second0 = true + else + assert(false) + end + if x then + last = x + if type(x) == "number" then x = "#"..x end + operands[#operands+1] = x + end + end + + return putop(ctx, name..suffix, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + ctx.pos = ofs + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 32 then return map_regs.x[r] end + return map_regs.d[r-32] +end + +-- Public module functions. +return { + create = create, + disass = disass, + regname = regname +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/dis_arm64be.lua b/libs/LuaJIT/android/armeabi-v7a/jit/dis_arm64be.lua new file mode 100644 index 00000000..edcbffa8 --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/dis_arm64be.lua @@ -0,0 +1,12 @@ +---------------------------------------------------------------------------- +-- LuaJIT ARM64BE disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- ARM64 instructions are always little-endian. So just forward to the +-- common ARM64 disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +return require((string.match(..., ".*%.") or "").."dis_arm64") + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips.lua b/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips.lua new file mode 100644 index 00000000..6ad17f54 --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips.lua @@ -0,0 +1,694 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT/X license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles all standard MIPS32R1/R2 instructions. +-- Default mode is big-endian, but see: dis_mipsel.lua +------------------------------------------------------------------------------ + +local type = type +local byte, format = string.byte, string.format +local match, gmatch = string.match, string.gmatch +local concat = table.concat +local bit = require("bit") +local band, bor, tohex = bit.band, bit.bor, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift + +------------------------------------------------------------------------------ +-- Extended opcode maps common to all MIPS releases +------------------------------------------------------------------------------ + +local map_srl = { shift = 21, mask = 1, [0] = "srlDTA", "rotrDTA", } +local map_srlv = { shift = 6, mask = 1, [0] = "srlvDTS", "rotrvDTS", } + +local map_cop0 = { + shift = 25, mask = 1, + [0] = { + shift = 21, mask = 15, + [0] = "mfc0TDW", [4] = "mtc0TDW", + [10] = "rdpgprDT", + [11] = { shift = 5, mask = 1, [0] = "diT0", "eiT0", }, + [14] = "wrpgprDT", + }, { + shift = 0, mask = 63, + [1] = "tlbr", [2] = "tlbwi", [6] = "tlbwr", [8] = "tlbp", + [24] = "eret", [31] = "deret", + [32] = "wait", + }, +} + +------------------------------------------------------------------------------ +-- Primary and extended opcode maps for MIPS R1-R5 +------------------------------------------------------------------------------ + +local map_movci = { shift = 16, mask = 1, [0] = "movfDSC", "movtDSC", } + +local map_special = { + shift = 0, mask = 63, + [0] = { shift = 0, mask = -1, [0] = "nop", _ = "sllDTA" }, + map_movci, map_srl, "sraDTA", + "sllvDTS", false, map_srlv, "sravDTS", + "jrS", "jalrD1S", "movzDST", "movnDST", + "syscallY", "breakY", false, "sync", + "mfhiD", "mthiS", "mfloD", "mtloS", + "dsllvDST", false, "dsrlvDST", "dsravDST", + "multST", "multuST", "divST", "divuST", + "dmultST", "dmultuST", "ddivST", "ddivuST", + "addDST", "addu|moveDST0", "subDST", "subu|neguDS0T", + "andDST", "or|moveDST0", "xorDST", "nor|notDST0", + false, false, "sltDST", "sltuDST", + "daddDST", "dadduDST", "dsubDST", "dsubuDST", + "tgeSTZ", "tgeuSTZ", "tltSTZ", "tltuSTZ", + "teqSTZ", false, "tneSTZ", false, + "dsllDTA", false, "dsrlDTA", "dsraDTA", + "dsll32DTA", false, "dsrl32DTA", "dsra32DTA", +} + +local map_special2 = { + shift = 0, mask = 63, + [0] = "maddST", "madduST", "mulDST", false, + "msubST", "msubuST", + [32] = "clzDS", [33] = "cloDS", + [63] = "sdbbpY", +} + +local map_bshfl = { + shift = 6, mask = 31, + [2] = "wsbhDT", + [16] = "sebDT", + [24] = "sehDT", +} + +local map_dbshfl = { + shift = 6, mask = 31, + [2] = "dsbhDT", + [5] = "dshdDT", +} + +local map_special3 = { + shift = 0, mask = 63, + [0] = "extTSAK", [1] = "dextmTSAP", [3] = "dextTSAK", + [4] = "insTSAL", [6] = "dinsuTSEQ", [7] = "dinsTSAL", + [32] = map_bshfl, [36] = map_dbshfl, [59] = "rdhwrTD", +} + +local map_regimm = { + shift = 16, mask = 31, + [0] = "bltzSB", "bgezSB", "bltzlSB", "bgezlSB", + false, false, false, false, + "tgeiSI", "tgeiuSI", "tltiSI", "tltiuSI", + "teqiSI", false, "tneiSI", false, + "bltzalSB", "bgezalSB", "bltzallSB", "bgezallSB", + false, false, false, false, + false, false, false, false, + false, false, false, "synciSO", +} + +local map_cop1s = { + shift = 0, mask = 63, + [0] = "add.sFGH", "sub.sFGH", "mul.sFGH", "div.sFGH", + "sqrt.sFG", "abs.sFG", "mov.sFG", "neg.sFG", + "round.l.sFG", "trunc.l.sFG", "ceil.l.sFG", "floor.l.sFG", + "round.w.sFG", "trunc.w.sFG", "ceil.w.sFG", "floor.w.sFG", + false, + { shift = 16, mask = 1, [0] = "movf.sFGC", "movt.sFGC" }, + "movz.sFGT", "movn.sFGT", + false, "recip.sFG", "rsqrt.sFG", false, + false, false, false, false, + false, false, false, false, + false, "cvt.d.sFG", false, false, + "cvt.w.sFG", "cvt.l.sFG", "cvt.ps.sFGH", false, + false, false, false, false, + false, false, false, false, + "c.f.sVGH", "c.un.sVGH", "c.eq.sVGH", "c.ueq.sVGH", + "c.olt.sVGH", "c.ult.sVGH", "c.ole.sVGH", "c.ule.sVGH", + "c.sf.sVGH", "c.ngle.sVGH", "c.seq.sVGH", "c.ngl.sVGH", + "c.lt.sVGH", "c.nge.sVGH", "c.le.sVGH", "c.ngt.sVGH", +} + +local map_cop1d = { + shift = 0, mask = 63, + [0] = "add.dFGH", "sub.dFGH", "mul.dFGH", "div.dFGH", + "sqrt.dFG", "abs.dFG", "mov.dFG", "neg.dFG", + "round.l.dFG", "trunc.l.dFG", "ceil.l.dFG", "floor.l.dFG", + "round.w.dFG", "trunc.w.dFG", "ceil.w.dFG", "floor.w.dFG", + false, + { shift = 16, mask = 1, [0] = "movf.dFGC", "movt.dFGC" }, + "movz.dFGT", "movn.dFGT", + false, "recip.dFG", "rsqrt.dFG", false, + false, false, false, false, + false, false, false, false, + "cvt.s.dFG", false, false, false, + "cvt.w.dFG", "cvt.l.dFG", false, false, + false, false, false, false, + false, false, false, false, + "c.f.dVGH", "c.un.dVGH", "c.eq.dVGH", "c.ueq.dVGH", + "c.olt.dVGH", "c.ult.dVGH", "c.ole.dVGH", "c.ule.dVGH", + "c.df.dVGH", "c.ngle.dVGH", "c.deq.dVGH", "c.ngl.dVGH", + "c.lt.dVGH", "c.nge.dVGH", "c.le.dVGH", "c.ngt.dVGH", +} + +local map_cop1ps = { + shift = 0, mask = 63, + [0] = "add.psFGH", "sub.psFGH", "mul.psFGH", false, + false, "abs.psFG", "mov.psFG", "neg.psFG", + false, false, false, false, + false, false, false, false, + false, + { shift = 16, mask = 1, [0] = "movf.psFGC", "movt.psFGC" }, + "movz.psFGT", "movn.psFGT", + false, false, false, false, + false, false, false, false, + false, false, false, false, + "cvt.s.puFG", false, false, false, + false, false, false, false, + "cvt.s.plFG", false, false, false, + "pll.psFGH", "plu.psFGH", "pul.psFGH", "puu.psFGH", + "c.f.psVGH", "c.un.psVGH", "c.eq.psVGH", "c.ueq.psVGH", + "c.olt.psVGH", "c.ult.psVGH", "c.ole.psVGH", "c.ule.psVGH", + "c.psf.psVGH", "c.ngle.psVGH", "c.pseq.psVGH", "c.ngl.psVGH", + "c.lt.psVGH", "c.nge.psVGH", "c.le.psVGH", "c.ngt.psVGH", +} + +local map_cop1w = { + shift = 0, mask = 63, + [32] = "cvt.s.wFG", [33] = "cvt.d.wFG", +} + +local map_cop1l = { + shift = 0, mask = 63, + [32] = "cvt.s.lFG", [33] = "cvt.d.lFG", +} + +local map_cop1bc = { + shift = 16, mask = 3, + [0] = "bc1fCB", "bc1tCB", "bc1flCB", "bc1tlCB", +} + +local map_cop1 = { + shift = 21, mask = 31, + [0] = "mfc1TG", "dmfc1TG", "cfc1TG", "mfhc1TG", + "mtc1TG", "dmtc1TG", "ctc1TG", "mthc1TG", + map_cop1bc, false, false, false, + false, false, false, false, + map_cop1s, map_cop1d, false, false, + map_cop1w, map_cop1l, map_cop1ps, +} + +local map_cop1x = { + shift = 0, mask = 63, + [0] = "lwxc1FSX", "ldxc1FSX", false, false, + false, "luxc1FSX", false, false, + "swxc1FSX", "sdxc1FSX", false, false, + false, "suxc1FSX", false, "prefxMSX", + false, false, false, false, + false, false, false, false, + false, false, false, false, + false, false, "alnv.psFGHS", false, + "madd.sFRGH", "madd.dFRGH", false, false, + false, false, "madd.psFRGH", false, + "msub.sFRGH", "msub.dFRGH", false, false, + false, false, "msub.psFRGH", false, + "nmadd.sFRGH", "nmadd.dFRGH", false, false, + false, false, "nmadd.psFRGH", false, + "nmsub.sFRGH", "nmsub.dFRGH", false, false, + false, false, "nmsub.psFRGH", false, +} + +local map_pri = { + [0] = map_special, map_regimm, "jJ", "jalJ", + "beq|beqz|bST00B", "bne|bnezST0B", "blezSB", "bgtzSB", + "addiTSI", "addiu|liTS0I", "sltiTSI", "sltiuTSI", + "andiTSU", "ori|liTS0U", "xoriTSU", "luiTU", + map_cop0, map_cop1, false, map_cop1x, + "beql|beqzlST0B", "bnel|bnezlST0B", "blezlSB", "bgtzlSB", + "daddiTSI", "daddiuTSI", false, false, + map_special2, "jalxJ", false, map_special3, + "lbTSO", "lhTSO", "lwlTSO", "lwTSO", + "lbuTSO", "lhuTSO", "lwrTSO", false, + "sbTSO", "shTSO", "swlTSO", "swTSO", + false, false, "swrTSO", "cacheNSO", + "llTSO", "lwc1HSO", "lwc2TSO", "prefNSO", + false, "ldc1HSO", "ldc2TSO", "ldTSO", + "scTSO", "swc1HSO", "swc2TSO", false, + false, "sdc1HSO", "sdc2TSO", "sdTSO", +} + +------------------------------------------------------------------------------ +-- Primary and extended opcode maps for MIPS R6 +------------------------------------------------------------------------------ + +local map_mul_r6 = { shift = 6, mask = 3, [2] = "mulDST", [3] = "muhDST" } +local map_mulu_r6 = { shift = 6, mask = 3, [2] = "muluDST", [3] = "muhuDST" } +local map_div_r6 = { shift = 6, mask = 3, [2] = "divDST", [3] = "modDST" } +local map_divu_r6 = { shift = 6, mask = 3, [2] = "divuDST", [3] = "moduDST" } +local map_dmul_r6 = { shift = 6, mask = 3, [2] = "dmulDST", [3] = "dmuhDST" } +local map_dmulu_r6 = { shift = 6, mask = 3, [2] = "dmuluDST", [3] = "dmuhuDST" } +local map_ddiv_r6 = { shift = 6, mask = 3, [2] = "ddivDST", [3] = "dmodDST" } +local map_ddivu_r6 = { shift = 6, mask = 3, [2] = "ddivuDST", [3] = "dmoduDST" } + +local map_special_r6 = { + shift = 0, mask = 63, + [0] = { shift = 0, mask = -1, [0] = "nop", _ = "sllDTA" }, + false, map_srl, "sraDTA", + "sllvDTS", false, map_srlv, "sravDTS", + "jrS", "jalrD1S", false, false, + "syscallY", "breakY", false, "sync", + "clzDS", "cloDS", "dclzDS", "dcloDS", + "dsllvDST", "dlsaDSTA", "dsrlvDST", "dsravDST", + map_mul_r6, map_mulu_r6, map_div_r6, map_divu_r6, + map_dmul_r6, map_dmulu_r6, map_ddiv_r6, map_ddivu_r6, + "addDST", "addu|moveDST0", "subDST", "subu|neguDS0T", + "andDST", "or|moveDST0", "xorDST", "nor|notDST0", + false, false, "sltDST", "sltuDST", + "daddDST", "dadduDST", "dsubDST", "dsubuDST", + "tgeSTZ", "tgeuSTZ", "tltSTZ", "tltuSTZ", + "teqSTZ", "seleqzDST", "tneSTZ", "selnezDST", + "dsllDTA", false, "dsrlDTA", "dsraDTA", + "dsll32DTA", false, "dsrl32DTA", "dsra32DTA", +} + +local map_bshfl_r6 = { + shift = 9, mask = 3, + [1] = "alignDSTa", + _ = { + shift = 6, mask = 31, + [0] = "bitswapDT", + [2] = "wsbhDT", + [16] = "sebDT", + [24] = "sehDT", + } +} + +local map_dbshfl_r6 = { + shift = 9, mask = 3, + [1] = "dalignDSTa", + _ = { + shift = 6, mask = 31, + [0] = "dbitswapDT", + [2] = "dsbhDT", + [5] = "dshdDT", + } +} + +local map_special3_r6 = { + shift = 0, mask = 63, + [0] = "extTSAK", [1] = "dextmTSAP", [3] = "dextTSAK", + [4] = "insTSAL", [6] = "dinsuTSEQ", [7] = "dinsTSAL", + [32] = map_bshfl_r6, [36] = map_dbshfl_r6, [59] = "rdhwrTD", +} + +local map_regimm_r6 = { + shift = 16, mask = 31, + [0] = "bltzSB", [1] = "bgezSB", + [6] = "dahiSI", [30] = "datiSI", + [23] = "sigrieI", [31] = "synciSO", +} + +local map_pcrel_r6 = { + shift = 19, mask = 3, + [0] = "addiupcS2", "lwpcS2", "lwupcS2", { + shift = 18, mask = 1, + [0] = "ldpcS3", { shift = 16, mask = 3, [2] = "auipcSI", [3] = "aluipcSI" } + } +} + +local map_cop1s_r6 = { + shift = 0, mask = 63, + [0] = "add.sFGH", "sub.sFGH", "mul.sFGH", "div.sFGH", + "sqrt.sFG", "abs.sFG", "mov.sFG", "neg.sFG", + "round.l.sFG", "trunc.l.sFG", "ceil.l.sFG", "floor.l.sFG", + "round.w.sFG", "trunc.w.sFG", "ceil.w.sFG", "floor.w.sFG", + "sel.sFGH", false, false, false, + "seleqz.sFGH", "recip.sFG", "rsqrt.sFG", "selnez.sFGH", + "maddf.sFGH", "msubf.sFGH", "rint.sFG", "class.sFG", + "min.sFGH", "mina.sFGH", "max.sFGH", "maxa.sFGH", + false, "cvt.d.sFG", false, false, + "cvt.w.sFG", "cvt.l.sFG", +} + +local map_cop1d_r6 = { + shift = 0, mask = 63, + [0] = "add.dFGH", "sub.dFGH", "mul.dFGH", "div.dFGH", + "sqrt.dFG", "abs.dFG", "mov.dFG", "neg.dFG", + "round.l.dFG", "trunc.l.dFG", "ceil.l.dFG", "floor.l.dFG", + "round.w.dFG", "trunc.w.dFG", "ceil.w.dFG", "floor.w.dFG", + "sel.dFGH", false, false, false, + "seleqz.dFGH", "recip.dFG", "rsqrt.dFG", "selnez.dFGH", + "maddf.dFGH", "msubf.dFGH", "rint.dFG", "class.dFG", + "min.dFGH", "mina.dFGH", "max.dFGH", "maxa.dFGH", + "cvt.s.dFG", false, false, false, + "cvt.w.dFG", "cvt.l.dFG", +} + +local map_cop1w_r6 = { + shift = 0, mask = 63, + [0] = "cmp.af.sFGH", "cmp.un.sFGH", "cmp.eq.sFGH", "cmp.ueq.sFGH", + "cmp.lt.sFGH", "cmp.ult.sFGH", "cmp.le.sFGH", "cmp.ule.sFGH", + "cmp.saf.sFGH", "cmp.sun.sFGH", "cmp.seq.sFGH", "cmp.sueq.sFGH", + "cmp.slt.sFGH", "cmp.sult.sFGH", "cmp.sle.sFGH", "cmp.sule.sFGH", + false, "cmp.or.sFGH", "cmp.une.sFGH", "cmp.ne.sFGH", + false, false, false, false, + false, "cmp.sor.sFGH", "cmp.sune.sFGH", "cmp.sne.sFGH", + false, false, false, false, + "cvt.s.wFG", "cvt.d.wFG", +} + +local map_cop1l_r6 = { + shift = 0, mask = 63, + [0] = "cmp.af.dFGH", "cmp.un.dFGH", "cmp.eq.dFGH", "cmp.ueq.dFGH", + "cmp.lt.dFGH", "cmp.ult.dFGH", "cmp.le.dFGH", "cmp.ule.dFGH", + "cmp.saf.dFGH", "cmp.sun.dFGH", "cmp.seq.dFGH", "cmp.sueq.dFGH", + "cmp.slt.dFGH", "cmp.sult.dFGH", "cmp.sle.dFGH", "cmp.sule.dFGH", + false, "cmp.or.dFGH", "cmp.une.dFGH", "cmp.ne.dFGH", + false, false, false, false, + false, "cmp.sor.dFGH", "cmp.sune.dFGH", "cmp.sne.dFGH", + false, false, false, false, + "cvt.s.lFG", "cvt.d.lFG", +} + +local map_cop1_r6 = { + shift = 21, mask = 31, + [0] = "mfc1TG", "dmfc1TG", "cfc1TG", "mfhc1TG", + "mtc1TG", "dmtc1TG", "ctc1TG", "mthc1TG", + false, "bc1eqzHB", false, false, + false, "bc1nezHB", false, false, + map_cop1s_r6, map_cop1d_r6, false, false, + map_cop1w_r6, map_cop1l_r6, +} + +local function maprs_popTS(rs, rt) + if rt == 0 then return 0 elseif rs == 0 then return 1 + elseif rs == rt then return 2 else return 3 end +end + +local map_pop06_r6 = { + maprs = maprs_popTS, [0] = "blezSB", "blezalcTB", "bgezalcTB", "bgeucSTB" +} +local map_pop07_r6 = { + maprs = maprs_popTS, [0] = "bgtzSB", "bgtzalcTB", "bltzalcTB", "bltucSTB" +} +local map_pop26_r6 = { + maprs = maprs_popTS, "blezcTB", "bgezcTB", "bgecSTB" +} +local map_pop27_r6 = { + maprs = maprs_popTS, "bgtzcTB", "bltzcTB", "bltcSTB" +} + +local function maprs_popS(rs, rt) + if rs == 0 then return 0 else return 1 end +end + +local map_pop66_r6 = { + maprs = maprs_popS, [0] = "jicTI", "beqzcSb" +} +local map_pop76_r6 = { + maprs = maprs_popS, [0] = "jialcTI", "bnezcSb" +} + +local function maprs_popST(rs, rt) + if rs >= rt then return 0 elseif rs == 0 then return 1 else return 2 end +end + +local map_pop10_r6 = { + maprs = maprs_popST, [0] = "bovcSTB", "beqzalcTB", "beqcSTB" +} +local map_pop30_r6 = { + maprs = maprs_popST, [0] = "bnvcSTB", "bnezalcTB", "bnecSTB" +} + +local map_pri_r6 = { + [0] = map_special_r6, map_regimm_r6, "jJ", "jalJ", + "beq|beqz|bST00B", "bne|bnezST0B", map_pop06_r6, map_pop07_r6, + map_pop10_r6, "addiu|liTS0I", "sltiTSI", "sltiuTSI", + "andiTSU", "ori|liTS0U", "xoriTSU", "aui|luiTS0U", + map_cop0, map_cop1_r6, false, false, + false, false, map_pop26_r6, map_pop27_r6, + map_pop30_r6, "daddiuTSI", false, false, + false, "dauiTSI", false, map_special3_r6, + "lbTSO", "lhTSO", false, "lwTSO", + "lbuTSO", "lhuTSO", false, false, + "sbTSO", "shTSO", false, "swTSO", + false, false, false, false, + false, "lwc1HSO", "bc#", false, + false, "ldc1HSO", map_pop66_r6, "ldTSO", + false, "swc1HSO", "balc#", map_pcrel_r6, + false, "sdc1HSO", map_pop76_r6, "sdTSO", +} + +------------------------------------------------------------------------------ + +local map_gpr = { + [0] = "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", + "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", + "r24", "r25", "r26", "r27", "r28", "sp", "r30", "ra", +} + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then extra = "\t->"..sym end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-7s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-7s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +local function get_be(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + return bor(lshift(b0, 24), lshift(b1, 16), lshift(b2, 8), b3) +end + +local function get_le(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + return bor(lshift(b3, 24), lshift(b2, 16), lshift(b1, 8), b0) +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local op = ctx:get() + local operands = {} + local last = nil + ctx.op = op + ctx.rel = nil + + local opat = ctx.map_pri[rshift(op, 26)] + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + if opat.maprs then + opat = opat[opat.maprs(band(rshift(op,21),31), band(rshift(op,16),31))] + else + opat = opat[band(rshift(op, opat.shift), opat.mask)] or opat._ + end + end + local name, pat = match(opat, "^([a-z0-9_.]*)(.*)") + local altname, pat2 = match(pat, "|([a-z0-9_.|]*)(.*)") + if altname then pat = pat2 end + + for p in gmatch(pat, ".") do + local x = nil + if p == "S" then + x = map_gpr[band(rshift(op, 21), 31)] + elseif p == "T" then + x = map_gpr[band(rshift(op, 16), 31)] + elseif p == "D" then + x = map_gpr[band(rshift(op, 11), 31)] + elseif p == "F" then + x = "f"..band(rshift(op, 6), 31) + elseif p == "G" then + x = "f"..band(rshift(op, 11), 31) + elseif p == "H" then + x = "f"..band(rshift(op, 16), 31) + elseif p == "R" then + x = "f"..band(rshift(op, 21), 31) + elseif p == "A" then + x = band(rshift(op, 6), 31) + elseif p == "a" then + x = band(rshift(op, 6), 7) + elseif p == "E" then + x = band(rshift(op, 6), 31) + 32 + elseif p == "M" then + x = band(rshift(op, 11), 31) + elseif p == "N" then + x = band(rshift(op, 16), 31) + elseif p == "C" then + x = band(rshift(op, 18), 7) + if x == 0 then x = nil end + elseif p == "K" then + x = band(rshift(op, 11), 31) + 1 + elseif p == "P" then + x = band(rshift(op, 11), 31) + 33 + elseif p == "L" then + x = band(rshift(op, 11), 31) - last + 1 + elseif p == "Q" then + x = band(rshift(op, 11), 31) - last + 33 + elseif p == "I" then + x = arshift(lshift(op, 16), 16) + elseif p == "2" then + x = arshift(lshift(op, 13), 11) + elseif p == "3" then + x = arshift(lshift(op, 14), 11) + elseif p == "U" then + x = band(op, 0xffff) + elseif p == "O" then + local disp = arshift(lshift(op, 16), 16) + operands[#operands] = format("%d(%s)", disp, last) + elseif p == "X" then + local index = map_gpr[band(rshift(op, 16), 31)] + operands[#operands] = format("%s(%s)", index, last) + elseif p == "B" then + x = ctx.addr + ctx.pos + arshift(lshift(op, 16), 14) + 4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "b" then + x = ctx.addr + ctx.pos + arshift(lshift(op, 11), 9) + 4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "#" then + x = ctx.addr + ctx.pos + arshift(lshift(op, 6), 4) + 4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "J" then + local a = ctx.addr + ctx.pos + x = a - band(a, 0x0fffffff) + band(op, 0x03ffffff)*4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "V" then + x = band(rshift(op, 8), 7) + if x == 0 then x = nil end + elseif p == "W" then + x = band(op, 7) + if x == 0 then x = nil end + elseif p == "Y" then + x = band(rshift(op, 6), 0x000fffff) + if x == 0 then x = nil end + elseif p == "Z" then + x = band(rshift(op, 6), 1023) + if x == 0 then x = nil end + elseif p == "0" then + if last == "r0" or last == 0 then + local n = #operands + operands[n] = nil + last = operands[n-1] + if altname then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if a1 then name, altname = a1, a2 + else name = altname end + end + end + elseif p == "1" then + if last == "ra" then + operands[#operands] = nil + end + else + assert(false) + end + if x then operands[#operands+1] = x; last = x end + end + + return putop(ctx, name, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + stop = stop - stop % 4 + ctx.pos = ofs - ofs % 4 + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + ctx.get = get_be + ctx.map_pri = map_pri + return ctx +end + +local function create_el(code, addr, out) + local ctx = create(code, addr, out) + ctx.get = get_le + return ctx +end + +local function create_r6(code, addr, out) + local ctx = create(code, addr, out) + ctx.map_pri = map_pri_r6 + return ctx +end + +local function create_r6_el(code, addr, out) + local ctx = create(code, addr, out) + ctx.get = get_le + ctx.map_pri = map_pri_r6 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +local function disass_el(code, addr, out) + create_el(code, addr, out):disass() +end + +local function disass_r6(code, addr, out) + create_r6(code, addr, out):disass() +end + +local function disass_r6_el(code, addr, out) + create_r6_el(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 32 then return map_gpr[r] end + return "f"..(r-32) +end + +-- Public module functions. +return { + create = create, + create_el = create_el, + create_r6 = create_r6, + create_r6_el = create_r6_el, + disass = disass, + disass_el = disass_el, + disass_r6 = disass_r6, + disass_r6_el = disass_r6_el, + regname = regname +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64.lua b/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64.lua new file mode 100644 index 00000000..5ad48f8f --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64 disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the big-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create, + disass = dis_mips.disass, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64el.lua b/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64el.lua new file mode 100644 index 00000000..d50e3a18 --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64el.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64EL disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the little-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_el, + disass = dis_mips.disass_el, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64r6.lua b/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64r6.lua new file mode 100644 index 00000000..921b3cbe --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64r6.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64R6 disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the r6 big-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_r6, + disass = dis_mips.disass_r6, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64r6el.lua b/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64r6el.lua new file mode 100644 index 00000000..aadef9f3 --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/dis_mips64r6el.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64R6EL disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the r6 little-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_r6_el, + disass = dis_mips.disass_r6_el, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/dis_mipsel.lua b/libs/LuaJIT/android/armeabi-v7a/jit/dis_mipsel.lua new file mode 100644 index 00000000..52cebefb --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/dis_mipsel.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPSEL disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the little-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_el, + disass = dis_mips.disass_el, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/dis_ppc.lua b/libs/LuaJIT/android/armeabi-v7a/jit/dis_ppc.lua new file mode 100644 index 00000000..08d742f1 --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/dis_ppc.lua @@ -0,0 +1,591 @@ +---------------------------------------------------------------------------- +-- LuaJIT PPC disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT/X license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles all common, non-privileged 32/64 bit PowerPC instructions +-- plus the e500 SPE instructions and some Cell/Xenon extensions. +-- +-- NYI: VMX, VMX128 +------------------------------------------------------------------------------ + +local type = type +local byte, format = string.byte, string.format +local match, gmatch, gsub = string.match, string.gmatch, string.gsub +local concat = table.concat +local bit = require("bit") +local band, bor, tohex = bit.band, bit.bor, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift + +------------------------------------------------------------------------------ +-- Primary and extended opcode maps +------------------------------------------------------------------------------ + +local map_crops = { + shift = 1, mask = 1023, + [0] = "mcrfXX", + [33] = "crnor|crnotCCC=", [129] = "crandcCCC", + [193] = "crxor|crclrCCC%", [225] = "crnandCCC", + [257] = "crandCCC", [289] = "creqv|crsetCCC%", + [417] = "crorcCCC", [449] = "cror|crmoveCCC=", + [16] = "b_lrKB", [528] = "b_ctrKB", + [150] = "isync", +} + +local map_rlwinm = setmetatable({ + shift = 0, mask = -1, +}, +{ __index = function(t, x) + local rot = band(rshift(x, 11), 31) + local mb = band(rshift(x, 6), 31) + local me = band(rshift(x, 1), 31) + if mb == 0 and me == 31-rot then + return "slwiRR~A." + elseif me == 31 and mb == 32-rot then + return "srwiRR~-A." + else + return "rlwinmRR~AAA." + end + end +}) + +local map_rld = { + shift = 2, mask = 7, + [0] = "rldiclRR~HM.", "rldicrRR~HM.", "rldicRR~HM.", "rldimiRR~HM.", + { + shift = 1, mask = 1, + [0] = "rldclRR~RM.", "rldcrRR~RM.", + }, +} + +local map_ext = setmetatable({ + shift = 1, mask = 1023, + + [0] = "cmp_YLRR", [32] = "cmpl_YLRR", + [4] = "twARR", [68] = "tdARR", + + [8] = "subfcRRR.", [40] = "subfRRR.", + [104] = "negRR.", [136] = "subfeRRR.", + [200] = "subfzeRR.", [232] = "subfmeRR.", + [520] = "subfcoRRR.", [552] = "subfoRRR.", + [616] = "negoRR.", [648] = "subfeoRRR.", + [712] = "subfzeoRR.", [744] = "subfmeoRR.", + + [9] = "mulhduRRR.", [73] = "mulhdRRR.", [233] = "mulldRRR.", + [457] = "divduRRR.", [489] = "divdRRR.", + [745] = "mulldoRRR.", + [969] = "divduoRRR.", [1001] = "divdoRRR.", + + [10] = "addcRRR.", [138] = "addeRRR.", + [202] = "addzeRR.", [234] = "addmeRR.", [266] = "addRRR.", + [522] = "addcoRRR.", [650] = "addeoRRR.", + [714] = "addzeoRR.", [746] = "addmeoRR.", [778] = "addoRRR.", + + [11] = "mulhwuRRR.", [75] = "mulhwRRR.", [235] = "mullwRRR.", + [459] = "divwuRRR.", [491] = "divwRRR.", + [747] = "mullwoRRR.", + [971] = "divwouRRR.", [1003] = "divwoRRR.", + + [15] = "iselltRRR", [47] = "iselgtRRR", [79] = "iseleqRRR", + + [144] = { shift = 20, mask = 1, [0] = "mtcrfRZ~", "mtocrfRZ~", }, + [19] = { shift = 20, mask = 1, [0] = "mfcrR", "mfocrfRZ", }, + [371] = { shift = 11, mask = 1023, [392] = "mftbR", [424] = "mftbuR", }, + [339] = { + shift = 11, mask = 1023, + [32] = "mferR", [256] = "mflrR", [288] = "mfctrR", [16] = "mfspefscrR", + }, + [467] = { + shift = 11, mask = 1023, + [32] = "mtxerR", [256] = "mtlrR", [288] = "mtctrR", [16] = "mtspefscrR", + }, + + [20] = "lwarxRR0R", [84] = "ldarxRR0R", + + [21] = "ldxRR0R", [53] = "lduxRRR", + [149] = "stdxRR0R", [181] = "stduxRRR", + [341] = "lwaxRR0R", [373] = "lwauxRRR", + + [23] = "lwzxRR0R", [55] = "lwzuxRRR", + [87] = "lbzxRR0R", [119] = "lbzuxRRR", + [151] = "stwxRR0R", [183] = "stwuxRRR", + [215] = "stbxRR0R", [247] = "stbuxRRR", + [279] = "lhzxRR0R", [311] = "lhzuxRRR", + [343] = "lhaxRR0R", [375] = "lhauxRRR", + [407] = "sthxRR0R", [439] = "sthuxRRR", + + [54] = "dcbst-R0R", [86] = "dcbf-R0R", + [150] = "stwcxRR0R.", [214] = "stdcxRR0R.", + [246] = "dcbtst-R0R", [278] = "dcbt-R0R", + [310] = "eciwxRR0R", [438] = "ecowxRR0R", + [470] = "dcbi-RR", + + [598] = { + shift = 21, mask = 3, + [0] = "sync", "lwsync", "ptesync", + }, + [758] = "dcba-RR", + [854] = "eieio", [982] = "icbi-R0R", [1014] = "dcbz-R0R", + + [26] = "cntlzwRR~", [58] = "cntlzdRR~", + [122] = "popcntbRR~", + [154] = "prtywRR~", [186] = "prtydRR~", + + [28] = "andRR~R.", [60] = "andcRR~R.", [124] = "nor|notRR~R=.", + [284] = "eqvRR~R.", [316] = "xorRR~R.", + [412] = "orcRR~R.", [444] = "or|mrRR~R=.", [476] = "nandRR~R.", + [508] = "cmpbRR~R", + + [512] = "mcrxrX", + + [532] = "ldbrxRR0R", [660] = "stdbrxRR0R", + + [533] = "lswxRR0R", [597] = "lswiRR0A", + [661] = "stswxRR0R", [725] = "stswiRR0A", + + [534] = "lwbrxRR0R", [662] = "stwbrxRR0R", + [790] = "lhbrxRR0R", [918] = "sthbrxRR0R", + + [535] = "lfsxFR0R", [567] = "lfsuxFRR", + [599] = "lfdxFR0R", [631] = "lfduxFRR", + [663] = "stfsxFR0R", [695] = "stfsuxFRR", + [727] = "stfdxFR0R", [759] = "stfduxFR0R", + [855] = "lfiwaxFR0R", + [983] = "stfiwxFR0R", + + [24] = "slwRR~R.", + + [27] = "sldRR~R.", [536] = "srwRR~R.", + [792] = "srawRR~R.", [824] = "srawiRR~A.", + + [794] = "sradRR~R.", [826] = "sradiRR~H.", [827] = "sradiRR~H.", + [922] = "extshRR~.", [954] = "extsbRR~.", [986] = "extswRR~.", + + [539] = "srdRR~R.", +}, +{ __index = function(t, x) + if band(x, 31) == 15 then return "iselRRRC" end + end +}) + +local map_ld = { + shift = 0, mask = 3, + [0] = "ldRRE", "lduRRE", "lwaRRE", +} + +local map_std = { + shift = 0, mask = 3, + [0] = "stdRRE", "stduRRE", +} + +local map_fps = { + shift = 5, mask = 1, + { + shift = 1, mask = 15, + [0] = false, false, "fdivsFFF.", false, + "fsubsFFF.", "faddsFFF.", "fsqrtsF-F.", false, + "fresF-F.", "fmulsFF-F.", "frsqrtesF-F.", false, + "fmsubsFFFF~.", "fmaddsFFFF~.", "fnmsubsFFFF~.", "fnmaddsFFFF~.", + } +} + +local map_fpd = { + shift = 5, mask = 1, + [0] = { + shift = 1, mask = 1023, + [0] = "fcmpuXFF", [32] = "fcmpoXFF", [64] = "mcrfsXX", + [38] = "mtfsb1A.", [70] = "mtfsb0A.", [134] = "mtfsfiA>>-A>", + [8] = "fcpsgnFFF.", [40] = "fnegF-F.", [72] = "fmrF-F.", + [136] = "fnabsF-F.", [264] = "fabsF-F.", + [12] = "frspF-F.", + [14] = "fctiwF-F.", [15] = "fctiwzF-F.", + [583] = "mffsF.", [711] = "mtfsfZF.", + [392] = "frinF-F.", [424] = "frizF-F.", + [456] = "fripF-F.", [488] = "frimF-F.", + [814] = "fctidF-F.", [815] = "fctidzF-F.", [846] = "fcfidF-F.", + }, + { + shift = 1, mask = 15, + [0] = false, false, "fdivFFF.", false, + "fsubFFF.", "faddFFF.", "fsqrtF-F.", "fselFFFF~.", + "freF-F.", "fmulFF-F.", "frsqrteF-F.", false, + "fmsubFFFF~.", "fmaddFFFF~.", "fnmsubFFFF~.", "fnmaddFFFF~.", + } +} + +local map_spe = { + shift = 0, mask = 2047, + + [512] = "evaddwRRR", [514] = "evaddiwRAR~", + [516] = "evsubwRRR~", [518] = "evsubiwRAR~", + [520] = "evabsRR", [521] = "evnegRR", + [522] = "evextsbRR", [523] = "evextshRR", [524] = "evrndwRR", + [525] = "evcntlzwRR", [526] = "evcntlswRR", + + [527] = "brincRRR", + + [529] = "evandRRR", [530] = "evandcRRR", [534] = "evxorRRR", + [535] = "evor|evmrRRR=", [536] = "evnor|evnotRRR=", + [537] = "eveqvRRR", [539] = "evorcRRR", [542] = "evnandRRR", + + [544] = "evsrwuRRR", [545] = "evsrwsRRR", + [546] = "evsrwiuRRA", [547] = "evsrwisRRA", + [548] = "evslwRRR", [550] = "evslwiRRA", + [552] = "evrlwRRR", [553] = "evsplatiRS", + [554] = "evrlwiRRA", [555] = "evsplatfiRS", + [556] = "evmergehiRRR", [557] = "evmergeloRRR", + [558] = "evmergehiloRRR", [559] = "evmergelohiRRR", + + [560] = "evcmpgtuYRR", [561] = "evcmpgtsYRR", + [562] = "evcmpltuYRR", [563] = "evcmpltsYRR", + [564] = "evcmpeqYRR", + + [632] = "evselRRR", [633] = "evselRRRW", + [634] = "evselRRRW", [635] = "evselRRRW", + [636] = "evselRRRW", [637] = "evselRRRW", + [638] = "evselRRRW", [639] = "evselRRRW", + + [640] = "evfsaddRRR", [641] = "evfssubRRR", + [644] = "evfsabsRR", [645] = "evfsnabsRR", [646] = "evfsnegRR", + [648] = "evfsmulRRR", [649] = "evfsdivRRR", + [652] = "evfscmpgtYRR", [653] = "evfscmpltYRR", [654] = "evfscmpeqYRR", + [656] = "evfscfuiR-R", [657] = "evfscfsiR-R", + [658] = "evfscfufR-R", [659] = "evfscfsfR-R", + [660] = "evfsctuiR-R", [661] = "evfsctsiR-R", + [662] = "evfsctufR-R", [663] = "evfsctsfR-R", + [664] = "evfsctuizR-R", [666] = "evfsctsizR-R", + [668] = "evfststgtYRR", [669] = "evfststltYRR", [670] = "evfststeqYRR", + + [704] = "efsaddRRR", [705] = "efssubRRR", + [708] = "efsabsRR", [709] = "efsnabsRR", [710] = "efsnegRR", + [712] = "efsmulRRR", [713] = "efsdivRRR", + [716] = "efscmpgtYRR", [717] = "efscmpltYRR", [718] = "efscmpeqYRR", + [719] = "efscfdR-R", + [720] = "efscfuiR-R", [721] = "efscfsiR-R", + [722] = "efscfufR-R", [723] = "efscfsfR-R", + [724] = "efsctuiR-R", [725] = "efsctsiR-R", + [726] = "efsctufR-R", [727] = "efsctsfR-R", + [728] = "efsctuizR-R", [730] = "efsctsizR-R", + [732] = "efststgtYRR", [733] = "efststltYRR", [734] = "efststeqYRR", + + [736] = "efdaddRRR", [737] = "efdsubRRR", + [738] = "efdcfuidR-R", [739] = "efdcfsidR-R", + [740] = "efdabsRR", [741] = "efdnabsRR", [742] = "efdnegRR", + [744] = "efdmulRRR", [745] = "efddivRRR", + [746] = "efdctuidzR-R", [747] = "efdctsidzR-R", + [748] = "efdcmpgtYRR", [749] = "efdcmpltYRR", [750] = "efdcmpeqYRR", + [751] = "efdcfsR-R", + [752] = "efdcfuiR-R", [753] = "efdcfsiR-R", + [754] = "efdcfufR-R", [755] = "efdcfsfR-R", + [756] = "efdctuiR-R", [757] = "efdctsiR-R", + [758] = "efdctufR-R", [759] = "efdctsfR-R", + [760] = "efdctuizR-R", [762] = "efdctsizR-R", + [764] = "efdtstgtYRR", [765] = "efdtstltYRR", [766] = "efdtsteqYRR", + + [768] = "evlddxRR0R", [769] = "evlddRR8", + [770] = "evldwxRR0R", [771] = "evldwRR8", + [772] = "evldhxRR0R", [773] = "evldhRR8", + [776] = "evlhhesplatxRR0R", [777] = "evlhhesplatRR2", + [780] = "evlhhousplatxRR0R", [781] = "evlhhousplatRR2", + [782] = "evlhhossplatxRR0R", [783] = "evlhhossplatRR2", + [784] = "evlwhexRR0R", [785] = "evlwheRR4", + [788] = "evlwhouxRR0R", [789] = "evlwhouRR4", + [790] = "evlwhosxRR0R", [791] = "evlwhosRR4", + [792] = "evlwwsplatxRR0R", [793] = "evlwwsplatRR4", + [796] = "evlwhsplatxRR0R", [797] = "evlwhsplatRR4", + + [800] = "evstddxRR0R", [801] = "evstddRR8", + [802] = "evstdwxRR0R", [803] = "evstdwRR8", + [804] = "evstdhxRR0R", [805] = "evstdhRR8", + [816] = "evstwhexRR0R", [817] = "evstwheRR4", + [820] = "evstwhoxRR0R", [821] = "evstwhoRR4", + [824] = "evstwwexRR0R", [825] = "evstwweRR4", + [828] = "evstwwoxRR0R", [829] = "evstwwoRR4", + + [1027] = "evmhessfRRR", [1031] = "evmhossfRRR", [1032] = "evmheumiRRR", + [1033] = "evmhesmiRRR", [1035] = "evmhesmfRRR", [1036] = "evmhoumiRRR", + [1037] = "evmhosmiRRR", [1039] = "evmhosmfRRR", [1059] = "evmhessfaRRR", + [1063] = "evmhossfaRRR", [1064] = "evmheumiaRRR", [1065] = "evmhesmiaRRR", + [1067] = "evmhesmfaRRR", [1068] = "evmhoumiaRRR", [1069] = "evmhosmiaRRR", + [1071] = "evmhosmfaRRR", [1095] = "evmwhssfRRR", [1096] = "evmwlumiRRR", + [1100] = "evmwhumiRRR", [1101] = "evmwhsmiRRR", [1103] = "evmwhsmfRRR", + [1107] = "evmwssfRRR", [1112] = "evmwumiRRR", [1113] = "evmwsmiRRR", + [1115] = "evmwsmfRRR", [1127] = "evmwhssfaRRR", [1128] = "evmwlumiaRRR", + [1132] = "evmwhumiaRRR", [1133] = "evmwhsmiaRRR", [1135] = "evmwhsmfaRRR", + [1139] = "evmwssfaRRR", [1144] = "evmwumiaRRR", [1145] = "evmwsmiaRRR", + [1147] = "evmwsmfaRRR", + + [1216] = "evaddusiaawRR", [1217] = "evaddssiaawRR", + [1218] = "evsubfusiaawRR", [1219] = "evsubfssiaawRR", + [1220] = "evmraRR", + [1222] = "evdivwsRRR", [1223] = "evdivwuRRR", + [1224] = "evaddumiaawRR", [1225] = "evaddsmiaawRR", + [1226] = "evsubfumiaawRR", [1227] = "evsubfsmiaawRR", + + [1280] = "evmheusiaawRRR", [1281] = "evmhessiaawRRR", + [1283] = "evmhessfaawRRR", [1284] = "evmhousiaawRRR", + [1285] = "evmhossiaawRRR", [1287] = "evmhossfaawRRR", + [1288] = "evmheumiaawRRR", [1289] = "evmhesmiaawRRR", + [1291] = "evmhesmfaawRRR", [1292] = "evmhoumiaawRRR", + [1293] = "evmhosmiaawRRR", [1295] = "evmhosmfaawRRR", + [1320] = "evmhegumiaaRRR", [1321] = "evmhegsmiaaRRR", + [1323] = "evmhegsmfaaRRR", [1324] = "evmhogumiaaRRR", + [1325] = "evmhogsmiaaRRR", [1327] = "evmhogsmfaaRRR", + [1344] = "evmwlusiaawRRR", [1345] = "evmwlssiaawRRR", + [1352] = "evmwlumiaawRRR", [1353] = "evmwlsmiaawRRR", + [1363] = "evmwssfaaRRR", [1368] = "evmwumiaaRRR", + [1369] = "evmwsmiaaRRR", [1371] = "evmwsmfaaRRR", + [1408] = "evmheusianwRRR", [1409] = "evmhessianwRRR", + [1411] = "evmhessfanwRRR", [1412] = "evmhousianwRRR", + [1413] = "evmhossianwRRR", [1415] = "evmhossfanwRRR", + [1416] = "evmheumianwRRR", [1417] = "evmhesmianwRRR", + [1419] = "evmhesmfanwRRR", [1420] = "evmhoumianwRRR", + [1421] = "evmhosmianwRRR", [1423] = "evmhosmfanwRRR", + [1448] = "evmhegumianRRR", [1449] = "evmhegsmianRRR", + [1451] = "evmhegsmfanRRR", [1452] = "evmhogumianRRR", + [1453] = "evmhogsmianRRR", [1455] = "evmhogsmfanRRR", + [1472] = "evmwlusianwRRR", [1473] = "evmwlssianwRRR", + [1480] = "evmwlumianwRRR", [1481] = "evmwlsmianwRRR", + [1491] = "evmwssfanRRR", [1496] = "evmwumianRRR", + [1497] = "evmwsmianRRR", [1499] = "evmwsmfanRRR", +} + +local map_pri = { + [0] = false, false, "tdiARI", "twiARI", + map_spe, false, false, "mulliRRI", + "subficRRI", false, "cmpl_iYLRU", "cmp_iYLRI", + "addicRRI", "addic.RRI", "addi|liRR0I", "addis|lisRR0I", + "b_KBJ", "sc", "bKJ", map_crops, + "rlwimiRR~AAA.", map_rlwinm, false, "rlwnmRR~RAA.", + "oriNRR~U", "orisRR~U", "xoriRR~U", "xorisRR~U", + "andi.RR~U", "andis.RR~U", map_rld, map_ext, + "lwzRRD", "lwzuRRD", "lbzRRD", "lbzuRRD", + "stwRRD", "stwuRRD", "stbRRD", "stbuRRD", + "lhzRRD", "lhzuRRD", "lhaRRD", "lhauRRD", + "sthRRD", "sthuRRD", "lmwRRD", "stmwRRD", + "lfsFRD", "lfsuFRD", "lfdFRD", "lfduFRD", + "stfsFRD", "stfsuFRD", "stfdFRD", "stfduFRD", + false, false, map_ld, map_fps, + false, false, map_std, map_fpd, +} + +------------------------------------------------------------------------------ + +local map_gpr = { + [0] = "r0", "sp", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", + "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", + "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31", +} + +local map_cond = { [0] = "lt", "gt", "eq", "so", "ge", "le", "ne", "ns", } + +-- Format a condition bit. +local function condfmt(cond) + if cond <= 3 then + return map_cond[band(cond, 3)] + else + return format("4*cr%d+%s", rshift(cond, 2), map_cond[band(cond, 3)]) + end +end + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then extra = "\t->"..sym end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-7s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-7s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + local op = bor(lshift(b0, 24), lshift(b1, 16), lshift(b2, 8), b3) + local operands = {} + local last = nil + local rs = 21 + ctx.op = op + ctx.rel = nil + + local opat = map_pri[rshift(b0, 2)] + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + opat = opat[band(rshift(op, opat.shift), opat.mask)] + end + local name, pat = match(opat, "^([a-z0-9_.]*)(.*)") + local altname, pat2 = match(pat, "|([a-z0-9_.]*)(.*)") + if altname then pat = pat2 end + + for p in gmatch(pat, ".") do + local x = nil + if p == "R" then + x = map_gpr[band(rshift(op, rs), 31)] + rs = rs - 5 + elseif p == "F" then + x = "f"..band(rshift(op, rs), 31) + rs = rs - 5 + elseif p == "A" then + x = band(rshift(op, rs), 31) + rs = rs - 5 + elseif p == "S" then + x = arshift(lshift(op, 27-rs), 27) + rs = rs - 5 + elseif p == "I" then + x = arshift(lshift(op, 16), 16) + elseif p == "U" then + x = band(op, 0xffff) + elseif p == "D" or p == "E" then + local disp = arshift(lshift(op, 16), 16) + if p == "E" then disp = band(disp, -4) end + if last == "r0" then last = "0" end + operands[#operands] = format("%d(%s)", disp, last) + elseif p >= "2" and p <= "8" then + local disp = band(rshift(op, rs), 31) * p + if last == "r0" then last = "0" end + operands[#operands] = format("%d(%s)", disp, last) + elseif p == "H" then + x = band(rshift(op, rs), 31) + lshift(band(op, 2), 4) + rs = rs - 5 + elseif p == "M" then + x = band(rshift(op, rs), 31) + band(op, 0x20) + elseif p == "C" then + x = condfmt(band(rshift(op, rs), 31)) + rs = rs - 5 + elseif p == "B" then + local bo = rshift(op, 21) + local cond = band(rshift(op, 16), 31) + local cn = "" + rs = rs - 10 + if band(bo, 4) == 0 then + cn = band(bo, 2) == 0 and "dnz" or "dz" + if band(bo, 0x10) == 0 then + cn = cn..(band(bo, 8) == 0 and "f" or "t") + end + if band(bo, 0x10) == 0 then x = condfmt(cond) end + name = name..(band(bo, 1) == band(rshift(op, 15), 1) and "-" or "+") + elseif band(bo, 0x10) == 0 then + cn = map_cond[band(cond, 3) + (band(bo, 8) == 0 and 4 or 0)] + if cond > 3 then x = "cr"..rshift(cond, 2) end + name = name..(band(bo, 1) == band(rshift(op, 15), 1) and "-" or "+") + end + name = gsub(name, "_", cn) + elseif p == "J" then + x = arshift(lshift(op, 27-rs), 29-rs)*4 + if band(op, 2) == 0 then x = ctx.addr + pos + x end + ctx.rel = x + x = "0x"..tohex(x) + elseif p == "K" then + if band(op, 1) ~= 0 then name = name.."l" end + if band(op, 2) ~= 0 then name = name.."a" end + elseif p == "X" or p == "Y" then + x = band(rshift(op, rs+2), 7) + if x == 0 and p == "Y" then x = nil else x = "cr"..x end + rs = rs - 5 + elseif p == "W" then + x = "cr"..band(op, 7) + elseif p == "Z" then + x = band(rshift(op, rs-4), 255) + rs = rs - 10 + elseif p == ">" then + operands[#operands] = rshift(operands[#operands], 1) + elseif p == "0" then + if last == "r0" then + operands[#operands] = nil + if altname then name = altname end + end + elseif p == "L" then + name = gsub(name, "_", band(op, 0x00200000) ~= 0 and "d" or "w") + elseif p == "." then + if band(op, 1) == 1 then name = name.."." end + elseif p == "N" then + if op == 0x60000000 then name = "nop"; break end + elseif p == "~" then + local n = #operands + operands[n-1], operands[n] = operands[n], operands[n-1] + elseif p == "=" then + local n = #operands + if last == operands[n-1] then + operands[n] = nil + name = altname + end + elseif p == "%" then + local n = #operands + if last == operands[n-1] and last == operands[n-2] then + operands[n] = nil + operands[n-1] = nil + name = altname + end + elseif p == "-" then + rs = rs - 5 + else + assert(false) + end + if x then operands[#operands+1] = x; last = x end + end + + return putop(ctx, name, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + stop = stop - stop % 4 + ctx.pos = ofs - ofs % 4 + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 32 then return map_gpr[r] end + return "f"..(r-32) +end + +-- Public module functions. +return { + create = create, + disass = disass, + regname = regname +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/dis_x64.lua b/libs/LuaJIT/android/armeabi-v7a/jit/dis_x64.lua new file mode 100644 index 00000000..2d37423e --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/dis_x64.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT x64 disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the 64 bit functions from the combined +-- x86/x64 disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_x86 = require((string.match(..., ".*%.") or "").."dis_x86") +return { + create = dis_x86.create64, + disass = dis_x86.disass64, + regname = dis_x86.regname64 +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/dis_x86.lua b/libs/LuaJIT/android/armeabi-v7a/jit/dis_x86.lua new file mode 100644 index 00000000..5480854c --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/dis_x86.lua @@ -0,0 +1,953 @@ +---------------------------------------------------------------------------- +-- LuaJIT x86/x64 disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- Sending small code snippets to an external disassembler and mixing the +-- output with our own stuff was too fragile. So I had to bite the bullet +-- and write yet another x86 disassembler. Oh well ... +-- +-- The output format is very similar to what ndisasm generates. But it has +-- been developed independently by looking at the opcode tables from the +-- Intel and AMD manuals. The supported instruction set is quite extensive +-- and reflects what a current generation Intel or AMD CPU implements in +-- 32 bit and 64 bit mode. Yes, this includes MMX, SSE, SSE2, SSE3, SSSE3, +-- SSE4.1, SSE4.2, SSE4a, AVX, AVX2 and even privileged and hypervisor +-- (VMX/SVM) instructions. +-- +-- Notes: +-- * The (useless) a16 prefix, 3DNow and pre-586 opcodes are unsupported. +-- * No attempt at optimization has been made -- it's fast enough for my needs. +------------------------------------------------------------------------------ + +local type = type +local sub, byte, format = string.sub, string.byte, string.format +local match, gmatch, gsub = string.match, string.gmatch, string.gsub +local lower, rep = string.lower, string.rep +local bit = require("bit") +local tohex = bit.tohex + +-- Map for 1st opcode byte in 32 bit mode. Ugly? Well ... read on. +local map_opc1_32 = { +--0x +[0]="addBmr","addVmr","addBrm","addVrm","addBai","addVai","push es","pop es", +"orBmr","orVmr","orBrm","orVrm","orBai","orVai","push cs","opc2*", +--1x +"adcBmr","adcVmr","adcBrm","adcVrm","adcBai","adcVai","push ss","pop ss", +"sbbBmr","sbbVmr","sbbBrm","sbbVrm","sbbBai","sbbVai","push ds","pop ds", +--2x +"andBmr","andVmr","andBrm","andVrm","andBai","andVai","es:seg","daa", +"subBmr","subVmr","subBrm","subVrm","subBai","subVai","cs:seg","das", +--3x +"xorBmr","xorVmr","xorBrm","xorVrm","xorBai","xorVai","ss:seg","aaa", +"cmpBmr","cmpVmr","cmpBrm","cmpVrm","cmpBai","cmpVai","ds:seg","aas", +--4x +"incVR","incVR","incVR","incVR","incVR","incVR","incVR","incVR", +"decVR","decVR","decVR","decVR","decVR","decVR","decVR","decVR", +--5x +"pushUR","pushUR","pushUR","pushUR","pushUR","pushUR","pushUR","pushUR", +"popUR","popUR","popUR","popUR","popUR","popUR","popUR","popUR", +--6x +"sz*pushaw,pusha","sz*popaw,popa","boundVrm","arplWmr", +"fs:seg","gs:seg","o16:","a16", +"pushUi","imulVrmi","pushBs","imulVrms", +"insb","insVS","outsb","outsVS", +--7x +"joBj","jnoBj","jbBj","jnbBj","jzBj","jnzBj","jbeBj","jaBj", +"jsBj","jnsBj","jpeBj","jpoBj","jlBj","jgeBj","jleBj","jgBj", +--8x +"arith!Bmi","arith!Vmi","arith!Bmi","arith!Vms", +"testBmr","testVmr","xchgBrm","xchgVrm", +"movBmr","movVmr","movBrm","movVrm", +"movVmg","leaVrm","movWgm","popUm", +--9x +"nop*xchgVaR|pause|xchgWaR|repne nop","xchgVaR","xchgVaR","xchgVaR", +"xchgVaR","xchgVaR","xchgVaR","xchgVaR", +"sz*cbw,cwde,cdqe","sz*cwd,cdq,cqo","call farViw","wait", +"sz*pushfw,pushf","sz*popfw,popf","sahf","lahf", +--Ax +"movBao","movVao","movBoa","movVoa", +"movsb","movsVS","cmpsb","cmpsVS", +"testBai","testVai","stosb","stosVS", +"lodsb","lodsVS","scasb","scasVS", +--Bx +"movBRi","movBRi","movBRi","movBRi","movBRi","movBRi","movBRi","movBRi", +"movVRI","movVRI","movVRI","movVRI","movVRI","movVRI","movVRI","movVRI", +--Cx +"shift!Bmu","shift!Vmu","retBw","ret","vex*3$lesVrm","vex*2$ldsVrm","movBmi","movVmi", +"enterBwu","leave","retfBw","retf","int3","intBu","into","iretVS", +--Dx +"shift!Bm1","shift!Vm1","shift!Bmc","shift!Vmc","aamBu","aadBu","salc","xlatb", +"fp*0","fp*1","fp*2","fp*3","fp*4","fp*5","fp*6","fp*7", +--Ex +"loopneBj","loopeBj","loopBj","sz*jcxzBj,jecxzBj,jrcxzBj", +"inBau","inVau","outBua","outVua", +"callVj","jmpVj","jmp farViw","jmpBj","inBad","inVad","outBda","outVda", +--Fx +"lock:","int1","repne:rep","rep:","hlt","cmc","testb!Bm","testv!Vm", +"clc","stc","cli","sti","cld","std","incb!Bm","incd!Vm", +} +assert(#map_opc1_32 == 255) + +-- Map for 1st opcode byte in 64 bit mode (overrides only). +local map_opc1_64 = setmetatable({ + [0x06]=false, [0x07]=false, [0x0e]=false, + [0x16]=false, [0x17]=false, [0x1e]=false, [0x1f]=false, + [0x27]=false, [0x2f]=false, [0x37]=false, [0x3f]=false, + [0x60]=false, [0x61]=false, [0x62]=false, [0x63]="movsxdVrDmt", [0x67]="a32:", + [0x40]="rex*", [0x41]="rex*b", [0x42]="rex*x", [0x43]="rex*xb", + [0x44]="rex*r", [0x45]="rex*rb", [0x46]="rex*rx", [0x47]="rex*rxb", + [0x48]="rex*w", [0x49]="rex*wb", [0x4a]="rex*wx", [0x4b]="rex*wxb", + [0x4c]="rex*wr", [0x4d]="rex*wrb", [0x4e]="rex*wrx", [0x4f]="rex*wrxb", + [0x82]=false, [0x9a]=false, [0xc4]="vex*3", [0xc5]="vex*2", [0xce]=false, + [0xd4]=false, [0xd5]=false, [0xd6]=false, [0xea]=false, +}, { __index = map_opc1_32 }) + +-- Map for 2nd opcode byte (0F xx). True CISC hell. Hey, I told you. +-- Prefix dependent MMX/SSE opcodes: (none)|rep|o16|repne, -|F3|66|F2 +local map_opc2 = { +--0x +[0]="sldt!Dmp","sgdt!Ump","larVrm","lslVrm",nil,"syscall","clts","sysret", +"invd","wbinvd",nil,"ud1",nil,"$prefetch!Bm","femms","3dnowMrmu", +--1x +"movupsXrm|movssXrvm|movupdXrm|movsdXrvm", +"movupsXmr|movssXmvr|movupdXmr|movsdXmvr", +"movhlpsXrm$movlpsXrm|movsldupXrm|movlpdXrm|movddupXrm", +"movlpsXmr||movlpdXmr", +"unpcklpsXrvm||unpcklpdXrvm", +"unpckhpsXrvm||unpckhpdXrvm", +"movlhpsXrm$movhpsXrm|movshdupXrm|movhpdXrm", +"movhpsXmr||movhpdXmr", +"$prefetcht!Bm","hintnopVm","hintnopVm","hintnopVm", +"hintnopVm","hintnopVm","hintnopVm","hintnopVm", +--2x +"movUmx$","movUmy$","movUxm$","movUym$","movUmz$",nil,"movUzm$",nil, +"movapsXrm||movapdXrm", +"movapsXmr||movapdXmr", +"cvtpi2psXrMm|cvtsi2ssXrvVmt|cvtpi2pdXrMm|cvtsi2sdXrvVmt", +"movntpsXmr|movntssXmr|movntpdXmr|movntsdXmr", +"cvttps2piMrXm|cvttss2siVrXm|cvttpd2piMrXm|cvttsd2siVrXm", +"cvtps2piMrXm|cvtss2siVrXm|cvtpd2piMrXm|cvtsd2siVrXm", +"ucomissXrm||ucomisdXrm", +"comissXrm||comisdXrm", +--3x +"wrmsr","rdtsc","rdmsr","rdpmc","sysenter","sysexit",nil,"getsec", +"opc3*38",nil,"opc3*3a",nil,nil,nil,nil,nil, +--4x +"cmovoVrm","cmovnoVrm","cmovbVrm","cmovnbVrm", +"cmovzVrm","cmovnzVrm","cmovbeVrm","cmovaVrm", +"cmovsVrm","cmovnsVrm","cmovpeVrm","cmovpoVrm", +"cmovlVrm","cmovgeVrm","cmovleVrm","cmovgVrm", +--5x +"movmskpsVrXm$||movmskpdVrXm$","sqrtpsXrm|sqrtssXrm|sqrtpdXrm|sqrtsdXrm", +"rsqrtpsXrm|rsqrtssXrvm","rcppsXrm|rcpssXrvm", +"andpsXrvm||andpdXrvm","andnpsXrvm||andnpdXrvm", +"orpsXrvm||orpdXrvm","xorpsXrvm||xorpdXrvm", +"addpsXrvm|addssXrvm|addpdXrvm|addsdXrvm","mulpsXrvm|mulssXrvm|mulpdXrvm|mulsdXrvm", +"cvtps2pdXrm|cvtss2sdXrvm|cvtpd2psXrm|cvtsd2ssXrvm", +"cvtdq2psXrm|cvttps2dqXrm|cvtps2dqXrm", +"subpsXrvm|subssXrvm|subpdXrvm|subsdXrvm","minpsXrvm|minssXrvm|minpdXrvm|minsdXrvm", +"divpsXrvm|divssXrvm|divpdXrvm|divsdXrvm","maxpsXrvm|maxssXrvm|maxpdXrvm|maxsdXrvm", +--6x +"punpcklbwPrvm","punpcklwdPrvm","punpckldqPrvm","packsswbPrvm", +"pcmpgtbPrvm","pcmpgtwPrvm","pcmpgtdPrvm","packuswbPrvm", +"punpckhbwPrvm","punpckhwdPrvm","punpckhdqPrvm","packssdwPrvm", +"||punpcklqdqXrvm","||punpckhqdqXrvm", +"movPrVSm","movqMrm|movdquXrm|movdqaXrm", +--7x +"pshufwMrmu|pshufhwXrmu|pshufdXrmu|pshuflwXrmu","pshiftw!Pvmu", +"pshiftd!Pvmu","pshiftq!Mvmu||pshiftdq!Xvmu", +"pcmpeqbPrvm","pcmpeqwPrvm","pcmpeqdPrvm","emms*|", +"vmreadUmr||extrqXmuu$|insertqXrmuu$","vmwriteUrm||extrqXrm$|insertqXrm$", +nil,nil, +"||haddpdXrvm|haddpsXrvm","||hsubpdXrvm|hsubpsXrvm", +"movVSmMr|movqXrm|movVSmXr","movqMmr|movdquXmr|movdqaXmr", +--8x +"joVj","jnoVj","jbVj","jnbVj","jzVj","jnzVj","jbeVj","jaVj", +"jsVj","jnsVj","jpeVj","jpoVj","jlVj","jgeVj","jleVj","jgVj", +--9x +"setoBm","setnoBm","setbBm","setnbBm","setzBm","setnzBm","setbeBm","setaBm", +"setsBm","setnsBm","setpeBm","setpoBm","setlBm","setgeBm","setleBm","setgBm", +--Ax +"push fs","pop fs","cpuid","btVmr","shldVmru","shldVmrc",nil,nil, +"push gs","pop gs","rsm","btsVmr","shrdVmru","shrdVmrc","fxsave!Dmp","imulVrm", +--Bx +"cmpxchgBmr","cmpxchgVmr","$lssVrm","btrVmr", +"$lfsVrm","$lgsVrm","movzxVrBmt","movzxVrWmt", +"|popcntVrm","ud2Dp","bt!Vmu","btcVmr", +"bsfVrm","bsrVrm|lzcntVrm|bsrWrm","movsxVrBmt","movsxVrWmt", +--Cx +"xaddBmr","xaddVmr", +"cmppsXrvmu|cmpssXrvmu|cmppdXrvmu|cmpsdXrvmu","$movntiVmr|", +"pinsrwPrvWmu","pextrwDrPmu", +"shufpsXrvmu||shufpdXrvmu","$cmpxchg!Qmp", +"bswapVR","bswapVR","bswapVR","bswapVR","bswapVR","bswapVR","bswapVR","bswapVR", +--Dx +"||addsubpdXrvm|addsubpsXrvm","psrlwPrvm","psrldPrvm","psrlqPrvm", +"paddqPrvm","pmullwPrvm", +"|movq2dqXrMm|movqXmr|movdq2qMrXm$","pmovmskbVrMm||pmovmskbVrXm", +"psubusbPrvm","psubuswPrvm","pminubPrvm","pandPrvm", +"paddusbPrvm","padduswPrvm","pmaxubPrvm","pandnPrvm", +--Ex +"pavgbPrvm","psrawPrvm","psradPrvm","pavgwPrvm", +"pmulhuwPrvm","pmulhwPrvm", +"|cvtdq2pdXrm|cvttpd2dqXrm|cvtpd2dqXrm","$movntqMmr||$movntdqXmr", +"psubsbPrvm","psubswPrvm","pminswPrvm","porPrvm", +"paddsbPrvm","paddswPrvm","pmaxswPrvm","pxorPrvm", +--Fx +"|||lddquXrm","psllwPrvm","pslldPrvm","psllqPrvm", +"pmuludqPrvm","pmaddwdPrvm","psadbwPrvm","maskmovqMrm||maskmovdquXrm$", +"psubbPrvm","psubwPrvm","psubdPrvm","psubqPrvm", +"paddbPrvm","paddwPrvm","padddPrvm","ud", +} +assert(map_opc2[255] == "ud") + +-- Map for three-byte opcodes. Can't wait for their next invention. +local map_opc3 = { +["38"] = { -- [66] 0f 38 xx +--0x +[0]="pshufbPrvm","phaddwPrvm","phadddPrvm","phaddswPrvm", +"pmaddubswPrvm","phsubwPrvm","phsubdPrvm","phsubswPrvm", +"psignbPrvm","psignwPrvm","psigndPrvm","pmulhrswPrvm", +"||permilpsXrvm","||permilpdXrvm",nil,nil, +--1x +"||pblendvbXrma",nil,nil,nil, +"||blendvpsXrma","||blendvpdXrma","||permpsXrvm","||ptestXrm", +"||broadcastssXrm","||broadcastsdXrm","||broadcastf128XrlXm",nil, +"pabsbPrm","pabswPrm","pabsdPrm",nil, +--2x +"||pmovsxbwXrm","||pmovsxbdXrm","||pmovsxbqXrm","||pmovsxwdXrm", +"||pmovsxwqXrm","||pmovsxdqXrm",nil,nil, +"||pmuldqXrvm","||pcmpeqqXrvm","||$movntdqaXrm","||packusdwXrvm", +"||maskmovpsXrvm","||maskmovpdXrvm","||maskmovpsXmvr","||maskmovpdXmvr", +--3x +"||pmovzxbwXrm","||pmovzxbdXrm","||pmovzxbqXrm","||pmovzxwdXrm", +"||pmovzxwqXrm","||pmovzxdqXrm","||permdXrvm","||pcmpgtqXrvm", +"||pminsbXrvm","||pminsdXrvm","||pminuwXrvm","||pminudXrvm", +"||pmaxsbXrvm","||pmaxsdXrvm","||pmaxuwXrvm","||pmaxudXrvm", +--4x +"||pmulddXrvm","||phminposuwXrm",nil,nil, +nil,"||psrlvVSXrvm","||psravdXrvm","||psllvVSXrvm", +--5x +[0x58] = "||pbroadcastdXrlXm",[0x59] = "||pbroadcastqXrlXm", +[0x5a] = "||broadcasti128XrlXm", +--7x +[0x78] = "||pbroadcastbXrlXm",[0x79] = "||pbroadcastwXrlXm", +--8x +[0x8c] = "||pmaskmovXrvVSm", +[0x8e] = "||pmaskmovVSmXvr", +--9x +[0x96] = "||fmaddsub132pHXrvm",[0x97] = "||fmsubadd132pHXrvm", +[0x98] = "||fmadd132pHXrvm",[0x99] = "||fmadd132sHXrvm", +[0x9a] = "||fmsub132pHXrvm",[0x9b] = "||fmsub132sHXrvm", +[0x9c] = "||fnmadd132pHXrvm",[0x9d] = "||fnmadd132sHXrvm", +[0x9e] = "||fnmsub132pHXrvm",[0x9f] = "||fnmsub132sHXrvm", +--Ax +[0xa6] = "||fmaddsub213pHXrvm",[0xa7] = "||fmsubadd213pHXrvm", +[0xa8] = "||fmadd213pHXrvm",[0xa9] = "||fmadd213sHXrvm", +[0xaa] = "||fmsub213pHXrvm",[0xab] = "||fmsub213sHXrvm", +[0xac] = "||fnmadd213pHXrvm",[0xad] = "||fnmadd213sHXrvm", +[0xae] = "||fnmsub213pHXrvm",[0xaf] = "||fnmsub213sHXrvm", +--Bx +[0xb6] = "||fmaddsub231pHXrvm",[0xb7] = "||fmsubadd231pHXrvm", +[0xb8] = "||fmadd231pHXrvm",[0xb9] = "||fmadd231sHXrvm", +[0xba] = "||fmsub231pHXrvm",[0xbb] = "||fmsub231sHXrvm", +[0xbc] = "||fnmadd231pHXrvm",[0xbd] = "||fnmadd231sHXrvm", +[0xbe] = "||fnmsub231pHXrvm",[0xbf] = "||fnmsub231sHXrvm", +--Dx +[0xdc] = "||aesencXrvm", [0xdd] = "||aesenclastXrvm", +[0xde] = "||aesdecXrvm", [0xdf] = "||aesdeclastXrvm", +--Fx +[0xf0] = "|||crc32TrBmt",[0xf1] = "|||crc32TrVmt", +[0xf7] = "| sarxVrmv| shlxVrmv| shrxVrmv", +}, + +["3a"] = { -- [66] 0f 3a xx +--0x +[0x00]="||permqXrmu","||permpdXrmu","||pblenddXrvmu",nil, +"||permilpsXrmu","||permilpdXrmu","||perm2f128Xrvmu",nil, +"||roundpsXrmu","||roundpdXrmu","||roundssXrvmu","||roundsdXrvmu", +"||blendpsXrvmu","||blendpdXrvmu","||pblendwXrvmu","palignrPrvmu", +--1x +nil,nil,nil,nil, +"||pextrbVmXru","||pextrwVmXru","||pextrVmSXru","||extractpsVmXru", +"||insertf128XrvlXmu","||extractf128XlXmYru",nil,nil, +nil,nil,nil,nil, +--2x +"||pinsrbXrvVmu","||insertpsXrvmu","||pinsrXrvVmuS",nil, +--3x +[0x38] = "||inserti128Xrvmu",[0x39] = "||extracti128XlXmYru", +--4x +[0x40] = "||dppsXrvmu", +[0x41] = "||dppdXrvmu", +[0x42] = "||mpsadbwXrvmu", +[0x44] = "||pclmulqdqXrvmu", +[0x46] = "||perm2i128Xrvmu", +[0x4a] = "||blendvpsXrvmb",[0x4b] = "||blendvpdXrvmb", +[0x4c] = "||pblendvbXrvmb", +--6x +[0x60] = "||pcmpestrmXrmu",[0x61] = "||pcmpestriXrmu", +[0x62] = "||pcmpistrmXrmu",[0x63] = "||pcmpistriXrmu", +[0xdf] = "||aeskeygenassistXrmu", +--Fx +[0xf0] = "||| rorxVrmu", +}, +} + +-- Map for VMX/SVM opcodes 0F 01 C0-FF (sgdt group with register operands). +local map_opcvm = { +[0xc1]="vmcall",[0xc2]="vmlaunch",[0xc3]="vmresume",[0xc4]="vmxoff", +[0xc8]="monitor",[0xc9]="mwait", +[0xd8]="vmrun",[0xd9]="vmmcall",[0xda]="vmload",[0xdb]="vmsave", +[0xdc]="stgi",[0xdd]="clgi",[0xde]="skinit",[0xdf]="invlpga", +[0xf8]="swapgs",[0xf9]="rdtscp", +} + +-- Map for FP opcodes. And you thought stack machines are simple? +local map_opcfp = { +-- D8-DF 00-BF: opcodes with a memory operand. +-- D8 +[0]="faddFm","fmulFm","fcomFm","fcompFm","fsubFm","fsubrFm","fdivFm","fdivrFm", +"fldFm",nil,"fstFm","fstpFm","fldenvVm","fldcwWm","fnstenvVm","fnstcwWm", +-- DA +"fiaddDm","fimulDm","ficomDm","ficompDm", +"fisubDm","fisubrDm","fidivDm","fidivrDm", +-- DB +"fildDm","fisttpDm","fistDm","fistpDm",nil,"fld twordFmp",nil,"fstp twordFmp", +-- DC +"faddGm","fmulGm","fcomGm","fcompGm","fsubGm","fsubrGm","fdivGm","fdivrGm", +-- DD +"fldGm","fisttpQm","fstGm","fstpGm","frstorDmp",nil,"fnsaveDmp","fnstswWm", +-- DE +"fiaddWm","fimulWm","ficomWm","ficompWm", +"fisubWm","fisubrWm","fidivWm","fidivrWm", +-- DF +"fildWm","fisttpWm","fistWm","fistpWm", +"fbld twordFmp","fildQm","fbstp twordFmp","fistpQm", +-- xx C0-FF: opcodes with a pseudo-register operand. +-- D8 +"faddFf","fmulFf","fcomFf","fcompFf","fsubFf","fsubrFf","fdivFf","fdivrFf", +-- D9 +"fldFf","fxchFf",{"fnop"},nil, +{"fchs","fabs",nil,nil,"ftst","fxam"}, +{"fld1","fldl2t","fldl2e","fldpi","fldlg2","fldln2","fldz"}, +{"f2xm1","fyl2x","fptan","fpatan","fxtract","fprem1","fdecstp","fincstp"}, +{"fprem","fyl2xp1","fsqrt","fsincos","frndint","fscale","fsin","fcos"}, +-- DA +"fcmovbFf","fcmoveFf","fcmovbeFf","fcmovuFf",nil,{nil,"fucompp"},nil,nil, +-- DB +"fcmovnbFf","fcmovneFf","fcmovnbeFf","fcmovnuFf", +{nil,nil,"fnclex","fninit"},"fucomiFf","fcomiFf",nil, +-- DC +"fadd toFf","fmul toFf",nil,nil, +"fsub toFf","fsubr toFf","fdivr toFf","fdiv toFf", +-- DD +"ffreeFf",nil,"fstFf","fstpFf","fucomFf","fucompFf",nil,nil, +-- DE +"faddpFf","fmulpFf",nil,{nil,"fcompp"}, +"fsubrpFf","fsubpFf","fdivrpFf","fdivpFf", +-- DF +nil,nil,nil,nil,{"fnstsw ax"},"fucomipFf","fcomipFf",nil, +} +assert(map_opcfp[126] == "fcomipFf") + +-- Map for opcode groups. The subkey is sp from the ModRM byte. +local map_opcgroup = { + arith = { "add", "or", "adc", "sbb", "and", "sub", "xor", "cmp" }, + shift = { "rol", "ror", "rcl", "rcr", "shl", "shr", "sal", "sar" }, + testb = { "testBmi", "testBmi", "not", "neg", "mul", "imul", "div", "idiv" }, + testv = { "testVmi", "testVmi", "not", "neg", "mul", "imul", "div", "idiv" }, + incb = { "inc", "dec" }, + incd = { "inc", "dec", "callUmp", "$call farDmp", + "jmpUmp", "$jmp farDmp", "pushUm" }, + sldt = { "sldt", "str", "lldt", "ltr", "verr", "verw" }, + sgdt = { "vm*$sgdt", "vm*$sidt", "$lgdt", "vm*$lidt", + "smsw", nil, "lmsw", "vm*$invlpg" }, + bt = { nil, nil, nil, nil, "bt", "bts", "btr", "btc" }, + cmpxchg = { nil, "sz*,cmpxchg8bQmp,cmpxchg16bXmp", nil, nil, + nil, nil, "vmptrld|vmxon|vmclear", "vmptrst" }, + pshiftw = { nil, nil, "psrlw", nil, "psraw", nil, "psllw" }, + pshiftd = { nil, nil, "psrld", nil, "psrad", nil, "pslld" }, + pshiftq = { nil, nil, "psrlq", nil, nil, nil, "psllq" }, + pshiftdq = { nil, nil, "psrlq", "psrldq", nil, nil, "psllq", "pslldq" }, + fxsave = { "$fxsave", "$fxrstor", "$ldmxcsr", "$stmxcsr", + nil, "lfenceDp$", "mfenceDp$", "sfenceDp$clflush" }, + prefetch = { "prefetch", "prefetchw" }, + prefetcht = { "prefetchnta", "prefetcht0", "prefetcht1", "prefetcht2" }, +} + +------------------------------------------------------------------------------ + +-- Maps for register names. +local map_regs = { + B = { "al", "cl", "dl", "bl", "ah", "ch", "dh", "bh", + "r8b", "r9b", "r10b", "r11b", "r12b", "r13b", "r14b", "r15b" }, + B64 = { "al", "cl", "dl", "bl", "spl", "bpl", "sil", "dil", + "r8b", "r9b", "r10b", "r11b", "r12b", "r13b", "r14b", "r15b" }, + W = { "ax", "cx", "dx", "bx", "sp", "bp", "si", "di", + "r8w", "r9w", "r10w", "r11w", "r12w", "r13w", "r14w", "r15w" }, + D = { "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi", + "r8d", "r9d", "r10d", "r11d", "r12d", "r13d", "r14d", "r15d" }, + Q = { "rax", "rcx", "rdx", "rbx", "rsp", "rbp", "rsi", "rdi", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15" }, + M = { "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7", + "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7" }, -- No x64 ext! + X = { "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7", + "xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15" }, + Y = { "ymm0", "ymm1", "ymm2", "ymm3", "ymm4", "ymm5", "ymm6", "ymm7", + "ymm8", "ymm9", "ymm10", "ymm11", "ymm12", "ymm13", "ymm14", "ymm15" }, +} +local map_segregs = { "es", "cs", "ss", "ds", "fs", "gs", "segr6", "segr7" } + +-- Maps for size names. +local map_sz2n = { + B = 1, W = 2, D = 4, Q = 8, M = 8, X = 16, Y = 32, +} +local map_sz2prefix = { + B = "byte", W = "word", D = "dword", + Q = "qword", + M = "qword", X = "xword", Y = "yword", + F = "dword", G = "qword", -- No need for sizes/register names for these two. +} + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local code, pos, hex = ctx.code, ctx.pos, "" + local hmax = ctx.hexdump + if hmax > 0 then + for i=ctx.start,pos-1 do + hex = hex..format("%02X", byte(code, i, i)) + end + if #hex > hmax then hex = sub(hex, 1, hmax)..". " + else hex = hex..rep(" ", hmax-#hex+2) end + end + if operands then text = text.." "..operands end + if ctx.o16 then text = "o16 "..text; ctx.o16 = false end + if ctx.a32 then text = "a32 "..text; ctx.a32 = false end + if ctx.rep then text = ctx.rep.." "..text; ctx.rep = false end + if ctx.rex then + local t = (ctx.rexw and "w" or "")..(ctx.rexr and "r" or "").. + (ctx.rexx and "x" or "")..(ctx.rexb and "b" or "").. + (ctx.vexl and "l" or "") + if ctx.vexv and ctx.vexv ~= 0 then t = t.."v"..ctx.vexv end + if t ~= "" then text = ctx.rex.."."..t.." "..gsub(text, "^ ", "") + elseif ctx.rex == "vex" then text = gsub("v"..text, "^v ", "") end + ctx.rexw = false; ctx.rexr = false; ctx.rexx = false; ctx.rexb = false + ctx.rex = false; ctx.vexl = false; ctx.vexv = false + end + if ctx.seg then + local text2, n = gsub(text, "%[", "["..ctx.seg..":") + if n == 0 then text = ctx.seg.." "..text else text = text2 end + ctx.seg = false + end + if ctx.lock then text = "lock "..text; ctx.lock = false end + local imm = ctx.imm + if imm then + local sym = ctx.symtab[imm] + if sym then text = text.."\t->"..sym end + end + ctx.out(format("%08x %s%s\n", ctx.addr+ctx.start, hex, text)) + ctx.mrm = false + ctx.vexv = false + ctx.start = pos + ctx.imm = nil +end + +-- Clear all prefix flags. +local function clearprefixes(ctx) + ctx.o16 = false; ctx.seg = false; ctx.lock = false; ctx.rep = false + ctx.rexw = false; ctx.rexr = false; ctx.rexx = false; ctx.rexb = false + ctx.rex = false; ctx.a32 = false; ctx.vexl = false +end + +-- Fallback for incomplete opcodes at the end. +local function incomplete(ctx) + ctx.pos = ctx.stop+1 + clearprefixes(ctx) + return putop(ctx, "(incomplete)") +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + clearprefixes(ctx) + return putop(ctx, "(unknown)") +end + +-- Return an immediate of the specified size. +local function getimm(ctx, pos, n) + if pos+n-1 > ctx.stop then return incomplete(ctx) end + local code = ctx.code + if n == 1 then + local b1 = byte(code, pos, pos) + return b1 + elseif n == 2 then + local b1, b2 = byte(code, pos, pos+1) + return b1+b2*256 + else + local b1, b2, b3, b4 = byte(code, pos, pos+3) + local imm = b1+b2*256+b3*65536+b4*16777216 + ctx.imm = imm + return imm + end +end + +-- Process pattern string and generate the operands. +local function putpat(ctx, name, pat) + local operands, regs, sz, mode, sp, rm, sc, rx, sdisp + local code, pos, stop, vexl = ctx.code, ctx.pos, ctx.stop, ctx.vexl + + -- Chars used: 1DFGHIMPQRSTUVWXYabcdfgijlmoprstuvwxyz + for p in gmatch(pat, ".") do + local x = nil + if p == "V" or p == "U" then + if ctx.rexw then sz = "Q"; ctx.rexw = false + elseif ctx.o16 then sz = "W"; ctx.o16 = false + elseif p == "U" and ctx.x64 then sz = "Q" + else sz = "D" end + regs = map_regs[sz] + elseif p == "T" then + if ctx.rexw then sz = "Q"; ctx.rexw = false else sz = "D" end + regs = map_regs[sz] + elseif p == "B" then + sz = "B" + regs = ctx.rex and map_regs.B64 or map_regs.B + elseif match(p, "[WDQMXYFG]") then + sz = p + if sz == "X" and vexl then sz = "Y"; ctx.vexl = false end + regs = map_regs[sz] + elseif p == "P" then + sz = ctx.o16 and "X" or "M"; ctx.o16 = false + if sz == "X" and vexl then sz = "Y"; ctx.vexl = false end + regs = map_regs[sz] + elseif p == "H" then + name = name..(ctx.rexw and "d" or "s") + ctx.rexw = false + elseif p == "S" then + name = name..lower(sz) + elseif p == "s" then + local imm = getimm(ctx, pos, 1); if not imm then return end + x = imm <= 127 and format("+0x%02x", imm) + or format("-0x%02x", 256-imm) + pos = pos+1 + elseif p == "u" then + local imm = getimm(ctx, pos, 1); if not imm then return end + x = format("0x%02x", imm) + pos = pos+1 + elseif p == "b" then + local imm = getimm(ctx, pos, 1); if not imm then return end + x = regs[imm/16+1] + pos = pos+1 + elseif p == "w" then + local imm = getimm(ctx, pos, 2); if not imm then return end + x = format("0x%x", imm) + pos = pos+2 + elseif p == "o" then -- [offset] + if ctx.x64 then + local imm1 = getimm(ctx, pos, 4); if not imm1 then return end + local imm2 = getimm(ctx, pos+4, 4); if not imm2 then return end + x = format("[0x%08x%08x]", imm2, imm1) + pos = pos+8 + else + local imm = getimm(ctx, pos, 4); if not imm then return end + x = format("[0x%08x]", imm) + pos = pos+4 + end + elseif p == "i" or p == "I" then + local n = map_sz2n[sz] + if n == 8 and ctx.x64 and p == "I" then + local imm1 = getimm(ctx, pos, 4); if not imm1 then return end + local imm2 = getimm(ctx, pos+4, 4); if not imm2 then return end + x = format("0x%08x%08x", imm2, imm1) + else + if n == 8 then n = 4 end + local imm = getimm(ctx, pos, n); if not imm then return end + if sz == "Q" and (imm < 0 or imm > 0x7fffffff) then + imm = (0xffffffff+1)-imm + x = format(imm > 65535 and "-0x%08x" or "-0x%x", imm) + else + x = format(imm > 65535 and "0x%08x" or "0x%x", imm) + end + end + pos = pos+n + elseif p == "j" then + local n = map_sz2n[sz] + if n == 8 then n = 4 end + local imm = getimm(ctx, pos, n); if not imm then return end + if sz == "B" and imm > 127 then imm = imm-256 + elseif imm > 2147483647 then imm = imm-4294967296 end + pos = pos+n + imm = imm + pos + ctx.addr + if imm > 4294967295 and not ctx.x64 then imm = imm-4294967296 end + ctx.imm = imm + if sz == "W" then + x = format("word 0x%04x", imm%65536) + elseif ctx.x64 then + local lo = imm % 0x1000000 + x = format("0x%02x%06x", (imm-lo) / 0x1000000, lo) + else + x = "0x"..tohex(imm) + end + elseif p == "R" then + local r = byte(code, pos-1, pos-1)%8 + if ctx.rexb then r = r + 8; ctx.rexb = false end + x = regs[r+1] + elseif p == "a" then x = regs[1] + elseif p == "c" then x = "cl" + elseif p == "d" then x = "dx" + elseif p == "1" then x = "1" + else + if not mode then + mode = ctx.mrm + if not mode then + if pos > stop then return incomplete(ctx) end + mode = byte(code, pos, pos) + pos = pos+1 + end + rm = mode%8; mode = (mode-rm)/8 + sp = mode%8; mode = (mode-sp)/8 + sdisp = "" + if mode < 3 then + if rm == 4 then + if pos > stop then return incomplete(ctx) end + sc = byte(code, pos, pos) + pos = pos+1 + rm = sc%8; sc = (sc-rm)/8 + rx = sc%8; sc = (sc-rx)/8 + if ctx.rexx then rx = rx + 8; ctx.rexx = false end + if rx == 4 then rx = nil end + end + if mode > 0 or rm == 5 then + local dsz = mode + if dsz ~= 1 then dsz = 4 end + local disp = getimm(ctx, pos, dsz); if not disp then return end + if mode == 0 then rm = nil end + if rm or rx or (not sc and ctx.x64 and not ctx.a32) then + if dsz == 1 and disp > 127 then + sdisp = format("-0x%x", 256-disp) + elseif disp >= 0 and disp <= 0x7fffffff then + sdisp = format("+0x%x", disp) + else + sdisp = format("-0x%x", (0xffffffff+1)-disp) + end + else + sdisp = format(ctx.x64 and not ctx.a32 and + not (disp >= 0 and disp <= 0x7fffffff) + and "0xffffffff%08x" or "0x%08x", disp) + end + pos = pos+dsz + end + end + if rm and ctx.rexb then rm = rm + 8; ctx.rexb = false end + if ctx.rexr then sp = sp + 8; ctx.rexr = false end + end + if p == "m" then + if mode == 3 then x = regs[rm+1] + else + local aregs = ctx.a32 and map_regs.D or ctx.aregs + local srm, srx = "", "" + if rm then srm = aregs[rm+1] + elseif not sc and ctx.x64 and not ctx.a32 then srm = "rip" end + ctx.a32 = false + if rx then + if rm then srm = srm.."+" end + srx = aregs[rx+1] + if sc > 0 then srx = srx.."*"..(2^sc) end + end + x = format("[%s%s%s]", srm, srx, sdisp) + end + if mode < 3 and + (not match(pat, "[aRrgp]") or match(pat, "t")) then -- Yuck. + x = map_sz2prefix[sz].." "..x + end + elseif p == "r" then x = regs[sp+1] + elseif p == "g" then x = map_segregs[sp+1] + elseif p == "p" then -- Suppress prefix. + elseif p == "f" then x = "st"..rm + elseif p == "x" then + if sp == 0 and ctx.lock and not ctx.x64 then + x = "CR8"; ctx.lock = false + else + x = "CR"..sp + end + elseif p == "v" then + if ctx.vexv then + x = regs[ctx.vexv+1]; ctx.vexv = false + end + elseif p == "y" then x = "DR"..sp + elseif p == "z" then x = "TR"..sp + elseif p == "l" then vexl = false + elseif p == "t" then + else + error("bad pattern `"..pat.."'") + end + end + if x then operands = operands and operands..", "..x or x end + end + ctx.pos = pos + return putop(ctx, name, operands) +end + +-- Forward declaration. +local map_act + +-- Fetch and cache MRM byte. +local function getmrm(ctx) + local mrm = ctx.mrm + if not mrm then + local pos = ctx.pos + if pos > ctx.stop then return nil end + mrm = byte(ctx.code, pos, pos) + ctx.pos = pos+1 + ctx.mrm = mrm + end + return mrm +end + +-- Dispatch to handler depending on pattern. +local function dispatch(ctx, opat, patgrp) + if not opat then return unknown(ctx) end + if match(opat, "%|") then -- MMX/SSE variants depending on prefix. + local p + if ctx.rep then + p = ctx.rep=="rep" and "%|([^%|]*)" or "%|[^%|]*%|[^%|]*%|([^%|]*)" + ctx.rep = false + elseif ctx.o16 then p = "%|[^%|]*%|([^%|]*)"; ctx.o16 = false + else p = "^[^%|]*" end + opat = match(opat, p) + if not opat then return unknown(ctx) end +-- ctx.rep = false; ctx.o16 = false + --XXX fails for 66 f2 0f 38 f1 06 crc32 eax,WORD PTR [esi] + --XXX remove in branches? + end + if match(opat, "%$") then -- reg$mem variants. + local mrm = getmrm(ctx); if not mrm then return incomplete(ctx) end + opat = match(opat, mrm >= 192 and "^[^%$]*" or "%$(.*)") + if opat == "" then return unknown(ctx) end + end + if opat == "" then return unknown(ctx) end + local name, pat = match(opat, "^([a-z0-9 ]*)(.*)") + if pat == "" and patgrp then pat = patgrp end + return map_act[sub(pat, 1, 1)](ctx, name, pat) +end + +-- Get a pattern from an opcode map and dispatch to handler. +local function dispatchmap(ctx, opcmap) + local pos = ctx.pos + local opat = opcmap[byte(ctx.code, pos, pos)] + pos = pos + 1 + ctx.pos = pos + return dispatch(ctx, opat) +end + +-- Map for action codes. The key is the first char after the name. +map_act = { + -- Simple opcodes without operands. + [""] = function(ctx, name, pat) + return putop(ctx, name) + end, + + -- Operand size chars fall right through. + B = putpat, W = putpat, D = putpat, Q = putpat, + V = putpat, U = putpat, T = putpat, + M = putpat, X = putpat, P = putpat, + F = putpat, G = putpat, Y = putpat, + H = putpat, + + -- Collect prefixes. + [":"] = function(ctx, name, pat) + ctx[pat == ":" and name or sub(pat, 2)] = name + if ctx.pos - ctx.start > 5 then return unknown(ctx) end -- Limit #prefixes. + end, + + -- Chain to special handler specified by name. + ["*"] = function(ctx, name, pat) + return map_act[name](ctx, name, sub(pat, 2)) + end, + + -- Use named subtable for opcode group. + ["!"] = function(ctx, name, pat) + local mrm = getmrm(ctx); if not mrm then return incomplete(ctx) end + return dispatch(ctx, map_opcgroup[name][((mrm-(mrm%8))/8)%8+1], sub(pat, 2)) + end, + + -- o16,o32[,o64] variants. + sz = function(ctx, name, pat) + if ctx.o16 then ctx.o16 = false + else + pat = match(pat, ",(.*)") + if ctx.rexw then + local p = match(pat, ",(.*)") + if p then pat = p; ctx.rexw = false end + end + end + pat = match(pat, "^[^,]*") + return dispatch(ctx, pat) + end, + + -- Two-byte opcode dispatch. + opc2 = function(ctx, name, pat) + return dispatchmap(ctx, map_opc2) + end, + + -- Three-byte opcode dispatch. + opc3 = function(ctx, name, pat) + return dispatchmap(ctx, map_opc3[pat]) + end, + + -- VMX/SVM dispatch. + vm = function(ctx, name, pat) + return dispatch(ctx, map_opcvm[ctx.mrm]) + end, + + -- Floating point opcode dispatch. + fp = function(ctx, name, pat) + local mrm = getmrm(ctx); if not mrm then return incomplete(ctx) end + local rm = mrm%8 + local idx = pat*8 + ((mrm-rm)/8)%8 + if mrm >= 192 then idx = idx + 64 end + local opat = map_opcfp[idx] + if type(opat) == "table" then opat = opat[rm+1] end + return dispatch(ctx, opat) + end, + + -- REX prefix. + rex = function(ctx, name, pat) + if ctx.rex then return unknown(ctx) end -- Only 1 REX or VEX prefix allowed. + for p in gmatch(pat, ".") do ctx["rex"..p] = true end + ctx.rex = "rex" + end, + + -- VEX prefix. + vex = function(ctx, name, pat) + if ctx.rex then return unknown(ctx) end -- Only 1 REX or VEX prefix allowed. + ctx.rex = "vex" + local pos = ctx.pos + if ctx.mrm then + ctx.mrm = nil + pos = pos-1 + end + local b = byte(ctx.code, pos, pos) + if not b then return incomplete(ctx) end + pos = pos+1 + if b < 128 then ctx.rexr = true end + local m = 1 + if pat == "3" then + m = b%32; b = (b-m)/32 + local nb = b%2; b = (b-nb)/2 + if nb == 0 then ctx.rexb = true end + local nx = b%2 + if nx == 0 then ctx.rexx = true end + b = byte(ctx.code, pos, pos) + if not b then return incomplete(ctx) end + pos = pos+1 + if b >= 128 then ctx.rexw = true end + end + ctx.pos = pos + local map + if m == 1 then map = map_opc2 + elseif m == 2 then map = map_opc3["38"] + elseif m == 3 then map = map_opc3["3a"] + else return unknown(ctx) end + local p = b%4; b = (b-p)/4 + if p == 1 then ctx.o16 = "o16" + elseif p == 2 then ctx.rep = "rep" + elseif p == 3 then ctx.rep = "repne" end + local l = b%2; b = (b-l)/2 + if l ~= 0 then ctx.vexl = true end + ctx.vexv = (-1-b)%16 + return dispatchmap(ctx, map) + end, + + -- Special case for nop with REX prefix. + nop = function(ctx, name, pat) + return dispatch(ctx, ctx.rex and pat or "nop") + end, + + -- Special case for 0F 77. + emms = function(ctx, name, pat) + if ctx.rex ~= "vex" then + return putop(ctx, "emms") + elseif ctx.vexl then + ctx.vexl = false + return putop(ctx, "zeroall") + else + return putop(ctx, "zeroupper") + end + end, +} + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + ofs = ofs + 1 + ctx.start = ofs + ctx.pos = ofs + ctx.stop = stop + ctx.imm = nil + ctx.mrm = false + clearprefixes(ctx) + while ctx.pos <= stop do dispatchmap(ctx, ctx.map1) end + if ctx.pos ~= ctx.start then incomplete(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = (addr or 0) - 1 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 16 + ctx.x64 = false + ctx.map1 = map_opc1_32 + ctx.aregs = map_regs.D + return ctx +end + +local function create64(code, addr, out) + local ctx = create(code, addr, out) + ctx.x64 = true + ctx.map1 = map_opc1_64 + ctx.aregs = map_regs.Q + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +local function disass64(code, addr, out) + create64(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 8 then return map_regs.D[r+1] end + return map_regs.X[r-7] +end + +local function regname64(r) + if r < 16 then return map_regs.Q[r+1] end + return map_regs.X[r-15] +end + +-- Public module functions. +return { + create = create, + create64 = create64, + disass = disass, + disass64 = disass64, + regname = regname, + regname64 = regname64 +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/dump.lua b/libs/LuaJIT/android/armeabi-v7a/jit/dump.lua new file mode 100644 index 00000000..9eda08c4 --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/dump.lua @@ -0,0 +1,726 @@ +---------------------------------------------------------------------------- +-- LuaJIT compiler dump module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module can be used to debug the JIT compiler itself. It dumps the +-- code representations and structures used in various compiler stages. +-- +-- Example usage: +-- +-- luajit -jdump -e "local x=0; for i=1,1e6 do x=x+i end; print(x)" +-- luajit -jdump=im -e "for i=1,1000 do for j=1,1000 do end end" | less -R +-- luajit -jdump=is myapp.lua | less -R +-- luajit -jdump=-b myapp.lua +-- luajit -jdump=+aH,myapp.html myapp.lua +-- luajit -jdump=ixT,myapp.dump myapp.lua +-- +-- The first argument specifies the dump mode. The second argument gives +-- the output file name. Default output is to stdout, unless the environment +-- variable LUAJIT_DUMPFILE is set. The file is overwritten every time the +-- module is started. +-- +-- Different features can be turned on or off with the dump mode. If the +-- mode starts with a '+', the following features are added to the default +-- set of features; a '-' removes them. Otherwise the features are replaced. +-- +-- The following dump features are available (* marks the default): +-- +-- * t Print a line for each started, ended or aborted trace (see also -jv). +-- * b Dump the traced bytecode. +-- * i Dump the IR (intermediate representation). +-- r Augment the IR with register/stack slots. +-- s Dump the snapshot map. +-- * m Dump the generated machine code. +-- x Print each taken trace exit. +-- X Print each taken trace exit and the contents of all registers. +-- a Print the IR of aborted traces, too. +-- +-- The output format can be set with the following characters: +-- +-- T Plain text output. +-- A ANSI-colored text output +-- H Colorized HTML + CSS output. +-- +-- The default output format is plain text. It's set to ANSI-colored text +-- if the COLORTERM variable is set. Note: this is independent of any output +-- redirection, which is actually considered a feature. +-- +-- You probably want to use less -R to enjoy viewing ANSI-colored text from +-- a pipe or a file. Add this to your ~/.bashrc: export LESS="-R" +-- +------------------------------------------------------------------------------ + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local jutil = require("jit.util") +local vmdef = require("jit.vmdef") +local funcinfo, funcbc = jutil.funcinfo, jutil.funcbc +local traceinfo, traceir, tracek = jutil.traceinfo, jutil.traceir, jutil.tracek +local tracemc, tracesnap = jutil.tracemc, jutil.tracesnap +local traceexitstub, ircalladdr = jutil.traceexitstub, jutil.ircalladdr +local bit = require("bit") +local band, shr, tohex = bit.band, bit.rshift, bit.tohex +local sub, gsub, format = string.sub, string.gsub, string.format +local byte, rep = string.byte, string.rep +local type, tostring = type, tostring +local stdout, stderr = io.stdout, io.stderr + +-- Load other modules on-demand. +local bcline, disass + +-- Active flag, output file handle and dump mode. +local active, out, dumpmode + +------------------------------------------------------------------------------ + +local symtabmt = { __index = false } +local symtab = {} +local nexitsym = 0 + +-- Fill nested symbol table with per-trace exit stub addresses. +local function fillsymtab_tr(tr, nexit) + local t = {} + symtabmt.__index = t + if jit.arch:sub(1, 4) == "mips" then + t[traceexitstub(tr, 0)] = "exit" + return + end + for i=0,nexit-1 do + local addr = traceexitstub(tr, i) + if addr < 0 then addr = addr + 2^32 end + t[addr] = tostring(i) + end + local addr = traceexitstub(tr, nexit) + if addr then t[addr] = "stack_check" end +end + +-- Fill symbol table with trace exit stub addresses. +local function fillsymtab(tr, nexit) + local t = symtab + if nexitsym == 0 then + local maskaddr = jit.arch == "arm" and -2 + local ircall = vmdef.ircall + for i=0,#ircall do + local addr = ircalladdr(i) + if addr ~= 0 then + if maskaddr then addr = band(addr, maskaddr) end + if addr < 0 then addr = addr + 2^32 end + t[addr] = ircall[i] + end + end + end + if nexitsym == 1000000 then -- Per-trace exit stubs. + fillsymtab_tr(tr, nexit) + elseif nexit > nexitsym then -- Shared exit stubs. + for i=nexitsym,nexit-1 do + local addr = traceexitstub(i) + if addr == nil then -- Fall back to per-trace exit stubs. + fillsymtab_tr(tr, nexit) + setmetatable(symtab, symtabmt) + nexit = 1000000 + break + end + if addr < 0 then addr = addr + 2^32 end + t[addr] = tostring(i) + end + nexitsym = nexit + end + return t +end + +local function dumpwrite(s) + out:write(s) +end + +-- Disassemble machine code. +local function dump_mcode(tr) + local info = traceinfo(tr) + if not info then return end + local mcode, addr, loop = tracemc(tr) + if not mcode then return end + if not disass then disass = require("jit.dis_"..jit.arch) end + if addr < 0 then addr = addr + 2^32 end + out:write("---- TRACE ", tr, " mcode ", #mcode, "\n") + local ctx = disass.create(mcode, addr, dumpwrite) + ctx.hexdump = 0 + ctx.symtab = fillsymtab(tr, info.nexit) + if loop ~= 0 then + symtab[addr+loop] = "LOOP" + ctx:disass(0, loop) + out:write("->LOOP:\n") + ctx:disass(loop, #mcode-loop) + symtab[addr+loop] = nil + else + ctx:disass(0, #mcode) + end +end + +------------------------------------------------------------------------------ + +local irtype_text = { + [0] = "nil", + "fal", + "tru", + "lud", + "str", + "p32", + "thr", + "pro", + "fun", + "p64", + "cdt", + "tab", + "udt", + "flt", + "num", + "i8 ", + "u8 ", + "i16", + "u16", + "int", + "u32", + "i64", + "u64", + "sfp", +} + +local colortype_ansi = { + [0] = "%s", + "%s", + "%s", + "\027[36m%s\027[m", + "\027[32m%s\027[m", + "%s", + "\027[1m%s\027[m", + "%s", + "\027[1m%s\027[m", + "%s", + "\027[33m%s\027[m", + "\027[31m%s\027[m", + "\027[36m%s\027[m", + "\027[34m%s\027[m", + "\027[34m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", +} + +local function colorize_text(s) + return s +end + +local function colorize_ansi(s, t, extra) + local out = format(colortype_ansi[t], s) + if extra then out = "\027[3m"..out end + return out +end + +local irtype_ansi = setmetatable({}, + { __index = function(tab, t) + local s = colorize_ansi(irtype_text[t], t); tab[t] = s; return s; end }) + +local html_escape = { ["<"] = "<", [">"] = ">", ["&"] = "&", } + +local function colorize_html(s, t, extra) + s = gsub(s, "[<>&]", html_escape) + return format('%s', + irtype_text[t], extra and " irt_extra" or "", s) +end + +local irtype_html = setmetatable({}, + { __index = function(tab, t) + local s = colorize_html(irtype_text[t], t); tab[t] = s; return s; end }) + +local header_html = [[ + +]] + +local colorize, irtype + +-- Lookup tables to convert some literals into names. +local litname = { + ["SLOAD "] = setmetatable({}, { __index = function(t, mode) + local s = "" + if band(mode, 1) ~= 0 then s = s.."P" end + if band(mode, 2) ~= 0 then s = s.."F" end + if band(mode, 4) ~= 0 then s = s.."T" end + if band(mode, 8) ~= 0 then s = s.."C" end + if band(mode, 16) ~= 0 then s = s.."R" end + if band(mode, 32) ~= 0 then s = s.."I" end + if band(mode, 64) ~= 0 then s = s.."K" end + t[mode] = s + return s + end}), + ["XLOAD "] = { [0] = "", "R", "V", "RV", "U", "RU", "VU", "RVU", }, + ["CONV "] = setmetatable({}, { __index = function(t, mode) + local s = irtype[band(mode, 31)] + s = irtype[band(shr(mode, 5), 31)].."."..s + if band(mode, 0x800) ~= 0 then s = s.." sext" end + local c = shr(mode, 12) + if c == 1 then s = s.." none" + elseif c == 2 then s = s.." index" + elseif c == 3 then s = s.." check" end + t[mode] = s + return s + end}), + ["FLOAD "] = vmdef.irfield, + ["FREF "] = vmdef.irfield, + ["FPMATH"] = vmdef.irfpm, + ["TMPREF"] = { [0] = "", "IN", "OUT", "INOUT", "", "", "OUT2", "INOUT2" }, + ["BUFHDR"] = { [0] = "RESET", "APPEND", "WRITE" }, + ["TOSTR "] = { [0] = "INT", "NUM", "CHAR" }, +} + +local function ctlsub(c) + if c == "\n" then return "\\n" + elseif c == "\r" then return "\\r" + elseif c == "\t" then return "\\t" + else return format("\\%03d", byte(c)) + end +end + +local function fmtfunc(func, pc) + local fi = funcinfo(func, pc) + if fi.loc then + return fi.loc + elseif fi.ffid then + return vmdef.ffnames[fi.ffid] + elseif fi.addr then + return format("C:%x", fi.addr) + else + return "(?)" + end +end + +local function formatk(tr, idx, sn) + local k, t, slot = tracek(tr, idx) + local tn = type(k) + local s + if tn == "number" then + if t < 12 then + s = k == 0 and "NULL" or format("[0x%08x]", k) + elseif band(sn or 0, 0x30000) ~= 0 then + s = band(sn, 0x20000) ~= 0 and "contpc" or "ftsz" + elseif k == 2^52+2^51 then + s = "bias" + else + s = format(0 < k and k < 0x1p-1026 and "%+a" or "%+.14g", k) + end + elseif tn == "string" then + s = format(#k > 20 and '"%.20s"~' or '"%s"', gsub(k, "%c", ctlsub)) + elseif tn == "function" then + s = fmtfunc(k) + elseif tn == "table" then + s = format("{%p}", k) + elseif tn == "userdata" then + if t == 12 then + s = format("userdata:%p", k) + else + s = format("[%p]", k) + if s == "[NULL]" then s = "NULL" end + end + elseif t == 21 then -- int64_t + s = sub(tostring(k), 1, -3) + if sub(s, 1, 1) ~= "-" then s = "+"..s end + elseif sn == 0x1057fff then -- SNAP(1, SNAP_FRAME | SNAP_NORESTORE, REF_NIL) + return "----" -- Special case for LJ_FR2 slot 1. + else + s = tostring(k) -- For primitives. + end + s = colorize(format("%-4s", s), t, band(sn or 0, 0x100000) ~= 0) + if slot then + s = format("%s @%d", s, slot) + end + return s +end + +local function printsnap(tr, snap) + local n = 2 + for s=0,snap[1]-1 do + local sn = snap[n] + if shr(sn, 24) == s then + n = n + 1 + local ref = band(sn, 0xffff) - 0x8000 -- REF_BIAS + if ref < 0 then + out:write(formatk(tr, ref, sn)) + elseif band(sn, 0x80000) ~= 0 then -- SNAP_SOFTFPNUM + out:write(colorize(format("%04d/%04d", ref, ref+1), 14)) + else + local m, ot, op1, op2 = traceir(tr, ref) + out:write(colorize(format("%04d", ref), band(ot, 31), band(sn, 0x100000) ~= 0)) + end + out:write(band(sn, 0x10000) == 0 and " " or "|") -- SNAP_FRAME + else + out:write("---- ") + end + end + out:write("]\n") +end + +-- Dump snapshots (not interleaved with IR). +local function dump_snap(tr) + out:write("---- TRACE ", tr, " snapshots\n") + for i=0,1000000000 do + local snap = tracesnap(tr, i) + if not snap then break end + out:write(format("#%-3d %04d [ ", i, snap[0])) + printsnap(tr, snap) + end +end + +-- Return a register name or stack slot for a rid/sp location. +local function ridsp_name(ridsp, ins) + if not disass then disass = require("jit.dis_"..jit.arch) end + local rid, slot = band(ridsp, 0xff), shr(ridsp, 8) + if rid == 253 or rid == 254 then + return (slot == 0 or slot == 255) and " {sink" or format(" {%04d", ins-slot) + end + if ridsp > 255 then return format("[%x]", slot*4) end + if rid < 128 then return disass.regname(rid) end + return "" +end + +-- Dump CALL* function ref and return optional ctype. +local function dumpcallfunc(tr, ins) + local ctype + if ins > 0 then + local m, ot, op1, op2 = traceir(tr, ins) + if band(ot, 31) == 0 then -- nil type means CARG(func, ctype). + ins = op1 + ctype = formatk(tr, op2) + end + end + if ins < 0 then + out:write(format("[0x%x](", tonumber((tracek(tr, ins))))) + else + out:write(format("%04d (", ins)) + end + return ctype +end + +-- Recursively gather CALL* args and dump them. +local function dumpcallargs(tr, ins) + if ins < 0 then + out:write(formatk(tr, ins)) + else + local m, ot, op1, op2 = traceir(tr, ins) + local oidx = 6*shr(ot, 8) + local op = sub(vmdef.irnames, oidx+1, oidx+6) + if op == "CARG " then + dumpcallargs(tr, op1) + if op2 < 0 then + out:write(" ", formatk(tr, op2)) + else + out:write(" ", format("%04d", op2)) + end + else + out:write(format("%04d", ins)) + end + end +end + +-- Dump IR and interleaved snapshots. +local function dump_ir(tr, dumpsnap, dumpreg) + local info = traceinfo(tr) + if not info then return end + local nins = info.nins + out:write("---- TRACE ", tr, " IR\n") + local irnames = vmdef.irnames + local snapref = 65536 + local snap, snapno + if dumpsnap then + snap = tracesnap(tr, 0) + snapref = snap[0] + snapno = 0 + end + for ins=1,nins do + if ins >= snapref then + if dumpreg then + out:write(format(".... SNAP #%-3d [ ", snapno)) + else + out:write(format(".... SNAP #%-3d [ ", snapno)) + end + printsnap(tr, snap) + snapno = snapno + 1 + snap = tracesnap(tr, snapno) + snapref = snap and snap[0] or 65536 + end + local m, ot, op1, op2, ridsp = traceir(tr, ins) + local oidx, t = 6*shr(ot, 8), band(ot, 31) + local op = sub(irnames, oidx+1, oidx+6) + if op == "LOOP " then + if dumpreg then + out:write(format("%04d ------------ LOOP ------------\n", ins)) + else + out:write(format("%04d ------ LOOP ------------\n", ins)) + end + elseif op ~= "NOP " and op ~= "CARG " and + (dumpreg or op ~= "RENAME") then + local rid = band(ridsp, 255) + if dumpreg then + out:write(format("%04d %-6s", ins, ridsp_name(ridsp, ins))) + else + out:write(format("%04d ", ins)) + end + out:write(format("%s%s %s %s ", + (rid == 254 or rid == 253) and "}" or + (band(ot, 128) == 0 and " " or ">"), + band(ot, 64) == 0 and " " or "+", + irtype[t], op)) + local m1, m2 = band(m, 3), band(m, 3*4) + if sub(op, 1, 4) == "CALL" then + local ctype + if m2 == 1*4 then -- op2 == IRMlit + out:write(format("%-10s (", vmdef.ircall[op2])) + else + ctype = dumpcallfunc(tr, op2) + end + if op1 ~= -1 then dumpcallargs(tr, op1) end + out:write(")") + if ctype then out:write(" ctype ", ctype) end + elseif op == "CNEW " and op2 == -1 then + out:write(formatk(tr, op1)) + elseif m1 ~= 3 then -- op1 != IRMnone + if op1 < 0 then + out:write(formatk(tr, op1)) + else + out:write(format(m1 == 0 and "%04d" or "#%-3d", op1)) + end + if m2 ~= 3*4 then -- op2 != IRMnone + if m2 == 1*4 then -- op2 == IRMlit + local litn = litname[op] + if litn and litn[op2] then + out:write(" ", litn[op2]) + elseif op == "UREFO " or op == "UREFC " then + out:write(format(" #%-3d", shr(op2, 8))) + else + out:write(format(" #%-3d", op2)) + end + elseif op2 < 0 then + out:write(" ", formatk(tr, op2)) + else + out:write(format(" %04d", op2)) + end + end + end + out:write("\n") + end + end + if snap then + if dumpreg then + out:write(format(".... SNAP #%-3d [ ", snapno)) + else + out:write(format(".... SNAP #%-3d [ ", snapno)) + end + printsnap(tr, snap) + end +end + +------------------------------------------------------------------------------ + +local recprefix = "" +local recdepth = 0 + +-- Format trace error message. +local function fmterr(err, info) + if type(err) == "number" then + if type(info) == "function" then info = fmtfunc(info) end + err = format(vmdef.traceerr[err], info) + end + return err +end + +-- Dump trace states. +local function dump_trace(what, tr, func, pc, otr, oex) + if what == "stop" or (what == "abort" and dumpmode.a) then + if dumpmode.i then dump_ir(tr, dumpmode.s, dumpmode.r and what == "stop") + elseif dumpmode.s then dump_snap(tr) end + if dumpmode.m then dump_mcode(tr) end + end + if what == "start" then + if dumpmode.H then out:write('

    \n') end
    +    out:write("---- TRACE ", tr, " ", what)
    +    if otr then out:write(" ", otr, "/", oex == -1 and "stitch" or oex) end
    +    out:write(" ", fmtfunc(func, pc), "\n")
    +  elseif what == "stop" or what == "abort" then
    +    out:write("---- TRACE ", tr, " ", what)
    +    if what == "abort" then
    +      out:write(" ", fmtfunc(func, pc), " -- ", fmterr(otr, oex), "\n")
    +    else
    +      local info = traceinfo(tr)
    +      local link, ltype = info.link, info.linktype
    +      if link == tr or link == 0 then
    +	out:write(" -> ", ltype, "\n")
    +      elseif ltype == "root" then
    +	out:write(" -> ", link, "\n")
    +      else
    +	out:write(" -> ", link, " ", ltype, "\n")
    +      end
    +    end
    +    if dumpmode.H then out:write("
    \n\n") else out:write("\n") end + else + if what == "flush" then symtab, nexitsym = {}, 0 end + out:write("---- TRACE ", what, "\n\n") + end + out:flush() +end + +-- Dump recorded bytecode. +local function dump_record(tr, func, pc, depth) + if depth ~= recdepth then + recdepth = depth + recprefix = rep(" .", depth) + end + local line + if pc >= 0 then + line = bcline(func, pc, recprefix) + if dumpmode.H then line = gsub(line, "[<>&]", html_escape) end + else + line = "0000 "..recprefix.." FUNCC \n" + end + if pc <= 0 then + out:write(sub(line, 1, -2), " ; ", fmtfunc(func), "\n") + else + out:write(line) + end + if pc >= 0 and band(funcbc(func, pc), 0xff) < 16 then -- ORDER BC + out:write(bcline(func, pc+1, recprefix)) -- Write JMP for cond. + end +end + +------------------------------------------------------------------------------ + +local gpr64 = jit.arch:match("64") +local fprmips32 = jit.arch == "mips" or jit.arch == "mipsel" + +-- Dump taken trace exits. +local function dump_texit(tr, ex, ngpr, nfpr, ...) + out:write("---- TRACE ", tr, " exit ", ex, "\n") + if dumpmode.X then + local regs = {...} + if gpr64 then + for i=1,ngpr do + out:write(format(" %016x", regs[i])) + if i % 4 == 0 then out:write("\n") end + end + else + for i=1,ngpr do + out:write(" ", tohex(regs[i])) + if i % 8 == 0 then out:write("\n") end + end + end + if fprmips32 then + for i=1,nfpr,2 do + out:write(format(" %+17.14g", regs[ngpr+i])) + if i % 8 == 7 then out:write("\n") end + end + else + for i=1,nfpr do + out:write(format(" %+17.14g", regs[ngpr+i])) + if i % 4 == 0 then out:write("\n") end + end + end + end +end + +------------------------------------------------------------------------------ + +-- Detach dump handlers. +local function dumpoff() + if active then + active = false + jit.attach(dump_texit) + jit.attach(dump_record) + jit.attach(dump_trace) + if out and out ~= stdout and out ~= stderr then out:close() end + out = nil + end +end + +-- Open the output file and attach dump handlers. +local function dumpon(opt, outfile) + if active then dumpoff() end + + local term = os.getenv("TERM") + local colormode = (term and term:match("color") or os.getenv("COLORTERM")) and "A" or "T" + if opt then + opt = gsub(opt, "[TAH]", function(mode) colormode = mode; return ""; end) + end + + local m = { t=true, b=true, i=true, m=true, } + if opt and opt ~= "" then + local o = sub(opt, 1, 1) + if o ~= "+" and o ~= "-" then m = {} end + for i=1,#opt do m[sub(opt, i, i)] = (o ~= "-") end + end + dumpmode = m + + if m.t or m.b or m.i or m.s or m.m then + jit.attach(dump_trace, "trace") + end + if m.b then + jit.attach(dump_record, "record") + if not bcline then bcline = require("jit.bc").line end + end + if m.x or m.X then + jit.attach(dump_texit, "texit") + end + + if not outfile then outfile = os.getenv("LUAJIT_DUMPFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stdout + end + + m[colormode] = true + if colormode == "A" then + colorize = colorize_ansi + irtype = irtype_ansi + elseif colormode == "H" then + colorize = colorize_html + irtype = irtype_html + out:write(header_html) + else + colorize = colorize_text + irtype = irtype_text + end + + active = true +end + +-- Public module functions. +return { + on = dumpon, + off = dumpoff, + start = dumpon -- For -j command line option. +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/p.lua b/libs/LuaJIT/android/armeabi-v7a/jit/p.lua new file mode 100644 index 00000000..c9ec1d8b --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/p.lua @@ -0,0 +1,312 @@ +---------------------------------------------------------------------------- +-- LuaJIT profiler. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module is a simple command line interface to the built-in +-- low-overhead profiler of LuaJIT. +-- +-- The lower-level API of the profiler is accessible via the "jit.profile" +-- module or the luaJIT_profile_* C API. +-- +-- Example usage: +-- +-- luajit -jp myapp.lua +-- luajit -jp=s myapp.lua +-- luajit -jp=-s myapp.lua +-- luajit -jp=vl myapp.lua +-- luajit -jp=G,profile.txt myapp.lua +-- +-- The following dump features are available: +-- +-- f Stack dump: function name, otherwise module:line. Default mode. +-- F Stack dump: ditto, but always prepend module. +-- l Stack dump: module:line. +-- stack dump depth (callee < caller). Default: 1. +-- - Inverse stack dump depth (caller > callee). +-- s Split stack dump after first stack level. Implies abs(depth) >= 2. +-- p Show full path for module names. +-- v Show VM states. Can be combined with stack dumps, e.g. vf or fv. +-- z Show zones. Can be combined with stack dumps, e.g. zf or fz. +-- r Show raw sample counts. Default: show percentages. +-- a Annotate excerpts from source code files. +-- A Annotate complete source code files. +-- G Produce raw output suitable for graphical tools (e.g. flame graphs). +-- m Minimum sample percentage to be shown. Default: 3. +-- i Sampling interval in milliseconds. Default: 10. +-- +---------------------------------------------------------------------------- + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local profile = require("jit.profile") +local vmdef = require("jit.vmdef") +local math = math +local pairs, ipairs, tonumber, floor = pairs, ipairs, tonumber, math.floor +local sort, format = table.sort, string.format +local stdout = io.stdout +local zone -- Load jit.zone module on demand. + +-- Output file handle. +local out + +------------------------------------------------------------------------------ + +local prof_ud +local prof_states, prof_split, prof_min, prof_raw, prof_fmt, prof_depth +local prof_ann, prof_count1, prof_count2, prof_samples + +local map_vmmode = { + N = "Compiled", + I = "Interpreted", + C = "C code", + G = "Garbage Collector", + J = "JIT Compiler", +} + +-- Profiler callback. +local function prof_cb(th, samples, vmmode) + prof_samples = prof_samples + samples + local key_stack, key_stack2, key_state + -- Collect keys for sample. + if prof_states then + if prof_states == "v" then + key_state = map_vmmode[vmmode] or vmmode + else + key_state = zone:get() or "(none)" + end + end + if prof_fmt then + key_stack = profile.dumpstack(th, prof_fmt, prof_depth) + key_stack = key_stack:gsub("%[builtin#(%d+)%]", function(x) + return vmdef.ffnames[tonumber(x)] + end) + if prof_split == 2 then + local k1, k2 = key_stack:match("(.-) [<>] (.*)") + if k2 then key_stack, key_stack2 = k1, k2 end + elseif prof_split == 3 then + key_stack2 = profile.dumpstack(th, "l", 1) + end + end + -- Order keys. + local k1, k2 + if prof_split == 1 then + if key_state then + k1 = key_state + if key_stack then k2 = key_stack end + end + elseif key_stack then + k1 = key_stack + if key_stack2 then k2 = key_stack2 elseif key_state then k2 = key_state end + end + -- Coalesce samples in one or two levels. + if k1 then + local t1 = prof_count1 + t1[k1] = (t1[k1] or 0) + samples + if k2 then + local t2 = prof_count2 + local t3 = t2[k1] + if not t3 then t3 = {}; t2[k1] = t3 end + t3[k2] = (t3[k2] or 0) + samples + end + end +end + +------------------------------------------------------------------------------ + +-- Show top N list. +local function prof_top(count1, count2, samples, indent) + local t, n = {}, 0 + for k in pairs(count1) do + n = n + 1 + t[n] = k + end + sort(t, function(a, b) return count1[a] > count1[b] end) + for i=1,n do + local k = t[i] + local v = count1[k] + local pct = floor(v*100/samples + 0.5) + if pct < prof_min then break end + if not prof_raw then + out:write(format("%s%2d%% %s\n", indent, pct, k)) + elseif prof_raw == "r" then + out:write(format("%s%5d %s\n", indent, v, k)) + else + out:write(format("%s %d\n", k, v)) + end + if count2 then + local r = count2[k] + if r then + prof_top(r, nil, v, (prof_split == 3 or prof_split == 1) and " -- " or + (prof_depth < 0 and " -> " or " <- ")) + end + end + end +end + +-- Annotate source code +local function prof_annotate(count1, samples) + local files = {} + local ms = 0 + for k, v in pairs(count1) do + local pct = floor(v*100/samples + 0.5) + ms = math.max(ms, v) + if pct >= prof_min then + local file, line = k:match("^(.*):(%d+)$") + if not file then file = k; line = 0 end + local fl = files[file] + if not fl then fl = {}; files[file] = fl; files[#files+1] = file end + line = tonumber(line) + fl[line] = prof_raw and v or pct + end + end + sort(files) + local fmtv, fmtn = " %3d%% | %s\n", " | %s\n" + if prof_raw then + local n = math.max(5, math.ceil(math.log10(ms))) + fmtv = "%"..n.."d | %s\n" + fmtn = (" "):rep(n).." | %s\n" + end + local ann = prof_ann + for _, file in ipairs(files) do + local f0 = file:byte() + if f0 == 40 or f0 == 91 then + out:write(format("\n====== %s ======\n[Cannot annotate non-file]\n", file)) + break + end + local fp, err = io.open(file) + if not fp then + out:write(format("====== ERROR: %s: %s\n", file, err)) + break + end + out:write(format("\n====== %s ======\n", file)) + local fl = files[file] + local n, show = 1, false + if ann ~= 0 then + for i=1,ann do + if fl[i] then show = true; out:write("@@ 1 @@\n"); break end + end + end + for line in fp:lines() do + if line:byte() == 27 then + out:write("[Cannot annotate bytecode file]\n") + break + end + local v = fl[n] + if ann ~= 0 then + local v2 = fl[n+ann] + if show then + if v2 then show = n+ann elseif v then show = n + elseif show+ann < n then show = false end + elseif v2 then + show = n+ann + out:write(format("@@ %d @@\n", n)) + end + if not show then goto next end + end + if v then + out:write(format(fmtv, v, line)) + else + out:write(format(fmtn, line)) + end + ::next:: + n = n + 1 + end + fp:close() + end +end + +------------------------------------------------------------------------------ + +-- Finish profiling and dump result. +local function prof_finish() + if prof_ud then + profile.stop() + local samples = prof_samples + if samples == 0 then + if prof_raw ~= true then out:write("[No samples collected]\n") end + return + end + if prof_ann then + prof_annotate(prof_count1, samples) + else + prof_top(prof_count1, prof_count2, samples, "") + end + prof_count1 = nil + prof_count2 = nil + prof_ud = nil + if out ~= stdout then out:close() end + end +end + +-- Start profiling. +local function prof_start(mode) + local interval = "" + mode = mode:gsub("i%d*", function(s) interval = s; return "" end) + prof_min = 3 + mode = mode:gsub("m(%d+)", function(s) prof_min = tonumber(s); return "" end) + prof_depth = 1 + mode = mode:gsub("%-?%d+", function(s) prof_depth = tonumber(s); return "" end) + local m = {} + for c in mode:gmatch(".") do m[c] = c end + prof_states = m.z or m.v + if prof_states == "z" then zone = require("jit.zone") end + local scope = m.l or m.f or m.F or (prof_states and "" or "f") + local flags = (m.p or "") + prof_raw = m.r + if m.s then + prof_split = 2 + if prof_depth == -1 or m["-"] then prof_depth = -2 + elseif prof_depth == 1 then prof_depth = 2 end + elseif mode:find("[fF].*l") then + scope = "l" + prof_split = 3 + else + prof_split = (scope == "" or mode:find("[zv].*[lfF]")) and 1 or 0 + end + prof_ann = m.A and 0 or (m.a and 3) + if prof_ann then + scope = "l" + prof_fmt = "pl" + prof_split = 0 + prof_depth = 1 + elseif m.G and scope ~= "" then + prof_fmt = flags..scope.."Z;" + prof_depth = -100 + prof_raw = true + prof_min = 0 + elseif scope == "" then + prof_fmt = false + else + local sc = prof_split == 3 and m.f or m.F or scope + prof_fmt = flags..sc..(prof_depth >= 0 and "Z < " or "Z > ") + end + prof_count1 = {} + prof_count2 = {} + prof_samples = 0 + profile.start(scope:lower()..interval, prof_cb) + prof_ud = newproxy(true) + getmetatable(prof_ud).__gc = prof_finish +end + +------------------------------------------------------------------------------ + +local function start(mode, outfile) + if not outfile then outfile = os.getenv("LUAJIT_PROFILEFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stdout + end + prof_start(mode or "f") +end + +-- Public module functions. +return { + start = start, -- For -j command line option. + stop = prof_finish +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/v.lua b/libs/LuaJIT/android/armeabi-v7a/jit/v.lua new file mode 100644 index 00000000..83589143 --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/v.lua @@ -0,0 +1,170 @@ +---------------------------------------------------------------------------- +-- Verbose mode of the LuaJIT compiler. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module shows verbose information about the progress of the +-- JIT compiler. It prints one line for each generated trace. This module +-- is useful to see which code has been compiled or where the compiler +-- punts and falls back to the interpreter. +-- +-- Example usage: +-- +-- luajit -jv -e "for i=1,1000 do for j=1,1000 do end end" +-- luajit -jv=myapp.out myapp.lua +-- +-- Default output is to stderr. To redirect the output to a file, pass a +-- filename as an argument (use '-' for stdout) or set the environment +-- variable LUAJIT_VERBOSEFILE. The file is overwritten every time the +-- module is started. +-- +-- The output from the first example should look like this: +-- +-- [TRACE 1 (command line):1 loop] +-- [TRACE 2 (1/3) (command line):1 -> 1] +-- +-- The first number in each line is the internal trace number. Next are +-- the file name ('(command line)') and the line number (':1') where the +-- trace has started. Side traces also show the parent trace number and +-- the exit number where they are attached to in parentheses ('(1/3)'). +-- An arrow at the end shows where the trace links to ('-> 1'), unless +-- it loops to itself. +-- +-- In this case the inner loop gets hot and is traced first, generating +-- a root trace. Then the last exit from the 1st trace gets hot, too, +-- and triggers generation of the 2nd trace. The side trace follows the +-- path along the outer loop and *around* the inner loop, back to its +-- start, and then links to the 1st trace. Yes, this may seem unusual, +-- if you know how traditional compilers work. Trace compilers are full +-- of surprises like this -- have fun! :-) +-- +-- Aborted traces are shown like this: +-- +-- [TRACE --- foo.lua:44 -- leaving loop in root trace at foo:lua:50] +-- +-- Don't worry -- trace aborts are quite common, even in programs which +-- can be fully compiled. The compiler may retry several times until it +-- finds a suitable trace. +-- +-- Of course this doesn't work with features that are not-yet-implemented +-- (NYI error messages). The VM simply falls back to the interpreter. This +-- may not matter at all if the particular trace is not very high up in +-- the CPU usage profile. Oh, and the interpreter is quite fast, too. +-- +-- Also check out the -jdump module, which prints all the gory details. +-- +------------------------------------------------------------------------------ + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local jutil = require("jit.util") +local vmdef = require("jit.vmdef") +local funcinfo, traceinfo = jutil.funcinfo, jutil.traceinfo +local type, format = type, string.format +local stdout, stderr = io.stdout, io.stderr + +-- Active flag and output file handle. +local active, out + +------------------------------------------------------------------------------ + +local startloc, startex + +local function fmtfunc(func, pc) + local fi = funcinfo(func, pc) + if fi.loc then + return fi.loc + elseif fi.ffid then + return vmdef.ffnames[fi.ffid] + elseif fi.addr then + return format("C:%x", fi.addr) + else + return "(?)" + end +end + +-- Format trace error message. +local function fmterr(err, info) + if type(err) == "number" then + if type(info) == "function" then info = fmtfunc(info) end + err = format(vmdef.traceerr[err], info) + end + return err +end + +-- Dump trace states. +local function dump_trace(what, tr, func, pc, otr, oex) + if what == "start" then + startloc = fmtfunc(func, pc) + startex = otr and "("..otr.."/"..(oex == -1 and "stitch" or oex)..") " or "" + else + if what == "abort" then + local loc = fmtfunc(func, pc) + if loc ~= startloc then + out:write(format("[TRACE --- %s%s -- %s at %s]\n", + startex, startloc, fmterr(otr, oex), loc)) + else + out:write(format("[TRACE --- %s%s -- %s]\n", + startex, startloc, fmterr(otr, oex))) + end + elseif what == "stop" then + local info = traceinfo(tr) + local link, ltype = info.link, info.linktype + if ltype == "interpreter" then + out:write(format("[TRACE %3s %s%s -- fallback to interpreter]\n", + tr, startex, startloc)) + elseif ltype == "stitch" then + out:write(format("[TRACE %3s %s%s %s %s]\n", + tr, startex, startloc, ltype, fmtfunc(func, pc))) + elseif link == tr or link == 0 then + out:write(format("[TRACE %3s %s%s %s]\n", + tr, startex, startloc, ltype)) + elseif ltype == "root" then + out:write(format("[TRACE %3s %s%s -> %d]\n", + tr, startex, startloc, link)) + else + out:write(format("[TRACE %3s %s%s -> %d %s]\n", + tr, startex, startloc, link, ltype)) + end + else + out:write(format("[TRACE %s]\n", what)) + end + out:flush() + end +end + +------------------------------------------------------------------------------ + +-- Detach dump handlers. +local function dumpoff() + if active then + active = false + jit.attach(dump_trace) + if out and out ~= stdout and out ~= stderr then out:close() end + out = nil + end +end + +-- Open the output file and attach dump handlers. +local function dumpon(outfile) + if active then dumpoff() end + if not outfile then outfile = os.getenv("LUAJIT_VERBOSEFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stderr + end + jit.attach(dump_trace, "trace") + active = true +end + +-- Public module functions. +return { + on = dumpon, + off = dumpoff, + start = dumpon -- For -j command line option. +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/vmdef.lua b/libs/LuaJIT/android/armeabi-v7a/jit/vmdef.lua new file mode 100644 index 00000000..68ff7ba2 --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/vmdef.lua @@ -0,0 +1,395 @@ +-- This is a generated file. DO NOT EDIT! + +return { + +bcnames = "ISLT ISGE ISLE ISGT ISEQV ISNEV ISEQS ISNES ISEQN ISNEN ISEQP ISNEP ISTC ISFC IST ISF ISTYPEISNUM MOV NOT UNM LEN ADDVN SUBVN MULVN DIVVN MODVN ADDNV SUBNV MULNV DIVNV MODNV ADDVV SUBVV MULVV DIVVV MODVV POW CAT KSTR KCDATAKSHORTKNUM KPRI KNIL UGET USETV USETS USETN USETP UCLO FNEW TNEW TDUP GGET GSET TGETV TGETS TGETB TGETR TSETV TSETS TSETB TSETM TSETR CALLM CALL CALLMTCALLT ITERC ITERN VARG ISNEXTRETM RET RET0 RET1 FORI JFORI FORL IFORL JFORL ITERL IITERLJITERLLOOP ILOOP JLOOP JMP FUNCF IFUNCFJFUNCFFUNCV IFUNCVJFUNCVFUNCC FUNCCW", + +irnames = "LT GE LE GT ULT UGE ULE UGT EQ NE ABC RETF NOP BASE PVAL GCSTEPHIOP LOOP USE PHI RENAMEPROF KPRI KINT KGC KPTR KKPTR KNULL KNUM KINT64KSLOT BNOT BSWAP BAND BOR BXOR BSHL BSHR BSAR BROL BROR ADD SUB MUL DIV MOD POW NEG ABS LDEXP MIN MAX FPMATHADDOV SUBOV MULOV AREF HREFK HREF NEWREFUREFO UREFC FREF TMPREFSTRREFLREF ALOAD HLOAD ULOAD FLOAD XLOAD SLOAD VLOAD ALEN ASTOREHSTOREUSTOREFSTOREXSTORESNEW XSNEW TNEW TDUP CNEW CNEWI BUFHDRBUFPUTBUFSTRTBAR OBAR XBAR CONV TOBIT TOSTR STRTO CALLN CALLA CALLL CALLS CALLXSCARG ", + +irfpm = { [0]="floor", "ceil", "trunc", "sqrt", "log", "log2", "other", }, + +irfield = { [0]="str.len", "func.env", "func.pc", "func.ffid", "thread.env", "tab.meta", "tab.array", "tab.node", "tab.asize", "tab.hmask", "tab.nomm", "udata.meta", "udata.udtype", "udata.file", "sbuf.w", "sbuf.e", "sbuf.b", "sbuf.l", "sbuf.ref", "sbuf.r", "cdata.ctypeid", "cdata.ptr", "cdata.int", "cdata.int64", "cdata.int64_4", }, + +ircall = { +[0]="lj_str_cmp", +"lj_str_find", +"lj_str_new", +"lj_strscan_num", +"lj_strfmt_int", +"lj_strfmt_num", +"lj_strfmt_char", +"lj_strfmt_putint", +"lj_strfmt_putnum", +"lj_strfmt_putquoted", +"lj_strfmt_putfxint", +"lj_strfmt_putfnum_int", +"lj_strfmt_putfnum_uint", +"lj_strfmt_putfnum", +"lj_strfmt_putfstr", +"lj_strfmt_putfchar", +"lj_buf_putmem", +"lj_buf_putstr", +"lj_buf_putchar", +"lj_buf_putstr_reverse", +"lj_buf_putstr_lower", +"lj_buf_putstr_upper", +"lj_buf_putstr_rep", +"lj_buf_puttab", +"lj_bufx_set", +"lj_bufx_more", +"lj_serialize_put", +"lj_serialize_get", +"lj_serialize_encode", +"lj_serialize_decode", +"lj_buf_tostr", +"lj_tab_new_ah", +"lj_tab_new1", +"lj_tab_dup", +"lj_tab_clear", +"lj_tab_newkey", +"lj_tab_keyindex", +"lj_vm_next", +"lj_tab_len", +"lj_tab_len_hint", +"lj_gc_step_jit", +"lj_gc_barrieruv", +"lj_mem_newgco", +"lj_prng_u64d", +"lj_vm_modi", +"log10", +"exp", +"sin", +"cos", +"tan", +"asin", +"acos", +"atan", +"sinh", +"cosh", +"tanh", +"fputc", +"fwrite", +"fflush", +"lj_vm_floor", +"lj_vm_ceil", +"lj_vm_trunc", +"sqrt", +"log", +"lj_vm_log2", +"lj_vm_powi", +"pow", +"atan2", +"ldexp", +"lj_vm_tobit", +"softfp_add", +"softfp_sub", +"softfp_mul", +"softfp_div", +"softfp_cmp", +"softfp_i2d", +"softfp_d2i", +"lj_vm_sfmin", +"lj_vm_sfmax", +"lj_vm_tointg", +"softfp_ui2d", +"softfp_f2d", +"softfp_d2ui", +"softfp_d2f", +"softfp_i2f", +"softfp_ui2f", +"softfp_f2i", +"softfp_f2ui", +"fp64_l2d", +"fp64_ul2d", +"fp64_l2f", +"fp64_ul2f", +"fp64_d2l", +"fp64_d2ul", +"fp64_f2l", +"fp64_f2ul", +"lj_carith_divi64", +"lj_carith_divu64", +"lj_carith_modi64", +"lj_carith_modu64", +"lj_carith_powi64", +"lj_carith_powu64", +"lj_cdata_newv", +"lj_cdata_setfin", +"strlen", +"memcpy", +"memset", +"lj_vm_errno", +"lj_carith_mul64", +"lj_carith_shl64", +"lj_carith_shr64", +"lj_carith_sar64", +"lj_carith_rol64", +"lj_carith_ror64", +}, + +traceerr = { +[0]="error thrown or hook called during recording", +"trace too short", +"trace too long", +"trace too deep", +"too many snapshots", +"blacklisted", +"retry recording", +"NYI: bytecode %d", +"leaving loop in root trace", +"inner loop in root trace", +"loop unroll limit reached", +"bad argument type", +"JIT compilation disabled for function", +"call unroll limit reached", +"down-recursion, restarting", +"NYI: unsupported variant of FastFunc %s", +"NYI: return to lower frame", +"store with nil or NaN key", +"missing metamethod", +"looping index lookup", +"NYI: mixed sparse/dense table", +"symbol not in cache", +"NYI: unsupported C type conversion", +"NYI: unsupported C function type", +"guard would always fail", +"too many PHIs", +"persistent type instability", +"failed to allocate mcode memory", +"machine code too long", +"hit mcode limit (retrying)", +"too many spill slots", +"inconsistent register allocation", +"NYI: cannot assemble IR instruction %d", +"NYI: PHI shuffling too complex", +"NYI: register coalescing too complex", +}, + +ffnames = { +[0]="Lua", +"C", +"assert", +"type", +"next", +"pairs", +"ipairs_aux", +"ipairs", +"getmetatable", +"setmetatable", +"getfenv", +"setfenv", +"rawget", +"rawset", +"rawequal", +"unpack", +"select", +"tonumber", +"tostring", +"error", +"pcall", +"xpcall", +"loadfile", +"load", +"loadstring", +"dofile", +"gcinfo", +"collectgarbage", +"newproxy", +"print", +"coroutine.status", +"coroutine.running", +"coroutine.isyieldable", +"coroutine.create", +"coroutine.yield", +"coroutine.resume", +"coroutine.wrap_aux", +"coroutine.wrap", +"math.abs", +"math.floor", +"math.ceil", +"math.sqrt", +"math.log10", +"math.exp", +"math.sin", +"math.cos", +"math.tan", +"math.asin", +"math.acos", +"math.atan", +"math.sinh", +"math.cosh", +"math.tanh", +"math.frexp", +"math.modf", +"math.log", +"math.atan2", +"math.pow", +"math.fmod", +"math.ldexp", +"math.min", +"math.max", +"math.random", +"math.randomseed", +"bit.tobit", +"bit.bnot", +"bit.bswap", +"bit.lshift", +"bit.rshift", +"bit.arshift", +"bit.rol", +"bit.ror", +"bit.band", +"bit.bor", +"bit.bxor", +"bit.tohex", +"string.byte", +"string.char", +"string.sub", +"string.rep", +"string.reverse", +"string.lower", +"string.upper", +"string.dump", +"string.find", +"string.match", +"string.gmatch_aux", +"string.gmatch", +"string.gsub", +"string.format", +"table.maxn", +"table.insert", +"table.concat", +"table.sort", +"table.new", +"table.clear", +"io.method.close", +"io.method.read", +"io.method.write", +"io.method.flush", +"io.method.seek", +"io.method.setvbuf", +"io.method.lines", +"io.method.__gc", +"io.method.__tostring", +"io.open", +"io.popen", +"io.tmpfile", +"io.close", +"io.read", +"io.write", +"io.flush", +"io.input", +"io.output", +"io.lines", +"io.type", +"os.execute", +"os.remove", +"os.rename", +"os.tmpname", +"os.getenv", +"os.exit", +"os.clock", +"os.date", +"os.time", +"os.difftime", +"os.setlocale", +"debug.getregistry", +"debug.getmetatable", +"debug.setmetatable", +"debug.getfenv", +"debug.setfenv", +"debug.getinfo", +"debug.getlocal", +"debug.setlocal", +"debug.getupvalue", +"debug.setupvalue", +"debug.upvalueid", +"debug.upvaluejoin", +"debug.sethook", +"debug.gethook", +"debug.debug", +"debug.traceback", +"jit.on", +"jit.off", +"jit.flush", +"jit.status", +"jit.security", +"jit.attach", +"jit.util.funcinfo", +"jit.util.funcbc", +"jit.util.funck", +"jit.util.funcuvname", +"jit.util.traceinfo", +"jit.util.traceir", +"jit.util.tracek", +"jit.util.tracesnap", +"jit.util.tracemc", +"jit.util.traceexitstub", +"jit.util.ircalladdr", +"jit.opt.start", +"jit.profile.start", +"jit.profile.stop", +"jit.profile.dumpstack", +"ffi.meta.__index", +"ffi.meta.__newindex", +"ffi.meta.__eq", +"ffi.meta.__len", +"ffi.meta.__lt", +"ffi.meta.__le", +"ffi.meta.__concat", +"ffi.meta.__call", +"ffi.meta.__add", +"ffi.meta.__sub", +"ffi.meta.__mul", +"ffi.meta.__div", +"ffi.meta.__mod", +"ffi.meta.__pow", +"ffi.meta.__unm", +"ffi.meta.__tostring", +"ffi.meta.__pairs", +"ffi.meta.__ipairs", +"ffi.clib.__index", +"ffi.clib.__newindex", +"ffi.clib.__gc", +"ffi.callback.free", +"ffi.callback.set", +"ffi.cdef", +"ffi.new", +"ffi.cast", +"ffi.typeof", +"ffi.typeinfo", +"ffi.istype", +"ffi.sizeof", +"ffi.alignof", +"ffi.offsetof", +"ffi.errno", +"ffi.string", +"ffi.copy", +"ffi.fill", +"ffi.abi", +"ffi.metatype", +"ffi.gc", +"ffi.load", +"buffer.method.free", +"buffer.method.reset", +"buffer.method.skip", +"buffer.method.set", +"buffer.method.put", +"buffer.method.putf", +"buffer.method.get", +"buffer.method.putcdata", +"buffer.method.reserve", +"buffer.method.commit", +"buffer.method.ref", +"buffer.method.encode", +"buffer.method.decode", +"buffer.method.__gc", +"buffer.method.__tostring", +"buffer.method.__len", +"buffer.new", +"buffer.encode", +"buffer.decode", +}, + +} + diff --git a/libs/LuaJIT/android/armeabi-v7a/jit/zone.lua b/libs/LuaJIT/android/armeabi-v7a/jit/zone.lua new file mode 100644 index 00000000..94357854 --- /dev/null +++ b/libs/LuaJIT/android/armeabi-v7a/jit/zone.lua @@ -0,0 +1,45 @@ +---------------------------------------------------------------------------- +-- LuaJIT profiler zones. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module implements a simple hierarchical zone model. +-- +-- Example usage: +-- +-- local zone = require("jit.zone") +-- zone("AI") +-- ... +-- zone("A*") +-- ... +-- print(zone:get()) --> "A*" +-- ... +-- zone() +-- ... +-- print(zone:get()) --> "AI" +-- ... +-- zone() +-- +---------------------------------------------------------------------------- + +local remove = table.remove + +return setmetatable({ + flush = function(t) + for i=#t,1,-1 do t[i] = nil end + end, + get = function(t) + return t[#t] + end +}, { + __call = function(t, zone) + if zone then + t[#t+1] = zone + else + return (assert(remove(t), "empty zone stack")) + end + end +}) + diff --git a/libs/LuaJIT/android/armeabi-v7a/libluajit.a b/libs/LuaJIT/android/armeabi-v7a/libluajit.a index 0114cff9430ef30c2f145c36259e539c7481f511..4f3ddbc74b0df39e60d799fbc3bf1631cf220f48 100644 GIT binary patch literal 775800 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

    b8zHC2|%$5I;uv5`7R~ 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

    V{;YVjXjA+-SJFO#+rnR&M|{oY^QrIp zU0duvb+t!v4plbo$ZL*C)9$ocsrh!%c&iEQJ~!+c%rD?SG6#7C2eom4z4h>jiTNk> zZtNt&HRhl9@T@s#;J9PG)Vl|0&l+F$wxn*!K9O7;;aNZO`{cCGfm^4#=pGoa>niNk z>wTm1c4WWTc{^LzrHszoS+_3X8y)z>ONW}**jLZ-v^R%X22T{BJ@E!N+sD3T`TuPV zud7hbv>GvmwQp-{(|J2v4?1rrrG8E;HK>PqIr^@h=cIpGX#9YG_-zw%xYCpTQ+ob$ z>KC4B9WA+ua=VrO7jb&?vnk1bb>N%1(3kdj$qzVF6#j_sACMExJ~x=SO!3TS{-*W7 zW50cWL-86-4V@A5Y1xdtva2-WFN5B$K<}Cws{0l6VWv_KB#YyR$~ekr$P0d+U%cPK zjAuPki| z7sbB+&mqs{h*vR<{efNh`xA>6-}LpAS!4b2%dm$zx{E6fKPqs~akUc1s*5wYGT1J2 zz@*dN8rJ!)lQ~@T`S*&pPvJiE5PG?-$S$lykefRhFVO^glSMjDEI4KcbY1qJX8!q2 z{0!bNI)Q#e>tmWXYK&1D8miHcBoA;{sBzIaHkb1VLyyh_`T1VxEH#C;ACSAr@ z^x9a&eg6B&Bi$sn+jtFEhmTwm%*Dq`>-DD(kM>z+7#pW>lc%9r7KRM}4x_E~R|!saZz*kF~Vf z)Hk)8c2tI<_UGd`s%O#O%Zl2Ab&1w2#8Jhjy}WYFSq)xH+mq4o=|@0wgEa8;e^%TJo-ym^%k%p*VcpCc{W6LW#Th<0SEcZ6#gkM^qk z@+3>KE~Gx~VIjR=vFwqPu=lbbrgY05^N?cL6I*%?_bT#NvF>X)K~=l3=< zw5QE%-lIMVPt=#K{H8Gw`~~}DjsC(UcnB7y!gHaL(N@>l^=$Ot+g>`Ty)LTOTgQ`FU^#T*5Z4Yz;|oF zTl8@iaB$!gSJBtUsOx^@Y3b2hD<)7JyWXz?Hy5~8mcWA-dk%Cyax-g6@ctlLbk!H} zO-on6nt1K-CVU~-7rJC(U+59$a2u~(->QC zif-~Cekgo>?6MeBW{1vi#O$Rk=FMs}S@16E4=baTEqO=pcKF)Q#{wKQKV zLa(BEc%ou2Sej?QTdiL2cS%?L(p0_PYoK#8!a0)cgVTOE`F6Jgn{@TS-qEw6As5;f zjpx|!l5)?1ZWLo3?2K!en-bjBK3BD0>%11%?#r-npniB~Ik=v@ORG(>;j2*$(vQVupudUe zJ6_vL&X>%jzG!W&y}jaXe`@E$gU`{rbW$0jQMJdRJrnDNI_GG?``c?azU4t{RF!`z zWq*uw^VHT)fMYs)Nc%?@aer4_r`phJ=ijyATPM|-=rn<&)rqS9)8p?HJEr+t`ThuQ z&3zW^lD5jnO8NqLNw<8Z+IcS^lSmGW{7I0}@g$bYc zqtPCfgYBurH9_zA2y^6t82hsA2>xnA(kA#&x7O!^!$IW^voElnJxrOJ*NSibOl(MM zo4(h&Tk8SED#}x)&Pgo{9juqA0rLfJwDyo(D_xW1M#+~8;Ct+?wz^#DU8O^xIlVk< z7j1dd{ilxR*!`?6>>iz;Y5ttlf3qs)^R9k0=TC5~056qYNO5a~W07wA;C@X0PB^AD zxYk>*!?8p3ECXQ^>2dNcX!41YbIHf;MdXDjw?kb9bwbOrQinQO7c1o=Ku=(rcch`pd>O1|7 z%FozDItkL;oxbMP$!T9BEki#K*ys+-bArnq@qDYb4)kVuUoxNS_vBe}o!*mqS9TMv z<@e=P>cs+|b&F;*d1QhAqW)K^KRdTNI-~AC-6aXoOE>RcXNNG zn--j!`>V63Z7ddKSlP~Wenj)T<|*aTcRJ(O@@s6V$yjQCzRsQ&ymN*)c#M%#({njk z4t$sg0{N1#E)C$7)UWsoTGO#lp7GJ1Oeax-a01r;l?gKJ_^h1mRJWXRH8LJ(-Jj{*yCVjH(%fM3h zR;y2zok99!yZ&*R$KfmQeWQLd9?kuX=Ar-dehO!V5Ath}9|ySeyvE3B$L@|# zxBQ>Xyt;h*7ma6Rv#t5>Vcd`zu`#gbW}FVdM?9Z)SLE||FpOGa81=mYjNV6?;^~@~ z{)jr>uXo{#@%+?W%~u1y(_XVWQ`SRc*oyqq$#-U)PxHQW1+jR9JG3Lq7^!WRw&Qi` zJE>p#eyvdwc}qM+@|I!~zMZnB!Yhl9|38fresu@g!V@~uIHhuf{@ZCg%bW>Voy2=; z;(gFB@=ky3oT9$}AvB$wX)ivO@WA4-m5_K%KR*n2$S z^*GVG3%i_I&E@JnzUsWoXYXyat(Uf{O%Y9LEQJ3}_!5s5Ys)v35g2F2N_Lj2_SHTw zoSg}tDyGYLC*zwV#t`_j2ziFG#xlZ9#u)mtuzMG6ksgA1WlZ0kX5*Wj&v(6Es;5Su z4R)|d&J)iB_GnGo&fLP< z-*<+=>!FxW5~m>#Y?)V>JLS7nMULgH`l6mcgP#jNR@FPhHNES-bVadMh>u{;GaK}x z*eVCkAZ{`2dsJ){?Iq+K0@hyaaeByS5QufKnSCo?A|}I^keNAO03D)Zu8sCpy7KM3 z2>haLrZls5^(~{X8O0bV2jlInGsoM@vlzebL1%!oDt7s)wh}fc)vvfLim_4+3~hS} z9|GA1)UKS_5;89MhpB9Q6_T;PyREO=lf!1a2#(gS&qNF$a<}w6oOFWj0Qnb)deh zUirEy#*K>(!W5PTPS;|4?nWE!wPRTmOs=(KqPRC5>J$3O9Bo?T{2^yRoqf=`2lqke zN$j!~%097d@VB6jaw*7nuCsNjJ(58VvUHIuUVD7kMO9rK)Ay@S2s9jqz9IoV?$fgT4MhC5?4Hr}2hE=D={FW{u| ziR<=V6KOsHqdg^%8~waq-THH}_3=>zlmeDzcM z|AanIpQ7*J9=uMr)DpV*h!z*A|GiE9hc0dZd*l8K2cSLme-8bxIrM)d>Hm#0Un_}b zRzO!#|J`}&|MIB+=#J=5!*L%85A@&I{$tml=)Yhh7`*BJ$9SyqIr%w85z;WaOk~xG(~KpQ(#yl@%1$K>$zO# zKw9#f?utS5E$%v#qbt@MLD$<9&(QjEy2WsL=jiA)#g|`L03Z4!<8>l;cuIOs?gFQ3 z-?3XmPnR)nTH9$4RmtKN^MGJ`WUbMgBbGO5io0&mZY@d1A;D^E&ZlAfz+?n9nbUdfXSDT}rR3(&7b@+7)2D^CuFZ>21LCw}s? zVcxE{tq)gF!Y4y=!W)$fpF3o^^C&l(ABlw)!_6s;gb)_87;ze1$pW`WGF4Ms<dpZ|*RIO>P*5}_Y z9RRpCr;GC#dB24-#O8Eq{oIEwX=LF(=uyvm6}N!%yff&ei2K&#;$v#~)@rYnJt)Xj<-2$`mF%|v;tef zFp?X}8i#YwjQthxK|s%jUi}PwGU9WXWE0g`%4U|baTNP(n@(pwoCAI4Dqjry-F2S6 z`7W|@3-dbV`?r3&9t;QUD%$Yli$kf2;O!x(3$ar{x+S(q;J;Bd_W3Kol{A;=9 z(fRS-RqZ3|ehm0YKTo@ZtFgzZUrB%3h-sK}2ZADMh{w5nqV*j)-Tso7;e^cOn<>Fv`TfpCKPLNv@I(H@@;$a| z4(^k6=IsCImaZdrh_kv`7j-9Pt6b)Kct5^yF8BoANPd>h2-`5S7ibf?Je6Jya_ zrs~hIu68xYY)*7NgYe16{jZ1zXx&)513ojzeIvS=jp2VLU2r_$i*rDCCz*VK@DLm{ zCH9EaY7N+i@M2k=Gn&Cu<|8|H ziOoZ{9E~CU>c*Z=dHB2lb8ut=e?G*!@FC(C_k?M9g6#i2TrTS{`3v;+8s_=3U#j_V zK5+){#TX2ajO$GLX3CsF!MEyPf-}<3C;Fs6RBw*|gtbk4JRbXJ#6J?9E;?uFV->Tl zi!}M+3a?ala!#-4OtA~p_V)5!pM{2%!@6x@wg25RT-xa%4&w3Dfu zaDnKDb82=G%XJ=OD%f5KZ1ZO8o;m9ux(1+h{_2Eut%O0g?iV>Wpqg7t3pRGjlq;PFMW2RUb zj0<9mZsY8tI74g_6e#}{DMfjpNwu4)0 z&tb<9F`>yfq7&V|{9M(hDBi2u6vcaGKAvI^7j2r@!*v}v5XDgy{xrvLO>i|@D{B2; zjn=cO3;5de@qp=@iQoEG`j_n8l3iZ@cL!pP=zJ*6-OJIVKnFI~$l9&@h<$qKwtd#d ze^%Sj(V#zgGi~Gix~AB&v}+-CohqD5)*|9js=pZzWn)g?6<;?SxzYQE9{!EcM89ZSA*)~uj zP9=J%PW+aa5L;qbekFa}#^wu=768_qT^G{HV*t2c0z%a!dCU z9ndm55%C7mlkzF1s(x#u-V8oN>SwYZb>iR9%UQdyO+Wt!dp<_r6}Rp(bZ?a*+EmlL zeu-ovd>_%lF|Vjkl_6rP!#~<)esfgk2znboXuR%ne4LD{1O-%eD$=hlB^KL@cyN3yL>PV{%-B~xyt?vZJ{>!5^@ar zOY09A!~5a$XVC95wg>qjeJQMg2Z}M1t4L;)4-#V`AEZjXKf@X(Q>piwCFF6x80vf{ z`61xr3b{g2k;zq>hPZ^W2!iD_Q^QW(Y3{$hCO zSlUrc-Kk<}YfLnMH~SBvf3fnca4Un1X7vWcj6*>&&?39mM~IoelKM@Zb>%e!o*5YM zEUekH)rt=AgTO=nwg$Zk_{5z4D~lI%h5z8ke!-ivv<_TOUmfz%|Ddf%d|sFM!HT8s zuJPO45ytu%#$_isT?jajf$ta>mp!A%jROn!kFEsHPT}G3x6sciv~hrWV>{;vrjA^U z{p4zX8z?Y;qtCp07WjHpbmr>A{>esj(!=4Cz>@Lu3-!U>@c6N4+>vF9zXGPvQ++V( z@0AYkAzQC-zEByYpBMQLS)4)_01nX4?!(NpjAg;{QMFrbR&3mM^aky~KynFv*cSES z_VAP;_2GZUeR%v$_Tllk50BeEB>QYtwuL7$`6=+deg~T1z7!l1T_$7xFY}F+IXjDM z@wt!iAQ#72mo1`;u_wl+l}$BwYVNo5X9-&m?-{<)d$LZ+Qnmqirn0vlYK}(Eo3OoT zy^)mJg`6ba{XugDYgbc~{BbM$;qd(|FZNPH@ZE}RP-Ux=PSZxokLY1(i{|kQ*$V>w zffMqhHpZMO9g%~sB+XiR8FRYJ?@Nf^FB#Ke4~gV_aM{YlAF=IwEOgNw{4u!EN}rSU zscc<|tgX6qzC|Q=eleCi*CTgQHaunWJ}cG@^gAlIxlD)l9^2HWtkJm*2iijnTKiom z<#rYE(WhO~6+jf*PT_r^7am?ZIb8AZ=;-QL@5b6^Lhm*gy_@DO2c4Jda)8r`*vsMF z@Dt|2lVpz>@Yqv>?xu$BHsp;g`<`e&T6Z2m%_f+Xj zFYrgv5ebfS(G!W!Vh8DG{v10^;v7{7RFF;Ll4PZaDjZo z@+S77kiTKVqg-e{*^e(gPk078^$DJK744B7VkfXirkL-z#1aOdRF~zY{4QO-+MzY1 z_8X{;+K-@iN~e`W&y@JuBOyb0llBOXiQcf82ZJw0I$Zhc=sY>u6%5p&qjRRUhp8_q+uLNZT9-?wYv*E`I;Otqx2zkjaRu{iWzfq}uJoIo zRn|!E*|%{?=Pv3# zDxyKz!ZlwAPLkac9J-%p@vzQV7j~R^G8CV3kQ;z?zN;i#;tKWo{sMNLOu2+EeQTH{ zUn}iG26t%ZG^ezpktv_mkd9pELC!^%)j6h4hsNjj5O{jWqQfxmnegc4{=<%0bR2s~ zT7h*IIJfZJ!oAg|q08Z(X5y_DLg_wS}*hkAH<$+;cjI6yc2%Dk^O1VPpM?-EYlAR7=MlDappPf z0MVWX$)@nK{EpOfzQ!2(wKi#`YmOAZav1aD(EZ)=bMURo`U*KJ=MABgGh-d;9zR|A zksfJZz{hGKTtfo(FRXp?XjsN zJyUl3yhEDSg2a9vn_B|z*c)W$)%t2}-0rU7JHxf$t=)TMKFGRgefU$`Mr`LL=(UEe zXNb7teI>7bSo@n;_f+o07kVRd>H(hCQeE$7eOzUsJT%We7IHX=nI@jU4L{(O>(p=Du3yQ!seo@o_@S5KrO1(m5_DE5d0A(j2mkT=)ko%-b--CXrE7$-XZ(fBtrh5{ z_~>rYpl~3E{zT_ueqQtee^+dj4$TwH3#pEDV-4qwud(pDILK0N#4{h={nzl!x3-pj zhc;=K z)wUm!E_qzYyUGb+f0+P4MNB-Cu)#=d|`ori|JOOf7AZ zSF%j1EI*2oa0`Ck`WC;E-G=hkzc!A%9*w)5gUGKkB0PM3x%#g7Ci6=N^J(f8?-9QI z5zjSX+8V!`3cL!u_#ESvD?wxMU(FNZdBP*s9bT*lS|r%0oQxZlm4R<7ze_&x6^Cy+ zB_m)5(B4r~INQsX7dK`Te?aohF@@enmT&u6vo3?@^rlN*?`O1s3;0m3m47PCN92+G zqqG{fUtqWU>&I$7zQ|9JE_^7ct-v(vuJ^3$Qn`(F<89%)VtFNLhx#db-O@^hIE##N zqVIRg>bqj{A-|wsmH*dytT!{rA;Nj==J_o5w+i=btc9pUGGn2veZOhJx-&w}-px58K!PNgRMHDO2)smy3)H z{^juDH0b2>lvf~bOc!II7yy#b^Vr+5-G)2LBYqY<+h-p4i}d?Fv?-O2?4O!%Qskp< zaK9X&M?g0ERo2o1@q}b6ETMFmZ zk7Qpqx*6I`d;wSMPWIHY4zg_~kL24tGJXM_;+#2(#kB6A_U~{gXjJevHR3{)BVB>kx~XiZ_#*O2 zRqM$obe2+y7>Z`v<1blWPdP~$ZS>WfqMToY6H$!C$9>kt6TC{cAK}l$Is*JK*sV?N z7OngJ(?_VkDtK-1Tb-+ei*XeEXY608R3Ug*=lMZ;7<{7bJw}4 zQe8oBVMco1>1l69sUG~xG3TdGJ}%=eoR#qg;7w;h2TLg{0}f?a=gB|$)H-ux?4NvU z+L#j8ki(h5nb%)W^P8?KQk>}%=h?~o!|}5rUDrIm?V93ym5I=3Fz%SOhxpy_dvYzK ztjX>83H7aLO5e$Ig>Q6C&YQgNZ_1yfO}?YJG>Y3=HRCU|0^4bfsaf9d;Y;G1&MkYg zg=ow&Wy#ws#M8HBE1Ny&9R7H=CmB-wUE`Xqp5wKewO$q;%KC0o!n0MDWI&YGu*Wl~Lc*4)e z9Mcp0m~skr;WPG>b?|`tmd5q`mh{hDPJZEl*^F!*wLv(i`XKW8sccv92=#GxY_Q8b z-?0zZampM^WpfSMnSPA&mG@_AQ-0e^qKgc3>!YNtOCg1fh;3}rc$MSvjmPU+^57FW zh6osb-QJON=wF?3I1f4yzr!xOEnRpdP`nuY7#n%UU9_92-nu*EF6Zo8&MBMc?LT?` z&flFpf7kC`aVoD!C*aN7_X>JfU+W})+#k*T8dGE<;Ji-AVR7|IQ+7r^Qg^f#vUm$VWD85ZYu%S$(0c+; zgKTzPVf+Qz>x5^FA?s@Nho!pzPW3ycoAw%bJOys$M(D5l!umzye=_Y7PWMuVa9ZR4 zN2FCKOYnDjPRg`&2>qEQ{oZxZW_yJ?V!9OWCN!scM$eLCoWdsj5H@>D@Eg?_CODq- zN3cmzx9mY0Ye+vod92lc!9}oQUbgT_z876E=Cg;P3&!Ih+|>9mpMw+I!sPrt_3s4g z^QL`&ugPzIDJe%Vzz*7N*zea~Ry(z4Fp6`ZqHeW8I!)oa{5EyI#?$dQGuYip%wXgr z+Xl-U^53(ufE}a#<|}MJjrs8ePchh(lKPW66mvK`BG|3a9Ld3)0uNF1crP z?x!RVT`1X+`m~<{|Djx_;jkA2`tEK`Z9qOB3a5KDUwt=abe47GALRb@DVfHMRJP$D zL&;W>8Qx-l%MN1~9ia}!t9|+Q(c`{S_m7+Y!MKh~;yU;)uA@D!BVUi|NN2K*4C`^d zt54HM*7%BroH4Vc+hZTsEXe}cJ@TIVC7+#Rd7qJ@-Ml+aIiOuLxzBnF?E=TfqI{S6 z@&(iLanmpIN3xNHV(i z+c|}EyyW-JYK`+Pgx5M(x=!52yF>U`;7-2)dHE(Uiw)S2uJ;VjsjF`uRT-VdLG+*4 znljNI-y3>Np!rX@Z5YeB*tKq0Kw2?MTS^CnS6hjRifw`pJg#WVVDqJ+B?wZ!n0rYO*l@b2dgHQeFoZu(tou_rIm5Y0*Q}L!;kF#xn z%Xn8FyyASl@;c{KLp&$=rP`soP5tI@{(IDy3lvLjQwCWtQ@yE?Uiih)^gi@^S>z$E zx%3@gZN9^x{)FpBo_7&p5q;TsD%&0Kdv}qtvxQCU5ADz%Gjtcw9?v^@euj3O@s2!e z3u5B&F4#y%FBye%S;8-X8%0;~Qa|MP%eGNmV&OTDd^{6>P`DI-LqFBOUVTHIhHsFi z=R53gD+1Sf1-{`N>;m5;zn|3f`|L6Y+b;u9SuoeIe2ju}&6M57Q<P>1i}hJfan)?WQ*b=tv{dlj;wt|H-c!W~iAf1O z;=VbQDIFFv&e+f?>yaPJ!Cx;#uX6PoZ+*4orJ>7Wl{IvARro(78>-#ZqcWu9Rg5C( zRpA}m)DOYvlkmTi^6{?u!8NqUteSns^qU$s?yiZ(Y94od-@?ylTkvOJ>|Zk@8+@ki zY&P>jXkIr(^S)}>)YDD9%M_j0py3d?%>(;ljn>sDs zHr9WF3l}zx-x&qk!Z`P7Y^Xzc?Yh9ht;`l5;{1y6+LKy>t9s84a;_V$K7r@s&JHrH zgVj%sF}xcVb_w%SH12IG3%rzG%q>t>fwHKl#8|B6o*i*nn~vD;BiMf^#?Ocb=95P> zVBu4Q7ts!_3DuT=Lmy=r55+p~p$-Rou^m&=meQVMs5|u{XC;-lgy)vO(8vv83mAeo z*XlleFBs|^u(&g=fDha7`x;;Cg+DJG@YWPd_!odf%nNPc9&_cUY1rY7`zMWjyatVA zmvg)}_@~Z4m;99*!j@aU3x1{kMsT+@Q;TRN+XQRv_qTkGzW-SLpkJcVojil54bl5s zWSe5XVGOq!@-GEu@1b1zBFzRzmqJewU%15oIBU*B!TBSdt- z|7d4R;LbW*>x{8)Wr?Lkx!-u_-N5H2&&EJp!M!G5cGQ{S&pAO3?hL*15U{s%CAm2zZPT2B8|UqxdQ zFut5`KHYNw#*dO${Sy7io(g_! zQvcPikJFw7;Gg*C$Al9+H}gvecxq1j#B}k;RsL$;Q=GH?71d8(l{;1bkG0bV=j-xxy7W_%hfd}`7*YRx&-(CfOzSlg+KJ+c&J?f8b=OzBY z8^G>kJ+z^NHUK;Eri3pI==*pK5_+hIDA7e~~XPiFgLE5N?)8I~X^a zXWfX0et52Y$5&Z6&2u%b%PsF#3?0p{H3$9O+%=X@etio5$ebO`vE&!5MNjfcTF_LM z+5mz_^D8*y#&heTa7E?BvRK|hCYp^df;ktSxF!57IK@R~0p*K56@F_2teP+utL51AvE#_g4jTy<-Haom!ZtY5aqF$E7b-UsGy z=xk#Cj{2oGKZT4S-RqDs=F8dWTFO0%`_qnGEnRy`b0}k(qmPBU>>#Y;t2e)JBs_}P z42m0R`%5frdwx)c{ubO}`nWt`F3D$#iX(dKZuz*gmbY@UDXtBX1Ff8VA~2EP$pM&r z+{z8I;}SP7Z1q&%IiA*l1=6JR0p5!YdWlZ<5~h#^(v;ijvZmrU$>ZSjrWqqo1etO_ zz7QX1%qZqL%iiuA_EY(f?k}L{N#)PpFFj8?d#M<+Ji2_!CEhyv^R&Bb6#vLkr+7ib z>Vm3kS=%sgFpizB_QGLjs@}4@HKw7?!rF$$HiykXvYOU|i_x|Jw5L7zNzZw~Eei*s ztL4ErCA+R#;|*4pPzQ2HWiW6mAGdVHyzd+8Q60wZXT8WB-l4UpUEdYfdI`*t>nC9D zWV*BmrCWNEso_|jfTLni(+}Wi?Qrv{OKasZQ`qRmGS&Px;HUHmh9g0txHy8LYZ^1k z5e&2Wk60LHCtz5%Ff_(v{rX;F*4MmL@yXFtab(m%FPFejZKdt`Ub7b5DOP z#c#+5`J?0CW;XRvzWxPtQ3vQ39O1hH-(Aa`a24}O&b&2T-NtiP^t&GUKPnUd5 zUUSN)(&8a}Pnj9~QuS@~{sL2hhRq!B^0t!aRO|lN4tKp&sqWX?7JKMB8@1s<@4icZ z51m{X%f+{c;N)1A_3Hg)bb1^c8`(Y|`QzUi z=G`Tp&M=Ss@i&IK+F*#DYiu)Z6rLvj^NEZl{X??XF@x`Nxk`KjU?;xfl;uZL6|e42 zv5o`RZQIP8e(E6ZIXcH`ar}iDDbvWJ!)c+9>E-<nap>KJ=gq{ zu|+pi+S2$1br{h+{cD$QI6uU?ioLwx2wkP@ zOM(k1#~Ip)o`-!7$Qh*1&+)u*VNE<_tgy}O9Y1MC(CU@~=QJAc=XvP>ck?@Gx!W%u+S18^}9T!M{ix1VUp~ezj=BCt9 zzj&!~)PAdj{byjIJm3(tU!4Wc-gNj( zit)U!{v8{I&h*QC+R#B8X5l+;+mKcpVtyzd zgR_qa1@$MWElv_ro!2RG!Wq`m4X za76f{JU-DL2g6RzQWOs@aK@e1zltlX^X__RZ~y!y z`&YOluSj;DW;S{5@MdKETI03p9}I?$%IGckbQ2tn$0n{jdG*hV_sA?$Y&-{_f>ZuG*hr55P?yDeY$;Lbubs2|aVf zCv{h!vh+#)5j@*zSB<_{KkFgv0g|t1cW(IRur^fhzhTBD!3}rUkIk@;Ya=|@K-=v_ zbTgEt{m{w$pfO_IX4mQR&ECK~C0>zdY}iZT3FbL$B{vSSm&mY}2!E;mn1A;ak*n+S z$y?JHVqOu=c450&1AnmRo**|40;j8Lzoc@hjm`A3j}{Hz9kzpYoJ0cxwH7 zF6Uo&m3S{}9lilyjstc%<;#}V0@D?;g)ce-9g@<<&wvjX;loFI!T7t@1U+74FPm}l znxJ!Jn?0XfGC}c6%U{e*`{_%UzboxEx*Tu7J%O>1EZXb&M=s%cI^%-BWJk=GV|}CM z|91Cg`0_O|Uw-l+z6>uJo6elwL3>;myDV*1zs2{Yzs(gr=JtNv0;2tqve~SqJ>rjy z>Fj=|R&Y%Xk#ECn#%CsWvaW=WW`JR0&k#@UWPa^r%=hcuMPSChaZh;G3}@l>?~%)L zR=#=yJuv$~IgfHK@e7z^tnY~ML*EE4ryXr9O~_Zpw!29`G-KpEPcn=o^)h$QOvdbs_2D#m4HF7`Cw zF_k?{wANXyHA?Ky(0Cn&ADdJ0eC^RVtYY4wd7$ONTSlAhVwxB2SOWjKv0Y4lB1%K2 zXl#9@1N9}gxpvl~T1$$@J$iJ+D>eQ-8qW&jS(;DeMaP%|qWWgd0EM{Dj26ycqvV4kt&eD5`r$=z+{7tc<92KmqYeLz>9blFG-UG~Zrcftx9=^kI-v+#P_tr2A z56ro@X7PP?AoYAAyTXsVH&a)JJPvuX)Ulp-$6eph`Q>VZ%2(Vbo!LC&npC4Lb#d?+ zzPkoGRX86C%GZjt63l4`q9p=MXsk(o7%6Ny*5v^?j7i7z~dtLIZeeK%M`g#{0 z^tJC&zM=*CqZnMng{S>goIY$G_LFpjA7+xSJlzLStwXHH7{2l91HO1qyl2V2@i zTPg4FN!#Zgoc4Cg^CqQzpM1L}rR^YXWK!DqNE@D%_BP6^PfGhP`GzK?Z6~cZDeWH8 zs*}>D9Y#Mq#tWG1_r@Og6+K^(gWs3|ud%^>AOdAvhSbo9kJwUvWLp^&757xps0r!Sxfa9bETu z-Ou#^*EhMo#r172bRFhrT)ViQ;(D6vhg>6E4{<%r^>Reyr`UcnS zTz7D7S*Y#YV;;M38!?l|0 zV_a8qeUj@ct`BilxGv|qg6kr#m0Xu{UB>kRt}@qht`%Hob1maKm+L&P_i&ZCmT)cQ zdKcHJT#L9)=XyI=k?UlxQ@D=jn#VPtYXR5MTrSrfuDM*&O?->kOX$ubIU^Oxu-}qC z5B%>ye*9F{Y}0!OYeU)gSg5cE;HHLQ|Cia<@1b`!58xN`0OdV^6#g{tnKtclDF@p! z^3}rkT>A5wcZC-tyEyK~(G2p-Pf{lT`EKDAzG0p3wKBB6d6aa`XPtcaYOmz~TI1(W z%-KIY_c_0_xFI}@^?+hb>i5fB#kA#2JkqsJNYX1!=~~zS6=kk0qN{Yz^h(5RS%Qt~ zt0^<4GB{Hj9H-oZ#~MC5*Cc8G?P=C)^kqdY>QC;TjbZzdch1h5zFF_*jOH@_mRh$- z&oP{N(pUR4Ja_ggeYs!Y-sx;yXYLso-GMGQ$K2gnygAGPXPtYtuDH(2EN5=7+)Vrd z`n-hn-T^OLymPdLJN}-dW%LkQo2HPNvc-*~tPz7#(5-5G%EOAAMXZn#dbmQt?kTw@ zZ8qf?t3RRbrZj{NY(?;=Ja;m0e~bMBotzg{7`Q7W*5p{y&jpOrm5lLz%5$=j&1$&w zIe$Aam(A)|Cq9n6a*cC2aBO#;qi>N-X9eF#HduSc-C>)Htc5*YGP2sHJa1`<%9Wfp zqk}c3C4bJy0d@u${IFGP5_?9deIL$6@2FGl`}X)f9lzfjzqiwl{i>U9kKkGR>!RDIYtssGL8OqD-LQ$Ahy6&Mfr0Ngh0 zUsdy7DLjiVu}}86=d;9kIRTy9>`12D^)m}iur9Z_Pjp)+u2`5EE#kH(Bh-=wL{nQR9GUG(vHG~9jUgySsTgI{~&tH z;%`Ww6|ATHEYFv+&OwIl-d_BT|BJD%LW>$5fl;58I}~%N_CW#2?snA+)J?*0lHoa36-A@J+5c1L#-a z55z3Z67Oe6WyDtulO2@@{a0Nyz-D>+Z0gGJyUV_|jQe1ChUlDjxU}Om+NE-{;QhPE z_ip`GxsW~`9xMf}z=t;WDR$&GJ5InjQxxoG1=71@c|HK6rw)dZ`;1fzTtjIh(b z4o1iGJAT)+h5huvYCF#ka>#ab7HiK7eV1t~OB^8C8{x0r+Y8Uwwz24aUE8oJys5Tf zZ=D!F#`kq?gBGk$}2sIyGPF`&XY(lT{4C~6#gq}g<)A5FIKsG(gNwgqFYJ!WL+C>v zqCdpgp#AF4t@KB@F{^lHqXZ4HzhG0QBEQ<(N7MTTJ;??m@PPkUuYLc)_GS1^m-^NG ztoJ)eZ@z{rPx+X!(D7~y2Uo4}UMW8dZ@JKC{GZP<1}88t%|DQ$eS`aL`N27M^8`zX)F? ze>vir`EknKQGCe1j&FvWzagLM_*2zE9&9ONJx3A?!Hx7|!u{FE16hOJ#6w5ewlVw` z`dQ(hVhD)e8QO|25E_W=H{x$meGmG-Ev6b7{4Y&0LyXK+qk=B`9jT-39vAV+qrhjr zovAoViOi4{oe+N^inmeo3^Kxa0hNvB6vZElM+?us!bT5|Cj6%C;?qn}=ISjB_?*7iu2 zyN|LGnO13%k0n#R>f9Cn{0Xx^nQLYPBgxcRzIR#+f#m8(#KY;=;Q3n`T{p>p5;?7Q zlZP!|GIgN#5zo!S5xE^(7w|3Ov$AmeXbyX(WMzDz^KRwNka!$Xe-v{OKMeeW!M$J5 zpNpiA+a^9TnSZE1(mQEAt(Xy+Y5(-1*4sCYnf>ywzG+it|4sNiD_v`I*)fuLt>0yj zNZyBecbncvc$ZIh^7}5{=QX{1yvye>`F$Vn^5;w5rI(N&RPrv}#i>p2(r=vJ^e!EU z{JxU>(v!%qDtVVKWm(g^bS&pJy-NpEZhDu_W<}GxbT*eYy-UZlvgutqpi0xbbVOG) zy-W9WWz+jr@w0s3BxkTr+tvzhh<=y{#-{fY3%)q$?I{1kA1*)Sr%#05h6hJ8?i%En z65|zpcdX`D=-qLlci}3u+bVkZo(e1AZE6I+i}J7VPsn;7hW7V>3t7t7+#sCRJWzXZ z&}*r%cVpGs(P88Q(LhG!PC*0P-QU>XiO)IZ@3I}d*a1$#FC1uL;M->ZOp!+?t6_bhsY$=&s*xL4Q%Yll|Dw`76lxn|DY4!J@s) z$;{`qy6?`xha8$qvo0HenWxRh(E%4-c?#XI@{n%OS!<1^H~~o1!7=e#N4!mPf#U4% zhrfL1RrZm=2Qz=ak@{=l6}+2iyI#^Bv%n#ZfTh8%I_%lAOvdKA zd{=?*f!w={hmXj`gm}buM^lfgq)X==dSq|6K+c#8&o2_f$*kKB+ij}N7%xeQ@Vkps3QZ-m}N79@$=6QL@TZ4 zA>@F?%xkxXEoJ4y?xlS0tzjD7N7~HPJjuAt4Bd?9*PON3iTgd|sn0|i7`=1ee zOE8DmCG+JA%$Lpdwvyj8f3_IrPv}_r+JL?Ku>km$NH16J42Rb~=U-j) zUg(0?fxyJ~y^}cO&~4Mcu`3Wzbp0y6nxB)j8~H7{lC*C%eKT^1=iwCcCBKQ*Esdjh z+rDs;esjNXG-iQuFe>m^0M@3kAw z4?a+4&wTkuqbX#9?X`!{mpl~in7PZ}0qyJ<81dVwQ!!bzUhF(_V+alBr4JL0SQ(D* z1uw}NL-HrOgfXkj*C&EynS7j+5q6en(^ofI94Sqo5wwv$KI8nLt%^;O7@u9*%Sc>| zuF86B!o=BOPj!~q#ASD|(cd@VNe=8O4>GoctjC^X&A$Y{5Ur~Q!y5d>^vVVq!9c%v zF+NI9k#3xI9&0)DKX=;thrjW-FFYOYeAe$!?9x@WQO7Ki%oddE8^H%;X!HkZ_{OWo z%tVJUoA@)c+s)u?x3Yfr3i_k7EE3+r{s+rjRDUyXk<8Uu!e&;f`?t-$JIn|c_@{Of zL&NUVjN5C^UY70>8&xOeMl`lA(nk^>M0)^~ZgrhjSGms8qv~sk@l|+?YR%%Y=tuHv zCv#FXHuYc(fA7NPAH0~vxmEvP?P6>h7xVYpLZ!NCPYM0r^(ikfvV=4s^>Gi~1$Q=gH3;0Lh@Q1osrLEQ`POt6CctzBo}P zbIbh6cC|4oW>FbdPqH*fS_`#C&xH-0K3rNC`rt}3D%8peMHy+bZuBSS9u z!gAIa-_J&epfiR#Qjzb;jHRi@w9JYiTUu=9E}mnin@$IrwL4Rq9bTPXt-WvgZ1H{G zYjab~PvziPd<=oJGk(gC0>xCe^|@=`B&#LPN#7}`zhx52aet4-?w@f>zA8D z`KjHv`f>k(V@Le^;0tTanu+yH8~V<}Xsi5ym=yxePy74PyHdVl$7kGG=!~xk?ibFF z(B=}dO!>^l-|)LV!x0@)H}lMP-oFD)X&vw#cVqZ>toOBcSX*7|xkc!q@>JN`i$0>d z96yGcVauvpM_XOiL#x(sW< zkppfWEYBp*OY!y zQ~HXg^ba+qU)GfVv8MDZn$kbjlzvrH`n65ztDDmQvMK%gru4z4^tDatUua6du_^ub zru5sI(!bJ_{^h20;$K)D5O}?f|8O0&m_c`Sw~cdDLjF37IOxh#*4h%=1USf;2`A12 zC$=LOBy;>P(4QrA@+VEtqUBd#8(;L_n$pl;PUL0MMs|KClAY%l_Llh#JYZcRo=aWO zVkdXu{|@(YJI5DbPS-z?virS%MdRhCBU^t4TmL-yLDcGg1sUl$A){AuHKgJg3mhxwH#!8P!^wboy$2T8YiIm^G#u zdo_o=3V$(ecVxMzw@~&g&lSM{9mw#V;krt_ADJ1RLj62vuZDjT2fyX3 z&=dZdt>lM)``QbW_-7v5BL97UE1c`KP)EVp5W;iNU2YD$R`D!7En_a;)p@n*)m(IO za1p#seaH;ev4c@x9a*D)VD!wBuv^t?uWYYx@Jov6OMCZJfafLk;OCoC`wOJ$?#B0G zd|$yBK7{_@Rpe8%5E=EW8^YoG zhs;&UQ(YG>k(|Q*XwCHrZfFhG$=nsm@XYyEK1ZH7;f@d-8(RTvqxnMf{f6*+SZUz_(tRoSN-^{9e+o7mByt~_ix%{_CIX>CN_BcNz?ni@w=YC(e!*< z)AQP<=haQmS2R8AJOafVf)0WzF!*!YcLn$Fm<^4VOl^-D_JZu&3~LGWYSjGz*Pd^E zGc-ru5$^l;PXE5vop$~5z*~3v_aCt{;tRm=Uy1RBE--NF_0hw7WLvF;`$#MBTaxY^ z?%4D_lhRXh`oD3ujmG2EQyFvcP&{BBZTr{UhVVFSmZHJ5fAi={V7NfP)21G8OL*_x zfAV|EUm^c;)^>Hsi+wl6XR`Os-RV>y3@A+9$@3RXz#mXZgh>{w*qb@>k0Xs^?2wz=CwAa zb!$2jxl2ymj`yN|v)X7fzO1^JnEJNg9i zp3}hVmaD%!s0*udE#b4sX*lg>dpzZ}4t9uK(@N@o3 z*uS{uF=qt@+TU4XulcGkk6v3He_{PSHLs=c>+s*egLlx+<2mcxVJ!A^+#DX?-sk^M z(zK_mQ#in!fK0h*O-If9%*a2!kmuZhf5EgpGvq^Pd6XzY^JN8Z- zls{{J&ECv1xT|&MSD1g+H>@urb+L|}e;B{ZM)!=y0GQuT`SK-Fxhn4(qjr@28P0)n z6TEr?TuZfG9PDJBu%qy6|AxYYjAvi)aNH-`4_DtW_gQ34v@7|30v6z7XX!51hLIm8 z`vo*7Gp=QSTAld^m?E1m63qX$3BNnh5f{o|LC3E1f6G4d$^3kk@#LEp_~>i&OTL+{ z_@2jS59VvmX7s6L|G$&2J|Y*4W%)hP%jrx9&B^~&`tri_(bxh9*&<#;cXKNALR=1~ zzoTXppM$$M4OpW8?B4D^@5@GH;a2>|7i52Coi)*Kji2yK{Xf>uS9byD^|tNA9i5+* zya4=&PfJ<&QozHT$ANX5zqF~mkJ9!X*adH>JPO<|k{&NV7dRecQVq8P&6c%xn~ki_ znXvq3SRW?z)XRGYdU7fkHKZS;J!5KrQlILU{UgBv)mAceQ%4@#xQ~04_nT9{9Tj~ibnz`{RqaaJ^!b0MO@~ctQ+iUHvb5>=1+?i@ zFG%%5tG%~Cn=}0@)F#F2hv%f)+=k^Tw4(~$49)!QsM_;DJP#!}elcwmU5TbFA7x*i z_S8KA*^5mT_k4o04 zR>of#T-fimxW8adU2bFCxzK9rYSHQUL$`go&;H-;VfPnyo-815Xs$%o*(Tp^=8-YU zBbqa%bHj7f|J$ay&GKmSsh#4%$y{r{AGR^5=|eQ=@+%vfh@)pY2cd?mh{+&57 z|4NSPV~?=r-pD_u4I7hqM7y&yyubL2<-uzx`!md)QTfaLziTRgKXGjCHP84754<0_ z=Dsf;EZfN6S8$XqM04Y}HNViWR{F1V4lbchv@N@w_3Mey7wc@B4<0{X@s5yfCgxD= z7R;f~**TQ&nM2ok#N&$LjE+mP!qv=?=z{5|EkBu0@vpM;DSjx}(+|%3TG3%Xy@35| zb@sLY(pj^RIkor;pS!0$DNj@HKwr&!4|C%7$}{qZL58_2Jd--aldeNXy`;TvWxZrB zNcb*u=-A+@ns*xCGS_umpEF>Z3+kU~<)Ep8xOE zrK`HS(>a~)G)Az8(iO^gFOEc2k`F~3PxDh@M_ZNPVr0%E&$ zj-cW#$u`UHUw0odmpwJrrTJd`X>yIYp8klJT;C6TL)|>G$J94Eyq7f3qN^BS5#}5X zv$m?|pxnn8K8(*ZPt7~BcVst$k7I{XvUOkbcpv#y(eDR7ag;aAD$obATzTQY!nbZ0 zRi7a5Y0p=G`xX~}#!>x5&lcIwG!p75S2AxKT}=4%U*so{egaNQNBK4|wE`YP+wD&P z%fp`9m)IPhf0a(i7&?nL)wZ-(MrZz!71TmX z70kJw`g_eA?VA{06@L))sddc!+iffN@C2E4^3)tot+u*+32Q z^{QwLlKlm0e4DOt4B#U1;$!41wnR7v$$#Xc#_&$sJOf^+u}$hNH$DuHTkYS%?{8I} zd;!|A*=wiu6CVO^CvgOv2!7N3VEoPq?Mpvc=|h)Cbr;5e4&#^J;y8P#>vin-=kYzz zUGPbZrqBxmS*o!|dSGOa;of`8@>DeNG`@|t%%y%vH(^{!c&)Y99_4-D>4DF|Gtt!| z9x9rO>_W-p6Up`C$8mD~Li1362N=&xV@>j?{q(E8lEgaoo8tBw^Gsl9ao!ubdx8BP z%Z1}kIMgRsTj2hSj4R?_qMi5htkytwXk<(0r|5iYF6^mEXPgU+0$n#(@!x4WkvSDlw#(w6 z-Oyf^^?O1OaXHKpQ9)~M` z72--Tw&4(eCHE!o3;0eV+>K_ zdi++xMdaI@?(=CCg%5PUiBoyKobd-D4=L3dVGzC&`Wz)8XBG3ZV9yNfP!J@jbJY_IN3JYnf<#-QfL zDV95D0lFyd$GX?y=g(EY)RL=?XLOc1HQbTIRxw|j^X~Z3=g$9V@LUR*=-CSE^Ytvg zH)3cTm^=Q1u>yT5A3(kewQsTpyHs;v-)wg8sOGnZ`H4TtPnlxNktwGA333EZKYxo0 z@AKm;E_dU-#Q1Xk)$uEz@YJ^W@0vP3Xnu=0r}a|iCwY8Tcn#tjCxV5=ScD7mV=7LN z!r$^gd51A940Kl3E_>=twey;9sx4qoXQCl~9mR+Q*Er9qZ^du^ggu&z&{NX*;sodR zX<;40Kcj7Z$G6FOIN)hvdsTCi9<>3Ra}9RRpA|Xl1zD}O6mJ9u3yuAgQQ^!Y>I|&6 zcg!>!%cq1s#8s-H(6cC~z1rbB!l4`3PpbAmSMTqS>;1189;)p}57QWsg+Xn^!g%)b4f;?H!Hw=OU%Hib@1t$` zTBOTpkD*;)PG27#P1&)k_Wr51&w|SK8uGnIwSP75*igmW+WWxhdg|u{`|zDXu7kBq z@2=4Wj&%Q(evIeN;2q@(AxHdK!`o|H!Oca(_&;e+`=^W4_fQ?C1M{CEx5V{IO$ooP zXwJ+he6@MoF#Bb|~ImN-r z?g}+3@TJe9PwISR)dutQGFJcS0$|qcC{BlOB#+ta;4&bof zz@Za3Yp#9hcSUMtbeHf|myj*YT|B6DsN!t_9w96qufyW;lfdF}Pq2`0OY0%pTaT_U zSQy4H8(MR39sw_CS9oCMO4-zs{!ziGGry;H18XXr&YroemOWLutSdcmx5FWaWCQTX zLZ|1k?@qi%IQ_) z;LrRO54N2lU`4EjGd#!5Bdqz(0ROKLoOpKF{(H|9b_Td1-q9o+bf_moj@ zZ%MyNZx!ryru?{aIj~8#w3*#OT}=CO_9gb$I_6t`d0l06A2GUNa%FYq&anLhuVZPs zDt$d=+yE{Y0YlLk@NuPssofYbOl4jA+`&Fz&J+a>dl_GR-Oka3xAd&)Fs;oA z<{$9~h*M+@GN6EMNz621ZmYJn4~<&mCD%zB)A-p0KEK)LZiJIQ!}ZVIDZcZ01!Hkm z2eg1Pb3Xs?gIXIu7}7?$cvC-(&**Sug_ZU&mv&e%D5Xp z>v5p!v!CDB(tj)C(`SgW>C?&Q@RaW_(vI#O0kAecvRk-*lh5@CeYG{0|8*Tks2*x)CR4TYiF4e+$yzKXZe{^d)_-kqa2+Q?99&NLm| zGFs$+KGk!`=e~iliicd+Y_3$lk)8pqCE;K3v{g=OEc#8nY)x}Whtg-xYcAIwAV%NX z@(-`hX6(c5gvN2LYr?kuV)#H6{pRq zZTtcAd7L&f#u2_ z$$8L%^n`=&dHuDv)BfSr>rNYQ)0u$6kB_#Dx3!WJ{vXpO)57(BuH-=ZUrU>w`&x>x z-IoseC^}13@qew^59;^CYZuVA?(OGZK%1SS%@vch`Q3jZZN^NuFZvW+rqBgMr%jwO zBKnMITvx4aQ+-@_)yE*+C)R9}t3-|{IMtF^)iK0;w2r9)YhS70>pYCT7w!j_{7NIY zl;gP1mK~V)V43xG$9D@J$4|qCJY^)9zj#eF2F+jpJJ~>Y!@m*kNzhu!XF=aSW9Y!w zfZv=N2aLnv9qqSKUc2BL=~#_CD58z)SP!k?^?5!2IC-%}zX(ij01gxA7p;7crA&`# zB2T;0jWqs$W6_rw|_i( zPl9)tlk`)|Nmmhd9mbjCu7Ov@nXlS-4{c0?-$)OUPM|){&%w_a!&Eu1_%eLrczq-v z=_9MWVr!(2TzXU=S#kn>BvEER)ArhW^sMFZYWAP{7(1EiTz||}dHe%!j=sYdxHRn0o zYiq$B>9fJPHMEg1?E%~nZGqipvj*v|rT%d08F=C*`Xkpg^(gvW*zbD$=Lyc}kd3GN zz#5!g%GjvkJo!vW1FH9;b&T%+G-bx#mf$QRJ6*M>f6A+n!)(lA^cvHlu`8!ygVqcz_=xkh40oA~DPd zT_{_#wvPp1?La6v*ntE$f4vF6rUxX-76m%-oc1$)StW zM-w*5Z0djyvaW%y$~oL?u%qJKKO@att$x>XR@MUl#c8>!&hUvbuD=leG7s6Sp}Y}Y z4eNyQccxBM+2a3!dH$>_3z+2cG&8_AEU2 ztI5!3p!T|lwN8wAXq&4TJbevr7%B~#p~{XgBiBwkw(*nlS@^d0XQ{!Q9jq3y zwKibG#lesDW-~mb-(4CH=OH|^@uMWz8?Y#UEY9I13UKcK2EIkO_Vzc!HM@>$_`l*# zImn}$SI4yk^Ebd)F!(h*LVkw0v&p-9?Te$a<{5#{%ZhUzvwdlxS0&Lg`sz9f1wi3j zOJFT|zlMD{9sIyI&ahw6N7Ru11u&h^h{ef!{Tb`gEe84CDd z%DLEeiqwwE=c?=ZEk%0|@4&yY_<_+Ic&~_DO0te>8&#iJ2zEX&k<4r@A$yTmjr>5o z#FBNt1hYI7dj9(hsW`Cb&@|lknolyd?c4zR<{v@2JChOIG8| z06W26J|dloELqiBeX+i<6A8zqqdXu8R@~Ws;zD4v(lBcul0OjCtS11(YKt6rFztyuNL(CbUQJ( zo=g3yeF~1s^WC2UUWo+!|1s|cauTK!zes|#v)f8l$EtV-xG#8V-fgpEe)RpJQyya; zk9p_~fqsxUkw1iZ@>JbO`2#1^jS3MCUE^gl5e{7z;7~?BkQJeB)aV1r;H&w&x_l^r z2WQmx6#P|&xjX2pd@mxGw72y)@RPr7HVd^cRO_(;J`9f`k0kUFTiHwTtzGS}hxRe) zFN~W<{A*he{mNR`58s3LvHsgRTOmPAm%Uc<=K~k`PcJf=eRUJ>O;LNG|3#fws^7yk zN9V|gcHw{0I9a$^bve^G-fbrt@BNHdbfKI{={3MI94~XTI43I{@6K?%`J>|%PmxXA zI9|d1=y-F-kC!&>c6_!gc8o6LTEj3mW!WL$HN=)fBlkdgcI2XZw2?iG-WP`NTj#^XYXY48bpeJ7}`%}t_Q=JZ8 z2lM5B+*B9Ftxaxf#U^yKRrqvo%^GV{mKfDJ_^}t0vw0zW(SO5^S4A&vz{<+QD;<0m z1+Mv3)zZR`AGvMeWkuF0}yjd5oe^1H~EeU zr~D#&>|dmIevkN7s&^A{(>rP#*#EJfxQga?hV!%9e&j%!z1_uN4`{i%pLolI%{s?4 zoIAd}g_`4YoY6fy_dc)dH{T% zIK}v!m+M(qn7CvCHpX#y-=8oGHMZe;+p>wpCnxn)_|W^DT-C7N)W`C}Gpo!%44Q%8 z4ni-38|?l;+0Ab(pk9MjcGs8z#=X-2x_l$hlQ}iuV}6D2`MRwxo~wT2=vh&mXi^t0 z1@k+`_KIRdVJze=+FlzPMU^=p;NsTeJxni0AiV!`Rs! z0Uwl{OCuA?)_~g$4iNwFf0()Mi17Lm==!kpus7a2;>kvg=Z*+;U6lHv>4NV11y z8zoJ@D|@NPcg2Lnqeu?85TXufNVH>HcZ7BlxbFn^Z%9{36XN?D-N+zh6ybqma0|a6 z>?QC2Z5$hub!Cji!*^lx?W%p-5k9W)W`lo8Xi+pY)lL}UJ;?{r@$Y6|<*N%9 z0p3RL!vMJtPkRnA|7H0{7~2Z+ARh4?+MH2uQ+|f&^eejjuh@P%J9mp^zBQma8-d@A zc&~%M^3jQEG>>qdB)>~ra5(R`!pir1-Ek*|2-S&>e-7+%uo8~yiu zzsSZ%#r)*|ESnNyG&n;rqdA{UMv4DpcO9?e=Og`WmG_HOByTURY8;BE3C88#%BbYk zR6ReCySY8JUDWk`sO}3oaLS|J{!cs_@U4z%=#~7h-|hf@@?%SP_+!p#k#Fi^uJ6VF zCcnN-Kl0&g4uL-(ILp5;IIok9eUkP5T3ru+t_2)5MUPy=AZFhItmCwKGq#d=&}@8Y z>T?15i{!uj=+nvhP+jb9bb9eHJtx0fl+Si5G9-9+uKaH+eZEh=OZ)(Opr$r5NMlx; z(mxWjLLU9A&i-oq>`!_3%|O@Yep>Q~`D+Xb=B;-k9sUi*sPA$7LV|bX!_YnXF*amN z0WJ#`)9e0*8Qm4Xb%ZlkfRTK=9bM@9^aIZOTg&CZA7u*UEMV8N*W16zG6!0V!uJpR z--($6$`ep*I)lBKf$myN?#Cs*%KIHvrgjeRuYD)>cg5L`7Wf8_JuJ?fu62ch%OAb0u8f;B2V{{K0{)&fLj8_T8t%A6BR)Zh!*; zf9MW*gM5dwAE{;d}cM$}tW74b%;4 z7fnaBYk_b3py_W&?*tdbPlSWZ@&{|*#8;_$w|ke$XWK^(;<4ih{JM;!FK56Q;DGt8R{;79CWhHQCzuBkmtu+;HV}CR71`pn9tp2g4 zh`(GO*ni10kH*0FIn-e!2ENaJ%oD9AJImErcNzU@S1p6?v;iK!-{F6Fy!5F3@cSe- zo+bIiUTdp8lpUI%bS|yUP0pU$H;a;Ychqj7O&i<7vbR>Pjg`@I?|&q3d~+?4D-n}; zidw^)17ATa_o(N?JYByN8K(6WZU|2Mvv<%oI&9z*9IVB%Tk#2^x6*!`ajb{8%O@y( zHIjYj#LR{B@JYqdJ^u2aLfuX>NHNC!s~h5Qz@&-G;OYQbta>HQ&zk5cI6_JUxap!wS6n0?JFKZV*HqR`ri<%kZp16+mk^&S3GY& zF~W!Dj|8$nyh#3*w$|8DS%GZWzdDo^f{Ee=ZJn2Z|CJ!dpn0^N77Om{-b2V1$&=uI zk9-!$7VhacwevV*5x-6iOLyNA_>l282Rv^iX%56$(=F{eH&w=m&U32oZlF`?MCQJb zHpEZm%T=C;eB0pIm~^=eep2a^7PV63V>=yqrLddGYgzE-oj42G^7j^pGjv)g}yBT>I`t0T3*ni67Uh}el8}Re> zv==AeHuN2C3Vd4W`ncHR8}Nb+LqoMe*^l5sD>$WjDyN`Pt~JJsk|WsvuAbXo+gO)F zOQTTKx%!LF4Do1c+>eb68O8miYeo4DdjCYR#rGpiuXliT zHjMwsZZeEjI3m7w3A)=)>U{FebR$wo-c&almhXUm@AxISNVEF~NEo?(us-hv^FcLl4pw z{+Hs#^evcDgVoOgEBWo`iUvyZhZCPJlA8cdC~j{z#O>w3R2|45ZjW#CI%4&KPm>t_ zM~UIHJbt1$e?~L5`+E|qB}Fb?Jy&S~!0AN0eGbRsIG-o@%;o!ee3tU*<74rQ26@D}oOuWenWufpN zdC?Gif8v3IU!X=Am)z6ceOOC{gXQ3D4cW8MGu{HodB3|umul+SVPcrDr zI^P<$pY^2Ip2$a+Mo&GF{gWI*A8oLKzMD8o=hB5Ha|+8*3}3pcataTT{}lQiCF^$0 zKz>Qy@xSJ;ahVb^T-MSf2L*H*yRW72n*91Br@j8#x|Z;)P3;kpZ&h}I^r=P~7kx*x zEt-z>gX5l~-^u3+A*|cruc^*5@)9{rJJGn*4s|4uiS=^?@K@j$58~1xzrnA*1bvJ6 zuk2}f)fvc;Gb~e@LyYwd@h);H{Fjr`4LSP=*{0_XLA(0x74CQHesckT(hBb&eyu;D zo*L)Oy{x(Inq@RD_c_Tcp5MCSCResaXm7}ebi94>DDvRV?2EP0n*Bcef|$v$IfO1e z@sjXFI${*}*#C*gfYD>2-I|fz%6Ihn7&Va;OG%nKO$}FA`)ARS(fRT>`}UCV_t<<; z*+j6V>|g=3m-PmZ{?~QrF-xGcfDUKShn@ugN zpbzdnROcJQfjjHGV=uLuL%wlMK!@_>Z6@De=Z+%_GOGKa8Z47J$PH`xa2(h&4~x3u zorQ8O-EH}su`%|s4|1=~o>W~6j|4nW@;uTN1A8funl`Lj5=Ol~2@l#M^=U>bj12b2bT_qnwb68WWMgTU)A6n+2cjF`Vmamfar6ueu2 z_oI`vU~5=;^GK|@%O6Ab1w7$C=#toqe(Nr5uWea(ldCc8s+dQn($-01)wzha`n;mn zgLzr@(m+=WaGhB73H?_*7vlQEUX1x3IOSpQp>I4K%vtqlCO(z&#91=2;XTuG?xix$!KYjnuNqD&BW_gRQnw@r8{1+Lq&bvK!*q zY_fyp2O!q+BDqA9_L}Sg*#Ni=gFWQn=^*(xW#!BKIb$3lZYep-S(d(F)`7P%Y33w#t?8_z!i=gs-` zPlam*;nRr%61357*XAy^YdW(pZa(8%4s|q~IsL*v{XW;SkvB#8F)!3u)5JBuXnxGI zEAaU{)i0WdRUffOze!%qB7eytPF#|V3T%@+zuUlF-`ShR89>_irTCxPpW4r#V7u#n z7^BJiACw(K+yDF}`0S^1ejn{?KaBh&iENoVbkr$fErXhL$Ue?IT4=F%AcbD1_*j`b zk1@_?)ZS{v8Vzwq3!Cy1*(c&3!0dC>c8=ub6rFPyU>cip?~&y3_r3;L$AB!f=D1eT zsmd-EZf@cl?6bts*St*r`l{$oG#B!|KU|L89E)h}L~`ut{)<3Y0(PRc&f)C=eswg< z7jTsB1b_LfbjI}@$p)TnErj}<>IqEc1=6v9pWXJQ$?=`cZu?1HpL_gReGXlrQP%#x zvBclPSe8y1OB}vmKE}6x;<0qhJXY>wLja4_et+GMEdJU#9KnhGG*k2u3tIYpaC*;_ zv4J{M#x`XwbL982KJwXw>ln%*`Tv7;gcn5eqXiz;jlLe-M+Ru@S2K3y3&K}}{8HhC z{5he%MVshgQA|Pa1u~=}-z4XS=C26wcIrIeir)1sSN?PP$**F+aqvHQx{UuL9&SPV`agLh zex6f&I^@wu`FXf*56#E7R$n{ey7+mE6Fw{5{J#@BmV6%n-Nf^O&Q?JWHsnJvf9VCt z|3Dv;-PXVEJJe>nCe(qc3nSnBWLzL0#RXP*w`eWs%W|Mie6AfS>Uorj2^eAmw5?hm zpGH?7cC>%1zZ&Fvi!Z<{GX-#=-nZ-_i?J#mF-eD0;}H%0ZjNw({6xhfM2Dr``|2?+ z`VRJEX$(IIY=y{9=tu}BL-{9rLF>~Yojj6>$ioAdhxbj6{dedNJL>#deghW!Tgaz? zhwD3{Z+Egdzj`aY`XdeZkrlYWjy^|i`;4Ah)o_p6%LjOFvMp-xT&c5SB3}sSOgu@= zwaM?CL%sXehVNsv`2ye1JxB2&#r;>aPVTu{bLs8K*g$T_da0p2UPd3o@4`p&TYj0! zwV~c3oldqSI^B1`fiZm-J_rxP--`O}5nc(t2fkJtKeZG31EQF+bn}+{8Te%-i|!2c z{;BjWe*gRIs=bqTPDtO_2vhjjQCr6A=}*K8N_*BYm&2O%3cT4Sx{{<@BnG4t6s zfbZWi=rti-EK)uN&z}enC&&6Gc!+~C3^==F2drk}Lu(GAlDQ`<1qALuznbkAmVAjRf?``d{?$BFZv@LBX2={tda zMw{|k$%YV5lFno2wO2qj+R%0IU8V7ft5zjzv#<$#kYbu=kE46>Y;#wwiT1bry8c`4 z*xwTTcIbbc{I_NQc=F$F)NhP8Z9@2{)`)yh=l)ObGxlh#p^bcdjWg@Q+|^PjV+GSd zE;5ETatKal_f|Q>;bil={5L1=>pgm>VQj$|*nhoM{hZ+bSM+@2n6uJLZm+#dw9DTc87~|Lzb9!(=Y%Y($2k`KB8+qB8PR7%XV`v||F<;!-`em$ zXKYM9Go${$8Fzerq8i*fZ~HlFa9cn7Kvny+mD?j9>E_-6H_pD2PULSZxyvYAJuU3v z-n{tP(IyAJkH4Z7o=P5Grjsi)o6*@0#Itx`d$EX*<)EwLQ0*04_UdZy9n-1T&3c*& ze4pB;Y4!qXUs?A??DqRAqj~5C89jn=T%YwsiO#pjLmowe&3qhyWB^v;9Sosk{X z%{$nuGp?XdYZmp<&%CqtqSghtR1zz^W%SM2@->%FoVI2Y+pWY_cgIXDw6&;PeA%pJ+;dS&iNR@YDFjySq*%^gu4wA;RwJA&T8e%j^KmjWkf zgFF?l{ABLPZDYi*&F1RM)b~(r51q~PJ8DZ$P>0$HZ2gLNYU>N5JTpnlr?zdbcE4|H z?TRJxnW{F$R%F#0^c|CV1vu#(42KxaUqR1>;qBFbyls26Y1%e)#O*a~E%y9wV+`BS zg%lH|mf0;^ex2t$doz^quYF?6uM0ytKM$=WsHZ)PX9}F9l~X^oaS_)%-_PfoK)uL&NSqs9Y`*499K%Q$1I8{9dMGmX;3W@PKxmSV*h z3zvN1r9Dg?BD>Nq{7ajQV}0PV%lH$;7`de3yD|31Ww~!`H@;>gu;TObF!dI=Uc_fn zJ8eb?R#U32xTbqaXk5X%qGW;=inYb?fGEoY#b!T)?N zx_$rRZLZFZOcbB4J&3LocD`DhmHldMus9f;)9aY8)>4aijmDi7fy}}_LS8MY>YcwN4xlqjzGFYz zJKMJAbd_)FP1~zq>;%V{OD4Xq#D2uIzt&a#QEIA<9OC&>b*;OnRszndmD$F#;>(wD zolDz$gErg!UhXN*kl_4P#V1auPWW%pUq6$bc*&wI{T92RTva_(t5Wd?ddu#EBR}?L zJMrrIu^ydi%$X0W-_6;O^|1rnp0vA!m@auZ_D5=IcR757dRp8cwtvppt`2nMy}|#h zyaz{q-m7)`>3qYvF6ecf=d3)7&C|@nm%%~NUSAGdxqw`BE_avZ!GGuCs(8Y~z39We z%$vBJYHKNXAA8OJr?aPr>tSyLHmkkgo_$pyQ&Xl=Zb1&mumN(&0LHjbzV3?{t2JEl zmU0bnn|CaDLCWEI=VIp8@3v*hpUvj{cz&CEzxvIF_2xAn+urlee!HAyofgk$43+lH zZiT%@DW{#dh{kK;F?$L9=G-LhTG>*yz}~hp<0$XA*=?Fus(!$_4%!>6rpZnEK>Kw^ zelU>#_0R9i{VMR|O=t_!$c%hlmJn`<}M7d9P)=J}m#TK6|S zb|jXsc-Qj%1MKsGrg{WJkUXe2FE~C(Zrfga#MR#MJ3C$&ov_WogZB5mG_|8s>@R?h zE)*>cdgLjaiZ9ua2H$0$wDJ2+%Pd@vze;$TYr2w}8sdNKC*k)d&TLUTdalfK(p&f~ z(?osOdcE|_KeGk_f8d^t511OU{(IPu(C9ZG;iY{bBO53FuYAVoOCOy@9QE1w{|_4O zN54ncWheQKc)y80dbTggx$*UT(YsTxYU@NFJr~{A|Li*m#yOWZgLe6@d&McAA^Iz^ zE>valA0+RXyc+i0TmA%m>j>*+v4%UL!@bn3e5kHll%!9Lp#Qec^4I>AH~NL_e|u>T z{No?5+Fp%=Tl_z!_I|;-PHhV$8B4IPv#B@BK3C))d2&2U&Tr-jG&kL*Z*&%Tm8brP z7~4;$yz>mtHjeqlhIjSeVa6+)-(sJ`b6*qxTjlF)K6u@QFBj2k$lcfXuzvm)cQ3Kb zjJbyV%}RTi)26+)tAg`}h7G^jc{h;P$SQ-L?9kuK(8(9fFJEfOmE3>)5_$kMkjM&- z@S}qKNAM2#Z36wt%Jo$#g+s1Aavz#fZb!MDxED3`;N8_}&Jy|y>i%vOPiFagEb80C zL*QSfy|L^i_e-YfJM!*;>N-f~sW0`b{?h0h0Y8M_L5q(y!sjdWH{G#(t7VoSz!zRB zSR?zbos3g!%RYAcGCk7*n#%`g)Hklv=V)WC1J6S5y$(IPea;J`Itxj(onb7)@C=RT z<$_{-;TfQ1_#HNjud@q28qTjr-|PDVs`@?p4LO|2gG*Mc?H6uz%DlUJguGhik|_gp9Mo zwH$OV_>FM}YnL&fqSi0Z`n|Wlez|b{AQ@oYC!gN|E4P$&9blizswz1HtRZI)u-gT#d%qlDbE0pXM!*7(xs(yOV@4<6rT4wQkCtmv9 zRpixw=~G@IyS)3z20+p7ahh`q1dj6Fz=|7Dxc5#E^W?KQ=r(8sCa zzFKF@_gq2SC1Y2?ot^@@d?jF=sLvUgv;WqN9bv5c%_3Jsuwy-}#nUHVvgx1oVU2SB zT{!4d?C<2`niZvBZm;uRS8Bu?hc9XTud{yY_ble1KHEXT?m`IO}-e=B1?{ka`j6Lym<4pIbpKq!*{56$^ zck^2+v$8|;Ol9X+`QMLU&w;xicZ?w~CV-D=Vvpc*-wN#cEx@xkn1?I8gZE9GZTa_h zy)Y_#BX1(3?=ibKSR>{#_9FQT(K>bVd$3N|9=}dngJ7NVtkXKyX~kf;P8$Z#Fn ztW`^WorI(0!28(KJ(tr*u3@cm|AMtrd&jNU11DcE^?fFDQNPi8so(#T>(x|WucrEX zHL+g&f710*T~e)8uujn8zkx?LIX|tb)_u|TUP|UJcD?KX`tjAWu`Uc~9$D?Nrow0O zGL|l*{S4S9Jx=#hH=h_CHMu1&_s5)0^4Ewt$Lun>`w8fBlbcV6zl$&Heeh~5d}k^B zm@&ySovUD|7b-dzt_X)B{5f?B{xs6K;^B?BlfrfveG6}}nYV^GBVP}+-GDQqe{Ala zfUmJ`;AqdqjKyN@q{oPtS@pFOZEMV;?UT{*dup%4 zQ@d=={D!Y}*$)SN**GScYsp#ee|cd)`ba5|sS#aCF7C630(wElWh9sK$iXr>LXu@K z2fy#Yjx4#|;8>D#F8jD=+{3KHNBnmnTP24L@tI{sQ^a$mYx^Md{=_u|cOUml;^+s|D3C;7&U8f#szfhTw$XlBnl_Cgzd<9N!X zIDgJc&6IA^bH-N`UvvGNmy}%1`_CNC&nPP=@wrJ`3Pfh_(sMQBoc|N_8T5NkFb>uT zUx(Ic?TF^Pr}nq#T;C#ZA`aeN27ij)6AtP^x4Rm5;>Q-v{NXO1tj$M^Z z9cQfLlB>Y=`@PHk_brBwfNk8VSm|t{sxy?wxyI+Hzc&Azf3w8zeK)n%v#l<^80LCw zO?t29Yzp|v&*1&+`l>bm;;P!zxSBt<96mi@3D0BBEndQTN6mFvb8NM7Cxne))CCN> zICBda#pCIjelO!x8}H}3%!D*K&U1;9{i1L}XPia!sT_9Mhk>llIstF)%0A*L27V5| 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 OQ+hnm6Ks34$NLwY;F|aV diff --git a/libs/LuaJIT/android/x86/jit/bc.lua b/libs/LuaJIT/android/x86/jit/bc.lua new file mode 100644 index 00000000..e58a3fef --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/bc.lua @@ -0,0 +1,190 @@ +---------------------------------------------------------------------------- +-- LuaJIT bytecode listing module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module lists the bytecode of a Lua function. If it's loaded by -jbc +-- it hooks into the parser and lists all functions of a chunk as they +-- are parsed. +-- +-- Example usage: +-- +-- luajit -jbc -e 'local x=0; for i=1,1e6 do x=x+i end; print(x)' +-- luajit -jbc=- foo.lua +-- luajit -jbc=foo.list foo.lua +-- +-- Default output is to stderr. To redirect the output to a file, pass a +-- filename as an argument (use '-' for stdout) or set the environment +-- variable LUAJIT_LISTFILE. The file is overwritten every time the module +-- is started. +-- +-- This module can also be used programmatically: +-- +-- local bc = require("jit.bc") +-- +-- local function foo() print("hello") end +-- +-- bc.dump(foo) --> -- BYTECODE -- [...] +-- print(bc.line(foo, 2)) --> 0002 KSTR 1 1 ; "hello" +-- +-- local out = { +-- -- Do something with each line: +-- write = function(t, ...) io.write(...) end, +-- close = function(t) end, +-- flush = function(t) end, +-- } +-- bc.dump(foo, out) +-- +------------------------------------------------------------------------------ + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local jutil = require("jit.util") +local vmdef = require("jit.vmdef") +local bit = require("bit") +local sub, gsub, format = string.sub, string.gsub, string.format +local byte, band, shr = string.byte, bit.band, bit.rshift +local funcinfo, funcbc, funck = jutil.funcinfo, jutil.funcbc, jutil.funck +local funcuvname = jutil.funcuvname +local bcnames = vmdef.bcnames +local stdout, stderr = io.stdout, io.stderr + +------------------------------------------------------------------------------ + +local function ctlsub(c) + if c == "\n" then return "\\n" + elseif c == "\r" then return "\\r" + elseif c == "\t" then return "\\t" + else return format("\\%03d", byte(c)) + end +end + +-- Return one bytecode line. +local function bcline(func, pc, prefix) + local ins, m = funcbc(func, pc) + if not ins then return end + local ma, mb, mc = band(m, 7), band(m, 15*8), band(m, 15*128) + local a = band(shr(ins, 8), 0xff) + local oidx = 6*band(ins, 0xff) + local op = sub(bcnames, oidx+1, oidx+6) + local s = format("%04d %s %-6s %3s ", + pc, prefix or " ", op, ma == 0 and "" or a) + local d = shr(ins, 16) + if mc == 13*128 then -- BCMjump + return format("%s=> %04d\n", s, pc+d-0x7fff) + end + if mb ~= 0 then + d = band(d, 0xff) + elseif mc == 0 then + return s.."\n" + end + local kc + if mc == 10*128 then -- BCMstr + kc = funck(func, -d-1) + kc = format(#kc > 40 and '"%.40s"~' or '"%s"', gsub(kc, "%c", ctlsub)) + elseif mc == 9*128 then -- BCMnum + kc = funck(func, d) + if op == "TSETM " then kc = kc - 2^52 end + elseif mc == 12*128 then -- BCMfunc + local fi = funcinfo(funck(func, -d-1)) + if fi.ffid then + kc = vmdef.ffnames[fi.ffid] + else + kc = fi.loc + end + elseif mc == 5*128 then -- BCMuv + kc = funcuvname(func, d) + end + if ma == 5 then -- BCMuv + local ka = funcuvname(func, a) + if kc then kc = ka.." ; "..kc else kc = ka end + end + if mb ~= 0 then + local b = shr(ins, 24) + if kc then return format("%s%3d %3d ; %s\n", s, b, d, kc) end + return format("%s%3d %3d\n", s, b, d) + end + if kc then return format("%s%3d ; %s\n", s, d, kc) end + if mc == 7*128 and d > 32767 then d = d - 65536 end -- BCMlits + return format("%s%3d\n", s, d) +end + +-- Collect branch targets of a function. +local function bctargets(func) + local target = {} + for pc=1,1000000000 do + local ins, m = funcbc(func, pc) + if not ins then break end + if band(m, 15*128) == 13*128 then target[pc+shr(ins, 16)-0x7fff] = true end + end + return target +end + +-- Dump bytecode instructions of a function. +local function bcdump(func, out, all) + if not out then out = stdout end + local fi = funcinfo(func) + if all and fi.children then + for n=-1,-1000000000,-1 do + local k = funck(func, n) + if not k then break end + if type(k) == "proto" then bcdump(k, out, true) end + end + end + out:write(format("-- BYTECODE -- %s-%d\n", fi.loc, fi.lastlinedefined)) + local target = bctargets(func) + for pc=1,1000000000 do + local s = bcline(func, pc, target[pc] and "=>") + if not s then break end + out:write(s) + end + out:write("\n") + out:flush() +end + +------------------------------------------------------------------------------ + +-- Active flag and output file handle. +local active, out + +-- List handler. +local function h_list(func) + return bcdump(func, out) +end + +-- Detach list handler. +local function bclistoff() + if active then + active = false + jit.attach(h_list) + if out and out ~= stdout and out ~= stderr then out:close() end + out = nil + end +end + +-- Open the output file and attach list handler. +local function bcliston(outfile) + if active then bclistoff() end + if not outfile then outfile = os.getenv("LUAJIT_LISTFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stderr + end + jit.attach(h_list, "bc") + active = true +end + +-- Public module functions. +return { + line = bcline, + dump = bcdump, + targets = bctargets, + on = bcliston, + off = bclistoff, + start = bcliston -- For -j command line option. +} + diff --git a/libs/LuaJIT/android/x86/jit/bcsave.lua b/libs/LuaJIT/android/x86/jit/bcsave.lua new file mode 100644 index 00000000..bc959327 --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/bcsave.lua @@ -0,0 +1,678 @@ +---------------------------------------------------------------------------- +-- LuaJIT module to save/list bytecode. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module saves or lists the bytecode for an input file. +-- It's run by the -b command line option. +-- +------------------------------------------------------------------------------ + +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local bit = require("bit") + +-- Symbol name prefix for LuaJIT bytecode. +local LJBC_PREFIX = "luaJIT_BC_" + +local type, assert = type, assert +local format = string.format +local tremove, tconcat = table.remove, table.concat + +------------------------------------------------------------------------------ + +local function usage() + io.stderr:write[[ +Save LuaJIT bytecode: luajit -b[options] input output + -l Only list bytecode. + -s Strip debug info (default). + -g Keep debug info. + -n name Set module name (default: auto-detect from input name). + -t type Set output file type (default: auto-detect from output name). + -a arch Override architecture for object files (default: native). + -o os Override OS for object files (default: native). + -e chunk Use chunk string as input. + -- Stop handling options. + - Use stdin as input and/or stdout as output. + +File types: c h obj o raw (default) +]] + os.exit(1) +end + +local function check(ok, ...) + if ok then return ok, ... end + io.stderr:write("luajit: ", ...) + io.stderr:write("\n") + os.exit(1) +end + +local function readfile(input) + if type(input) == "function" then return input end + if input == "-" then input = nil end + return check(loadfile(input)) +end + +local function savefile(name, mode) + if name == "-" then return io.stdout end + return check(io.open(name, mode)) +end + +local function set_stdout_binary(ffi) + ffi.cdef[[int _setmode(int fd, int mode);]] + ffi.C._setmode(1, 0x8000) +end + +------------------------------------------------------------------------------ + +local map_type = { + raw = "raw", c = "c", h = "h", o = "obj", obj = "obj", +} + +local map_arch = { + x86 = { e = "le", b = 32, m = 3, p = 0x14c, }, + x64 = { e = "le", b = 64, m = 62, p = 0x8664, }, + arm = { e = "le", b = 32, m = 40, p = 0x1c0, }, + arm64 = { e = "le", b = 64, m = 183, p = 0xaa64, }, + arm64be = { e = "be", b = 64, m = 183, }, + ppc = { e = "be", b = 32, m = 20, }, + mips = { e = "be", b = 32, m = 8, f = 0x50001006, }, + mipsel = { e = "le", b = 32, m = 8, f = 0x50001006, }, + mips64 = { e = "be", b = 64, m = 8, f = 0x80000007, }, + mips64el = { e = "le", b = 64, m = 8, f = 0x80000007, }, + mips64r6 = { e = "be", b = 64, m = 8, f = 0xa0000407, }, + mips64r6el = { e = "le", b = 64, m = 8, f = 0xa0000407, }, +} + +local map_os = { + linux = true, windows = true, osx = true, freebsd = true, netbsd = true, + openbsd = true, dragonfly = true, solaris = true, +} + +local function checkarg(str, map, err) + str = str:lower() + local s = check(map[str], "unknown ", err) + return type(s) == "string" and s or str +end + +local function detecttype(str) + local ext = str:lower():match("%.(%a+)$") + return map_type[ext] or "raw" +end + +local function checkmodname(str) + check(str:match("^[%w_.%-]+$"), "bad module name") + return str:gsub("[%.%-]", "_") +end + +local function detectmodname(str) + if type(str) == "string" then + local tail = str:match("[^/\\]+$") + if tail then str = tail end + local head = str:match("^(.*)%.[^.]*$") + if head then str = head end + str = str:match("^[%w_.%-]+") + else + str = nil + end + check(str, "cannot derive module name, use -n name") + return str:gsub("[%.%-]", "_") +end + +------------------------------------------------------------------------------ + +local function bcsave_tail(fp, output, s) + local ok, err = fp:write(s) + if ok and output ~= "-" then ok, err = fp:close() end + check(ok, "cannot write ", output, ": ", err) +end + +local function bcsave_raw(output, s) + if output == "-" and jit.os == "Windows" then + local ok, ffi = pcall(require, "ffi") + check(ok, "FFI library required to write binary file to stdout") + set_stdout_binary(ffi) + end + local fp = savefile(output, "wb") + bcsave_tail(fp, output, s) +end + +local function bcsave_c(ctx, output, s) + local fp = savefile(output, "w") + if ctx.type == "c" then + fp:write(format([[ +#ifdef __cplusplus +extern "C" +#endif +#ifdef _WIN32 +__declspec(dllexport) +#endif +const unsigned char %s%s[] = { +]], LJBC_PREFIX, ctx.modname)) + else + fp:write(format([[ +#define %s%s_SIZE %d +static const unsigned char %s%s[] = { +]], LJBC_PREFIX, ctx.modname, #s, LJBC_PREFIX, ctx.modname)) + end + local t, n, m = {}, 0, 0 + for i=1,#s do + local b = tostring(string.byte(s, i)) + m = m + #b + 1 + if m > 78 then + fp:write(tconcat(t, ",", 1, n), ",\n") + n, m = 0, #b + 1 + end + n = n + 1 + t[n] = b + end + bcsave_tail(fp, output, tconcat(t, ",", 1, n).."\n};\n") +end + +local function bcsave_elfobj(ctx, output, s, ffi) + ffi.cdef[[ +typedef struct { + uint8_t emagic[4], eclass, eendian, eversion, eosabi, eabiversion, epad[7]; + uint16_t type, machine; + uint32_t version; + uint32_t entry, phofs, shofs; + uint32_t flags; + uint16_t ehsize, phentsize, phnum, shentsize, shnum, shstridx; +} ELF32header; +typedef struct { + uint8_t emagic[4], eclass, eendian, eversion, eosabi, eabiversion, epad[7]; + uint16_t type, machine; + uint32_t version; + uint64_t entry, phofs, shofs; + uint32_t flags; + uint16_t ehsize, phentsize, phnum, shentsize, shnum, shstridx; +} ELF64header; +typedef struct { + uint32_t name, type, flags, addr, ofs, size, link, info, align, entsize; +} ELF32sectheader; +typedef struct { + uint32_t name, type; + uint64_t flags, addr, ofs, size; + uint32_t link, info; + uint64_t align, entsize; +} ELF64sectheader; +typedef struct { + uint32_t name, value, size; + uint8_t info, other; + uint16_t sectidx; +} ELF32symbol; +typedef struct { + uint32_t name; + uint8_t info, other; + uint16_t sectidx; + uint64_t value, size; +} ELF64symbol; +typedef struct { + ELF32header hdr; + ELF32sectheader sect[6]; + ELF32symbol sym[2]; + uint8_t space[4096]; +} ELF32obj; +typedef struct { + ELF64header hdr; + ELF64sectheader sect[6]; + ELF64symbol sym[2]; + uint8_t space[4096]; +} ELF64obj; +]] + local symname = LJBC_PREFIX..ctx.modname + local ai = assert(map_arch[ctx.arch]) + local is64, isbe = ai.b == 64, ai.e == "be" + + -- Handle different host/target endianess. + local function f32(x) return x end + local f16, fofs = f32, f32 + if ffi.abi("be") ~= isbe then + f32 = bit.bswap + function f16(x) return bit.rshift(bit.bswap(x), 16) end + if is64 then + local two32 = ffi.cast("int64_t", 2^32) + function fofs(x) return bit.bswap(x)*two32 end + else + fofs = f32 + end + end + + -- Create ELF object and fill in header. + local o = ffi.new(is64 and "ELF64obj" or "ELF32obj") + local hdr = o.hdr + if ctx.os == "bsd" or ctx.os == "other" then -- Determine native hdr.eosabi. + local bf = assert(io.open("/bin/ls", "rb")) + local bs = bf:read(9) + bf:close() + ffi.copy(o, bs, 9) + check(hdr.emagic[0] == 127, "no support for writing native object files") + else + hdr.emagic = "\127ELF" + hdr.eosabi = ({ freebsd=9, netbsd=2, openbsd=12, solaris=6 })[ctx.os] or 0 + end + hdr.eclass = is64 and 2 or 1 + hdr.eendian = isbe and 2 or 1 + hdr.eversion = 1 + hdr.type = f16(1) + hdr.machine = f16(ai.m) + hdr.flags = f32(ai.f or 0) + hdr.version = f32(1) + hdr.shofs = fofs(ffi.offsetof(o, "sect")) + hdr.ehsize = f16(ffi.sizeof(hdr)) + hdr.shentsize = f16(ffi.sizeof(o.sect[0])) + hdr.shnum = f16(6) + hdr.shstridx = f16(2) + + -- Fill in sections and symbols. + local sofs, ofs = ffi.offsetof(o, "space"), 1 + for i,name in ipairs{ + ".symtab", ".shstrtab", ".strtab", ".rodata", ".note.GNU-stack", + } do + local sect = o.sect[i] + sect.align = fofs(1) + sect.name = f32(ofs) + ffi.copy(o.space+ofs, name) + ofs = ofs + #name+1 + end + o.sect[1].type = f32(2) -- .symtab + o.sect[1].link = f32(3) + o.sect[1].info = f32(1) + o.sect[1].align = fofs(8) + o.sect[1].ofs = fofs(ffi.offsetof(o, "sym")) + o.sect[1].entsize = fofs(ffi.sizeof(o.sym[0])) + o.sect[1].size = fofs(ffi.sizeof(o.sym)) + o.sym[1].name = f32(1) + o.sym[1].sectidx = f16(4) + o.sym[1].size = fofs(#s) + o.sym[1].info = 17 + o.sect[2].type = f32(3) -- .shstrtab + o.sect[2].ofs = fofs(sofs) + o.sect[2].size = fofs(ofs) + o.sect[3].type = f32(3) -- .strtab + o.sect[3].ofs = fofs(sofs + ofs) + o.sect[3].size = fofs(#symname+2) + ffi.copy(o.space+ofs+1, symname) + ofs = ofs + #symname + 2 + o.sect[4].type = f32(1) -- .rodata + o.sect[4].flags = fofs(2) + o.sect[4].ofs = fofs(sofs + ofs) + o.sect[4].size = fofs(#s) + o.sect[5].type = f32(1) -- .note.GNU-stack + o.sect[5].ofs = fofs(sofs + ofs + #s) + + -- Write ELF object file. + local fp = savefile(output, "wb") + fp:write(ffi.string(o, ffi.sizeof(o)-4096+ofs)) + bcsave_tail(fp, output, s) +end + +local function bcsave_peobj(ctx, output, s, ffi) + ffi.cdef[[ +typedef struct { + uint16_t arch, nsects; + uint32_t time, symtabofs, nsyms; + uint16_t opthdrsz, flags; +} PEheader; +typedef struct { + char name[8]; + uint32_t vsize, vaddr, size, ofs, relocofs, lineofs; + uint16_t nreloc, nline; + uint32_t flags; +} PEsection; +typedef struct __attribute((packed)) { + union { + char name[8]; + uint32_t nameref[2]; + }; + uint32_t value; + int16_t sect; + uint16_t type; + uint8_t scl, naux; +} PEsym; +typedef struct __attribute((packed)) { + uint32_t size; + uint16_t nreloc, nline; + uint32_t cksum; + uint16_t assoc; + uint8_t comdatsel, unused[3]; +} PEsymaux; +typedef struct { + PEheader hdr; + PEsection sect[2]; + // Must be an even number of symbol structs. + PEsym sym0; + PEsymaux sym0aux; + PEsym sym1; + PEsymaux sym1aux; + PEsym sym2; + PEsym sym3; + uint32_t strtabsize; + uint8_t space[4096]; +} PEobj; +]] + local symname = LJBC_PREFIX..ctx.modname + local ai = assert(map_arch[ctx.arch]) + local is64 = ai.b == 64 + local symexport = " /EXPORT:"..symname..",DATA " + + -- The file format is always little-endian. Swap if the host is big-endian. + local function f32(x) return x end + local f16 = f32 + if ffi.abi("be") then + f32 = bit.bswap + function f16(x) return bit.rshift(bit.bswap(x), 16) end + end + + -- Create PE object and fill in header. + local o = ffi.new("PEobj") + local hdr = o.hdr + hdr.arch = f16(assert(ai.p)) + hdr.nsects = f16(2) + hdr.symtabofs = f32(ffi.offsetof(o, "sym0")) + hdr.nsyms = f32(6) + + -- Fill in sections and symbols. + o.sect[0].name = ".drectve" + o.sect[0].size = f32(#symexport) + o.sect[0].flags = f32(0x00100a00) + o.sym0.sect = f16(1) + o.sym0.scl = 3 + o.sym0.name = ".drectve" + o.sym0.naux = 1 + o.sym0aux.size = f32(#symexport) + o.sect[1].name = ".rdata" + o.sect[1].size = f32(#s) + o.sect[1].flags = f32(0x40300040) + o.sym1.sect = f16(2) + o.sym1.scl = 3 + o.sym1.name = ".rdata" + o.sym1.naux = 1 + o.sym1aux.size = f32(#s) + o.sym2.sect = f16(2) + o.sym2.scl = 2 + o.sym2.nameref[1] = f32(4) + o.sym3.sect = f16(-1) + o.sym3.scl = 2 + o.sym3.value = f32(1) + o.sym3.name = "@feat.00" -- Mark as SafeSEH compliant. + ffi.copy(o.space, symname) + local ofs = #symname + 1 + o.strtabsize = f32(ofs + 4) + o.sect[0].ofs = f32(ffi.offsetof(o, "space") + ofs) + ffi.copy(o.space + ofs, symexport) + ofs = ofs + #symexport + o.sect[1].ofs = f32(ffi.offsetof(o, "space") + ofs) + + -- Write PE object file. + local fp = savefile(output, "wb") + fp:write(ffi.string(o, ffi.sizeof(o)-4096+ofs)) + bcsave_tail(fp, output, s) +end + +local function bcsave_machobj(ctx, output, s, ffi) + ffi.cdef[[ +typedef struct +{ + uint32_t magic, cputype, cpusubtype, filetype, ncmds, sizeofcmds, flags; +} mach_header; +typedef struct +{ + mach_header; uint32_t reserved; +} mach_header_64; +typedef struct { + uint32_t cmd, cmdsize; + char segname[16]; + uint32_t vmaddr, vmsize, fileoff, filesize; + uint32_t maxprot, initprot, nsects, flags; +} mach_segment_command; +typedef struct { + uint32_t cmd, cmdsize; + char segname[16]; + uint64_t vmaddr, vmsize, fileoff, filesize; + uint32_t maxprot, initprot, nsects, flags; +} mach_segment_command_64; +typedef struct { + char sectname[16], segname[16]; + uint32_t addr, size; + uint32_t offset, align, reloff, nreloc, flags; + uint32_t reserved1, reserved2; +} mach_section; +typedef struct { + char sectname[16], segname[16]; + uint64_t addr, size; + uint32_t offset, align, reloff, nreloc, flags; + uint32_t reserved1, reserved2, reserved3; +} mach_section_64; +typedef struct { + uint32_t cmd, cmdsize, symoff, nsyms, stroff, strsize; +} mach_symtab_command; +typedef struct { + int32_t strx; + uint8_t type, sect; + int16_t desc; + uint32_t value; +} mach_nlist; +typedef struct { + uint32_t strx; + uint8_t type, sect; + uint16_t desc; + uint64_t value; +} mach_nlist_64; +typedef struct +{ + uint32_t magic, nfat_arch; +} mach_fat_header; +typedef struct +{ + uint32_t cputype, cpusubtype, offset, size, align; +} mach_fat_arch; +typedef struct { + struct { + mach_header hdr; + mach_segment_command seg; + mach_section sec; + mach_symtab_command sym; + } arch[1]; + mach_nlist sym_entry; + uint8_t space[4096]; +} mach_obj; +typedef struct { + struct { + mach_header_64 hdr; + mach_segment_command_64 seg; + mach_section_64 sec; + mach_symtab_command sym; + } arch[1]; + mach_nlist_64 sym_entry; + uint8_t space[4096]; +} mach_obj_64; +typedef struct { + mach_fat_header fat; + mach_fat_arch fat_arch[2]; + struct { + mach_header hdr; + mach_segment_command seg; + mach_section sec; + mach_symtab_command sym; + } arch[2]; + mach_nlist sym_entry; + uint8_t space[4096]; +} mach_fat_obj; +]] + local symname = '_'..LJBC_PREFIX..ctx.modname + local isfat, is64, align, mobj = false, false, 4, "mach_obj" + if ctx.arch == "x64" then + is64, align, mobj = true, 8, "mach_obj_64" + elseif ctx.arch == "arm" then + isfat, mobj = true, "mach_fat_obj" + elseif ctx.arch == "arm64" then + is64, align, isfat, mobj = true, 8, true, "mach_fat_obj" + else + check(ctx.arch == "x86", "unsupported architecture for OSX") + end + local function aligned(v, a) return bit.band(v+a-1, -a) end + local be32 = bit.bswap -- Mach-O FAT is BE, supported archs are LE. + + -- Create Mach-O object and fill in header. + local o = ffi.new(mobj) + local mach_size = aligned(ffi.offsetof(o, "space")+#symname+2, align) + local cputype = ({ x86={7}, x64={0x01000007}, arm={7,12}, arm64={0x01000007,0x0100000c} })[ctx.arch] + local cpusubtype = ({ x86={3}, x64={3}, arm={3,9}, arm64={3,0} })[ctx.arch] + if isfat then + o.fat.magic = be32(0xcafebabe) + o.fat.nfat_arch = be32(#cpusubtype) + end + + -- Fill in sections and symbols. + for i=0,#cpusubtype-1 do + local ofs = 0 + if isfat then + local a = o.fat_arch[i] + a.cputype = be32(cputype[i+1]) + a.cpusubtype = be32(cpusubtype[i+1]) + -- Subsequent slices overlap each other to share data. + ofs = ffi.offsetof(o, "arch") + i*ffi.sizeof(o.arch[0]) + a.offset = be32(ofs) + a.size = be32(mach_size-ofs+#s) + end + local a = o.arch[i] + a.hdr.magic = is64 and 0xfeedfacf or 0xfeedface + a.hdr.cputype = cputype[i+1] + a.hdr.cpusubtype = cpusubtype[i+1] + a.hdr.filetype = 1 + a.hdr.ncmds = 2 + a.hdr.sizeofcmds = ffi.sizeof(a.seg)+ffi.sizeof(a.sec)+ffi.sizeof(a.sym) + a.seg.cmd = is64 and 0x19 or 0x1 + a.seg.cmdsize = ffi.sizeof(a.seg)+ffi.sizeof(a.sec) + a.seg.vmsize = #s + a.seg.fileoff = mach_size-ofs + a.seg.filesize = #s + a.seg.maxprot = 1 + a.seg.initprot = 1 + a.seg.nsects = 1 + ffi.copy(a.sec.sectname, "__data") + ffi.copy(a.sec.segname, "__DATA") + a.sec.size = #s + a.sec.offset = mach_size-ofs + a.sym.cmd = 2 + a.sym.cmdsize = ffi.sizeof(a.sym) + a.sym.symoff = ffi.offsetof(o, "sym_entry")-ofs + a.sym.nsyms = 1 + a.sym.stroff = ffi.offsetof(o, "sym_entry")+ffi.sizeof(o.sym_entry)-ofs + a.sym.strsize = aligned(#symname+2, align) + end + o.sym_entry.type = 0xf + o.sym_entry.sect = 1 + o.sym_entry.strx = 1 + ffi.copy(o.space+1, symname) + + -- Write Macho-O object file. + local fp = savefile(output, "wb") + fp:write(ffi.string(o, mach_size)) + bcsave_tail(fp, output, s) +end + +local function bcsave_obj(ctx, output, s) + local ok, ffi = pcall(require, "ffi") + check(ok, "FFI library required to write this file type") + if output == "-" and jit.os == "Windows" then + set_stdout_binary(ffi) + end + if ctx.os == "windows" then + return bcsave_peobj(ctx, output, s, ffi) + elseif ctx.os == "osx" then + return bcsave_machobj(ctx, output, s, ffi) + else + return bcsave_elfobj(ctx, output, s, ffi) + end +end + +------------------------------------------------------------------------------ + +local function bclist(input, output) + local f = readfile(input) + require("jit.bc").dump(f, savefile(output, "w"), true) +end + +local function bcsave(ctx, input, output) + local f = readfile(input) + local s = string.dump(f, ctx.strip) + local t = ctx.type + if not t then + t = detecttype(output) + ctx.type = t + end + if t == "raw" then + bcsave_raw(output, s) + else + if not ctx.modname then ctx.modname = detectmodname(input) end + if t == "obj" then + bcsave_obj(ctx, output, s) + else + bcsave_c(ctx, output, s) + end + end +end + +local function docmd(...) + local arg = {...} + local n = 1 + local list = false + local ctx = { + strip = true, arch = jit.arch, os = jit.os:lower(), + type = false, modname = false, + } + while n <= #arg do + local a = arg[n] + if type(a) == "string" and a:sub(1, 1) == "-" and a ~= "-" then + tremove(arg, n) + if a == "--" then break end + for m=2,#a do + local opt = a:sub(m, m) + if opt == "l" then + list = true + elseif opt == "s" then + ctx.strip = true + elseif opt == "g" then + ctx.strip = false + else + if arg[n] == nil or m ~= #a then usage() end + if opt == "e" then + if n ~= 1 then usage() end + arg[1] = check(loadstring(arg[1])) + elseif opt == "n" then + ctx.modname = checkmodname(tremove(arg, n)) + elseif opt == "t" then + ctx.type = checkarg(tremove(arg, n), map_type, "file type") + elseif opt == "a" then + ctx.arch = checkarg(tremove(arg, n), map_arch, "architecture") + elseif opt == "o" then + ctx.os = checkarg(tremove(arg, n), map_os, "OS name") + else + usage() + end + end + end + else + n = n + 1 + end + end + if list then + if #arg == 0 or #arg > 2 then usage() end + bclist(arg[1], arg[2] or "-") + else + if #arg ~= 2 then usage() end + bcsave(ctx, arg[1], arg[2]) + end +end + +------------------------------------------------------------------------------ + +-- Public module functions. +return { + start = docmd -- Process -b command line option. +} + diff --git a/libs/LuaJIT/android/x86/jit/dis_arm.lua b/libs/LuaJIT/android/x86/jit/dis_arm.lua new file mode 100644 index 00000000..ba79c47e --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/dis_arm.lua @@ -0,0 +1,689 @@ +---------------------------------------------------------------------------- +-- LuaJIT ARM disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles most user-mode ARMv7 instructions +-- NYI: Advanced SIMD and VFP instructions. +------------------------------------------------------------------------------ + +local type = type +local sub, byte, format = string.sub, string.byte, string.format +local match, gmatch = string.match, string.gmatch +local concat = table.concat +local bit = require("bit") +local band, bor, ror, tohex = bit.band, bit.bor, bit.ror, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift + +------------------------------------------------------------------------------ +-- Opcode maps +------------------------------------------------------------------------------ + +local map_loadc = { + shift = 8, mask = 15, + [10] = { + shift = 20, mask = 1, + [0] = { + shift = 23, mask = 3, + [0] = "vmovFmDN", "vstmFNdr", + _ = { + shift = 21, mask = 1, + [0] = "vstrFdl", + { shift = 16, mask = 15, [13] = "vpushFdr", _ = "vstmdbFNdr", } + }, + }, + { + shift = 23, mask = 3, + [0] = "vmovFDNm", + { shift = 16, mask = 15, [13] = "vpopFdr", _ = "vldmFNdr", }, + _ = { + shift = 21, mask = 1, + [0] = "vldrFdl", "vldmdbFNdr", + }, + }, + }, + [11] = { + shift = 20, mask = 1, + [0] = { + shift = 23, mask = 3, + [0] = "vmovGmDN", "vstmGNdr", + _ = { + shift = 21, mask = 1, + [0] = "vstrGdl", + { shift = 16, mask = 15, [13] = "vpushGdr", _ = "vstmdbGNdr", } + }, + }, + { + shift = 23, mask = 3, + [0] = "vmovGDNm", + { shift = 16, mask = 15, [13] = "vpopGdr", _ = "vldmGNdr", }, + _ = { + shift = 21, mask = 1, + [0] = "vldrGdl", "vldmdbGNdr", + }, + }, + }, + _ = { + shift = 0, mask = 0 -- NYI ldc, mcrr, mrrc. + }, +} + +local map_vfps = { + shift = 6, mask = 0x2c001, + [0] = "vmlaF.dnm", "vmlsF.dnm", + [0x04000] = "vnmlsF.dnm", [0x04001] = "vnmlaF.dnm", + [0x08000] = "vmulF.dnm", [0x08001] = "vnmulF.dnm", + [0x0c000] = "vaddF.dnm", [0x0c001] = "vsubF.dnm", + [0x20000] = "vdivF.dnm", + [0x24000] = "vfnmsF.dnm", [0x24001] = "vfnmaF.dnm", + [0x28000] = "vfmaF.dnm", [0x28001] = "vfmsF.dnm", + [0x2c000] = "vmovF.dY", + [0x2c001] = { + shift = 7, mask = 0x1e01, + [0] = "vmovF.dm", "vabsF.dm", + [0x0200] = "vnegF.dm", [0x0201] = "vsqrtF.dm", + [0x0800] = "vcmpF.dm", [0x0801] = "vcmpeF.dm", + [0x0a00] = "vcmpzF.d", [0x0a01] = "vcmpzeF.d", + [0x0e01] = "vcvtG.dF.m", + [0x1000] = "vcvt.f32.u32Fdm", [0x1001] = "vcvt.f32.s32Fdm", + [0x1800] = "vcvtr.u32F.dm", [0x1801] = "vcvt.u32F.dm", + [0x1a00] = "vcvtr.s32F.dm", [0x1a01] = "vcvt.s32F.dm", + }, +} + +local map_vfpd = { + shift = 6, mask = 0x2c001, + [0] = "vmlaG.dnm", "vmlsG.dnm", + [0x04000] = "vnmlsG.dnm", [0x04001] = "vnmlaG.dnm", + [0x08000] = "vmulG.dnm", [0x08001] = "vnmulG.dnm", + [0x0c000] = "vaddG.dnm", [0x0c001] = "vsubG.dnm", + [0x20000] = "vdivG.dnm", + [0x24000] = "vfnmsG.dnm", [0x24001] = "vfnmaG.dnm", + [0x28000] = "vfmaG.dnm", [0x28001] = "vfmsG.dnm", + [0x2c000] = "vmovG.dY", + [0x2c001] = { + shift = 7, mask = 0x1e01, + [0] = "vmovG.dm", "vabsG.dm", + [0x0200] = "vnegG.dm", [0x0201] = "vsqrtG.dm", + [0x0800] = "vcmpG.dm", [0x0801] = "vcmpeG.dm", + [0x0a00] = "vcmpzG.d", [0x0a01] = "vcmpzeG.d", + [0x0e01] = "vcvtF.dG.m", + [0x1000] = "vcvt.f64.u32GdFm", [0x1001] = "vcvt.f64.s32GdFm", + [0x1800] = "vcvtr.u32FdG.m", [0x1801] = "vcvt.u32FdG.m", + [0x1a00] = "vcvtr.s32FdG.m", [0x1a01] = "vcvt.s32FdG.m", + }, +} + +local map_datac = { + shift = 24, mask = 1, + [0] = { + shift = 4, mask = 1, + [0] = { + shift = 8, mask = 15, + [10] = map_vfps, + [11] = map_vfpd, + -- NYI cdp, mcr, mrc. + }, + { + shift = 8, mask = 15, + [10] = { + shift = 20, mask = 15, + [0] = "vmovFnD", "vmovFDn", + [14] = "vmsrD", + [15] = { shift = 12, mask = 15, [15] = "vmrs", _ = "vmrsD", }, + }, + }, + }, + "svcT", +} + +local map_loadcu = { + shift = 0, mask = 0, -- NYI unconditional CP load/store. +} + +local map_datacu = { + shift = 0, mask = 0, -- NYI unconditional CP data. +} + +local map_simddata = { + shift = 0, mask = 0, -- NYI SIMD data. +} + +local map_simdload = { + shift = 0, mask = 0, -- NYI SIMD load/store, preload. +} + +local map_preload = { + shift = 0, mask = 0, -- NYI preload. +} + +local map_media = { + shift = 20, mask = 31, + [0] = false, + { --01 + shift = 5, mask = 7, + [0] = "sadd16DNM", "sasxDNM", "ssaxDNM", "ssub16DNM", + "sadd8DNM", false, false, "ssub8DNM", + }, + { --02 + shift = 5, mask = 7, + [0] = "qadd16DNM", "qasxDNM", "qsaxDNM", "qsub16DNM", + "qadd8DNM", false, false, "qsub8DNM", + }, + { --03 + shift = 5, mask = 7, + [0] = "shadd16DNM", "shasxDNM", "shsaxDNM", "shsub16DNM", + "shadd8DNM", false, false, "shsub8DNM", + }, + false, + { --05 + shift = 5, mask = 7, + [0] = "uadd16DNM", "uasxDNM", "usaxDNM", "usub16DNM", + "uadd8DNM", false, false, "usub8DNM", + }, + { --06 + shift = 5, mask = 7, + [0] = "uqadd16DNM", "uqasxDNM", "uqsaxDNM", "uqsub16DNM", + "uqadd8DNM", false, false, "uqsub8DNM", + }, + { --07 + shift = 5, mask = 7, + [0] = "uhadd16DNM", "uhasxDNM", "uhsaxDNM", "uhsub16DNM", + "uhadd8DNM", false, false, "uhsub8DNM", + }, + { --08 + shift = 5, mask = 7, + [0] = "pkhbtDNMU", false, "pkhtbDNMU", + { shift = 16, mask = 15, [15] = "sxtb16DMU", _ = "sxtab16DNMU", }, + "pkhbtDNMU", "selDNM", "pkhtbDNMU", + }, + false, + { --0a + shift = 5, mask = 7, + [0] = "ssatDxMu", "ssat16DxM", "ssatDxMu", + { shift = 16, mask = 15, [15] = "sxtbDMU", _ = "sxtabDNMU", }, + "ssatDxMu", false, "ssatDxMu", + }, + { --0b + shift = 5, mask = 7, + [0] = "ssatDxMu", "revDM", "ssatDxMu", + { shift = 16, mask = 15, [15] = "sxthDMU", _ = "sxtahDNMU", }, + "ssatDxMu", "rev16DM", "ssatDxMu", + }, + { --0c + shift = 5, mask = 7, + [3] = { shift = 16, mask = 15, [15] = "uxtb16DMU", _ = "uxtab16DNMU", }, + }, + false, + { --0e + shift = 5, mask = 7, + [0] = "usatDwMu", "usat16DwM", "usatDwMu", + { shift = 16, mask = 15, [15] = "uxtbDMU", _ = "uxtabDNMU", }, + "usatDwMu", false, "usatDwMu", + }, + { --0f + shift = 5, mask = 7, + [0] = "usatDwMu", "rbitDM", "usatDwMu", + { shift = 16, mask = 15, [15] = "uxthDMU", _ = "uxtahDNMU", }, + "usatDwMu", "revshDM", "usatDwMu", + }, + { --10 + shift = 12, mask = 15, + [15] = { + shift = 5, mask = 7, + "smuadNMS", "smuadxNMS", "smusdNMS", "smusdxNMS", + }, + _ = { + shift = 5, mask = 7, + [0] = "smladNMSD", "smladxNMSD", "smlsdNMSD", "smlsdxNMSD", + }, + }, + false, false, false, + { --14 + shift = 5, mask = 7, + [0] = "smlaldDNMS", "smlaldxDNMS", "smlsldDNMS", "smlsldxDNMS", + }, + { --15 + shift = 5, mask = 7, + [0] = { shift = 12, mask = 15, [15] = "smmulNMS", _ = "smmlaNMSD", }, + { shift = 12, mask = 15, [15] = "smmulrNMS", _ = "smmlarNMSD", }, + false, false, false, false, + "smmlsNMSD", "smmlsrNMSD", + }, + false, false, + { --18 + shift = 5, mask = 7, + [0] = { shift = 12, mask = 15, [15] = "usad8NMS", _ = "usada8NMSD", }, + }, + false, + { --1a + shift = 5, mask = 3, [2] = "sbfxDMvw", + }, + { --1b + shift = 5, mask = 3, [2] = "sbfxDMvw", + }, + { --1c + shift = 5, mask = 3, + [0] = { shift = 0, mask = 15, [15] = "bfcDvX", _ = "bfiDMvX", }, + }, + { --1d + shift = 5, mask = 3, + [0] = { shift = 0, mask = 15, [15] = "bfcDvX", _ = "bfiDMvX", }, + }, + { --1e + shift = 5, mask = 3, [2] = "ubfxDMvw", + }, + { --1f + shift = 5, mask = 3, [2] = "ubfxDMvw", + }, +} + +local map_load = { + shift = 21, mask = 9, + { + shift = 20, mask = 5, + [0] = "strtDL", "ldrtDL", [4] = "strbtDL", [5] = "ldrbtDL", + }, + _ = { + shift = 20, mask = 5, + [0] = "strDL", "ldrDL", [4] = "strbDL", [5] = "ldrbDL", + } +} + +local map_load1 = { + shift = 4, mask = 1, + [0] = map_load, map_media, +} + +local map_loadm = { + shift = 20, mask = 1, + [0] = { + shift = 23, mask = 3, + [0] = "stmdaNR", "stmNR", + { shift = 16, mask = 63, [45] = "pushR", _ = "stmdbNR", }, "stmibNR", + }, + { + shift = 23, mask = 3, + [0] = "ldmdaNR", { shift = 16, mask = 63, [61] = "popR", _ = "ldmNR", }, + "ldmdbNR", "ldmibNR", + }, +} + +local map_data = { + shift = 21, mask = 15, + [0] = "andDNPs", "eorDNPs", "subDNPs", "rsbDNPs", + "addDNPs", "adcDNPs", "sbcDNPs", "rscDNPs", + "tstNP", "teqNP", "cmpNP", "cmnNP", + "orrDNPs", "movDPs", "bicDNPs", "mvnDPs", +} + +local map_mul = { + shift = 21, mask = 7, + [0] = "mulNMSs", "mlaNMSDs", "umaalDNMS", "mlsDNMS", + "umullDNMSs", "umlalDNMSs", "smullDNMSs", "smlalDNMSs", +} + +local map_sync = { + shift = 20, mask = 15, -- NYI: brackets around N. R(D+1) for ldrexd/strexd. + [0] = "swpDMN", false, false, false, + "swpbDMN", false, false, false, + "strexDMN", "ldrexDN", "strexdDN", "ldrexdDN", + "strexbDMN", "ldrexbDN", "strexhDN", "ldrexhDN", +} + +local map_mulh = { + shift = 21, mask = 3, + [0] = { shift = 5, mask = 3, + [0] = "smlabbNMSD", "smlatbNMSD", "smlabtNMSD", "smlattNMSD", }, + { shift = 5, mask = 3, + [0] = "smlawbNMSD", "smulwbNMS", "smlawtNMSD", "smulwtNMS", }, + { shift = 5, mask = 3, + [0] = "smlalbbDNMS", "smlaltbDNMS", "smlalbtDNMS", "smlalttDNMS", }, + { shift = 5, mask = 3, + [0] = "smulbbNMS", "smultbNMS", "smulbtNMS", "smulttNMS", }, +} + +local map_misc = { + shift = 4, mask = 7, + -- NYI: decode PSR bits of msr. + [0] = { shift = 21, mask = 1, [0] = "mrsD", "msrM", }, + { shift = 21, mask = 3, "bxM", false, "clzDM", }, + { shift = 21, mask = 3, "bxjM", }, + { shift = 21, mask = 3, "blxM", }, + false, + { shift = 21, mask = 3, [0] = "qaddDMN", "qsubDMN", "qdaddDMN", "qdsubDMN", }, + false, + { shift = 21, mask = 3, "bkptK", }, +} + +local map_datar = { + shift = 4, mask = 9, + [9] = { + shift = 5, mask = 3, + [0] = { shift = 24, mask = 1, [0] = map_mul, map_sync, }, + { shift = 20, mask = 1, [0] = "strhDL", "ldrhDL", }, + { shift = 20, mask = 1, [0] = "ldrdDL", "ldrsbDL", }, + { shift = 20, mask = 1, [0] = "strdDL", "ldrshDL", }, + }, + _ = { + shift = 20, mask = 25, + [16] = { shift = 7, mask = 1, [0] = map_misc, map_mulh, }, + _ = { + shift = 0, mask = 0xffffffff, + [bor(0xe1a00000)] = "nop", + _ = map_data, + } + }, +} + +local map_datai = { + shift = 20, mask = 31, -- NYI: decode PSR bits of msr. Decode imm12. + [16] = "movwDW", [20] = "movtDW", + [18] = { shift = 0, mask = 0xf00ff, [0] = "nopv6", _ = "msrNW", }, + [22] = "msrNW", + _ = map_data, +} + +local map_branch = { + shift = 24, mask = 1, + [0] = "bB", "blB" +} + +local map_condins = { + [0] = map_datar, map_datai, map_load, map_load1, + map_loadm, map_branch, map_loadc, map_datac +} + +-- NYI: setend. +local map_uncondins = { + [0] = false, map_simddata, map_simdload, map_preload, + false, "blxB", map_loadcu, map_datacu, +} + +------------------------------------------------------------------------------ + +local map_gpr = { + [0] = "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "sp", "lr", "pc", +} + +local map_cond = { + [0] = "eq", "ne", "hs", "lo", "mi", "pl", "vs", "vc", + "hi", "ls", "ge", "lt", "gt", "le", "al", +} + +local map_shift = { [0] = "lsl", "lsr", "asr", "ror", } + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then + extra = "\t->"..sym + elseif band(ctx.op, 0x0e000000) ~= 0x0a000000 then + extra = "\t; 0x"..tohex(ctx.rel) + end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-5s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-5s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +-- Format operand 2 of load/store opcodes. +local function fmtload(ctx, op, pos) + local base = map_gpr[band(rshift(op, 16), 15)] + local x, ofs + local ext = (band(op, 0x04000000) == 0) + if not ext and band(op, 0x02000000) == 0 then + ofs = band(op, 4095) + if band(op, 0x00800000) == 0 then ofs = -ofs end + if base == "pc" then ctx.rel = ctx.addr + pos + 8 + ofs end + ofs = "#"..ofs + elseif ext and band(op, 0x00400000) ~= 0 then + ofs = band(op, 15) + band(rshift(op, 4), 0xf0) + if band(op, 0x00800000) == 0 then ofs = -ofs end + if base == "pc" then ctx.rel = ctx.addr + pos + 8 + ofs end + ofs = "#"..ofs + else + ofs = map_gpr[band(op, 15)] + if ext or band(op, 0xfe0) == 0 then + elseif band(op, 0xfe0) == 0x60 then + ofs = format("%s, rrx", ofs) + else + local sh = band(rshift(op, 7), 31) + if sh == 0 then sh = 32 end + ofs = format("%s, %s #%d", ofs, map_shift[band(rshift(op, 5), 3)], sh) + end + if band(op, 0x00800000) == 0 then ofs = "-"..ofs end + end + if ofs == "#0" then + x = format("[%s]", base) + elseif band(op, 0x01000000) == 0 then + x = format("[%s], %s", base, ofs) + else + x = format("[%s, %s]", base, ofs) + end + if band(op, 0x01200000) == 0x01200000 then x = x.."!" end + return x +end + +-- Format operand 2 of vector load/store opcodes. +local function fmtvload(ctx, op, pos) + local base = map_gpr[band(rshift(op, 16), 15)] + local ofs = band(op, 255)*4 + if band(op, 0x00800000) == 0 then ofs = -ofs end + if base == "pc" then ctx.rel = ctx.addr + pos + 8 + ofs end + if ofs == 0 then + return format("[%s]", base) + else + return format("[%s, #%d]", base, ofs) + end +end + +local function fmtvr(op, vr, sh0, sh1) + if vr == "s" then + return format("s%d", 2*band(rshift(op, sh0), 15)+band(rshift(op, sh1), 1)) + else + return format("d%d", band(rshift(op, sh0), 15)+band(rshift(op, sh1-4), 16)) + end +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + local op = bor(lshift(b3, 24), lshift(b2, 16), lshift(b1, 8), b0) + local operands = {} + local suffix = "" + local last, name, pat + local vr + ctx.op = op + ctx.rel = nil + + local cond = rshift(op, 28) + local opat + if cond == 15 then + opat = map_uncondins[band(rshift(op, 25), 7)] + else + if cond ~= 14 then suffix = map_cond[cond] end + opat = map_condins[band(rshift(op, 25), 7)] + end + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + opat = opat[band(rshift(op, opat.shift), opat.mask)] or opat._ + end + name, pat = match(opat, "^([a-z0-9]*)(.*)") + if sub(pat, 1, 1) == "." then + local s2, p2 = match(pat, "^([a-z0-9.]*)(.*)") + suffix = suffix..s2 + pat = p2 + end + + for p in gmatch(pat, ".") do + local x = nil + if p == "D" then + x = map_gpr[band(rshift(op, 12), 15)] + elseif p == "N" then + x = map_gpr[band(rshift(op, 16), 15)] + elseif p == "S" then + x = map_gpr[band(rshift(op, 8), 15)] + elseif p == "M" then + x = map_gpr[band(op, 15)] + elseif p == "d" then + x = fmtvr(op, vr, 12, 22) + elseif p == "n" then + x = fmtvr(op, vr, 16, 7) + elseif p == "m" then + x = fmtvr(op, vr, 0, 5) + elseif p == "P" then + if band(op, 0x02000000) ~= 0 then + x = ror(band(op, 255), 2*band(rshift(op, 8), 15)) + else + x = map_gpr[band(op, 15)] + if band(op, 0xff0) ~= 0 then + operands[#operands+1] = x + local s = map_shift[band(rshift(op, 5), 3)] + local r = nil + if band(op, 0xf90) == 0 then + if s == "ror" then s = "rrx" else r = "#32" end + elseif band(op, 0x10) == 0 then + r = "#"..band(rshift(op, 7), 31) + else + r = map_gpr[band(rshift(op, 8), 15)] + end + if name == "mov" then name = s; x = r + elseif r then x = format("%s %s", s, r) + else x = s end + end + end + elseif p == "L" then + x = fmtload(ctx, op, pos) + elseif p == "l" then + x = fmtvload(ctx, op, pos) + elseif p == "B" then + local addr = ctx.addr + pos + 8 + arshift(lshift(op, 8), 6) + if cond == 15 then addr = addr + band(rshift(op, 23), 2) end + ctx.rel = addr + x = "0x"..tohex(addr) + elseif p == "F" then + vr = "s" + elseif p == "G" then + vr = "d" + elseif p == "." then + suffix = suffix..(vr == "s" and ".f32" or ".f64") + elseif p == "R" then + if band(op, 0x00200000) ~= 0 and #operands == 1 then + operands[1] = operands[1].."!" + end + local t = {} + for i=0,15 do + if band(rshift(op, i), 1) == 1 then t[#t+1] = map_gpr[i] end + end + x = "{"..concat(t, ", ").."}" + elseif p == "r" then + if band(op, 0x00200000) ~= 0 and #operands == 2 then + operands[1] = operands[1].."!" + end + local s = tonumber(sub(last, 2)) + local n = band(op, 255) + if vr == "d" then n = rshift(n, 1) end + operands[#operands] = format("{%s-%s%d}", last, vr, s+n-1) + elseif p == "W" then + x = band(op, 0x0fff) + band(rshift(op, 4), 0xf000) + elseif p == "T" then + x = "#0x"..tohex(band(op, 0x00ffffff), 6) + elseif p == "U" then + x = band(rshift(op, 7), 31) + if x == 0 then x = nil end + elseif p == "u" then + x = band(rshift(op, 7), 31) + if band(op, 0x40) == 0 then + if x == 0 then x = nil else x = "lsl #"..x end + else + if x == 0 then x = "asr #32" else x = "asr #"..x end + end + elseif p == "v" then + x = band(rshift(op, 7), 31) + elseif p == "w" then + x = band(rshift(op, 16), 31) + elseif p == "x" then + x = band(rshift(op, 16), 31) + 1 + elseif p == "X" then + x = band(rshift(op, 16), 31) - last + 1 + elseif p == "Y" then + x = band(rshift(op, 12), 0xf0) + band(op, 0x0f) + elseif p == "K" then + x = "#0x"..tohex(band(rshift(op, 4), 0x0000fff0) + band(op, 15), 4) + elseif p == "s" then + if band(op, 0x00100000) ~= 0 then suffix = "s"..suffix end + else + assert(false) + end + if x then + last = x + if type(x) == "number" then x = "#"..x end + operands[#operands+1] = x + end + end + + return putop(ctx, name..suffix, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + ctx.pos = ofs + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 16 then return map_gpr[r] end + return "d"..(r-16) +end + +-- Public module functions. +return { + create = create, + disass = disass, + regname = regname +} + diff --git a/libs/LuaJIT/android/x86/jit/dis_arm64.lua b/libs/LuaJIT/android/x86/jit/dis_arm64.lua new file mode 100644 index 00000000..ad909fbd --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/dis_arm64.lua @@ -0,0 +1,1216 @@ +---------------------------------------------------------------------------- +-- LuaJIT ARM64 disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +-- +-- Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com. +-- Sponsored by Cisco Systems, Inc. +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles most user-mode AArch64 instructions. +-- NYI: Advanced SIMD and VFP instructions. +------------------------------------------------------------------------------ + +local type = type +local sub, byte, format = string.sub, string.byte, string.format +local match, gmatch, gsub = string.match, string.gmatch, string.gsub +local concat = table.concat +local bit = require("bit") +local band, bor, bxor, tohex = bit.band, bit.bor, bit.bxor, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift +local ror = bit.ror + +------------------------------------------------------------------------------ +-- Opcode maps +------------------------------------------------------------------------------ + +local map_adr = { -- PC-relative addressing. + shift = 31, mask = 1, + [0] = "adrDBx", "adrpDBx" +} + +local map_addsubi = { -- Add/subtract immediate. + shift = 29, mask = 3, + [0] = "add|movDNIg", "adds|cmnD0NIg", "subDNIg", "subs|cmpD0NIg", +} + +local map_logi = { -- Logical immediate. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "andDNig", "orr|movDN0ig", "eorDNig", "ands|tstD0Nig" + }, + false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = "andDNig", "orr|movDN0ig", "eorDNig", "ands|tstD0Nig" + } +} + +local map_movwi = { -- Move wide immediate. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "movnDWRg", false, "movz|movDYRg", "movkDWRg" + }, false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = "movnDWRg", false, "movz|movDYRg", "movkDWRg" + }, +} + +local map_bitf = { -- Bitfield. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "sbfm|sbfiz|sbfx|asr|sxtw|sxth|sxtbDN12w", + "bfm|bfi|bfxilDN13w", + "ubfm|ubfiz|ubfx|lsr|lsl|uxth|uxtbDN12w" + } + }, + { + shift = 22, mask = 1, + { + shift = 29, mask = 3, + [0] = "sbfm|sbfiz|sbfx|asr|sxtw|sxth|sxtbDN12x", + "bfm|bfi|bfxilDN13x", + "ubfm|ubfiz|ubfx|lsr|lsl|uxth|uxtbDN12x" + } + } +} + +local map_datai = { -- Data processing - immediate. + shift = 23, mask = 7, + [0] = map_adr, map_adr, map_addsubi, false, + map_logi, map_movwi, map_bitf, + { + shift = 15, mask = 0x1c0c1, + [0] = "extr|rorDNM4w", [0x10080] = "extr|rorDNM4x", + [0x10081] = "extr|rorDNM4x" + } +} + +local map_logsr = { -- Logical, shifted register. + shift = 31, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = { + shift = 21, mask = 7, + [0] = "andDNMSg", "bicDNMSg", "andDNMSg", "bicDNMSg", + "andDNMSg", "bicDNMSg", "andDNMg", "bicDNMg" + }, + { + shift = 21, mask = 7, + [0] ="orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0MSg", "orn|mvnDN0MSg", + "orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0Mg", "orn|mvnDN0Mg" + }, + { + shift = 21, mask = 7, + [0] = "eorDNMSg", "eonDNMSg", "eorDNMSg", "eonDNMSg", + "eorDNMSg", "eonDNMSg", "eorDNMg", "eonDNMg" + }, + { + shift = 21, mask = 7, + [0] = "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMSg", "bicsDNMSg", + "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMg", "bicsDNMg" + } + }, + false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = { + shift = 21, mask = 7, + [0] = "andDNMSg", "bicDNMSg", "andDNMSg", "bicDNMSg", + "andDNMSg", "bicDNMSg", "andDNMg", "bicDNMg" + }, + { + shift = 21, mask = 7, + [0] = "orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0MSg", "orn|mvnDN0MSg", + "orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0Mg", "orn|mvnDN0Mg" + }, + { + shift = 21, mask = 7, + [0] = "eorDNMSg", "eonDNMSg", "eorDNMSg", "eonDNMSg", + "eorDNMSg", "eonDNMSg", "eorDNMg", "eonDNMg" + }, + { + shift = 21, mask = 7, + [0] = "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMSg", "bicsDNMSg", + "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMg", "bicsDNMg" + } + } +} + +local map_assh = { + shift = 31, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "addDNMSg", "addDNMSg", "addDNMSg", "addDNMg" + }, + { + shift = 22, mask = 3, + [0] = "adds|cmnD0NMSg", "adds|cmnD0NMSg", + "adds|cmnD0NMSg", "adds|cmnD0NMg" + }, + { + shift = 22, mask = 3, + [0] = "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0Mg" + }, + { + shift = 22, mask = 3, + [0] = "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0MzSg", + "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0Mzg" + }, + }, + false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "addDNMSg", "addDNMSg", "addDNMSg", "addDNMg" + }, + { + shift = 22, mask = 3, + [0] = "adds|cmnD0NMSg", "adds|cmnD0NMSg", "adds|cmnD0NMSg", + "adds|cmnD0NMg" + }, + { + shift = 22, mask = 3, + [0] = "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0Mg" + }, + { + shift = 22, mask = 3, + [0] = "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0MzSg", + "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0Mzg" + } + } +} + +local map_addsubsh = { -- Add/subtract, shifted register. + shift = 22, mask = 3, + [0] = map_assh, map_assh, map_assh +} + +local map_addsubex = { -- Add/subtract, extended register. + shift = 22, mask = 3, + [0] = { + shift = 29, mask = 3, + [0] = "addDNMXg", "adds|cmnD0NMXg", "subDNMXg", "subs|cmpD0NMzXg", + } +} + +local map_addsubc = { -- Add/subtract, with carry. + shift = 10, mask = 63, + [0] = { + shift = 29, mask = 3, + [0] = "adcDNMg", "adcsDNMg", "sbc|ngcDN0Mg", "sbcs|ngcsDN0Mg", + } +} + +local map_ccomp = { + shift = 4, mask = 1, + [0] = { + shift = 10, mask = 3, + [0] = { -- Conditional compare register. + shift = 29, mask = 3, + "ccmnNMVCg", false, "ccmpNMVCg", + }, + [2] = { -- Conditional compare immediate. + shift = 29, mask = 3, + "ccmnN5VCg", false, "ccmpN5VCg", + } + } +} + +local map_csel = { -- Conditional select. + shift = 11, mask = 1, + [0] = { + shift = 10, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "cselDNMzCg", false, "csinv|cinv|csetmDNMcg", false, + }, + { + shift = 29, mask = 3, + [0] = "csinc|cinc|csetDNMcg", false, "csneg|cnegDNMcg", false, + } + } +} + +local map_data1s = { -- Data processing, 1 source. + shift = 29, mask = 1, + [0] = { + shift = 31, mask = 1, + [0] = { + shift = 10, mask = 0x7ff, + [0] = "rbitDNg", "rev16DNg", "revDNw", false, "clzDNg", "clsDNg" + }, + { + shift = 10, mask = 0x7ff, + [0] = "rbitDNg", "rev16DNg", "rev32DNx", "revDNx", "clzDNg", "clsDNg" + } + } +} + +local map_data2s = { -- Data processing, 2 sources. + shift = 29, mask = 1, + [0] = { + shift = 10, mask = 63, + false, "udivDNMg", "sdivDNMg", false, false, false, false, "lslDNMg", + "lsrDNMg", "asrDNMg", "rorDNMg" + } +} + +local map_data3s = { -- Data processing, 3 sources. + shift = 29, mask = 7, + [0] = { + shift = 21, mask = 7, + [0] = { + shift = 15, mask = 1, + [0] = "madd|mulDNMA0g", "msub|mnegDNMA0g" + } + }, false, false, false, + { + shift = 15, mask = 1, + [0] = { + shift = 21, mask = 7, + [0] = "madd|mulDNMA0g", "smaddl|smullDxNMwA0x", "smulhDNMx", false, + false, "umaddl|umullDxNMwA0x", "umulhDNMx" + }, + { + shift = 21, mask = 7, + [0] = "msub|mnegDNMA0g", "smsubl|smneglDxNMwA0x", false, false, + false, "umsubl|umneglDxNMwA0x" + } + } +} + +local map_datar = { -- Data processing, register. + shift = 28, mask = 1, + [0] = { + shift = 24, mask = 1, + [0] = map_logsr, + { + shift = 21, mask = 1, + [0] = map_addsubsh, map_addsubex + } + }, + { + shift = 21, mask = 15, + [0] = map_addsubc, false, map_ccomp, false, map_csel, false, + { + shift = 30, mask = 1, + [0] = map_data2s, map_data1s + }, + false, map_data3s, map_data3s, map_data3s, map_data3s, map_data3s, + map_data3s, map_data3s, map_data3s + } +} + +local map_lrl = { -- Load register, literal. + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = "ldrDwB", "ldrDxB", "ldrswDxB" + }, + { + shift = 30, mask = 3, + [0] = "ldrDsB", "ldrDdB" + } +} + +local map_lsriind = { -- Load/store register, immediate pre/post-indexed. + shift = 30, mask = 3, + [0] = { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strbDwzL", "ldrbDwzL", "ldrsbDxzL", "ldrsbDwzL" + } + }, + { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strhDwzL", "ldrhDwzL", "ldrshDxzL", "ldrshDwzL" + } + }, + { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strDwzL", "ldrDwzL", "ldrswDxzL" + }, + { + shift = 22, mask = 3, + [0] = "strDszL", "ldrDszL" + } + }, + { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strDxzL", "ldrDxzL" + }, + { + shift = 22, mask = 3, + [0] = "strDdzL", "ldrDdzL" + } + } +} + +local map_lsriro = { + shift = 21, mask = 1, + [0] = { -- Load/store register immediate. + shift = 10, mask = 3, + [0] = { -- Unscaled immediate. + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "sturbDwK", "ldurbDwK" + }, + { + shift = 22, mask = 3, + [0] = "sturhDwK", "ldurhDwK" + }, + { + shift = 22, mask = 3, + [0] = "sturDwK", "ldurDwK" + }, + { + shift = 22, mask = 3, + [0] = "sturDxK", "ldurDxK" + } + } + }, map_lsriind, false, map_lsriind + }, + { -- Load/store register, register offset. + shift = 10, mask = 3, + [2] = { + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "strbDwO", "ldrbDwO", "ldrsbDxO", "ldrsbDwO" + }, + { + shift = 22, mask = 3, + [0] = "strhDwO", "ldrhDwO", "ldrshDxO", "ldrshDwO" + }, + { + shift = 22, mask = 3, + [0] = "strDwO", "ldrDwO", "ldrswDxO" + }, + { + shift = 22, mask = 3, + [0] = "strDxO", "ldrDxO" + } + }, + { + shift = 30, mask = 3, + [2] = { + shift = 22, mask = 3, + [0] = "strDsO", "ldrDsO" + }, + [3] = { + shift = 22, mask = 3, + [0] = "strDdO", "ldrDdO" + } + } + } + } +} + +local map_lsp = { -- Load/store register pair, offset. + shift = 22, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 26, mask = 1, + [0] = "stpDzAzwP", "stpDzAzsP", + }, + { + shift = 26, mask = 1, + "stpDzAzdP" + }, + { + shift = 26, mask = 1, + [0] = "stpDzAzxP" + } + }, + { + shift = 30, mask = 3, + [0] = { + shift = 26, mask = 1, + [0] = "ldpDzAzwP", "ldpDzAzsP", + }, + { + shift = 26, mask = 1, + [0] = "ldpswDAxP", "ldpDzAzdP" + }, + { + shift = 26, mask = 1, + [0] = "ldpDzAzxP" + } + } +} + +local map_ls = { -- Loads and stores. + shift = 24, mask = 0x31, + [0x10] = map_lrl, [0x30] = map_lsriro, + [0x20] = { + shift = 23, mask = 3, + map_lsp, map_lsp, map_lsp + }, + [0x21] = { + shift = 23, mask = 3, + map_lsp, map_lsp, map_lsp + }, + [0x31] = { + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "strbDwzU", "ldrbDwzU" + }, + { + shift = 22, mask = 3, + [0] = "strhDwzU", "ldrhDwzU" + }, + { + shift = 22, mask = 3, + [0] = "strDwzU", "ldrDwzU" + }, + { + shift = 22, mask = 3, + [0] = "strDxzU", "ldrDxzU" + } + }, + { + shift = 30, mask = 3, + [2] = { + shift = 22, mask = 3, + [0] = "strDszU", "ldrDszU" + }, + [3] = { + shift = 22, mask = 3, + [0] = "strDdzU", "ldrDdzU" + } + } + }, +} + +local map_datafp = { -- Data processing, SIMD and FP. + shift = 28, mask = 7, + { -- 001 + shift = 24, mask = 1, + [0] = { + shift = 21, mask = 1, + { + shift = 10, mask = 3, + [0] = { + shift = 12, mask = 1, + [0] = { + shift = 13, mask = 1, + [0] = { + shift = 14, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { -- FP/int conversion. + shift = 31, mask = 1, + [0] = { + shift = 16, mask = 0xff, + [0x20] = "fcvtnsDwNs", [0x21] = "fcvtnuDwNs", + [0x22] = "scvtfDsNw", [0x23] = "ucvtfDsNw", + [0x24] = "fcvtasDwNs", [0x25] = "fcvtauDwNs", + [0x26] = "fmovDwNs", [0x27] = "fmovDsNw", + [0x28] = "fcvtpsDwNs", [0x29] = "fcvtpuDwNs", + [0x30] = "fcvtmsDwNs", [0x31] = "fcvtmuDwNs", + [0x38] = "fcvtzsDwNs", [0x39] = "fcvtzuDwNs", + [0x60] = "fcvtnsDwNd", [0x61] = "fcvtnuDwNd", + [0x62] = "scvtfDdNw", [0x63] = "ucvtfDdNw", + [0x64] = "fcvtasDwNd", [0x65] = "fcvtauDwNd", + [0x68] = "fcvtpsDwNd", [0x69] = "fcvtpuDwNd", + [0x70] = "fcvtmsDwNd", [0x71] = "fcvtmuDwNd", + [0x78] = "fcvtzsDwNd", [0x79] = "fcvtzuDwNd" + }, + { + shift = 16, mask = 0xff, + [0x20] = "fcvtnsDxNs", [0x21] = "fcvtnuDxNs", + [0x22] = "scvtfDsNx", [0x23] = "ucvtfDsNx", + [0x24] = "fcvtasDxNs", [0x25] = "fcvtauDxNs", + [0x28] = "fcvtpsDxNs", [0x29] = "fcvtpuDxNs", + [0x30] = "fcvtmsDxNs", [0x31] = "fcvtmuDxNs", + [0x38] = "fcvtzsDxNs", [0x39] = "fcvtzuDxNs", + [0x60] = "fcvtnsDxNd", [0x61] = "fcvtnuDxNd", + [0x62] = "scvtfDdNx", [0x63] = "ucvtfDdNx", + [0x64] = "fcvtasDxNd", [0x65] = "fcvtauDxNd", + [0x66] = "fmovDxNd", [0x67] = "fmovDdNx", + [0x68] = "fcvtpsDxNd", [0x69] = "fcvtpuDxNd", + [0x70] = "fcvtmsDxNd", [0x71] = "fcvtmuDxNd", + [0x78] = "fcvtzsDxNd", [0x79] = "fcvtzuDxNd" + } + } + }, + { -- FP data-processing, 1 source. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = { + shift = 15, mask = 63, + [0] = "fmovDNf", "fabsDNf", "fnegDNf", + "fsqrtDNf", false, "fcvtDdNs", false, false, + "frintnDNf", "frintpDNf", "frintmDNf", "frintzDNf", + "frintaDNf", false, "frintxDNf", "frintiDNf", + }, + { + shift = 15, mask = 63, + [0] = "fmovDNf", "fabsDNf", "fnegDNf", + "fsqrtDNf", "fcvtDsNd", false, false, false, + "frintnDNf", "frintpDNf", "frintmDNf", "frintzDNf", + "frintaDNf", false, "frintxDNf", "frintiDNf", + } + } + } + }, + { -- FP compare. + shift = 31, mask = 1, + [0] = { + shift = 14, mask = 3, + [0] = { + shift = 23, mask = 1, + [0] = { + shift = 0, mask = 31, + [0] = "fcmpNMf", [8] = "fcmpNZf", + [16] = "fcmpeNMf", [24] = "fcmpeNZf", + } + } + } + } + }, + { -- FP immediate. + shift = 31, mask = 1, + [0] = { + shift = 5, mask = 31, + [0] = { + shift = 23, mask = 1, + [0] = "fmovDFf" + } + } + } + }, + { -- FP conditional compare. + shift = 31, mask = 1, + [0] = { + shift = 23, mask = 1, + [0] = { + shift = 4, mask = 1, + [0] = "fccmpNMVCf", "fccmpeNMVCf" + } + } + }, + { -- FP data-processing, 2 sources. + shift = 31, mask = 1, + [0] = { + shift = 23, mask = 1, + [0] = { + shift = 12, mask = 15, + [0] = "fmulDNMf", "fdivDNMf", "faddDNMf", "fsubDNMf", + "fmaxDNMf", "fminDNMf", "fmaxnmDNMf", "fminnmDNMf", + "fnmulDNMf" + } + } + }, + { -- FP conditional select. + shift = 31, mask = 1, + [0] = { + shift = 23, mask = 1, + [0] = "fcselDNMCf" + } + } + } + }, + { -- FP data-processing, 3 sources. + shift = 31, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { + shift = 21, mask = 5, + [0] = "fmaddDNMAf", "fnmaddDNMAf" + }, + { + shift = 21, mask = 5, + [0] = "fmsubDNMAf", "fnmsubDNMAf" + } + } + } + } +} + +local map_br = { -- Branches, exception generating and system instructions. + shift = 29, mask = 7, + [0] = "bB", + { -- Compare & branch, immediate. + shift = 24, mask = 3, + [0] = "cbzDBg", "cbnzDBg", "tbzDTBw", "tbnzDTBw" + }, + { -- Conditional branch, immediate. + shift = 24, mask = 3, + [0] = { + shift = 4, mask = 1, + [0] = { + shift = 0, mask = 15, + [0] = "beqB", "bneB", "bhsB", "bloB", "bmiB", "bplB", "bvsB", "bvcB", + "bhiB", "blsB", "bgeB", "bltB", "bgtB", "bleB", "balB" + } + } + }, false, "blB", + { -- Compare & branch, immediate. + shift = 24, mask = 3, + [0] = "cbzDBg", "cbnzDBg", "tbzDTBx", "tbnzDTBx" + }, + { + shift = 24, mask = 3, + [0] = { -- Exception generation. + shift = 0, mask = 0xe0001f, + [0x200000] = "brkW" + }, + { -- System instructions. + shift = 0, mask = 0x3fffff, + [0x03201f] = "nop" + }, + { -- Unconditional branch, register. + shift = 0, mask = 0xfffc1f, + [0x1f0000] = "brNx", [0x3f0000] = "blrNx", + [0x5f0000] = "retNx" + }, + } +} + +local map_init = { + shift = 25, mask = 15, + [0] = false, false, false, false, map_ls, map_datar, map_ls, map_datafp, + map_datai, map_datai, map_br, map_br, map_ls, map_datar, map_ls, map_datafp +} + +------------------------------------------------------------------------------ + +local map_regs = { x = {}, w = {}, d = {}, s = {} } + +for i=0,30 do + map_regs.x[i] = "x"..i + map_regs.w[i] = "w"..i + map_regs.d[i] = "d"..i + map_regs.s[i] = "s"..i +end +map_regs.x[31] = "sp" +map_regs.w[31] = "wsp" +map_regs.d[31] = "d31" +map_regs.s[31] = "s31" + +local map_cond = { + [0] = "eq", "ne", "cs", "cc", "mi", "pl", "vs", "vc", + "hi", "ls", "ge", "lt", "gt", "le", "al", +} + +local map_shift = { [0] = "lsl", "lsr", "asr", } + +local map_extend = { + [0] = "uxtb", "uxth", "uxtw", "uxtx", "sxtb", "sxth", "sxtw", "sxtx", +} + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then + extra = "\t->"..sym + end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-5s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-5s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +local function match_reg(p, pat, regnum) + return map_regs[match(pat, p.."%w-([xwds])")][regnum] +end + +local function fmt_hex32(x) + if x < 0 then + return tohex(x) + else + return format("%x", x) + end +end + +local imm13_rep = { 0x55555555, 0x11111111, 0x01010101, 0x00010001, 0x00000001 } + +local function decode_imm13(op) + local imms = band(rshift(op, 10), 63) + local immr = band(rshift(op, 16), 63) + if band(op, 0x00400000) == 0 then + local len = 5 + if imms >= 56 then + if imms >= 60 then len = 1 else len = 2 end + elseif imms >= 48 then len = 3 elseif imms >= 32 then len = 4 end + local l = lshift(1, len)-1 + local s = band(imms, l) + local r = band(immr, l) + local imm = ror(rshift(-1, 31-s), r) + if len ~= 5 then imm = band(imm, lshift(1, l)-1) + rshift(imm, 31-l) end + imm = imm * imm13_rep[len] + local ix = fmt_hex32(imm) + if rshift(op, 31) ~= 0 then + return ix..tohex(imm) + else + return ix + end + else + local lo, hi = -1, 0 + if imms < 32 then lo = rshift(-1, 31-imms) else hi = rshift(-1, 63-imms) end + if immr ~= 0 then + lo, hi = ror(lo, immr), ror(hi, immr) + local x = immr == 32 and 0 or band(bxor(lo, hi), lshift(-1, 32-immr)) + lo, hi = bxor(lo, x), bxor(hi, x) + if immr >= 32 then lo, hi = hi, lo end + end + if hi ~= 0 then + return fmt_hex32(hi)..tohex(lo) + else + return fmt_hex32(lo) + end + end +end + +local function parse_immpc(op, name) + if name == "b" or name == "bl" then + return arshift(lshift(op, 6), 4) + elseif name == "adr" or name == "adrp" then + local immlo = band(rshift(op, 29), 3) + local immhi = lshift(arshift(lshift(op, 8), 13), 2) + return bor(immhi, immlo) + elseif name == "tbz" or name == "tbnz" then + return lshift(arshift(lshift(op, 13), 18), 2) + else + return lshift(arshift(lshift(op, 8), 13), 2) + end +end + +local function parse_fpimm8(op) + local sign = band(op, 0x100000) == 0 and 1 or -1 + local exp = bxor(rshift(arshift(lshift(op, 12), 5), 24), 0x80) - 131 + local frac = 16+band(rshift(op, 13), 15) + return sign * frac * 2^exp +end + +local function prefer_bfx(sf, uns, imms, immr) + if imms < immr or imms == 31 or imms == 63 then + return false + end + if immr == 0 then + if sf == 0 and (imms == 7 or imms == 15) then + return false + end + if sf ~= 0 and uns == 0 and (imms == 7 or imms == 15 or imms == 31) then + return false + end + end + return true +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + local op = bor(lshift(b3, 24), lshift(b2, 16), lshift(b1, 8), b0) + local operands = {} + local suffix = "" + local last, name, pat + local map_reg + ctx.op = op + ctx.rel = nil + last = nil + local opat + opat = map_init[band(rshift(op, 25), 15)] + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + opat = opat[band(rshift(op, opat.shift), opat.mask)] or opat._ + end + name, pat = match(opat, "^([a-z0-9]*)(.*)") + local altname, pat2 = match(pat, "|([a-z0-9_.|]*)(.*)") + if altname then pat = pat2 end + if sub(pat, 1, 1) == "." then + local s2, p2 = match(pat, "^([a-z0-9.]*)(.*)") + suffix = suffix..s2 + pat = p2 + end + + local rt = match(pat, "[gf]") + if rt then + if rt == "g" then + map_reg = band(op, 0x80000000) ~= 0 and map_regs.x or map_regs.w + else + map_reg = band(op, 0x400000) ~= 0 and map_regs.d or map_regs.s + end + end + + local second0, immr + + for p in gmatch(pat, ".") do + local x = nil + if p == "D" then + local regnum = band(op, 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "N" then + local regnum = band(rshift(op, 5), 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "M" then + local regnum = band(rshift(op, 16), 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "A" then + local regnum = band(rshift(op, 10), 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "B" then + local addr = ctx.addr + pos + parse_immpc(op, name) + ctx.rel = addr + x = "0x"..tohex(addr) + elseif p == "T" then + x = bor(band(rshift(op, 26), 32), band(rshift(op, 19), 31)) + elseif p == "V" then + x = band(op, 15) + elseif p == "C" then + x = map_cond[band(rshift(op, 12), 15)] + elseif p == "c" then + local rn = band(rshift(op, 5), 31) + local rm = band(rshift(op, 16), 31) + local cond = band(rshift(op, 12), 15) + local invc = bxor(cond, 1) + x = map_cond[cond] + if altname and cond ~= 14 and cond ~= 15 then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if rn == rm then + local n = #operands + operands[n] = nil + x = map_cond[invc] + if rn ~= 31 then + if a1 then name = a1 else name = altname end + else + operands[n-1] = nil + name = a2 + end + end + end + elseif p == "W" then + x = band(rshift(op, 5), 0xffff) + elseif p == "Y" then + x = band(rshift(op, 5), 0xffff) + local hw = band(rshift(op, 21), 3) + if altname and (hw == 0 or x ~= 0) then + name = altname + end + elseif p == "L" then + local rn = map_regs.x[band(rshift(op, 5), 31)] + local imm9 = arshift(lshift(op, 11), 23) + if band(op, 0x800) ~= 0 then + x = "["..rn..", #"..imm9.."]!" + else + x = "["..rn.."], #"..imm9 + end + elseif p == "U" then + local rn = map_regs.x[band(rshift(op, 5), 31)] + local sz = band(rshift(op, 30), 3) + local imm12 = lshift(arshift(lshift(op, 10), 20), sz) + if imm12 ~= 0 then + x = "["..rn..", #"..imm12.."]" + else + x = "["..rn.."]" + end + elseif p == "K" then + local rn = map_regs.x[band(rshift(op, 5), 31)] + local imm9 = arshift(lshift(op, 11), 23) + if imm9 ~= 0 then + x = "["..rn..", #"..imm9.."]" + else + x = "["..rn.."]" + end + elseif p == "O" then + local rn, rm = map_regs.x[band(rshift(op, 5), 31)] + local m = band(rshift(op, 13), 1) + if m == 0 then + rm = map_regs.w[band(rshift(op, 16), 31)] + else + rm = map_regs.x[band(rshift(op, 16), 31)] + end + x = "["..rn..", "..rm + local opt = band(rshift(op, 13), 7) + local s = band(rshift(op, 12), 1) + local sz = band(rshift(op, 30), 3) + -- extension to be applied + if opt == 3 then + if s == 0 then x = x.."]" + else x = x..", lsl #"..sz.."]" end + elseif opt == 2 or opt == 6 or opt == 7 then + if s == 0 then x = x..", "..map_extend[opt].."]" + else x = x..", "..map_extend[opt].." #"..sz.."]" end + else + x = x.."]" + end + elseif p == "P" then + local opcv, sh = rshift(op, 26), 2 + if opcv >= 0x2a then sh = 4 elseif opcv >= 0x1b then sh = 3 end + local imm7 = lshift(arshift(lshift(op, 10), 25), sh) + local rn = map_regs.x[band(rshift(op, 5), 31)] + local ind = band(rshift(op, 23), 3) + if ind == 1 then + x = "["..rn.."], #"..imm7 + elseif ind == 2 then + if imm7 == 0 then + x = "["..rn.."]" + else + x = "["..rn..", #"..imm7.."]" + end + elseif ind == 3 then + x = "["..rn..", #"..imm7.."]!" + end + elseif p == "I" then + local shf = band(rshift(op, 22), 3) + local imm12 = band(rshift(op, 10), 0x0fff) + local rn, rd = band(rshift(op, 5), 31), band(op, 31) + if altname == "mov" and shf == 0 and imm12 == 0 and (rn == 31 or rd == 31) then + name = altname + x = nil + elseif shf == 0 then + x = imm12 + elseif shf == 1 then + x = imm12..", lsl #12" + end + elseif p == "i" then + x = "#0x"..decode_imm13(op) + elseif p == "1" then + immr = band(rshift(op, 16), 63) + x = immr + elseif p == "2" then + x = band(rshift(op, 10), 63) + if altname then + local a1, a2, a3, a4, a5, a6 = + match(altname, "([^|]*)|([^|]*)|([^|]*)|([^|]*)|([^|]*)|(.*)") + local sf = band(rshift(op, 26), 32) + local uns = band(rshift(op, 30), 1) + if prefer_bfx(sf, uns, x, immr) then + name = a2 + x = x - immr + 1 + elseif immr == 0 and x == 7 then + local n = #operands + operands[n] = nil + if sf ~= 0 then + operands[n-1] = gsub(operands[n-1], "x", "w") + end + last = operands[n-1] + name = a6 + x = nil + elseif immr == 0 and x == 15 then + local n = #operands + operands[n] = nil + if sf ~= 0 then + operands[n-1] = gsub(operands[n-1], "x", "w") + end + last = operands[n-1] + name = a5 + x = nil + elseif x == 31 or x == 63 then + if x == 31 and immr == 0 and name == "sbfm" then + name = a4 + local n = #operands + operands[n] = nil + if sf ~= 0 then + operands[n-1] = gsub(operands[n-1], "x", "w") + end + last = operands[n-1] + else + name = a3 + end + x = nil + elseif band(x, 31) ~= 31 and immr == x+1 and name == "ubfm" then + name = a4 + last = "#"..(sf+32 - immr) + operands[#operands] = last + x = nil + elseif x < immr then + name = a1 + last = "#"..(sf+32 - immr) + operands[#operands] = last + x = x + 1 + end + end + elseif p == "3" then + x = band(rshift(op, 10), 63) + if altname then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if x < immr then + name = a1 + local sf = band(rshift(op, 26), 32) + last = "#"..(sf+32 - immr) + operands[#operands] = last + x = x + 1 + else + name = a2 + x = x - immr + 1 + end + end + elseif p == "4" then + x = band(rshift(op, 10), 63) + local rn = band(rshift(op, 5), 31) + local rm = band(rshift(op, 16), 31) + if altname and rn == rm then + local n = #operands + operands[n] = nil + last = operands[n-1] + name = altname + end + elseif p == "5" then + x = band(rshift(op, 16), 31) + elseif p == "S" then + x = band(rshift(op, 10), 63) + if x == 0 then x = nil + else x = map_shift[band(rshift(op, 22), 3)].." #"..x end + elseif p == "X" then + local opt = band(rshift(op, 13), 7) + -- Width specifier . + if opt ~= 3 and opt ~= 7 then + last = map_regs.w[band(rshift(op, 16), 31)] + operands[#operands] = last + end + x = band(rshift(op, 10), 7) + -- Extension. + if opt == 2 + band(rshift(op, 31), 1) and + band(rshift(op, second0 and 5 or 0), 31) == 31 then + if x == 0 then x = nil + else x = "lsl #"..x end + else + if x == 0 then x = map_extend[band(rshift(op, 13), 7)] + else x = map_extend[band(rshift(op, 13), 7)].." #"..x end + end + elseif p == "R" then + x = band(rshift(op,21), 3) + if x == 0 then x = nil + else x = "lsl #"..x*16 end + elseif p == "z" then + local n = #operands + if operands[n] == "sp" then operands[n] = "xzr" + elseif operands[n] == "wsp" then operands[n] = "wzr" + end + elseif p == "Z" then + x = 0 + elseif p == "F" then + x = parse_fpimm8(op) + elseif p == "g" or p == "f" or p == "x" or p == "w" or + p == "d" or p == "s" then + -- These are handled in D/N/M/A. + elseif p == "0" then + if last == "sp" or last == "wsp" then + local n = #operands + operands[n] = nil + last = operands[n-1] + if altname then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if not a1 then + name = altname + elseif second0 then + name, altname = a2, a1 + else + name, altname = a1, a2 + end + end + end + second0 = true + else + assert(false) + end + if x then + last = x + if type(x) == "number" then x = "#"..x end + operands[#operands+1] = x + end + end + + return putop(ctx, name..suffix, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + ctx.pos = ofs + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 32 then return map_regs.x[r] end + return map_regs.d[r-32] +end + +-- Public module functions. +return { + create = create, + disass = disass, + regname = regname +} + diff --git a/libs/LuaJIT/android/x86/jit/dis_arm64be.lua b/libs/LuaJIT/android/x86/jit/dis_arm64be.lua new file mode 100644 index 00000000..edcbffa8 --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/dis_arm64be.lua @@ -0,0 +1,12 @@ +---------------------------------------------------------------------------- +-- LuaJIT ARM64BE disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- ARM64 instructions are always little-endian. So just forward to the +-- common ARM64 disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +return require((string.match(..., ".*%.") or "").."dis_arm64") + diff --git a/libs/LuaJIT/android/x86/jit/dis_mips.lua b/libs/LuaJIT/android/x86/jit/dis_mips.lua new file mode 100644 index 00000000..6ad17f54 --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/dis_mips.lua @@ -0,0 +1,694 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT/X license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles all standard MIPS32R1/R2 instructions. +-- Default mode is big-endian, but see: dis_mipsel.lua +------------------------------------------------------------------------------ + +local type = type +local byte, format = string.byte, string.format +local match, gmatch = string.match, string.gmatch +local concat = table.concat +local bit = require("bit") +local band, bor, tohex = bit.band, bit.bor, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift + +------------------------------------------------------------------------------ +-- Extended opcode maps common to all MIPS releases +------------------------------------------------------------------------------ + +local map_srl = { shift = 21, mask = 1, [0] = "srlDTA", "rotrDTA", } +local map_srlv = { shift = 6, mask = 1, [0] = "srlvDTS", "rotrvDTS", } + +local map_cop0 = { + shift = 25, mask = 1, + [0] = { + shift = 21, mask = 15, + [0] = "mfc0TDW", [4] = "mtc0TDW", + [10] = "rdpgprDT", + [11] = { shift = 5, mask = 1, [0] = "diT0", "eiT0", }, + [14] = "wrpgprDT", + }, { + shift = 0, mask = 63, + [1] = "tlbr", [2] = "tlbwi", [6] = "tlbwr", [8] = "tlbp", + [24] = "eret", [31] = "deret", + [32] = "wait", + }, +} + +------------------------------------------------------------------------------ +-- Primary and extended opcode maps for MIPS R1-R5 +------------------------------------------------------------------------------ + +local map_movci = { shift = 16, mask = 1, [0] = "movfDSC", "movtDSC", } + +local map_special = { + shift = 0, mask = 63, + [0] = { shift = 0, mask = -1, [0] = "nop", _ = "sllDTA" }, + map_movci, map_srl, "sraDTA", + "sllvDTS", false, map_srlv, "sravDTS", + "jrS", "jalrD1S", "movzDST", "movnDST", + "syscallY", "breakY", false, "sync", + "mfhiD", "mthiS", "mfloD", "mtloS", + "dsllvDST", false, "dsrlvDST", "dsravDST", + "multST", "multuST", "divST", "divuST", + "dmultST", "dmultuST", "ddivST", "ddivuST", + "addDST", "addu|moveDST0", "subDST", "subu|neguDS0T", + "andDST", "or|moveDST0", "xorDST", "nor|notDST0", + false, false, "sltDST", "sltuDST", + "daddDST", "dadduDST", "dsubDST", "dsubuDST", + "tgeSTZ", "tgeuSTZ", "tltSTZ", "tltuSTZ", + "teqSTZ", false, "tneSTZ", false, + "dsllDTA", false, "dsrlDTA", "dsraDTA", + "dsll32DTA", false, "dsrl32DTA", "dsra32DTA", +} + +local map_special2 = { + shift = 0, mask = 63, + [0] = "maddST", "madduST", "mulDST", false, + "msubST", "msubuST", + [32] = "clzDS", [33] = "cloDS", + [63] = "sdbbpY", +} + +local map_bshfl = { + shift = 6, mask = 31, + [2] = "wsbhDT", + [16] = "sebDT", + [24] = "sehDT", +} + +local map_dbshfl = { + shift = 6, mask = 31, + [2] = "dsbhDT", + [5] = "dshdDT", +} + +local map_special3 = { + shift = 0, mask = 63, + [0] = "extTSAK", [1] = "dextmTSAP", [3] = "dextTSAK", + [4] = "insTSAL", [6] = "dinsuTSEQ", [7] = "dinsTSAL", + [32] = map_bshfl, [36] = map_dbshfl, [59] = "rdhwrTD", +} + +local map_regimm = { + shift = 16, mask = 31, + [0] = "bltzSB", "bgezSB", "bltzlSB", "bgezlSB", + false, false, false, false, + "tgeiSI", "tgeiuSI", "tltiSI", "tltiuSI", + "teqiSI", false, "tneiSI", false, + "bltzalSB", "bgezalSB", "bltzallSB", "bgezallSB", + false, false, false, false, + false, false, false, false, + false, false, false, "synciSO", +} + +local map_cop1s = { + shift = 0, mask = 63, + [0] = "add.sFGH", "sub.sFGH", "mul.sFGH", "div.sFGH", + "sqrt.sFG", "abs.sFG", "mov.sFG", "neg.sFG", + "round.l.sFG", "trunc.l.sFG", "ceil.l.sFG", "floor.l.sFG", + "round.w.sFG", "trunc.w.sFG", "ceil.w.sFG", "floor.w.sFG", + false, + { shift = 16, mask = 1, [0] = "movf.sFGC", "movt.sFGC" }, + "movz.sFGT", "movn.sFGT", + false, "recip.sFG", "rsqrt.sFG", false, + false, false, false, false, + false, false, false, false, + false, "cvt.d.sFG", false, false, + "cvt.w.sFG", "cvt.l.sFG", "cvt.ps.sFGH", false, + false, false, false, false, + false, false, false, false, + "c.f.sVGH", "c.un.sVGH", "c.eq.sVGH", "c.ueq.sVGH", + "c.olt.sVGH", "c.ult.sVGH", "c.ole.sVGH", "c.ule.sVGH", + "c.sf.sVGH", "c.ngle.sVGH", "c.seq.sVGH", "c.ngl.sVGH", + "c.lt.sVGH", "c.nge.sVGH", "c.le.sVGH", "c.ngt.sVGH", +} + +local map_cop1d = { + shift = 0, mask = 63, + [0] = "add.dFGH", "sub.dFGH", "mul.dFGH", "div.dFGH", + "sqrt.dFG", "abs.dFG", "mov.dFG", "neg.dFG", + "round.l.dFG", "trunc.l.dFG", "ceil.l.dFG", "floor.l.dFG", + "round.w.dFG", "trunc.w.dFG", "ceil.w.dFG", "floor.w.dFG", + false, + { shift = 16, mask = 1, [0] = "movf.dFGC", "movt.dFGC" }, + "movz.dFGT", "movn.dFGT", + false, "recip.dFG", "rsqrt.dFG", false, + false, false, false, false, + false, false, false, false, + "cvt.s.dFG", false, false, false, + "cvt.w.dFG", "cvt.l.dFG", false, false, + false, false, false, false, + false, false, false, false, + "c.f.dVGH", "c.un.dVGH", "c.eq.dVGH", "c.ueq.dVGH", + "c.olt.dVGH", "c.ult.dVGH", "c.ole.dVGH", "c.ule.dVGH", + "c.df.dVGH", "c.ngle.dVGH", "c.deq.dVGH", "c.ngl.dVGH", + "c.lt.dVGH", "c.nge.dVGH", "c.le.dVGH", "c.ngt.dVGH", +} + +local map_cop1ps = { + shift = 0, mask = 63, + [0] = "add.psFGH", "sub.psFGH", "mul.psFGH", false, + false, "abs.psFG", "mov.psFG", "neg.psFG", + false, false, false, false, + false, false, false, false, + false, + { shift = 16, mask = 1, [0] = "movf.psFGC", "movt.psFGC" }, + "movz.psFGT", "movn.psFGT", + false, false, false, false, + false, false, false, false, + false, false, false, false, + "cvt.s.puFG", false, false, false, + false, false, false, false, + "cvt.s.plFG", false, false, false, + "pll.psFGH", "plu.psFGH", "pul.psFGH", "puu.psFGH", + "c.f.psVGH", "c.un.psVGH", "c.eq.psVGH", "c.ueq.psVGH", + "c.olt.psVGH", "c.ult.psVGH", "c.ole.psVGH", "c.ule.psVGH", + "c.psf.psVGH", "c.ngle.psVGH", "c.pseq.psVGH", "c.ngl.psVGH", + "c.lt.psVGH", "c.nge.psVGH", "c.le.psVGH", "c.ngt.psVGH", +} + +local map_cop1w = { + shift = 0, mask = 63, + [32] = "cvt.s.wFG", [33] = "cvt.d.wFG", +} + +local map_cop1l = { + shift = 0, mask = 63, + [32] = "cvt.s.lFG", [33] = "cvt.d.lFG", +} + +local map_cop1bc = { + shift = 16, mask = 3, + [0] = "bc1fCB", "bc1tCB", "bc1flCB", "bc1tlCB", +} + +local map_cop1 = { + shift = 21, mask = 31, + [0] = "mfc1TG", "dmfc1TG", "cfc1TG", "mfhc1TG", + "mtc1TG", "dmtc1TG", "ctc1TG", "mthc1TG", + map_cop1bc, false, false, false, + false, false, false, false, + map_cop1s, map_cop1d, false, false, + map_cop1w, map_cop1l, map_cop1ps, +} + +local map_cop1x = { + shift = 0, mask = 63, + [0] = "lwxc1FSX", "ldxc1FSX", false, false, + false, "luxc1FSX", false, false, + "swxc1FSX", "sdxc1FSX", false, false, + false, "suxc1FSX", false, "prefxMSX", + false, false, false, false, + false, false, false, false, + false, false, false, false, + false, false, "alnv.psFGHS", false, + "madd.sFRGH", "madd.dFRGH", false, false, + false, false, "madd.psFRGH", false, + "msub.sFRGH", "msub.dFRGH", false, false, + false, false, "msub.psFRGH", false, + "nmadd.sFRGH", "nmadd.dFRGH", false, false, + false, false, "nmadd.psFRGH", false, + "nmsub.sFRGH", "nmsub.dFRGH", false, false, + false, false, "nmsub.psFRGH", false, +} + +local map_pri = { + [0] = map_special, map_regimm, "jJ", "jalJ", + "beq|beqz|bST00B", "bne|bnezST0B", "blezSB", "bgtzSB", + "addiTSI", "addiu|liTS0I", "sltiTSI", "sltiuTSI", + "andiTSU", "ori|liTS0U", "xoriTSU", "luiTU", + map_cop0, map_cop1, false, map_cop1x, + "beql|beqzlST0B", "bnel|bnezlST0B", "blezlSB", "bgtzlSB", + "daddiTSI", "daddiuTSI", false, false, + map_special2, "jalxJ", false, map_special3, + "lbTSO", "lhTSO", "lwlTSO", "lwTSO", + "lbuTSO", "lhuTSO", "lwrTSO", false, + "sbTSO", "shTSO", "swlTSO", "swTSO", + false, false, "swrTSO", "cacheNSO", + "llTSO", "lwc1HSO", "lwc2TSO", "prefNSO", + false, "ldc1HSO", "ldc2TSO", "ldTSO", + "scTSO", "swc1HSO", "swc2TSO", false, + false, "sdc1HSO", "sdc2TSO", "sdTSO", +} + +------------------------------------------------------------------------------ +-- Primary and extended opcode maps for MIPS R6 +------------------------------------------------------------------------------ + +local map_mul_r6 = { shift = 6, mask = 3, [2] = "mulDST", [3] = "muhDST" } +local map_mulu_r6 = { shift = 6, mask = 3, [2] = "muluDST", [3] = "muhuDST" } +local map_div_r6 = { shift = 6, mask = 3, [2] = "divDST", [3] = "modDST" } +local map_divu_r6 = { shift = 6, mask = 3, [2] = "divuDST", [3] = "moduDST" } +local map_dmul_r6 = { shift = 6, mask = 3, [2] = "dmulDST", [3] = "dmuhDST" } +local map_dmulu_r6 = { shift = 6, mask = 3, [2] = "dmuluDST", [3] = "dmuhuDST" } +local map_ddiv_r6 = { shift = 6, mask = 3, [2] = "ddivDST", [3] = "dmodDST" } +local map_ddivu_r6 = { shift = 6, mask = 3, [2] = "ddivuDST", [3] = "dmoduDST" } + +local map_special_r6 = { + shift = 0, mask = 63, + [0] = { shift = 0, mask = -1, [0] = "nop", _ = "sllDTA" }, + false, map_srl, "sraDTA", + "sllvDTS", false, map_srlv, "sravDTS", + "jrS", "jalrD1S", false, false, + "syscallY", "breakY", false, "sync", + "clzDS", "cloDS", "dclzDS", "dcloDS", + "dsllvDST", "dlsaDSTA", "dsrlvDST", "dsravDST", + map_mul_r6, map_mulu_r6, map_div_r6, map_divu_r6, + map_dmul_r6, map_dmulu_r6, map_ddiv_r6, map_ddivu_r6, + "addDST", "addu|moveDST0", "subDST", "subu|neguDS0T", + "andDST", "or|moveDST0", "xorDST", "nor|notDST0", + false, false, "sltDST", "sltuDST", + "daddDST", "dadduDST", "dsubDST", "dsubuDST", + "tgeSTZ", "tgeuSTZ", "tltSTZ", "tltuSTZ", + "teqSTZ", "seleqzDST", "tneSTZ", "selnezDST", + "dsllDTA", false, "dsrlDTA", "dsraDTA", + "dsll32DTA", false, "dsrl32DTA", "dsra32DTA", +} + +local map_bshfl_r6 = { + shift = 9, mask = 3, + [1] = "alignDSTa", + _ = { + shift = 6, mask = 31, + [0] = "bitswapDT", + [2] = "wsbhDT", + [16] = "sebDT", + [24] = "sehDT", + } +} + +local map_dbshfl_r6 = { + shift = 9, mask = 3, + [1] = "dalignDSTa", + _ = { + shift = 6, mask = 31, + [0] = "dbitswapDT", + [2] = "dsbhDT", + [5] = "dshdDT", + } +} + +local map_special3_r6 = { + shift = 0, mask = 63, + [0] = "extTSAK", [1] = "dextmTSAP", [3] = "dextTSAK", + [4] = "insTSAL", [6] = "dinsuTSEQ", [7] = "dinsTSAL", + [32] = map_bshfl_r6, [36] = map_dbshfl_r6, [59] = "rdhwrTD", +} + +local map_regimm_r6 = { + shift = 16, mask = 31, + [0] = "bltzSB", [1] = "bgezSB", + [6] = "dahiSI", [30] = "datiSI", + [23] = "sigrieI", [31] = "synciSO", +} + +local map_pcrel_r6 = { + shift = 19, mask = 3, + [0] = "addiupcS2", "lwpcS2", "lwupcS2", { + shift = 18, mask = 1, + [0] = "ldpcS3", { shift = 16, mask = 3, [2] = "auipcSI", [3] = "aluipcSI" } + } +} + +local map_cop1s_r6 = { + shift = 0, mask = 63, + [0] = "add.sFGH", "sub.sFGH", "mul.sFGH", "div.sFGH", + "sqrt.sFG", "abs.sFG", "mov.sFG", "neg.sFG", + "round.l.sFG", "trunc.l.sFG", "ceil.l.sFG", "floor.l.sFG", + "round.w.sFG", "trunc.w.sFG", "ceil.w.sFG", "floor.w.sFG", + "sel.sFGH", false, false, false, + "seleqz.sFGH", "recip.sFG", "rsqrt.sFG", "selnez.sFGH", + "maddf.sFGH", "msubf.sFGH", "rint.sFG", "class.sFG", + "min.sFGH", "mina.sFGH", "max.sFGH", "maxa.sFGH", + false, "cvt.d.sFG", false, false, + "cvt.w.sFG", "cvt.l.sFG", +} + +local map_cop1d_r6 = { + shift = 0, mask = 63, + [0] = "add.dFGH", "sub.dFGH", "mul.dFGH", "div.dFGH", + "sqrt.dFG", "abs.dFG", "mov.dFG", "neg.dFG", + "round.l.dFG", "trunc.l.dFG", "ceil.l.dFG", "floor.l.dFG", + "round.w.dFG", "trunc.w.dFG", "ceil.w.dFG", "floor.w.dFG", + "sel.dFGH", false, false, false, + "seleqz.dFGH", "recip.dFG", "rsqrt.dFG", "selnez.dFGH", + "maddf.dFGH", "msubf.dFGH", "rint.dFG", "class.dFG", + "min.dFGH", "mina.dFGH", "max.dFGH", "maxa.dFGH", + "cvt.s.dFG", false, false, false, + "cvt.w.dFG", "cvt.l.dFG", +} + +local map_cop1w_r6 = { + shift = 0, mask = 63, + [0] = "cmp.af.sFGH", "cmp.un.sFGH", "cmp.eq.sFGH", "cmp.ueq.sFGH", + "cmp.lt.sFGH", "cmp.ult.sFGH", "cmp.le.sFGH", "cmp.ule.sFGH", + "cmp.saf.sFGH", "cmp.sun.sFGH", "cmp.seq.sFGH", "cmp.sueq.sFGH", + "cmp.slt.sFGH", "cmp.sult.sFGH", "cmp.sle.sFGH", "cmp.sule.sFGH", + false, "cmp.or.sFGH", "cmp.une.sFGH", "cmp.ne.sFGH", + false, false, false, false, + false, "cmp.sor.sFGH", "cmp.sune.sFGH", "cmp.sne.sFGH", + false, false, false, false, + "cvt.s.wFG", "cvt.d.wFG", +} + +local map_cop1l_r6 = { + shift = 0, mask = 63, + [0] = "cmp.af.dFGH", "cmp.un.dFGH", "cmp.eq.dFGH", "cmp.ueq.dFGH", + "cmp.lt.dFGH", "cmp.ult.dFGH", "cmp.le.dFGH", "cmp.ule.dFGH", + "cmp.saf.dFGH", "cmp.sun.dFGH", "cmp.seq.dFGH", "cmp.sueq.dFGH", + "cmp.slt.dFGH", "cmp.sult.dFGH", "cmp.sle.dFGH", "cmp.sule.dFGH", + false, "cmp.or.dFGH", "cmp.une.dFGH", "cmp.ne.dFGH", + false, false, false, false, + false, "cmp.sor.dFGH", "cmp.sune.dFGH", "cmp.sne.dFGH", + false, false, false, false, + "cvt.s.lFG", "cvt.d.lFG", +} + +local map_cop1_r6 = { + shift = 21, mask = 31, + [0] = "mfc1TG", "dmfc1TG", "cfc1TG", "mfhc1TG", + "mtc1TG", "dmtc1TG", "ctc1TG", "mthc1TG", + false, "bc1eqzHB", false, false, + false, "bc1nezHB", false, false, + map_cop1s_r6, map_cop1d_r6, false, false, + map_cop1w_r6, map_cop1l_r6, +} + +local function maprs_popTS(rs, rt) + if rt == 0 then return 0 elseif rs == 0 then return 1 + elseif rs == rt then return 2 else return 3 end +end + +local map_pop06_r6 = { + maprs = maprs_popTS, [0] = "blezSB", "blezalcTB", "bgezalcTB", "bgeucSTB" +} +local map_pop07_r6 = { + maprs = maprs_popTS, [0] = "bgtzSB", "bgtzalcTB", "bltzalcTB", "bltucSTB" +} +local map_pop26_r6 = { + maprs = maprs_popTS, "blezcTB", "bgezcTB", "bgecSTB" +} +local map_pop27_r6 = { + maprs = maprs_popTS, "bgtzcTB", "bltzcTB", "bltcSTB" +} + +local function maprs_popS(rs, rt) + if rs == 0 then return 0 else return 1 end +end + +local map_pop66_r6 = { + maprs = maprs_popS, [0] = "jicTI", "beqzcSb" +} +local map_pop76_r6 = { + maprs = maprs_popS, [0] = "jialcTI", "bnezcSb" +} + +local function maprs_popST(rs, rt) + if rs >= rt then return 0 elseif rs == 0 then return 1 else return 2 end +end + +local map_pop10_r6 = { + maprs = maprs_popST, [0] = "bovcSTB", "beqzalcTB", "beqcSTB" +} +local map_pop30_r6 = { + maprs = maprs_popST, [0] = "bnvcSTB", "bnezalcTB", "bnecSTB" +} + +local map_pri_r6 = { + [0] = map_special_r6, map_regimm_r6, "jJ", "jalJ", + "beq|beqz|bST00B", "bne|bnezST0B", map_pop06_r6, map_pop07_r6, + map_pop10_r6, "addiu|liTS0I", "sltiTSI", "sltiuTSI", + "andiTSU", "ori|liTS0U", "xoriTSU", "aui|luiTS0U", + map_cop0, map_cop1_r6, false, false, + false, false, map_pop26_r6, map_pop27_r6, + map_pop30_r6, "daddiuTSI", false, false, + false, "dauiTSI", false, map_special3_r6, + "lbTSO", "lhTSO", false, "lwTSO", + "lbuTSO", "lhuTSO", false, false, + "sbTSO", "shTSO", false, "swTSO", + false, false, false, false, + false, "lwc1HSO", "bc#", false, + false, "ldc1HSO", map_pop66_r6, "ldTSO", + false, "swc1HSO", "balc#", map_pcrel_r6, + false, "sdc1HSO", map_pop76_r6, "sdTSO", +} + +------------------------------------------------------------------------------ + +local map_gpr = { + [0] = "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", + "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", + "r24", "r25", "r26", "r27", "r28", "sp", "r30", "ra", +} + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then extra = "\t->"..sym end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-7s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-7s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +local function get_be(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + return bor(lshift(b0, 24), lshift(b1, 16), lshift(b2, 8), b3) +end + +local function get_le(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + return bor(lshift(b3, 24), lshift(b2, 16), lshift(b1, 8), b0) +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local op = ctx:get() + local operands = {} + local last = nil + ctx.op = op + ctx.rel = nil + + local opat = ctx.map_pri[rshift(op, 26)] + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + if opat.maprs then + opat = opat[opat.maprs(band(rshift(op,21),31), band(rshift(op,16),31))] + else + opat = opat[band(rshift(op, opat.shift), opat.mask)] or opat._ + end + end + local name, pat = match(opat, "^([a-z0-9_.]*)(.*)") + local altname, pat2 = match(pat, "|([a-z0-9_.|]*)(.*)") + if altname then pat = pat2 end + + for p in gmatch(pat, ".") do + local x = nil + if p == "S" then + x = map_gpr[band(rshift(op, 21), 31)] + elseif p == "T" then + x = map_gpr[band(rshift(op, 16), 31)] + elseif p == "D" then + x = map_gpr[band(rshift(op, 11), 31)] + elseif p == "F" then + x = "f"..band(rshift(op, 6), 31) + elseif p == "G" then + x = "f"..band(rshift(op, 11), 31) + elseif p == "H" then + x = "f"..band(rshift(op, 16), 31) + elseif p == "R" then + x = "f"..band(rshift(op, 21), 31) + elseif p == "A" then + x = band(rshift(op, 6), 31) + elseif p == "a" then + x = band(rshift(op, 6), 7) + elseif p == "E" then + x = band(rshift(op, 6), 31) + 32 + elseif p == "M" then + x = band(rshift(op, 11), 31) + elseif p == "N" then + x = band(rshift(op, 16), 31) + elseif p == "C" then + x = band(rshift(op, 18), 7) + if x == 0 then x = nil end + elseif p == "K" then + x = band(rshift(op, 11), 31) + 1 + elseif p == "P" then + x = band(rshift(op, 11), 31) + 33 + elseif p == "L" then + x = band(rshift(op, 11), 31) - last + 1 + elseif p == "Q" then + x = band(rshift(op, 11), 31) - last + 33 + elseif p == "I" then + x = arshift(lshift(op, 16), 16) + elseif p == "2" then + x = arshift(lshift(op, 13), 11) + elseif p == "3" then + x = arshift(lshift(op, 14), 11) + elseif p == "U" then + x = band(op, 0xffff) + elseif p == "O" then + local disp = arshift(lshift(op, 16), 16) + operands[#operands] = format("%d(%s)", disp, last) + elseif p == "X" then + local index = map_gpr[band(rshift(op, 16), 31)] + operands[#operands] = format("%s(%s)", index, last) + elseif p == "B" then + x = ctx.addr + ctx.pos + arshift(lshift(op, 16), 14) + 4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "b" then + x = ctx.addr + ctx.pos + arshift(lshift(op, 11), 9) + 4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "#" then + x = ctx.addr + ctx.pos + arshift(lshift(op, 6), 4) + 4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "J" then + local a = ctx.addr + ctx.pos + x = a - band(a, 0x0fffffff) + band(op, 0x03ffffff)*4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "V" then + x = band(rshift(op, 8), 7) + if x == 0 then x = nil end + elseif p == "W" then + x = band(op, 7) + if x == 0 then x = nil end + elseif p == "Y" then + x = band(rshift(op, 6), 0x000fffff) + if x == 0 then x = nil end + elseif p == "Z" then + x = band(rshift(op, 6), 1023) + if x == 0 then x = nil end + elseif p == "0" then + if last == "r0" or last == 0 then + local n = #operands + operands[n] = nil + last = operands[n-1] + if altname then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if a1 then name, altname = a1, a2 + else name = altname end + end + end + elseif p == "1" then + if last == "ra" then + operands[#operands] = nil + end + else + assert(false) + end + if x then operands[#operands+1] = x; last = x end + end + + return putop(ctx, name, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + stop = stop - stop % 4 + ctx.pos = ofs - ofs % 4 + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + ctx.get = get_be + ctx.map_pri = map_pri + return ctx +end + +local function create_el(code, addr, out) + local ctx = create(code, addr, out) + ctx.get = get_le + return ctx +end + +local function create_r6(code, addr, out) + local ctx = create(code, addr, out) + ctx.map_pri = map_pri_r6 + return ctx +end + +local function create_r6_el(code, addr, out) + local ctx = create(code, addr, out) + ctx.get = get_le + ctx.map_pri = map_pri_r6 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +local function disass_el(code, addr, out) + create_el(code, addr, out):disass() +end + +local function disass_r6(code, addr, out) + create_r6(code, addr, out):disass() +end + +local function disass_r6_el(code, addr, out) + create_r6_el(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 32 then return map_gpr[r] end + return "f"..(r-32) +end + +-- Public module functions. +return { + create = create, + create_el = create_el, + create_r6 = create_r6, + create_r6_el = create_r6_el, + disass = disass, + disass_el = disass_el, + disass_r6 = disass_r6, + disass_r6_el = disass_r6_el, + regname = regname +} + diff --git a/libs/LuaJIT/android/x86/jit/dis_mips64.lua b/libs/LuaJIT/android/x86/jit/dis_mips64.lua new file mode 100644 index 00000000..5ad48f8f --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/dis_mips64.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64 disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the big-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create, + disass = dis_mips.disass, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/x86/jit/dis_mips64el.lua b/libs/LuaJIT/android/x86/jit/dis_mips64el.lua new file mode 100644 index 00000000..d50e3a18 --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/dis_mips64el.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64EL disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the little-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_el, + disass = dis_mips.disass_el, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/x86/jit/dis_mips64r6.lua b/libs/LuaJIT/android/x86/jit/dis_mips64r6.lua new file mode 100644 index 00000000..921b3cbe --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/dis_mips64r6.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64R6 disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the r6 big-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_r6, + disass = dis_mips.disass_r6, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/x86/jit/dis_mips64r6el.lua b/libs/LuaJIT/android/x86/jit/dis_mips64r6el.lua new file mode 100644 index 00000000..aadef9f3 --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/dis_mips64r6el.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64R6EL disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the r6 little-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_r6_el, + disass = dis_mips.disass_r6_el, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/x86/jit/dis_mipsel.lua b/libs/LuaJIT/android/x86/jit/dis_mipsel.lua new file mode 100644 index 00000000..52cebefb --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/dis_mipsel.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPSEL disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the little-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_el, + disass = dis_mips.disass_el, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/x86/jit/dis_ppc.lua b/libs/LuaJIT/android/x86/jit/dis_ppc.lua new file mode 100644 index 00000000..08d742f1 --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/dis_ppc.lua @@ -0,0 +1,591 @@ +---------------------------------------------------------------------------- +-- LuaJIT PPC disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT/X license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles all common, non-privileged 32/64 bit PowerPC instructions +-- plus the e500 SPE instructions and some Cell/Xenon extensions. +-- +-- NYI: VMX, VMX128 +------------------------------------------------------------------------------ + +local type = type +local byte, format = string.byte, string.format +local match, gmatch, gsub = string.match, string.gmatch, string.gsub +local concat = table.concat +local bit = require("bit") +local band, bor, tohex = bit.band, bit.bor, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift + +------------------------------------------------------------------------------ +-- Primary and extended opcode maps +------------------------------------------------------------------------------ + +local map_crops = { + shift = 1, mask = 1023, + [0] = "mcrfXX", + [33] = "crnor|crnotCCC=", [129] = "crandcCCC", + [193] = "crxor|crclrCCC%", [225] = "crnandCCC", + [257] = "crandCCC", [289] = "creqv|crsetCCC%", + [417] = "crorcCCC", [449] = "cror|crmoveCCC=", + [16] = "b_lrKB", [528] = "b_ctrKB", + [150] = "isync", +} + +local map_rlwinm = setmetatable({ + shift = 0, mask = -1, +}, +{ __index = function(t, x) + local rot = band(rshift(x, 11), 31) + local mb = band(rshift(x, 6), 31) + local me = band(rshift(x, 1), 31) + if mb == 0 and me == 31-rot then + return "slwiRR~A." + elseif me == 31 and mb == 32-rot then + return "srwiRR~-A." + else + return "rlwinmRR~AAA." + end + end +}) + +local map_rld = { + shift = 2, mask = 7, + [0] = "rldiclRR~HM.", "rldicrRR~HM.", "rldicRR~HM.", "rldimiRR~HM.", + { + shift = 1, mask = 1, + [0] = "rldclRR~RM.", "rldcrRR~RM.", + }, +} + +local map_ext = setmetatable({ + shift = 1, mask = 1023, + + [0] = "cmp_YLRR", [32] = "cmpl_YLRR", + [4] = "twARR", [68] = "tdARR", + + [8] = "subfcRRR.", [40] = "subfRRR.", + [104] = "negRR.", [136] = "subfeRRR.", + [200] = "subfzeRR.", [232] = "subfmeRR.", + [520] = "subfcoRRR.", [552] = "subfoRRR.", + [616] = "negoRR.", [648] = "subfeoRRR.", + [712] = "subfzeoRR.", [744] = "subfmeoRR.", + + [9] = "mulhduRRR.", [73] = "mulhdRRR.", [233] = "mulldRRR.", + [457] = "divduRRR.", [489] = "divdRRR.", + [745] = "mulldoRRR.", + [969] = "divduoRRR.", [1001] = "divdoRRR.", + + [10] = "addcRRR.", [138] = "addeRRR.", + [202] = "addzeRR.", [234] = "addmeRR.", [266] = "addRRR.", + [522] = "addcoRRR.", [650] = "addeoRRR.", + [714] = "addzeoRR.", [746] = "addmeoRR.", [778] = "addoRRR.", + + [11] = "mulhwuRRR.", [75] = "mulhwRRR.", [235] = "mullwRRR.", + [459] = "divwuRRR.", [491] = "divwRRR.", + [747] = "mullwoRRR.", + [971] = "divwouRRR.", [1003] = "divwoRRR.", + + [15] = "iselltRRR", [47] = "iselgtRRR", [79] = "iseleqRRR", + + [144] = { shift = 20, mask = 1, [0] = "mtcrfRZ~", "mtocrfRZ~", }, + [19] = { shift = 20, mask = 1, [0] = "mfcrR", "mfocrfRZ", }, + [371] = { shift = 11, mask = 1023, [392] = "mftbR", [424] = "mftbuR", }, + [339] = { + shift = 11, mask = 1023, + [32] = "mferR", [256] = "mflrR", [288] = "mfctrR", [16] = "mfspefscrR", + }, + [467] = { + shift = 11, mask = 1023, + [32] = "mtxerR", [256] = "mtlrR", [288] = "mtctrR", [16] = "mtspefscrR", + }, + + [20] = "lwarxRR0R", [84] = "ldarxRR0R", + + [21] = "ldxRR0R", [53] = "lduxRRR", + [149] = "stdxRR0R", [181] = "stduxRRR", + [341] = "lwaxRR0R", [373] = "lwauxRRR", + + [23] = "lwzxRR0R", [55] = "lwzuxRRR", + [87] = "lbzxRR0R", [119] = "lbzuxRRR", + [151] = "stwxRR0R", [183] = "stwuxRRR", + [215] = "stbxRR0R", [247] = "stbuxRRR", + [279] = "lhzxRR0R", [311] = "lhzuxRRR", + [343] = "lhaxRR0R", [375] = "lhauxRRR", + [407] = "sthxRR0R", [439] = "sthuxRRR", + + [54] = "dcbst-R0R", [86] = "dcbf-R0R", + [150] = "stwcxRR0R.", [214] = "stdcxRR0R.", + [246] = "dcbtst-R0R", [278] = "dcbt-R0R", + [310] = "eciwxRR0R", [438] = "ecowxRR0R", + [470] = "dcbi-RR", + + [598] = { + shift = 21, mask = 3, + [0] = "sync", "lwsync", "ptesync", + }, + [758] = "dcba-RR", + [854] = "eieio", [982] = "icbi-R0R", [1014] = "dcbz-R0R", + + [26] = "cntlzwRR~", [58] = "cntlzdRR~", + [122] = "popcntbRR~", + [154] = "prtywRR~", [186] = "prtydRR~", + + [28] = "andRR~R.", [60] = "andcRR~R.", [124] = "nor|notRR~R=.", + [284] = "eqvRR~R.", [316] = "xorRR~R.", + [412] = "orcRR~R.", [444] = "or|mrRR~R=.", [476] = "nandRR~R.", + [508] = "cmpbRR~R", + + [512] = "mcrxrX", + + [532] = "ldbrxRR0R", [660] = "stdbrxRR0R", + + [533] = "lswxRR0R", [597] = "lswiRR0A", + [661] = "stswxRR0R", [725] = "stswiRR0A", + + [534] = "lwbrxRR0R", [662] = "stwbrxRR0R", + [790] = "lhbrxRR0R", [918] = "sthbrxRR0R", + + [535] = "lfsxFR0R", [567] = "lfsuxFRR", + [599] = "lfdxFR0R", [631] = "lfduxFRR", + [663] = "stfsxFR0R", [695] = "stfsuxFRR", + [727] = "stfdxFR0R", [759] = "stfduxFR0R", + [855] = "lfiwaxFR0R", + [983] = "stfiwxFR0R", + + [24] = "slwRR~R.", + + [27] = "sldRR~R.", [536] = "srwRR~R.", + [792] = "srawRR~R.", [824] = "srawiRR~A.", + + [794] = "sradRR~R.", [826] = "sradiRR~H.", [827] = "sradiRR~H.", + [922] = "extshRR~.", [954] = "extsbRR~.", [986] = "extswRR~.", + + [539] = "srdRR~R.", +}, +{ __index = function(t, x) + if band(x, 31) == 15 then return "iselRRRC" end + end +}) + +local map_ld = { + shift = 0, mask = 3, + [0] = "ldRRE", "lduRRE", "lwaRRE", +} + +local map_std = { + shift = 0, mask = 3, + [0] = "stdRRE", "stduRRE", +} + +local map_fps = { + shift = 5, mask = 1, + { + shift = 1, mask = 15, + [0] = false, false, "fdivsFFF.", false, + "fsubsFFF.", "faddsFFF.", "fsqrtsF-F.", false, + "fresF-F.", "fmulsFF-F.", "frsqrtesF-F.", false, + "fmsubsFFFF~.", "fmaddsFFFF~.", "fnmsubsFFFF~.", "fnmaddsFFFF~.", + } +} + +local map_fpd = { + shift = 5, mask = 1, + [0] = { + shift = 1, mask = 1023, + [0] = "fcmpuXFF", [32] = "fcmpoXFF", [64] = "mcrfsXX", + [38] = "mtfsb1A.", [70] = "mtfsb0A.", [134] = "mtfsfiA>>-A>", + [8] = "fcpsgnFFF.", [40] = "fnegF-F.", [72] = "fmrF-F.", + [136] = "fnabsF-F.", [264] = "fabsF-F.", + [12] = "frspF-F.", + [14] = "fctiwF-F.", [15] = "fctiwzF-F.", + [583] = "mffsF.", [711] = "mtfsfZF.", + [392] = "frinF-F.", [424] = "frizF-F.", + [456] = "fripF-F.", [488] = "frimF-F.", + [814] = "fctidF-F.", [815] = "fctidzF-F.", [846] = "fcfidF-F.", + }, + { + shift = 1, mask = 15, + [0] = false, false, "fdivFFF.", false, + "fsubFFF.", "faddFFF.", "fsqrtF-F.", "fselFFFF~.", + "freF-F.", "fmulFF-F.", "frsqrteF-F.", false, + "fmsubFFFF~.", "fmaddFFFF~.", "fnmsubFFFF~.", "fnmaddFFFF~.", + } +} + +local map_spe = { + shift = 0, mask = 2047, + + [512] = "evaddwRRR", [514] = "evaddiwRAR~", + [516] = "evsubwRRR~", [518] = "evsubiwRAR~", + [520] = "evabsRR", [521] = "evnegRR", + [522] = "evextsbRR", [523] = "evextshRR", [524] = "evrndwRR", + [525] = "evcntlzwRR", [526] = "evcntlswRR", + + [527] = "brincRRR", + + [529] = "evandRRR", [530] = "evandcRRR", [534] = "evxorRRR", + [535] = "evor|evmrRRR=", [536] = "evnor|evnotRRR=", + [537] = "eveqvRRR", [539] = "evorcRRR", [542] = "evnandRRR", + + [544] = "evsrwuRRR", [545] = "evsrwsRRR", + [546] = "evsrwiuRRA", [547] = "evsrwisRRA", + [548] = "evslwRRR", [550] = "evslwiRRA", + [552] = "evrlwRRR", [553] = "evsplatiRS", + [554] = "evrlwiRRA", [555] = "evsplatfiRS", + [556] = "evmergehiRRR", [557] = "evmergeloRRR", + [558] = "evmergehiloRRR", [559] = "evmergelohiRRR", + + [560] = "evcmpgtuYRR", [561] = "evcmpgtsYRR", + [562] = "evcmpltuYRR", [563] = "evcmpltsYRR", + [564] = "evcmpeqYRR", + + [632] = "evselRRR", [633] = "evselRRRW", + [634] = "evselRRRW", [635] = "evselRRRW", + [636] = "evselRRRW", [637] = "evselRRRW", + [638] = "evselRRRW", [639] = "evselRRRW", + + [640] = "evfsaddRRR", [641] = "evfssubRRR", + [644] = "evfsabsRR", [645] = "evfsnabsRR", [646] = "evfsnegRR", + [648] = "evfsmulRRR", [649] = "evfsdivRRR", + [652] = "evfscmpgtYRR", [653] = "evfscmpltYRR", [654] = "evfscmpeqYRR", + [656] = "evfscfuiR-R", [657] = "evfscfsiR-R", + [658] = "evfscfufR-R", [659] = "evfscfsfR-R", + [660] = "evfsctuiR-R", [661] = "evfsctsiR-R", + [662] = "evfsctufR-R", [663] = "evfsctsfR-R", + [664] = "evfsctuizR-R", [666] = "evfsctsizR-R", + [668] = "evfststgtYRR", [669] = "evfststltYRR", [670] = "evfststeqYRR", + + [704] = "efsaddRRR", [705] = "efssubRRR", + [708] = "efsabsRR", [709] = "efsnabsRR", [710] = "efsnegRR", + [712] = "efsmulRRR", [713] = "efsdivRRR", + [716] = "efscmpgtYRR", [717] = "efscmpltYRR", [718] = "efscmpeqYRR", + [719] = "efscfdR-R", + [720] = "efscfuiR-R", [721] = "efscfsiR-R", + [722] = "efscfufR-R", [723] = "efscfsfR-R", + [724] = "efsctuiR-R", [725] = "efsctsiR-R", + [726] = "efsctufR-R", [727] = "efsctsfR-R", + [728] = "efsctuizR-R", [730] = "efsctsizR-R", + [732] = "efststgtYRR", [733] = "efststltYRR", [734] = "efststeqYRR", + + [736] = "efdaddRRR", [737] = "efdsubRRR", + [738] = "efdcfuidR-R", [739] = "efdcfsidR-R", + [740] = "efdabsRR", [741] = "efdnabsRR", [742] = "efdnegRR", + [744] = "efdmulRRR", [745] = "efddivRRR", + [746] = "efdctuidzR-R", [747] = "efdctsidzR-R", + [748] = "efdcmpgtYRR", [749] = "efdcmpltYRR", [750] = "efdcmpeqYRR", + [751] = "efdcfsR-R", + [752] = "efdcfuiR-R", [753] = "efdcfsiR-R", + [754] = "efdcfufR-R", [755] = "efdcfsfR-R", + [756] = "efdctuiR-R", [757] = "efdctsiR-R", + [758] = "efdctufR-R", [759] = "efdctsfR-R", + [760] = "efdctuizR-R", [762] = "efdctsizR-R", + [764] = "efdtstgtYRR", [765] = "efdtstltYRR", [766] = "efdtsteqYRR", + + [768] = "evlddxRR0R", [769] = "evlddRR8", + [770] = "evldwxRR0R", [771] = "evldwRR8", + [772] = "evldhxRR0R", [773] = "evldhRR8", + [776] = "evlhhesplatxRR0R", [777] = "evlhhesplatRR2", + [780] = "evlhhousplatxRR0R", [781] = "evlhhousplatRR2", + [782] = "evlhhossplatxRR0R", [783] = "evlhhossplatRR2", + [784] = "evlwhexRR0R", [785] = "evlwheRR4", + [788] = "evlwhouxRR0R", [789] = "evlwhouRR4", + [790] = "evlwhosxRR0R", [791] = "evlwhosRR4", + [792] = "evlwwsplatxRR0R", [793] = "evlwwsplatRR4", + [796] = "evlwhsplatxRR0R", [797] = "evlwhsplatRR4", + + [800] = "evstddxRR0R", [801] = "evstddRR8", + [802] = "evstdwxRR0R", [803] = "evstdwRR8", + [804] = "evstdhxRR0R", [805] = "evstdhRR8", + [816] = "evstwhexRR0R", [817] = "evstwheRR4", + [820] = "evstwhoxRR0R", [821] = "evstwhoRR4", + [824] = "evstwwexRR0R", [825] = "evstwweRR4", + [828] = "evstwwoxRR0R", [829] = "evstwwoRR4", + + [1027] = "evmhessfRRR", [1031] = "evmhossfRRR", [1032] = "evmheumiRRR", + [1033] = "evmhesmiRRR", [1035] = "evmhesmfRRR", [1036] = "evmhoumiRRR", + [1037] = "evmhosmiRRR", [1039] = "evmhosmfRRR", [1059] = "evmhessfaRRR", + [1063] = "evmhossfaRRR", [1064] = "evmheumiaRRR", [1065] = "evmhesmiaRRR", + [1067] = "evmhesmfaRRR", [1068] = "evmhoumiaRRR", [1069] = "evmhosmiaRRR", + [1071] = "evmhosmfaRRR", [1095] = "evmwhssfRRR", [1096] = "evmwlumiRRR", + [1100] = "evmwhumiRRR", [1101] = "evmwhsmiRRR", [1103] = "evmwhsmfRRR", + [1107] = "evmwssfRRR", [1112] = "evmwumiRRR", [1113] = "evmwsmiRRR", + [1115] = "evmwsmfRRR", [1127] = "evmwhssfaRRR", [1128] = "evmwlumiaRRR", + [1132] = "evmwhumiaRRR", [1133] = "evmwhsmiaRRR", [1135] = "evmwhsmfaRRR", + [1139] = "evmwssfaRRR", [1144] = "evmwumiaRRR", [1145] = "evmwsmiaRRR", + [1147] = "evmwsmfaRRR", + + [1216] = "evaddusiaawRR", [1217] = "evaddssiaawRR", + [1218] = "evsubfusiaawRR", [1219] = "evsubfssiaawRR", + [1220] = "evmraRR", + [1222] = "evdivwsRRR", [1223] = "evdivwuRRR", + [1224] = "evaddumiaawRR", [1225] = "evaddsmiaawRR", + [1226] = "evsubfumiaawRR", [1227] = "evsubfsmiaawRR", + + [1280] = "evmheusiaawRRR", [1281] = "evmhessiaawRRR", + [1283] = "evmhessfaawRRR", [1284] = "evmhousiaawRRR", + [1285] = "evmhossiaawRRR", [1287] = "evmhossfaawRRR", + [1288] = "evmheumiaawRRR", [1289] = "evmhesmiaawRRR", + [1291] = "evmhesmfaawRRR", [1292] = "evmhoumiaawRRR", + [1293] = "evmhosmiaawRRR", [1295] = "evmhosmfaawRRR", + [1320] = "evmhegumiaaRRR", [1321] = "evmhegsmiaaRRR", + [1323] = "evmhegsmfaaRRR", [1324] = "evmhogumiaaRRR", + [1325] = "evmhogsmiaaRRR", [1327] = "evmhogsmfaaRRR", + [1344] = "evmwlusiaawRRR", [1345] = "evmwlssiaawRRR", + [1352] = "evmwlumiaawRRR", [1353] = "evmwlsmiaawRRR", + [1363] = "evmwssfaaRRR", [1368] = "evmwumiaaRRR", + [1369] = "evmwsmiaaRRR", [1371] = "evmwsmfaaRRR", + [1408] = "evmheusianwRRR", [1409] = "evmhessianwRRR", + [1411] = "evmhessfanwRRR", [1412] = "evmhousianwRRR", + [1413] = "evmhossianwRRR", [1415] = "evmhossfanwRRR", + [1416] = "evmheumianwRRR", [1417] = "evmhesmianwRRR", + [1419] = "evmhesmfanwRRR", [1420] = "evmhoumianwRRR", + [1421] = "evmhosmianwRRR", [1423] = "evmhosmfanwRRR", + [1448] = "evmhegumianRRR", [1449] = "evmhegsmianRRR", + [1451] = "evmhegsmfanRRR", [1452] = "evmhogumianRRR", + [1453] = "evmhogsmianRRR", [1455] = "evmhogsmfanRRR", + [1472] = "evmwlusianwRRR", [1473] = "evmwlssianwRRR", + [1480] = "evmwlumianwRRR", [1481] = "evmwlsmianwRRR", + [1491] = "evmwssfanRRR", [1496] = "evmwumianRRR", + [1497] = "evmwsmianRRR", [1499] = "evmwsmfanRRR", +} + +local map_pri = { + [0] = false, false, "tdiARI", "twiARI", + map_spe, false, false, "mulliRRI", + "subficRRI", false, "cmpl_iYLRU", "cmp_iYLRI", + "addicRRI", "addic.RRI", "addi|liRR0I", "addis|lisRR0I", + "b_KBJ", "sc", "bKJ", map_crops, + "rlwimiRR~AAA.", map_rlwinm, false, "rlwnmRR~RAA.", + "oriNRR~U", "orisRR~U", "xoriRR~U", "xorisRR~U", + "andi.RR~U", "andis.RR~U", map_rld, map_ext, + "lwzRRD", "lwzuRRD", "lbzRRD", "lbzuRRD", + "stwRRD", "stwuRRD", "stbRRD", "stbuRRD", + "lhzRRD", "lhzuRRD", "lhaRRD", "lhauRRD", + "sthRRD", "sthuRRD", "lmwRRD", "stmwRRD", + "lfsFRD", "lfsuFRD", "lfdFRD", "lfduFRD", + "stfsFRD", "stfsuFRD", "stfdFRD", "stfduFRD", + false, false, map_ld, map_fps, + false, false, map_std, map_fpd, +} + +------------------------------------------------------------------------------ + +local map_gpr = { + [0] = "r0", "sp", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", + "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", + "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31", +} + +local map_cond = { [0] = "lt", "gt", "eq", "so", "ge", "le", "ne", "ns", } + +-- Format a condition bit. +local function condfmt(cond) + if cond <= 3 then + return map_cond[band(cond, 3)] + else + return format("4*cr%d+%s", rshift(cond, 2), map_cond[band(cond, 3)]) + end +end + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then extra = "\t->"..sym end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-7s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-7s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + local op = bor(lshift(b0, 24), lshift(b1, 16), lshift(b2, 8), b3) + local operands = {} + local last = nil + local rs = 21 + ctx.op = op + ctx.rel = nil + + local opat = map_pri[rshift(b0, 2)] + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + opat = opat[band(rshift(op, opat.shift), opat.mask)] + end + local name, pat = match(opat, "^([a-z0-9_.]*)(.*)") + local altname, pat2 = match(pat, "|([a-z0-9_.]*)(.*)") + if altname then pat = pat2 end + + for p in gmatch(pat, ".") do + local x = nil + if p == "R" then + x = map_gpr[band(rshift(op, rs), 31)] + rs = rs - 5 + elseif p == "F" then + x = "f"..band(rshift(op, rs), 31) + rs = rs - 5 + elseif p == "A" then + x = band(rshift(op, rs), 31) + rs = rs - 5 + elseif p == "S" then + x = arshift(lshift(op, 27-rs), 27) + rs = rs - 5 + elseif p == "I" then + x = arshift(lshift(op, 16), 16) + elseif p == "U" then + x = band(op, 0xffff) + elseif p == "D" or p == "E" then + local disp = arshift(lshift(op, 16), 16) + if p == "E" then disp = band(disp, -4) end + if last == "r0" then last = "0" end + operands[#operands] = format("%d(%s)", disp, last) + elseif p >= "2" and p <= "8" then + local disp = band(rshift(op, rs), 31) * p + if last == "r0" then last = "0" end + operands[#operands] = format("%d(%s)", disp, last) + elseif p == "H" then + x = band(rshift(op, rs), 31) + lshift(band(op, 2), 4) + rs = rs - 5 + elseif p == "M" then + x = band(rshift(op, rs), 31) + band(op, 0x20) + elseif p == "C" then + x = condfmt(band(rshift(op, rs), 31)) + rs = rs - 5 + elseif p == "B" then + local bo = rshift(op, 21) + local cond = band(rshift(op, 16), 31) + local cn = "" + rs = rs - 10 + if band(bo, 4) == 0 then + cn = band(bo, 2) == 0 and "dnz" or "dz" + if band(bo, 0x10) == 0 then + cn = cn..(band(bo, 8) == 0 and "f" or "t") + end + if band(bo, 0x10) == 0 then x = condfmt(cond) end + name = name..(band(bo, 1) == band(rshift(op, 15), 1) and "-" or "+") + elseif band(bo, 0x10) == 0 then + cn = map_cond[band(cond, 3) + (band(bo, 8) == 0 and 4 or 0)] + if cond > 3 then x = "cr"..rshift(cond, 2) end + name = name..(band(bo, 1) == band(rshift(op, 15), 1) and "-" or "+") + end + name = gsub(name, "_", cn) + elseif p == "J" then + x = arshift(lshift(op, 27-rs), 29-rs)*4 + if band(op, 2) == 0 then x = ctx.addr + pos + x end + ctx.rel = x + x = "0x"..tohex(x) + elseif p == "K" then + if band(op, 1) ~= 0 then name = name.."l" end + if band(op, 2) ~= 0 then name = name.."a" end + elseif p == "X" or p == "Y" then + x = band(rshift(op, rs+2), 7) + if x == 0 and p == "Y" then x = nil else x = "cr"..x end + rs = rs - 5 + elseif p == "W" then + x = "cr"..band(op, 7) + elseif p == "Z" then + x = band(rshift(op, rs-4), 255) + rs = rs - 10 + elseif p == ">" then + operands[#operands] = rshift(operands[#operands], 1) + elseif p == "0" then + if last == "r0" then + operands[#operands] = nil + if altname then name = altname end + end + elseif p == "L" then + name = gsub(name, "_", band(op, 0x00200000) ~= 0 and "d" or "w") + elseif p == "." then + if band(op, 1) == 1 then name = name.."." end + elseif p == "N" then + if op == 0x60000000 then name = "nop"; break end + elseif p == "~" then + local n = #operands + operands[n-1], operands[n] = operands[n], operands[n-1] + elseif p == "=" then + local n = #operands + if last == operands[n-1] then + operands[n] = nil + name = altname + end + elseif p == "%" then + local n = #operands + if last == operands[n-1] and last == operands[n-2] then + operands[n] = nil + operands[n-1] = nil + name = altname + end + elseif p == "-" then + rs = rs - 5 + else + assert(false) + end + if x then operands[#operands+1] = x; last = x end + end + + return putop(ctx, name, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + stop = stop - stop % 4 + ctx.pos = ofs - ofs % 4 + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 32 then return map_gpr[r] end + return "f"..(r-32) +end + +-- Public module functions. +return { + create = create, + disass = disass, + regname = regname +} + diff --git a/libs/LuaJIT/android/x86/jit/dis_x64.lua b/libs/LuaJIT/android/x86/jit/dis_x64.lua new file mode 100644 index 00000000..2d37423e --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/dis_x64.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT x64 disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the 64 bit functions from the combined +-- x86/x64 disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_x86 = require((string.match(..., ".*%.") or "").."dis_x86") +return { + create = dis_x86.create64, + disass = dis_x86.disass64, + regname = dis_x86.regname64 +} + diff --git a/libs/LuaJIT/android/x86/jit/dis_x86.lua b/libs/LuaJIT/android/x86/jit/dis_x86.lua new file mode 100644 index 00000000..5480854c --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/dis_x86.lua @@ -0,0 +1,953 @@ +---------------------------------------------------------------------------- +-- LuaJIT x86/x64 disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- Sending small code snippets to an external disassembler and mixing the +-- output with our own stuff was too fragile. So I had to bite the bullet +-- and write yet another x86 disassembler. Oh well ... +-- +-- The output format is very similar to what ndisasm generates. But it has +-- been developed independently by looking at the opcode tables from the +-- Intel and AMD manuals. The supported instruction set is quite extensive +-- and reflects what a current generation Intel or AMD CPU implements in +-- 32 bit and 64 bit mode. Yes, this includes MMX, SSE, SSE2, SSE3, SSSE3, +-- SSE4.1, SSE4.2, SSE4a, AVX, AVX2 and even privileged and hypervisor +-- (VMX/SVM) instructions. +-- +-- Notes: +-- * The (useless) a16 prefix, 3DNow and pre-586 opcodes are unsupported. +-- * No attempt at optimization has been made -- it's fast enough for my needs. +------------------------------------------------------------------------------ + +local type = type +local sub, byte, format = string.sub, string.byte, string.format +local match, gmatch, gsub = string.match, string.gmatch, string.gsub +local lower, rep = string.lower, string.rep +local bit = require("bit") +local tohex = bit.tohex + +-- Map for 1st opcode byte in 32 bit mode. Ugly? Well ... read on. +local map_opc1_32 = { +--0x +[0]="addBmr","addVmr","addBrm","addVrm","addBai","addVai","push es","pop es", +"orBmr","orVmr","orBrm","orVrm","orBai","orVai","push cs","opc2*", +--1x +"adcBmr","adcVmr","adcBrm","adcVrm","adcBai","adcVai","push ss","pop ss", +"sbbBmr","sbbVmr","sbbBrm","sbbVrm","sbbBai","sbbVai","push ds","pop ds", +--2x +"andBmr","andVmr","andBrm","andVrm","andBai","andVai","es:seg","daa", +"subBmr","subVmr","subBrm","subVrm","subBai","subVai","cs:seg","das", +--3x +"xorBmr","xorVmr","xorBrm","xorVrm","xorBai","xorVai","ss:seg","aaa", +"cmpBmr","cmpVmr","cmpBrm","cmpVrm","cmpBai","cmpVai","ds:seg","aas", +--4x +"incVR","incVR","incVR","incVR","incVR","incVR","incVR","incVR", +"decVR","decVR","decVR","decVR","decVR","decVR","decVR","decVR", +--5x +"pushUR","pushUR","pushUR","pushUR","pushUR","pushUR","pushUR","pushUR", +"popUR","popUR","popUR","popUR","popUR","popUR","popUR","popUR", +--6x +"sz*pushaw,pusha","sz*popaw,popa","boundVrm","arplWmr", +"fs:seg","gs:seg","o16:","a16", +"pushUi","imulVrmi","pushBs","imulVrms", +"insb","insVS","outsb","outsVS", +--7x +"joBj","jnoBj","jbBj","jnbBj","jzBj","jnzBj","jbeBj","jaBj", +"jsBj","jnsBj","jpeBj","jpoBj","jlBj","jgeBj","jleBj","jgBj", +--8x +"arith!Bmi","arith!Vmi","arith!Bmi","arith!Vms", +"testBmr","testVmr","xchgBrm","xchgVrm", +"movBmr","movVmr","movBrm","movVrm", +"movVmg","leaVrm","movWgm","popUm", +--9x +"nop*xchgVaR|pause|xchgWaR|repne nop","xchgVaR","xchgVaR","xchgVaR", +"xchgVaR","xchgVaR","xchgVaR","xchgVaR", +"sz*cbw,cwde,cdqe","sz*cwd,cdq,cqo","call farViw","wait", +"sz*pushfw,pushf","sz*popfw,popf","sahf","lahf", +--Ax +"movBao","movVao","movBoa","movVoa", +"movsb","movsVS","cmpsb","cmpsVS", +"testBai","testVai","stosb","stosVS", +"lodsb","lodsVS","scasb","scasVS", +--Bx +"movBRi","movBRi","movBRi","movBRi","movBRi","movBRi","movBRi","movBRi", +"movVRI","movVRI","movVRI","movVRI","movVRI","movVRI","movVRI","movVRI", +--Cx +"shift!Bmu","shift!Vmu","retBw","ret","vex*3$lesVrm","vex*2$ldsVrm","movBmi","movVmi", +"enterBwu","leave","retfBw","retf","int3","intBu","into","iretVS", +--Dx +"shift!Bm1","shift!Vm1","shift!Bmc","shift!Vmc","aamBu","aadBu","salc","xlatb", +"fp*0","fp*1","fp*2","fp*3","fp*4","fp*5","fp*6","fp*7", +--Ex +"loopneBj","loopeBj","loopBj","sz*jcxzBj,jecxzBj,jrcxzBj", +"inBau","inVau","outBua","outVua", +"callVj","jmpVj","jmp farViw","jmpBj","inBad","inVad","outBda","outVda", +--Fx +"lock:","int1","repne:rep","rep:","hlt","cmc","testb!Bm","testv!Vm", +"clc","stc","cli","sti","cld","std","incb!Bm","incd!Vm", +} +assert(#map_opc1_32 == 255) + +-- Map for 1st opcode byte in 64 bit mode (overrides only). +local map_opc1_64 = setmetatable({ + [0x06]=false, [0x07]=false, [0x0e]=false, + [0x16]=false, [0x17]=false, [0x1e]=false, [0x1f]=false, + [0x27]=false, [0x2f]=false, [0x37]=false, [0x3f]=false, + [0x60]=false, [0x61]=false, [0x62]=false, [0x63]="movsxdVrDmt", [0x67]="a32:", + [0x40]="rex*", [0x41]="rex*b", [0x42]="rex*x", [0x43]="rex*xb", + [0x44]="rex*r", [0x45]="rex*rb", [0x46]="rex*rx", [0x47]="rex*rxb", + [0x48]="rex*w", [0x49]="rex*wb", [0x4a]="rex*wx", [0x4b]="rex*wxb", + [0x4c]="rex*wr", [0x4d]="rex*wrb", [0x4e]="rex*wrx", [0x4f]="rex*wrxb", + [0x82]=false, [0x9a]=false, [0xc4]="vex*3", [0xc5]="vex*2", [0xce]=false, + [0xd4]=false, [0xd5]=false, [0xd6]=false, [0xea]=false, +}, { __index = map_opc1_32 }) + +-- Map for 2nd opcode byte (0F xx). True CISC hell. Hey, I told you. +-- Prefix dependent MMX/SSE opcodes: (none)|rep|o16|repne, -|F3|66|F2 +local map_opc2 = { +--0x +[0]="sldt!Dmp","sgdt!Ump","larVrm","lslVrm",nil,"syscall","clts","sysret", +"invd","wbinvd",nil,"ud1",nil,"$prefetch!Bm","femms","3dnowMrmu", +--1x +"movupsXrm|movssXrvm|movupdXrm|movsdXrvm", +"movupsXmr|movssXmvr|movupdXmr|movsdXmvr", +"movhlpsXrm$movlpsXrm|movsldupXrm|movlpdXrm|movddupXrm", +"movlpsXmr||movlpdXmr", +"unpcklpsXrvm||unpcklpdXrvm", +"unpckhpsXrvm||unpckhpdXrvm", +"movlhpsXrm$movhpsXrm|movshdupXrm|movhpdXrm", +"movhpsXmr||movhpdXmr", +"$prefetcht!Bm","hintnopVm","hintnopVm","hintnopVm", +"hintnopVm","hintnopVm","hintnopVm","hintnopVm", +--2x +"movUmx$","movUmy$","movUxm$","movUym$","movUmz$",nil,"movUzm$",nil, +"movapsXrm||movapdXrm", +"movapsXmr||movapdXmr", +"cvtpi2psXrMm|cvtsi2ssXrvVmt|cvtpi2pdXrMm|cvtsi2sdXrvVmt", +"movntpsXmr|movntssXmr|movntpdXmr|movntsdXmr", +"cvttps2piMrXm|cvttss2siVrXm|cvttpd2piMrXm|cvttsd2siVrXm", +"cvtps2piMrXm|cvtss2siVrXm|cvtpd2piMrXm|cvtsd2siVrXm", +"ucomissXrm||ucomisdXrm", +"comissXrm||comisdXrm", +--3x +"wrmsr","rdtsc","rdmsr","rdpmc","sysenter","sysexit",nil,"getsec", +"opc3*38",nil,"opc3*3a",nil,nil,nil,nil,nil, +--4x +"cmovoVrm","cmovnoVrm","cmovbVrm","cmovnbVrm", +"cmovzVrm","cmovnzVrm","cmovbeVrm","cmovaVrm", +"cmovsVrm","cmovnsVrm","cmovpeVrm","cmovpoVrm", +"cmovlVrm","cmovgeVrm","cmovleVrm","cmovgVrm", +--5x +"movmskpsVrXm$||movmskpdVrXm$","sqrtpsXrm|sqrtssXrm|sqrtpdXrm|sqrtsdXrm", +"rsqrtpsXrm|rsqrtssXrvm","rcppsXrm|rcpssXrvm", +"andpsXrvm||andpdXrvm","andnpsXrvm||andnpdXrvm", +"orpsXrvm||orpdXrvm","xorpsXrvm||xorpdXrvm", +"addpsXrvm|addssXrvm|addpdXrvm|addsdXrvm","mulpsXrvm|mulssXrvm|mulpdXrvm|mulsdXrvm", +"cvtps2pdXrm|cvtss2sdXrvm|cvtpd2psXrm|cvtsd2ssXrvm", +"cvtdq2psXrm|cvttps2dqXrm|cvtps2dqXrm", +"subpsXrvm|subssXrvm|subpdXrvm|subsdXrvm","minpsXrvm|minssXrvm|minpdXrvm|minsdXrvm", +"divpsXrvm|divssXrvm|divpdXrvm|divsdXrvm","maxpsXrvm|maxssXrvm|maxpdXrvm|maxsdXrvm", +--6x +"punpcklbwPrvm","punpcklwdPrvm","punpckldqPrvm","packsswbPrvm", +"pcmpgtbPrvm","pcmpgtwPrvm","pcmpgtdPrvm","packuswbPrvm", +"punpckhbwPrvm","punpckhwdPrvm","punpckhdqPrvm","packssdwPrvm", +"||punpcklqdqXrvm","||punpckhqdqXrvm", +"movPrVSm","movqMrm|movdquXrm|movdqaXrm", +--7x +"pshufwMrmu|pshufhwXrmu|pshufdXrmu|pshuflwXrmu","pshiftw!Pvmu", +"pshiftd!Pvmu","pshiftq!Mvmu||pshiftdq!Xvmu", +"pcmpeqbPrvm","pcmpeqwPrvm","pcmpeqdPrvm","emms*|", +"vmreadUmr||extrqXmuu$|insertqXrmuu$","vmwriteUrm||extrqXrm$|insertqXrm$", +nil,nil, +"||haddpdXrvm|haddpsXrvm","||hsubpdXrvm|hsubpsXrvm", +"movVSmMr|movqXrm|movVSmXr","movqMmr|movdquXmr|movdqaXmr", +--8x +"joVj","jnoVj","jbVj","jnbVj","jzVj","jnzVj","jbeVj","jaVj", +"jsVj","jnsVj","jpeVj","jpoVj","jlVj","jgeVj","jleVj","jgVj", +--9x +"setoBm","setnoBm","setbBm","setnbBm","setzBm","setnzBm","setbeBm","setaBm", +"setsBm","setnsBm","setpeBm","setpoBm","setlBm","setgeBm","setleBm","setgBm", +--Ax +"push fs","pop fs","cpuid","btVmr","shldVmru","shldVmrc",nil,nil, +"push gs","pop gs","rsm","btsVmr","shrdVmru","shrdVmrc","fxsave!Dmp","imulVrm", +--Bx +"cmpxchgBmr","cmpxchgVmr","$lssVrm","btrVmr", +"$lfsVrm","$lgsVrm","movzxVrBmt","movzxVrWmt", +"|popcntVrm","ud2Dp","bt!Vmu","btcVmr", +"bsfVrm","bsrVrm|lzcntVrm|bsrWrm","movsxVrBmt","movsxVrWmt", +--Cx +"xaddBmr","xaddVmr", +"cmppsXrvmu|cmpssXrvmu|cmppdXrvmu|cmpsdXrvmu","$movntiVmr|", +"pinsrwPrvWmu","pextrwDrPmu", +"shufpsXrvmu||shufpdXrvmu","$cmpxchg!Qmp", +"bswapVR","bswapVR","bswapVR","bswapVR","bswapVR","bswapVR","bswapVR","bswapVR", +--Dx +"||addsubpdXrvm|addsubpsXrvm","psrlwPrvm","psrldPrvm","psrlqPrvm", +"paddqPrvm","pmullwPrvm", +"|movq2dqXrMm|movqXmr|movdq2qMrXm$","pmovmskbVrMm||pmovmskbVrXm", +"psubusbPrvm","psubuswPrvm","pminubPrvm","pandPrvm", +"paddusbPrvm","padduswPrvm","pmaxubPrvm","pandnPrvm", +--Ex +"pavgbPrvm","psrawPrvm","psradPrvm","pavgwPrvm", +"pmulhuwPrvm","pmulhwPrvm", +"|cvtdq2pdXrm|cvttpd2dqXrm|cvtpd2dqXrm","$movntqMmr||$movntdqXmr", +"psubsbPrvm","psubswPrvm","pminswPrvm","porPrvm", +"paddsbPrvm","paddswPrvm","pmaxswPrvm","pxorPrvm", +--Fx +"|||lddquXrm","psllwPrvm","pslldPrvm","psllqPrvm", +"pmuludqPrvm","pmaddwdPrvm","psadbwPrvm","maskmovqMrm||maskmovdquXrm$", +"psubbPrvm","psubwPrvm","psubdPrvm","psubqPrvm", +"paddbPrvm","paddwPrvm","padddPrvm","ud", +} +assert(map_opc2[255] == "ud") + +-- Map for three-byte opcodes. Can't wait for their next invention. +local map_opc3 = { +["38"] = { -- [66] 0f 38 xx +--0x +[0]="pshufbPrvm","phaddwPrvm","phadddPrvm","phaddswPrvm", +"pmaddubswPrvm","phsubwPrvm","phsubdPrvm","phsubswPrvm", +"psignbPrvm","psignwPrvm","psigndPrvm","pmulhrswPrvm", +"||permilpsXrvm","||permilpdXrvm",nil,nil, +--1x +"||pblendvbXrma",nil,nil,nil, +"||blendvpsXrma","||blendvpdXrma","||permpsXrvm","||ptestXrm", +"||broadcastssXrm","||broadcastsdXrm","||broadcastf128XrlXm",nil, +"pabsbPrm","pabswPrm","pabsdPrm",nil, +--2x +"||pmovsxbwXrm","||pmovsxbdXrm","||pmovsxbqXrm","||pmovsxwdXrm", +"||pmovsxwqXrm","||pmovsxdqXrm",nil,nil, +"||pmuldqXrvm","||pcmpeqqXrvm","||$movntdqaXrm","||packusdwXrvm", +"||maskmovpsXrvm","||maskmovpdXrvm","||maskmovpsXmvr","||maskmovpdXmvr", +--3x +"||pmovzxbwXrm","||pmovzxbdXrm","||pmovzxbqXrm","||pmovzxwdXrm", +"||pmovzxwqXrm","||pmovzxdqXrm","||permdXrvm","||pcmpgtqXrvm", +"||pminsbXrvm","||pminsdXrvm","||pminuwXrvm","||pminudXrvm", +"||pmaxsbXrvm","||pmaxsdXrvm","||pmaxuwXrvm","||pmaxudXrvm", +--4x +"||pmulddXrvm","||phminposuwXrm",nil,nil, +nil,"||psrlvVSXrvm","||psravdXrvm","||psllvVSXrvm", +--5x +[0x58] = "||pbroadcastdXrlXm",[0x59] = "||pbroadcastqXrlXm", +[0x5a] = "||broadcasti128XrlXm", +--7x +[0x78] = "||pbroadcastbXrlXm",[0x79] = "||pbroadcastwXrlXm", +--8x +[0x8c] = "||pmaskmovXrvVSm", +[0x8e] = "||pmaskmovVSmXvr", +--9x +[0x96] = "||fmaddsub132pHXrvm",[0x97] = "||fmsubadd132pHXrvm", +[0x98] = "||fmadd132pHXrvm",[0x99] = "||fmadd132sHXrvm", +[0x9a] = "||fmsub132pHXrvm",[0x9b] = "||fmsub132sHXrvm", +[0x9c] = "||fnmadd132pHXrvm",[0x9d] = "||fnmadd132sHXrvm", +[0x9e] = "||fnmsub132pHXrvm",[0x9f] = "||fnmsub132sHXrvm", +--Ax +[0xa6] = "||fmaddsub213pHXrvm",[0xa7] = "||fmsubadd213pHXrvm", +[0xa8] = "||fmadd213pHXrvm",[0xa9] = "||fmadd213sHXrvm", +[0xaa] = "||fmsub213pHXrvm",[0xab] = "||fmsub213sHXrvm", +[0xac] = "||fnmadd213pHXrvm",[0xad] = "||fnmadd213sHXrvm", +[0xae] = "||fnmsub213pHXrvm",[0xaf] = "||fnmsub213sHXrvm", +--Bx +[0xb6] = "||fmaddsub231pHXrvm",[0xb7] = "||fmsubadd231pHXrvm", +[0xb8] = "||fmadd231pHXrvm",[0xb9] = "||fmadd231sHXrvm", +[0xba] = "||fmsub231pHXrvm",[0xbb] = "||fmsub231sHXrvm", +[0xbc] = "||fnmadd231pHXrvm",[0xbd] = "||fnmadd231sHXrvm", +[0xbe] = "||fnmsub231pHXrvm",[0xbf] = "||fnmsub231sHXrvm", +--Dx +[0xdc] = "||aesencXrvm", [0xdd] = "||aesenclastXrvm", +[0xde] = "||aesdecXrvm", [0xdf] = "||aesdeclastXrvm", +--Fx +[0xf0] = "|||crc32TrBmt",[0xf1] = "|||crc32TrVmt", +[0xf7] = "| sarxVrmv| shlxVrmv| shrxVrmv", +}, + +["3a"] = { -- [66] 0f 3a xx +--0x +[0x00]="||permqXrmu","||permpdXrmu","||pblenddXrvmu",nil, +"||permilpsXrmu","||permilpdXrmu","||perm2f128Xrvmu",nil, +"||roundpsXrmu","||roundpdXrmu","||roundssXrvmu","||roundsdXrvmu", +"||blendpsXrvmu","||blendpdXrvmu","||pblendwXrvmu","palignrPrvmu", +--1x +nil,nil,nil,nil, +"||pextrbVmXru","||pextrwVmXru","||pextrVmSXru","||extractpsVmXru", +"||insertf128XrvlXmu","||extractf128XlXmYru",nil,nil, +nil,nil,nil,nil, +--2x +"||pinsrbXrvVmu","||insertpsXrvmu","||pinsrXrvVmuS",nil, +--3x +[0x38] = "||inserti128Xrvmu",[0x39] = "||extracti128XlXmYru", +--4x +[0x40] = "||dppsXrvmu", +[0x41] = "||dppdXrvmu", +[0x42] = "||mpsadbwXrvmu", +[0x44] = "||pclmulqdqXrvmu", +[0x46] = "||perm2i128Xrvmu", +[0x4a] = "||blendvpsXrvmb",[0x4b] = "||blendvpdXrvmb", +[0x4c] = "||pblendvbXrvmb", +--6x +[0x60] = "||pcmpestrmXrmu",[0x61] = "||pcmpestriXrmu", +[0x62] = "||pcmpistrmXrmu",[0x63] = "||pcmpistriXrmu", +[0xdf] = "||aeskeygenassistXrmu", +--Fx +[0xf0] = "||| rorxVrmu", +}, +} + +-- Map for VMX/SVM opcodes 0F 01 C0-FF (sgdt group with register operands). +local map_opcvm = { +[0xc1]="vmcall",[0xc2]="vmlaunch",[0xc3]="vmresume",[0xc4]="vmxoff", +[0xc8]="monitor",[0xc9]="mwait", +[0xd8]="vmrun",[0xd9]="vmmcall",[0xda]="vmload",[0xdb]="vmsave", +[0xdc]="stgi",[0xdd]="clgi",[0xde]="skinit",[0xdf]="invlpga", +[0xf8]="swapgs",[0xf9]="rdtscp", +} + +-- Map for FP opcodes. And you thought stack machines are simple? +local map_opcfp = { +-- D8-DF 00-BF: opcodes with a memory operand. +-- D8 +[0]="faddFm","fmulFm","fcomFm","fcompFm","fsubFm","fsubrFm","fdivFm","fdivrFm", +"fldFm",nil,"fstFm","fstpFm","fldenvVm","fldcwWm","fnstenvVm","fnstcwWm", +-- DA +"fiaddDm","fimulDm","ficomDm","ficompDm", +"fisubDm","fisubrDm","fidivDm","fidivrDm", +-- DB +"fildDm","fisttpDm","fistDm","fistpDm",nil,"fld twordFmp",nil,"fstp twordFmp", +-- DC +"faddGm","fmulGm","fcomGm","fcompGm","fsubGm","fsubrGm","fdivGm","fdivrGm", +-- DD +"fldGm","fisttpQm","fstGm","fstpGm","frstorDmp",nil,"fnsaveDmp","fnstswWm", +-- DE +"fiaddWm","fimulWm","ficomWm","ficompWm", +"fisubWm","fisubrWm","fidivWm","fidivrWm", +-- DF +"fildWm","fisttpWm","fistWm","fistpWm", +"fbld twordFmp","fildQm","fbstp twordFmp","fistpQm", +-- xx C0-FF: opcodes with a pseudo-register operand. +-- D8 +"faddFf","fmulFf","fcomFf","fcompFf","fsubFf","fsubrFf","fdivFf","fdivrFf", +-- D9 +"fldFf","fxchFf",{"fnop"},nil, +{"fchs","fabs",nil,nil,"ftst","fxam"}, +{"fld1","fldl2t","fldl2e","fldpi","fldlg2","fldln2","fldz"}, +{"f2xm1","fyl2x","fptan","fpatan","fxtract","fprem1","fdecstp","fincstp"}, +{"fprem","fyl2xp1","fsqrt","fsincos","frndint","fscale","fsin","fcos"}, +-- DA +"fcmovbFf","fcmoveFf","fcmovbeFf","fcmovuFf",nil,{nil,"fucompp"},nil,nil, +-- DB +"fcmovnbFf","fcmovneFf","fcmovnbeFf","fcmovnuFf", +{nil,nil,"fnclex","fninit"},"fucomiFf","fcomiFf",nil, +-- DC +"fadd toFf","fmul toFf",nil,nil, +"fsub toFf","fsubr toFf","fdivr toFf","fdiv toFf", +-- DD +"ffreeFf",nil,"fstFf","fstpFf","fucomFf","fucompFf",nil,nil, +-- DE +"faddpFf","fmulpFf",nil,{nil,"fcompp"}, +"fsubrpFf","fsubpFf","fdivrpFf","fdivpFf", +-- DF +nil,nil,nil,nil,{"fnstsw ax"},"fucomipFf","fcomipFf",nil, +} +assert(map_opcfp[126] == "fcomipFf") + +-- Map for opcode groups. The subkey is sp from the ModRM byte. +local map_opcgroup = { + arith = { "add", "or", "adc", "sbb", "and", "sub", "xor", "cmp" }, + shift = { "rol", "ror", "rcl", "rcr", "shl", "shr", "sal", "sar" }, + testb = { "testBmi", "testBmi", "not", "neg", "mul", "imul", "div", "idiv" }, + testv = { "testVmi", "testVmi", "not", "neg", "mul", "imul", "div", "idiv" }, + incb = { "inc", "dec" }, + incd = { "inc", "dec", "callUmp", "$call farDmp", + "jmpUmp", "$jmp farDmp", "pushUm" }, + sldt = { "sldt", "str", "lldt", "ltr", "verr", "verw" }, + sgdt = { "vm*$sgdt", "vm*$sidt", "$lgdt", "vm*$lidt", + "smsw", nil, "lmsw", "vm*$invlpg" }, + bt = { nil, nil, nil, nil, "bt", "bts", "btr", "btc" }, + cmpxchg = { nil, "sz*,cmpxchg8bQmp,cmpxchg16bXmp", nil, nil, + nil, nil, "vmptrld|vmxon|vmclear", "vmptrst" }, + pshiftw = { nil, nil, "psrlw", nil, "psraw", nil, "psllw" }, + pshiftd = { nil, nil, "psrld", nil, "psrad", nil, "pslld" }, + pshiftq = { nil, nil, "psrlq", nil, nil, nil, "psllq" }, + pshiftdq = { nil, nil, "psrlq", "psrldq", nil, nil, "psllq", "pslldq" }, + fxsave = { "$fxsave", "$fxrstor", "$ldmxcsr", "$stmxcsr", + nil, "lfenceDp$", "mfenceDp$", "sfenceDp$clflush" }, + prefetch = { "prefetch", "prefetchw" }, + prefetcht = { "prefetchnta", "prefetcht0", "prefetcht1", "prefetcht2" }, +} + +------------------------------------------------------------------------------ + +-- Maps for register names. +local map_regs = { + B = { "al", "cl", "dl", "bl", "ah", "ch", "dh", "bh", + "r8b", "r9b", "r10b", "r11b", "r12b", "r13b", "r14b", "r15b" }, + B64 = { "al", "cl", "dl", "bl", "spl", "bpl", "sil", "dil", + "r8b", "r9b", "r10b", "r11b", "r12b", "r13b", "r14b", "r15b" }, + W = { "ax", "cx", "dx", "bx", "sp", "bp", "si", "di", + "r8w", "r9w", "r10w", "r11w", "r12w", "r13w", "r14w", "r15w" }, + D = { "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi", + "r8d", "r9d", "r10d", "r11d", "r12d", "r13d", "r14d", "r15d" }, + Q = { "rax", "rcx", "rdx", "rbx", "rsp", "rbp", "rsi", "rdi", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15" }, + M = { "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7", + "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7" }, -- No x64 ext! + X = { "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7", + "xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15" }, + Y = { "ymm0", "ymm1", "ymm2", "ymm3", "ymm4", "ymm5", "ymm6", "ymm7", + "ymm8", "ymm9", "ymm10", "ymm11", "ymm12", "ymm13", "ymm14", "ymm15" }, +} +local map_segregs = { "es", "cs", "ss", "ds", "fs", "gs", "segr6", "segr7" } + +-- Maps for size names. +local map_sz2n = { + B = 1, W = 2, D = 4, Q = 8, M = 8, X = 16, Y = 32, +} +local map_sz2prefix = { + B = "byte", W = "word", D = "dword", + Q = "qword", + M = "qword", X = "xword", Y = "yword", + F = "dword", G = "qword", -- No need for sizes/register names for these two. +} + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local code, pos, hex = ctx.code, ctx.pos, "" + local hmax = ctx.hexdump + if hmax > 0 then + for i=ctx.start,pos-1 do + hex = hex..format("%02X", byte(code, i, i)) + end + if #hex > hmax then hex = sub(hex, 1, hmax)..". " + else hex = hex..rep(" ", hmax-#hex+2) end + end + if operands then text = text.." "..operands end + if ctx.o16 then text = "o16 "..text; ctx.o16 = false end + if ctx.a32 then text = "a32 "..text; ctx.a32 = false end + if ctx.rep then text = ctx.rep.." "..text; ctx.rep = false end + if ctx.rex then + local t = (ctx.rexw and "w" or "")..(ctx.rexr and "r" or "").. + (ctx.rexx and "x" or "")..(ctx.rexb and "b" or "").. + (ctx.vexl and "l" or "") + if ctx.vexv and ctx.vexv ~= 0 then t = t.."v"..ctx.vexv end + if t ~= "" then text = ctx.rex.."."..t.." "..gsub(text, "^ ", "") + elseif ctx.rex == "vex" then text = gsub("v"..text, "^v ", "") end + ctx.rexw = false; ctx.rexr = false; ctx.rexx = false; ctx.rexb = false + ctx.rex = false; ctx.vexl = false; ctx.vexv = false + end + if ctx.seg then + local text2, n = gsub(text, "%[", "["..ctx.seg..":") + if n == 0 then text = ctx.seg.." "..text else text = text2 end + ctx.seg = false + end + if ctx.lock then text = "lock "..text; ctx.lock = false end + local imm = ctx.imm + if imm then + local sym = ctx.symtab[imm] + if sym then text = text.."\t->"..sym end + end + ctx.out(format("%08x %s%s\n", ctx.addr+ctx.start, hex, text)) + ctx.mrm = false + ctx.vexv = false + ctx.start = pos + ctx.imm = nil +end + +-- Clear all prefix flags. +local function clearprefixes(ctx) + ctx.o16 = false; ctx.seg = false; ctx.lock = false; ctx.rep = false + ctx.rexw = false; ctx.rexr = false; ctx.rexx = false; ctx.rexb = false + ctx.rex = false; ctx.a32 = false; ctx.vexl = false +end + +-- Fallback for incomplete opcodes at the end. +local function incomplete(ctx) + ctx.pos = ctx.stop+1 + clearprefixes(ctx) + return putop(ctx, "(incomplete)") +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + clearprefixes(ctx) + return putop(ctx, "(unknown)") +end + +-- Return an immediate of the specified size. +local function getimm(ctx, pos, n) + if pos+n-1 > ctx.stop then return incomplete(ctx) end + local code = ctx.code + if n == 1 then + local b1 = byte(code, pos, pos) + return b1 + elseif n == 2 then + local b1, b2 = byte(code, pos, pos+1) + return b1+b2*256 + else + local b1, b2, b3, b4 = byte(code, pos, pos+3) + local imm = b1+b2*256+b3*65536+b4*16777216 + ctx.imm = imm + return imm + end +end + +-- Process pattern string and generate the operands. +local function putpat(ctx, name, pat) + local operands, regs, sz, mode, sp, rm, sc, rx, sdisp + local code, pos, stop, vexl = ctx.code, ctx.pos, ctx.stop, ctx.vexl + + -- Chars used: 1DFGHIMPQRSTUVWXYabcdfgijlmoprstuvwxyz + for p in gmatch(pat, ".") do + local x = nil + if p == "V" or p == "U" then + if ctx.rexw then sz = "Q"; ctx.rexw = false + elseif ctx.o16 then sz = "W"; ctx.o16 = false + elseif p == "U" and ctx.x64 then sz = "Q" + else sz = "D" end + regs = map_regs[sz] + elseif p == "T" then + if ctx.rexw then sz = "Q"; ctx.rexw = false else sz = "D" end + regs = map_regs[sz] + elseif p == "B" then + sz = "B" + regs = ctx.rex and map_regs.B64 or map_regs.B + elseif match(p, "[WDQMXYFG]") then + sz = p + if sz == "X" and vexl then sz = "Y"; ctx.vexl = false end + regs = map_regs[sz] + elseif p == "P" then + sz = ctx.o16 and "X" or "M"; ctx.o16 = false + if sz == "X" and vexl then sz = "Y"; ctx.vexl = false end + regs = map_regs[sz] + elseif p == "H" then + name = name..(ctx.rexw and "d" or "s") + ctx.rexw = false + elseif p == "S" then + name = name..lower(sz) + elseif p == "s" then + local imm = getimm(ctx, pos, 1); if not imm then return end + x = imm <= 127 and format("+0x%02x", imm) + or format("-0x%02x", 256-imm) + pos = pos+1 + elseif p == "u" then + local imm = getimm(ctx, pos, 1); if not imm then return end + x = format("0x%02x", imm) + pos = pos+1 + elseif p == "b" then + local imm = getimm(ctx, pos, 1); if not imm then return end + x = regs[imm/16+1] + pos = pos+1 + elseif p == "w" then + local imm = getimm(ctx, pos, 2); if not imm then return end + x = format("0x%x", imm) + pos = pos+2 + elseif p == "o" then -- [offset] + if ctx.x64 then + local imm1 = getimm(ctx, pos, 4); if not imm1 then return end + local imm2 = getimm(ctx, pos+4, 4); if not imm2 then return end + x = format("[0x%08x%08x]", imm2, imm1) + pos = pos+8 + else + local imm = getimm(ctx, pos, 4); if not imm then return end + x = format("[0x%08x]", imm) + pos = pos+4 + end + elseif p == "i" or p == "I" then + local n = map_sz2n[sz] + if n == 8 and ctx.x64 and p == "I" then + local imm1 = getimm(ctx, pos, 4); if not imm1 then return end + local imm2 = getimm(ctx, pos+4, 4); if not imm2 then return end + x = format("0x%08x%08x", imm2, imm1) + else + if n == 8 then n = 4 end + local imm = getimm(ctx, pos, n); if not imm then return end + if sz == "Q" and (imm < 0 or imm > 0x7fffffff) then + imm = (0xffffffff+1)-imm + x = format(imm > 65535 and "-0x%08x" or "-0x%x", imm) + else + x = format(imm > 65535 and "0x%08x" or "0x%x", imm) + end + end + pos = pos+n + elseif p == "j" then + local n = map_sz2n[sz] + if n == 8 then n = 4 end + local imm = getimm(ctx, pos, n); if not imm then return end + if sz == "B" and imm > 127 then imm = imm-256 + elseif imm > 2147483647 then imm = imm-4294967296 end + pos = pos+n + imm = imm + pos + ctx.addr + if imm > 4294967295 and not ctx.x64 then imm = imm-4294967296 end + ctx.imm = imm + if sz == "W" then + x = format("word 0x%04x", imm%65536) + elseif ctx.x64 then + local lo = imm % 0x1000000 + x = format("0x%02x%06x", (imm-lo) / 0x1000000, lo) + else + x = "0x"..tohex(imm) + end + elseif p == "R" then + local r = byte(code, pos-1, pos-1)%8 + if ctx.rexb then r = r + 8; ctx.rexb = false end + x = regs[r+1] + elseif p == "a" then x = regs[1] + elseif p == "c" then x = "cl" + elseif p == "d" then x = "dx" + elseif p == "1" then x = "1" + else + if not mode then + mode = ctx.mrm + if not mode then + if pos > stop then return incomplete(ctx) end + mode = byte(code, pos, pos) + pos = pos+1 + end + rm = mode%8; mode = (mode-rm)/8 + sp = mode%8; mode = (mode-sp)/8 + sdisp = "" + if mode < 3 then + if rm == 4 then + if pos > stop then return incomplete(ctx) end + sc = byte(code, pos, pos) + pos = pos+1 + rm = sc%8; sc = (sc-rm)/8 + rx = sc%8; sc = (sc-rx)/8 + if ctx.rexx then rx = rx + 8; ctx.rexx = false end + if rx == 4 then rx = nil end + end + if mode > 0 or rm == 5 then + local dsz = mode + if dsz ~= 1 then dsz = 4 end + local disp = getimm(ctx, pos, dsz); if not disp then return end + if mode == 0 then rm = nil end + if rm or rx or (not sc and ctx.x64 and not ctx.a32) then + if dsz == 1 and disp > 127 then + sdisp = format("-0x%x", 256-disp) + elseif disp >= 0 and disp <= 0x7fffffff then + sdisp = format("+0x%x", disp) + else + sdisp = format("-0x%x", (0xffffffff+1)-disp) + end + else + sdisp = format(ctx.x64 and not ctx.a32 and + not (disp >= 0 and disp <= 0x7fffffff) + and "0xffffffff%08x" or "0x%08x", disp) + end + pos = pos+dsz + end + end + if rm and ctx.rexb then rm = rm + 8; ctx.rexb = false end + if ctx.rexr then sp = sp + 8; ctx.rexr = false end + end + if p == "m" then + if mode == 3 then x = regs[rm+1] + else + local aregs = ctx.a32 and map_regs.D or ctx.aregs + local srm, srx = "", "" + if rm then srm = aregs[rm+1] + elseif not sc and ctx.x64 and not ctx.a32 then srm = "rip" end + ctx.a32 = false + if rx then + if rm then srm = srm.."+" end + srx = aregs[rx+1] + if sc > 0 then srx = srx.."*"..(2^sc) end + end + x = format("[%s%s%s]", srm, srx, sdisp) + end + if mode < 3 and + (not match(pat, "[aRrgp]") or match(pat, "t")) then -- Yuck. + x = map_sz2prefix[sz].." "..x + end + elseif p == "r" then x = regs[sp+1] + elseif p == "g" then x = map_segregs[sp+1] + elseif p == "p" then -- Suppress prefix. + elseif p == "f" then x = "st"..rm + elseif p == "x" then + if sp == 0 and ctx.lock and not ctx.x64 then + x = "CR8"; ctx.lock = false + else + x = "CR"..sp + end + elseif p == "v" then + if ctx.vexv then + x = regs[ctx.vexv+1]; ctx.vexv = false + end + elseif p == "y" then x = "DR"..sp + elseif p == "z" then x = "TR"..sp + elseif p == "l" then vexl = false + elseif p == "t" then + else + error("bad pattern `"..pat.."'") + end + end + if x then operands = operands and operands..", "..x or x end + end + ctx.pos = pos + return putop(ctx, name, operands) +end + +-- Forward declaration. +local map_act + +-- Fetch and cache MRM byte. +local function getmrm(ctx) + local mrm = ctx.mrm + if not mrm then + local pos = ctx.pos + if pos > ctx.stop then return nil end + mrm = byte(ctx.code, pos, pos) + ctx.pos = pos+1 + ctx.mrm = mrm + end + return mrm +end + +-- Dispatch to handler depending on pattern. +local function dispatch(ctx, opat, patgrp) + if not opat then return unknown(ctx) end + if match(opat, "%|") then -- MMX/SSE variants depending on prefix. + local p + if ctx.rep then + p = ctx.rep=="rep" and "%|([^%|]*)" or "%|[^%|]*%|[^%|]*%|([^%|]*)" + ctx.rep = false + elseif ctx.o16 then p = "%|[^%|]*%|([^%|]*)"; ctx.o16 = false + else p = "^[^%|]*" end + opat = match(opat, p) + if not opat then return unknown(ctx) end +-- ctx.rep = false; ctx.o16 = false + --XXX fails for 66 f2 0f 38 f1 06 crc32 eax,WORD PTR [esi] + --XXX remove in branches? + end + if match(opat, "%$") then -- reg$mem variants. + local mrm = getmrm(ctx); if not mrm then return incomplete(ctx) end + opat = match(opat, mrm >= 192 and "^[^%$]*" or "%$(.*)") + if opat == "" then return unknown(ctx) end + end + if opat == "" then return unknown(ctx) end + local name, pat = match(opat, "^([a-z0-9 ]*)(.*)") + if pat == "" and patgrp then pat = patgrp end + return map_act[sub(pat, 1, 1)](ctx, name, pat) +end + +-- Get a pattern from an opcode map and dispatch to handler. +local function dispatchmap(ctx, opcmap) + local pos = ctx.pos + local opat = opcmap[byte(ctx.code, pos, pos)] + pos = pos + 1 + ctx.pos = pos + return dispatch(ctx, opat) +end + +-- Map for action codes. The key is the first char after the name. +map_act = { + -- Simple opcodes without operands. + [""] = function(ctx, name, pat) + return putop(ctx, name) + end, + + -- Operand size chars fall right through. + B = putpat, W = putpat, D = putpat, Q = putpat, + V = putpat, U = putpat, T = putpat, + M = putpat, X = putpat, P = putpat, + F = putpat, G = putpat, Y = putpat, + H = putpat, + + -- Collect prefixes. + [":"] = function(ctx, name, pat) + ctx[pat == ":" and name or sub(pat, 2)] = name + if ctx.pos - ctx.start > 5 then return unknown(ctx) end -- Limit #prefixes. + end, + + -- Chain to special handler specified by name. + ["*"] = function(ctx, name, pat) + return map_act[name](ctx, name, sub(pat, 2)) + end, + + -- Use named subtable for opcode group. + ["!"] = function(ctx, name, pat) + local mrm = getmrm(ctx); if not mrm then return incomplete(ctx) end + return dispatch(ctx, map_opcgroup[name][((mrm-(mrm%8))/8)%8+1], sub(pat, 2)) + end, + + -- o16,o32[,o64] variants. + sz = function(ctx, name, pat) + if ctx.o16 then ctx.o16 = false + else + pat = match(pat, ",(.*)") + if ctx.rexw then + local p = match(pat, ",(.*)") + if p then pat = p; ctx.rexw = false end + end + end + pat = match(pat, "^[^,]*") + return dispatch(ctx, pat) + end, + + -- Two-byte opcode dispatch. + opc2 = function(ctx, name, pat) + return dispatchmap(ctx, map_opc2) + end, + + -- Three-byte opcode dispatch. + opc3 = function(ctx, name, pat) + return dispatchmap(ctx, map_opc3[pat]) + end, + + -- VMX/SVM dispatch. + vm = function(ctx, name, pat) + return dispatch(ctx, map_opcvm[ctx.mrm]) + end, + + -- Floating point opcode dispatch. + fp = function(ctx, name, pat) + local mrm = getmrm(ctx); if not mrm then return incomplete(ctx) end + local rm = mrm%8 + local idx = pat*8 + ((mrm-rm)/8)%8 + if mrm >= 192 then idx = idx + 64 end + local opat = map_opcfp[idx] + if type(opat) == "table" then opat = opat[rm+1] end + return dispatch(ctx, opat) + end, + + -- REX prefix. + rex = function(ctx, name, pat) + if ctx.rex then return unknown(ctx) end -- Only 1 REX or VEX prefix allowed. + for p in gmatch(pat, ".") do ctx["rex"..p] = true end + ctx.rex = "rex" + end, + + -- VEX prefix. + vex = function(ctx, name, pat) + if ctx.rex then return unknown(ctx) end -- Only 1 REX or VEX prefix allowed. + ctx.rex = "vex" + local pos = ctx.pos + if ctx.mrm then + ctx.mrm = nil + pos = pos-1 + end + local b = byte(ctx.code, pos, pos) + if not b then return incomplete(ctx) end + pos = pos+1 + if b < 128 then ctx.rexr = true end + local m = 1 + if pat == "3" then + m = b%32; b = (b-m)/32 + local nb = b%2; b = (b-nb)/2 + if nb == 0 then ctx.rexb = true end + local nx = b%2 + if nx == 0 then ctx.rexx = true end + b = byte(ctx.code, pos, pos) + if not b then return incomplete(ctx) end + pos = pos+1 + if b >= 128 then ctx.rexw = true end + end + ctx.pos = pos + local map + if m == 1 then map = map_opc2 + elseif m == 2 then map = map_opc3["38"] + elseif m == 3 then map = map_opc3["3a"] + else return unknown(ctx) end + local p = b%4; b = (b-p)/4 + if p == 1 then ctx.o16 = "o16" + elseif p == 2 then ctx.rep = "rep" + elseif p == 3 then ctx.rep = "repne" end + local l = b%2; b = (b-l)/2 + if l ~= 0 then ctx.vexl = true end + ctx.vexv = (-1-b)%16 + return dispatchmap(ctx, map) + end, + + -- Special case for nop with REX prefix. + nop = function(ctx, name, pat) + return dispatch(ctx, ctx.rex and pat or "nop") + end, + + -- Special case for 0F 77. + emms = function(ctx, name, pat) + if ctx.rex ~= "vex" then + return putop(ctx, "emms") + elseif ctx.vexl then + ctx.vexl = false + return putop(ctx, "zeroall") + else + return putop(ctx, "zeroupper") + end + end, +} + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + ofs = ofs + 1 + ctx.start = ofs + ctx.pos = ofs + ctx.stop = stop + ctx.imm = nil + ctx.mrm = false + clearprefixes(ctx) + while ctx.pos <= stop do dispatchmap(ctx, ctx.map1) end + if ctx.pos ~= ctx.start then incomplete(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = (addr or 0) - 1 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 16 + ctx.x64 = false + ctx.map1 = map_opc1_32 + ctx.aregs = map_regs.D + return ctx +end + +local function create64(code, addr, out) + local ctx = create(code, addr, out) + ctx.x64 = true + ctx.map1 = map_opc1_64 + ctx.aregs = map_regs.Q + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +local function disass64(code, addr, out) + create64(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 8 then return map_regs.D[r+1] end + return map_regs.X[r-7] +end + +local function regname64(r) + if r < 16 then return map_regs.Q[r+1] end + return map_regs.X[r-15] +end + +-- Public module functions. +return { + create = create, + create64 = create64, + disass = disass, + disass64 = disass64, + regname = regname, + regname64 = regname64 +} + diff --git a/libs/LuaJIT/android/x86/jit/dump.lua b/libs/LuaJIT/android/x86/jit/dump.lua new file mode 100644 index 00000000..9eda08c4 --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/dump.lua @@ -0,0 +1,726 @@ +---------------------------------------------------------------------------- +-- LuaJIT compiler dump module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module can be used to debug the JIT compiler itself. It dumps the +-- code representations and structures used in various compiler stages. +-- +-- Example usage: +-- +-- luajit -jdump -e "local x=0; for i=1,1e6 do x=x+i end; print(x)" +-- luajit -jdump=im -e "for i=1,1000 do for j=1,1000 do end end" | less -R +-- luajit -jdump=is myapp.lua | less -R +-- luajit -jdump=-b myapp.lua +-- luajit -jdump=+aH,myapp.html myapp.lua +-- luajit -jdump=ixT,myapp.dump myapp.lua +-- +-- The first argument specifies the dump mode. The second argument gives +-- the output file name. Default output is to stdout, unless the environment +-- variable LUAJIT_DUMPFILE is set. The file is overwritten every time the +-- module is started. +-- +-- Different features can be turned on or off with the dump mode. If the +-- mode starts with a '+', the following features are added to the default +-- set of features; a '-' removes them. Otherwise the features are replaced. +-- +-- The following dump features are available (* marks the default): +-- +-- * t Print a line for each started, ended or aborted trace (see also -jv). +-- * b Dump the traced bytecode. +-- * i Dump the IR (intermediate representation). +-- r Augment the IR with register/stack slots. +-- s Dump the snapshot map. +-- * m Dump the generated machine code. +-- x Print each taken trace exit. +-- X Print each taken trace exit and the contents of all registers. +-- a Print the IR of aborted traces, too. +-- +-- The output format can be set with the following characters: +-- +-- T Plain text output. +-- A ANSI-colored text output +-- H Colorized HTML + CSS output. +-- +-- The default output format is plain text. It's set to ANSI-colored text +-- if the COLORTERM variable is set. Note: this is independent of any output +-- redirection, which is actually considered a feature. +-- +-- You probably want to use less -R to enjoy viewing ANSI-colored text from +-- a pipe or a file. Add this to your ~/.bashrc: export LESS="-R" +-- +------------------------------------------------------------------------------ + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local jutil = require("jit.util") +local vmdef = require("jit.vmdef") +local funcinfo, funcbc = jutil.funcinfo, jutil.funcbc +local traceinfo, traceir, tracek = jutil.traceinfo, jutil.traceir, jutil.tracek +local tracemc, tracesnap = jutil.tracemc, jutil.tracesnap +local traceexitstub, ircalladdr = jutil.traceexitstub, jutil.ircalladdr +local bit = require("bit") +local band, shr, tohex = bit.band, bit.rshift, bit.tohex +local sub, gsub, format = string.sub, string.gsub, string.format +local byte, rep = string.byte, string.rep +local type, tostring = type, tostring +local stdout, stderr = io.stdout, io.stderr + +-- Load other modules on-demand. +local bcline, disass + +-- Active flag, output file handle and dump mode. +local active, out, dumpmode + +------------------------------------------------------------------------------ + +local symtabmt = { __index = false } +local symtab = {} +local nexitsym = 0 + +-- Fill nested symbol table with per-trace exit stub addresses. +local function fillsymtab_tr(tr, nexit) + local t = {} + symtabmt.__index = t + if jit.arch:sub(1, 4) == "mips" then + t[traceexitstub(tr, 0)] = "exit" + return + end + for i=0,nexit-1 do + local addr = traceexitstub(tr, i) + if addr < 0 then addr = addr + 2^32 end + t[addr] = tostring(i) + end + local addr = traceexitstub(tr, nexit) + if addr then t[addr] = "stack_check" end +end + +-- Fill symbol table with trace exit stub addresses. +local function fillsymtab(tr, nexit) + local t = symtab + if nexitsym == 0 then + local maskaddr = jit.arch == "arm" and -2 + local ircall = vmdef.ircall + for i=0,#ircall do + local addr = ircalladdr(i) + if addr ~= 0 then + if maskaddr then addr = band(addr, maskaddr) end + if addr < 0 then addr = addr + 2^32 end + t[addr] = ircall[i] + end + end + end + if nexitsym == 1000000 then -- Per-trace exit stubs. + fillsymtab_tr(tr, nexit) + elseif nexit > nexitsym then -- Shared exit stubs. + for i=nexitsym,nexit-1 do + local addr = traceexitstub(i) + if addr == nil then -- Fall back to per-trace exit stubs. + fillsymtab_tr(tr, nexit) + setmetatable(symtab, symtabmt) + nexit = 1000000 + break + end + if addr < 0 then addr = addr + 2^32 end + t[addr] = tostring(i) + end + nexitsym = nexit + end + return t +end + +local function dumpwrite(s) + out:write(s) +end + +-- Disassemble machine code. +local function dump_mcode(tr) + local info = traceinfo(tr) + if not info then return end + local mcode, addr, loop = tracemc(tr) + if not mcode then return end + if not disass then disass = require("jit.dis_"..jit.arch) end + if addr < 0 then addr = addr + 2^32 end + out:write("---- TRACE ", tr, " mcode ", #mcode, "\n") + local ctx = disass.create(mcode, addr, dumpwrite) + ctx.hexdump = 0 + ctx.symtab = fillsymtab(tr, info.nexit) + if loop ~= 0 then + symtab[addr+loop] = "LOOP" + ctx:disass(0, loop) + out:write("->LOOP:\n") + ctx:disass(loop, #mcode-loop) + symtab[addr+loop] = nil + else + ctx:disass(0, #mcode) + end +end + +------------------------------------------------------------------------------ + +local irtype_text = { + [0] = "nil", + "fal", + "tru", + "lud", + "str", + "p32", + "thr", + "pro", + "fun", + "p64", + "cdt", + "tab", + "udt", + "flt", + "num", + "i8 ", + "u8 ", + "i16", + "u16", + "int", + "u32", + "i64", + "u64", + "sfp", +} + +local colortype_ansi = { + [0] = "%s", + "%s", + "%s", + "\027[36m%s\027[m", + "\027[32m%s\027[m", + "%s", + "\027[1m%s\027[m", + "%s", + "\027[1m%s\027[m", + "%s", + "\027[33m%s\027[m", + "\027[31m%s\027[m", + "\027[36m%s\027[m", + "\027[34m%s\027[m", + "\027[34m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", +} + +local function colorize_text(s) + return s +end + +local function colorize_ansi(s, t, extra) + local out = format(colortype_ansi[t], s) + if extra then out = "\027[3m"..out end + return out +end + +local irtype_ansi = setmetatable({}, + { __index = function(tab, t) + local s = colorize_ansi(irtype_text[t], t); tab[t] = s; return s; end }) + +local html_escape = { ["<"] = "<", [">"] = ">", ["&"] = "&", } + +local function colorize_html(s, t, extra) + s = gsub(s, "[<>&]", html_escape) + return format('%s', + irtype_text[t], extra and " irt_extra" or "", s) +end + +local irtype_html = setmetatable({}, + { __index = function(tab, t) + local s = colorize_html(irtype_text[t], t); tab[t] = s; return s; end }) + +local header_html = [[ + +]] + +local colorize, irtype + +-- Lookup tables to convert some literals into names. +local litname = { + ["SLOAD "] = setmetatable({}, { __index = function(t, mode) + local s = "" + if band(mode, 1) ~= 0 then s = s.."P" end + if band(mode, 2) ~= 0 then s = s.."F" end + if band(mode, 4) ~= 0 then s = s.."T" end + if band(mode, 8) ~= 0 then s = s.."C" end + if band(mode, 16) ~= 0 then s = s.."R" end + if band(mode, 32) ~= 0 then s = s.."I" end + if band(mode, 64) ~= 0 then s = s.."K" end + t[mode] = s + return s + end}), + ["XLOAD "] = { [0] = "", "R", "V", "RV", "U", "RU", "VU", "RVU", }, + ["CONV "] = setmetatable({}, { __index = function(t, mode) + local s = irtype[band(mode, 31)] + s = irtype[band(shr(mode, 5), 31)].."."..s + if band(mode, 0x800) ~= 0 then s = s.." sext" end + local c = shr(mode, 12) + if c == 1 then s = s.." none" + elseif c == 2 then s = s.." index" + elseif c == 3 then s = s.." check" end + t[mode] = s + return s + end}), + ["FLOAD "] = vmdef.irfield, + ["FREF "] = vmdef.irfield, + ["FPMATH"] = vmdef.irfpm, + ["TMPREF"] = { [0] = "", "IN", "OUT", "INOUT", "", "", "OUT2", "INOUT2" }, + ["BUFHDR"] = { [0] = "RESET", "APPEND", "WRITE" }, + ["TOSTR "] = { [0] = "INT", "NUM", "CHAR" }, +} + +local function ctlsub(c) + if c == "\n" then return "\\n" + elseif c == "\r" then return "\\r" + elseif c == "\t" then return "\\t" + else return format("\\%03d", byte(c)) + end +end + +local function fmtfunc(func, pc) + local fi = funcinfo(func, pc) + if fi.loc then + return fi.loc + elseif fi.ffid then + return vmdef.ffnames[fi.ffid] + elseif fi.addr then + return format("C:%x", fi.addr) + else + return "(?)" + end +end + +local function formatk(tr, idx, sn) + local k, t, slot = tracek(tr, idx) + local tn = type(k) + local s + if tn == "number" then + if t < 12 then + s = k == 0 and "NULL" or format("[0x%08x]", k) + elseif band(sn or 0, 0x30000) ~= 0 then + s = band(sn, 0x20000) ~= 0 and "contpc" or "ftsz" + elseif k == 2^52+2^51 then + s = "bias" + else + s = format(0 < k and k < 0x1p-1026 and "%+a" or "%+.14g", k) + end + elseif tn == "string" then + s = format(#k > 20 and '"%.20s"~' or '"%s"', gsub(k, "%c", ctlsub)) + elseif tn == "function" then + s = fmtfunc(k) + elseif tn == "table" then + s = format("{%p}", k) + elseif tn == "userdata" then + if t == 12 then + s = format("userdata:%p", k) + else + s = format("[%p]", k) + if s == "[NULL]" then s = "NULL" end + end + elseif t == 21 then -- int64_t + s = sub(tostring(k), 1, -3) + if sub(s, 1, 1) ~= "-" then s = "+"..s end + elseif sn == 0x1057fff then -- SNAP(1, SNAP_FRAME | SNAP_NORESTORE, REF_NIL) + return "----" -- Special case for LJ_FR2 slot 1. + else + s = tostring(k) -- For primitives. + end + s = colorize(format("%-4s", s), t, band(sn or 0, 0x100000) ~= 0) + if slot then + s = format("%s @%d", s, slot) + end + return s +end + +local function printsnap(tr, snap) + local n = 2 + for s=0,snap[1]-1 do + local sn = snap[n] + if shr(sn, 24) == s then + n = n + 1 + local ref = band(sn, 0xffff) - 0x8000 -- REF_BIAS + if ref < 0 then + out:write(formatk(tr, ref, sn)) + elseif band(sn, 0x80000) ~= 0 then -- SNAP_SOFTFPNUM + out:write(colorize(format("%04d/%04d", ref, ref+1), 14)) + else + local m, ot, op1, op2 = traceir(tr, ref) + out:write(colorize(format("%04d", ref), band(ot, 31), band(sn, 0x100000) ~= 0)) + end + out:write(band(sn, 0x10000) == 0 and " " or "|") -- SNAP_FRAME + else + out:write("---- ") + end + end + out:write("]\n") +end + +-- Dump snapshots (not interleaved with IR). +local function dump_snap(tr) + out:write("---- TRACE ", tr, " snapshots\n") + for i=0,1000000000 do + local snap = tracesnap(tr, i) + if not snap then break end + out:write(format("#%-3d %04d [ ", i, snap[0])) + printsnap(tr, snap) + end +end + +-- Return a register name or stack slot for a rid/sp location. +local function ridsp_name(ridsp, ins) + if not disass then disass = require("jit.dis_"..jit.arch) end + local rid, slot = band(ridsp, 0xff), shr(ridsp, 8) + if rid == 253 or rid == 254 then + return (slot == 0 or slot == 255) and " {sink" or format(" {%04d", ins-slot) + end + if ridsp > 255 then return format("[%x]", slot*4) end + if rid < 128 then return disass.regname(rid) end + return "" +end + +-- Dump CALL* function ref and return optional ctype. +local function dumpcallfunc(tr, ins) + local ctype + if ins > 0 then + local m, ot, op1, op2 = traceir(tr, ins) + if band(ot, 31) == 0 then -- nil type means CARG(func, ctype). + ins = op1 + ctype = formatk(tr, op2) + end + end + if ins < 0 then + out:write(format("[0x%x](", tonumber((tracek(tr, ins))))) + else + out:write(format("%04d (", ins)) + end + return ctype +end + +-- Recursively gather CALL* args and dump them. +local function dumpcallargs(tr, ins) + if ins < 0 then + out:write(formatk(tr, ins)) + else + local m, ot, op1, op2 = traceir(tr, ins) + local oidx = 6*shr(ot, 8) + local op = sub(vmdef.irnames, oidx+1, oidx+6) + if op == "CARG " then + dumpcallargs(tr, op1) + if op2 < 0 then + out:write(" ", formatk(tr, op2)) + else + out:write(" ", format("%04d", op2)) + end + else + out:write(format("%04d", ins)) + end + end +end + +-- Dump IR and interleaved snapshots. +local function dump_ir(tr, dumpsnap, dumpreg) + local info = traceinfo(tr) + if not info then return end + local nins = info.nins + out:write("---- TRACE ", tr, " IR\n") + local irnames = vmdef.irnames + local snapref = 65536 + local snap, snapno + if dumpsnap then + snap = tracesnap(tr, 0) + snapref = snap[0] + snapno = 0 + end + for ins=1,nins do + if ins >= snapref then + if dumpreg then + out:write(format(".... SNAP #%-3d [ ", snapno)) + else + out:write(format(".... SNAP #%-3d [ ", snapno)) + end + printsnap(tr, snap) + snapno = snapno + 1 + snap = tracesnap(tr, snapno) + snapref = snap and snap[0] or 65536 + end + local m, ot, op1, op2, ridsp = traceir(tr, ins) + local oidx, t = 6*shr(ot, 8), band(ot, 31) + local op = sub(irnames, oidx+1, oidx+6) + if op == "LOOP " then + if dumpreg then + out:write(format("%04d ------------ LOOP ------------\n", ins)) + else + out:write(format("%04d ------ LOOP ------------\n", ins)) + end + elseif op ~= "NOP " and op ~= "CARG " and + (dumpreg or op ~= "RENAME") then + local rid = band(ridsp, 255) + if dumpreg then + out:write(format("%04d %-6s", ins, ridsp_name(ridsp, ins))) + else + out:write(format("%04d ", ins)) + end + out:write(format("%s%s %s %s ", + (rid == 254 or rid == 253) and "}" or + (band(ot, 128) == 0 and " " or ">"), + band(ot, 64) == 0 and " " or "+", + irtype[t], op)) + local m1, m2 = band(m, 3), band(m, 3*4) + if sub(op, 1, 4) == "CALL" then + local ctype + if m2 == 1*4 then -- op2 == IRMlit + out:write(format("%-10s (", vmdef.ircall[op2])) + else + ctype = dumpcallfunc(tr, op2) + end + if op1 ~= -1 then dumpcallargs(tr, op1) end + out:write(")") + if ctype then out:write(" ctype ", ctype) end + elseif op == "CNEW " and op2 == -1 then + out:write(formatk(tr, op1)) + elseif m1 ~= 3 then -- op1 != IRMnone + if op1 < 0 then + out:write(formatk(tr, op1)) + else + out:write(format(m1 == 0 and "%04d" or "#%-3d", op1)) + end + if m2 ~= 3*4 then -- op2 != IRMnone + if m2 == 1*4 then -- op2 == IRMlit + local litn = litname[op] + if litn and litn[op2] then + out:write(" ", litn[op2]) + elseif op == "UREFO " or op == "UREFC " then + out:write(format(" #%-3d", shr(op2, 8))) + else + out:write(format(" #%-3d", op2)) + end + elseif op2 < 0 then + out:write(" ", formatk(tr, op2)) + else + out:write(format(" %04d", op2)) + end + end + end + out:write("\n") + end + end + if snap then + if dumpreg then + out:write(format(".... SNAP #%-3d [ ", snapno)) + else + out:write(format(".... SNAP #%-3d [ ", snapno)) + end + printsnap(tr, snap) + end +end + +------------------------------------------------------------------------------ + +local recprefix = "" +local recdepth = 0 + +-- Format trace error message. +local function fmterr(err, info) + if type(err) == "number" then + if type(info) == "function" then info = fmtfunc(info) end + err = format(vmdef.traceerr[err], info) + end + return err +end + +-- Dump trace states. +local function dump_trace(what, tr, func, pc, otr, oex) + if what == "stop" or (what == "abort" and dumpmode.a) then + if dumpmode.i then dump_ir(tr, dumpmode.s, dumpmode.r and what == "stop") + elseif dumpmode.s then dump_snap(tr) end + if dumpmode.m then dump_mcode(tr) end + end + if what == "start" then + if dumpmode.H then out:write('

    \n') end
    +    out:write("---- TRACE ", tr, " ", what)
    +    if otr then out:write(" ", otr, "/", oex == -1 and "stitch" or oex) end
    +    out:write(" ", fmtfunc(func, pc), "\n")
    +  elseif what == "stop" or what == "abort" then
    +    out:write("---- TRACE ", tr, " ", what)
    +    if what == "abort" then
    +      out:write(" ", fmtfunc(func, pc), " -- ", fmterr(otr, oex), "\n")
    +    else
    +      local info = traceinfo(tr)
    +      local link, ltype = info.link, info.linktype
    +      if link == tr or link == 0 then
    +	out:write(" -> ", ltype, "\n")
    +      elseif ltype == "root" then
    +	out:write(" -> ", link, "\n")
    +      else
    +	out:write(" -> ", link, " ", ltype, "\n")
    +      end
    +    end
    +    if dumpmode.H then out:write("
    \n\n") else out:write("\n") end + else + if what == "flush" then symtab, nexitsym = {}, 0 end + out:write("---- TRACE ", what, "\n\n") + end + out:flush() +end + +-- Dump recorded bytecode. +local function dump_record(tr, func, pc, depth) + if depth ~= recdepth then + recdepth = depth + recprefix = rep(" .", depth) + end + local line + if pc >= 0 then + line = bcline(func, pc, recprefix) + if dumpmode.H then line = gsub(line, "[<>&]", html_escape) end + else + line = "0000 "..recprefix.." FUNCC \n" + end + if pc <= 0 then + out:write(sub(line, 1, -2), " ; ", fmtfunc(func), "\n") + else + out:write(line) + end + if pc >= 0 and band(funcbc(func, pc), 0xff) < 16 then -- ORDER BC + out:write(bcline(func, pc+1, recprefix)) -- Write JMP for cond. + end +end + +------------------------------------------------------------------------------ + +local gpr64 = jit.arch:match("64") +local fprmips32 = jit.arch == "mips" or jit.arch == "mipsel" + +-- Dump taken trace exits. +local function dump_texit(tr, ex, ngpr, nfpr, ...) + out:write("---- TRACE ", tr, " exit ", ex, "\n") + if dumpmode.X then + local regs = {...} + if gpr64 then + for i=1,ngpr do + out:write(format(" %016x", regs[i])) + if i % 4 == 0 then out:write("\n") end + end + else + for i=1,ngpr do + out:write(" ", tohex(regs[i])) + if i % 8 == 0 then out:write("\n") end + end + end + if fprmips32 then + for i=1,nfpr,2 do + out:write(format(" %+17.14g", regs[ngpr+i])) + if i % 8 == 7 then out:write("\n") end + end + else + for i=1,nfpr do + out:write(format(" %+17.14g", regs[ngpr+i])) + if i % 4 == 0 then out:write("\n") end + end + end + end +end + +------------------------------------------------------------------------------ + +-- Detach dump handlers. +local function dumpoff() + if active then + active = false + jit.attach(dump_texit) + jit.attach(dump_record) + jit.attach(dump_trace) + if out and out ~= stdout and out ~= stderr then out:close() end + out = nil + end +end + +-- Open the output file and attach dump handlers. +local function dumpon(opt, outfile) + if active then dumpoff() end + + local term = os.getenv("TERM") + local colormode = (term and term:match("color") or os.getenv("COLORTERM")) and "A" or "T" + if opt then + opt = gsub(opt, "[TAH]", function(mode) colormode = mode; return ""; end) + end + + local m = { t=true, b=true, i=true, m=true, } + if opt and opt ~= "" then + local o = sub(opt, 1, 1) + if o ~= "+" and o ~= "-" then m = {} end + for i=1,#opt do m[sub(opt, i, i)] = (o ~= "-") end + end + dumpmode = m + + if m.t or m.b or m.i or m.s or m.m then + jit.attach(dump_trace, "trace") + end + if m.b then + jit.attach(dump_record, "record") + if not bcline then bcline = require("jit.bc").line end + end + if m.x or m.X then + jit.attach(dump_texit, "texit") + end + + if not outfile then outfile = os.getenv("LUAJIT_DUMPFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stdout + end + + m[colormode] = true + if colormode == "A" then + colorize = colorize_ansi + irtype = irtype_ansi + elseif colormode == "H" then + colorize = colorize_html + irtype = irtype_html + out:write(header_html) + else + colorize = colorize_text + irtype = irtype_text + end + + active = true +end + +-- Public module functions. +return { + on = dumpon, + off = dumpoff, + start = dumpon -- For -j command line option. +} + diff --git a/libs/LuaJIT/android/x86/jit/p.lua b/libs/LuaJIT/android/x86/jit/p.lua new file mode 100644 index 00000000..c9ec1d8b --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/p.lua @@ -0,0 +1,312 @@ +---------------------------------------------------------------------------- +-- LuaJIT profiler. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module is a simple command line interface to the built-in +-- low-overhead profiler of LuaJIT. +-- +-- The lower-level API of the profiler is accessible via the "jit.profile" +-- module or the luaJIT_profile_* C API. +-- +-- Example usage: +-- +-- luajit -jp myapp.lua +-- luajit -jp=s myapp.lua +-- luajit -jp=-s myapp.lua +-- luajit -jp=vl myapp.lua +-- luajit -jp=G,profile.txt myapp.lua +-- +-- The following dump features are available: +-- +-- f Stack dump: function name, otherwise module:line. Default mode. +-- F Stack dump: ditto, but always prepend module. +-- l Stack dump: module:line. +-- stack dump depth (callee < caller). Default: 1. +-- - Inverse stack dump depth (caller > callee). +-- s Split stack dump after first stack level. Implies abs(depth) >= 2. +-- p Show full path for module names. +-- v Show VM states. Can be combined with stack dumps, e.g. vf or fv. +-- z Show zones. Can be combined with stack dumps, e.g. zf or fz. +-- r Show raw sample counts. Default: show percentages. +-- a Annotate excerpts from source code files. +-- A Annotate complete source code files. +-- G Produce raw output suitable for graphical tools (e.g. flame graphs). +-- m Minimum sample percentage to be shown. Default: 3. +-- i Sampling interval in milliseconds. Default: 10. +-- +---------------------------------------------------------------------------- + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local profile = require("jit.profile") +local vmdef = require("jit.vmdef") +local math = math +local pairs, ipairs, tonumber, floor = pairs, ipairs, tonumber, math.floor +local sort, format = table.sort, string.format +local stdout = io.stdout +local zone -- Load jit.zone module on demand. + +-- Output file handle. +local out + +------------------------------------------------------------------------------ + +local prof_ud +local prof_states, prof_split, prof_min, prof_raw, prof_fmt, prof_depth +local prof_ann, prof_count1, prof_count2, prof_samples + +local map_vmmode = { + N = "Compiled", + I = "Interpreted", + C = "C code", + G = "Garbage Collector", + J = "JIT Compiler", +} + +-- Profiler callback. +local function prof_cb(th, samples, vmmode) + prof_samples = prof_samples + samples + local key_stack, key_stack2, key_state + -- Collect keys for sample. + if prof_states then + if prof_states == "v" then + key_state = map_vmmode[vmmode] or vmmode + else + key_state = zone:get() or "(none)" + end + end + if prof_fmt then + key_stack = profile.dumpstack(th, prof_fmt, prof_depth) + key_stack = key_stack:gsub("%[builtin#(%d+)%]", function(x) + return vmdef.ffnames[tonumber(x)] + end) + if prof_split == 2 then + local k1, k2 = key_stack:match("(.-) [<>] (.*)") + if k2 then key_stack, key_stack2 = k1, k2 end + elseif prof_split == 3 then + key_stack2 = profile.dumpstack(th, "l", 1) + end + end + -- Order keys. + local k1, k2 + if prof_split == 1 then + if key_state then + k1 = key_state + if key_stack then k2 = key_stack end + end + elseif key_stack then + k1 = key_stack + if key_stack2 then k2 = key_stack2 elseif key_state then k2 = key_state end + end + -- Coalesce samples in one or two levels. + if k1 then + local t1 = prof_count1 + t1[k1] = (t1[k1] or 0) + samples + if k2 then + local t2 = prof_count2 + local t3 = t2[k1] + if not t3 then t3 = {}; t2[k1] = t3 end + t3[k2] = (t3[k2] or 0) + samples + end + end +end + +------------------------------------------------------------------------------ + +-- Show top N list. +local function prof_top(count1, count2, samples, indent) + local t, n = {}, 0 + for k in pairs(count1) do + n = n + 1 + t[n] = k + end + sort(t, function(a, b) return count1[a] > count1[b] end) + for i=1,n do + local k = t[i] + local v = count1[k] + local pct = floor(v*100/samples + 0.5) + if pct < prof_min then break end + if not prof_raw then + out:write(format("%s%2d%% %s\n", indent, pct, k)) + elseif prof_raw == "r" then + out:write(format("%s%5d %s\n", indent, v, k)) + else + out:write(format("%s %d\n", k, v)) + end + if count2 then + local r = count2[k] + if r then + prof_top(r, nil, v, (prof_split == 3 or prof_split == 1) and " -- " or + (prof_depth < 0 and " -> " or " <- ")) + end + end + end +end + +-- Annotate source code +local function prof_annotate(count1, samples) + local files = {} + local ms = 0 + for k, v in pairs(count1) do + local pct = floor(v*100/samples + 0.5) + ms = math.max(ms, v) + if pct >= prof_min then + local file, line = k:match("^(.*):(%d+)$") + if not file then file = k; line = 0 end + local fl = files[file] + if not fl then fl = {}; files[file] = fl; files[#files+1] = file end + line = tonumber(line) + fl[line] = prof_raw and v or pct + end + end + sort(files) + local fmtv, fmtn = " %3d%% | %s\n", " | %s\n" + if prof_raw then + local n = math.max(5, math.ceil(math.log10(ms))) + fmtv = "%"..n.."d | %s\n" + fmtn = (" "):rep(n).." | %s\n" + end + local ann = prof_ann + for _, file in ipairs(files) do + local f0 = file:byte() + if f0 == 40 or f0 == 91 then + out:write(format("\n====== %s ======\n[Cannot annotate non-file]\n", file)) + break + end + local fp, err = io.open(file) + if not fp then + out:write(format("====== ERROR: %s: %s\n", file, err)) + break + end + out:write(format("\n====== %s ======\n", file)) + local fl = files[file] + local n, show = 1, false + if ann ~= 0 then + for i=1,ann do + if fl[i] then show = true; out:write("@@ 1 @@\n"); break end + end + end + for line in fp:lines() do + if line:byte() == 27 then + out:write("[Cannot annotate bytecode file]\n") + break + end + local v = fl[n] + if ann ~= 0 then + local v2 = fl[n+ann] + if show then + if v2 then show = n+ann elseif v then show = n + elseif show+ann < n then show = false end + elseif v2 then + show = n+ann + out:write(format("@@ %d @@\n", n)) + end + if not show then goto next end + end + if v then + out:write(format(fmtv, v, line)) + else + out:write(format(fmtn, line)) + end + ::next:: + n = n + 1 + end + fp:close() + end +end + +------------------------------------------------------------------------------ + +-- Finish profiling and dump result. +local function prof_finish() + if prof_ud then + profile.stop() + local samples = prof_samples + if samples == 0 then + if prof_raw ~= true then out:write("[No samples collected]\n") end + return + end + if prof_ann then + prof_annotate(prof_count1, samples) + else + prof_top(prof_count1, prof_count2, samples, "") + end + prof_count1 = nil + prof_count2 = nil + prof_ud = nil + if out ~= stdout then out:close() end + end +end + +-- Start profiling. +local function prof_start(mode) + local interval = "" + mode = mode:gsub("i%d*", function(s) interval = s; return "" end) + prof_min = 3 + mode = mode:gsub("m(%d+)", function(s) prof_min = tonumber(s); return "" end) + prof_depth = 1 + mode = mode:gsub("%-?%d+", function(s) prof_depth = tonumber(s); return "" end) + local m = {} + for c in mode:gmatch(".") do m[c] = c end + prof_states = m.z or m.v + if prof_states == "z" then zone = require("jit.zone") end + local scope = m.l or m.f or m.F or (prof_states and "" or "f") + local flags = (m.p or "") + prof_raw = m.r + if m.s then + prof_split = 2 + if prof_depth == -1 or m["-"] then prof_depth = -2 + elseif prof_depth == 1 then prof_depth = 2 end + elseif mode:find("[fF].*l") then + scope = "l" + prof_split = 3 + else + prof_split = (scope == "" or mode:find("[zv].*[lfF]")) and 1 or 0 + end + prof_ann = m.A and 0 or (m.a and 3) + if prof_ann then + scope = "l" + prof_fmt = "pl" + prof_split = 0 + prof_depth = 1 + elseif m.G and scope ~= "" then + prof_fmt = flags..scope.."Z;" + prof_depth = -100 + prof_raw = true + prof_min = 0 + elseif scope == "" then + prof_fmt = false + else + local sc = prof_split == 3 and m.f or m.F or scope + prof_fmt = flags..sc..(prof_depth >= 0 and "Z < " or "Z > ") + end + prof_count1 = {} + prof_count2 = {} + prof_samples = 0 + profile.start(scope:lower()..interval, prof_cb) + prof_ud = newproxy(true) + getmetatable(prof_ud).__gc = prof_finish +end + +------------------------------------------------------------------------------ + +local function start(mode, outfile) + if not outfile then outfile = os.getenv("LUAJIT_PROFILEFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stdout + end + prof_start(mode or "f") +end + +-- Public module functions. +return { + start = start, -- For -j command line option. + stop = prof_finish +} + diff --git a/libs/LuaJIT/android/x86/jit/v.lua b/libs/LuaJIT/android/x86/jit/v.lua new file mode 100644 index 00000000..83589143 --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/v.lua @@ -0,0 +1,170 @@ +---------------------------------------------------------------------------- +-- Verbose mode of the LuaJIT compiler. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module shows verbose information about the progress of the +-- JIT compiler. It prints one line for each generated trace. This module +-- is useful to see which code has been compiled or where the compiler +-- punts and falls back to the interpreter. +-- +-- Example usage: +-- +-- luajit -jv -e "for i=1,1000 do for j=1,1000 do end end" +-- luajit -jv=myapp.out myapp.lua +-- +-- Default output is to stderr. To redirect the output to a file, pass a +-- filename as an argument (use '-' for stdout) or set the environment +-- variable LUAJIT_VERBOSEFILE. The file is overwritten every time the +-- module is started. +-- +-- The output from the first example should look like this: +-- +-- [TRACE 1 (command line):1 loop] +-- [TRACE 2 (1/3) (command line):1 -> 1] +-- +-- The first number in each line is the internal trace number. Next are +-- the file name ('(command line)') and the line number (':1') where the +-- trace has started. Side traces also show the parent trace number and +-- the exit number where they are attached to in parentheses ('(1/3)'). +-- An arrow at the end shows where the trace links to ('-> 1'), unless +-- it loops to itself. +-- +-- In this case the inner loop gets hot and is traced first, generating +-- a root trace. Then the last exit from the 1st trace gets hot, too, +-- and triggers generation of the 2nd trace. The side trace follows the +-- path along the outer loop and *around* the inner loop, back to its +-- start, and then links to the 1st trace. Yes, this may seem unusual, +-- if you know how traditional compilers work. Trace compilers are full +-- of surprises like this -- have fun! :-) +-- +-- Aborted traces are shown like this: +-- +-- [TRACE --- foo.lua:44 -- leaving loop in root trace at foo:lua:50] +-- +-- Don't worry -- trace aborts are quite common, even in programs which +-- can be fully compiled. The compiler may retry several times until it +-- finds a suitable trace. +-- +-- Of course this doesn't work with features that are not-yet-implemented +-- (NYI error messages). The VM simply falls back to the interpreter. This +-- may not matter at all if the particular trace is not very high up in +-- the CPU usage profile. Oh, and the interpreter is quite fast, too. +-- +-- Also check out the -jdump module, which prints all the gory details. +-- +------------------------------------------------------------------------------ + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local jutil = require("jit.util") +local vmdef = require("jit.vmdef") +local funcinfo, traceinfo = jutil.funcinfo, jutil.traceinfo +local type, format = type, string.format +local stdout, stderr = io.stdout, io.stderr + +-- Active flag and output file handle. +local active, out + +------------------------------------------------------------------------------ + +local startloc, startex + +local function fmtfunc(func, pc) + local fi = funcinfo(func, pc) + if fi.loc then + return fi.loc + elseif fi.ffid then + return vmdef.ffnames[fi.ffid] + elseif fi.addr then + return format("C:%x", fi.addr) + else + return "(?)" + end +end + +-- Format trace error message. +local function fmterr(err, info) + if type(err) == "number" then + if type(info) == "function" then info = fmtfunc(info) end + err = format(vmdef.traceerr[err], info) + end + return err +end + +-- Dump trace states. +local function dump_trace(what, tr, func, pc, otr, oex) + if what == "start" then + startloc = fmtfunc(func, pc) + startex = otr and "("..otr.."/"..(oex == -1 and "stitch" or oex)..") " or "" + else + if what == "abort" then + local loc = fmtfunc(func, pc) + if loc ~= startloc then + out:write(format("[TRACE --- %s%s -- %s at %s]\n", + startex, startloc, fmterr(otr, oex), loc)) + else + out:write(format("[TRACE --- %s%s -- %s]\n", + startex, startloc, fmterr(otr, oex))) + end + elseif what == "stop" then + local info = traceinfo(tr) + local link, ltype = info.link, info.linktype + if ltype == "interpreter" then + out:write(format("[TRACE %3s %s%s -- fallback to interpreter]\n", + tr, startex, startloc)) + elseif ltype == "stitch" then + out:write(format("[TRACE %3s %s%s %s %s]\n", + tr, startex, startloc, ltype, fmtfunc(func, pc))) + elseif link == tr or link == 0 then + out:write(format("[TRACE %3s %s%s %s]\n", + tr, startex, startloc, ltype)) + elseif ltype == "root" then + out:write(format("[TRACE %3s %s%s -> %d]\n", + tr, startex, startloc, link)) + else + out:write(format("[TRACE %3s %s%s -> %d %s]\n", + tr, startex, startloc, link, ltype)) + end + else + out:write(format("[TRACE %s]\n", what)) + end + out:flush() + end +end + +------------------------------------------------------------------------------ + +-- Detach dump handlers. +local function dumpoff() + if active then + active = false + jit.attach(dump_trace) + if out and out ~= stdout and out ~= stderr then out:close() end + out = nil + end +end + +-- Open the output file and attach dump handlers. +local function dumpon(outfile) + if active then dumpoff() end + if not outfile then outfile = os.getenv("LUAJIT_VERBOSEFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stderr + end + jit.attach(dump_trace, "trace") + active = true +end + +-- Public module functions. +return { + on = dumpon, + off = dumpoff, + start = dumpon -- For -j command line option. +} + diff --git a/libs/LuaJIT/android/x86/jit/vmdef.lua b/libs/LuaJIT/android/x86/jit/vmdef.lua new file mode 100644 index 00000000..68ff7ba2 --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/vmdef.lua @@ -0,0 +1,395 @@ +-- This is a generated file. DO NOT EDIT! + +return { + +bcnames = "ISLT ISGE ISLE ISGT ISEQV ISNEV ISEQS ISNES ISEQN ISNEN ISEQP ISNEP ISTC ISFC IST ISF ISTYPEISNUM MOV NOT UNM LEN ADDVN SUBVN MULVN DIVVN MODVN ADDNV SUBNV MULNV DIVNV MODNV ADDVV SUBVV MULVV DIVVV MODVV POW CAT KSTR KCDATAKSHORTKNUM KPRI KNIL UGET USETV USETS USETN USETP UCLO FNEW TNEW TDUP GGET GSET TGETV TGETS TGETB TGETR TSETV TSETS TSETB TSETM TSETR CALLM CALL CALLMTCALLT ITERC ITERN VARG ISNEXTRETM RET RET0 RET1 FORI JFORI FORL IFORL JFORL ITERL IITERLJITERLLOOP ILOOP JLOOP JMP FUNCF IFUNCFJFUNCFFUNCV IFUNCVJFUNCVFUNCC FUNCCW", + +irnames = "LT GE LE GT ULT UGE ULE UGT EQ NE ABC RETF NOP BASE PVAL GCSTEPHIOP LOOP USE PHI RENAMEPROF KPRI KINT KGC KPTR KKPTR KNULL KNUM KINT64KSLOT BNOT BSWAP BAND BOR BXOR BSHL BSHR BSAR BROL BROR ADD SUB MUL DIV MOD POW NEG ABS LDEXP MIN MAX FPMATHADDOV SUBOV MULOV AREF HREFK HREF NEWREFUREFO UREFC FREF TMPREFSTRREFLREF ALOAD HLOAD ULOAD FLOAD XLOAD SLOAD VLOAD ALEN ASTOREHSTOREUSTOREFSTOREXSTORESNEW XSNEW TNEW TDUP CNEW CNEWI BUFHDRBUFPUTBUFSTRTBAR OBAR XBAR CONV TOBIT TOSTR STRTO CALLN CALLA CALLL CALLS CALLXSCARG ", + +irfpm = { [0]="floor", "ceil", "trunc", "sqrt", "log", "log2", "other", }, + +irfield = { [0]="str.len", "func.env", "func.pc", "func.ffid", "thread.env", "tab.meta", "tab.array", "tab.node", "tab.asize", "tab.hmask", "tab.nomm", "udata.meta", "udata.udtype", "udata.file", "sbuf.w", "sbuf.e", "sbuf.b", "sbuf.l", "sbuf.ref", "sbuf.r", "cdata.ctypeid", "cdata.ptr", "cdata.int", "cdata.int64", "cdata.int64_4", }, + +ircall = { +[0]="lj_str_cmp", +"lj_str_find", +"lj_str_new", +"lj_strscan_num", +"lj_strfmt_int", +"lj_strfmt_num", +"lj_strfmt_char", +"lj_strfmt_putint", +"lj_strfmt_putnum", +"lj_strfmt_putquoted", +"lj_strfmt_putfxint", +"lj_strfmt_putfnum_int", +"lj_strfmt_putfnum_uint", +"lj_strfmt_putfnum", +"lj_strfmt_putfstr", +"lj_strfmt_putfchar", +"lj_buf_putmem", +"lj_buf_putstr", +"lj_buf_putchar", +"lj_buf_putstr_reverse", +"lj_buf_putstr_lower", +"lj_buf_putstr_upper", +"lj_buf_putstr_rep", +"lj_buf_puttab", +"lj_bufx_set", +"lj_bufx_more", +"lj_serialize_put", +"lj_serialize_get", +"lj_serialize_encode", +"lj_serialize_decode", +"lj_buf_tostr", +"lj_tab_new_ah", +"lj_tab_new1", +"lj_tab_dup", +"lj_tab_clear", +"lj_tab_newkey", +"lj_tab_keyindex", +"lj_vm_next", +"lj_tab_len", +"lj_tab_len_hint", +"lj_gc_step_jit", +"lj_gc_barrieruv", +"lj_mem_newgco", +"lj_prng_u64d", +"lj_vm_modi", +"log10", +"exp", +"sin", +"cos", +"tan", +"asin", +"acos", +"atan", +"sinh", +"cosh", +"tanh", +"fputc", +"fwrite", +"fflush", +"lj_vm_floor", +"lj_vm_ceil", +"lj_vm_trunc", +"sqrt", +"log", +"lj_vm_log2", +"lj_vm_powi", +"pow", +"atan2", +"ldexp", +"lj_vm_tobit", +"softfp_add", +"softfp_sub", +"softfp_mul", +"softfp_div", +"softfp_cmp", +"softfp_i2d", +"softfp_d2i", +"lj_vm_sfmin", +"lj_vm_sfmax", +"lj_vm_tointg", +"softfp_ui2d", +"softfp_f2d", +"softfp_d2ui", +"softfp_d2f", +"softfp_i2f", +"softfp_ui2f", +"softfp_f2i", +"softfp_f2ui", +"fp64_l2d", +"fp64_ul2d", +"fp64_l2f", +"fp64_ul2f", +"fp64_d2l", +"fp64_d2ul", +"fp64_f2l", +"fp64_f2ul", +"lj_carith_divi64", +"lj_carith_divu64", +"lj_carith_modi64", +"lj_carith_modu64", +"lj_carith_powi64", +"lj_carith_powu64", +"lj_cdata_newv", +"lj_cdata_setfin", +"strlen", +"memcpy", +"memset", +"lj_vm_errno", +"lj_carith_mul64", +"lj_carith_shl64", +"lj_carith_shr64", +"lj_carith_sar64", +"lj_carith_rol64", +"lj_carith_ror64", +}, + +traceerr = { +[0]="error thrown or hook called during recording", +"trace too short", +"trace too long", +"trace too deep", +"too many snapshots", +"blacklisted", +"retry recording", +"NYI: bytecode %d", +"leaving loop in root trace", +"inner loop in root trace", +"loop unroll limit reached", +"bad argument type", +"JIT compilation disabled for function", +"call unroll limit reached", +"down-recursion, restarting", +"NYI: unsupported variant of FastFunc %s", +"NYI: return to lower frame", +"store with nil or NaN key", +"missing metamethod", +"looping index lookup", +"NYI: mixed sparse/dense table", +"symbol not in cache", +"NYI: unsupported C type conversion", +"NYI: unsupported C function type", +"guard would always fail", +"too many PHIs", +"persistent type instability", +"failed to allocate mcode memory", +"machine code too long", +"hit mcode limit (retrying)", +"too many spill slots", +"inconsistent register allocation", +"NYI: cannot assemble IR instruction %d", +"NYI: PHI shuffling too complex", +"NYI: register coalescing too complex", +}, + +ffnames = { +[0]="Lua", +"C", +"assert", +"type", +"next", +"pairs", +"ipairs_aux", +"ipairs", +"getmetatable", +"setmetatable", +"getfenv", +"setfenv", +"rawget", +"rawset", +"rawequal", +"unpack", +"select", +"tonumber", +"tostring", +"error", +"pcall", +"xpcall", +"loadfile", +"load", +"loadstring", +"dofile", +"gcinfo", +"collectgarbage", +"newproxy", +"print", +"coroutine.status", +"coroutine.running", +"coroutine.isyieldable", +"coroutine.create", +"coroutine.yield", +"coroutine.resume", +"coroutine.wrap_aux", +"coroutine.wrap", +"math.abs", +"math.floor", +"math.ceil", +"math.sqrt", +"math.log10", +"math.exp", +"math.sin", +"math.cos", +"math.tan", +"math.asin", +"math.acos", +"math.atan", +"math.sinh", +"math.cosh", +"math.tanh", +"math.frexp", +"math.modf", +"math.log", +"math.atan2", +"math.pow", +"math.fmod", +"math.ldexp", +"math.min", +"math.max", +"math.random", +"math.randomseed", +"bit.tobit", +"bit.bnot", +"bit.bswap", +"bit.lshift", +"bit.rshift", +"bit.arshift", +"bit.rol", +"bit.ror", +"bit.band", +"bit.bor", +"bit.bxor", +"bit.tohex", +"string.byte", +"string.char", +"string.sub", +"string.rep", +"string.reverse", +"string.lower", +"string.upper", +"string.dump", +"string.find", +"string.match", +"string.gmatch_aux", +"string.gmatch", +"string.gsub", +"string.format", +"table.maxn", +"table.insert", +"table.concat", +"table.sort", +"table.new", +"table.clear", +"io.method.close", +"io.method.read", +"io.method.write", +"io.method.flush", +"io.method.seek", +"io.method.setvbuf", +"io.method.lines", +"io.method.__gc", +"io.method.__tostring", +"io.open", +"io.popen", +"io.tmpfile", +"io.close", +"io.read", +"io.write", +"io.flush", +"io.input", +"io.output", +"io.lines", +"io.type", +"os.execute", +"os.remove", +"os.rename", +"os.tmpname", +"os.getenv", +"os.exit", +"os.clock", +"os.date", +"os.time", +"os.difftime", +"os.setlocale", +"debug.getregistry", +"debug.getmetatable", +"debug.setmetatable", +"debug.getfenv", +"debug.setfenv", +"debug.getinfo", +"debug.getlocal", +"debug.setlocal", +"debug.getupvalue", +"debug.setupvalue", +"debug.upvalueid", +"debug.upvaluejoin", +"debug.sethook", +"debug.gethook", +"debug.debug", +"debug.traceback", +"jit.on", +"jit.off", +"jit.flush", +"jit.status", +"jit.security", +"jit.attach", +"jit.util.funcinfo", +"jit.util.funcbc", +"jit.util.funck", +"jit.util.funcuvname", +"jit.util.traceinfo", +"jit.util.traceir", +"jit.util.tracek", +"jit.util.tracesnap", +"jit.util.tracemc", +"jit.util.traceexitstub", +"jit.util.ircalladdr", +"jit.opt.start", +"jit.profile.start", +"jit.profile.stop", +"jit.profile.dumpstack", +"ffi.meta.__index", +"ffi.meta.__newindex", +"ffi.meta.__eq", +"ffi.meta.__len", +"ffi.meta.__lt", +"ffi.meta.__le", +"ffi.meta.__concat", +"ffi.meta.__call", +"ffi.meta.__add", +"ffi.meta.__sub", +"ffi.meta.__mul", +"ffi.meta.__div", +"ffi.meta.__mod", +"ffi.meta.__pow", +"ffi.meta.__unm", +"ffi.meta.__tostring", +"ffi.meta.__pairs", +"ffi.meta.__ipairs", +"ffi.clib.__index", +"ffi.clib.__newindex", +"ffi.clib.__gc", +"ffi.callback.free", +"ffi.callback.set", +"ffi.cdef", +"ffi.new", +"ffi.cast", +"ffi.typeof", +"ffi.typeinfo", +"ffi.istype", +"ffi.sizeof", +"ffi.alignof", +"ffi.offsetof", +"ffi.errno", +"ffi.string", +"ffi.copy", +"ffi.fill", +"ffi.abi", +"ffi.metatype", +"ffi.gc", +"ffi.load", +"buffer.method.free", +"buffer.method.reset", +"buffer.method.skip", +"buffer.method.set", +"buffer.method.put", +"buffer.method.putf", +"buffer.method.get", +"buffer.method.putcdata", +"buffer.method.reserve", +"buffer.method.commit", +"buffer.method.ref", +"buffer.method.encode", +"buffer.method.decode", +"buffer.method.__gc", +"buffer.method.__tostring", +"buffer.method.__len", +"buffer.new", +"buffer.encode", +"buffer.decode", +}, + +} + diff --git a/libs/LuaJIT/android/x86/jit/zone.lua b/libs/LuaJIT/android/x86/jit/zone.lua new file mode 100644 index 00000000..94357854 --- /dev/null +++ b/libs/LuaJIT/android/x86/jit/zone.lua @@ -0,0 +1,45 @@ +---------------------------------------------------------------------------- +-- LuaJIT profiler zones. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module implements a simple hierarchical zone model. +-- +-- Example usage: +-- +-- local zone = require("jit.zone") +-- zone("AI") +-- ... +-- zone("A*") +-- ... +-- print(zone:get()) --> "A*" +-- ... +-- zone() +-- ... +-- print(zone:get()) --> "AI" +-- ... +-- zone() +-- +---------------------------------------------------------------------------- + +local remove = table.remove + +return setmetatable({ + flush = function(t) + for i=#t,1,-1 do t[i] = nil end + end, + get = function(t) + return t[#t] + end +}, { + __call = function(t, zone) + if zone then + t[#t+1] = zone + else + return (assert(remove(t), "empty zone stack")) + end + end +}) + diff --git a/libs/LuaJIT/android/x86/libluajit.a b/libs/LuaJIT/android/x86/libluajit.a index d41b7e45b7b324f8e11294748dd622568a344698..20c73d78ddaee2a9733a28e927a881ccd6b69912 100644 GIT binary patch literal 731438 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İ#|fYPYd!?;YAuY+lNM6n{WTmh-84 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

      oiuDO6_{1D*4e==T$=!$Ri)i zkJ6)msgk6$-nJPi)vb;bi;}j%s{O4tORvg3jhHcb8@YSPYwtdQ0`xABcK7VnVhy(} zd3jCGB!tzPfhw(0TFI6E zY{ee8l_qrP>eha~Ua1AUt-y^=#j@)DOz*Z*U02FFyIKt9qATCd9r;nT#d+2|v$m8q zY@&i3+heW$vfNy&{h(cp$KIodG2({{T~k^d>OnS%E$FGS>)|PqomGOazN(>KFL$(M zu9xxShorVG&beySvFQKnmN#@Ei&;6cYkBjO?BZOpq>T^BCO83ef5k z7NhtCQx-i^EUnu`b9SBL*4V6R46p3&I-_fY=9bJ{_fQXd#XBZotG*^y-erw!J})MYRlc#slK&jI+K=)T<1qy>#ZGFKQ%F#W#o}_Lj2lZ^GT)leLr?3{_Ff$Ja#qyYohrzUKEQ(L?q#2s##u8zWn*UraIk@)U-ZP zzq)p={c25W==rItHi?Q)R=#b+uN-42Z?T}Mp8Tr7p4Y}G8I)w}n8Mpt;BvXM6vBl2I9ssneUDQ8 zyDmDQ;i8hX%P-2BGs>$=wpn(DI*J9d6q51;*@vTU{u538H5M-VCT|QPt-*vZbG z8PzH@Q8hd3*2I$RtpqQBsd3k=SyXeE-XqZd>&15*txLL#3YDzu_CAbClx!T-vi2O# zHmVqtAr-Ez?#3E&VvX{>EH0JYCB&`=jCy&bvXs1n=5la~Y1rOP?dlJTGS6zwq6I;l zTf5v1hb5gsmNL59D>y1fyPB{0lW0luPwznSqFRbc*R}I#^q4(J_c(;;qd%^9g03N^ zHywh!=9|+XKhop#+M_@Gqd)t{g!8o5R;-6x^~QNCnM>^mPA9o*V)p7WXG>w-C zpszl`YP;xEO%6Rv8XikJ0{InZP{IVVAPa4pTx*0^y-IgmI_-6LUF?qb8}GJ;e`{U% zj!ko|x^ogik_%bOx}~fq_Bb<`cY8v4rz0*X!EcNfi9LG_e(g%_ZZP@qhnja{Q(=SI zyP0nowST6^uKd{WzNSf3(_NJ9e3m@+Y21m=$4^1;9emH8H~XD#VhQ-lrjC%fg(Z@H zqdI7iAL}dS1^31(ie_`7<#452w@{{9CQbE;CO$cC>7G$_9j>aW_&Z)w4~yzK<~b9E zsw>!(iftLRrwh6bXx(rS!1C!q<;~ZY=t=L=hV1}8(^q$u+b6{sO65zIjgD?3D|J2j z=*fw;l4i-)W-w5lSyx5o>Y{JkEQ~BR)`A|UCp%r)+cY?Tt1^{FPswvOWvgTN_zi{i zs+CUU4<EDqs?%&)r>*9Y38QqIvEGV^h76TFM>s(3unEmsg8}2;O6cv&}_Ni^bT5jXmaZm zx)hbOwi^u{K&@IWocZ;mpy|Qy9rf-JI65n|I@hmpR_CHOmC|%VNE_omWU?+c*K2`q zCOK4gyRD4I;+3)Z!-}K`M!iX1Jp7efN8o;N(=xDFpTSX-9ogdc-IPAGdMku~|;5$-4Gd-@4dxk-CJL)dDQ&5$kunryDqPR;tQLxR&VD zUoM(K-6ic0n#EtL^Mqu10Bw4BkZ1jh{@B~Y>`H>TzVBdzBJ5;J)mP=!Bo?dF^;Qzp zwAP|-HM=r-mDrYwc+F8yE?=z3Vnf-g(soHb9x#L*y97kqFER124gX28)8o- zQ#DDdHbW^(mItjjlt8*2gBSH~#=5q<_9}NE#&Uhl%w7U}GuX8xgc6C4q4lt65|~m7 zcN~{Upllm!Pu2w;RW$Xqw9iWOq6g$jz4kVO*+WBr$8M>bhveOCz1f$k@k*llYcG25 zM~)hfY9dcQXj(ca&h~z~`o4>uu7Zmq)J=k4 z0C*ggcJe6Oj#^O;J>hP#^+wc7&(k+kr7{@YRLJ$^mVD`I#~CV6hYlSP&2H6@h#Ex6 zc3J1|a*R7HN2)BYZfh!$26HG$@# z(!!73q`dxKrapco!=jIB2DIjYpoW4*Re~SL?>Mr4U{!{-a_dlH$ykqyn!n$#Nyl80 z15(hEEry5jib&^AJ3oXR$Gyo~TTe|gg-A5p2I|40CWDT<+6h?KE*Vuft(wZCtKKHn z$Fk7XGtx(4c3tmr*!oM&>7paC%HlJpec~zC_JZlQH*hf^*4-VI+QO>Z3X)&QS8I9! z+y;mpp*3BE;h>D!@Zpj(c(4V-pYkl|-7u?XU$ue~ucKTIBg!_nu39Itr-YSqyQ|44 zcASc3!wfz-t^2)Bl9Q??u5T@ReO}wTte>)$@jE8v+$_8e7oAn4_0qEY)rubkZ}()U zy{apqM#$b&=~Z1Tqb2lmIb0yx(@RZpbXS|)^$9sm@8(D2xYyuYnAF{tpKx8M*S+l0 z&>{`{7}Y|z;A ztuSU)M5!$qg0^e1*VjU=*kro4?27f*=snt%5MGv-?3D?BuIWO^yk>%GV{x(9lF@AK z^B0Wl7G>?Fy%T3CGpX4txpz!@h2Jf~hjzq?yGoz5?!ZcJehF&9q}WzAq-gn!8hhBp#nxmk zv6e9vUdu8hf|eI>Ja*MkI7QMYw*`5?}iG| zDWj=FDDQV1LOQ*ELn(U#$MF;j7q;6;o%m!)spBAvy2_W1pho9Md)G7xsfi||dz+{` ztB~G@lm23Jh2=({(hR-Bm5L6x>6Bit+Os0PGZ>BnYJGcaN-7l@R%<<%k|~+r>4$WN zik=z&(FNZ zVuMO6R#Tt3()M6YXQ`$>R9mus6P`QM#q8!$Z{=D=Y9FMmsD@4Pi-<+lW~P%U1J+kD z#-Y>G7tA}$(Rb~%Y=oYb3c3lN#H2v#LciTIO8d4ev`(>QG5` z$*qs8)I2snsp*0MADMXvqqnR-PSa&4dplb;EPxkXFCO~a*152~406VC&3%VWr2Oi$ zc?xWAdzbz7?rc2Y82lU;&&Nr!>i5ZdY9`&iXa|-!CV46+2Kly9Wz-<5&RnqV>iXEz zXw(8`?Q12Jmu@Sg*s_kQ87I_%qF4WPExWa%K4aGnK2$C3RrNc)&!9T6T}p0E)3Xqo zbWtCNtFmPhrAwF|?S6^i|3>8|f?J%ZgCdqgVLLD~(DRn7$b4L9D)tA-tmh0tXFu zm9?~#=-dTqtc#wV0lO^!g90fo;pOZlTxN71wvY`%Sz%Q8aZ0MXO4pUznnT zL|f0)q$w>rq)nMI`T}W_T4M9us|#s3tCgtQPP>*Q8EerzE_j98_a5j`NaEv8*LJfS zl%jy*`9wq)`j6UDnyX>9r+5%H$<`Z(d>!a9AelOf&+rS|89P(4&nJFO#u@uzc`WvW>>FC!~h4)3s@jRD!@CmvQwt z>;bIl;q5e&?tbpmY~HcsYt%A?&Ja@#Q;Ir;bqt;7G|X%g%vqMTg4l7>R5Bh*lQmMB z#1xK+L9;0J$)c|BbV$MSjUL{*wZo|{D54*`0?`HGs_l-vyV^{o`^&mM2bQrmIz6i1 zAWB?$LDa)%U%YU`_jVaJH-*%Er1Xx8=onu>^*Xd`z11@BsQBchBX(IIw^93QL!xVy zoX&BYh3swiQm*ueQ-AzVe>PS6<6r#ZPk%mBn)%s3o%(r6&mxo0=D%9Y7m8WKYA|pW z@XJ5?Q%hAtXcAN=BHdV}~6rhhp$R(cksV*Y6&j^$ml zuJowz%-mhfr(!A<#!~lGEIf_YR4P1)#(XNKQsHsxo{BD6PV=Q=bT6c$OTm3Kx{sz} zArrH~l& zF3|*LqzR(+Q!$kakE6RwRC_cQicxflYLCXz(I^&DF`tSq zQSH&|Xd#M)jA+KB+L5i=qu zq8XE>K(?kx{ib3*BS!bpkth~YF`tS_q+_KgX;O$v$t3DOiuq?zOr^qDG^SGFX*8x% z;Yl>6(qpqx>Cw4RjAA|&U82&X`{-yC3#sT5)mJbNA()F^s?k&|WJGyQCyP7*eHKb1 zadW7eR7|DO5%U_{Q!($Nua@UR8m)`eXN;kcTBFyoQl3y=nQ07erZQs;sd0298VfFl z8Z4$Yh&WbwQc6UvT4`lQG5;)zg|Sq88bwLA_44;*>|3;SD#{r2s$j1{mkVa_?Hi9W z?7O?{P4(~&xE-r3g5-#m^=e-Z(-Xb6BR#slx1?7uo1RI`KQYwfMUTUKbiIn*qic)S zqxERCFmBdgdVnD@4DesaVK}iB}ChL?3#IS!+p*p^%FCR2&^iJ($SEs2ytY zQBm95H4TYsV^mTU*3?A7grFmfU5@f$p;DogFOBGY)(DLPkuys&x^)brZ8%Hw~7Gqa&#`74xY$YU7WitzF+2bO&i)id9f6 zFH0<#yWhClM~z&wOGdxR3zl$t%NR1lb$0xls=Az}o9;8NP zMR$aSwA&xa5Mv73lIeKeo#SD~xr z{jxS(D%(Y6KJ7kN-6ZhiN zC_awTXfcYKOcJl^t4X#}@ku^ftq0?wsLzlg7NS&4Mb%~EZfA*5tiqEhK8{jxG!=^@ ziPtCjATls40vGeoqL@l!(N=gG#Z*$VNpP3w_t98*97UJt_t97=Mlqj?E(Ncnse3BA zBzNz{<{|hkM8Bh{SjdQpSM>`-?-+?$l@((sq+%+Kj->9XC|kOy<{$NRU=30GH1|lh zQ~P8Yte$gQJx4+zicg|AsxFOntPsUwK8ot-NvNk$eDWlUqw4;NhkPnNdzx5BpGNV? zlPDHb@mVpoYAPl&8$e0CsW_%j+G4d~g=oVH@yV0NiD)A%`b|ZRFszTC6%%n(yKt<< z(Nugknpnr8WTP>OAWAkGG1_QM#3+qwG-9;Ti1>6QiZ(E@K6@NR8>2~FQL-_LF`tS> z4Ogr-auGFhlkgh3h#I*_HgXg9D2)}Om`}yxvysH>v#}@^HQtH9#yetuWF*LpeKWiG zEJ|ZhDm;y1J{41`@FaClMVG>Od>q{ispwL0FGly#RLrNMOTp`C>NOP$shCeimlVn; z2MZQrD5No@Vj&}r#7&X*F8L&&rV2!#DiX7%iWpxZ74xY$I+A)wMKyqaQ}6%x@A1!b zIsFt{{A>RFw{rjaUq>~kpQrOb|NS6I`dJ_U8`uB8{B!--2Y>z0es4%W0TKU({{2sL zgUwv-cVy8|(B<^AUpWi4^b36tJvJe?t+;k(O$vWW%rE3G8{fqL`f09jBE)BLCGq{G ze;(qqbnI{BfA{4EGXX7s_V0gA_WGOF50=a)g_OIcYybX&{3UgB@PGO|Ejjt0rE7ox z{Z9U-3cuyyEgu$7lE3!93h5Rskp2!8-*5l*Alv_z1^f3i{cxl)N%!=x{xtVl-?^Xs zCF%aY{AG%ln^C$0zZ>esyeH}YCl%WAk;HfWdq2&MC6VFJ)c^5kA>E|@%-^6n@Mn1% z)W5&`C&6D*jtlwQGDrR_UHj+1Zy}Cgum0_y=Kc$^!GhSoe={6tHv9X_e2O=|SI!F?t0>K0L7!^>ln+8n)NrNH%`>xtmyLTr6 zoqO-^{&7FkpHH%DRjpdJYSpS$tE%>{x@k&@Yw7ZPhTonT{Y#ygdPhpy9g`;AnV6Wu zl8pZo6DOtJHBrm4c(}=AK4dc8wD@0t|B}JKbm0F*9cbt>nf~?nFB$wx2mWvBK*fsU ztf|GB+1Uj}COuqKU>XEy!8GiR8|j zGc6JnW#-N=m^xKNQ&>j_kZVW~6!Y?O1Os_<_24v67bK?y zj}pCBP>{$ZfG0|3sFutijo0>q3K3Z zPB(~h`b<%m`=(}R&dcNyxvyZFAbMYc&i#Fbx=!3TH-FX~QJ4GX&YQzC&d}v#C}ifW zh+-qGs~&{~hcjpCq4_g(MV&c+Mg$vSfm1L`lwCMWsNfu3y%0*_{2-Vb35sTzJ3mV= z0%5%f3X3Atqnt$sjDq%%3`A z7B6)^sEc5MpfMk~LM13H*rl+bM`1y)D05C85hh6pTpqKeq;i=7VM%3GRBDyWm{?O+!U`36S4SmR z^r!8rsxahsMIjGh#9ajjIr`EnSCz+IURhe~Dy{LXWb#Crk?1;CNp*3FXY~O5HRYuh zqCO9ox>uIEOWY+(Dg=e{>XLF-4bPTv`Kn=<14gauHbSC+08n8r4$rcS^M zbd}VhNjXq6uyJeLuJX!6_>88cCP`dhF4ZxX6WW+z!q>Zv$jz&T(Jx| z)TuQ?K!^`7t#Oxf{V6N1EUhyXgPtTxM38Gh8Fetd9E9}}5H2?0>wS~uC^w{V?Pu}P z#jResk`+_C5{77H@siSqHPr$vT9pTjjrOm9Trtx>5$i6|x)XKkTYPE5M2u zFXaRxF`{CTm|Bjryvl755g?Qx_$jZfG1R)Ew4}BaHRKsJ&{N4eDcIrG0wJRe(22_p zJXX7^$_yl3r7*NYM9>3nfI-7m>W;#5dt9vfwIl$djz9z?m~y*3dI}30$_A_DmCJPD z2(Y-683qvMF=awnIy?Y{xP!F0BsiWvAk@-WfB~=^HolU}*%(u$<%>ks@~RnQ1|kih zR9kC6T2ju3X|41~n-WoiinXDeCs(cHBBSKeRh|-N`m{s_7BA)PLJ06UB0QJZ2!o@c zSCksqcf)QnL#Cw>Xvj(+vkj3{L#^Dfw8p#ujd=kY^8z&F^;E7T4woz?J!HKR!KyNr zVTq@#xZ2}}$tc#Xu_4Z2jt#N8`K35_6}LA_Ns`nbi%Y5FQjw7;)+1OHMgekySn0yx z=$1&2K=&eS9j4Avt~n5TT*S#Lb;0Yas90IU##n-&>y)2@x;hfT^>JBUiHi@Y%lkVt zK%=Z>=q<%dE2?TrJxrDihB2Q3`%dW(FNMSDa+R05v~+9+8VJc7=Vg$j6y_<1F+H> zM13nFQAjFEo`8+gtag=F8~LvG)GUXBcto8EHj2bm3S&*>xZu6Q%JO!DT9H-eJdlz_ zv+pjgaU0seP5oSR7>O1&Rz!b1m3kp{%h4WGUU7-Lx}>rk<{n|q3R8euT5ox6h|n;q zD%nZ{;Z#*KZPT4zii16JgF)W1tUIxM+;Rg&=ZB3kh(O~*ldG1p>JwB}N?wzeqN@ZY zXda=KK;flTo=T=*B5`F&4VEo51Z^DB!k|tLjs`>tka9-q2_V8d0b2JaBu};8EsHU5 zV=ac!E3a8f%_I6uad}Nd2LMD=4}b@`L~jAe{6$?-6{SGN1c6Z{9oGX)leH-pWXqzV zvl#J9ITD~K(%J+UmBkRo#uEg&Pfj7|-IA&*I4fFN1TQ5Yz{3@SBFYSm6Kqg?Mxdhn z;pOhALJ7;z9T-+6O`v#@2C)!oKl+B+P-;Zf3^HUu&IDJ-lLq3NoKa74QRL~9o!A__$SS11IH3PlFU z!@4+JO=IJ@(JhSX<*qWegbryc;;u3_KxEAT6%&9!tY&nWi9wn{`tGWzRu#tH;0b{m zXPqXu5oiTSGMJBiEWBEmIG-JPO30|ftE4Hj0JIT}B`hml;$Z_LgD~9bSmkg}c!m{* z47AvzC(r^K$Ek*sUh;6Hkch%D%37;ve$4nP{q+j*Ud5dgqTj1XO-Y$J5pPsXNSioO zd(&d^@Qpb$a?NJ5N&L*FSW^TtnVxt^OG#soWYdVKRFg?w*I_v$$#>sC!4?WmK=6!Y zx3tKumNIF)rK5I)^kQzG_b;1GroONmC+&Dc+Tll{&u`&;2*~(z!aHT5fMT?cQ}hC(iEqOX}&sIACA7 z_!#$B7e72weE51^ddRDX7=X?pv=t2PN-*nnN-jUJb`)F+?v-|&l6Ex9 z>rRpt48?0)oIE2fw6qOQF)Bk_B*UVwmEk9m4EKMn45g6_4}Gl+X^{+eTbuvS=M4?*CdDsv{X5`dS(8jbyOfP6o_q>8Lv1 zj&wfUC2>^N&@Er1x@WJ^^ZF4aRYl%Kmamid#Yo=YMe^SNweo&HlD9gN_o1(q_ufd} zv`AjNttD{cQa{l+BB;ZnP?bX@oFx34kz{3^hq{e&^8JK?JzW#F*Vf|nD>ITTN_LV} ztw>5y#w989?TR}op5<5P+nbuDruV-A1G=LUEmUwx%{~bOc~XJ>fsq_wK`>BRwzMJf zOSI@G^JYrqy$&yaqf>ly>A^ zQl08F@X?~ofPc~7Z6Jg;^buC*F?E`~X|Lxcu+_BJ{V}oT`5^F@QT;^n1|m=}t8_EM z|Era5WQ2{C)+!0w5V56&74Q$efGf%~s?A1dlF{01`5)%#W@A{V&Lz(p ze!Q~WqF4t=jJ4bmt>t2*#wU3tg0JxwdlV7WViW31Enli?BlVK!+5ed~YU1Fp1~%ml zl*iDNtvPWf(VTOsISW{GjwSY_rpKVOtYNvsSZ+}U8WG0ke)LDX&gzRJQ3@i0JGFLx zN^9rgXlGR9-;s(AYj4X=aMh$*xo+Sy<1) zY=QZRk7}Al!~@rzLWB*vqX~cFKO_86pulAM+U11(-^w~jU`m@8Gs*H0Yu+*yHI)5k zcak{-C8(R=4Ea8dja_e5oyzTMxdmg8Qe~0btibUERm$JL*XS~VFt}I@!!qOO(Lux! zY>HNJ#?CmVhzDFVqQ<*NBN_};NpEi6d%sF)x%orP$;^E#}Gt5@~d)lt%pfVAUH z%u=!Hz#Mgf*l`6!B8frTsvLpvhj*z<1u5LUKJS2Y>+tZ4H#N-*~JcIIGy}`%i*4W^q#E)9; zS2Is3P8uD{yVT5cO1V|Zw5jDs)y$8{k;uf5-m{Zfl$uUMv`WWdav2KG}lGnAtf=(rWN3CeHVA5q%$F<>Mm7C4X1A<`>8E2wIX)tX8e(?9s zwhWYi#C`c`dSd&&{&*WXabNlF!bHp!w?kx;ab3_Nm_)A!Vk(bNq-le(5G z+<-3LmPa$(Fy%%Qba*Q-_3R;al$!oxF`1kv&4J*i=+f_;lpFqfq_bPd1qu`4*A0Xp zV1$Fu4yad_S~1+Btmsw84M%_b-!0}Gx&`C^=g=gKE10j}j4#aKJ0KK~kXnwl8H8;J zWAKEs+oxIAje)z<4!zHeuNiu|{y*FCrUj^lGCA+ z1KNaE~F=V%FWE6UE#+leyMSr&mYVc6~M5U~y0)i8_;# z{3MiMaLzvH$C*iRhQ-maTM|MuE9JdPW@rEnRtbhW92hXB<)Pr61F-s)@dVb-2H>b_ zAsl$s(x7Ifv7!61g_zMP&z~Z-J1Y1XFsK>iYL+&wCdwP$p#0!$^2~T?%kP+TT+ou< zUOR9a1us(TG0kSAcLzV{m$@pEc^I{Epa{(L&ve2&ZVy>)ucZZDQ(4}ttVTa34%!(9 zw}6P!skERYx4;74M3$|yX1uy4q)bxR0NWxrTiY@0wrP?rN)mgBH_H5+sVI2YC;qa_k6(3CYcv*YvdMgHX(fl4g{a%!{uTEYVl6+gJ!<(ND_zV4fCS(@~bANFlOCKCIdKA75IJ2DYZ7>mVB z)e-!!7tBG6azJ5vrmnQM<*X(F2cMIV^=gqXg#hnFWlfNb`k=L8_fsPfMuoF_2{qCH zY^7?K1DL@C*>4S6s4-#ccVkeep$bijp~_G^784w3DCYs6KNidm@J{A0D4HvuN+1QK z+P*Rbq*I%{>ypemAE;0~{?e57$&+%1y50SiVr$M&Vmrs-Y}X2Lc1DdFQe*ywa5%6S zHQ}YPQi3)C(by~)K&k5bWcUGT7@y-cK`5ok{mVpw=6%k?hC+4k?HD@O;J%QtuGvYG zsJCQ9S>UJD@*}9CU7u`mrmX#k6E!)TRL}^z&=hT^9@&$A42z@vXACnsY1_R_g1b@Vv6Am0kv!W@(@@YG) zkuxAQZUZAd@Av|-wC14ZTU3)W)1u^<$TttXaSFv6CNngVso&5$(KFtwcA*n1PPj&7 z4V5>8H)Af<$CtH$MySD|6bBcYjqWDXs4WEq>;ML-%U%Ef*5yi5V684uQ&5MJY1b=9 z1}gAlv^=yZg=B{+lA_p>l-ZF5Os%>B+gX|-R`x>LXjx#}NZlE}rda)EoN~x4ZTS=> zcxx?J-iM(rxz(0F*L%T_>4`O!&){8Ok$&)(z+vUXUIf&lUa}ahae|FBXpye#>J^o=ykL}eFTT-_Q8W}wl)Js7BuC6)obxFT$1GA^LOCFw%f@G$zB>7_w_%)- z{W0!uD4iI=G3OQz4|(dRX{-q>j^kvSG%`Ce?=y!lx z1DC>5oVa>xAb`N3r zR_5`Y2IVAMIwSdGww~1+_!1qInyAUCk$|s%BSLU}V**Eb+NP026f#_k{lU>{41^^l z{dYoHi+RJA0M@PKzuC@*!>ALj)Tz(2wc+P!ZP+!$zkp~^Z$@vTp;wIi_TURlMV>_# z_d-oPzo6_K7v2SyEn=XuG_vrz7^j)hvf{o04VGddUsou`SDn z1_=kBDNMvc7CGb=`|y*EiX&E9N2CcBRGQ(ODt&HcX{!t~V@r-Kwo<64QZPlq#=Jz?!gO zK%l|E^FKSu1qjSwETCI?s5s7hIfV!E&bD$#XIVAouM#;Y1KT^D+`3m#XAGy${}s*T zJ8h9aF`GXN96`-lC9ejayw--ro?(nWrk=L8ENxHVHq~WSR#=q@-syJq;8(E8WeWb4 zHReCC&VtScEu*GJv#qsUkeXT%E3Z$6e*7Jw`t?I$z5hg*Gac?>lV{qc#-{;!-M+5L z9!xQQ3PABNR~$-1EkEDkt!VK(zewNbhNT*BQF41#%XlR>B!6a2-{(0+7BqD){@d_p z_2)wwNsZLBBpAg0t`P>0y8G1vySl-l6gZSV=RWt%UdsgEXR)--u^5iYo9NsYr10bO7d)rExupK&T&q+ym?!3xYTmTexcPH2_&fQZO6d3AkldBxL| zNKYrN2@RMp8rEz6hqZj*1(X`pAIOa71^ZPpH zs=+Z&p^LJ*&(<;X2FGj>nBUehZx|f&X9DvQR{ylRpG9bpx>pL!w{*X=Wm5Dh0k*7Mk>TbX$AkM?Y}cW$5zLqzr!diKS7_M)%M-UY;Kon!>b-EjAQJ8lr=bjtcfr%t zA{c%Pry7Re`{}JG481FQccx(=@BAeAJkyU<#xU86ZzDuG!5x?q%(&B}lrv)GtlJ1k_ zI^>}haFqSL7CoZ_uLL~klYQpk2Q2qv(YYH9xzi)LR~m8`M{+mKM?8xCQfj&nAvPex z=fr~EUogH)J62+a^R_*KE-VQ3bJm`tjAV_j)+m6(VF&^gXU`HSOJSD@G8TvwhuoZ^g)~F{=SdEfi&ECb zd9#zv!FLsZ@UVNRIRK$=?0ku;66{EA#;y}hT&^bK(T?n+tYi}Ec_=82P+s*YMtlrS z>Q!o{RVlYAX1(r;k4+f^Az`_Elqs6x6rJMJ{{+R~3W`+&DV{`>CZ{?71jTuR;tg7M z2={7)cyF3y>`e=OWzvQ{fl7#r$teg8M~^e$XzKnJ;weA5zm$W9S`6S_=?A3Esg!v& z^}G~>fQ3JX<-6%kTC;nPQU1|oDAU^+m!o`yx*MZ>7$GC&VFt=~U54_FSD?IJr@XEo zSIp3ZSI5v}@1Z4qNHXB2d^7=kL?=+f zLew!9a8juMbefGY1`c61a&R^nz*}|;@nZIdJ^0)E)+fQ=GCE^)I@jrRq<@0W>A(Y` z1HVn8VnW!*Ld4Q*n$VyQU(M2`fL)OC>ZD|y)S7>S)Skc|rrNQtT;ixEgDgkQcQy6- zYEIq^Y({ow=YvDEbDQV_}R%2u?YkBkOSaFyl_R!zhYq_YCN=33r zLUi!@2=Hy-jL~r1mS-&PYgu`iRp}F$`F3)fY59&;$HeLn_Rwe2tBa1{F*dIOQcfF| zz(jT|#Gmo1@tCP8&sWfYv4j=;0|kRa>A$?sOkTe+50?Oj47_CvMLW?)Q#>E5sq!Xq zqOGxqKhesk&3&7SZFx$<;+q_#&EaIliIrLf>p9Ix7eZFO+e$;q`d-C@Hxf*$O1nJLvmCAPlnbe^)^RV8{8lp|6Ekcs2#{JA>wgID* zXF$a2s`#en)k_)sut54MJx0GszQ{gI^aM)2biZque5s^nC|NJOeF87)S&T3y&*##P zj7xZ)!d+XzUE*NxDEdBT~v4tTYjo|zE+l~3$LCojyS98$3(_~7a!Rc+-w)bXB z$?av*Jo@J3o!aqb(tHSG;p=#>`1LZWr~{~MQRVAcA7Z=?} zAn_4M92X_%wRug5?x>Uu-~9eJfJq{}AEE?|FqT+0jC~fvhslHK%l*xr{$O{f-+e8b zNCVy0n)8$)*oFVT-R?`S8+zXMcR-y*Y2Y5;EP!v;J|eamvCXr0Kk+@Kv*8TQ5a#^i ziSMO0r+2!qhh|w8%uU@Z{hHo!QHCnT7G;)ISzvphc=sFfDZ93h=luoSIs9ucc#~di zRyIG509@EYrC_mAv`pDt4;Wh(GqCZM5A!t+E2zoJab{qpFHxPF6uw%SnyAc8 zs{j6QjqC$_{EyyOjaz%48e>q z74cWa#F+MB9drchCg6X=>SF-uw9859zsLIZix8BP!wUg#1NbXZ`ISij1!mx){35{5U>2Io^Y26XuR?GOIJ^w7 z2Oj`j&EZm%-HuN(=5V+K`M-%q_#THZ0{=}c*$Vt|;BOA_=|}b54|oS;3Nj4-Bj8p8 z{C(u#it=)J`qe-@3VL^QIET~oaQG?U-;DIJ9A1z5ZU#J>!+n6)qnR=|{5`;z0N=r3 zE8ro3g*^75J{IWdMxNdU`k!GeNf!CR&*Ok6aCj16(joez`aKQ)b{pXDAbpbo_9C5r z0)IH@zl`!T5J&kR13xJS`VPRE2L2L}Uj~0flkn#N9s^;E_DTf3R45DSH>DRNonE9A z{7(fxOAPcA0bc`r>QaPX0N4%T-N)fApeGsH^9=ZT73t6L^mmYc4ce=i!&QLa1f0d; zIMBNR?SChSCxM?fz^H;&U*OLK{aZP_3iN*p_*)!S0RI&*^>gA+0X;bki|`{z-@xG(gbySCk2!oF;Ll)xR&jV0 z=-mPy1^!(K{|0}L^7OHwp9-A&Iow73Bkpq!?*P4Ri2EIf>E-!a&=>vnHKdh8ACh@` z0cfib#$6mf0sINTPZH^XivTBbn6~0RM*ad0KZo*u1b8loKLNdmuQHkb&fyH?eHzMd z=J3zZ_rwp?Fr7zU@gw+Pzw|Tc`{GCGul7rStY7|b0KXE-e>-qle@6PVPlv;z#K_kzf1>Zh|g~AHm=3SKp}+Y&<$w9@413zXEJS`-yKR*K827ZJ-)}a2@F|e12C;k(WZ#tB31cz@0|MPE&*tY|~-;Vk| z%IV(+c~;#VX%7kUr)~m|JpDzaZ$bWVb9fctasan+cn9ixuK}iY>&Fc63lRF+OV6Mbupy7fj=7bggg>}KN;;I?A1cZ>(78ie|ZV{pS?L^kB$R> zbt3A>>Awv5d<(GfuYL>ue+c4GF;@Qdkk2cCb2n{L7SO+zr_&3=f4e18UN7jC zf*-KS^1lUm2hv4(KLPwW`L5N^9GlM@y z`PYLVq0d(6;~xy^wB{{-DB9F406YnPc0?qC;1?nwOShvu@uT!DBv}3<_(o!c{|N3w zdx#&wH-SI#BlwGc`Ey9{{7304`|-1(AOEQ&SpFmY_O$55Kq{++}F5 z(a@JYsLuo6gbxUsq(A=vy=MT!jbLyk%KIzeYdCx>O^p5m|v@;wQ-lEVj(pXSk-96pZn z{uBA@I6M#e7aGdniSjEA<-dgT9=k5mpBEwhNx&IAKQ+M50h5@hK20cZA?hc}qy4#? z0SkV~7d`|)q+gGWy_gJuEX%(d&mo{E`tL}T|LZi9$;H!u5Bf79k5L>xf{YH-XEBF2 zfd1{MznCw41pWR!$`df{(0&N|LOyeW-;Q+Aeoug(--Dl7oZf$+{Ko+!3*+w{)W;1t zk;6Yk`ULPN+M8bP$OrsAp8h)0^N^X;p5*gW=*xY8?HnEt{09IF`86VaF<>+S!_UW) z(&fg_ z&@#Z7axl0H^8X3og&a7P{H-2nyKk2-snE!#zLz~3B2ir)`L-4=Q zhB3!r>*%=;J_|kf!*`|U0gUfxvzUV@pPsMdodkNm1z&@nZ(y9IXD8Yx5zlwgr*FdZ zZP*=pLWv%@8Bdfq8H&vKx&_ZYSXZDY_*-%-p5x7?AJFr5vuOuC$C*t>>4`1u;ZW$9 z+svjkdcx^^h@Kd%w$k%fv*}Ot#2ak?pyvd$DJ~h$v1U^WJ=4slDtbcRf1sz+Y&uQP z@0d;3j>Yo`d}8=~F%P4k(6byq6FtkY*1+Kx>A4)fC5Nk10E6!z({nFuFgf zoY-wVEEbd*K0iB_j<;o}oZ|>(VgrZ9^*e@FJ24K&1oHE}YjINLz;lw>Im(7}mHBbk zIQ5UA4|@7_^m*ZtgNBQ1P2*jq731BJYYW5;2AY)g+YDGu4EG>tSB4OOs3slXFRt8R zhlCc>VZh^;R;^rFN{47d=1~U*(;@#jo>V`LpAj(LoIwN!Uh*;EvW>`99dt5cu{ds- zsOy(3Xel^kld*xO=Rxga6I^D(5{%cJupIo#lZbF}`X3!w%*p`?2BM&-t2p#4AD9}H z@B@f}#iS=-me?p%q~~Kbwbv$uvhh0G_z)f08;dw6hf>hpR88 zb7Z4WNjK!wPgalQ)T6*;|CO%ZrZc#R! zu<2q)bq_q_95_)|B#^4+08QkOb-APj;Gi)P)6@Iztgt~QKa=l3hNl`a_=r>+~f*vL$^aCz4ahV5!x(SJ-GezLo z+_>pk#dRa1k^<%hV6YSyl@OId&dBF1&=|{bYO?bOAB}G3_P# ztgXf2@w$xoWk)PgoB%Hp1uV3Ll_3(LCJcs%E`I^YQhp@}t6StCeZ65LQ4B-G^M)W{ z>q?+kfuC$I_=te)_6c@gyw)lE-|t}Ll&A>`IBlHW|G-$lKMex5eu+W!g*SprEtZ@`$${GNQVfw=x9xYwLj=6S zWoaO%9cs)inYeQX@e!Aj&Sl3f5X|o?U0z(~qB|iN#Lg$?5yqZuxVwWGjyeaLwFuOg z)D}{u1K@e#;`SS+h~k<9(UhA*3*4AGt^^!m{D^8KJkvsHN5VT|~N(FkYR( ztOi9a@sw9ALp!dXG;#d0k{WT%j`3n0Z3JT}%+ZBUBQ6YyQZA8~>#LSQZ%uyTmDZB| zuYQ5FmYBw)-61bL*Q}%`q{dX)#qOZfGP16uMR5DU?vl!yS{%7!a9-qQKjU4Q#+xvW z_i57gg+){th!`(B#7&=iyz$OK<86I(L!iiOyj+kjycF?~OB0Q^d!p2W2u9@UMdSUV z#v2f)&5hh#NjFG}yiqquM&Hbd9ESTX=kY2=T?!ewqH!u+R4Qu;Kd3sB0N<=i(eeCUO}hl~l;1 ziJ}M_?z=QzusO{buV1!F#fyxFYaWgFvPNBfX}C0#bf(`g)8TyBY;Hch|ob-;b7xg0zC(%HGj`&W$@z#49djoj7>&Zi18k?Uls zC=pGP%i<`cfFc~ZVwD@1353KfHhG&25+>UaVQ~LB3Y+ffH{b~mNxORw0uYy;@={W$ z6do4W+i6%Vg_RE%A^L(vEdom@U-vi6W-?((M*l6uW=5uA-O$Wau0eppaU9OT^AA|( z5kET*Tm>X7|3!ZHVNDflJ6QTN;lb91t$6-^s76m9erBLWaiZJ`UM`lT*pKkAJgEN& zkN%!O0U{42_5v@T0{kbIPJaeGBY%mgZz6DrKdKwy5r2CVCLBbYex zj=LtMCF1wh_Yrj6KwN3-aJ0&Ob(F-g9*S2)7Zk}Kcj28^KOsKQu$y!PuajEURaP~3 zHGQVlmb)5X5Qf#9#e)`KI5 znDExRlAEFyS@HR9kqs}`T9l&I-qLdq6+iIc?(N2(f&UaE|KJ^O=#Nf4D2IkfTj;F_ zwNVCJCiC0jqiwl~6l}{)(jLk5P>a@`&%$}W!gef%z}UeiJMDVF7ga=||fS%U9F z)OMvut+lEP668}h<-&?&|9?JhHsKXsB`-mpWp#F&XQl1hj@x43RZ=SfK4?oUT?^2Txa6#9?AENjafJ;WTK;4W%3`IQiu1DRhVh82yk z9h9zy)@H<_t!?VgHxNqiks7BH+ei)2qAeG?y3s~SSm8FE&$A5me6Hr%ag>hiv&a{E zT*p*9tK2(a#OAMt)Pwt=B8=>Yg=((DTWD5_*ij=ml@`$s`Dov^N;(oVL27&gDuRQ8 z;_JVN#feD?TPu>R0W2?zq8SIORguC4i`9I)?2E?-2hIZP3e)VuaIGbL%{H7o1fi)z zan{57ZTS|Zqy9{6<4O1H^~Z3iQ<1&?c&xQ!YoSGH!$)Hq5+R_4RARTk=ND#EfZhUa z%^Ph_Js8-6puB-3csD}PVtWKJ{-6Ap*`(&C?OF!zenQDj3rt54ZBS2inn6_`cmnrLwO}8p+&Jg;4q$luikrvubX#lAG9;tLY=Yw9u977BrUk zC!|2gu>2XbiRoD|ZaehLorvOW>f)5)7!G>6tQrg+!CL@U)r(^ zVbv9q`@-&1YK(WGMgFqK<&Z;Ps^7y|Hd8I0*BK{3@#eC^Tjf5aonvW3Sz7SV;Ncm$ z@2uxJh~>%P(@Z^HYNU$&Xe<6ZkI3OnSGn3y4*;@GRQftU184YdfVz;CG^c0*J~0?K zCtPhoLVVZ`+ekX!bl%Nc20KB}5a$ImK5w0ulsI-?QWBM-G!T7ri}E8PZSGPUsMKwl z_O#fonf9%j+1|`}B{Kn^r4qeZe8hkggfi1wGe^g^WztqDgc9MYqrQez(Cc$9;qsA{a)2et4ZJR{XP z_?&DGJ|{z+9O`VG0YihDwJl2<)Uw2&_KG&BbEx$CuYZnia;pbc>)+7LH;N)R6p(CC(#0!EbC z^uZWTV2zAzRG)#P@wUv-eeF}sb;H!F{InAuv~SDmO$u$B#{1m#UT(Znhd(|JP^2KhF-nc(w&#NXSyKI4 z8cr=x;Fp8L)VxF`*QV4Z>P?et7y~3e1`NdjSBb3k8*s4wq51-gCAfe4b|ZgA-q?Gv z@_MUTYEr-qovnz^9&-{DOA`M$&Zg$4oNqCE?odLnT7h!DCB|JsZi>>@&@(-A{tTt- zPSb>W(^B{D3L`na<+=;5`;;zeM=1D!hR|@H(vcm*uBoAqJR$jQlPf`8}^ z!{$%NKP9d$SG)8eBr5qTxpHcb4PP~mz|lWCW5mHl|2!m;ei-Z5U;eRw1`;WM5v!8? znys*Cfqw;t0`vk=3=uK>4D=GAls2Qx&|T%H7K5$Nq0WxBdN#15gx1WVY-CrbC6l>) z3Q^Qo)k2((6AIi6Fj9b;(d+YDdk)}`p^+w7JlKeC7{n@NpVBTL?N#$9HSJwJoMm5~ z5Oi$kAtmH&Pj8VnQMXRNSev0{VN{hr9jgA|Z&MIOx+JelvYFjC27V4$UK=ud@G+BG zkR~4uIa_dK{4WF4h}#($RMEw3O$R;0sFMfIA^}5|T`fwW<9v$jd_=_9aW@-yt!h2V z0VCEBB`qm@pv{tmw$#2uRJzam%$`~*9pm@Yh(-}TZ+o+2tjc~Ok7MW5yfh^GNB3oP4gI?)nVGTFZq21x0a_r?VCS$0n{v9ELo z@7Ai}zEh_GvA1O;qa4%L!lA(%477^Ul-bGnxa$!{j1g#uKl4nCX9&{{_AgqWqS}6y z9UQ~rB*?9y^j2x}uTTcFL9>$~$b`U;2%eKBe;RW3QF;SlG&_3sS{$KvtXEz$$+YG= z#W!~Pr1X6?c6IucroC$(Kn~>oAXubsuqYSgV`xxy5ppu)Fss)Wu=aG~u;GTiOjq^= z|5M%&GP{2o{2BGkn;4PRO3=YdRY%pYiTj3UgtJv{wUSnOMiGO%s2};0FrR=6VNn-Y z)jEg#Yo^BXI;*9}6IZ`+=n&7%%7tCzclw`WlYvlMu6CN(gAor}TPs$@CjQ&zl>+4_H- z`t=)s)cMwizAjW@qrIW;G@cv27A~LJT^z2Wml(#c6|m^ z=NV~7=Fs#O(AY46r%$7~2Qtm*3gJlK4xF1MhtBpKcxfa^N>kgRy5vV7NASj-RGhO* z&Gsb>hO?7C8RJ5mQ@Ft2%BElF0m_*||1{Rn5q%kSzKmv2*Vw5$wuMp;QX8hXsUBNx zEj~Auq{o}#b1h1;xMz8*!)meR{O(wsWcaRpe5iaeR?6;@KME-qo$r!;o!jd>Y3(`a zJ09E6!8+MRke&<`ue}ANh7+k)rAz5kj(Glzb8!2R@35~g7M>A4p|=L(D3E%v>AV*w zW@NX@r>x3h?_(rnG&Fh4{e~KYJ{HpW60MQw6i_a!I;nmm2Jsuwk2D>H=GZ~+$=@)& z6hjwuid_G&$L8OorO2VMyMtPB_BnOUDLDJq)G#d2)bz}D*FByg>YA?LSR5`#z1DRr zpa%9q`9>V4H6M1-AVF8P!c&DZ3*{*;J1JI2B_)JJt}|fEgkr3glOO@-a#F^~o3Fq%F-Lf-bNQ z53=6)CfNe>n}~rmNwp-YJL@UEp5_70Pv=q%=Anc^M2jiGcnWVHKlO?#F zk%+^=6s*%qIqk$28eq1_07P4oHhobQM%kBsLE5wglu=&?QK1u7Pgxd_=_wT1(5!T# zC@U%OZ8XygQ+Of}gSYDB(%FPXYQ!6JrdHFv!MoH^Ku|h-7jMJ?2n+mo;uSl{BoIJf zRj(P4%}jM`wQRL#up>TLMJDQ4f>-&%FlqDW5J=N`sqsrZ%i2sSt1;3alcXI#7=Z}W z*8E{gw=ZCcio)QAfiWryD@MM6Eh;LGqU=#oLnz7-6@|&OFMx#&Ly57z&l02^kKaM% zd-I0}UCfWMDQEm)s5Wd=TOgaNP4m2q{vhH4j{=6mpw=e;yA;vRB4}2lMeac)d=5+C zgoa5|HvbEVMAe&ypb1d*g8ANjOKV2#j6cobEw{BWMv($dG;~MWnH1d#Rj?G!2AZSD z|L<_G(H0n`6f@4U!1+_`d_&xkQs9_e5HD@AgDK-Suo%j95GC1BmmdqwY-VKP2MSAkfC3IsQ5x?mM!eE zDCFs31{}T$tWf{>6EMb-q9MV&hUU5O3=+JyE@gVWcS9U11XYz2faTmLx5jzrwOgpu zx5a?{F#NUx&pBmE63Gmo@KZmhV*}QVQ>R(g|0c&<>2V&JJSC~d3iHe&2+5pjH`A0e zvFRXWV|S0-ZqCB-PjIn%)K%je`bYqz`8A1hvqP9srCW1x%s9k@i1^!oYBud!jxzio zz?aZX5epdXQPlhw^|#P~G^_W#FVTutIg?Wl^!YYOJ^Ikgd9$+8LG4fenRMw84?%axa7REj3L-r z?;^>8J6gV}yzV^fU38H zc9V9*Y>msEp8kRBi{K476^H7x-#_t5>d3?^>ik1GgH~x(Qk8b05|K8Kl3(=rVoOMtB!K?pd^IS*;h z-QGptB593C@2I8p7a>)&s!cwA)Z7VuahO{mvv?sGJlTkVC-XE?-;3}IQGpizFZ)&! z(t~AEuOH8Icy{4=sZ4tJLYd^ov+6U10|?_;)l(*YcosPCmPzk@SSAHOK-?FIqkK4c zkt7`pvA&^oy?J!EaET!)pE&YoZX<4-b(!#1(*u9DGLpFZus3$^S``|Iy3K|4yt4 ze{J~>GT(yjusRRWAT%eu%0~Bu(hwvT#Ukn$Wq+cq&wAW?hIyCOn-{*juP?l@E(2>l z>hx+dkLnyZ9`V$_QZLA1i)-Q?GbZ&aElQ}>0_Uj{;&y=SNnxNPqqM^k!!n*gMrp@{)P2f+U)u<0Uuu`H^*U!) zs?XPKM_*WtB4yuA7gWnOI{pyVGd*KwCawwoAI|y330qCgU=pVzW4+##dOmP1 z9^1F)qTiAgvne>T+@7n_qDgLgq0MtHJ>Ty69EG(E-+3cPmAsmWU72K-c|8R7Z#2RSD04N z(B{BOb=VG~7&uP!Vv!mPQuh(ZsFoS4^_X>6Tes!flduqNY0VsBp-D4VXs8FGd|c60 zU%A{|^G)xgv|L9O@$daPjAiaJ-^uu`MazRj)!bzi?aenU1huYilm<^F;Am zbBB^}Xf3NPJB|s?o6Bm93hN#y%y7IqYoS`ahzh>xZPn3$i=jU4Q|^(En}?lI91Vz% zSMwKpXPcG6#p&rz_{0rXeQ1s$OAPOMqCL6&q35AFtVX& zm;~guv$EIQ7l5B4|J}%f$OIBt3t`?w3Sd_)Td`60-(=w(%7wsHuu{7w0oDH|359d< zs~=)rT-c{x^34y>8tQy&>H%M~MQWG(M!FWN>up~5UFW>T=P-<711EM=Y_0_xvZ*ba z3ZF^sR1W)EM>xAv+m(Gx5tTl<%_i@*O-+^tsZhjrdLbZAkc(UJgMos$>RkY3WBh-$ZLU^I& z=BD$WT!;^13VWIKXk-bjFyK-i zlHWl42DO?q+yBDP%xu4Yu=y)=KwofL4yp02vg;^VXq8)-GYk50$7753kw{7-Kd&S#YroYxKeSy$(^ z97?2OR?$Y5g&7C7WeX9IbN&Dt8k0vPnRD^ZK|Idm+7PcxPqih*;%L=8hteMS9l@)tD-y{P84IINCSmt-t%-w| zgk?o+K`}MurL^VI1_>frNvb0WN7`#US!iCEG!*E*r{MxbXO-mN0FzHl2C1vNhBU%l z04C`GT0G)aOHwcfeH9CNd)?FJ3)j~yc!d=ItrNSb*td?W`RrzfIjkb9XlmnN%0ugZ z!~iKJHvGVa*H(*ruata8fl`;C=vx;Mi(gh@HGR9tQS<*)o55+oHUL6fujrp=B}gxK z$>)#Ctv8{~vb)qd@oZh=0tk@yqc*J>u)29T`p;d<7{laffmIIOTQ@Zo$Fy2pbG>OT z>D{;uF3p#I#+9S&mOtu+(iwhOxy72tj5BteX5Nicth?=)x2K==d>XtOTNLPVh3E); zoC=Okf7?Bh7JJ{tVz1?$slm_HSxlvCP)m|74qU?mq0;6&LPMkKawr$kmu==gFzZmN z9jWiVLTUtw#zTk>@By}AZBs!sI~AwRjn1BcX%cSBnvvS8teX&0W=!Y>ip}gJ5wt6| z34r3K%B}I~uh-I!s8v{dUMK3$)L)IZkPJ3D>i~J?*fY@4F>9is8xsAB{+0o@wf&%l z4b8Dsjco9a3!kRPEA6Bt>F>}D7ui_v$)f2p?H}RN;fc_#hA%Z;U5RYMY@Fd0!oeJg9Vnc@`;NeEsyH^<;3H!tTPO0d3cy2P zn??y5xrc~)r$lID)CcVaAf7lo?6MlW<^ixZ7O#GoH!#{D6nxM-r7t~HGm6UaP6?&= zAhPauFo1QF-qdgzTE7qfX7t(1paUWNn-Q|hZI<*4o{!Rj1$6gylv!&K(w2RsE$x}< z`#s$XwtBx8ue?Jm7tU^Pc9*b|LM7YSiFY{nlkDY88`;Y(s1JInB;O8h`}I_V>@d7* zJ=P$*F3282OE6>CgB;2%V~=$uV8WTY7YvKS@oXdMnc6Zmdz``SaVCb6^zPb^gV$(A z4{AVGFU!%Er5PwFclz7X<~S-1mv5kgACky}aDRwY^Ce+L_Nd!h1-N=s3ZTFa*G*6J_mw^JaL70GQcjF;d8A zdReQ(UeN1!*!w|~+=dfJA$HOg8Z59}Aw7NAj6-Zw&-hM^Qrdi~UW7 zeJZ3Mg2UG`(s{rr`2el(p#&y>_cxgA&qieLUwa}LgNy1g!sA{(gZ>%(xv24-JWFhv zZLr`S8>uN3#Ifv}nJ^{`7fA8OW&-BzeKk}OWq#@TJiXBBIT;v5aJaiJ87zz{lTP@~ zN+)nyC$!+kwKw2&c3*mCd~Fp|8f)MnsLMEszL8e@uO|sbQ?JA^WZBRo+e0j^Fd8?)UpnKz&A1 z=k4O^qs~sasl{uVqjg=(r61z^p@Y3IN@xChu>Iq|4`sl+!hQBqBdzS>r9U;F8(-8X zyAER{Wv|oXkCL@>UEg~O>E{kn;yo!nCUYeI;!iv|eq{i2&7Wp*Uump2x)_MkO zcF>>oSo!oHBEo4&Sks$t^H0Kv8F(Bq@`ePH)OZr~F&8YMoZFQyFYXqqr5Ct@@&*{( z&oD0Hl@@OiqY`NCGpRU%y{6&!{J6?lS3hYX?T{#^5t0oNW4c6JQ z5Q_?6;;W`&K~U+S({D}n!_K&GP^zs;z70*at;lk|#p1b2=$+CY+@E?rb#L%}a!;mN z>yLlAwaB8*PQnYg%BrN`5za(jB&b>OXepR)>d6q&Blu6k&PQx~>U*hsv7$k)nmPLiw1s6ew`R&0 z65M&1G1^|iI1F!jGA6VxD-z?=&(__B&C;{dmN%hHAd>)xCbgOP#~WwsK7?-mxW#;6 zYWmsQ&x5}watvpoL)%xN$*!2FqTsNwHI!fRnLESaD^K1{!uqEBIrBayC|(L8^mCh#x>s!$g0IbW)XTU%5%fo>y`c9e30Es?>omxvpVsPnxINj z^k&DIv2qJhx=TdO&~(`CHSgO=MM;f?_@BD>RdhOBSSoN*-&5!P0Gk)?Yt3(Y9oOSc zpHb{!`?rqD?X>)4&14zg`ZT?-_A0Co*gX4#!}ZL~)D~mWD(-7we>_8(uM`|!AiaEE zn?_&|WcxAjdf9+m=)VEG1Q>CJQX2G4K9#~0jlZ9ct>vch|l=P(xoO?OJ~~5 z$1nF>ZCIYn#x1Fd`TsO_O+rqLSdx4Q#cJahhOUD&h`kB!`S{hcwmCQ&OclZXNSfon zpKk7r$dI`Zu$^!u5}^x8G-km0!^Lo35+lc$JmIoWMsg zaZDQY@|Qmux1CYnp&$7ZY<(kYbqKCbj>aO{br?}tFR#ON2lmf>KA+TZj5(MczGK40 z!5W)Q3{&&1QI3vyvsx=p6YQY=&Q%(}w!+zS{I_WPR09``FYEv0*s+wRR$Ju0?z%Ce zpQh)<*IsYzpq`PEO7n%_5PEa?`!pWd{mF3q@T98{;i*_B4|iv1Y)+^4@8<2_hxWgP z+8=JYq5b=){hl(wW3@j6V)rg`0c+N_1VXwUFWnhFgp zn_bO-{pQn9lgr9`c0BecPnxBy129Juv9KfKMend@9NV>YrKRrG-XT|f$`NOq95&b9 zCX+zbw+x+g|UBt*zbuKIav1e_FT&%cs>VxmgyTl+a*@Kh6NL6zoLm@2Qb z2F6D7gJn-Y)Y5`g9lR?+U(H~szzf}!=^ag6R_qMnE?xqx%B)2Cvg3T`&G{B=0=X0G zSL2QPU9ehep-sU@23laYE$|!gjCy+)ia0|e+*EXaGjs|cGAy)XmC&pf#4FgRiN_WI z2oIH-Xwe)W>5T5{sK02gyBpu`bXf4M4vN9zwS2Kh+C(pKsaMl$>G(7W;cb0&#gDlVq`+@d}_E+GGv%M~SB{4bIhOvX(CrNHYL(y$unBC(;nk4U(CfcJ~z!u$j z>rm6Y3^ZC4<5JtkKDODKkG1iPAy!js23AWvHg7?Of(ZfjS@P}j>6QIky!nZ^O$e_w z^t|KEwkB@Py#=vJR9;iF`XF}gaM&2$b7RcWyJ=X2N<=F50@x0sx=yBdv*ML?FF11H zVPj*RUZzqrap{Dmx~!>r&HKPkmUc9wOmqWWtwRa`y9s9+TIF`4@v#uOF3Ik?8S+-z z(%+F9X;f0)WglvdWa%}ZvUf-5`kh2Dk%acNu81copz|dPJtax}8Cjvk@lhfeLft$O zl~*Nb)ll!F%~Sw%^HF94^KDoIQZ}=28!AmJ7gPvc)`73*MkSfI<_+~7kH2HCU0L7= z(EAtK{--0d|LGpW_C6`=gZAKS%rZjCTl0qs&4NqH6cOJ)V%kA9pb1#5HIP8w5Zk1) z`g>~(AFpuz8+1Mm{{ls=u?TNk4xgjJNNRc#RZ~;pyA&2-uDQVfJ=~ItKFns^P4p=) zH?czz+*TBa7qg`%dYKI$5~?rJDw-Jv+x^W~4Bn*L6t*LRq=7R4D_2pe(yyCC-vEKLN5 zM?MbHUXxYu!akNn*?n-D#Uc|g%oi%8o3eP+Pszm%v%x3HhoP^Q{deP@Cm~Aqggv13 z8@yZu)^ZcZV4+7_AIo(Fu)3%%TDeE_`AI%1M-Ay2r47=ZZymMf#?iVQTYLdUgMCR< z4n)m}T<}HD_8g`g1n~OvVfF8ir68nqsMKXlv3R$18m;KZm~Zk-r@1q>L-5WJ zKBjCI?{U$#P75~6wYLn$qVL1A#0<>~+km}^;A-}!C04Jl#Y^{;8&nn)Eq9>$bNnOM zA@vm7o~0FLw#>YoRAPbu%>T#U+rURvUWxxR$&d^(dIueKtf{6t*rZTREViT|CLtsN zkp$#T7cJddMeTMm%m7jfi8pVT>qTtsw%xTY``dQw?sj*zS_HJ1M4JiN<+VlBR`I2E z#&K%^OD2IPzwdeOoyklH)P4E<{=e=2m(M42?|trbpO^ET=bZDL=bZC=MKC|J{aLL? ze}p`JQ+kKk6dyiLI~V!N{0!(mf6=_ymlGMd9#pvO7nOW9w;Si>wJ!+e;ufT}$R39h z-4yzn4~u(<45K-#KzRO@vmNvYSvi-Z*s|vN|>9kq+Ub8In9sGkXXU;mj zWYrAgOtqGuLu7V*m2YC(-@r8j^M{Rd;jErWTC<2HfH~jW_{Pb0HnwMng(T6vsQQ9_JDw= z4<*SSsbAP5m3TmAetCM%DT9yl4>j#5ReK2F ziSe2=K`;hva?r&V$_}+U|JD)i)XH=dcUjXl6F-+_;pa_qNFRP*+SAX@@Rp(*cz>LN z#4+Pg1IJ0D1b>j;o9Bq@MrVM@GR2r2VitKsITicmdUXGMe^UUK_yy&uaBQWAHOVAV z>&`dFI-jw}Vt9r>`>y>NCfB?OPlO`?l{`IqLLWLuYm->DJbTUNXTC)x;@QqQU!8F| zGlI4O2GBA*hG`VZH*-MR#1#Us(~)*Ynhx_CQj9>NHJ3|w9@&=S7^x{E977ha4%pPh z316%x&2gD9ztitWmQ~X>;j@oBl$6L<%!L7SHeTY=qJC-7IeMo*afv;Fc9XtcO`sXO ztq0pxrKO@}6%uxaR(PcqcKzpO)St*7vxPU+C5VOC)o0RuxJsJt2lhE`Hyqfm z=)P5%qVNcSY1G4P_a@GmRYGiKFfK~7lp?dJDpW2frh%+D4#?)BC`Dz%?oLhK8ApGO zu_WJ;%=u+dU^(?H(I7|oCcY#mnkDX3Da)jk#I2mIrc=BtQLl=!H6r+BNQtVfLdrs! zlRy=?*v@&CsI7z*J8c-wTcq+9CE#G6lNP##nb>g@ILdDd+c@a#Mc;%pxG))=}}PqS4n_gz$N1d zFyZh0yJQ zQE@8j7R}^#`DtW3Q{3~5wC3H6Br{9US zjzX#+AAUI+(q?QIDS5Yz#i9vN7y=X7wp^jo&?>?^m**Xr3RO zL|)O^d#&{Z2T2NHZ0?~^Qp*F+af8qicw7!xE>s#&d4x(znPQ{tC8~u4sd!mgwb5El z?-goxi`Os}ebt-EXqo~I!))YNZ88U}`%abZ9{3wxmkm-w(W=jwfO7GtFJL@^i7iM>D9K|r_qkn(pEGhn z^*Dt`d5G5mAJO0+mr+6X5vp#kPRjPxKgca1LRgN@^_9NLHrfMQWCS^{Y0X8L4460j z?L#)TtsA0NV8FOJU@n^CK41mD)^fm!)-nLB=B^PebK<$I$|YutG(l$jk9UZ#_IQ`p zJdc7^;Fg%_1a8sVByF1u0-0Owjo0yD-tK))$v#oqyVEA!eb!S?D$+f@Wk?YBcG$=) zY50@nd?CYYoHREST)E!s=(N5PpmuK-KN0;F{A7a?_E!r(5nWbGE5*Q1p4q}xQX*@F zllb8zV5vWHKK?*(lPdwE-yAEq!JVpgdzuf}e5GoS^`NO5H=fnRB-4~8nGFS3-bZ6r ziGpoyAmO$3YvFU9`s=7a;ca?eYBgS0yMzt0z_4!hYW~V3C&hcse5R~1+hgP~PkmM+ zIbB9&5(_$YcQ{3DM})dzS1oa#9SVRUz)KaK0JFxZUQ_yNVwW=RRJidTvs~3UTbQ|4 zxnE{f)qdMMRJb`9y!>D3O6<+!BFkjR*ZwRDE5e7@EQ5CA?uB8fuR+}T<`Ylikit~( z6o0RoUSmqC#kgmDmy^5MF^wjEk)lT_et`NZt9V9xp$I24{V)*K^P@5ULO_w1MgGs+ zK9MSqi$*I;U@5>N+aAbnUfUw}jBcx0`8Fs~Wu7;Djrjl((%B0txN=Pjv(^V}|8k`- zO^;`djAx#uBw96^OC(OjilmBBFvgrEa=~1JMa+s~M(4-{;=?2zvMS&qN+cyp29!}K z35-OgKCp!h@&F64nJZ8by2;RaW3|VIrOed$V4qu{0C;OtS1uoOBC)LZZ&BL9gCuOc zG4Dhta($G0z(P0#ugw3g#DFI>k=Oi+tYm^8dnrAWZ2h;RA2#_);qd!q%%OK#OhLQ+ z$nDe33(xIyLYlFkmItq#hel^UUUs%>GoP1ApBcU$ zU8XF?R{~FSCF{Xs2v>&IKD z^XJyI7md!wHwFoq5x%UkKQDYuW4|XdpRK95-}1c(BK_X*g|w=@iTUP@NhDHs*4{l= ze>0goZ=VqeB|dAXnzQ!F3xD4M)AumKmzQ^n7(+LNZzs;jq0>uAs^Gr;yu<5Ltv`>$ zQi9OW0Fz@tWM@U<3IRDwT89q5qz^c1l^HKt587+cOIlua@@UOd=##l!q0h|)S1wLz zSZ)qvM5|(dAxqh^mhl}{w&+LPB2x=1gX{#ti_M!=gq84EM#N*z&y=bUGC)GJUDj6l z#az_5))BB7AW^JT$_$bf9-_4;#Jx7r5-`>$_rVZMk4UiPYtF8$3M^O1Q|WDcz?xDuO3dy8V_@cyPU z#n9NB5d2;w{Xd#gHmS~2TLiW?7ZfpX_nRwi6!psVygdU;3yweLhDroS0^w898H$=X zK$syw$f4siQp9CO(3+8kK-tTYFCvj?Ei0ru=a?4@zL!ZsKF4W+{#uSQQU1O~*<5O+1kO ziH{Dq=b0rw)KAGdpJuHLV4e1eHNzucR}H_>{#RyeSqEIPYV8>Aah2Z~Dno8j|(-UEZ2Z!lFQDB?5Uwfdg2BF;R7=5W~5q=z;CuqNW2@S(OOv#hpBPw3?)Bf>!aR+vLuoV0Mbhcpr&V^dz?GD;uASl%^_*C|X;p*u z^B2#Hy>O?!Pmoc*y<#4we<-B9czT*ONfd0_)^b>5)R>LIvtK_s24MmhYGzw7e3O1s zBix@<)U$rF<=HFo`udMIRLNQ|#2()vTlr)RE1m?$V;@7KEna1jOA%&-BgPx;G9qZR ztM<~1lf%kIJ$Y>PZ6JiF4^@>!Z6XZQb#zCSlz$_m!S+yb4^oKi4dLbGB~R?jEDa4$ zU$m-Exrry9Fb>NHz(v-PN6L*_&8>=-h-&5*Sk7nYz4>I7@UAr(Yp6BZ z`Z%?I(lXXh#!2{>TEXaFA-YZp!XLI9t+G0z`Odn?@J6C=NLeti{NL- zV+{2(G6h(Q)Gt58&Aiy|FJ$hJW!5(`UXBe-)-fRBDy6eP^QtsZi(_}(?P#FFOU)V| z6RzP3$@XU!ZZ|5tj+3)K_StmK>1GWP{hXZF>rr+S?U~_}=}+e@OaTX9{arA;*v#D^ z$k83YllwCJejHOK_DSvqZ0Wzu{$$e&CCEh5`yWWRB;m;rsy5TMpvSS4@!sh`%m>n=A`z2W+17u z?^7$-e;~%bBwkT6KNFuI2I5s#z1!VU*5$-s*kQ+C*he#VpO62@`bnyii-vuSQc(+T zd{RMTIgO27vui}}v+$=dJ35_NxlDVyr!z)KA1p_9i|AoZ?iN3zz;5OsaV}sbu`k^Q zQR>1MFc-rkv}Y|tYpzwyQWxm3#$h{|PT|E%w_>u-jCBYz&v1(z(XbZv`yCR=kZ-~( zNRrL36BWP734eiAUw3go#7XRHaU1ebUl1W4&Y~7WsbD>Q+RVMe)hyqBT$v`>t3*h# zk%Kz_qbNS8Cw#u;>BqokT*g~cQdpD5hGBTfdXNeO3MW!)!is6K<1KC+(sz1+G8H{h z#^>y(Yg@(f2NWmZ-bz2pKjN7sBj?A(AO?Gk3U}lEfUGm}du{6ywq$dfUtM#V`!$qY z0j=$y$fIoymXmg!`#1)ifmQ#KSgOCZVY^6dQjfM(nVHaGum0wSgKv&KSgv>GQ;XNN z=B>ojnORk{&Yu5o#J?)2$K9I#DMT=7ERkwHPFl z>5=QOu0RdA=2V~7@+K5T??{?53gY=EdtcS`K{@(x^-Ev)E>UFGFnDUNDzU(@r7A}C515VC4QJQY%ePl~`NrXZ9!R~|t(FsNEEE01+==TnXS#ai2V z8lpC(?TC@RWKu!lAW>oyq%~i{cMiJC4xK+*5&E+kx4EJfVtq3dttga>qf@EyCBCD7 z)h9!Zzil}#+I$gIVOX8gWJfnzafdW5TCrT36qm@#$N>x$<3@#lNviFxBfiwi$sP4; zQEb*NZkL@8s|eYtl(N7tjM)iu_d)5avSTb(FJ+ZzQH$l}t?y|qvTn+~wKuM|l_?Jb zj9OO~2Ws&|(Iv5+ixpQ<%@tRp7TMZHlxEwyLSYp^Om&eYkyl*t$3+0Aqey8$JZRR( z%<}iR3s{xtd<0Z>HIv}9SYU<J*t9>i^4wof4oMtuQA1kLhZDZ=tex=~vQB!Ujm zouEurJ&4ycd(>-R{JM;)cVlYRZOpy{c>e~w$Rlo}a(O&J1_E#qd~1Gh(*S(KwE?Rk zkK6rx;sTyY;Q47!1<$#;1x-@yk^mkS1)=z>Oq%A7NF@{xYJgvBjo5N~3@`Q*eTOxN7EZ*VhFJd z3uF}5;OAEp*e)2N%<1EDR94 ziZQrG$#(I8G-^GW*rh%2EWJ-**vh+X?7~VzB%h1UhEaoK(->us)&mWcMC7dH0z^>m zFFMqth`+J>{xSV3ws1IIvMu73Ac5R}WbSD4tE^YW0D%2IbeqK6oFRcbnatj@ZZ?}* zAEJiR17(+Kk94^QwB}_zsxdbDtl2~6?GiCiYnG8W4(mtq^(0XPcT3d3!Q$8Am!>ky zc&wM?jiM%F&pnFhJ zciNb68d|)U==+04!?G01l?J8xYtws;R2$Ih4C1e++;&r1it z>l_jvZkt5jBOwH3Q(KWaZ0WHQQPE5f8G`B%d9C%&5TfBpUg1&3^K8Kj8>An=sY51% zy9c+cqgwNy^WKKnerwH;d20r|(oq(Z0SK9W{7Wyz z7mff1Nhk%ahxJwDF-?i+$<}mZ89eP;p=v1ru?{VtR}V~w!30obO15;U=o6=bmv@DY zoDtA$K{?Xp2v5lXHDIftB@?Ut7`v82Y<#8Wd(~$ArH6tq|NMsGOfCj&z&HxtZP*R^UGr#X1g>; zd*pfjMIsFt`>n4Gv2Y~BdqC8ab^y+kMEV6ax)K+d^&{hN3O=AU@)-Mydsh`2-NP7h zGV+AN2x;CPOh0e)CGxjR)oK~BM(;c!sLS()L@k{RZFEhW5&puozlem>Lvzo0&cMVa zoGh6Lp-!XMq&^e^m;$v8KS;;T&MYA;{lC-uM3odLJ3g-ZdGUXPfTfEUnlyA@AU;T< z4K#3JvcjwQyFxRWPF19zSWs%czKpnTB&E#I5*|M&aE$cwE zMn!99%etn7?>&#QeAqw$_A6*SVUoy#1>c6>m^IlU*cYcmu-|2eU|*aL!Cq5Ba0+9w z?7Iexnl-dBE*7j=;Lhw{wtg?8e}ZN75%NbjR{{L``HNy-|A{^2Gov78uGFhjD|MWE z7`YF{vyR4Yf*v}HZ%zLPzDtb`{-R|laz618#Ppg(f2O`G8~4`keSld$H};KSGw`y?WFRp_z_1R7d;{D248Ws2OK_g)+8IRBy~sz`8ML)#U*^Z`mGA|ELtWpx0B}2f(B~S@05xk`-QY z(ztPwd85~SSi$R1u@dQk7w36MihG9NJtJV=SSSnIENlMFn}MS_meA{cDIn1xUu@Nk zl#H6u|B_5$4g*${8TS+}T8=u_j;s$F=*hzH9C(7wOPJ4I*KiEAC|Wg%($I+LFY~RC z!wrNv^BpU!_k8vfnJ8zlP-|I2K3XH|TVH91n$Tr?cG4f$C5IX?=gH9z$R@nRK9W_q z9CZ@dc>}M@_FS@0GL+jHgipvyL4tM^P|y$!9xiBnQ>UDhWM>VMwLl02@)o&6&vD>^ zt86dDNjCD?*$QPi;ga6iZFAh56j6T@hu2`b?2F$B{Z*YJT9pe<1}uQm&^=e&lM6I* z@K>3VWIQ$faW2v3=}&Qyns^gpx?_dR^&JwJ zl=7z-Rnx2ZFXtYojp=jvujRg$>jM7kxv%HCl>a5%FX4Iz|I4^v#`R15FXw(a*D(Jp zxL?6_9sg^%Ut=^+Z>DlCja)4I!qbCxV!NFv7ZM+_FPrT|xsWKf=3KsIC(4DV@7tFx zcA{KJ{E>Zm%ubXGiBH*=$L&P9koc^9*=8rog~S)^ONX5(7ZQJNUwZ6BxsWI}|6KOj ziE`oTSN7$wohTO)-?lGD>_oYc_?~@<*@Hor$wm&b zeXM|+dBF1A>otx|Ll97EBN5yG7v+ zUG#dG2hrBINiU>Zpe>g|m-Xb4u*Ox0U41U+|TAID&piwQxdDD zgm`eC&*yd53Lur(gv zR-Sq)l&4yrEM1yZ){P^b`o?IIxn?{k*k-kZF`DG`HQwaZr^bCZ2E4Sb7yR*HEQNWYo-XCqBUO< zw2am)my1n;nf)Cy)tU6E7`%fLkoci}<6JJePQg}xooQPS=hB`rKkTJtDr zkBpM`{ZZ1M8YS(8QPO@fO4{3_qsY-B+pma(<(2LhL^mkUOF2a;Ft3X#nE(D5Es|^rNh& zXS1Gup7r#rtf%*~o=#;w`5;fjH56n$P0D(jmi06z>uD)ZV2*0GK{DZe;yBm(71GCQpDLrsc zUaS$VGaOTedJUg%hj~q}AN~{ZU5%O$3L6Acj_APhlsa-^1sQc{&9b)33MV_fUinYd zrv!v1;dRj_;eDdo2Z(m4=h&NYXk$^>s9u3SUL@VvGB~-@z|s@eGbFjL=b6K7KGL8Cx<@*502)j?CfuA&AY<88v8#NexW9DbjQ22!FsYC z;lq9}5|BAPy?W6(vyDj2-q=&9G-N>n{2OaMg~tBI&Wqb?IjhA}iN6Rt^#@`{A4apn zJG#kA(%X3?hiKMT(?hZvIntY&F2ydZ>3buSqD^Z^;%{#%+xR94yfpmu7*E5lT;TuT zU8k0G8TgsCo@4FLo-oU)g4p(-ihrnohP5at<9w85dBHtHv1_lk_cp6p0)z@VU$c<< z)qXwwEMgrhQF(~&=pNf+c)nSQio9_326O$Ajab2YzR5SdlentE?b7h@0TlQlpjXs* zTuyThwxiQeT(fzU^IKUP`_pH*YFlyQ5u}zwTpy6=5cVmquY`X#BB}#k39p!~y(}W5 z>Q`!wwz`mCYN}brIxtrASu7CA&l8U?VS}$J2qHzAa6b+z}s*v{T#fX4YLT61Pa=?h%aFJS%5?V>n zJ>d)V?tN4&QtP6{L;C<}Vpdc1G1_4-p3%6ndXno)5~S_4N|q!~~apDPQ9JA<_wd zuZ|A>cS_j2xv_SkU!BL;4di4$yaI1MY$J-~a}^)fR;^Qp#G{bF?=+-WYk6L%KJ&&) z1WQUX%h$zaxKv%}9+(|pp2j<0c-mnbFD=y)|9GJvU3F-hL2jwDsMmP`adZNf-s&5fY$ z#(K7u=pQ2`yMtolzEb+QD(?iRYPZ}a)l1|4c>g{ZXRpIU?K}S>DU?Z^Q&GvE(88KT1yLE zVfS4tR!SiD42jQE5BIgzXFf|8bdjV>Q6JXlu|Rda!||qEyon|8SCI z_PL5XM@-bHddVACRF@3$7gZvc+>LC0R{O#6;0PPrS?kO)S*?FdN~yA~krD*;sY%6A z_Ic&Nh4&yNM8|yrx%;TgfRPyBTIT#x-rm(?%gRy>6qB+$r=t$bJ zB8_qx=&Lv!p(8Z*(WRoXJ;X>_SbCs&*E3b} zZq_TM2TpYQ=v(KTIb&ZL+hy$4-*Jz9Nq-{;;^G_IuWenwh`S(%^fdnsvzkJ@?Q<9D zM@sah3V{>30!#~7`oGCqOPX!2Q6J49<-tgHAmo!WA-jNHy&u@I$ts*Z7Iw0^*^`dn)fZ51a1wN9cP zaq-V5op{O$3GJP8z)MIWYlm~)=Uk6C*IuqhtE{?Hz>!l@uj71L zt@%N_+d(MmXF;y`Bm9g|=}41bpa?z+zbGHIH1N@gOe0p>n>^GuGA%Glnye;A=95+B z$TV4Fj!auHO4=Qxq=iRGYaS)-kx|mVKT6tDqolnsO4=_*NqbwRrB~mrAMos~zFTFr zF2uoT^+@U_S%+Kte4--6WgBM%#AR3{pIigZHRN0;JJ%}by1=>K;atPcwb{8o;#|M) zT%U5TFF4mjzw|P10V&%>)VhBcFqw7P-Pp5Lq$V6%Q4eD#uU>9#MKhX=R}^ zKT4cyxpS>|uFIV33g_DBTsLza$q+K=L)4O9WL+fwmT;ZYcF@5^)BmYjA0a*t$z7d1C;nI1t zzwymn?{35sbiCCcpuT17qSd0A#`3{SF#mjC_LL?U;;GV~@K>q0)!RG2a>(XFb^WW1Y?#Vxt^ z6qZ5+-IEN>?~urOe8oNSUhev4`dt*Ewfu+&mOuP{j{o>?NF;k-my3F}md8jlTZM(O zG~-xVIn1cb_$x`E-)>Y5@hAC0N|XG}|H6X|+;_Q3H@LXUT4mj$wSJ8UbCX)h1e&lh zZEhmrPJL|^^{kS2vah)FQ=B!qoF_YGxNwVR!)y5&l6S zgy`sx-1HC9y@;o=ZUV-vHCGX}PJ}kC`4MubB?0?Jd%A<3_)Wv3F|hVok@9`++{kw6#^Orh*rtFB7;{7!LKj5C{D zoApjlt?cQBFV(h=Z$H%7{dnVG-s-rvbx`}e!If_e?rtBScr^uk=5`>5rph{&0OMjf z!&!9(ok`_@Y^CEn*)S)3*r`a2)m7`;)Mw+yGVT&T-_gX{C8k<2+-bq@)AeJy;ur3U zea|}EetEY3tHP^xa8H!WR5&c4N4}uR<~G3}Wyoc8BJpUOM@@3| zUHZ7|9 zUz`)3g9fea?|S|!Hu#!!FFehxQ}%}pkA>MXhT18U!+XZy4sm$%u-Ytjf-53?AQZd$ z2;NwMNdw{EG@jc&IUCbEMxlVLmSz0~n#V<| z1_#8#oG}&LIcA)UeFvKEtQP$hTJt_K;p}NnZf{&aCLh)?(`!$2rfj52O>?a!M5e~M z6THgK)1J?)5uN!=$wA7!@EV!Z)j|ruRw{{Ox*&E*8|T`yyIN+q*8CSzf3=$7b0;*e zS2MiYnc?$zS8L6!isKNKLSHq%wdPOrYUKPjjw>?2G-q%E#%n8op(gvDOlYe0qJ#^S zqvzFM27K-Lmf=q*AtEK5mwrTpAV2aveR(A6eSPCC3mf0+Egfne(q_J7JbXl8wlH8k z{3~vZhY$0s&5U{vw^uA|{M%(riuaAT%?YjRZDj< zYzmq{bp&oRBbbN?P|{SZW^ z;bI8P75d zwXt&HV_rfG?GRjWh3Cm^11J5Dd2nQxy6On>SJiRC2ED6w+k% zOVxf;TxSkZ46ZXghvJvY2OHHuZ2Sj-Np>H{oZiWjyY$CN;5~XFeYZg96xSJnv3vLA)f2c^4 zUuVPJ{OvW_7-8%ICuBYtPm4;p z@vepMCq5|wzd)<8+S3cZa>~6w;mMuzOi~6BFt>c0mjVo;7PL$f+=Qg?TwE5sU8Own05Fa(axdI>sxMbQ>B-YO(3ghQeq6KpvY!mzn6II%8JdZMX+3ngv% z0!&=#^`wB`a3Dlt9^rz7llK(wlL-Pr!q)|sKjSwoe|}n<{Hc`9aB$&hHahE zz2O3QIc1Q)Aod-~p(h0s`BkQI{pBZUd^QWjm z0hga>TZ+D6$zH%t@X*u4Bo44Kq|iiq6Zs|0L;R2!5a_N2q8Ayxn}L@#53BD0-g!b| zY7rth_GjY}$%gr46IY>+{>WN7RnYjqQfOGj3qiwa@)f$uiFE}y%wuG1JQ!-{l|5Qb z{ep%Hyi8*OwLO)t`vo77LeU^&rGtzm>?JM;O`^@xVq=>^#bpcMm$^Sv$`Kd3WHo43 znCicZ4(t<=ts^;?Q&l$nPAW@W!O;S$)u;>T(`Y_#Ifjt>P63fCGWJC4cbHSl*twQZM5a$qrD$u2obnfKElS_X zcOq*MhtOER#H?O`uQxGGj73XJcd3}|dBnt#NXB!Q4YSJn6y)sdFyjojM_Z-DG_PE> zAn`_~zPkiE?gn?(RI*Q!(L&9yRZ#j;wCeDEWI$V|s2#W+b?z?`2X zv=Vnd^I~o5fIf6BfGPsTLXJ%Gb&rxs1_T&-v~&Mnt8R!xf*LM`oEPasV&d&Y2toxNTdMR5WMSB0pQJ-UvI=UQW&)vBc z?d~5Q^*PR{Y`fiM=mz zk)D+G6U5cGXy{3=+=7|VMA^D|!B1hKMsH_(-9oZ=kR5!H9WhQD2uc*g$AyGN%hxC( zDUcCyI6ZJoL7^W?-;lLiiz06(7MsM+RWQx4x%q$jg#iCQ_@vIAJ}W+`Fuz1!9vzhw z1Ngt-dpYjmlyS)D={u~=;kcr{*R?qVr3d=@N{@E-U;eRv4lvq_R9rP+B>N7R4r)?;rKQkLgiBUXyd1xE;p+~q_zE8`6f=5tW zsNfE=?Q3U%nlGRj6%JI>|9%XGQb3U8b+!D|%acbxk{hlyj&{a{A1z0Wm3>|0Vpbbd zw05Z=wP)}k_f2oQp#0h+;#IlK*xwl+$ITs`@8-e5zLfY1Sqo_x5~kHeZkJ`quN`H? zXY_W)0uzSVjG`7l0wA?$?Xu;Ys=>#7>8q(ap0|rF-!54ZnTm>ErZRtA7|9c#OyoQ< zk;gAl)-n=gN4ehUXPV%DATp3~sB`f0(nC#mgqBN{?tWQd&OA!D@QGP$pShT)nNuko zP8HOTpnSNR2Q=%UbG5cB?eyiHu{^8xsNSEeJs?e%u4&IbQn8U3G<10m$l2Vvj|V*$}9S@#MsmMy8tJD z(bo6`YD)L8oE{dD$;C@PL`i!t{`-79#*Gn3VkQ#(y3m5L$#5C&5huj^{U`xPJCBUv z(8s?0`mQ7H&Taor6w%_I#?A}19}FIRM{E!ZwV8w~k~7a2$nm~3f1PZJObK5{7wh$Y z-|AbffF;#F@u{NyDg;95Q0c4M4-OuDQ+@pkDn$2!(1P(xLsJr0^U(qXlXJCacXh^d z)IlSO3yh;pyQHB`BKYT0Q7P*sjOpccI*a;d!4O!a)Q>$%ju4gw6}4siRu9kz52Z}YT^Fj7%A{3%yxeY6%a;(R z66YFG=kYdKfzm|EDsRuJbnWV+Q!*t%i|(9~jw54yOWG^ldRGn*@-&@vfv#$zx2zrR zlh%5#^hYY9Ke$=b$l_jOz`cj(Iqp5AfUk1R>P!jElM`@MnO7MSzFda zf2cP%9I7(pI6KuFtZ|}^of8#x@RZ2(lU1^(J=a?4mUWZX{P#46!s@Mcxnd^c@1Ehl zT2G!UEnHcuUU*u_;(B6oQ765h!siRLe?EBd-O`Q}s_v6)XgEKcSP=fGKuGV>^p4}{ zktj(k7q+pHF2k%!Q3K)p5W@8PuNUZViP;;gC*LLQzP!$NJ+-WF-WCv%8~_BtzNiCm zfp&d+Ui)0P-krnvE(q1qvclL(;vqqP#V)3R1TP;z_q3J;*igr1uhV#`^PTfMhc0h= zr?9Y)75fC4_v0Yu;cJ`vzWn(wtLxHeNCIYBl@K z5`56hJs_c{xVLPd_COmsQA3eOwGwbdW}wG9ylR?!$AGC5>qktUlj-ThtT}AY8tcX( zhDB7Yfy9_ua@%|$d@hgDJTJ3@=mtCp-uc^ejNbM?cehvO=v}#jqVcDLG(#eG6vm!p zbILd_U6H=UKQD7kZr&gZsZ)#|H9!_hXun|2auLxEt36L`<}ruF^Th%{TWPflEp8e- zUuGV(zy|n=uxd0tqsSFN7M&1 z%1*9&-fl*NOd7w@{Ge1_L5D=!RqpPXFbEeU?ij-AaE0bm&;Cd2Qyz(5 zB4`w9Rbnh$!~xNtCC%;w_N{hDIVu%Uin(G@S-&;UZ3mG-=`3d|gW_Gk*9XqgTK|SG zIkB?sJ@8FX-#ALp9lkS8+U1$g+VJPZ&H?>6i0L(3{Pj6+2b-{Re;BcL*Q` zcDi=|_0)sE<5tvd64-Hpiu7UzzHPkDCJ@+qFd=W;$BlyRR|;kv(*Bj)*5V=k%^S+1 z#=*!zwk(6S#`F4HHyD$@U3voXV46TA7(PGoDWWBD2dYggJ<)t1a;1!>{_ImSx!n3| zuEhC-c4~fh3y;+*BUL>n+o~8wT|~3lscTl5F^{L4uWQX$l2vxgFXg(koF9b%Kj-mZK1--OkXnp%Zr%?~?L9#pECPZ*3wF4mln$YA&p3FZiT zf%#hVrI1PFDKQo<|AY2T;rC0L-c%AbHr5(~PFErE>~@o0MIff;P$BqX%^lL;xWR0G zP!W*kkQg3V)zkGOYQ)UuW+y#JI$dUG_u2Z}MeyADX#MB7w!FILTy5*~_jZ(Z#>N`m z2?DVvca&{<4o6Qso*Q_a6Koh- zO+So?L2Agj*jgjOwf)5}342-@upU*-E#9YhoC7Wu5nz74d~SLkFFi2T?h9BG&{`6- zR394KP-MSu=cROt-G1rXqao>u9_Q~OJB+EnT_~xY?_P5EZk2Ylv8$wgLFk&hJAYP){Z{PayY~g*?e5*4l6DRsvpiq3 zd|jP!-@ToWy7x79mY^~$y|?GC&iFZ2U@WK16g!F6s{Eh2JDOe0fJ!F%^y$T1H(D{D zR{1|;j)T`o7vMFS9WZ*fOBedyIIROKNAEy*w3;KM)x1j8yn6HwtQoDC`$sEgtt#d# zh%)R$uO^tprx?=^#BI{z;b=;w2b7-@(a1x-@Hs+kA0~8S;&P+Eaox0QCTrj8;JWfU z?a|H>4CePsh81M6JhGuR%^hXEAWI4C(1{W9a^K6~zvbJ-KA$CN2s{;gN6_J`RX=*9)EozMct0JG>wOO4)(b%i(J8V_uT`$NFmxMsZg}B)C1jLt2 z`m}Gm!prF!$N%=}175B5X=c6#_`U?Sk_+!53_crQ+F%YVcj|e zT`cP|UWvR)gtpr75BMz#e^2?b1i~Mwg)T@%#24H$PVDM&|dpA2rb7Z_9lT~Vg)`E+rYl5u56=f1o%TV&* zrJ|=yx?*BD6ypC5{^#&NrT7rPOZ0ByF{ZMX7lEnxn-}h(m;nWmxeEMs$0;E(DXyrR`H+k!;4VyzIAd)!@7W+Z$KG7t@bD# z4#jIk24KP1^o~GPAI#Gpc;5rF;Y_P{xXQO8fxXH-P?=^vtC(Z%v!O;XL<%yF7R$Ug zUa<;xxlfiIUU`-A{6vvkI>v4n`J^w-@$zcE^}9Q*za1Ci`* zMrmdomi|NNihE$8z(@{dn-+gd0QR5~X+|)OZq>0K>F}8u$A1^+6Y?=S5Bf0NPkLf= z*H25wYQVgJg4SoY$v*gv;ZWl`&($U95x}e3$orsH0J+(xwYVWXV3Utt21;LzPv*Ts zSz`2FK)Q$H;8CQudyW2bvdHq-@9KbxfOuNVpHa3oR`^`BIFS8HV)kvDTVC2%=9Sv~v=6a;%Zm9vaVpi&_m>70FsZ7`X!Ce55dZse!@V z8`VDS{SbT)5aK`QB^mv>6 z6d$&xiRcn4ORhX0&~I0jM#>X&sN?%O@DRCEqu){{^ zoe+=!@6>)wypM>klAz!<9YhW#rU(W#b&2-ExR~(DKCQVPa$Bwc_6A{h*0dj+fge{A zKYbSq!Pb*UnWy`okpU3US<__K?KEla=uO0JPA!$6$k-53=#8AkJ_wN)n0T@qA~FN(zk>ytPkgx_}5!5NnAjKG}xG(3wmj9wOUpT8kHBz3Uz-HWb6PMszjeG^O(zpus zgjFd<)ih+Ys5tMy49FD|z z7sj4&L&&0Hi}y11332344c&uE=aD@tMx7B|wxo4;kDAl*i|;+ZT_y zcmJdAV^VZo-o3lk;(YR0^_WjC!QkTE^3h^U%*M{uTCQdqFs2@;DN1eG2oRwWgwdKG zmFdq&bi1xDZ#e*rJX&)SIFKd+>!xGevk2ows7`+eUaNF?9|9)B>IT~5`ETL1caNkG z!aDy`e3s$$SS$LFr~=^&h0peC4_zXBR`vixa9hFB-~_*j@=45VcHO13@r_rg_VbY0ZC4(<)g^P^s7QJj|Ju6&zilDB6QU(GIFfvJRXOgaJJE#z~iG z4P^TK`N%i(@G(hMVDyz83)hWWyfLV?`je^xM6_~QrbAPso(Dikg?;fKp)6Ol7I{AE zd0f)tCwl?G;KDo!*pVzxmGt|R{YaL@3E`r!#2zTW982s^+flNO z=*0W6;LnxFyDI%MwHwrOVEu*W{lQ`^@P0|lTxHP>V`A4mM)R^9r<`VqeaUI(tESa0a1hNstLKg8?-uZ7b;L@*u!MQC&H-#3U5Rbmjhx2mc2qbE6rg((ey?Y0#2+ri z*1FR92rHtBB!=IZe_-p8oXzQ$8xrEQR-2CHoLRi%9~F~!I3_+;WBIjo%JG77@G&Fo zdg_f`%o*XW;$w6A)hs#Kk#N?5egfXtPF)mixS+U4+yMrPyBNP`e*m_|2~A3=O3EoFiCkmR=-rY2i20hFRXo$npas>j4FPM;9uALd zxMuqnI+|PSO-#V?+w$#>e}v~ufSBV=&YI)Ixp@TM#$n3KR|)(%46=Xm)a@y^xAZ5} zr|jj@6&7Sw=uK5vwtICT@o~G-vfWziB~HC&L(*J(%2?|$uB8@o{f<0h3dR7sGwkY8 z6$-pZn;$df*jJ8)lBTMOaRC+BM?Ym$u{#;~_9TfgSD#%iyen%B+2%6-}cm;t%W^G{TIIANiS`;B*bPP_m&-YV&{ zyc;XV5B5xRul_>JRfX5m7E(DL;v<|AYgKh8r&a{C2bxLSCNDUoCb9PVqcmV0@yK#> zD*}mouNN65JlSs6Wbq=J6|!14liS!NztL7P50ltzi5nW}0 z#6MD%xhko;7nwwhtS0$Rj*opp70{F_z=3<(o!~hEMR8PSEJr)%m-VebXXh3^&Arc? z(02a2yzGY0d6~8t2&ys5yIztv{8Y~V>)?!=zJ?#$unGU8z;Q)#W3}foPxw0mn9q+N z{CVRkx7PY5eg>iB###QxH*zsvp6iLPr8_%5j*c*9-kQZC&N$yxbbkmxl=q_o+XaV` zQ|AHOf26%TRHNs4>ul2GrOW36Sp(S%0N~ymJJQm+la# z=Fao7E2IG1G$4o*xeS*n>zgUaKCQlLOF=eql?}_6hGD5a^hG*pL-CMWmMl0H1b1V% zuuGR>_?h;S+4#x?2jLZAE-)AQtvS1sWu4jsKcsE;oSW;7i-^$FZ=(|jrrUk(clz4z z^p!a8>qFK?)z=-W)eodwy>z?k>s;yUB0v5FP5n+^*L$spRA1+N4b|!BX?@*`NCn=^ z&&S^Dq2)553S(5vD{Ibv!5BGbn%E9F%LrMMLyo4WL-$YnkVh`O^0$aB&UuGvqL@0_ z;I>L(kM_w16-&URG`&*%u;m2E!hzP|-sIECNh)%|f8?bo)h$S*r;PbM2i z`xT5h%P9j)lN6ZfQErVusu)P^%z#vP7NpAdMaHKlpn_T1zVQ1-KplI$&=(UuZ;G9$ z`8kTXhCg<*&N|&C6S^I`pZefz@OFq7=i*iYZ($4q?-XOmhPN%d!XRv%90_lmfZ1GP zBmrBX*n+T{*)~beBw%f7Qo|ZX60pm*DV*F#Y^?k;w3|Y_wke$42OkTj_(EB4IPFft zF}xqofrMiqmj;;he-wD>WO3yprU9<|nX@Ty349S}GUYRoG@9ELY?0A;pDllU)T~#; zaB8hHpHmWuJ)doAIF0~`xwQ`LMiRt&eCbmJ@c}iThY8{Wn;;@U&8D7Af>`dg)Z{lI zh?_@Hfy;I(*zM7_uFWqSwCA%8yB=#!R}jPB`#Je{oH^F^EZ4r#k(PYUh%YGt?|)!_ z&3PViU*)Xy;|-sn^8+U_e;J!T%9s6kFNeXzDvpxn1y23MqI#Et$p^Q8F6C#ELXcs6 zGWIDfNyYz}ho>QiimIf(UR4rXe;sUa8a)|)32FR6fMou4zz^mz|GMn?_cydMJ^wcG zkS&{Suw}Cewro~p&Qr3P!Wly`)aWqg+?<|uv*eu1`Hnnx*|0nY;ykPnCxa2#h|`@y zoE2$C&}mie=D0~Ys9R-*MHyQ|xh^p?^vraEc{odJS?N zYY+ShvuWOtBK>aEDC7Gs?DN}x}KLh!f1sy1xG2bEljanT6jkJ^)g3(bz1gN z7b5#}iu~j2I_Qx96%Zg#r9mctJrJJ84RlaQ)~PrKdI?|7Wr76*R4dD z35XTe0$A!|hW%@R)E@T5tdF&aT6vEDT*lcEWn^8j7=6cvzl{GxB`Z;5>b21 z)geofctZ(&(X_b7N1u&1@{s~@;yYR5%=HpFTMdbbe2O&>FWp$F-zcq|)03Q9M=M36 zZ4Z2%SGCS21OyF0A{<b!}Yoj#=GehL3AvtpD!BtD*Ib9N(D2T((ZzG0l*$UW8^8oAcPxPu_8 zFBT*?-(CoG<)p?xu?{rqi>%Uz{?Jfh3vLlFr>J7j^NlVRIp63gL=5RjEHuwI$0|-z zwmV#_4}BoAwrlltf>qCFakMCQ%_`+C#v!Y#iqCY?*xZ0s(aYjPnDD7VsAx*^OViIY z=o=NeiHMHnIy{Tj$jyb^bkGDLH$7Y>UGQ!ZBf2n6ZWejt5>PFZ+{_IqawE%z)5r~b z%&gDsaoVQ%!!W)Hx%qRO+|-MEGwTa`psvEP*daF{n-c1V7iej6^KpmVpjTv}R-RuL z)i!;UrrDS`7x74IMgtKH`B+E#?YL9B+O2)FBQaItelLpE zto|?Hg(J8rwfme-MV920=J-pBEM>@RSsv5`8T=n8U(|Z^{$r~z0*K;I$2i!IpEhmA zzf|u(8TqYAas-tRDnkvfeECCRFJY>d=t-1eN(Y1}W&0hL~cP6O5A z_7rm%snhs)TBlK;U$%e!xvE*h9M-@bQp$~WC^u@5X^*cw=hyiuLX3zTDKs@3$#4($ z8`DBj_S;xmx?%;t5p`;0KWj}J&YpKNoYkW!3`4-L7JTbZPF(~1M1N-E+ZsoIHst8f-pS2f&U=+9VhEA$lDjl|H)cBu9CfVTC%e6~uJ{>&!Z zNoyUj6BIkP@;uCnWK?^OYC*ADVB4Z@Br6wm=;Pac+uc!|#k^rXy^fj9kR=Dks8Y zAgsoDdPjQCM?}@n&{EEF!n%M{ft9IsSH%e=)_*qW&z0o{N)t?HXzc5=)8gx}jC$)HkHNYfBJ9VxG&vMOx8#KWCtSg1g}} z(2uCB<<2?iSMCt=IZ4VzB@^0qc?)p^`LOTv_Ic>@rX{p7F06wj(Wod9B_o-QdU0J1 z8nv8@&M<2a70Noz9!)RS1i5PiiD^ytFcv$*xKhkI?A@x-CA)Eo+mb7HEg^dR`4Wx= z%Rwg`OMUG19ctZ#vs3}5{e)zhCr53~Vu`4ur_GPncrY#+!XmF_nXHK92PSBiDuAd*!w!8oY-c|iJZZqn1+3=smxyUCh!Ug}U8T4WK zuG*3BM&N(-8Dx~X*cN1Ae+KS5@*M~}TUNJe+`o(?wEw7l=iq&&e3wkicPAs4m}09# zOph^aHyGoyv0ZBu<%b;9EraR<(GYBmrn5+ni`6juvf|o<5;~3I z=pS})5b6ePrg*aQkNvUam~A6@rH$nIg2(QP66{t&1qvhmY5e9ycjklW&E5b%8S#<$ z?a#t*|7iH_Pvf_L7{3L%KRJxt;{>_apJA9#Ld*@>a^Y!0p(9GJcZP{&OG=cSdlqzb zwqhN0)E;^goX$W*nI%k-0>cw>W=U+v(`>S;86s*GVB#?*hhm}Y*oaQeka!WLz`E2X zmV}JoN;DdU&S$0P|D*AFArzCP^2tchEWzJ;3>a$U=-q)~0h~n(_#P2&?01cqpvN@= zII)W~@)L)l?poW6Bk+Bq;JfHbGx7cQOnjfm10MVNiEsXQVExtDn#vsbKZErj|Gx(7 z|M`z%{R>ZxhV@rp%iwjV@t!c}s1#e=lopqt%qj5X5j6!e=y}$96K+E+*@#aVj-Z4v zoNgBW`GPPf!u2L6hO(g5nv1}O3==|@af{N&BeCH9sAR0#=BeS^w-zmz)191Bui(Ss zgGph1uyL$P@A1TfcGE`ko2>SkN}piOl;Gmtl#QmWxQWBKoPkt#EUF*9GBwjro9`tf z<+tJao+9PL>uX5)H)ycK@&7+2io^CPiaVQiO!VU%li2@3_#&C|cbWO|@5wC9H_LtT zZ^<3%9NG7N*R56V11Fkgi$V@;S$D{T=jB&9|L3cf~o1O4$$?1mr7@;sdp6 zf#o@8e@tK3jU{c|=rVc|zu^;Pz^TKcODd9FeJu3jl<4AfM3+Ue&DUfLE(j`VozwjV zu5f;AQw^JP31eU49ecF?gw_*%cpb`~ySDXwz3Xo=lU<#QC3D*D;7_T)*c;&b8$M4k z>UdDD`fi5zn@^U^<^^WBhPtm| z6bJ}^InAD58Bz}0T#sgrIQ2tXBhI;h*c$Ny$Jjq*jJOZ!A!UsC6tqX?*csXb31h>k z8cS$pAIT$|qgQvVtskvzH+{&qJ-%kRZ4;cf(QB70ITVGwiWC({d^gqFD>7P}=d|{W z?Nv?v#7wkaXSC=1un;^aqm?5exG6Xc!3Lb8vh*L>{CJ_*$0AC8nw?PDv#(=)r0Eii z4c0#2c*&6>I4*iotgTov0&_0sRBn?cEbc^e1KYS6GAcY-_Nmn=`&3OAyYCMP`A@Uq z=-8-gx-jt+pD`DwmtdZZC71_c)x#33PL^NZXpO!6%5~Ss((512e26!oZO zmxpE7Z_FBJ$#tnxDdaBpCJK}~q3ti4jqz`@s1?dK7eI5J`}u$DO5?A43DW}y#v5rp_VFB>*##`npS>UPV4 zo%X8pnC#{ja~i@Lk)MV;yto8kC66dno;=s-^<~A~Dn^KBL+roQV`(3arug_R47Ah7 zGs&M~Y(0!f7#kS{Ax%F=)*~dVO>JB^8rO{RTGb(~s?!d!k6CPx(dI-Lgjdc?z8JAp zgw#9v&W#g6U69ZqHNlN_V)@QNymv;+$9Uc5ZT|Kp`P+N>l4^73;=H1a4ZsPbUOZVq zPAl+hUc2y{!FB*wYN^I}W%K6Qkcz68#r>t~Fcz=@!ce_u$RSaE^f3#QXANUA`x`bU zn+2hUe7&RC=t^8<)w|stWnC-JRXD!mS3_*+R_+7;?k3Vo8kxn(;lF~+zZ&NZ>x4{X zrX3sJOpoqmX?(tX1U{4Rj417o|2ZfvLtGGwO+fSMV7EM02hs>Gk01X;*7%RYAM~&K z+}lLaM}!uE>IkYZY_V!>%wRbPp)XCKxrsiDQ+`EHF{UDZ11YKjl5{JM^Xf7DwI<~MPO=0uwj;2 zG3olZWCG~F`>REL9ACvm*?}*)EB49p!>Bi&WoxEB zDx1IJZ)0!Sbue~G#!eYxCC;fOg0S9uMDO^RwO+>VgjV+wi{IEvN^=G-KuxKEJNtN@ z7KRLVCqnikWmvtr?Fg|21i!&S<;%Sz4FSaDfr*)y?cCA<(>FHlMKlO2hM;aPBm(* zX-x`kiKUekv`LH!AVNYRvDQ|5S*p}p2r~pI!o-t64yV&%FWYY0-P+r(`|ZVAyP(*w zGSN)}wm`swmu(B^>WpJGASD+t^L>AwbIx26LhZKSKl=UscxmQbp7UHj&*yob&;3J% z@8;WRr`$)k&6cOlL8FU#H)h*lB`1>6?C+^jo}s*`+|zbDc+{ z=sBOJzs6|WhTWnC(OYE(20#$Y{M8}t>a$3@nxK%XWVnK~%fcTqD>o!4sn^Y6C-dXo zI!}>zixmd>z!0CY*w<6xA6WP{2zn`{Ga%9 zEJFVmv-E!%e-8A2UlK4{&XMA43-3GHpW|FwKii)Jt)KGno}c#TIH%IjGEC}n3~$7r z!}5ykiq`hw*oVip8~`J4KGt#tg|ej(xvpB`yTM<} z|9KAf_sZYfv0u0Ry|Y~Y7TLz@qkSR%ulhifroi%n7MID4542Bwpv|Jn>fjp7*Wa7G zQv$aN>u&4kCG{);#Sgpnmq#jwV=qrOx?`_RA&TmUT&|*#@)NO_CdA@C{m5lS{osAY z{#e(f^8Hs-7ZVQFjvj!*MNF{Ysju}NZ+!z8&+{Tj>|)91kV9%vYccKh)~Zw=r7F86cMc)t;vfFcYdikZ@&22u_y@?YkLTjn-6Q3EA@4X->MdVYaRU7G-XF5oR)+Ps2Wt^ zW|Bob)vE%76}!c!^DN$>|F6*p7CueXhlYqUIW!Qy7+k?ZsLHDZ)^b&f1X~bidZQ z(Z9-1aFk2)xk%t!Eu&9J;AIlz=&g~!?=l9`M6g)rI~JcKL}o}%$|8o1k%|=AbO*GK zy|Sm==$~)8B5Mm=p~aSIpr$L?b8T-h`X~iNEbE+P*|eH=&zI$8og=^#`qkPvms*qZ zDY2|0LYnc0Ft*zEmKQ6JtDH05)i;S#aqTvY*~DHBf7U_ljoPCuFOe&n{BDbU$Q9k> z4iC-`|49X{8FvSM-^b25v%h>ZGqc}B#Omz8%&%p?%zF9z^G_$tm^EjG^P@}@xqfOp zv9ZXqVjdTNZwy!_HMmer6Biu`(b5`dS!uaX5G-W5?aSni5u1hJQcZSXmT7ii7Ti3P zQ;zb2NS0ZS5`6a_Vd)!eCmgNgA~|>K9cPKL!5hqFLGuGRc`834$30h6cova~d# z$s#gwxV?w>wj<|zZNKpf8bM&-Ar6Y@^z2{}hzSUwL#Nj9 z&w|A&A-M$K^t8o;#8Fyrpv=$&QapRV5_Dg)KP?;5d>2fM^qA#@; z#%~`QA$?g+04C=&wT!d-t(5^4izCt(;L$C^Y!y;58tMuv-$#*oDz_VvXfQ72P|7py z%Lme5^wM>26tBqyM~cGnapxa=$3IK>_r(_fF8)~={vH3UQT%)TSpFTk%D7%xHvi71 zGoKc+Hm`F!W#w#L+LuT1@3;`H^}L~VtdgmbINeI-taeEybM~kCRD%BrIW!sV7e|P> zIEx$teJ1n0y#ZMC&=tA#(8=&r<`z)SsrH8p2`arSh?U*h!WWKzJ}7%Ncrbd>9RtIfij5{NYA=q5pSvJn@eU9__|7H2h)hMdQmA`z;GPX#=nH=SRDV(z~ z{apAs_Pj)7oQdc118%bDA3`Zf=01!5nQn!2nJ$sw@L*_gBJNr78*cPw2|Fw*DEU)X zYI+yBTzzy7>;EfrHj<5#6j8@{lA1Ug<8rKeF_C_RMFSXY|-J!qK)ufJD$3N+f;%x6ZVq690-c_!*}y^r0Ktc_h7X{#P5j$vQym?KNsU(p+jO)BrbqTUgt;PrbR zRmrNhd(pt{*88xNJ4feO8)$(2Fb9~d_Io0I}eM*)T!6#Qu8QB{d zakqYk1@)PJ2q1!?34!K~Kf`Df+$lS#qct#$pdCFRInc2wMFLT!)!e@!K zV=*TdU(mAB;R#?)?68|6;94xqi6wHLW^)4$bD})glVxe5-(gNv6c?@IHNkI~6IJXi zk>wybi5#bOoRV_a`=bphvof*?9(fIUMG7VV)qn9OT6j|Ty$c{EQx9>r=zL32CZF^5^P;;Eji(zrHU%=*4w9y{3i0IyY((37BBrH zFm8d87Uo9VKL5qaJ*z)uZrI`%E`~?uszI`u3p>yr=7@YsY4kf_->!bd~h zgTjkVxDRL%@vo+vFO!pa3knwT6ZP~=uPY|hRQciRhDHtyTcZa7K5grrrTLNnR?OAb z1M(p-Wji zW}7;CF?A%KGuDnq9;l7ogIF*cHQt^YpJn1!)>9>h60T^Cs79kTY0d>RhWEoApL;&X zkze0UjfjspjmC0pP4SPz2)z}4tvQ!pONHv#EX;aYZ*&fsqg7cD$?~|-$6oRt zvzdTV1oAy0OGdk=kJ0TE6vCD_@g%=2JWJl45R(pjkMTtVk`vqx@M7&VGwprm0|XtD z19E*%G-EoGAzFt;5`s!Ubj9XB?d3{Adzr$y6}_mc>r!}e3{ z%X64EMbS=Q<|FuC5Ew{sZp!X;c|no+xS18J#ux~ z{cf%OkiZQxeqCT|)3Q@tB!$>3Pw0#lL)AEKj1b0poxgHq&8{#ex~mJ_%DUWH)Dj$j#MsXOqk(-&JXE~5Vz<<*`8|8JDV}|LEUywE6Q6{? zb8hs7jpR>uUMuv&3S`3iku#BFuXi>rBY3)TAy!|E&=nQx2smX<_cdP*;wdqz1XrxMXX#N zlZ_z5B`5EcopK|2ly|-ti^KSxapazkUu?GAHY*Zz^;!-}k)3$U^6nyA?o3naDLemOSr zd{B<(o*v8bT-z+hsqUJY@L$*f-~YRjlzbFfk1gyHaRB# zW+u;Y0zSk>hEXFc$YU&8iwtzmVqeQukX884OULk`Pu$9GrG`N|%}+WJ7>q`-mh~9b zYja3?8Na)rLLNMvYY%gf9F2;kBd^=~aq{zQM2YnLl@ zu{s6QF1Pk$tz!=_r7N&Zx)c;4^Fz{6Lq)yD$=1-l-1g`t{FQ%(8RYLH2XFi&$qUJe zDH$VG;+T$Q^EOA-1wkXA@W+*VzCAG*w zV@UuOOy}VM&wTQbystCJpg2=&@8EL*^*Y2$#d^;m$3viUAL-mTH}QsyWH)*%HSKFp z0K;PUL9+9-i}=~X7Up|(%4~-5%@4gp4w*uIC||36gAV%iV}r)&@`IAHP}}lOK1qzQ zYUGW1^BGdd4jhcVkl*$c&S5F{X;o_T@1(#8Ib+Erb3S2t>8OwN-sD3Mf1`5b5$bSh zwa2NVjM2|BujY`&zb43olH@c~!E3q&JBBYKRrw&XkIAbMMBEt}dKbB@>CVk+bJDi& zX0t73^Oen3a0KznY{R1hu`ey172gLlBJMQ8pO9QVP#3;Bva!Gwu0S2BuX{BWD$`?< z3D_6E{wFeRf=ZPNjkNYNAX&HTgH_fv(wW&zPJqf4QeeTU%9#(zH|70AJiq5RbVSkk zQckvmS(1n@sLHzsj7O!U3EmDkMA4ER#GvFmO+k%r7 zN;UZd?kj70wR^rLFV?@Rb-chu{`&re!LKC8{o0%KEe9Y43{Tq*a!Fn{^+pDh_$a-| zEjUaS-L5LTkXXqEOjFh-;t)>D&Bu8!S=roFxV*5J2gzW)Mg~^xy#gniJ41Ke)#Lu?C&PE>u_8kil3bl@3arm?As?KmZI(zAOkEj- zmIW~fxo(k~Tp!DVqf9N?r6&p4H@=#jptcHARa~inr?tJnZhUQa*XDF;^E%R>nQl;SxE z08=^7(_NLn@D~e>k@(DlSHjuK9bJ0-V5yce`KVu@8?p7mm#>=6 z3^-izZ}B+sgFgLkziZuj<$DA|iB-T( zE_hjrL#f}|{yDh5>ZAQ68M)-wdWs7pN1t6J>sWENs=b#ltPdg>I_&{L;Q z>Yln=tcN#QKcBXKZnJ)Fw|>el2cLTCY6Yu$>LkiDKP%-OboBB2<;SQix#o2qgs(HJ zgPiEm2Bh9(#M<%>N=Ifts&yc%!Dzz$xYjY1E8J9#rXU6Mr}+wjw6Q3NYCTUy1^?tgos|^g$^;I5B)7sXj{WPc-L~nI!G(PELwX$ZEx`u2rvV zuYptDq(y&0KuAn`MlKG&KXDV+facJ@*`TR7AOmWbsOI|M#d!Td=X|}(+o!d^N50zK z88h|?Cswl*N!gVhsYgQeZs#ZYqt*6dkhsK7(THKV9^YXNg z4cu$nQ4s9%wC~nBAL46PDawbS>>$R1JN2PLZA%lSP*sG^C+ImWn*Q(^I^wc58ZoLl zARVh=mb_I`%?_z%pHw3KBKglfPxHitXOK!`#-MRH8gSzrBqGd46`@{gZfSr}cch5E z1~mE)y#kY@z+luY#QRJ6eTh#Rq9?Ibs}Ibn4{G8)b6wR_^=o-&Y1 z2)D~e)9WRHq!`>=n+l^Wwi;m3`SW>OA2`K`+VRUzk^YOqKC`C5{-zt$<>LRSJwDxKAt9(!&^k|#! z6_{=>tcSAc{2|w1_xhmFApfnPTUx@v(k3f#VqZ8~_Y2zJ$9ugBo;)+Q1&oC=K-I1JY1)P@%>0GE93 zfy%+~#N^a^MqfFI#$^3U;Pe2Lu81@j6=QywzhEAsfsStri^Vg4;-?^hJ&@6^-b3+? zEX1}=GsN{(&BBEMfWybvQ*$T%cA0rBDJFO}ba@#}Ej)`^a~lsn&1}v*+X+QaQ#_v~ zUw3oj$nmvMZup&N|1PzE8{~I6FIJFuexr9qNv=p)YoEs;5G$9QRjhnoO2o=NRbEwF zmF$4rSsQzm+Snhtk4H-6tR`QEApX;0J)0wlN?UVk`bvQH7KKsQ5%4YTNLR~u3`89r z4EqkbxkdGeoXYYWSy*~|-d11%|5HMV%Y~De!4jKgRtZ3hS^hzwEEK>j4)?O1@_GE) z|4JcUo z?(gwJS6)f77Wt&qfGGp*aXR|VMp1i+{DW&DVH>^9$!h&dt%MOOH5yAO(s3$W72S3Q z@=71Rq;-P!gTpN|<3-O{?RR5|pbyRo@8ifd8*7b5tGnT?R2+yOd`y)}{wy{BPJ0-e zq$`cJ@rN<=G$g0CPlVqrD+F=I@zk2q_{Z-910X`smopBu1x}=c3fx64dvI$Nih((+ zaPrToQEiHBxd{!zPCvRyc2>0xwe5c6u>SI<5jZs4p4gS%ZV!~*;8Y|re!o- z40P?^l_68rzH~)!os0`ETbA-+sSHjI=RfK@k|>szWqUA&SurvdgbPCpogqH3_c!cHSyw_E1KI?dTHfWLr0ecFqFnljo0ms49FDTRi3FE++vc zSwXJ&Y*lmI-3l;Y_1qreYbe8bAHdxy=nyXi&E(BzcmrOgR+cuzAL1<)ur0gd15)dd zm1XaFM66jTBJ|hTd|!-RqPYbum6TY*S^BS%tjtVSC0X>FpUo#ub7>KoGGQb5+tm`Q zTbDPu%~=&ms$BGRTKhqsij+vbZp!Eypi-dH; z_TzR@>9Swdp7He<1<%n6!>~^p z`GC`5E9+MHa(p>bA0X4|?Jl6d!kvL{A<(VuAFX~>{LR_sdrb5`d#2O#JGwt8Ffjop z%`tiRh_)i;*UKP!d{M+D(MM-ix+RlGv!l%fajfM|eM(>CBibawSY)n#V{QW*q;bhHlMXCM>yFlR-0`40xLc}7PY(et zKs}Gt%FY%wty-HK(z=rLn6j3Wg0I!zTye2d>ML070vkTge_qea#ga2|BXjp#23 zicF@CU2>Q(s$xb}!bwyrz~Q${e(6(yYgW2?CakTzQ|BjG{QW!^K=3v$fe}pOiUeZx zKz@|5M+cCC3jr*rMR{NOJYh1Iq*i)TLXiu)IFK5Hj}2;Z+gX_DMv1x3M}}4Xu|esB z)*+i!;&(0bjhFEeUp8S7{E)F{@ir)IX4F`CODRLy%Ma=o;4w)x=KxSI3e7v-Kq zbMtHrB60AXj(Vz$x%7c^HA{|;8EfRk~l`mk#1ioN0|Rd&Vm z=qVBVN|40b=a3=K(snd?my2PAaFTSZ6iO{v@jR0^liFkwXUK2jANZ3-De9g9XlBr( z*<8`8OsWRD)p zH=c?m^RD56hf&Sd+H0u*28%Aw(zeVIl8r$`tKD;;kF+hs^GVV9vS@ARZSJRNXoe!7 zc~pv%6kuVRXC^%r2N0hl@kA9(sDpf0s3>-9Dv&N}ILWMi>BlrD@(nv^&FV?|X?OIa zsZB{`C@S3-2tO){D@)=r_bVI*wWm>EDPcz-BkUmP3TsZm>=ja{DS1b+$U8Q@oECQA z#%gP>y3QTEMGb(~)$}xp*h87lWVU)iY3v@mmBnL~bdpc1SfI7!Zhu4j;c2)2!brs* zVlPZKPQ+fBf(hh@a43DQ{ID27zUI?kx~%9>#Yn7YQu&Cqb;YXU=&Uue3NRtevP~Bx zGS~R^jrf)hp!i;7`If%A{uS1W;4JG!)>C31Cmv|BDG=<(AC`k8 zV16NBe8DfwL){-ZB-ED10xjor7#9xp0 z_1aPtGhL7>#SE`F;84rHA@14gR+KKgsyT5WCSQh|&Dv|RmdtNmBsEq%5C4$g z`9$o60{y8HDH3soFVOKWQLX~v%Rm>O_LwJ_yd?8bQxCWE(5pS}PUdSn+&B`q39$`O3&~Mxz!or|l9T0`B*u)D_Up31>nx@O9EB~A`Ilb9%k##rod;RP8_&gZ6C$U`;@&IDM>w zJJSW@dFzd?b@N`RHu*ohh(90sL-|N}7xq|QV^AEED1H_f(yadajlJ1DCOeFq;J(wp zprjB;W3b}7_E{y+$f`)bA4^_zVmKyLX>DoY3U@@%yR4ve&_o+BI74+X3?tZ zvQO-+{*)lnp?+89#3q)P-*i`2i?9k^*JQV7LEc_vxJ49`q^RC=L9RM`Tes_$s?H!q z>ZOe0OSj*eBEn~Rmp+`YZT?5TS`;}wF?1+$`j${%K}W9IR1?8nLfv=>blysJh*o9HqD>}*JE zcvM4fI+Rb`!0_7vW9Rt*e&=-l{JV?g8s=<`9Sg*UFKas{*2%!9Sg44g5o<~(%qgO!G`;HP`Riv(wAFchDJgYd6xXS8@=sN;@Tmm>`33l?<6^+PW zq9|6t@oGPOwpf1w{b3;3xpeNF#j)2s##2Sd!$f-qfcCfSOtB*qCf&qvt)4Jl#oG1z zWvqfOi6^MA;=sW3Z#!Z1#9q$~{dEFR_d*&Kqcm|Dhm2tXKnH^AlynS}RXz@%k8k}# zq%w16DqtkmNM#mGjAuXr4^zr+y<%dTBk&tfxOYW85qe03&dBbWoeSxD-)s7a$2iow z=ds`X`q#f!Gi*FF@KWrR{HSLtrHyAZWpxns;OZkXL>WMGLN_pfE^+tj=2ymAhv(6v0)kTs zdNN;R_@)h>?t+tQZAN@)=?!@i^JofR8Dh#ZSz$;Qw`u#ZL`MGfVBYX7FYI+ zt>2%Vu$XapsHy}R`DP((2?tIsvbY*n*fmjq2~`#IP;^yN3@lJ!l)^O_*5;Bwy7R7e3iSsecbk|kacOdHgX9Er{?K(6TV+E4syKXK0AyTzaAdUEkj@s$3K{~*1vZ=kCPCi27Yf>0d34DG`}#X!ZLqG6*a zd?7L1>+R#`3bf#Fmt&?dIk}NwcW}Aa$;JZ5myYKGSEG)jS3XC%Sn@ZS{+x~fhFz9u z!m39&5%ceac2h48zG_`}?JroaE$v#aE$dsZHSJ%noex(k*(raAeI%#7$ZF7o#D67{ zwk*bT-0@>0jGit)VoE*a*3(zH)Etuw5CsF|sP+e72W^ zdmsmaP=R3u_x(F*eaPrZ5UevZ#p91p{Ku{F=p$}*;>egPWoM89Eu(3>8=?Hp!g_s# z;QPXXMe8JtAiH6E~22jb;ucjd}&l>4m@LDeE73gKa>9=<+J-|(+>^? zTAP%)#LqqjR9mjldjzCQnw!$PBfooub>}r^I%^3M|65Z33FLYE$JC!guPMSLq;>kM za)~74uw}}yMCut%{y}QV{LAX^D0&r%o!_ueAp6R+yLu)ealKhl{LhFce6hyyDhJ+~Z08GN1a8Ud5zX_;s^y$0{7=h9`t3&iz+ z-^MQ~RnwfYIHrgwCV-XR5BIqBV_b-)GtXjr~LgOSyzdrLwO0`}@#lTj5cs30Tr$ zf6pBs_0PqR&E{;<{So;aCNbi0=|e^iO5|QUD_AK%3qJ! zhc{J<-5#>HYT3zCJ=LOIOx5VIU}YEaS+Nk#!gs&1Kj%bl3`SSFD-YqjuzH$Ga}v6g zA41n&=_JZB{0apU-|>KDVIG>TjJ=ai zWbiegNQbjWuvG6eagVNF3(iX5e=#uinB<||1jx@~nQoPpGPtr;i7EcqVsj_JNO#0?CDo>6V z^JEXyQYSM(8i}T-mTN2f7HLz8sOTA~D9FVTE>2!R$rq@Ro3j6s%4YKC=_{?LR@p+H z^b4){1T{wN8lU8wUTS@2(Q@r|y7M~S+DO$apZaeu_7IlRkB~8?x!N!s@BdJi3MLz# z*_b1|?TyHTj6FpscG5~DbOrj8io@sK?F|l<&^l8~Cp&YoT!KvnJto%h( zOIWOT73~R4#RM*=j%1-~Pc+D5q%pbkKeoT>OQRP?`dyq&?_1_88Wy3JvFGv=c!$Va zS7@s0bb2Qjl~h)@1s?x5`g=xywb;B{!SsM4IgGtUn2Il!lM}Vj$0UbjXF2^do;ekR zKAF#@Kv8?3f8dDwg!_|54sPrTyfzyYF>M4TY{UV%h_HVNW@D2afR9@7}}72LWO{qxZXu2H`A_ zwHU`aH537n++dtY{Hs*60hZBz=*+OH$IqAehQ$V+g+SPE(YCc+()CYM5mbTu#N|WU z1F+KWK90K}q6>H5YeJl84-7KAVfSIwvL0{9WyVUgOZfF?XN# zzzF30aPl(!sN2{x@Elv~ko#@B2KMW{?&QRsY%-f3=1(eXGU=p)-x>IW9)lQ3F&+W@ z^D;OzjSKI|6&9(O_{}JQYVD88lQdBM3aCCM13m2CN1p|(!jKg8D$SFnm^u!S zeaX+uUk8@*YtO@Y&{W?#(DaXjrthrKl(~fLFqrc2_k`M_l!EAC(7-*!^AlMhbKo^b zA&dI*#(;`~c<^P^2#C8LL!9J-_yvY0G21=UtXRyeMEV#^O%Xchc>az4kOz_Q5;+vy zSX#DQ_ zHzzJP>PIrHjZi>)mt}3;3XEC(&*c}y|I=%Bo}tee)#&T}uFyiY$%zEaj|3|4Cy;0B z0`amAe-N33pTiRQ^0yBmQpQemirC?Jjg=lc6Pf4nCnr0BI=R2i^ST2=3E#fJW6moz z7LX*iH2ELdv#anCa_fwk^I$~NJMfbBz>WBDXb*$~Zsy_4$H&T_rTkXP10B@y-3MRN ze$-X5>r|{nyZ(??+nxInN(IkDjpG_=9%+@Tq5w69-?>e%h}p>9RaiuJ0=vEPBp?lMR-1eKNeTZ|mp$oe91^ zOP$7v&V*Ixe=_p%>U8P@e`g|2+?RbuD0ZIhD5!j-i_Q9_BE#bU5;hw#GblB>qk804 zWxib^=G$q37${sg@JwO{LNwHok+sW2!RysJuS4K@s;b$mwO4Y5#9#mV>tBoSm@GOp z6v6VWN7?=bNwrxXYa6O!!{2nV&>gfJF!t>%10mxdAi0ic&Uu7Cw=tR3;(<-Nr?f~I z2~s*0sK*xbbWd6CQ)OLIQYEr`dS{h9+cVi}tQu;n##CBUJND7Mv5yvxebg}a(bBPx zZW{aO7I_3AlV=uKFS%A(wzRGPfWBUhm`61bJ5$&eDCE4pIs3JU%yM5Z&VG%*^QhOg z*{@5+yspfCT{h?J=-egR_N9*%S&lJU z`?shj8hWg#rgNGwz?J`4Mjy2=>ry+_^lZ7GtEqAa)*8(>(U8%6OT})bDlRY=C^MSH zw_yzQY@VyBIm;S`rCKFD?ukeh7w~@*2UBY0(&X;Ba&KH^o~Lc^i`K;Y zdZQ~jIr3WGPN*&BJ9LXaIDu50b%E)1{@7r?w*9wwQ@Q)fdy}8!Yn)&M(`zy>aK2OT zut1)nKQ2R=B5i~}WNeuUJdN+p5D2@C{OH36Y2DG1&J;2$)lfrwvi5W!S~ZB=XoqAF>Boa%1nel) ze!Q0tN|S#8;Y4S$)bwrPXSTU=DV+#KNqA-L59|x@{R>NPq8~K0^xnd#Z$F<_&A~54 z?=Ms<#xEv}3rpu=^12k2U#mQYD5D{wo%640k2z+DL5y-FHeAG z;zg8va~tg8XdOS{xwd1Pwxcdj8li!P_}>4m>=z(`MRFrr3n*(nmX%A8NSyHcYbAkB4V@Ly?g4C3;+m~AKgaBgNj@nL-#5Jz*M>mT3T3Ka} zrvFF?C}uplMB7oX#x1}VB{Ad2v^3O|3*p~fryxu}#NMS?>|CT>kV9$#KlL7OfMz+;otGGL=e_?pu=9;JE4;UC3!u?CU|zt^|U@VH!rj^ zQ)Fw15-gL*OCyny+0j|O;R0>P2con3t-rK7xAG8?3}`*9i$(dhT6+b6)OIZF&5H(l zBO7`rTp9*DCyGRlrID0)3*wVJ+g!9%j7^u~0cc}We1s?&@JZGisS~~<)DXWClPn%< zI~I$DgjlV@jRPcsO>qte{x}ygi6=CkB5}i_je$3;P&`tVRT`>Ht_uAPeoS`8pq3H%Z(eP#rP0`#&sw8 zX%N1TL+OS=V`ZA}yY5W)b#G4O?JX1@At;WGqKVs4ZOXSoNYN|lveh$oLC2j^$nR6CaW6o`hN9zFJkWMj<>^nT z>HIxDW_>g|S5RSvM`8V3W_Diuv&<-J2<#)-SsrJ(xDpX*gqcsTtPm>;Ye0;BP@Mw> zbWr+-QM5W8j&6vFd7UqbL1_K3>@Idov@k2HtyJ{{S&h;X{ZPk4JGyw|J|L>)}dVM)EImeivxsU7xXwd5klMk2$rSsk*N zrbYw%t-q+dWEuOzTh;0@o6kHd;Cjqeb(>53!J(E*BgZa_bRBKGdub1|!2&HGe#!t1Uyov5;hZ0u92D*q7e+X9XeJNVLZ3{LF>>WRQP)Tly6GYED$$=yvL1*hP51Q^dYlEx3lKpS3H@N{GxCd%PHgH+| z!WZq!$;TqfXsmFiyhB;g4wiReg`~n3TvilAnb>GBP zSAxqW-$s8uk)u{(#)C&r?dRTCQr(=HRNBviHzGRp7hCI>ZC%_<*f_$+bk{e#F!rin zrpR7f&k;G=&)b6hreZW5?j@FpV(ZdUD}i44a;t(;&AXouBSWcBA$F;So%PLWRH_RM zK5{<;$T#_e!@B(CobfiUaIZK&?Nz|Yh^BqoN}Li%7FgwQ^#R3j&9QAGyiF@6I%X1d zq97Tu=Gpn1J-+NwApKGvHy5S>2=JgXQtBK^-mdDz+`|DcZ+R(BTeca5%7F1`0nA=%OkllY3x zw4}S}fZ(hHw*infU!&xwBCyO(IfK;{5?=N>2XyL}y~$6h74NYS1e7nK82%|l=k+yO z0I{CA6?tUzl<%Y0%~>;sBQOg+T8*b6oAj#wrua8@svSlIK&)m=>&ZYvY(lf;j6U*) zcF#kckI|b4E%EUq_W@6LZ{-tO`?uxXWb4yM1|BWAxzP2n|8mbawfbkG9wB=W*`Ml* z94$VWJoSX8wZD%i6nsnyK4KL-eri7iO6=fk`b(NVGC}KDK!xg{40{v#Tr*;TB3%++ zUg(0z?Dr6VLItkFdXoNAx)|ETnG2ts8bRky=9)28^(%(U$uuNMhO%-)C+U~v@;U+E z>`Yo{Eyv**HO%pN!|;f>ydH!4)wVp&cWUO3=(`YxV%gFZ|L$)T9IepbxNPQxSO=g< zOn~C&j=(x_NwL8Flf#@L-wbZ4?cb$ZIRWkayaxJqOJ<1zEcq3aSH(s$ByP%IP!{qOw)%a za0>af_6dRpoX<@GQC;3HNf**n3fwb@E+* z9tQ+f`$2i;)kI%IR&@L%2ic8;7VTxeV}n`Yd}&<3^gUSgrucUjVZ&t4an(07b6ol} zYmT$#H`hLLnfND&v6p0}(Au{E12SHn3SFdM3m-E@ZpC0Ty1$d35~lrK!*bl-^ce@86+nf`v>+*u3k^9GPdRt@R|6>>&_VK z2r0*?uqAzs4p4yFSh^BSlu$b%wmi?0Od5yeXE1Q}N_5%gK=Pvl2PDA-j=_hbfj;a` z>gSMJ_C(7C<-JG&jYAM;7DiH zWIh=eegN-AZ`(-KWo!;#eve=%jzC?6po|UYyHB(YTQ4q<7x>hk+IXqi7%cCKdj14t zT$Np$Cd09uh(}M-&ml?}b4zsz0ukXYhIh|^ZC(qq{akty*YaF?1z=bz4Qvx$j563Q zot5HCUCmyYj+x=tH+c!e=rvHf9cQLP@9H=Oq2blOB${2kVC^Atwy0#z$OeT)UL1Zc z`JIkaYbT=9gC#0Ik-T95tq)Wtu!;tb1Mb;?yXAZf*e4XQd*6U=1Jo}8>a)T3xPtEl zth5@_5M~_K{?f3bwK0AO4+E=1S@6z1FSC*LBLG8?Rcn76R|;W;xfX;y2fi|Zc?28m zH&>lBR-G{#2Q38rBiLu79;cv~Flz0Jf|d{={%c&rGQm$d?TF2T-tA4ipI_f*4k|V~Ze?&8e0n5Qeh6KU4z5Nm!0B*dgG6 zxD-$xR{`ZJ#iV(Ke@z#WVX$BDCPpxpkC#1YSHuqd|W;#u_|%GO0`(Q1bBl}K0`A;n5q%N6tf%W zm3mHy8Wrsa^8oEj-=hjd>C^RlPTBZ%NMkyU^0{=_L(7;W{H_iOD>Qr<$k)=V2$<6I!~vp79J3JtORc-8xO zdX55P<|xOSh50(<%vXK(e5J!U*z>gyX&PsQJzu`8`8uKI%U8Kq&6li;oNvXiM&?VH z(v0g}W`@QcKl8JQu~>8w_{Mt7tj47*xXF6A&lo7**VZH0UOB97eopZGIOl(8CLiKw zkqxd?z2pT0fw0D|>Q@}f{PaHEp99PX1=$rK&xP!k73Tj4-@RGzv+&*fXYu_qhO`7} zj(xDohQ!>s-CU@c=MF+;K&!6Cg|A9(9o?cK?z+a$pOy(iTx$F=V$&D-V?+7T4Vv2~ z#4DgAcisnB@|(Ps`$KPs7Jp1ga7B!Zn?xAdszZvO>e52Z^p@y)=@mt_#B*1*oj?oc zTaAUoj1LHXO0+&=0N@_L7fpgv+RS}M0EV1Asaf#L*+0a&LF*J9 z5oZ_^VM9{D**Xa%n_exd;^>A#w*?7j;*e61Pt4i>`H;R+9M)gF(S_)PMn}Flr&?0k zR$GC`Rxf@lYzURb|Coeyf{t9LVp6TXJh$=mVPo-dw|#LWWd)_F`@X}$$#}=wR|2{f zuG<@KhPqMfRYoV>t(*(XF)T`C_eS3%!~Vc)i;>)FGrS z3QxPfoBpIjn|Pa7*x_ED59YsmT5yAbc54QAMz;Ao+(>CF&5do6j^>n2zJ) zF@`D*5JKsK?^$Jg%qlGRLl+R-+frMm^_60;U$5--#iVk$P@de*jO`BE@zghD|Gtw$vmVsmu;}w4p__K{_ymgG11)sbEXpI@N zwH3^|X(f;0zKA?RfKkBtDsU2dth=gUKz0Uw7m~#2L)}+FLy6|51lijx2B|;E zyHXC1=tF+)?R)@3ycHh`YRid{Z*8pU{h;mDT@)H6euqG@6i^)p%(_yUa&5b!hP3U~ z@=KK6>O5msDN-+w*1k_FILu>WadYV!BN}PW6^xJw>ZBE^kv)x_ke$olJXXB%DFig^ zx2PSI#9PH{BPudU@1HCXqQn5(YBShY+t9@E4Vj*@ z;+T zcTnGCjSl&r7xtjG0XhBAf3px3Es@~|o0Y17iHa`9#kJ7r)?fON@K$mmHVwsXBfFTi z@ZG*$p2E2W=B!d}i$sscIl^q$doe9^Ka)BFS1z_gO@Ziwev!G<4C?F8oW`)(FD9;9 z`)R&lF5s!f7xxyT(#ChQuDJ?;fQW1yDF*MoiB({>g@?{x#xqN`zznZNM;n+vPtNY? zjG9;e=&aua>10!`(*@F0R)o3E(dXND>`uKlQjcse8M`A^z$<=08B8NG{0RLbAEnGHZr40>NBgCLdQDf`v)Omp=D<7*f<8{sq zt>YycNxV-g6x@i`=V{wpg%DA?WnX;9*R5)CbHm_ND`&;ap9cAJn^xXldLIy%--!LY zP5okq($il0ORnV~mtssK|4f8JETU*_MIIQ#9=tO(|!xVgzVqYR?BR(pLn$lGCb6PNYZY zXHKN!oNw(zN}i^)Z%!Wt4CA(Uw=jZH{Wf*Hy%+IP*70_=s?0+^6pK0-K+r1?v8V&B zT^u%T3gImDL795{R_KFP0^mX-kQ%U)ZO-g0;qMizn9Mawx*JG(N6nw2cS;OjDbuHp zae&O!A+}f&uYpFjBo;&xBy?N)aO2Svt(kD8CD{zV1suV>&Rz`hW}0N}v_ z7Z^TzAKSVOz2m8sgU#`)fk4*#BctD6XuUsMr?UD(e3)GF!KMN{mVzYBF(BT{h-IZy zVmyF!2;rlM_(h&8Qnak&yeaYz^0##l@9bR z{2a?q2;U>v37mke{{w|2DEWB2>c?U%<+s6RIhP5%{_OWx%lEg&UE_Rz*8D~G{C`Ky zzsZam$14sn_ZOdX=H6ii)W-d|SWcjc5`?sfwF%IPcWtx4jN9gDgl&rVS#}o|h)I~7 z1LC)qFc~rpDD6^xe40KwSV%utV*#ZmY35=u-Cf~z5Z5os{+b6N!`$ZLI0q3yzr{wx zt5&WY1(s;qVTSc5ML~uFB1pCZ@Bq9%n}TdT+D6{~RbYi?@QshJWB5ZGTVGXs>7}!s zc>n?a_(t}&Jl0)${QcR+KcJ9_%IagTzbdgasoCbUt>q3U<5pylodHmki{OTXiegOg z0$iy8?X0L+hlB863p3SR5Z>Y}CJ}zNq{!L{P#!5^J`}+&`3W1(=v^Ltc%bF|Q1B`T z=?p71E#Ai)y<0zTC&(;9!n@Q{Y_rZH~#f+<(vGRZ}yM-4VwqqdZlNc%onmoa;CD7 zsSF~Q8Fwnb@YBE1R4UBNQN^pXW$hV@x#UE#wvDv>1+vPkr$$;nf&gKeg#^}q)VL&r zuj4&eM-^rW+4^XPjy`%2eKc8{HU^T@(q}@ZzR~azR3F@W4)}cZCw~k0j2^qr*hjQ` z@I+URW00-(GWbg&@YjxCPMtyHT;sQ-LVwlvsFu3m$BK#L&qM*Q?mAab`YcJ!U)2-) ztQ}=DGG^6CUygO211i`5?fPPqXU?WHrZ2LBo6gmjNB%tvL$UJ7p$k|ie~E<$o0r*C zYTPRfT2I^8_$v|;Qq9n>fBZ@Pd*e#)$vL(vP--<*To2BpkRvETPhJ)22-HGb6 z+2ONgJg~J^hG^$N#eC#S#0&A`rZOL)xGVmru)4louAk+3nn28=CvxQLP>3W{pHm%Z z@mj_o)m{X#Z-h5ub4Wt=p9?u=AqQlF$Kn{gUa9`M%}NArHWgpdK!~3uSZw4sW#p?% z{KUSPt*=+|#v1rVeZA*o_)0TxPQ5=|f;fcTO{^T$0o+qB(i8k*oUz$WdP=RBNPE|1 z4MmMf#xoxM&>)BBL!Zy4AAXvA3-rTy^=(u2X_eIaRp};(_p!H9pG^-}#pNR>x)j=y zwTdW5oWk@v^hd=h;IUXX=GxNI1|-QgUBc5!WE7=Ff9!}yKjM$QHd%kEq^O&XazHBosOyKyvwG@jU%VRZ(}_UgF2+8#_uM0>M>%WuwB?El(C&_iOF@U)%Q)`~GSB zzSF+{FZ+I*egC3;|4sY;Rr~%v`~D>NrhY$n#+Ea3Ev7==_``(c&un=UAg--J+K0f3 z{PYvCT0t`C`rbjuoi{64OiNuRQOsT-`<7PNQ2c`=2e5O9X!`g0F4L8%>4xC~?pL$j zl%8!v1l6BQ2>$SP+c(lY>QJhc`~zP-Zok<-`pr7$%`R2rzvk9>v8qv-ndDIa1WKZ~ zD?YtNEQ~C*k;XQcUdh(Qx$ysCbR5x#eh&EIw3^}%#?ONL=lcFh_5E(=`&Hw8Z{zpO z9QjIFKCE3c)Pi=8C9n6hZ2h|xnKdC45vb+HIw zr|nf?T-$^9IbcEyahv+_@fT^e1Wq6xP*lHa3ALaIcr1cwQPcp|j#9B(w4%h0`WeNu zK?)frvRK~ELQYlYpr&+Ov`dKYNe=OHn>tYldr$&@_`WodLnrJHZX=cp{& zIse$Trz?7mJ+ZFI7}ycZIx$HPU+ zJiKxr`ZD2tt8sDyJLHATtz>FRH~)F7`LrDFVyW5D)YhKT280;B8sV z3L&KaX_EznF$z1M$m^88E|9CQqXJLzN>Fk%zb-X5Sb97COR84H_i47(&Gt6KYAh{w z7yRw6E*Rjr@RHkJaRg7Y^4K@nr$k;!4_jYUJBI`e!O{~^VCQ{GkijSfgQ5>zhmgZA zdxI*=o1l7gYvxUbT?;Ll4SwcaM9nqx^scJ3v^iO5$(Q}MKDNQuPhO5RWAs=X8aYmy zWu! zN|V0>bYDQv$IJL?epwRZ(vKov@mLvbvIGV;o`Xa7j&1R!6eZ5M^U(MIf3{1ED*rzM z5=Z;)9_5%Y1`EcpdikKtXOUZtE3DaT**;h-@L$R5Sz;N75pigQEd0;4KWQx4S~DTC zz(ejs30T7VDVckoXalv5_i{#=>-|_fr$Tp}s`uopY!W_Voork_lB(FfwZ7nfirpaF zfhbt-ogriq#{u!7EU&@E8GcIklTfkROWvq#l=a_;#P77$UM^ema4I~(=k2U7ASt%& zvnzu?SN0HM6kSdIvQLmh^E@uC5!F|YgsxOY@i<;Mh?6@(KnGglX26mk{y};aKlBd> z3!mmvG|JFcVk#U^M4I$jHH49akMQUe$x#{B>)pXQ*q*fBrf zpxtwceBX3NM3q{*Uv8wi&(NGSMi+4@54u8+U|?;1((*I2>7)x0| zy^`6iCZUecXe^Vb`cP17|0u_hM6++dnY!qMbkCJQO`3Y-bzUW|<7zJW@M|6`*fx08 zfTbm0{Dw~h8z3%;dqP!Ps|qVlweKRy;>J2{dvE35)hgVix$s1BdM1~i2&(UYuf9Le z{vKc0!sJsN#HVVW%n#wSv`f8y^;1^$cE#WZlDMSTuKZ$i>5hP^>@`*TF-l8-f#e@l z@O!UH??kXlUq^t>W20b!K9*>gF%^a-*DqvY83Dr1n5)Q$x$*4-zfb1Zg)UYDt@4|J zpR4NssH(q}>XXOh6|Um%1lR&ZqL4`DT+`F0MBDkH^CL&kbk6etexJFZgishpO^H=q zNx~=X7KE$R%bHSY-oV6rL22X@V9C0GxvCg%fXb283&nC+A!W;J<}}rZmsB5~|0I2o ztUO});>G3TB4K1D1y68#9jTd`3Y5$v4j$GXKe}cM5~$V>OlRr#r791vo?$_hgt3Eyt|5s6;;rmFDcAnKR}^fH z$A8~N15FsG{B|ZU5?|ubSF0-XXWaesgAy&|8+-+czO~vvE1%4h=hv~H1QHcIb!q_H zJj6sfp5MN(^!!kD=^*_G5Q0eQFuFRMJ;ty}RiTDOp&RjeF9`2t4-Q6~OUNZ6fS2NN zaistwg2Xd13+26$C(q}s3x+4~pjxbRCK$u1ujxyn0#(WXW$btM4yP;XH)}jO{BPSZ zn3u0@xd+J{Ud)kAQ`q3b+%O{2Yu&_zmI+ZCo%MCJTw@J}mQWOPA*ceF)-vpg_`r4m z;Pi`Zx`PAa7U)LdR0CSOxO`G`u|5P8cL@}6w3PTddeW`k^L=?B=3BmR>PJVk4&ieW z#6M+n%tqf8V%-hKraarsA`X{dN6_7bUP2sbHm|Jcl7zM@@cR3fx^dhfPGzWKYQ+gc z-t$0K{{N2dML+DW*bTdCJOgU^w9P-^naq@aY|wb7e1CM|znmnj zt3+}xC0MNB4WZIL|6Tbt4)bQWJxfHY{X{>1$_f7Z$BX&%B7a_gWx2LIxm;`cEwO7~ zKgJC~W?P=-Ci$QI|7%tD4Q-Qr^y0-_e4<~E9bqwsf6i+OEE^-RY%<10F9Buc$;RE4 z^iIYi{S94KWw%cvlntBDlxW}RD(W+qZay;c|wa6FQSm+AB!|1*I88fiuRF^xv*yv+&jmi2k zchLzWu!VlG!G`xHe?k={=Er4@G4xwm@vMH@)6(?5g_jbhv@dSf7EH}>`pLZf+Dp$D z*VhIquD+bN(rgGt#Wq72m9o?tzqs1Wh{sm5*a_Dm)L5ObyROikY|^$jG5u6g5$j9J zMS!|V0X4b&*@`{nOnc(I^5-h{$GYBDz8@jTEpwg z{NFh}?AgiTXL9Meb(reSAPFL&nmS}&rWyXo#t9R(j!wD5im$+E4Z=y4#%%>^S7(zX z-&1Uuik7lPi9H&~!bu;n*pk!xV>;C9S`SDbqnhsesUnXRy#ZxlT^V7DI>ZJ?eInMg zzPLyt6ZcZSr+x;138X?l+SQV&-#|F70<(UDF;n{DD08JR#J1qX{Mgopf>T{saU#WY zbuKMEPr6}#xlC}bq4)~ogjf>$hCl)_n`;~C4v^PhV$16nSn~Q*NTNY{j6iAP4tltC zVd;61-JZ^Q1rA)(;LPCNJRi(R@PJjq;C zrV>9X{u<@2xQt>ziHs}$y^kU}b`sg4B$5>q|1Tb9W@|iqq161_pd$2LLH)>?@@jk$ z8kVG1c~lJBQCdrZ74ymrU&*Q^!~XlkD+k<2C{H zs=%p>E89-8y{suP)UWxVkg7eN&1&$3TxtnUuYqV>Ul5(UDfTi%V^6g9=M7`p&A7yj z*PhsB6VPWl6-z|Sy9Kyyvf*$@LM<;TFs(h#I3(fUNYpf(mHIED?Km9z@0}tmZ<8(O z*49FE=}ZsN3CbIp4av9Q&&;>gnbQ8PpYTUs%=bPS`L(z6lSqkXFy0b#rg4?wPhQ0M z35HbO&F^r2jg2%-$w!Q-M&pd+&NRwpk7u+!9tO8m30~lCj!aN759M`&eT@z_So*?? zBby3co5ZOCDtJ^0VMnNCDk5sCC}D_JfutAIIs$5yjE7pPkJ7)h;g^raFlL(mOg#3{ z@piY)Ul#c{6>7!kEq$-A!HQhtF&B%#0H%GJWc<0&yKWL|^vNDzsJ#{L~hwx?Fgh4S5PA@L4JiS_Sn5YNtMSeGC zQgtOFwGgh~#z;3YTVdnF16eTWBy^aAuvz$;Lm!B+Rk~lfB*2 zf)#EPf>+yqLfi4R)n1sO*emBP*N3NtZs2cGxIF4v8ABWLKuy zAe(bn{4S39BuaL#*}hGTff0IuRE9gP$(L9oIhLep{LdM!g^5vOd{~4@{2d>Y1MnR9 zPkedb!?L%?W*bUl7|b2+M;DkM_ndknA2Q>GLj81J_`T-G&yfCnz6AUYJuRt@KQfcF zibT+SM&cCY&6`u*yXIHsb%W|I`3rMhnf~$_t^HrAU-mn3O0;9Hn60xrPOY0}ex$hk zjmqa%Pck>nqG&jtSWnqG%e*ZM%$q&N@Aa4RNqZD3hd{o-Tzw|?ns?EP&EGsJ8-5yI#NV=4ADR)qh7?L+KO#fWr z7X^3F*H9lJJv`eKa-|26{7>ukYzB8HMHpY`bI9`uqfq4z4=xD*Dfw}`0!eY^mlcu6 zia=ywdf3xIRO&M8&di+}zFgb>YuFioUFGrc1q_HZJfxgE&xY1V=%{^3FcteU8=SLw z`sda&iJ&D!^p<-VnWQK5mUlz)1|<@RWYAjuIkqOUe|yTi^^uZCN+_k(@1;^>pL=)Z z;T91?kjz{*a`4#OjN^xj`(LVPCgc%#jfW}-79f5{|A)JGkB_Rl7Wik9flOfF3^;{R zQyp}yNr{+XR3f1!AtnK79u^^1s?;i?wU);WL5q-Z63xjtSKDjfwzv1T_T6irDAY$1 z+9Y7hvlm6Hh_*VX(+7`RNJ5+ZzH6UzCNm*c@9*>Z{qytlk(@ba@3q%nd+oK>UVH7e z1Ck1o@`l&DafRxB0Fq%^S#2~8)2Ys=x$ycB(kNa43up$O%0j1H_I1iqTV4L%>iI77r+g?LX&DS@Tf_3`I4c-seem+g)cAew zmQ9o1ccC%Z{I}$U=f#(%Kj0lnkM+c#tv$8ayUM8Jtdl>B734&{H@Bs1o-2~Ck6gC> zGU{lRl1i-6*gM*MpXWn!=FD-$H+?8OsVOX-jXC#e)r3wxJJeFE>ZinLCKN|Qrg%{v z9C;`5UbMI3%v)RgvH=sr;rh|SmNQL}569N!$ENb#)6)H9%iyHuGSYcxKl8{Ru#QLG zHZDjO8W+SC7a|6F+y2ev8XoyDC($;AJ>7rvw><~ZTx`t)VlIj zrKh8lphER3qxJ*I>sE;eu}s<(uWE;Kt9Z7HzQ2^0HrCXwreI_yl_MC+efW`+f6}|E zEjTGf<#aNwe|hP%4n-Jl<%apR*FJq9w|SnntIz3a^{(gjfvcPI zMT~0O9?NQ+&o0b?NU+){?tUG&_$988%QaaM#oUeyw&l!)Af{FK&KAoB*MF(n_BOx9 zH=$tK`1*{4q^X+SdPXG`DCWXjZR^!yG@ZF!+j>3^t!EODOw->2C-XG_oPMR(eOZN7 zVZ+`XH_d!%KlkUp(fy|>cMTnTX=J4J%*gA1pU`|!>zQvn=*A3wf;z2d$}2UVMbWgL zY5BsJTy+GOm~Hh zy?dagr>J9^(NiJw<*puC@pLC<8i(%M7etkEPtpmGl#P2n#|}kz!e<=%glDg7ww7XD6@(lJ)A7I~8`R+o>tlva_h;+=|irX)Jzq z=uQ6mF8EDNsaslmMO<*}i#ohr*!lQGxg;ACTO^v;sGSpUhZsh~Z$h$S#& zm(z=R0#ZIpVgOZ_A3=GUOI zMzAXKYuD|i^^m)lk45^(B<v{Epo>rMQ+Ai+tzccEn5|doU6aCshs()xbOM6r&g;R!2j*8PQEPH zV$-7_DE3K9?rv#B8f%jS@_AZYoadI^p_ZY$qCxiRuk&%zzU`~iT&`*(kl+H*hj_zz@Pbb#`w;VmvGPp!*FQ9N|gM0MFL|!03I~%g}t}JsBzl>wGr0!Dx zY1^vZ)pifEqQ{GO;XP`rMWYf%X@#plRi9SJAcT>`6Sbj z2EwAB=X&@uFe5sJeiF}ItUdHu>uX_npmJd zY7YjPspc>Etq(FqB%K%vSZn9N7~LSbl6Bu#^)Z<&V(-)yzrxt5iL6i?oD-dzlx*yQ z&PjDGgL4RT??-Kg)a58di?}PoAVDnjv0lmHj)czlUfwj|2z&OUXd-KJK}YjQ4@$TxZ~f_d}hv?sAo0F4S^V z1D*(~j)xUkDZRKH2qC%8bhX|yERgp9sS*I8WWYTb)?BisRmlC*iv=PICV%8?7T!||#$lE5b{eKxC^ zaK_%2MI&x=D)>p$=3L&18~{R)?M&X~lO^j+w$?tEB60CAwv_g>BYN1iUE1X@$RKIC zN2I+(v_6+J+7hc@JTkH%51QxkrT7)pGrE%(VNB_DB_I-ruRSK@OCq5l+vmG;U#O{z zOtq-_XGP8AAEiQkX=fK5kWJuVyzUH=V_mh(s?ab~z4At$Y#) z3cfEG-QcO|U*olLIECK}<~l}4>1s0fJ+uK6i178-PQP|;x6=cy>ZEj{$RG?x`f&qg z;ufd&wkd`c!{wA1BTTCHUkgQs1KL9}Lu6pJZC0t`Q*n#UOZQ5z*I&#QE)(R`j@v1C z`V9jNKY8kQy3Oo4Jnc|T>6z#sz=8gXN@YZiz0q?RYGq6zMg!BEZ^0e+(fDFTigo%B zq$m_p3_*&cX{6}SBt<_{T}bg0A;s9C+5tISW~)esy$aBO0kQail6#_<2(9`CZ_HaM z0i}9QzkKd-n^JqUs(nH!$)6t-tFqo>&a;a3LeTwCr)sxWr4lgyVstt(!irB&^vVMeKS@VBJ3*fPmD zmb*`Df00n4RocD1{Lg*3w-HZps4e^@>Kyr@`t$1J;Yay}&~H-@suK!xv2${4nJ@9h zzY!!@ek1?wqf}Dt)fM55RIUndG=D$=i-o+}Ls!UEPw5PH2PBABxKHiOioA~qxbjnN zQ^mx|ik^@u9IusqeoXAkBGVXLWqh}snXR?gpg2+4XKXtwzcXlF#Vd7I%OXz{9j0{* z(KvnV;{QE%Kgn%!Jwu`S6rr~3n)GSjP}p*bT%i*+%}u}S0n{9 zG#IZ}oc3XT1Ws!P8Ke{pFD2|r_g#4&opif-4k%uGgb&94)U?~J#DZDRTbSt3>DOdl zr%yR<>9nStF=!rTB%MWrT0zh_N7c>W@{cngU{z!P4iLur`4ucI0x53Iy8>k;?jLjy zwhlf{flZexay-rTG+WTF$KXmOrD{EWQeTB6nJvI*9sC$p$^#c!?7h4Tlp^8~(xsG8 zP}sm+MoDJ>Zhg?JJ)*(D#k-16B`-3L7{eWHWg-M9mRHFZh8TX`Lu@Z-ag*1^K*6y~ zMr021y|f36i<}Sf`VkJC$fuLqwx9b1$X&fZu5r7%-pZb!9^ATr#cngy~GM7vhM2o3}%!A#dvKL&NH}CE9xvL+%x0g&}lW) z#wAggLJwouI8u5tI;*vJnAWV)-p5J=M>Ci2(p%Fn1&^D9I06`7-r%~hI`}!t$)GVy zuw2?yJ>x|2sY>pQ1|CGpi{CUNs$7&lnK0Wv$ZN3@AD+bnN}Y8Q!f*TS062ZrmYEiz z-TjEo*0%)?J0J0zN3@5JQ;HDT!suS}Egm_IqDEn&Aj7!kCw&h`u(B5sFHYEs8XrnqDYJX+(ISXwvp;+99uGi1Fx12;Ui$X~j z8$;T+dfo0WOqwG5CB!Lgc_tw6T+u1^kd*F@CX?CRP$s0aW$aX=JNLN!*4jT0wa=12 zE0I4dkv~mJ{xqo>B(o(YgCx$HF*sYMma7{4J1s}ljazHWp#kvIhggPje+$!%BHT>= zR{u%utzE0MIo;8~{nL#>l5lnzIotW}GXI-@EmQqlJQ@8A3?jBd)5Qogy3O|!4E#KB zEy0DN5oH1s1dSI#GeAS%8oa<5wv-J!C|Rd_DA0xeqO09n)oGEos#l0yBGe8&tnx>p zT7FD9RLghy1Db8>A=PUOO5`G?Ntgv*u(3|3Qso;?6?u>WA^$ui6G}jac9~1Ye)D%! zLDvk2w1;*{U&hK*Ws#ZxEuZ#k&+gHWhqPz+A>*&xAAfk}706qCu%vm@cF~lx89${? z#P6a#aq!?9r@FcA_GRt57ok^R)=A^VS$(-jB3C~zG?gM}4!*659I;j<*A41@Bl^LS zStnIF4TfNywci~to9-T%wntb|F3@owIQ_D!aPHu&eX~$fW0X|`%+dg})T*JcRb-7! zW@eOV%Uft!5kqVs@HP8b7HQA+=*L3FL1Q;PG>){tqFvW7(jwkAN%e3bt%m{Sk}N(T z=ap>>bNgopr|OnRO!f<;c~_>d7F2-NXHQkLuwWRZe;s(!SNr0?Oq+G;J^A z!_OWj(dn109`2vjJ8LgJ6tjcBw%O4^C*TeF!$7z2NAZR{jMH1Is{ylvq93Z z&Bd9lh^QfEeqqa-M_SI*MItz$2N!AW5AnLQ$!)!jZt85xQjgWqwe6?a_f9FgJC==w+QvIXrUizU9nK_(+l$I1N=q&#@W; zAjoh%bTSKX2q@!1YjR`gTwobG$4mFEdw<(2ib4cy(G4Sqe*;F1M@>=*+8pc46cH@` z%(3xBv6zrxL=Q=iD{d^iki1-t8=tG=Cl2PB#?Qh$agle$jfo$TJtBUG3Nzv|hRFHP zE#ecWI3h3WL;tjFh0piIBRA9}cRja|PsyH4@t^WvpS5Aeu>&S=oEY-^3K8Bqm02^E zN4#YVwD!O9i{6pH&>vqrQqz6_x#Ee;HTw0gVXfm*zOuE&=}O{FDa9hdA1GU)wTY%G zyIgA%)1YQ?`++S-jngsRFTj4r%E?u5jEM8CM|fi2NhP^V1*Eu#&2LD#jMDmm-1_X% z9_->%Z?*RtqT}z0+;wl?#G7x6-o<{Fp};CkH~Ou*RvTh;kJE-#zVv5;lGY|m*xrdB zlO2V^u?^>F4~h$p2JgD}&X3XH`p7y?0;rj2L2))cS?{~Vm*X)fi(-pOcR9fG zqoYW?UX$yp?RPuGXh?j)dR>ruP0_8^yXw?CE2Y6Ft=CIOUwZ|@QtR~!UT2JW%73o^ znS5pmiaODi+P2Ctak1imVg~tRYbCG0kJJKkU4eD_T6}GPk?%d&iO30`n{*a+L1U7! zEZAA+Z#kOHp%s;o($!m;!%OLtGuC(noD>qOM9O{ zeGsT>eJPtx&RsZyIMm}HgZJ*B!lT)vf^#wA?$T?#!B~BeE97g4U#VA(*V1_Tgb8le z!QGtX^wIedvI~h_Pf(clly5C(ssA*!rX;zLJFs>|7PJn!!C+Hv ztS#1tf`##GJg3?wi;#0iCo^TN)D_9x)Fau15)*%~&bG#*0nA5lZ21zRs<~FgKhj*) zkhqH;rFc;AJ$rkeAPKwGf45t$pw)BIT2&&^YE?bn(Abc8^cAbs^f;n4dX$eHAYYsq zabu9na}qbcuByiV9o$^m+i;lo@8- z^+tmCWrgXz28|44xmELM#9~4ucD#x#iBCa8?+C zwOg-R_|D4;Tc?Glv=-9(yN3JjDuQyyKwYrY%bj+4@!BkTu66Tce!MnY{m9}+D2{8Q zE~t>YskK}17OmM?o6ScbnvJte6WU&hZw@k^L9OFnd>96va&LLtF0G?oe&MXL-tbh| zCg~80w2m+EMcXD+u9i)c!g!?k9$OvyAU=_@ugp?A(oC= z9%jOo#{-_|KMXSZ zI-;=F(_20vhY-s7M7nq4{p;A6BUnlzNRp|>1Kiam`Sq5%yAeZun@^$qxKGrO3`a@9ZqgXY4{h6vEpKM+zlTeKBb$_h<6EIu+qziZGs*-k;`|XqQSVs_dh9EFS_C?a$45Cjvslj0OkbtV zbFqq;=i0}47B#;WaD+EluYHPVIF=Bpgw;|bv$=`rO(1%+7 zCXnNvYbhU!Es`T9ev2eQ*|c0{XEF{F^BW20IngO_p*!*^iH{Ha{Oc;YYwz`A03ftS zJb8lfR)ug6s4fzGr)A(PueNYu6&*YVz5|hql*a|esz^yT>tR*5i{P`Y`l#Htl+UID ze1rZevNoxpX9$~VHltPCWs)0!w7UK?de0ek4{Xp_EZ7tKwa$~+xq#RscGOTKf+(SE za9=rxGP#_#?JZ`kaHHxx^U`0A>!RZ`vLebM1IPOBA*XI(HL10?(}wf?i|V^GseUHE z5E4KSa%7ELUT7{)Hlr3Hi>+}UW^KBFU$mW9t3BJLALI7BS*Exvlv3r64isoZUiR|Z z(*4?ljd-ynKNeTeRY*jeU`^l63Y1`RmpE@9>yqYZi`Z&0vJ?XMrCA!y9^;U$GBsLPH zJlQs>Qe=h+_J~TE&@+uS-q8;(p@=MbeIEHD2R3Dnv2>Q?FQesTNsC{EBL2~r7pGo| z^Ip|67m07EOLWVjhD2qBmEl3|B9Cy8%1Y>;%Gc}MKW^tIc`x^m!vWkZCLOUVVN4@0 z5LRhCDdZ+FIEu=`JgtxZjR6rKe%sYhpK|h@t2kCtrjar-;bXNVa#ZVb@@3XpNDGvn z#O0KzkN!qzLO}_yWOSvs=B=`m_r{j(4A`iy7c|7Gf&Ywy`kPx0zL~oM{J?SZ`VhN#)%1Ew6qBp-O{E)vLDDH$4fYi&>PNk|{NR@*kS#yGV9uWbi5 z3R4ytrN&;4`|%i#^cY3Lz~@!Ay|Qr;{M;nFKjGvyGUsofC=d`aX}lzll38C&a=y@0 zzui+JT!e~#dYSwR?`(q4Wh_NF`_%~XBY!fMfK74=znbiXgF*l+6DyRv&yD3pps+%= zB*Ybpy^MXVJ>F&P`AJrOcX1alc+Hl*wxpkGg$G}!R)c%USYCqSu9*ioPR9o0z9OUE z(FDuvoc2i4Q#JPp&xW)%v9n{#i)?rgf1ID)w}->ov0J_I>qlCN;HQ~KB+ycDspPYY zpR-a*;t7A_7|oZ{x3IgH5Rck;6%+Py7ku6{-9Ij zD1nnOMleQA-^eS$cmQn6!SP>W{I2+lzE=1~iZXGH2mU>KDK^w7u7Yy9{*KiU1Xv#y z^h89f9y#&ci=uxwYRZfOXVpB)M5zgW68wXfWtCFF?^FoNo}5S|i=8bbUSW{(kunQXh?Logq!pKY0Wyov zvyiD82X@t2g=bNi`4HUEI+>NlkJ$|3mlAV{i~H4&C14Rq%;1N`AZhD?j1w3L1HZNU z)E@dO+^pXh;y$F$@)WNqWJZ(8faCkhUu}we$%3ZzgV$J#3Smvk=Y0jo<}>{@eIYet z_mvc!5GfN`DXd>Qk65aTqJjZcVyifNux6ZVJej9?%s{R<#3gRda++W(K;~(BDe15( zNxN~+45K2?IPHGXxUZ0M9Bk#1_>3hs$2b6{wj;;|skMEHU)$A*Con7EZck1BINX z6Cds!8L%-{iaK}CSLVvZm%tlok?eI)dB2yC>PJ|Gyq z?yk~9>jvmP`LpCw79XkZxZw)cwhm5(tbac2= zWONg*x7g!MS~+$Q`?bQ`m)Od~Xnd^r7hx5Tu~#iRoh+7(I5@H@+FMs|5y~*ab~JvW1x} zbv{09eT1w4K}|S@@mJ-2O;9Qr4W48!SJq0Aid4rq449_UjpQeOQXwhLyH0m=5h_k%cW5v=32i zEPoV1@B9pEb3}y6D>+Lzy+9ASGfQ~H%9tR%kJXl7BL&R45X6!I!k7ieCX8$$Kc?tn z5jUDHa$}WIbvz47V0mLs3JGIn$BhAw*Tf%nwSe`|NW5*LnjRe==H>j zh8(@Amhb-9n$@j>sz=kmBaj>A4xezW;dYUJu|_#Dhp4&=fAkJaWTx6av0Pl9=T)7` zA&!O_$8eG4#Y_IlD_J$O2=Xq2EMZB85RlV8d#$rRU6Gq-M+jo&t{;rC*@!9b2U6H! z;Tr2!8g?2*11>*mEv`V9h%_M2B&9b*7JJFdosoCt#lR=jntNr>)gNbJKpmzEQ6 zcRT7L!~dV@FN@t5PSpK*WTatr0RXug@U!HqO)p=b!CS?%mkGnoBlm-`j|cDkWkE~G z2-Af&To9|4-7RltRsVqJ*|OZ`DeQA^-^oH&`)2pLS+Q#0sq$Pei2{!Afcsh!avKiM z*TZv(OT`eb_O;aJ`ek*%37i!iM4k2nx`^Z^G*o6ip!j0h6o)S2fpcCm_**xDwL z3>X!K@wJ6KF@KwBsP>{ z#yngI<|m1eeunR-YNkwN#d@KBW@7U>Vp<&22PSC`iUX+Qg6d>Boeji3;~ybz9hPC@=EE z-X6hEB3m<-Khjtevi*oimd?iVjzcYP{YS@|OFGw9bgY@k$Y|Scs$>{Cnq>bn7%N{A zJ&1r*wY>Vyo8;k^ za?ybj#Cjp?v&yKC$-Hw;H?Nxk;A~REIqM4q;J~qagqPEWItQhgf}Gn ziF)S$X};6cSJ}CW3J|t9vk+Najv+@byaeIog_Gw3mGjS--Go4Rx~qwDCjw6NOWd~s z3i-tJP7_HrBhac6cU;}MkhGbsnhx@ov!0SKv$Jv9 z@a`7;bPsI;Ad^18G!Q;{Vg}wn;cm#b#WxV`kli^%Sc_HH6I;|2yCIOA_Nd-hw#vAM zDO;pJw@!MFk|apR~Hc^J1M|p3*zyY zq<&c>T;lDPv1fPSWn-tbthG;~l=%SvfKLfQLLU+T7CxQog&hmS@qb&wu(62hXpeOBviOu@2H}S#Co$SP zd{YdL`CvmhjDyp=v!ZSb(b(*uUnX0742eL0#DccNqL?wfX;T~O)^46<% z&eQlqkCIsaAV~ry71yEqin78;kYsgowr8WPgKWD$)*hVpr$-K zG}%IsQU5fgNLSi!S3}}_p_#b4rNEpWDaCCQY~1~&sF!=U5&G@BIDXE3?KiA`92K5q z`_8-UhQ`&;@q?roiLN)T^X6yo$3a#SwuBoKU!#aKH0p2K`a{%xc#O@k2-=qz)rH31 zPHWS!tt(zvD0V=+E(Cvjc?@VBzlCYy%Yt#TFffCF!?s+qK+@G#$=!YIU{x7|3r2=H zQ62vpzJe4mt>ZDO0wk|OAKU_u5riB^+C44aBF-c(70Jh$#F(7_^Urs$zg(bA!sl&h z<~E_Z{Xx?&g|PNVms!9M)jtmPo=avkVP@e5qua+z z%xn`Qd=&m?N8x)-*?)3At)JvHo78~(edcMZIUrxg=>`#XP7j>Y-sBWYZ<5j$Vwyg9 zv(`RGI$m8^T8*B#nde^D&E<+Q-6;qcIW&O8#}n72x7Q6>$fm*^P3OdiLsGBFkuXSV1OD~v4%#q%!0@(0s*wwuFQkdc50kQ2 z7A#o`6_zRwL#)o` zL9HdqOwbH0 zPdsm7X>z*_8TKUu>s>O+AZK2v`YsIR^#2HDAa=_$YAfA!-$$)6i@d*sP0{MYSaooI zb>8~@(yrR{mqwF&RYYwXWj52M)&FE4kYx=b!`3&28E^rEZzhN<0dj0vNx?ovAihJM zYUYs0Mnq_8^-PY(iO9rBQ^fEzpQPf`7s}HU76`>q|0&NfI!H?Au@6(z=jWqi?J~FV z&8eDRlwM(uR7k;kZS<4Zd?Vx2NcyL2k*29y zA$~c7X@>d144C&CBM05oJd!Qhywd*Y4GwC*K|_xAcM{|2pRd8&7!+I{-{>~*nCF^P z`6=UT!=9(uT69z%M;``+2_pZk58S-@LVaLG^hyVx^=nepSZA>a*;=%=1Wk%0Y3orB zB-`K41Fj=`USG~a!x$Vz%IV$K&CDV?bmyyS9qKdJ@K$h>|M&0)TBiq^{;l+Z7uVbK;EFNf;R!x;nG&8kTKw(w z;-(a5uw3S2Qk?au%j}dVvDVC%jEdVpE=4WbjvR&gm-J76jMo0YY3!ON{&T4D1F4~K!}A;hd6#(s|5&4^#?O!vVwu=Icp!2I zKSQ#_!zAG(uUq0|I7^zlkL<`=yO`J<+f!9QMQhtY>v~tNO3>%LT`)32I^sue<`XJ7 zs6ckuT9@3FHXdGc20wtPp9RtAbIzechrH-z z=2i?bnKV^Wx2{Ur5AsQi-$Wz!XmS+uqm%j;Ls**K zrcVifITh7%^xBqPE#`Nn((%LyISJB7RqxwpxSiw7THD<+QZQ4z?0JV0tm3HZ@Ra$# z7M!Qj;G_t0_OLztlOdKKUqkrO)6gZ7T4{mnCF>VQv_vR&gRIk$b5%!PPw&V?)scI^ z%j(Fe2!*%hjKkg*FmmRa{B?l6BAA{na#KuVjqG1v93_a;5%V-F0f==V?Hi*Vif_74 z)`JKkhhmX3IrqJ(b{~hpK~anURs^p-3sNoNy8>EUCN!W}m`2v8V=4PM^UMt(Kuc+M zL-kXmc$z;w>+_}QpC_U{GHZL&KfifaZLzBzt}w+zi+L_v&1voTN)dT$i$?QPVl&Bc zp|nE(Ng<3Ir^tWHbQn`)b7qn2Fv`wu?544eT`k4NKq|?E^ec)uLq7#k*6W(%sJ@g` zng)NRq>}t#?RX@S{2zd`a4AGwh7D{_F}>J^A6Dj9L*fP46w@n}Nb~6sLv5C4XdYiW zWIsO~CLjrD`ln*mXkw!@Dc+epbHIADiZ>$Jjhy0F^Z~5)2VmdgS5o{OX;}C!_PWay zwITY3RhsNDdK1$GsQgfX$weX-`=x-7e4m_f&d{Zbzwz_Y;>kw|+Zn)e=jdheVXfnv z^jYY^u}q*90TrXvEi#JhgB3yKjsw{IYrj)KoVAzs^fh3m4_>3StE0QAu~-YhlvMd7 zKdAfhv2|r1SFK?VP+*j#*QM9J)~b8S*t(mYx?jksdv1E&bF8}NL7Vv4_d196FLas` zDr)*EAf?zwb_JeBTPtB~$JL^tixnhD6E-jZUk3Mh;xPegPX$>xJpCaDp$QoX?HYxS z4aN`ZHjS-|zuF>%lyG$(1 zxrL_wV*M6FGWltKziR!?li#=U`?vhg=*CRG2$3osG}eF68Aom;;{HMlzr}BG~^*hM#)UKn$iqcTx=AVwXXqKPkN5lBgC%g=%^ z^pms(e#fj38r_M3F|r}NEO8I`$%~`BAY~{|CwW>eJiaVZpZ0OJcr2DB%6OHof71Lb zA#om$*)Lri!b;zCdp-bT}4(jcW{19-ulTx*LwCiUCA60f-c<8 z$kl`hjX!!sA8gvb1{ga85ShSe$WL52qSR-LffPz9AX4{`7u4MgL)RC^>Pw8>rw_!J`rWv&?w-0V@pn`bvO^yrKv8%_HvVNQ6L&7X zAO=o&!vp z$N`E7e6eK60ZZ_$oI1!1^PPlGeIoJ8<+A+X4`XiifkRLeaWt3vlOGXR*WG@JA0CDI zb&4S>Sz}Hh#u4cL7~5v#V-0pLlPd|hR9QkA?SMxW(FkE2pm_K_>L#wgi_Xr8Nf`UG zMCqk!tDJP;D7DcD1IS{LyYxw{s>e~lsiOdw%A4mXE&TeQ!mr{?Sf2Qgy=rdw65F0| zxHN-5Gxzc<miMvl2vn0LKr6%9T8%?rL>|bzDUwwXl)nLtW2tuzevq-@fZ1%xd_Kw ze@mmB9SLz^pG?Y0(YtNOQmUY`CZ*$vxfDhMdW`B&YGpICbYJ9RyNV`L--12G=t<&i zON{)+hM&2{(&8_P_Ga9Y=i;#&`k3vpn}3~G22*Prf}7ao-&`qp@z2M!_Mg&C$KZOB z&%LgXjrL2^d-$Ac-+Y!|Hr=FCYn+O=tBRBCim_!O@u5v|>bck+5qsvvM2+A*B)Ft^ z_98Y4+e9H-9oFr`qd{$YSMBO%1H32h!o0;#jo^0Lc3skd_lwdx%>-1$g9V=4PH^ zKKruU#via<`yDFOS{158W;5S;akT?s>^S=Amn8V87dXn1Z&sy)9R5CnLj0YnM*b{s zuC?9>TUjFJ5O0OI%oi0P@lHp!q!Y~2PQqQHosK7-*v$sb2%{6ZN=#`s+;8;8mrlzv z0%2n}*@NRt7Bf|qNiABtArTS9n`Tz0<~r$OQfSmWX!J1~L3#AcmClzt8K(A;r*|Rr zw*QoWRMJXMqph944q74;Q|dj=i;NkZn!l}o79U3D1b%v$?q^r9^Lf7Z(0t*ax+?r_ zRT#eRmyEnH;>|Pix=~jftIl5__5i80E{2bmami%jb8j(L)sluZ|8h(-zPilzi)i9_ z;>9AKn|Y2e^Ye4HDw)4P+_zf$K?*XiebxDDPeih2dSjdYs6ej8FgAPps>4#ysIIlz z`JmNKY+|gOP%uxdZY42#Oci!C;?)8Ra>j0GBCV8rKh7KXzBFzm-)NT~VLPj|DEjwP zlDx-F>5LWDCo=yl`UmD^R~i!Z$qJ$4d_Xc+&_fy{{$@;*ZR~RnGkR zwTG+OF=*M;Jup{mpU>l}zN+paK-2`yT7DATepQ_K63PF+nkl&{Tt0;~r zRsGp+^W(F4!L`|P?@0*C+GM?l*H(Au|51?@Rsvd;ah$7@Yp(;f;Jq9aLY317!#UbSX{w2r{@{$oE8723emy_c>FvoMC%Aw=R}Vd z9BS>AST8#~ML&@*fnJgQS&XAFg@BdgUpV^t2e70bCBjvjypfjpO}6pK@vQiB4*Z|b zwcwwYFtPSmp+LdDv~V(JfTlmJTB%C4VotSy3w+2%3&J>7gdR2@!Wa&a%OI3szDb^I z>_BzW8a%ahUsn95s(lVeKQ_&3|B#eb?ZeRig59k>s-MVz2`;!mVX(Ac0@^&LbkHUl zaR!+K9o?+fu)f3zb_AK9N+xlzu*w*MmHs(*d{*N8?i) z-vrwE*l5I;K(8X>MItmP zVDpx+%Z2&@R#?FlNCFf{7@iI!iA8iE>0Q}20pd`16gf@*v;Z2CJqnH$D$Md^os}o; zgHlD6-Yc*@#+sE}F}yL1X|z>v$q=fr2GfD_SI-MH;h+bOIHGmuLkz{{aG}UM zs^wHzlB)2zRE1jq*oL(BXPpY?rz(7$3T6XkjlCHv`p4%xbLelcIoPx-9KtAs1rwDt zpA)8Dx?(?Yo?XjaCE6_gQ*#R7*DZhxautkOq7gC(LTA}pwkGg8t8DB;nQY!q!|yP8 zuXO6ll)HlJq|~ks#~Q;9H+)r)=8Wjd*uoX1y`rh$1A_f$P!Vt!aG1@*M{wJX|{z>MV7=pLv#T(KML5_AZcG|9WsC1YP7SyoLs*!udk!NT)brxLL7heAH%XpdOx9i%&O;dTv;LQn}=BQ z@#|E#J2F*9$BI1Oj*m)>6?Q`6hy1WKQ|?UEfJf1wFb6c?DPjfZQJG!U_zA!D5+x2#0Va|+nu<$U2%#T5|&HTY+s;u ztTDh8D6te=7zyDhIJwp>;3&AyLLf`Q6|o_L`Qj)yFUpNQ6`9$EtBj>}Rq^}BsJ1^y zBkYZ#)*_sh)?Wt{OeP7Q^OZv5BT&wr02H*xvML#$_%MHY7)>jViQf1du|B;|>BuDKk8UhHnP%^OO=3G&qt?gQQbf z$>fEyKIy7HfMWVG%;LOoMle&JGx(N*`!;oyf_t2;QD#o2Os{%BxF~~cjNM|L?^YE* zVO2z=%X+Ud%vn62BiH@ZXZ?g+uV29xzxTxI#S94;Cq=>2C2$BBz6*J@Opj`wJjU9U zBlL!z7<;rfiE%T<4jISJG_U95c<=Awee0kVjrx~7`mhN@{#H*skgE@QpJpn!v}#UD zNP(wSsfGJkW{Tk?Vw%)yv4ygBk|o;XvC1u zW^Am(N*n=QA+@b*9Oa%|p$R&}%my!I(Fy%!?b&{xqHv}}n=4FsJTd7-CMOF$A(%4v zQ|m_mrE1C;r=Me>UHTR=Mt;GQ`e|Op6Z2JRCSy=4$rNu$blxeoM2GsV*NEv}%m?~W zEij_dSWSMczRIY#7O&9;R?#AgS`Wb*HR0H`s@lB7tW{LP_8y}MV>KZhQMLkZaTM@k zYz!2zDMQj%W4Q+Exu7+Gd(x=)CcllcH3n4%6C{2)vGON2E1YP$Fjg62VsLF(WoiG0 zsS7NX{#ORHqp}hVd=s>X47fg4DJMKiVxIo8t4Jw|peegdYipCg(`AZi?HjS~<$zFC zWtDk9@5z))fU{Eb8&UIw3@>j;e6QYW_^Om51EWn1iPn|Ydm@Sn1l-j94>K|i*>9=K z;*st2Y~)df$(K2KaxlE!Ve-fhms)B06Ja(xMPoVB2mKLp4>=QPFUl=#0&RJ(6Udr8 z?JMAqvnIaQ{@c;!pOF1Wnye8V=)xj(qG!B0wVYl$bLz{W^`7Sxs#xY!UdEhSA#+Fuj3iM^Yv6?{T?2C?>!XL&IVd5zbZ>=UI`Jkon zOJxG5=C4}eTQj)-6H>_|Vwbr)$pRq@n{o@pX8|FmP9`eRr8cW=$MTb5{*XP7Z@LX| z|9T#44@T6mTQhGnU6Q%Hl6T{fJo#T|TNr=jY>Ci-p#CAbA=an0O+lF|b0dof83`6@ zME%?2@fBrXoEi0>9Hip-<1rO-V>s)xuj<-YlY6jF{U@kedK zAN5qqo|!+!o(YWgN!@~llJZF*R+s^nU+Phyns4wAN*5lX3BH;u6obsy+TM3coVm*F zM-_xGgZJTCYWywP{Rdc5?muPdicf7PeX%Qfoh(|;65)LxR}5f55y=juYzvayY2lZA z+-_STd>Nq3G5;8$-l&ASSJ{{8LVd}~_rMHyk21s7n|U_xc^{n~N2)&oCCbH_rc#po zPQNTt{zrTN@TBj(_7KH$+?36k8K8IJMIYPx~Ch#r})+Syv@y11B>! zoyV%}JnS%cZ`FBI$Rsuxecjj`HeW@`8#F~wzr7d>Cw{lqY7D+lt&u+s)*0)XJmN>y zl8M=z_#B&$OcRz4`Rl>T^8Z0dbw&9y8Qo?%$7)|RBECoY&+$Kg-Qi!y|9FzJ@NWcp zGRDVQ$6kx#r)0KKFF^s`bPuJb&*3}F%6ZrQS*Bb1w%6!2YQyH=(O~dEp~LP43_9rE z_bb@FCR9$YgLHj43AXL1sbn7=^BNkjB}oozQd}X*1$2$4qv{$~z}HOS9^*|F)%MGH zle=R@+WT7jy|8w?DJ%62{cKc(Q>(O3;$z4ZKaf-efY$!a>Ga@u;)*?%6vAo8iWKuI z(7OA>IFY48bmHfnZ($-ZglVfoMnPOlUdtahW`)SEd1cr*&6>Va*7UJkn>Y(;Y`TJe zT|vLD5C-8wuL>bdV`b?+V{giocnb>Kq@i1gN%2nza||X5;T!MHyOvFq>|qd7Qv8CawH(fvP721 zc}AR{D`J~h$|=O#;K*2Y69JP)`1taCx@ytZugrj)J@#r#Thek2}Ty_JkGu3xbXka+VaOg<{PyAC@QZhbr zN$th8Udg(4G&`Fex8Y99z3RJEF{PWUNGidtrLZ?R2R43#j*Kli}bX)G=;1<5?Xpo)RAOeyb5_5-gds=ss z$I_M9^{gBNy+KGr3&s#3XWMusk`=+riT8iVsdujCe*RGD39bDkJ2$PpmXM7gWJPKs zQ*nNbYW81?fJk?7e@rB->}mNEJFo_oUN?UXayHjRudq3;rL4b(18|@y`?-vWEQiVp zy1ATBE(Gk>cP$cY%9KqjEHBv(K6g1_#C|r0qvuju&f-+z7p{%mVhqo(4{Q1#0jCNd zPy89n!76+l|8a%mKjz%x+EAQ}{*-D;DJHoXsH39NsBqlN%Mve0YfN<7fxB9FEx}9_ zjFO)j!6WGF*S2+&|F88ZQAVy@2^#VzKW^-?QN7n`J=1rcv1CvA%nw7vl=&%ErZL!% zSYkI{6NVzWz51TTFrOcvr+HN}W!_4hZG+i3{_;SvY3d)DG*fXG8I7U#5jZVc9q&-C z(!uvPPugL*Nq4U+W{OQe!nkp|g8jVt(HAnOWAuyG;0mk0Ox_pne}pYY>h4+aK9RR| zRV;SJa7t$hmD=56iSJMaL{jU0%;}$_{vopr)!BRUUldidDO`Js{XuV3j{Hh=lKUrm#yVCDv_NdL@@LnT^i}6UdbwHJLlTTl=O|xx)aUrItAkulx-4zmUfDYf zcTj^3F@-CGtl}=zN?9SUko~{ot3!1QU#th{k<7Nt2#{A3`LuZ{EGe2^Wd@!oG>zjeI#+ux!5gYQs& zFB>7_!8!2`IfimNj-}esiKREtwJp*7ac?VDn-X6CJsq&-otH`HA zC&sO1eu3jNt&FYZfV~GB2m$Qj{&F}WV5O_suAHzn{gy}Rc~!D5oj70N(?TmtRF~G)BpSGPHtisH^W0WS3L5enA6a3nZ{lSk3(QzHm5O5J z;>Zn{uhCD(iS;`c$VgLA37b$!7H!$g&&Y^qts^u+g&Y*9Hf~%qhbYryhcS6#3+g_3sJOJl7Ja2`}+0cySkk1`&C@n%U^Vtgj8#w!E8f(tBq_u{^xL5okx zD>2~BWKo;g-5JC#Oc6UI#P%sRP0?EV@f~XzL$jp^B&|m~(F-EtRv2s#i{I+pcbG(9 z=H&P|{o&50F22}U`vvR1_kcAsD#aohSZ@mFEtkoamIsRa60D&Wtb^`)mFq=eef+TJaOeM$m^-(3RuED0bkV_O2`k4k`GN&M4M%(g_a@@6fG@T zfFMmFnvw@<#09&P?97idhs?R}ps}xihxbeVGCrJ3-$AyN0EZMXvaU~@^E34|QTKH|qQRu#ZMgKQ_Xg%wVgoQr2eq~@f&yL#5VJiG z)@=*R&1-=!fygcB>$^ENGyy>Lz&xfZWcH-QEXMjA+rNDCeBN>+S13}F(S-RcV5s+b zneTsSzvuodo`jorNNkhf-un{^l-B-;^GO-{(tkd2e8$Q`_jNYqsMsWR)~!DqsWS7y zVMPTAuS=|vs*CKZpP(w_k@1q+OZk@3C36WiGZ40KrZ{Jumk>X{@rKoJF%lvmLWy5L zJ_a0EmYaiEY_z#R`b3+r%ekcEI|})k_#Mx&#hx89>WRLm`GH-79nUM3Z|~>w3OQo_ z0T_H!iG9?UuULhB=J(|b`p4{+2iQr$`iy+0)9S~)7L-D1y>gu@UL?;~SYiaGsBW( zgzXq+OpoMc<4oi<6f)M6(aH&GEjhqilKh!jgxqwmo5Lcamw=blT5|80wdB`r=iO&H zo`si^y#xFkb_6<6Nb{Em zHwCSA+B9dKMkJMrvR>o(_w5+#FaHqad-%p?7M|UDr7iGmqFLW{Jt=na*!|4kfu-f& z1OnGforr;}cm=(&`&Pu(t}Gp1PhQ<7b{&o*r29NxrUc=5$_wpH_d-`2%_|)e2{uk5 zuolY40^wMt2cSN#PIzalO4%nt%X=m{%BT=%a10YsbWkje~OCSIDL>2>WMFx)L;=UkT>+T+tm4-|2@t5vipI3Sf=OHTPJOn8h1>W-2?`J7)-ewsP zB>yBW+KN)vLYm$wjg|$CB|))C=XEX$cPt6AuMnJ~7DPk{uEd7(%b8mOumNBk$(%6) zKZQH}NG$(3xYKj1%H^PynxW3z7G+0Rrs{7(GC;{Zv#Ug2cBZZNkSGC3eJfMfN~DZ% zX4iK+e%$aBynhD%|N34M$1_N zd|m~T-*x!j#!jJT-cGm15m)9L2w>;^GUsH>GOy_qWh6dOR=w8BQ`094O6nSzym;Pp z{fw78SW&{{cs*zp`K2-qD_^z@sIc)e%)p4`#cuWj$1j5ebA=?(qOeh1`gvCP5_y)H zDj}AtVgddfkc_^V`uR?%g|#@T6BA#+$g#viQ!X8Fa8Ex2Ah@T?#Wz3C{F)fMg>8-{ zwN)S&^G%MGm&CTfR0ACPm{{53`8mG-)?ib6P!HG{-0I9|suN~G0v$d^@0L*dQ_1E@!!fLln zBD~M96?z9^Dm9#ntz70f)aF+QH(h2Oh53LJQ&|^GUZ#?;8A8D7l9<*K=^t>%a?B2S zk>O@b9Qn4AIVuq09uSN}5dRVwt1oobp0z*cX9EcSH)_~hlT*$d*p!{O zrH-TXI>BPJf9R(}ghB7mitkYSUcV<^ZIJ! zOylT*VuYh(Bqx5s3F1uqqxH|cYV6MS)%c~49I&pIds}l%**eISwqz0} zmd;W$fBkP5irBzvnWL!Y(NX_HKFxNcY-kn`uJKw?EXsFEjr(1q)^d`oVpC65lxJye z`)PLEU5XWauy!f9{rGhd18 zM4g$@kKZM1&gx_?our56DH#de@~-5B?QEZ`0Nt^*;;C8(f23+b6Y0Miir2;NohbT1 zq@X^)wKZShn?7)k*8U0u7rT|{Ouum}$z6R!CLvlV(M1WgfLY96ILwpP;Ti6&8YZ35 z+7j)ls@JkcvyDHVZL#vpDy*r63dRxrZ|HWlZNoE6GUpoK{2Ia~nn0V?N@GjHDi%MknOH}t7jmLQHEBat*b5II#L1G@9UA#*KlDd&NxnTks zOOaaVtA0F`CH-jAJ-L?9+AfnXdBb*gkX*^@)g8{ss_lGqB^Ov%#9p;s38>4rPmuSr zgBMBsQA`D8DMLejNbVkI?tU6n^r5MW9BmizgDU`rIJGNso6+5O8bl~>UX28_QRZH) zp+rq7lpD1Zu2B3aJI!Hjt6XxX6#fa`qUQg}pV96&M#&TeDP5%vwjDFrK<(;x=SaJaSzEHeIE@>JMPl@)k@gxfGGz&&y+PTtY z;b58Ce}pROR@JXR#7D=fS}G@2GOVhZmR04qtt!9-SYjn*H$A|qkJJfc)zFu}#;|d1 zA%S?pLegI3HYAoc%n^vDsx2xpxNP`c>KT6xWt19GTNYcJ*(hER@# zL_IWstmB7x%G+WQzKGa6p*3}zukmGc0_uYkIWbH3^+7f7Be&{<%=mr=&DbyaNv9I4 zuB0L9U5#~|`-|9TjPyJe&$(HC2;(h+fbU|DCvQoE>Q6xxjjOd)SWrt8)Qi%gj^g_+ z@YCb*G~Gk!BsOv8$e1r9y+B^#5a*>~v$e$K;&!9Y2yI2#*>sKE&6A|Z6NRVg$597V z3=j*BkJ6sXa;cY9%|7CouZ}pzw)_jB@Bm?Oqe9_C;$ny)FeVGLNOM}dSjku+(tb-> z?+3K@rSgLN)AVc9A}~5#k-afIe2HMoO5B04!p&5+rF6BWjme?6Aw(>W zLR!V+$Wuy6KSn52nv_ml1F@v_c*P)+TBxW!bTJ*1yU!l0;__A%(T%w|!8oQ>_AwjE zwMw~#ssWd0kyhD{pcM z0J&S1w$0D;BgN;Nfh5Q~gQ?<;WH6n0Bl$RvChEl6NcAxVt-+%6xX>(;(~WS3S(DTK zx?K30uhs+l?hh!Ezw|{y#ZQX%jL3Sc3(`BJ_}d>NVs<=<$oSV2xir z<|`>!#EW`sh1eq-*hpWCoqs5_6Uioa&8m{V2UqFvas{jH)v*nJP6IFtHeuj!)>_r?XZgZq=qs$XN89H`nqTXS z7AX7}?$xn6pEU_s-psG_GvgJ%s4;!gVhLtb3f@NG0RSY_+=)(CfV9f)Se@0)cbW13 zh0I9J27#KWhJ?ijI+@)aJ^G0WT)M#(=NHldX==z7G-)E&^5pijQ7I!q-_0d5*qg%l z2-gb1ffA4;DYicRk?3oyHlwnH3+jajmXM8MdW>iRLIWW)+T3&V|Dok z*SMipc&^S@$)EDgm-xa(l1*OKM~g~*kY};iXbZPcw687P#-B5I83cUXdJA|(`Ug@? zd{8w}nASw0YNF7b&KD$a1f)(R^5!Va<{1|DX`(L}LGCfU@}V9ueO&GP*Fzk?a12a6S#F(V?~na01jbTiK^((te(ywXbB$EaE*7&AGr5qS0Sa0f(H zQ*-4B?WTwApDVhPmHg~ZmI5D9z1yop~Oa^{Bejnt>jjpg}rK~qh>DO<$z?+XiEq`#W}VJs&o)HECPEeTcR zGfp^hxo7K1aXd)Dlr3-@95c#pz)Td{)K(-0VZaZ5&<4L5r^BTLa98{0S4&#Kyi1_G z)@Guy=QoB`_Y_)PqR&qxx}_e>rAxi39B!fM(0sQgmjBfxkk#ENRtgCo{D@b*THOt`AvSy6M3Vdu&j!U!N(fV*&mHnB%?SLH#pt6J*D}FRd_t21J#opri%NKec&-$Q z>EM+zR--E%p$6E6qc;h`Jdqo??_0Q)BBCi1Gk#}rYh-4I6yKcBqT8s>PiDpD8OK}Y zLLZrsN;Ef5mC-l@LzG({ExJU*kLOcFcvrB$h(0d&A!4Iqb(bU3J_`if0?_n6eo*DE z^eSnqe#^Hjz{ar%H%`dtu;Qn3s3yhLeG}y|fAS(jX03VpALtem=bcDgV3&x^a8^93 zJGOm3Rmc$&{MLy@Y73~{1ljN*U$ptwXZgV=^B4RzNT3HZnWu2$LPUD zFmh}`a|cqq#v(z|b$+7X~jWF^Oy7IdZq>babu?y{`%g5*66jnFLA+1c2dP9ltrKpm(H*4c7I|QDlH*5Pc1Qn(g57Knve3@ycW|^Bok6eervjT!odGhP*9_VuoN>= zc}8VYr+lLk-c^TG9)Jy%rE;=9wBZ~l7k~tD!3Tkkx=Q&&(sEiQD&v^+%%0nH(@Bid>yGY=Gvhrr!NXM0rV=)ghIyg%Vb-yqErcL;p{=+%{`ph+!zv+zf zH)WoE6>ywyg{iFbuUTADDsJyd0u)M!urS{+Qxr14d_q0Lg1-tYURhzzfk*r7T$Abh z(SMa{OTud;t^oJBvp;Xs8ZoklpuOT@S9jge{Dl~mE`g6vQ{gVx=>&E|N-a!gT2W7VZMZj+eKnv~_RC-Ijq5B3Q z0kb#^;Dl!hNfIx7&PLOT50sbN# zqSq?I4F5!!Ff)+DVJcp!*Y?+Y>wE3(wSB$!+13)oKg|T20koRHD}SU4sMR@+ukxpb zBw*%!*FI+^6O6t6@%fNB`<(rE?X}ikd+oK>&TLdHJAa;TpQr9kOI^7D!A>?6BB2_~ zS&PJtSL`9`8hE>rxBBM5W`3d_9^L?Jyw8Jqgw#Tu4tD2jZ~vL5@btQ zk!n;&pvLo7&5h!(JH616c`p0p*2a2*wbJ>r=!yWxt&i}I+Z*MDF{J?-!9=G?QY!u? zV=LF<|C3R2`<}c_|Mm$r^fDsM%))Ou+Vfa=0)Rr5qX1R~N($iS*=dA2l?Lh5uU~!{ zsObQ}iJ4wT`ZRCkZa=7>g1HJ*MuZ`$JXcAsQq`Ch_AvG}8dQctTI^~b8xDo;N_V{m2Sv53B70^@AJtgv^1^2s&j1G?$V@7RWGEO3T~>ldgsC!iu>z1d=m|B z>;xkK!s5y)^F)lj|D>+ZpC>K8iXKXCW>C!H%hR4s)H}i32~tmB^ksUJ!o2(trsTU65Ma=%HH;f5vx$`2!t*=0Pof)~!?y2g zYwI_mmg=j>HIBi{NYpWeed3R}GhdCq{~bm{jfo~M&nwo}YpialCY0*LFI%*6q3h%t z)b-P;27@VX3?>ReY7$@-Y$)X zu99a|pJAVhTavjT*GtpI0@kFx+#Wr8INE-xj%e}nwoirlIg~CFt0T}_8u23<6UIvB zH06{Ti6-4m+?T2{mP6gbJI_LzBp2Kh@4Dl9b#KH%Pr?+!H%WxTdEWP zV8w^zFwRfJ0ujndmp1Geki~~kcOZ-7rtKXWvv}E#uVJPG44QRUH~oVmi?nsWW}E_M zIVGOJ@RkFCRia_Z2ssFe)W8{6$rt*BNU@xTW%09VX*gZjFvE3HVhGF=;V3r=Xf9+6 z_~1kW0BUhRsVHkJ>_l7t3R8QkTW@j+F7Ux&%2h2ge}1L2k#Xie@hc&K98%J%n=9Ua z$qN;WW4_&sndlba9}7L<>*)1^?9vv6N9U@LqM22^pAR=7q3}(MUMy`E{!`n%;rW_u z_A>u7>_zGu2+tUo-NgWl$>Z}oRFvxhZ3AsE^UD@yR;20_{{!$?l=C5OD@}m-acx}t z^=e1EW`Xv>juYAkJ5iz}!;h?dco=?^4)c8mPlXehj=|_5vsQ>6imblFO^%{?BQ`zv zKMp9}Y>k-J(s`%4%!E|yP-$)5$5bWp-$gN7o<0Gt|9$Q(mVOF+JMvlo0q#82H3)Qe zYyW<+JwA&&gL3nAk+DH05ogPle=DdU){C=bC6zUBqTDA+3^8T%{<(`O;TL3-g-rT8 zA{z3-T1mC|Rh-h8Z=>MP&7Eo+S$;I#l9@NZEELmQ9KMob^A$t|@VV^fJtXWhW);s$ z+lFFoOdcD|8w#>KOna$1i$hDlZd3f33yM{zW{T#wOux--&ZUg_>)hgw962rY*GiPl zsl=4>=qm%}I(W!GQpUyBbHYPB5cap`N43#29LIZ^;{yba>W2^L1hP2G!!H|dSOXsQP_ z?<}|66(SsE0^m{;`{MQic2=MS%PEL$c1Gp1#F_mDUF)2DTJ?tG`6*jPA`5afrC3=r zxhixgg27hAE17audQmL<<#`UZ0unY%5v9hRHO>8*PwZ}o4?v@U9h3W z_FL_jRf@lS8JBDv$z8Ict?%O7RtH2@JlSo&AsHLTGv>>b0gX&ow6A#aX!K{pu})K$ z71r;Ha|=o4^6H)OZ0HNotTR0PcOoZd#>~)O-WNSSHu>(z-^o#X<-St66|7k~Nar>v zg%~&`kH@P(VD9l?MEX>>Srbw zay!UMp$!aM^-4FQX2A=Fv zSN43{^tu?#;pQFxXYTdkPM={Tvz@iWa~JxgYQ0its-MfFWSx&`zB77y>!{)sa$b%{d+8oD7I+z`akiwczCqEk_%SOCrpU5J=n2i zlzP2QzG?McDu$Lj{VKjmEo;VEWk*rgxYfh?*D4%(nsDfuBCF{{+P35;K)&%gb{1$-9bZIv|bunJ>R%%Uhoh-5T6agNFSzhB43g4 zEzJxwVtagJk* zXs)=V&SFP)4)ZB8{~{{Yw_gJvU?>xui^L^X>i>cT%zt2q$gDg6w6 zMI!DHo=)_Zov6TW2(QH zT2#E9q@cJO5<2ApQCMuYTc_6RQ~fe$m0CQD6mfR1MHOrrM}Hil%b*97+8PV|fN8|L zEaCY*4={!C`bNc6jTsYI+bktaf^+6=xA8gMEDE7PA;5o3TS<0_#X!^wZ0a)uWF6qQ zN`&;K!*;Xz&@JJchKk$rb(Y!Ne?Sj&aa-OPJd)6JIm{|h-DQ3zfm@WT=WIl*^XQX4 zyNQ|{%jqvnJ>mJI8s7B#m{y|fjyI++tnAijOfcYrqFF+w6?w|I0Db`zn%A8EclMp2 zl@j7FFt}V{(NUUT*!_AuX4RpC{kp$TSR~5Q3npt zB_zeBo527zNMXWE6dbcgirLX=u(b#gHx?do(S2pY^a0ecr-ZEd|n_o4(^Xmmt zPF}u=emtMKDNoZ(Ui}&r&6NyEi?#6DQev%)_OQ&3krl9xgIg3>FfRW9$J<2DE#C3m zDqwgtz=WwAPI8MsE)8UcVm{liBU zR1`4bFM<5kG*7E?GQM$V7k3R5zr!ldZIfb+$a0$Q10UEucNKVXhStVu$C>BwM+%D zRnsN&MjfTFRGBlhJXPt}$-+qh(!J8hh%%=EWe&%URa*RfSijo(V=`kabhPzOUKT2K zw77_6+6Gw@E#=O1a=@{w3YG)WE*KZE7BquB>3@0N+9PYRpHOJfaxhuxbY_e*4fz6p zn@FTQCTU5HQq6pkj()~aV78wn$$1h5hPE2(;QD8$za7W~HrL$7A7 zFyuU%YcIi)Wv)|QT=gr6^o(qr&?b4p=K>kgK-8eEt_{r;e63MgB>Iw-#kORw%E4Qm zO%J{#W;@ke=n6<-ZR{Q_&%y*ycZDTY`59;e=0<=KRhGyoxPz?KS^TS)8JoP=LzMmKTPm7Yh7JN zsoe9y+j&lrk`*}p2U2W@m>fSSX>H6AOIcA|x^={;Hs&X9%Pm<2>(yucZ_i#8Oj@v3 zqAO(x1uGGx^3_gShRcW%Avc|f)gUhF=mq-H&$5~TfwCZ9F!2@3mz-6AW$Nt}+mUDs z)q@jKVyTqi(I(vix2rm_-SE}Qx4i9!H*el0HRNqKe1a5x>6=(sSsd>S-!XU*2!Gug z${ixFAU%KkuXo*j$DP|LB$a1=Kh)Hhg84(d&-@PX-zngK=RtswJJ;<-4Y6qudx;>hnJ3E1J`rp)yDtbg2i@|ZicV9<2TRYq4HH62e$m7>&+RN2C44EFYrP zc5_*WxQ&9uZkZ9*GI{p0K=|?tgqN93|MWj|OJ1*xxNwokFL`p{ta@;YEjpkq?Nr)7 zQ?$-BUPI%0r+I=O1#TvvN#NY2RLV(**jY(8q`mR^_I{z-D^NvGR<_DBD$IYDFU-kA z7|dgCEqW_y1zI`O6YS8B4RR(JDne?Qtc8Y6zXaCCwKAj04+I|4tEL1{W*e{7LnD$ZWbt6uau~E5h{e~jME$X zmV9S@B7+wFsX$a#vc0*CqeQH_**%0vH();XIGLrEf~Cr8?m2;H2@rLIK6G174^25$ z*2Qwpd`Cn*Im?tBe8wu?VO}Ah6_4_m�AlAVZa8a9J7j-ps$|*OJML3fR(hl0f^C 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͊j!2JVaMWoKV5plxV({~n>ENcrKaHnMZ$Nh_ zMQ|@SXQAcQoV&sj5b7kR?Xz@a#u$P%%Kj0Q3Onter?FJ`g^+R{sMI1@2F%l0fP*fX zdGb!2r8@fIy)bFuJek60D+kQf-<_YQG!i%lZgK1XNBuWd8vs+RDY$N&_sVJqST$US zLF@b~4z9%KGL2=mBu(qXz5OMC=?m_0quHz2W=A`NiB=6SIV(Lbb^J#6*s|H3eiTs! z>g`uxqdr^qi&bewBH!~mX<%|zDa<< zh-N?CQY|j|8RKLcXRNUWUQGirAdaLS)$K-=DhWUIl+%6#3P8^0E*%7 z?BH~umCjj-=ff+0Af6=s`3>7og-zSn_o9i}8BP+IjxSp|^E>^pjT?uYzKFmTNXe}WJ1mWv$pB|nY_!+TLxI?5PV=0DE@qPgZ&AMozN;W(g!-9XQo9up4o$#= zoWH>N4ttJCEt!r%>p@nUeFcbo>NjgcTd*5drfbZl)hH4vlSnRdp*z612cKZz?WO8< zPP^tuuwzB8j;b+3&4EPQm3Wk5G^Iwl8fXfv1;M=0wK51kG~u|p1_9lAe&T~VdO9ws z&k`Z_4rkM2h4}*wB6j1;3)0^%$(Rj7!5V0~q&hGq(Y=(Ag4&d%FyU>Vz$+RG%igv9 z2Ik<{tHPA=AYs_~;f`SW9&+l^px@0q?7e}L`Na8mURk{XU`e$sdsc_*POyKg&URAo zqasJIxM`N%8v2y7!e(e){r4%em0;{$V3r5p*-+JR*lad>i1>>A5tq5yXb#6cQJu-YYjKWjmzZz zoe0>n_OHHTfw_4x+$qM$WD207{lA{kR8Q)$cdlA%UXoiKzMSHJ4E*MsNP*Te_$}fT z)vkB@3wAoTh=iJwn<%lS0D6D(mn}8@Ygq&bsW@0iNo8pe`$_o)f9Jc+k1d7dX0vs_U zV+4L5%2xqj+xcRtcGA&<`(JVo?C;zEn#SG6t?Pi>YA#m!MYEUl^eiP`j5?`r(G-&q z3vMT_zqMOx9&mx5+1YtxRV+lE$(HeHgsPbf{KUDkG}i3(ooDaywYhtI;-i2x@mw)w zOo8wTq@!rEJ1gv#@DTBbu|j$<_~T7~4ordK1iV@EbNZg;3pnXl>uMj)-9o1eP9hN*9|NqU` z-}32C)nJ-4ry_OubLE|6QKzBg4qy5p?#UrzV`MM$+%lURwIW^3)-JZkYc(AW;Ex4? zEIccarUf~Hj9ASZ&*@q$R#QGgwzgE4FaQHK(BI|%jv_07h*yX|?$$Gh7_G$I%Ny<0 z=3WXJ=r8`j>G1H*V?;NK9^1?L?gaRxaVJYoV1oG8Ug+|K!{wc+-9dL&+{bmuZ2X)d z?v1vQ&(Vmz=_FtA|Ai_vypS?G-&fj7m*xxFUjkG7X#z@}%&gkn+xJf2gk9;&B|1*M zSPJKnX$%M5nN@zwHa05%ZAY1H?44&#kJGdQ*2IN%Dk}gl! z$$cv(d)WzA70^5x3$@JLZnrg-zO_5sC7f}W;L)PHC$<-Vg?_IdW~OSr?b8@xDOg`o zcN^*N)A`rfYAVwaMe}n|>cWm$^3RABL;)r)VER? zHhSa%6Y$pPcb|a2KYrRTj9<^fC;`-*+wT%?Y5Y&KEng|^eB~rjgYv`dYlHGFRsKcb zx}MjxV0zgQ@Fkn*U+RqgKE?N7YK~wYdPl#a8(Ouw+KykFjAdE~_R_X8crDTL(N}MX zwYs}%cDEg$ZzY<})|Ma|<_)bS>z``dxwoyi+*x;%cEf{DW+HB8_AFkNrnZ;*^VK=P zw6(-bd}EDa=RG~AQFEM|cvivbI7g5j_WT2b=lm7gD9rh{@Ln`Xw+2)mFz0Qk@Kb}x z?BAX5uM55$eZ5D|gX!y~>b%Fh5~v`k?Ju1GIz#T_n;rJlgk8?Vk00AdKiGYicdj{n zNLvXCyIB>*md>c!V(8*ts6|P@ol%vo8(2;RGnJk>u$0Ye3W#LoNKKIh>*gNJPq zFfIcTnYa?grN?{EQ|9=90FFV%nwM?;9uk=6geaQ`I9?}ZXq=6t^_RallNYfPg8#_> zGE#wW@{4-rn+)F+Xrmqq{K%Tu_v(as!lUWDQdQRjg`G%-y(-v6a0Tjj2ks6!#>Ij5 zxI4X@X`bRcp~Ut4C%bT2)FJHe($??sE)_J$y2NgVS$D)v;s>#zAgT#+GG9X7rZ^2Y z+M5MWxM^0Wqs&jOL<14!z>~te*4flpqS#7K`#4}wq6z=gz}r8hQu;Xd+=Ryk38)#T ziR#WbN?j{zgG()cOxR2Ah;FBOrvja|q1)(&yt5ZCIYjj^4!ZFD09!?#jGgqTI9~Ml zBh3%Z5~*9eq!z{0h|qwvBO3v6a^f^qZr9$_9o2{pO1a@KRmrNVRvM3I^rd_ml&YbA z1g#<$e!S*ce$V!GZ!8Qb*I8(U3C^499hM*=Q#d)rH9^FQ{l_(&*nea6m)L)MM=lz{ zWph_{&(TMM$sOt0Bak~I&PY8L^zUc)ZA|r+0YpP`_-20fDHZ^bbSd|b6X27rb{={G z9O=%}_i~vIBqy05bmLb{06a16Q!4YqAWC z1lR*M1Opu-DdTR)82~Qzpn5qDBT(MO?Zybw1o1+WJT3ib?!)fW3un~q7P zT7RB9ogr>ps`{Ml|(`Q}?*Dj-x1Gf>Y9;ErouXu|!K*swsdHbsk)CrSo9o!?WuS zJI#+X6BG4tnAa1xg4`(QP&l^ou#wmjPRA#8#4v)+zeG`QvI3D*-(61o9Ey*EGeO>k zlV=(sOrnyKmXhRq+{Y%I(DffT@e0ReQ30Od6JYl-#$t+TD4aZNLQir6^FP~YyW}Cz z;D+%+n5y2jM*bAKVMW_U3iaK?oiC0GcFLtCT)qqFCiG;CJ@xl#qrnZ*elIhmP}$Xh z755+JtV5`M6$SFmkSf=RHhhH!V1IvlpCtfJyF*RU45Z&TftJ|IKSu!qKkVF$_+Yc9 z)+PqK+>>FuK~S)>BE?2|PH_d3DH0a*rS2mZj8h^0_*q-ldi0utXy+ zHRNiw6|U=cQg^W8Mn)5svlPmgymwbsSKg~DB$^IBTIVi4jPtCeGskZlxt$2eBX#;d&9Hd_Z$SkCg>=w~s#`#g7#2RO*dtEIeS$D? zYN+#-(o}EUS@(T@>x;0FyFiNa(_DAVxmz|={%UG$WO{)LRSTE&>#%<&1!0OK{PJp( z$+kjr6Q%&sJ!zEi#%11aX}dHOcUvO)_Oz7#i!_)ousbGsa%$D7p+1buc@=<(f$~SN zR$K+#K)mfPN)70V^EzJ@WuBaApF){1tP0nr#;TP(LB+@E+8#qJbEEMCYaAEJE(H0a z5}yX5gb5NgXmvVvig}OYC(1b%2tdxkbt-RNKS45z(Er^El%fe2O zYMj&!An3d*O#qGNCO{X9sZRSCCw+NWa<#Dv z+4xNoI^TRDcc@D5KgAZSlCF9J+It@rt+z~EPiX7SZnlpiQA=ED6^-dwVf_pmezK9y_R@-gMM1AEu!Gj(%np#Mhpc! zW`^TXh)VYgvth(|rB3^C#-Hl`go7C-ID`EII-%3i2?fy!ojxTqo3AM_jh}8BcQ)0b z**~2|$0!j@nLFQL?pYANcig79e=qIip#FC~T2(Jlm5!9$$bdd?I{FeR^rlPeGywGZ zR++bG933n&ppPqnE)5r*%!&JrYMJRX`7|R5gg$u6+98!ckq1TW5b4>tYLL9wc+D`A zalRDWz}D(y8QfK)bD)eS48UkJ!gLOXRf1ua=CH9J2H+iyKeoR^^K2JK`<=-i5w-$5 zz%s3}m-yS?>S{%>L06zbp)jD;>C-bSgYI+|g=HFDpS@K>a=W2AhWiS(X_Bx3-g|8C z1RP7uP`<)WG5s#P`F|OPfl$csw?+f`kTpipeu-F){LDSHpHowV@-gqEq5^LiKMV;g z!gt97D+k#?UZ&GFcTkD7;!YAn@cs>)=C->fSTdGt`UrBbQr6(3!U~?kTF0? z6F>FORd*N$Tp%3cZ>?_Mxb1ybKlTVN{+_1|hvT0dFp_c%oH`H;MADDJ$rr$Q-Ta`> z{Yc|27_?w7uzPbd36oN#a%73$3M|G*B6$rhzqo6_0BQNw;+DUhZ~3-D%K&U!Uappz z{nUj4=WE-c>_qbXT4%h|d9c&}8t+owtCDl+V)c+NO95g?8*pB^zof6JW+v>x@VlYIlo?qh2rJ32rXvH-A zMAzUMQP9Xj!)^J7KUHX$65H^NMGc=>;{VdF?X=-6Bi<)0$+R-9=zPHc^pIY9fUnTY zY587)g8`QpFOMXI~rX}`zJ*7W4(=Bq3iQfy*1|QDCm&o*h>tm^Tz(I1BX~?_x zH-jg%uDH8}`R-=e?()q$KP&P7nf9lJ`NwI$PLpK4y?z6#vruz~wEH4;3d1PLx9fur zgBD7GAuV3?FO+>*&~Ce?V{q&uFH4UY&&Da#54nlLF+n~4+C&_mo||kT_;gD z)m@$*?sRMhAGqEpM~ZQ8bJ~yb`F>z=(JWd&rvEb^=P>;%Jc1?P+3t^& zH1M$ZPUql(e7?9VW3r|r`>R8{`qGfDk~2&<$qVV?pSSxzqC(A+#}0#_AmqLIU#IBT zxA{e_uWa|%+NUpX_gC7duW$E1$5WmK%8Mk=08*ZHSMbK!=L-SV8^P@>e|syEKZ@T! zFo^q^5z4eYpX!M$za;O3bFQwX6Q8gcdX<$dd-z^;B7*bq@mHExfG*PXb zYF3|zJ6g1KWii=I<%d=AToIIHDw8x*)_vfzkmldnz_6%^}}zS?~3& z8gtGyCe`!arDw}yWkOC(W~faG=C+zotL%rw75^Zs7@u4zcC`^^i6d;$)@4EZHW81k|4{GLv=Ot*=Sei^ovMoucW!SZ z8=&aEGi1MWotE`=*d=JoM7|W2NVn=fFPT@^J;la&>G?J7QD%pluB_{*c-U*g7^P4cYos#e%odX9vS z_v$3lrM9D&UFYAWw@^ps!{j-LjCG&L&9AXc%!4b-#6Q}(P5eH%-v}~ZFm{Q|tb}`J z1PISl-5*aX0R%(&@fMa5^y(5z81Vm<{t6hL)2=O06_%kTa_*GQK8=I#c9a49_L$5N zl(022xAmqaqvQxN-}?rfFW7HHV$`hA1xdJVzS}@Ay!^PJ;pGW2`+E6|etnkGJgS<% zh5fSTb#q-C5b`CrQDI{6&-GrUB{rjw*;0wX6FE#iw!eQ&16sG|uksfUK6%Yx@njEq z&kQr;Y`y6VxzTNgMJ=>a1m8wo^qv}|LA*_dN3#1uQP8lNp*9!M>eEH5Pc^hU`SHOn z0LhQ!hlf~~uS@Lks?6{t{;u%G!%7%Qc!d{Zh!V;{k1sEtLq6R7kh(3HAtCsv0bz|% z_-gnT^YBSF{U8(l8|0=X3G(E`7GwINyD!b%PIK9FiW=mMc)<)1UB&zJ4aRJP5>2AY zY6z26=HEwqW-NXJDRMic3%?RmUS=bCYQ}kJUmsd+qFGhud`1&sVT-S`o zGvXWwQ`CZ()W19p##&1fLsaiboR>Se7qZG6VQ3L1gGZ8>`|} zz$XRxa)I)i!*x5HlpG840rCuK%OD=E=Zvxzi2OymMHQ?w>y5`9%PzmrJDm0%l>5)} z4EUacZT~WSy$Vt_JSu?%u*`@`cU}bQG6I+z5j@jar!qm#DC@ zgm9Yo+4s=(V8EHVM|S1Hi#<}YM5+`CkCX2TaZs&{V-=8*y{N=tBNgkoX(`Erh|lpZb~5Mc{s}_W@z>X6}%no?ER20x$NkyR&rxTtK+5 z+IC%;>pGE`Bn$aS@Yb-Pl&E}e*i{fj8FhwylIiAYvv-#+Qw@YSNzaTFd9uy-p4!HX zrl=_!4#s3(qb+ODdG%t{7!l%qy>-GWH@r(#!ce_9MMd=RKG8$@b`G$q;4%U=aTg(w zJ_TwmbiA%cDRzyN*S`zw&i_bte?Z!>K(Y?9Q~CgidROQJ1Z{?mqTt9c@&yvSQt%=L zw#ByVLby>xNO2sGF|@f0K#HN;5xw%=-Ip~ z|2nm7&bYVDK)kQR+k$L&ByTYIVn?=y!nVs>;_@#G_!une2x~Gx^>{b((#*ykiPzh?vwWPO9))!sQ+FpGzGoFt8B2&MfMVd^# z`mWF>1}7wnYn14?t4iA7|JQzf7zn+T9Z}VgdL)u*TrXH#w+4Bcuk4@77n(7E5HG|% zplK?G19&>|v9syoP~A?xk2q`PPn5YhlD<9eY?@WZMhIsjmv+8bQaY=$ZWrxd-=k0t zDbe<4nUqR8nCG<4G$hP#nAC%Uy?YTzrm{F&GvI<{ukJ-zI+yqwJo z4yrW(CU+yu%IZ&(3T8-di6HGPBncu6ScKckT)I^gk!sxaN=(jjVCT zG_F15jESrzIz1@g@iK#|6SuCZq+P6;1W~#)^+?DqOYIERJ+}17q~6Y6fz*IK;UWx9 zVpU95ggl1s5oc5FVe+!Mhi;SkF>9lAYHV>Z5l{YoC5t-<*0?fShXA00hW#sZm`;GhzZW46 zv+n94p4~@q6?i4qZ8Ux z?MpP^Jb3WvBMr&g)XU>jCrX!2Zrk0kp2j$9cdIRgy&G(5bt@5Wj@3f$d#Ql!@_9yHs+i7sneKaogdxSH|O|wu0bLM^ifwV<~B-V(p)puQujl zbn@iFn`I*wZ{8nVyk+#l>}hSiqn(bQLxivvgs0$P@#fE+w|L7}7N%>NwfQFJxlM&& zX6=q0@?s^jv$do|Q`LCL*;JN^bmeeK-#MulnBZxeb!YAGdE78JbaY2U^1W?)8rIL%Jj7Ey z4Nhv5fOQ*ZFPgy=#DxSuqH?YwpGXRQB9Nr8UU{-;>7|R^S!Kj)hn}V*>)lxuxVaF; zH=GWwp-Clss&_+Qa5k-#UAm!HP5v5X7{DM8!}O!%XGX02@l>u1oDMDf z&4$^X!`eFkwXJ8EvyMBKxPA?F)xKe$a5{cSK_;>fd(^q6#gPNr7(=s;+m`$2)@Ua3 zlxe+f)l+=jjy$N(zkz=&eAOD!+Gf?hqB2w4;5<0{=i!dsiI>x{pLf1gLd&HDSV8;B zh*CR3mnQZ&o6bYZ1%533OB(s-)xiE{==tnRHGTJ)sb{S!(=%@=ow>?`MkE*}Lg73Q*h)NFfcJgyyFYQ}=65eUiL zRqhUF6JOeNxN~ne)a0_C{zeCJ1-MMj}wWGJPvlwmh=Mrk)GX z!R9cdbbl^R(fyYBVqvBK`?rPL+{NU%fA{)srm81|G)!rCqFI!cA4Hrs_GK)K-UCrTO8?5v?#dp&G5NNm2YyxXr?yAnZC7L-t%94{~#+n{g<})XC z73FQK9v}8zAc!~}FY>92VeRACHSbb32P`U`P5pUI!PEfzYd`s~5;L){Q@$ATL91du z^^$Y<@2HeZX`0yEjfvb|va1rtVN*W!lJY&7HW`+@FE}3;?JOJGn;1XlU;WkZ)lpI0 z->tE!_g4VDb9bBiyQa_mSbqW|r6haT-m>KzHxg*$@iLRPO;$E^UOCh4OgHWfZ3{G9 zM~>PqCv}jUaLsm2%zH5Q3U>OtC;%yRw~l$A!K4b-1ev4e$B&9C^Uk|c<+kh=l{G8c z`eb7J>#{S2%TPlJusUmBK_hFfKH2w3n!qgR3PEC@&{Exa8l3h=sgb@`*?_mj7^C|% z7!#{I;iUF+DYRCul|*phxXnZk!T!ZE%|Z9#Fdr)zS!C%l_f1xN@?!V4P-e#eBkf(_ ztE|p^|6F!Rf{`~$)TmK{Zd*{M1!Wv4vF?PJ1c(p>Au0mXI<&`eW>9w|D1{w%BKysD zYddP4_RNfS?6gkjoHJHhf?#73{O@p?Vt^?KRz+-ezumUwqL3TO`To}X?p%;|=KP1x zhwS&V-gSA_v!45U7DD12c!hxNZe&n?$UBPpY)bUjSiv@{H;xNRYk(0UUskJ=l~QQ38^Q+>GC4mHpV5=Gj@1@`0@8**^dCT!>Iqt?KlZ0lh7= zec_`MVpT~cGu@>46RRcDYVnmdR}c6??}tLW#z(law#>_-kN!~m@leklnjVd6(<0Pm zHkIM#pHzh6OzK-YT0r$=bErNJo8Dzb9)dOi+yy36Ab>BA<{h^8gg>~IR*o~~LaalG zV0K5S<8Y|gY@fGUI6QIs63H=}K9_|kbU6I}ttFGJ^27F9;T=cA-Lfd*--I+XxX3G9V~3t*-#LFO6-f!e2g$9tYI_}??Ls5_|hyL4{bE_c19PGhwmfA%8q ze~mfrY+1L~TlYDq8K(|9BRcxbnYWR#&Ee3lan01fcV^K}t>@rQ>OXz%dcIxtyT_?5 z8(z0|QUn6y!DnM=(xyG%bW~qH9G2Ja8T!q2Hvzba$mM+2( zhRQB+R^Y}0Fy6oBd0DIgNdRf~?oh}74)x}*S!!+BZIJ4T=&w+>(hr-3{Ed9@X$Zr8 zWoA#Z&xB8Omfn(zPMh)3&T+8~Pplq@Xd)@8~ zhRWgg!a5CgTiRF20$Y=qr)q}>s%o7wead+CoSB!5PxdEE zH+14OLtw8i_N$5Pb2)PaajWSlAYh#i*Wzn;Iw)s)WG14TIcVBde-ZVCOLl8$2+Q>& zAP13{Yr5Meg!9l~iIamsC*<&l z#1d=~V39flXx<#-Hj{$NFcy5llmlX>3(MUqn2Sq?zV}v#))BqDj9xllfu?EPoW%_3 zp8gP2A~@5ua1f42r;dYR!fdZg+V`;}v4gE#=S;6-5mrc9CtKl#*cwF$(-=MizyEqA zn4CaYbF59*@r?5pnyS%hOhe`V8wE4y3YAyaBvw(mOH-uzPc?KcI`ZI7)<$9Q64tQJ zw<{Wbp6Qx`SuL*cupRG;d$hB??6`>MaYHXTYf|(9(0qn+_EkXIr{9xE={ENU%Ruq_Ycl$ zt=kP|U#>LfY5GFbTTOCmQkdjvrkETT{_yF0o#mPCwDOq{t6c=dv|V!(Vg4a6l{8O!b4{1Q7&Pb!>npC zumBw|-z0+q=(|xlV~?H+4?^F5IBN8HCT)$W&qL;sA}#Yjj1ZMW<^Cu_6uZS-^wnH@ z1mXVsoEn$d=KZ(uSNjqEE8SIem|O0TcK1P3%){S%oPUHR3xfZxE?za%^dE=lr#L+R z3tcql553`a@vhI1*?$|VWi**hAzMvN;t6?HTzrwV>HPAPkp)0t=_^o+a?~y@Rgv8l z`OW30vPveu&azA+#GXkjx!g^a8=Za%o3zA>G7hZy&;5gQ~ONWKpJNIe+KjiPqOB{`Pc=Zqy`{ zeaRbAY8g9O8WszbG36!4As>6!OsK@+Rd&@FctWA`jza1>lHuMA4J9nJ)WEg0-{rc* zIPk5e%UI3f9%8s!Tteh**YZZ~5UsIV@&+IcfP5aH^AX54o4z7QN$Ef7~AK3}ZqI9=Z53y=z_WKXygG0b<$otnmcvCP|m zeaMyS+pNYReYR_6$$?-1_#bfLFEMRcpFPW$u?jN*>rQC`PK}c1PiX>Fr%P;%P)YY$ zyjhcJ5&{TYs$vpdWCd*=bVVe?@NZ)fk1~j%X;^=P{nG7enxG->$!Q-8^&6W z69E?-T6uhc3)Env2bqlF<5d9&kzy$(!wd)D8kV9t@ulT;`r1{u^HZ|4n_fzZYrKKk zhw+C?y6^%h!3>@48k77$*oFdX7LfL@8-Y+$d>xQGj}#&Ba+sKGNGT9_@ z<%!2xhyN9M!qjVKu-$4oEz0X3n!G3gWb#rn1>&E?xFP*S(tP4;ZW&QOBf_^V_WRq9 z<%D;SH;hSWAUVnTBCE_Si-};2*sB?Twf}mpFXt-nVTw^}2^#(jNAfX1cSR%Z)z3s9 zj^>?kW#lzCjFydqGc`|U?HG({nyfwNALlrSiFJd?f2M1QB0m673{n)%tmV^+r88~M zk)W%&nLhFqcG>vc8E~gHZNvffzl{!0KrwUePQa-1#z!7fFZ+`#)By~^!E~Tb9T;Np z%=#*Odb`GS-SEPw`zl>v%7fUKc7;oJLUCn;1rww>@2Yb~bmSnbOdVk?_5zl`@zfG< zB}~%+kp8%AA|U-HEe6M7l)_&Z>s*52p>eQc2;oMK_i?Wow+R{USr>mmi2W?meU3J> zp#UVRf&;X=93WR!F3_3JTDV@7u2CU%?sGRFe9|mmHX}e}@so7B1a{GwczJi$=NMVH zOId|eP}fVzCJ)79!Eqzi(%uOQr;T?Cr4cM#9BokJlRMET{K2oZAI;2c$mfA)2?dJe zjL;@xp~fAuVq?G#LhA+}Qb72W!Hb1VI|ySeOmhv`<|t4mSmYy}^H4E*ZB!Gnyn4<` z3q&6^m6)>^O<=_u-{57`A#av8YTG*+Ds$4fpue4)^kMe~d;^6cd?dOO&e%^C@SMI* z-eEtl-b%i=SLAb!@XC)F;k)W)qU2wUSrC&P#==ElnM&ymr^pxcjx3!r-g;) zHYbtkei*$g-}zWTQf0q?$+a=^Y-u-D^-!4{%{hr*=#6eF^PTHi^&?(w8}Uk+j*J4H zlXy{&DgARS6!uR(*{~&j&eT~ZU=vQZlKEF?oG`mzWe)#e2Uaeo_ z5vV-_&qn~dUR*bW&=ZOGQy^H_=SofdN-;Q~XVF{*a4aZheOWCRNil##Uqn1X752!= zoT^*W0sO;7!)}liHO4x~!JlxyU=tFC+%jqJ4ZsTxDT&!D723YS3zO2RNM*yjLi{$wm2J02KKIgxMzP z1MUQRrI^M$K>C~-H=eQB#502Od1=ON@(^X@GtXBfDFHD5d2)8&Vdm~N9tpx{tLuO{}PD+B{mS*uqo&NvmWy9!)5li?K`mw2AnsaF~2 z!-i4*n&JdijLc&lEv;vs^Jf{S3~dr?7o$YfmLDhf;2=mS-#73c#;@=Ip1^O=8T%EL zif(*Ke`^sc*Im$UZ)@akJ^@6E46!y6Pmh;z-32*vAI{>V==2NPKg`HnT?|SUIOrN_ z2;~c`#__zfS}t`XCmu>N_PoR$4-!XuG};hR1K(0J$?^DKMf*BfN}T^`Ud<{a6z5~! zYADf1i|nrGw@m+w?y$B5pU=TKvxnmkqD9XO8LXC)eeEA)h|y-&y6bEF%wEnX-Qk;W zHNmJ2+ch)#cia%qvsW!f@2U!|>&s57TNqv3=X*6RuoBnEzK1R|?@EKxB|1xkbRsRf zaCNfSeY`r!(Xy*ae_{H(FsPqc4aaY-W&#=TH%cSrecIca50i>#3~m@XR_CfzUmDEN z6~#a<51ed*M{4y%=TvW#Kq_!1zW1H8BhGtj_*lw;w@qO<3R&yd4SmLW<#^E|jwNiaF=p?My@j0w1)ddA^^iY};*KBpNbk^Jwn@b`z0t;>Ao z$5q(KV%2GxY&4j)={3E6*J|9e5-!?d*Yt;Wg(6jb@j$N?ZtJxx1I_b&r}u?+9gWot z+DikGDo8(m=mm=#dP00^HJ#vZbU}?>)gNx_Z(ea{OV+gguZl&7`a+;9BX_RlPw25R z18knc_b%@YfUugHk&dmFMH$hGDr*bMX=B^kE3`2K009#*!NNq#*SI+aA1EMmA1nl7 zYquZhn7Cx6)iOQ>DY2TuME{F)go13qBCYID|31Ek$MaMDTYgUe{znP@dy+o@v|2GV zc!g-BMw%YKiw7V7K0|S5HMYH;Yo`R;M|4Gvy*K<}wz8&;owi@r$nhFY>w%d^2=GVf zjMNTRZ40P;FL$BG&T?qM&tYxUADv%62e)@qtC(L!J+7&&@Q!ZV=XX9qxE&f4$+KOC zUzoV)J2c4+W0nakGJ`6k^Q)o-oB%#A!`kxm=;CI!3kAX*grxVk9nJL5$jge9_Qgwk zqs}Ub2Oy5lua4T~z>rF!1zl01Z9vgU$qVdLF3mz-H1YTO_TKj26%FNs^D?xbCm-Cp zeAv~#e zuUQBbFn3xbHD{SpVMi?7?e?KqPn@4njMpP)eDq8Qpa{+#vZ#>MOO>&`ru!u}wCtl{ zQLTc(24RM&dvm?$2a!H3`NVZURatLaj`!3!UIFo&(aXazZJ_KlS^XZ6e}NJTPE~+hm0(uxCpkBKI5-gm3YExU)YT z?}lQ46VcgK^`FzU&I`m!`#}N<6YG1Q-D|aW%0g_D=T7=e7u44#9Z;RT9?}AV*dEeXg*>rZN;7UTE3WA)_!I>sHBEEz zz#u8J0%z?i;5dmSgJhorhwZAKc%XY%XW$d^88^JDT^^b9s_m-d@xbpdr2KEKE#bD` z(r9X8`8D&;rod`oQ+^MU?)P##s#_@>Zk&9?CQMC`}kzi;@N*SwLoUif!&hY+$Aa4SzDH7gOpI>#=Y>%$S+_%p|caL zO<8{Kz@AqEP6n4E_xu|o2QO^|J6>397N<{dD4?lvCc#ls^J<@T*Q#iryooN2*@D(< zy1DtAe6ZCl^X)tv0_Ox5oM+RlrOu`JG`)}jaiWSLNY^@jm>*qcRY*VV6GN>U`fHd2 zj}{xkf@~Cf*$5BQ{gCS&?8o^WTquQb+TXJ3M|7(a2KP-NmD%86?>q2e?wZ=%H7RJZ z2qEo(4Ck-tuSfJolOu&QIXi%e{hrlwftZt`x5zwLy;~8=#m$RMh}`p`o~K=CtYkzw z?iSp-QA>ua^~58SaD&l+rNbH?7F=4O*2$6bizCo$qn?6p0$G-$PqrS57FqQ~Yf`gN1p*hwo;mn+J`p7*0MQJ1;}jl1 ze+!~_RFR{Oxk4Yj5>fj|M#G??GUWsIx`zI$SkV!@)N76b=4t!gVc*te>p+rX8=J6J zs?Lx!p!hb6#iW2EyGC zjop3?ux#-yA&sMa7Ag1p8(sBiZ7wq6V}nXb1+J%Y zyFc_8lIpV^t;)TxL0tRb*R95DmomC{WAhA>5gT(htPt#5wbaA{=hWwRSdGVPyj4c$ z@Q-CN73#Vu(^^S(ha}lu3E+%a>&kWS-Aly^Hc}aTx4SOd4}2J%yApi!TbtYMxht86 zVui?fRa|@KV8e%|4p=Q;dLrU8!&S{$$%h68^H6~v4n`M1T4K0ouSGXO4^Pt3D|v&h<9JA;Jf!iebBILm>W@=$lZf;HwT;v zx}6VYpPfNmujFq@-%Sq?i^W<^t)P?$IRhh^(4YCjpbzquglWy>aX@Eiz%z5H+1!Pg{2^pnDYo ziGSZV9D@9{L%P7L;t)S>n)SHLA!gs{DFK_UZP;)ITQT|!M)IacipVjPFOEnu$UwY2 ze=xN5AH;tvs*yUu<5iudy{EIn?Y+Eqj?UM}MJW;8j2K;$8hwOi%`#(e>A*h>(@AaE z{qjH4*B|gDD34`p{<>KC&YWcK;KuJWB5kC2>)|V`Emc{e_xnRVHFduY)q}S0hlrA> zdpr4_y)V2?1=E5TYGx9v!CRq7rxDV49&+YVcM1nl+wAvD!4}kb4WT1+EIYKj%efNj z4~=!B#Y})os3+r9E$nT=JgaP<%NzP{7o4MyFzvJCmk6yJVEHudTcV*Gakbcc)XF1G zAfaJ%?mM$@;_m3Y+KKyOcMUcjwwlT&ntt;6-Z8?dV#|J-@}YI_A|lukE+I@s%?q*{ z)JfS#hTya}q53{1f z;bYnD#|j&E!^d_aBs(_|4dMw1b$EpQEcsDa^7+as8h~|tp1S= zGSddJma9o_PS4Ir7c8u%2kEAZM4LOJ6}1z)$m)6>=z`dHJHKx0%bmxlHu^YIm1aLK zNhaKC5ZgW#v^**OY2*^BF6azv)#@M8w)xf7-+5Qz?ay#E7#!Of)`k8>XWxge+Q!Z} zF*2es^)NXRady`1a%0QEGHg0szyw%|C)Np$S+xZ?_twW6G1@(1oL54kV zHG$8xZpDt>K_4g=sqV@)Y}wuu+7pTpUc6nSJn#XF6|R)KqE;8t6)UY5_o(yM#%;Xj z+00tp?K1qsbdZY8Ige8&k6Jt7k==7W*E+8TN%9&aatqPc*fPq!+ie=WncEMlRX?f^y6mCCj z&!gj2yqJW>1)CrcJgj9EomWknb!iF*oXYNrdi)BH@{m>v6PK+s-jD*_&%p+YAdtyK z_@_q}r;l+T#>>;QsU$FKUb$MeHg;k@I-}U$;)!grdlRn+Hk!thEcfW_+NLh6>4$QZ zc(ThGbWpO;017P-a_yWHUzyky%(8ygmP{@2muvZ0z&~-V0;kLOT0h$t&3oF;3xlVA ztL20X-Qp3@<-kD$-xC~n^16@-H21IB8_)*-*#P0C`>vU3CGDi6;y|c0~)Kc0m|00+5r@ zMMAftNcl<74cePRx4od7kut?fI1EXtybE&g_5h@Y5vDgjfc0aK;G)Opr^%pjTUJpzu^^l!*b{}llJpS7PwG^ZW#!&JG~3E^g=z0b4dvUC5(FH7=b|5O3(GS=+Mos_|Y#Qs+Vb zNXHs9JwrYYPB5%MuC}k%jW^eJM%)7C19)0NfHr2)IlGcCo+`XY1t zFu_L`NbSW$aC7sr6WW?wJh?qGw>Mta6O5I0Qy{X8HL&GWysSHuo>8!dK%@OKJ4Awc zw4T?6M-;m~M*4W5FAKxIbD@7oupzIeJ7}bzdxw;V|NS>W;F8&VJ-IMefMKMuueOBWz4sMg)#}X2;tL;%=;5U7vQ2(z`R#bpJwikE(%yp zpJE~pcW;5bKMmVZo~)HM6JKRa(LjsZ-;ut(=+TC`8f z(Ee~n_`?aY^<)E(-d2pri}Hge+kT4hd~4H(EH-9F#F^yytOQq~OVo!1{6R^$erwZn z1ql1QR)yL3j4274=zU_id5@?Yhx&X9=~5Hi77=;Wup6wqn+HA{8(L2y-pCX}Z>^?X z6F|Uc0tP{h9RxY6@$F#@ajhQTmhu9buy+`%hke-CJv=%4h$m+c0vpNMdEmL-xm6tZ z+KO7N==ply<|O!)-YNQl_NEQ>3<&x#$%?EKA4fC*TZ$QNn)%v3{#_hGqCZ?whxs^7DwJ}`yey) z!Hm#H**Wj&QO4ROk@~?ygV0)iBP*JgOB1^GKIIi9KD5>C2tB#EZ{z z`NxQtdy)-US6LNZnlhBXOdmvYMi|P&ZK7sQ+m{V8L731((b~W{VwX&_(FhM?o2A28 zF$-uLV6tC*6SR4w)E0&~nR@CqrdP{i^<}#+nZ$+NJK^3~r zVuU!HA<_A=aB)TYot2=0znS8Zip8prkX$XXwIIPhAwdgbDco>OWGIwOd9E#KGE|_*&c^I1JOgEz| zWGKZ}>#3RVa@rk_q(HR>fQ^GX2{y5@eN%}=QO16{^y|>0|A3>A5~eksr`z<$+T79D zW>t}w(BpNFKIc-&bUy2mG>SmAtk#uii|rdpM2x9Zp&>+(A75>%`#qf!+!NbFT!7njX?m-kvT&#JEX^5*CQsL1RUY7N`r~zNAIN#e z>)bov{%q%7ebnpR)7U}i9FtPy>}H&H?dfpaX|c=(5gYce$voDEYHF|Ui>)>!%YJZ# z+o`WTIplWwu8fMCn`Zs^HTq^XUInVClF4W6`d;idIPt7-o5KF&(X?9O17twJ+xzb7Y1$iyEpzX-OW2bb8p>cp~nW&)?Or&c-;lgGd#Ci#>J-Z46V;v zT=&W8ij4HS->nLNnN?NKyA+vuXenMOIO;boCOrru&pgmfDd$bUd@oJ z){6X=O(&UoT|A7>UL2AgV27kLxW=^8uV<e>?)S3f%w);c?u9M7dHLeD4JlU(3ODZ&b_nv9LC9N1%i6I6r zcY7v!eX0@T(z#~Z+cL91vxA!bvBl%lMMi`Wh^g}lco#Na#IfU-L?45UFFqtQhz_?r z6&gr?WJgom`pl~2e+<&?X>G}WXEsy(%Fqxv|quE5_tw>CI&psor0apsDt zdv2?ut@00An~#G{CVsRq@xg4`5FHzGR8_8o_-IvMQoz{RGo8(<_H7IBWw?)3z4)@> zRXvAm%^}b^CjzJSilJe?#O3fX|Cu`|p{qLI$#NayCt8_uwHQCk+e}iSNN@eM_7N<_ z^dZlsEWPyMNmga72J_i~-)S<}{ft~fjJIN)2YDJ@bl(MwYR~MycF{7|vXQ*TKJ2wT z?>63p9@gewU^lCxoUCFSn;{c27u`o!SOrDaYrW`M+g&s0BRh-?r$tbHC>z24wkSc6 zDUsr#@zL1|sJm!{DU`~iDOZ#dp(uL+u1AJp{R4%43$EkF4Ge~LDg&=F%cJ(!xNgJbOXylFZ(G) zxPS?o=}pkI|9pZ_YrhZF?aF?lm6)T-(Q~w5z+T!L?(DOV+v@`;RrQ*oMfb5Fn*J3` zLz4%((Qt_C(7O29@nU#Z(@UQh`-=}&!BmQPm6p6P^yumFu{*l0rpK75(3jGJzauYI z4{o*WwBQHUmbqtB%4~+t5J?N~OUp$+P41kwpH(ime^IRHQ&koIU`FnN&>ml;cEGOc zMPmT~l2h=Ih;UmQ52H;RRTEq(LfOOtekW7F8N8nJtL3$MlCkNy@c;(*tJ9(T27K>f zj%L|)EAVP!%7amK;HW6$VX_xW#_ME>nihv>ra(0@_lP+SONj$?B$o6zqUsdWWLtvdgU_NaZaezj~ zdNriJGiC!92vV%z7d#=@WJd1p&~6{fC>{hGh1B^_6Kg)&rjMLgxF?NPk@mtDTaDQW z6-IZtb{?vB@ugZo@?sV{w{q=%_y-&mF*zt;FW*MUkglA2BD71&vR%`sIHlPEXB}@O zDY7!)7Lt*Q-pf4&?TMES*sTu;jWp=`>hv@AqrF@g5uMZNY1n(RB6s)bJq9y7b9J@- z&?l~sB(y6lGWS$$?umHW$*5grT>tU16MZ-zs}^Y(4OMRT~Z=Lk17=PQ zS9ir!v>NQ)$B5WcsD`3Uh68Z*8Je}wafZl|Ck~_na0|Tv+|XlLx6swPFN$c2dH)L8 z!0=>HC&y*pBvffCK}JZ47njD7MT$3I;c0AM@vKqg~OXqz-iSfk3$N3&2XKXwY1sH~roOC+&YwK77 zSaZzK&@}tQs791A#^|PdFpK`DMi9D5UdbM-@pCzRJFr1?tjQd{CyozOL0gEcP2ob` zQ^3GSwcFb0l>}3{pqVImc(JP7SJpd5CO9i0?_omzJTARDt!rj?S8AQO^R0znyDBPF> z&LsjrQwn>K(c|)b@oV~9z+O(~%lg?aN9Xwf zkXmB}kmbO=PuSD{gUNc*4&@7c8LM0m+gW`g5h`r6G>1t&>85ZZzR0$6K>giF=A6yQRDug zMKs%*ad?DLz<<0fnfK$OWR6?UkN;lvxWNkVbOw43pMB>r;Xc^1h$zN9meS?EvkAbq zEXlxz`y`jnD)^o_(Vq-KKpvpeSP6{>C;+gXQ``-&r^=bY-Qav}^g*1$ar?n#=B;FC zD8s}w%tq#(A)U_q+H8e7(Y~s)>{Dy03VzaAcAPR(!W}0J-V>W8u_0x=El!b2 zh*ik+r!dirdBa^JU}pPAnchlaoiy&MpJqe_`dv&azzf(MF@SOQ1vsBkQ`jBErEqg= z02n!&xD%PjIZDLJv^FF5IN#u@w;tDPJ$jPLNWvIK3HmefW*R~Oj$9#heV6fb2oTaq z{$*}Q zk`W`uxDL)kH=1sbu!YQC8JV{@W`b^_57*#V=XfF7X};%9Tq&%vA7^>?hLHAG9pcz} zr;mk8$l_v>O*ek^I{MU$yU*p$%v`CY&8YJyMTiUQ(}6=l^nV(;X*=KoD#iSBB{keW0=KC;;y=_P?R#OBNRE6)nWhzW& zh|dw0$YWAx&j{@)k1SWUQIQh71^KU+@J2bJFsi;6uQ=n6EI*C8Gwtoro_8Y4KYd-{ z2P&Jnw%T5QqO;<+Ypq`@AGaT5a_fFGw5Khy{9_G91>+UTrf@t-@7#f8$wFe|U=D-jVvm7g_!ZuTHMA;}s|9*m2d*gWs*X zptIsPX>?jn;@Em8QsGc%yduG&02Ln|E(ym!bZ!-A4D{zPGH`L){#GeEj?O;kDYDnd zr@xm-owpBg7DOKk#40!zyx%Shpp6eXt-nomiiEG|W+#&u37^_Lh!?%_pNgsdW&TjR zFIBs1WGrQV;L(#pJQihee)t~vd-srhA#pjiH*X2J@5vYeE>XbdxH85q+<~4FuZAKP zzW?XkoEy=9D-`#h(RnRi) z_FV??eE_}ZF_I1=L^=87a*&KdN@k=MV^IvmTPW;7uY95ydk=+n*TxbLzW{`cjKmqK-C36stnJGx3F0w9FE1o?~{L?l(J5hm3pIv+jKo@=qi_ zWi8uhkh%ESPnr(0Z$Pqs(rb1D8)C~rm_=bA$EDx(-6et^TtfGP3 z14vM=6*eZ~Mc9NkxwbsP`0P{iL4BAJ{%~F9Prf4-NnpFjVW0gx<3DJx?j^9D^aq2j zx=%r5Ubv9zt%?l3*nWepbs}Y~VZ;D|i<9P7p1GH%>6T(Q4^q?+UhSo))jUX2@cL zN!eIkywxW-s6_Ir5yluj91b@C7YYHqV3@ZzeV;49MU#JFY%98@Pw}+Vs)fiRBi>;; zK5H)sVCzxfP&0FfANewB03Q864yf+SQ^2?gV0bQoSF$iArB~rD%-KzcDS;!=$cekJ z2BD?puC^Mt>-3-9BI567D=t;YK+&6=tCi-$h@h<@fn%A!Kw)STVXt1~1OqD+Iv^zH z^`^XH$9KR$5)RrStWgfR?fs@RbICJ=)Uey`AAQK9pDsIyJN ze-Vuy(juttyXnu6tmxbUNd}Sm*j?53d#;fA=;-ICQ_p|Nb8H!fX038zwoG4$Colrz?Pq1AeF=0U5eSe@ZkE4ej5JI+-qblza0Yet}syTG-AS-!d6dQE=LLlTzI z;fw`KSV9cB(Az%jnQA?phrG^%u`s=G#X{FCg>Ec&N8v1!JF!S&;690g`wuhC^8(Em z8S~T;G^yr=L*}WU^3vHa?do0oP_#_Z)y1CaP!L_Ka45q}dlF|Mxq|k{z~hu=g^wj= zbNL>X$?N%jentKvFaB7~S+RzwPqF8t?Ei@Aph4BNUG#pEXWYQvz@0x9jAxTZLKI^? zzJN#Y1%%TfIbX&XAj5mh`W~4Qv#|%fYi(J67PnMr$Egr5^F6Vmn3;7HrtCEkoC#}Y zqj|il8QKb;7)+L;H_MsTZJb$cIJ1Vgh+U-e%YfvR$lSs0`sP*h&D}UhjG1ApNTd1{ zFV7hCUqDyo!>Z00;Qp)~Tg)E<7PpMS8CGw%vmHzoJ|czHs6NR@R5!}u_K@mUW%2T{ zRD@(GKgF`K19th?-q_-?sc?O=AIRO|W`Wo;qN~c2e>unhyq_T#z;yaM*9b;U8IFiLbZI=vzqudu}cY?`jpsv_+wKKu_ z0bj=+PLIASA~wRr`j&9`>&g*W8fY#I^`XjKgT~)nn;!b$xDmbP@zS}1XON;|`yr!G zx-l2dOh|`_wEgJFrz?2sdb$i?+=a=&=i+<#Xod{$ed#+u80putbac2z&`!H1@bWm> z0h}*UgQW3y^1^WwG~y~2h#Yl!JRdmR7LE@{^MJ7^qjEQCLimT3r~T*^7s8_sb3(2m zjrm$&{3Bb*|60ZmVpi&jcF{%dfvBv63wZ0$BX@DF)5K%m2etw&dE!sprQ*{l?y1$M zjezR>l650V+5}IT=mV4CVh{<%Q_er)GP1l6@9MSyy>X6l{}LMTuVvmGX%;wtOxOF@ z(&XrvE@QNJF0oj#QaKS44*dsAY$wSqBqZR`#WW%B&P~n*Xae>MITW{rXdK)sz%0q! z)?LQja0}gEgI+9W;{xZexQcY@=?JC@Fbgv3mqa!ULOs&=iKi|Y=&Y2b3R|UXsamV) zfE%URWah9D_RedK#(KW#ai&+Y9+Hj|=6YKj-4df8Z6LS4bO8o(r{i+EZ$f>H^dW{Y z99=~=fh&G(j?>d#>lVWsH9!_yAy&2$f8wWi^LZyM5yRAr16KG3Fd3?@T=zxv)D&iJ zoomEeT$x2sawRB(wL8IzNyFVc4yggIv2e$L=&eX@b=2&Xu{&jSI+_tax-PTP7@h2Q ziR=3IYt+Y%jVpmYOK5Tz&5W>ILGvY+L!O$;-<6YOT;0TI`MWt*>+zZKy4#czeocTj zQRd;+MPPS08NieB_yM7v?_E>QYPyNL^ObdOFfY&~`>DsPp+WG8&CWq~zQje_zBOyE zj#LcJcWLO=c7=ijrnQ;aDhd}RuXG=66>#*x1rXMS`KE$cdG-vxx0m-#J{juBh%7ma z0*jhmM_H4J174*y6fN({vs$}mcGQiJE$IV*k&3?P!-3b$u*SKHt?k}7XsTmnd35q} zW(-TACZYG?HCGIG^omqRjgp(Zd_*UQJIMSMNf;TE^9$ZcR4lQgc$)3pBEBFaE3tGYC&MbT`ZVs9AS1-!4dK{XldY!hJev9BGg>v_ zf8(0K+O^uyro}pmy$d@D`iy*=7YaT~Jtx#;XUZ!(loQI8iT~+pv+@d}WI@7gwq)gq z5aB6A18ZtHpjWl-#`H)lpeg9;hVa5;&GhI;vr*EqYmxlZYj`9aAM!5E zUdDKen@Oz)os!2LLYjj@+r~V?_GDqrg@6!{V|GTB$^OuB)?fm30F!uR?wH)l`*8np zpxJ_*T5pU!R2}zuUOW5$07>#r>2ahwKF0Y+Lr{s6x8HN+S>xRvq5RvLGt4h?nb)WE z^s_@wXZgze{b*JAYsCpQWrs&~sWoh3<|oB*s={ zw_y#d`R<|Erct3Y>eE%R)$GfpnfRC-LfGoAVLvk+>b3jqc=EE&K)2he?rDRjQ#{PJ z`(6*Ir*h=y_7MwZFJWO1tte1Kn=@pe(R64jCGM($_dW>EL=Kp0ZSEwDW&lZnSDJGU z(wcYo0`t-ztyHN0q-f=0er5<8Tm)&!hhUnG7xykUB}>d&OI8}+v733Kz!WeI>hu!> zs-f_d%9RM;CD!J>s#6<}h6`UnjnM^x=!)vjO>K-!|2j>=Faol zDNVcNo1Q9}f?zU^M_SS!`oIe92_bsK*7wFMdMyl;jct5VR3F&ZMy*CwTnR*moR?P9 z0_251M@H1wrEStdJ~Xu5YW#c29Phe5P}($M$j)=Bcp2M(z>U)#sW5?v^Q_GGM%b zq6VYiF2lf%X4GRXwO4;S9I{gNNoPR58Juh<_!!ym_cSpAPa5u^SBsG%Og<8Mc87A2 zTn8e`0(-t(B*C%HVyKbmYmef%iYz65p z3MeWlgG3=>@Uv^}_J;SRBwDYXXxgO|-^2*-HJir|e25+`MZpcFdT2I^o2V^1LbSPh z=g8c4sRSKrQbkhG(B@^`yBnA#&``zZ5RHV^9X~tXJ-yu9d4}{3{r1P!9Ut^G#|>zX z8_*o(u?^jt(j3>IIW9Y%O*kAmMHUQ&lBKViY9A&=V)FyXeW71V-#R-&*)n?J<Q z)185omR4xAw8H;XOB49RKLM8E?QifmEqHxr*j(t*V-KVSXUCLku+N!{v9OmX8FlL< zY}IrpgL-VrTu&MM;N-pb>NBRqpN8XOUKiGECjs$b^2*5_uAwoR#C<+F{yKhvwC#c_ zfkD#?(~T=NnaL4V;r7tX-49)9KdmlAXRnJ!LtNOi>!ZdJW>@9N10R;^HCe>0@iKgc zK(5%`HtERNhV?LAPd^*S@CzP$K8Dx19FAjnjXV22A{kCYE>afIW4r0!`7EG&e}n1@ zooG1r0{sa076<(pluGi0SMjvO?lL-s_P|%7-wZUd8`&`pyc;9pV_|^DX3GS#R|2J% za+pm$hIs$w?PfTN?_hs|O}A3Ld6#1&?c=6uZ3{OZ!<)3pi9LcB<9x&pdi5223}H)! zkNHjb*wSS~#D)l@`>QCblumy*?0%6l{L-Zt`$M?jjBjzjwRq_h#ch zD#+8us6R4WP0H^bbw7W1=yQ|l(0tBvwtJzfjGw$A9de@GWulW@$9JLYMlg^2Vg-j`yCbG@okX^!|u$ zx=Hv7uR>t|6JzPbTW@^lS#`50Rou|g2rS$f7c{O^*30D8t}O250)=}Npv(-5=Tg*p z_L=RFh+|};QV?JP%EC85EE^dc=mc@ z{m9~(bA#YTdPu03$zX+0!6uw?a)z<(QEMU=PN>{JzeOOL%tM$Rro7KAACRp8ABM-9 z<(p8iaBOGNzI~SxcWn#tsg{Jdz0(*UFdlK@6V(wW>Yw8r*Lg^pqzBY0w;FRbDajBFqb1Li6qcc}1&$n2eir$vcWZGo>;e?G-!}=3-T4L+O>JOj=|Hn0iSW|&ai7W)s;(! zyOK7lD`z3kOjn_6UHc>XMdWu|7!ZPs-8A201nOO~uRcTg@)ZrcP@@k^$PZp3lVyP& zr(7ZGqJ4bs=4HwJ%|*$)5e@ylc$}Eq+}_w+R|7%*3`(eb1i#<}q5v6;$^3r!X2kr3idutB>|3p-+S8K<4?sNlt&i!LMXcZ zwwrL3Sv(UjJ#B~EPvbaqj)0ZmrfUt?93+y^E8&aXp4w2ebfvSOzF3>%D&Wlf1lljK znLrPh$j~66A2M#SldMPK--Oh@zY7GDmf{@Z%0n&r0aX2vFTiye?H%%dIj>WghS(!g zOQw=W*|Zey_zb^V%EYwlz(vBII_>o|Y&OofarNLf*1*iL zdNt7?iHz^4)D^hhLwaKK`uK6wR zG;g>I_QeCgy*M8Dc&+g`CgXwMG(~D1-uvyUUx(X1goY3(1n01Qa@!O+&vCSiyCF3qmKYg)2zhywG=Me|Y!NSXDn> zNo_3Nvc$`?QFpaTUEIxnNtz|K^58ZRHqgOt4^}7d6^%IP(um-gX@iJ^6Rp-gGY{8Y z7^zh#j?pNQ1Z!2p>mdP?BTE@Wtv3da7 z3kOKB6Ho6{r0)r8MGK0RrrTw~SZRh`w)z$~U(!1w3JbC$)$e9Idnkq7Ll_eazral_ zs%5Ao*b*)WAkD=h&(7rp|0)d#c9Sp#W< zdTyS{;y5#XPpjVM{hv7(t1!0a8)wIGacn-?zOX9oV7 z$U9gGf1Mfn^^BZ%(tZ*78@-+`{_5K~gaCX10;q@ohPK8IsFQ}B{8XzICIz8_1g9e0 zXD`ER=%xR{MIl=TLk=ysCVln#TWqna{=151oS2g}IDGe9VJs+l|w1r$5DeZhN zqR&Wa#*Nb#E0vn2C?3RvRnEssUv=IF$FpXvrk@em;);ZuxjOGESu5UL#QwAN1EC$h z$X!Mx#KIzx5Hj0L3z%#*Y^aS)xa>JdS#%*A9FDxDx?OwAt^(Lo>^zSIda(|FjYtMa zm#p-HaIMX|4T)T`@>(LD;qL;z?NitVU{5^%C1wHAL2%m$Zd4RqQiHmN@auA;(Uf{wgr9TyTqKy~dWBAZf6WinKNI#AqDsBXn zlh=*rMm)-R)CkZ*iMSD<4MU3Aa|6ywrOc{)0C|C!H|5r;Ne{n25Ptm)9;5{?MR3B{ zyxK$rXD#c@T=xSt8oK0B47{HVNEtWRRB{ z4jR$NpsKU?B`T;G-FT~4!8|J195lk8u?J1tJzIMk+&-=fX_pkh*( z*FxtFKGn>m8tIZ*qAWd}YD8R>sO*+1kgeE> zVZRyi-C29}pf^cYI4mBOW_n@;z zo4-cP-fq>;0mAO=1?QtsXdc=JoRiRrk@Ju$>CQv&PgIgQrerp3e%gN1_5a`;BBH+q zp}ua@pWV)PsfhmUcDhvK{Az1U8=?OEzo?-G0gWfyiW!pDe`2dOK=9AdNhyViHPcB` zH>Wx&g9x@M{+l5W^S8vx?OvibTVLZVl-_)+v6<;}J$S87-GucO^8XfS!yCVa z1N;)aR{#}bFuvH+U*}sQP(P@qQO=I|kutEG#B*k;MjY*&Qj+EPMw9U0&A~=WWBf{Z zv=b&*7955dGMgQmBd4k0z(=|3Yjf9=xJ`G1QInpPETb0^_Yhs~M#k6umFjpjbwq&4 z@C5+#C(8+ntL&kzi@`RsCu5~{*<|SFS&{pD*pE7EYfb9aCz1O}>2?yo8lI0p=i}c8 zDEc>RNx8N0dt9W1(AXj+(9lU#dC|vT;srD_XI4!PP39@C%f!UoFZ5m#Xuc-YZ`E1N zW$FIoB_XSE5s#C3pB+VvH_RoI4kHqnBL`7a$y8; zU*clsVbu9b95EuhOPYrt(N_b^eEUaZ8#)Iqj7cA*v0Um`MIWC5eln^Y&IIJFwZZ$Z zxj%F1{b>nNh4352;qJj;we1#aEvIPb!~T-ioULt0|vG>!-Q<_LTqeI8ZARN6=An-YC+addrwIvA_Wu`AFw zw!My$oVeq)or(08OZ>qv3S|*s4vlH(>8BF=(3-j7_cs{EN4)vS$3Huj zW>Qn*?GJyPXYb_rzv#Vr(c5!~xf^S3F^5y;By*rsIa0qMrOHd075-=fr*&k$W)5Yt zUfUC09UxEA`hMJ-Bz!5~Lv&cLwb8B*1oJ!(S?=m($*bcPJ$~bdH@i=Kk>%ZNGGQ0Y z8GAKp6xxqvnut>*uchp!#D*5e2C&pbOmWkoY!cl#DD0(uv84kzm|PnSXV=Z#6TAfP z^+i}}Vnvi{i>x?HoK>=@)#U4DtNfbY;dZkkD|*76-SO-j=pZbyP})H*YMWoWVEO_= z4L`_KLIun{0au}mZYu%#GHa@btTo|p_jBO=AaTdl2gext4vns_&8=S+FF!bDuzA_RtWe*D!Fxh|mj=Ir`W5Oc zs@u?-Hkg+7y8ayaz4hW=#dSxw%ZF;semDA1&IJ$US&h=e!W}ux37%)yTjORZUxID_ zfW7<-J~~V`f#f}EXrsw#p3F*(@O+=)vSyZglb?@X+_WE-vAQZ+56c+H%CEaKRo(=H zZH>tJk0=$ecc#W|_nz)ZS4VH!Mr_zp?6~?w(HN08P1eBBn{AQxgV^$k93byOeIVHp zTcP7oa-x4HwjjL^;Uj0(!`hMVdpMhxFU$`A=MI7)yqYQ2x7?w)VpE;?^D{tu8pntr+?BbXC?&^I$~ zmBmkY_;i!w-Q?&d&$}tsO@Vh4&`qJaY20tw4O&JI7A4o5F=WzeELPp6#oThCvVK#R zd!KthDRrOY-cL#0W0+O>sj2&7_kMcnKH%QZF!y9uT}$B-bHkC+4FhQ*jw0k3&Xp58 zIDbHAUaUJa#(J^);mh22Yp%vQcDvN@zxZVNihJ(eVZGMDk=G6G+eeN?7xGE@No9~( zWQ)R`^leKEtR%;O2RVM$206%y{1QRN%lK9&ujCIAfNdGcah#zSD@(UagZ80VS%zJj zvb-rq4svIAlMh*WWO6t+nHI*_I}|;!?4+AV1{dB3N>;vrOfsA%uv~LY^Ws){3WP}$ z-OXLGtR#C)5pE~)_3RJMI57FxJLdz?ne!g;lZXa$V*-R{%AS#WUbStL4kQ!QEon`4r{&GLk!5wvX$QvsR-x z9Wi3c8!anp$$-^#Grw_)omK1@2Z%{I)1lW(G7^8uXhQ3WZ*Gz*#@62WSTf5xf5&4r zY15uQ;((Spyw`57TNF}hHKEIcIQ8mK%-7)%D5pMJTWZFHIx<7O>1&Fx4$nMpJwAu3 zI4*wXp&;ku)MW5`B>5{CF0Kb+-@_lUFA39q$Ei?nh6y<{C(&4CJDcX$24~qO7p4J2 zA`RsOeq3mBOV;HLy9So5WdAIwudIz#bS*^= zNn87Uex|0a{Re)gr>*@qKQq$SKE+Q-+S-Vh4(qVB@!vJh3Q}TOjd3nJE8HbBf3>4q z#rJ%xk&D>6uI`y@In(T}tb5UFS*lH= zQhf6h|0I;-CbZ$g{JIFQ#tyyO^Vlx&QJX4Q@%l+yIP}FL$7{r7@bGb=c#N`r%c*i4egSabYF3i)KAslfZYTLRp)dIyjAxaO)CGws?nC0vzy}V0(vShI*&+p? z^GStcW8F)|4i+T-Y6`9V(LjwgTg zkb#9G2q`N$16oe9o_(YE-|a)q)hDyqCflDLxzGQ3tLa~;o9+^bnnQ9?S@sL9CV7%V zJri96JHY119i$=4eu^39R%EzQla0mQOQCM})iWyxG%GJ4L`16(E;4Dm zeL(%u7#*}KqcVrA zx<=(~0g9m7j556Ec<~tduCq!;Wg%GdX=CEg8R6B;*dQA+)17BJAm5Z5h(WLrHqzwR z&tI_@PoAonG31XP1CWv@Os$@;wfqsS8LRay;F@BEouv{A1oB?1*;$7L!5{%xU~T${ z7iN-Q->uVPw6h+pmOayc%YQU)Jh>g^*KyI%J{ZBGXJ%*PBydXnqWX-H|4oo=3!gQY z`zPdOlw4ew)&2k*y;NA~EjX5`)lkaM940ARlR8fF4om{{AkQ2p>5+xcgc1?l0ahxI zNNxE}aC#jIOb7*LRhW~ESqeU=v|OwhPSO%PKL<%T0R=0`--oN4r*zOojDs1=^?ZG{_{ zmn=8S5rM+Q@S%dED~sZA#u@Iue6JF#Daqosx3;UUnI27x}C_eSccciP+w znj9feI{}s>5a?Am7A+^XI7cZKC{h^Vl8Q&3>wJSK-XA>I`L7_O&SU&>hhZDXmhk5h zU`5v%Mn1kR>duKiRBe9#*7W!@@rEMHvz~lSU~BvrD*VHoa6TCphr`eT77+Oo5E)7e zQTI20I3dJE6m%x@C$>-_|AqG2e#S0>I(7K_TJyb5+V!GAQf$>Gh19>Oh8F(3-bQDg z?{YOFge*n;pVB}KVt!+Y@F%}9x*%~RoK42}9+#NJB_W!SL=#WqT+99TkQ#Yas1BKf zYw!%o%yTW_E^*y$R->F=gk>3bNo?)_J2;*Br@`m*((I9>6}VG%{_sXMC7Mf-R$h)I zttOg|rSlom+N5Z@7eFYD@SJ?XU!-T=2ruVyD0b1&q0Olgd2ScsY53&us1yo-KbHtv z#G%zD9%jHfZpNkQd0o)4cZ(ExTNAHzxsf*D38P>E>D@R3Fsvsh!YV#Ho<|A2gdvp; z5JDf%I0G^`Z{cFXuhfs6m+}{;{8K@H-mr)2C3OxDl{)Qpa49htW}}lc7M7A4+)nup zOH-o?KI(d(oQu)kkT&!18TmA%;jm53wZ~q)0V)2;3}`q8DoOm)c?L8h{)t=@itxriYo)pYoU!o`bI!~x7xdx3W?0lWul&>P?I5Qyf z{A^cg?nZz|@k|0wj&rjj2jm*haW3XERS9kcyzt6wYS6%|rf|4BS_$&(ZCml8ru;!EjQglhMs9G_P$cV%gv3uX($rCX1mLH9s@H>PEzgWBH~)aIO1kp|LkG z15?aFnrpwpXr?zW+dJmQ+A*hhYzW=~$O@w0{d;Pgd3XIIUzoY)5%JwAr^|Qx0&Y!T zoW&=PXp^1-#-_V(=x!Q0>Ah#ok!xQN zKq+YBMtnYuLeSJkuSO;^T_vC|sBw1~H!r<&OO`(23*#e|!^b2Vm6GQCkUy%3nxkt{ zI{0TY&8cUbL$l1zEvxZod}BB^5r)KXT5M`F-KQG%9;wrf^H>UC*y8qMS2pZMaLS|& z37*CFbd-j~2Sv1c(pgSLDQQ(|>7>LF+(#zD*Kf7%oY`J?BPxZ`EG-Q{`6YqXJZQ!FS&xG$xGLQ+3oB^j2FiI$~CDkesDojDmmr3|AABYK7 zi?&^<%k#9wWQGK!5SRpVI6c;G-Q9ld+qK*7Zg;!8#p(iLi%Dpc5L!sY64X`!Tb=3H zHh_{ZAkY80?=zDLV7JfvdtZK1y{Fb!x2zZMBj+8zBvf)z+)#-(#rP2mAwL76xuyvH zk$DK52?@hFs~wUS_lub#X7$I#wIzBBwCuTU>_|TsSEFB-+4qgTo1|uvwX_U^;5S-+ z$VB5S3yTQjC=AU21+~hq1N7~?%H8IreWKw$7Lg+5uC`MX!iR)5_`tQyIo?4r3Werl zI=k(B$z%D!T-uc#iiS!OAZUt(b?@IWK`NDoFVJH&i!dv>+8=;3q%6GAe1dVnHL9dj z)|XLg4=KlANj22VJmm=bxI9Z|!Od35W8ste!C<`oGm&q9h}LCHlF*=-wB4;66TM5a zh3j!Nak873ovJ*7GepI28_x|2?9W8pGRWb!)7Q?w-%E3DnWp~bwHaXJPZ%}$AT9ra z@$$kP>9<|w>=B7?pWIgEszj+_{InMDN55(e-aZfj{05&YfmVB}*@PaU!gaszDm)**!K8RT*Ebt+I-rp+2 zxC)0h5`9GGbY{N{Jn}oz8JO+LohWNK&uSOgO6XT4G)U!zSB+y@Dr1>EGG{+U&2CVs>D&A_`|b*#F@r?yW+>3)yx z?*V{1@KUD}I|hRlcgwGS1oR1B8z1CFf{7WVq-a9(q_8kWFW{@t)%dm&2D4L`RT5_W zC7KGyjr>~N$RYD=H0>VvL$1cT2kJ->L7H)DgW*os&)#~XUlw;0?nUB^0ArE5;B*_$2_svn!6ZU~Lz z{F2R0>678eb}R^MDbgnB?1MacsPPh92oo^h*joW5P_?QzBDa)I*wvIKCv=W4I2%gr zA!U%UcOj9O6H^-gidFK){G1Dt7|R#C86B#O3MpE?bDgR8kUYV*_=yB1u0q7-HQ7g| z$`N(HC-QZOih5JF8^bHQc5GF4t?HV1d(Fi2?OTIS@v`6AuTK3<4I5?#j&4X-=X&sl zz`%yd=ZpK@`DDQan7fMmIoX#?G502=Q*aO7B68ZrbIgKAN_z90T_=f1pjH{eff9pSw8DDv3YC=d{odUa&x8Al*arG=yOON7j$MGaV;^QL z*(qjk@cMlbc2`;vZdVrsVZ_19UN*wxCZ}Hkj-3q2t1`OU?l--yEK8Zn(tm+0{mte? z+bv?BoC(FGH-nu9sEZnAkh9-scB!*oVnVX))x#3)AG^+eV37DA;W6?KDM>w+Zm*W0 zUWr*M*3s0=FFT_@ql;R+OxI%ryS-KeUNLj=z^M_aDdyKH*46z9Yv#_m*hrslH0>G?ndze!WUpt^3W2_v;68UKtLMds$~ZnXp`5!c{(lyoifhmXDf6Bhg2@|6l2D3=D(3{WEn(0V4VW*PTT= zW5&VZJe?0pzzh-e#xitWXs_7=EXFbjW%LVHXn46hi&T(`aY%eL2@>?>U?oB!WvYAfbOlHQ| zWMm~sJK`Wz^1?c)Y{nLrTvoEM&e&x}^q51T?cBqtO|~OcDZfFY zRmed{7KAW$S%;<=P3r_J1pPx?$glD^d&?@r>5N=l+(jXIlX(Kf#!JGlF>ufwx(UCX z9Q<}-Hz+;}O8bPLiM z%_3n+I%K>;qW8;V<@ihtNpss!U3*)~N6nHEyX2CY4xEadMlNRQtp%L!CaDoGUx*%I z5(xmW>cZ8q%j-H6`&{EtYW=-S0e17(Iap#FaMnY>1d7Aauc^Nr4{#*kBAM!-ob zosuCvJ8tVOx*Fglw*)L{Y!2{znHp+63h&0?X*7Rc%~r!yiT??BIW0!TD?}PSojw@> zHlrI?A!!kGSfT=@K=ERsjIAx@pw5MxZL)32SqWB-Tw|pRZ>YI?LB^IcVcqB3l_TbK zBAh2!(*bXmIhISV4F+Y2?LL9HRCuwYkmhPf%!R}eO|fR_9om+l|MS%ubnTSTr)i`N z`UY`J3m+UdMQ&AF4=0eWbjnOfow>P2^XszW#4C3ts(~5Xl>$qm7Hfi%`1vUw=`0QM z7v;|SsC;FDOUQWyp3hYP%uu6UK4LG2zz3g|IA>Wmk9UU2R84#dM@bCH^Kg%B8H7(&DLR>3X3lPB^C+ zjapV6(V+nIC`QEqTiwCg$teJ2F?hvWKYc8x+4Q{D_-%9{DiPbhM%oh3Eg1+ICIxRU zTDnj{$%W36!3$EVq+=-hd4|?mq>T%G5|6XV70)HI7;Az!ox`=kPVG@E_V9z0TZHv{Q;(Oyw=x3O*uB9FdII~55hngx+y zns%Z|lCOLm3FEw(mB)$S-zRfvIdc}2NOsNqm zWAe#v3oYfVV*ls}JxTMQCz49Ce2KJk$!My^pob?$A*qhoWKudjl?|C)dou&ju0ZXL z?SH~~%m_Czq04Q&aJkAsT0N>9rjUKC{Dec%G+ADz1Ah4<-y!J8Y;(MQ<32A4c(V&1 zQ3--s)*Rz|-3(N?^h{&>f70VXpP-5=3Le~qav-)v1Y-m;M6I>W=Z%(G!miSawNg}B zQZGw5AKdDWi$43`^sjO|(+ZyT@Y>wAOS3?3_0;@epO@=w6i-kwr37N)nT>SJXO?_2 z^tseEJQF$kiVT0-JEF=OQ&FgS$Z#oQb!m2g-XUoY+*!fBxuJP#@a0I*(*=ttXR~)f z@3u=Ck%GOcp<8jJvYU1bCYhy`u{(J%4z534qmU45B0%(q^DEu4j~IKNpHKHGW<7}I z?-k#smL-flZ9y-$I!dWaE3?t)#p%o8{5c29%s7_q7AzC(-jW2CspT0(F5x1J`m0TM z12%IwzD6tnh6c1R5)PWAkwe3BDLR!$aT0LVm#bAM%oh#UvU~xX{T21|2CKa+ka#1ZR9e%7p169#6n#HZEmCENfib zI_+X2RYFIKq)CXAtPjw?TtScVXhdDxFjZ?7lvZIiweDiemt0`ex~=Nf^&bkK+St#8P$-ss5gqh2@jzX2l8oZ zKO(CnpH>mK`y06*6+a#3`FU*ZjEf@qHe@`8$>OnT#7NAdJg zoi}w+J#-2;t7S;Sk*J}mQ0F2i%qCzO;%8aF`8o#d{29+6yqNLpO9Xsjha@qLa*)@*@ z&KOO{XjI2WVhd1?$wt%PaL?HLmD(;o14Bmhc0Mx-AL1>a<=t<3f6Un+r^nti(vuiC zAYU!3&P*OKv_Y$+9OUUWq4t|082aBz;$Ic*z|~+IMz( zJU_ww8!^iX|sOSlqrMNz(LU=SS=KeQfuP>Ek6HOhUmz1ia;kM|>}}0xzh6 zJG9=|^T4WYBaM6yWm#2~+D^Eu3Y)Ey7Zh7za9ONDev>*=>;#XtFN|tS<8Yu)TN+== zr;)g&@g-@IW_UaFNu+8|g6d+ZB(lqYj#Mv|;;rB|&$gYGf_W(^KQq^l;Hlg?5-V;S z&UE#}?rf1VS$5Vy!t|K>cy-EgOplVDV6_D1yUj`rTh9CP@^CDjm+j)zQ4WGQW?soZ zUS>a3q(nJ2H{7T!R83!iA~*~K%mQYizKPL8+_T+%>~pW&m=GS!3Vqxvd1#;qUUGxcBzrILcTe-z2tO@5;U3Qq z{-harWy4oyM`aAy`5ZqJJWWYQ_pFo@*NM@SR!M`sY*wJl*!lPTRu<^lut>Isgq#Z1 z*t4Q@LO?DQBSMy&&OooxB&IcE?~2Y;`6AKuyjOor28?x6w!Y~WvEk!*hD3Y#IWa}y z6`d*mo=YbNrFp9C9TlEevLZT}F9IEr2!sd!1MEsIkhmBg%rJI}Z^PJ_|ATMzZS3f$ zm&VPV6IK{aqPB<+v{_xNfrk2Go8rxqWE6qZ*#7--jfrHd8WY}E8oM_Lqbf5F<~y?u zy&3z2O!ItxYDVa<eBCzeY9u~uIc)!&dpw~c!7yqMiobWr6ZkthYc|}9Amx?` zN(>g7wxlBKA65}1!R)bUlGq%OL@!e2&pDvy6Qc0}aTpBMz< zdjsK)b%q{@aF-#fcW;{esCsf$W9*e(#YcsY0pYux11+{#4qx*OHJU7{=m=47DSmUJ zV}}+i^y=Bwj}SU=%9rsffoN~K!|zag&*wU7F4@5^q=!}p!>fX?sSTiw8`4yyf`-S^ z+rnWV z+b(V!jJ~0|)=8YEB-)7VNq$|$ptHOx!X@(hxeLhzH;G@lJic66J|!r{F!u@Ym-Osf z(F1pKXYkg>p+NB7#-T+$5_Vw@DIY!#?DbT^jy~hp`Y1~r1O0_4sr#K>QcRnbP zglD_urKE5I^nyF*@$><@yevClaDh7SnM97Tba8N87N)f`o5O5^6C3ArK6HA9$q zm%u=iIzq)}dmx8HqHdUG5}1gc7Szp*^tD|vvG{B#;4VhYhIw#f9${u~AU9L-QI8w| zR3;dm#YPZalekRz=WlKkj@=WQ7?Ye*o{o}g7VDFe%$cLsXZwfv@a|eM#H!~6`I8$e z5x!D5y;z0iJ*sxqkg$v97PcZTY|O)GUJPz4UXe){%>lltnHlD-T+(Xn@90gOpn+Yt zbdeYo*XIifHJ>P!;0DQ+iCtAIT&|0wR^&vhOrPWwyy_WqKakFz>z1T@2iX<7R!(Rf z&JBK|aX2Tmk9Ht=D}l_*4L`K}z2V`st>2R=>K~?YDQTH}t*0lpR9DAZ#%{|KvUR;{ z7gtKPVtmKM*bSue<)!GS_>zo4N&D%t^P0zDiKlUFcNQol+{JOcBsaKlNpYx@lF@xa z|0_dF)`pjK`szR7pi1x-01j`}U^mQy*WPgo{1JG^@aie6EbOnqu_AXagBSr7MY*TiVtE6&wV{Dz8GRX{? zIdg6`_CA;z_>Lg4fT-@K#?9SW?1}d227jkBq;55&Yb-aacWJ}eo7K&5FwM7a6h*Qo za>^|4j~HrHiJ{ydN8+V{HkspwX-_>RD7@Hcngf`*Ti?${%BJ_|6bJ4}@V-Kx)zI+3 zV#CXH6jY}Gct0<*3Zf7!C~KH(d3(ZbezUwXHXl4w5qQ%QKwE!6;aN#p5{`j!AQ|BB zKutv5CMe}0pBZzFt#YW?^-^6qH^dUH=uvQ;gg(Jl4lw*Z@oogEob%A5`WfTg8n>)! z3{4O%Vj9>S2a3kBr1{Q6pUO5;8pYMyTIED!@iTE}YTQJKWXAbYuVlTBrIKj8V1oO_ z^idMArOW(_&+V$vhu^Vw$a~qb*=L(t%?{bxFcN!8r;r_jlNvYSsnH~ia9o$`s{bov&q^3z6$&j*n97R^98+Q@1J1^;sC0FP%JA-2 z8Q${_ElHN_eb&SI7=N02XqIBf#?D?YfL12P#pS#6m0ii~Z)y!Llh#mLNV%Z762E$y z69={@n=$nXJ6pOsd=ihg!(5})b6CHfn>c=*`TP;cNB@JLQ6F;E4HfzU)$`>CkOFmjt=wq_3Co@uW!fY$+0b zn`G18{ZQ;S+&j5PX|h@MizIwucX4dd?yT7K-R{^tEu%&ci4s}`%k2IKoZxdv(PUN( zlW`DVx9E@MM-_RnyGe8@#CzEV7e#*}zN-h_jl(zAPioN*tfCtA14H4qq1{hAkH+;Z zWOw~*8nP--O&9kH%ea#DW6r$^Qx9?br34}e{hf|^r(%6<1~wj?xry4ZP}wp|gXFYp zOEoK;pkBkiURtH47Fq?8S>|DNWSCu|2st)U;hn-cL^q$cfw27}g3`uz;d7ye;-Hgd zXNl8r3TW9#Wsd7uxaRZl;40>$Kvar^>=yv{oL#GWlsc+a=a7zP)TgQkFI=m0x7{H* z<)6!s-JxRjNqeX@hQ#Wl#nU-Fq=2K;SH$9r219Cj#y+Z3T|d_-qm!Jx&XcMnc%n{N zO+FYtm%0E=Agmxemm9fM$c|b23tU5&JQ~~U<2%>=6EM9>J*P|qRCEhHVy)H5ZAL1;{HL>d-I&E#@SGzvl@jTyb}7256K(n z0&j%=|6L9yn~mSLF@|R#kuu3-3r6wt+$QDQcljd|UI0`=*s{ZesiAdVD)p zlrm4;((Y72@=v$jnUYQ5SOJS;+%sgQ0*z@DfmEUJxVJ?_1-2ZrU^IP2D5!AnA<1Q= zP5=mxH#Y4lLibVAb-0%jdf4=+P_nzod(nie?kF`l_{i3v+Wi;JL>nP`qou5pynT}%meZq!Ns0eL~xsdvc>QqXaxDn2-iug0EFIcas| zX`|_S?%Cd-GsBdOF=vGNl4Na)ye;fCIj4j#xsl^sOv zk05FeUxk`a1pqk=M}v*ZyYy)sI1xB#G#gBv2sB+WBuw0ob+0BKgSwFk84gNOMv}cjVdP=yAUAlT1ToKBMI^ZisFcWH=_-y1lcj z9!Wfaqc!ST50tf)1!AaPt5PaU89S?a%_%Jvy^m`W?@C%;X%~O|LmOwtjpcFh?0gRJ zTm~BRO##3|;0p-~6@pnr+*|aUJoBvbql!(TI_OPinWPYZ zmXw=nXv?G|s0=OkF@4r+kB%{*f!9)sCtd?cd+C5f4Ad?Csh*Ay9~Zk_=a`Z?8qL3> zZ-z*jQSUyzqosz7Gd}gswb^F;nxFi24BIYJL~s+wtRN+D&R5#0Gnry^y0{W~;YvZ2#jBYfa7 z;REj>LxfvJwvet49#E3e1g9pc4skyCU|r#V3mKy!Sxqqf*hKS$VmJ8iO=daP5C;tJ z*JW&%?2QTs+|5iygeG^!8pUqhV6D*`Hdw_2Zsl(qDi^r}_ODz4d(Wz4iekL3_`jr_ zO{@e)6SdugBI)ur6eAQ6Y5^}8aCpHy&Gf?y!tf{ag3Iw?h8H||(Oi=s-OZlY`|4_S zAXr+juIMVpoF<;N%2yBc&Ox;k{dn@~K+h!sfG09R5LpfeC=WjK@iqD)Ya?Ed;#NjV zKjc$qePp#bZG0PELTi9$J1XASL-#`A*^)_W-fOKjL9$DXU#m5;R%_PVMJ}@>XfIDS z^ zlRgu0ljLg!6Z9+M6j~~TX?K2XsRI9=;vUXTLJbiv+vBwje5^1p3A5`b8uLJFV9*?7 zk(6l3BDKc6{GX?{=kCTNHhgSvl3Vnm0A8X_;v!tqYN`j9Qx;T-ZY*Y)=i=OmvmT%L zPg%2szmz9Z{Dx*slH~i#^|2evl*Z^&wzn_1U)Dv!&?O0Cads+H&)3v{`~x&X)GQGD{qt0n7I zd^C|*&Dbu{r&hJ{!-EzivPG4wkE*YnyZl38TP(pwIzsAWi3q9Cfs_I8sFB|5_nL5M{aMNxK$C$kQ*35J)gsM5HOqV?uF=-+D>I| zYs0>r4?Q!Nk*En_&5!#RP0_^>ok@PNWRfS~78gDpdgG167+4%;oEk~<@i9X8_!)`P z8#G_hCu#9;*T!-g`lwF!RDTx+18rlL-L29L7sRd1)tmwPV5$2naW&d0Y$9`D0&ep} zv`fevq(+3^8CE%Z1X(S-33QVii%3s?88G!g#Phn5*D)tk-qL7llj{*`7YJ#C)TAs!I`HK4 zMV?o7I19rZoY4hL>yVtWX2dZs-po(r8b@8;k@xvVPA0jD5JCc?k#UWR*HdTV1$ijk zej)z6F7kN~zH`hNi@2_|+{i;BSCJYue0otvcVoBsEupfoHM&OMkOyF2mL>NM;)uQ6 zdw4P?1zmpHjNL^{4-Ye(!Et?>-LVfb%p8WPCMTiVY6dhhnUf2O4l4`Kbjg`MsA#P? z>K^C~A3AAox&Y6EiVACAma_HZh3r<#B%7MzeUuMvAI1s0a1hao2@g8H*;3k03XS5* ztvh((1VlQmobpD)I)n94xP6E&B??NFgl>bck5#CCW5>dsY2gmC-Cnh)B39|3+j-F) zx}J>P7}n~i?kY{qNe>^Kuw;T!e9Y{j?CCM{M0}wVoT${g+6;p zf8CAN{Wz@lPne;%J5KSborMC9l&Az?L8^T4Lw?wgOzYD=G$?%Y(uJ{iRX$sW;i1q?>LnjdlJY(^ zwupM<*E_emTCICBxtkLEu(;=}c=D0hv?Zy$RPP?>iA~n`@&|g%NoJw@@?}Y04}j`b z){DfN__QCKbwA}6Ie7-^{mLQk)Fpi3LJx2NL`}dcr(QtI~wvtUWF2cf0oUHPUN+Tu}-TB)akp3x?nnsWv}YH zMB!B|P>q{Fn3WV>O%Xm>EK_?|4x=G`OMc|~!eWk7F6)nzD<#&eHbfHq=PB4b(w+oX zs7eB8_RPcfra=qBii7P1yZH7&faW#No^QjJ(kA?$!DZ-^<{P<3UEP5ve8JB;N2$&f zc}X^lRpYVhy@9jZImWE@n$7pSX7W`$lB^}mi(q!!3h`!W7mY+d{#ij z*!eODCZNem;xE}KyX^|UdM$L;F85hmeAG3FbP8P+rIctG#HH9TyoK<%R%w<{5mO4i zi6$sB@RMzlD=IjfN%#W|KII>&)f9d+*dovPo6m=4kTO{4h)8D7x5yic`SJ&6ndKA@ z^`Rl1XqNlT$N55M!I@^cpD(d#=5aMuc^O}l`|w^<;VuG92z^K@Eqenccz1Qn=+qZ9 za>{JS@CDu%Trv;-*XxYZKhxN`h#AV$79|t%y~MjVm2<}|L}8;>`V9`kq^0R`md1}E zP8hHHo7#S#X7*awndg+J@UgdvJg|!oXB*+SWFTdp=qWyt|FT3W=`s6^Cb{tfrx45@ zD32!cWv(SS8mFyvbNJZr!>3)gw@^hkrd5M;_$7!YQz6CTExyo{&Jv}4?JQAD#^P!r zhuOxCdl@TaA&cfx!o#zT?OT9vxcyDZX>w^)CT#Ec0k_PK=yV=QEdNv122b;ODG(|z zSW^N+=16_a+TwN%1zz27I=Y^_Y1JN(-`wJh55)9OkNz51Wt=sy1r6{5-sm;K%~Egl z=iJUaWH&u2>nr;M2xpmPS)KWcVs+-L(OcE-WS|-0YR06FCV3;pJlq@m@r=0=`ktM4 zK0Gvw_nYHTb{e z(k}DILV4${JLSYShjM#mfVFd^X=@69y{;h+rhJbWb;Thtz&rJS3bbvAu{$$K_441- zSSMz0G>d-ID)lZd%`|o_owwFix<6&F8J8o&N>d`O;ij^6r-#`C^)R zM5=47&y1}Wx}`}hhH^{XEOXYSKxH#)I#F$22G;6tkFAyGk68YQ=yV!BXre{PRm<-w`>0J+viVPxMHEk*HJ+n;CF_|5j* zvu2Gq+)Z7VJR~8PI~%yMekm#00(CiWvZB=LQF$h#6S){Ck8*cJNp>3eCB&qz@p? zdPtAmw2Yt4EgrMpt70_|2u6j6Uov(+%KizrPnL3&SPk5QpDVcqic7W*pE;0s9=1lE z2*FvJ^2xg?_0tHqxQyzVg99hPDUbEE#*vq4#VuRFXi{ezRKYy@?2NguLK8-z35TEw zz}$W89Wj^iFP8h%Q`Ry+1w3N2tX1Fg1$r^17r(*5bCXwZ=d}`kw@l1*8d&ib|J6hsIF=%96No0nWjh> z$-t`_XJ+>rKRINtI-G57K0Mc|_XN~|FY_^)(%IH#EmYJSb#W<-nDN|kbDr(~6?8kr zEO0lj=ykiyH=}cC(wPmKjU_o5Vp8ygZc-U=Kr%mNQF`f4bfp|}BEQnD72j1VA+|P}$sm zUdA7Pna?Q1R2Dh~cw@h|mb(d02XBIZt(NB}ht#tDL@k^3usi(Lh1_%IP!yWv0GdI( zY83L{Fb8H8+Y-T`%FoA1jwZKoIW?I9;;r&zU~w)d`YQ=1li$H6i-l;*JyVxu6?t>} zHx!sfUh4^RU@bJ4`{j5nUg(a^ww~}wcC_s;(Xs7cXx`^DmwR9UWJfJ@o8I*BkuaP=?rwWqPR_j1z!77IEfWzn6SQGeA_h0h4Ug%~ zffU4R6jiTFF*_Yvlx?9wGV(?tL`Ly|xgdv}MncvQhU~AYa~R?zQ+vvqX>D@b-o=5g z-~wx<2axk3@?{-LGb=!obhj(q=`jc6^huhumihy))~*7RE3K>? z*PG@h0huT5VXs{vIVblkY6BmHv4S*pwtK2s>NihNV5`)tU^f+NGec1ubHt%Hd85&N z0)B6fOG+{(*v7ylqv^Zs1U*&>kU@Vd4w=3vYnSpAVxl!8aIAhH?E!b-n6cwsAZ9N= zg-+!q;d^o=paG049pm6bkt6wI9aq0Tjb2pvaTs-yoJOy?4x6v#w&xB@IV~{!Xqp1rX28v2 z2OfYNf1h5>H_T&!$Du*>jKL}wR@`XbDWepIJHcqXIlIY_e~W;Csvrna8KLU`ZL3`Dabf=t1#?JS7!}#eNP3y@Z0d>Yh?YSukn*r4>LpQG~QBO=q-UTGGcG>TN^~gISWEtwZij6REkd_8Xg8L zqSJOJX4Pjc{>gKSS-LLo^}t5OB(3_UWK)-&e@*NW^J(=ns`pZJSwbpW<}<6bR3tPb zc$di`SCtvNBkci<#~urVZxsbx!-rhvGPjvEGx~FZr#~n9_X2e}D4sh5?m!IP@_u;G zs84tGNB#8VSHxG2i$RuzK-Zcip`UO{qUo0!* zk~tqyq0+;8n9Ja?WgVlpGXkUqeR|1BU@pt*EYy-hp(1=vs5is*;r3Q1NoU>G9U>rf zphTZBmmLI^6$t^HFp7_olJ6Z3&JAuP|3F7@f#L;R1U)HE^mit}2ClIwjHgbl^KR2; z7G|0&z2-_;D4jGIJiCe{z^~ik1g#p5FQaJ{7?Feq34w~7U_d(d71!q-GTRZM;Z;O(MnLA&fPt1MO7nU34ANS= z+%=jO$xQ^nD@11}{7;F`Dlw3Tex8o~N?L>HuNc$V0$dJ!>j`&)z#OeBb>QyKnK3sj z$AP*x=SrY|?&?6-K#o0_@ur}=`GniN&a8DnA6rV6fB2Bs+0N0`geY5E@EKPYTwy{# zO9PiksM3{&{-trnEVnEAb^W%RRFdlS)mv=Ebhm4mT_zg~HO1YKAEC<94SOHf+QC_f zvb~}^yKVwwjZMrLMEvYBANQE+y=DotOA#_&Wi37CYG&h$&Y?d94JlAGrr(hv&YlX9 zJiuBBYC~v}bUS%Mlin0e7(kIzo*+aO_&91p1fnWxpe_4Ps2xK+q?@E5cDJDkF78@W~%S93(3lP1{|-Dg57TTLZ!8-@R=JkVGUs(&jx3h6%_Z* zj7=T$`|-@Ka?_sbT7=mnuEULMIYY-t*0vEjMeF5Yvo-_B=}M(SaygVLuh}c!%&yBr zi-;pCwW>w<@&p%aX#xs@G%?Tk>B}bRP}9vf9J*Z%%{gmMCpWK9e~)w2lzXH9MnCK_ z7TbRQtFq}}nat%`okg1LXnxD8aVJ)>yKWhn-`)HB=Vr`3miMwEHiwPkZm`&GzNyGf zwVNX^@LF&o89#qNOUTXF1opp^zPUuoHL0Dr!4tbJL&~%Y%9%Hsb(!XaUh_c@F2YqF zc@!lhBb9^A+gYO255k;uMyHUc1b%E00-ycDjnGA1E0Zh>J61^XA2?IYkiwgqXJDIJ z7D~|_q?R~`$^-s5mm0663Dy5uwq6sTd7bd7O)0!)m!XYx7{+#C7!Oh7C$~>_fXnpy z?27*IA>8CelcP7;TLpBfC0PJT&F0i#Ibc>MOVLEPa(ldY*zRIXV#1u)8Ep3NPu6IX0uul@Fl zyg`M`%lxuoQbJp}i}AvnMzgs?8@`k=819ll7>ambz%(PG!zVA$j@RsWsW;6+Kl-0o zUU=A7d#iawKTpeI!9){>z#O<>yYFgTk?MBYtM0;pfO6tdss{toHVQEIGE!TEIPKVNde6`H1M_eG{Ua-KWy{N*@;0MdLMJdXZWX)ng%M}D$CpP^)1-xR*Q`E|yDvH5uj znf<~KxD&U3;E|;42(keR#m(=_awu;mhxwaUn)RSZBXbhdd&nq8VwtDZ#z!ClUO?hO zV0CpUrWFokp6fV&#Z-0+zb~*?WS%6J*H`-u0T@sFXg*7JK2w|*sPhG9$VpY585jV9 zeq!R{r&R1AM|5)pxu|Fz)CyF?83ZRls$MYSjS?j#5`;v&V5iS>iI%L^eq{;F= z+47WkRb8E?u`En76{6}9w^i6dY@DJm-VARw8hT53EVCp|oNvh(MpJCgOWa{-S+Pu5 zU9q~Xhb$9W9;eKpm<%5LiEiV(hCKfj7_BV>FDQwyRJ1I_9T|u9((mhTJ1-``v{<#n+cu=0e5&ehHi z4~>KtStuKP67Z(eTM26u=^hvsx|$_J99%Ot#yD&yF-nFFwIZ6I5~WY-$fH;1t2vZ z>r*1@)5=nzyU@Ekm#XK3|H!h`3`;oA9Ny3zb=ezOb* zBXlY%8HVcl`S%4Yj3%K7(sq^atZ~aivkzwrY3+e5Dg5}RvGXJR9^Jwp2S2T{3%EfH z^x_4+?T{3-bR7-6Ndp@`o%eEpDje;uvnXo*=&B{I%l(72;8EdO(!)b(=u=R$=XS<= zfb~2kVx`;n!Rh%$`O=ot*f0^o)NQ%Uw9X>8f-b9?4BagV>k71L{7o9Xg0%usc~;$D zl9E7OHDbYE2OqDfS1Rk-;KP<;S3p3F@M>BKZxpnY`~-ncBfN%BtJEW)mLnyUZrvUI zSLsTieXjQ73e4g^a&<8KBKN+h!Tcef5dhPr2qga?ZIsb9;Z|aO&m{D9cC=OQ7G2<+ z80aCo_8JA=HYhWuDp4s}xUVk$vd4J3)zy!F4It079&n#Om=-*w(m;yUytqI7)?n_d zu|phRbyV!cQ|wuJRT#P&53$#2!B6gDW!%B}vg}JeyFN4Z(l4kGNK72+w8$-Y4vj+7 zg`X?S!Bh65IfJ{F`WjEAdD>bkB=wV3NYNE6fPQmPXTBRzaa09HC2a#)sH8RVMNW(= zf-Hnl?mIZ>i#&Bn-M?%NeUS$4%Yz4`AsJLBrQ?(6<5lS?^jJ}sx(_MxXb5@ishe?C z!aQAfEGLBCn0GKj-9Zw*jITh?frGN5#2@IadklPdFZ5Z3HFaOKYkYzBx=nUzrkLaU zt%Z;$QGKJ%IUD)U&oY(!ao+KjvcaaN>?#5DA+Z4>bNk0Z&RXWl8EGj|$v3ri;oXFPt=yT3j7TH5xbT$({<~x`B=5yz?l%9 zH5ck{3lE*Gy}`O&mGD_y>j~Z%o69Zrwf@HNrL*-jm{lr80Si5$j7{k;aLSL88lO{s z6!$`BYViX{fto##5;;6J2@U)G+!#MzXTOf~UyV9PNn&G7 z00`P6ach7?5+bJQWh1-Vn z<;z$9H(#tzd#obA*>>}CU)xZct9RRw{;iVVNY@Gzy=9i75Sh7c*x?vUN}z44S8mDd zUik+74Puj8F%Z2~2I~A13bD+OT?O=p=wxDS03noNIM8qBQ|w$+`^vjGYcZ@P%W8zh z<-&IVoWCh)=zcCmo4C>q8a1srO7Z_x5qLzhg6}rljqi865ZTE2dwPnvUQXTi*67`M zTpY`Nwe775Z4uIz&&oKF*VWc`O>Wnmk}PtEKvC1!pqHY;c*TeN6bHH-gZD7TaD(?u z{hvVUG7nhY75eR_(*mUBeyjk^t>%3w_CLmBj?F}>US&pexG~1EUd96`K>ct?6SLR# zneUGb?;S_=68N&62OU04h@Ya00_kAjK9isqg%kG74bH6PkCiw!b@ zNA#4&js7{IsTDx76G-L{s$CK*Vb`xvNG<&1;7I81tKf2E*B=CrgLA;)DYoAT9HqQ* zc_)gGvi9cIE!h;hOc>jeh7T5{M1C}=rc{!2AVdz2n@;k4w0s-ae?V`mh2GkmJdoUb zL`oSN4c;ldZZ5noQHiqmuH1{P zt2Id~maBa{#wkUfRBZ(xMK&~th1>zXg2Cux%ud>p8Y`+ThV!KCsZZJkm%@V|Hg*p1 z4I7Qr6HhNa-<0+Wdn7e8@wB7YxTLNenqVr-VK$yWJovuRJS>AM@mNn? z-~!bbc<;9e@hF?9q-0WOsDFr+C$aOTO5W2WVv|kjNBfo1*e|x*l*ZtjC|Xh)vx9xE zo;Ey)$&AYFN-A+#t~R>~CB9NxmRpg2D}}NRQDTRA zDIP~usL?r`YoK?sQ0W>-Y}mNqbl`n;>j4lxe(Uw~>K1nr(&#sMD!!vXkl%pLDhbmF z3x5fd46AH4xWl98&~A^u2P^6exBFroD4qi%isfG7r^>Q;~nXd59|WQ&WOBnrCv`%p=W*wnnVdd3TON4C}Aop8^om zYCN&5eY2WlRRf=2KybD3qnahL$rDn<&PgM9rOIm7c+Jv==o;E~)=bM}6-j`17U0jp zA9<_5Z{w=cLH;Ln*u$gbTDsSxBrv{-!|*pFk;bK?gUnu!8>yl65=X437;n3F1JU1*>D3|9rUyaEbXWb&oGqE(2sIE+AiT+Mb?^^o6p$FBV+H=j1(~%qR>3WI zz6GhPowQ%%jL3r9heq%GwcJP#x8~B{b#|r8)e5_Njk>*GeuD{99Y)r&V&<7`TW)ch zcubl&1tHMFiu9zJ=$Mu(Vs9IU4L^^r zORcO<=mj~@$_BY_l?_^ikXOD3$uH{8YxLn^XX9WkLwZ#v94b@$T z?P#eS%AxBx#*{h6?2TO?zm82+r}T%xD}0(H16L+|RA9Jn7KJaNz~W)XfzI*F;ki<% zlRDsVo9qs^WlAcndl~QIa*~wKUq1w;o2RXi_h?`FHXJm%f^eY`fHqlzVdP8 z>M4z<26t8a8c(Nrx?3vUV~i7mm9g{NbYk|Y!%9w1cMjzrXkGQF>*Y%cRZm?L{Bcr(e<` zrUrHNkI84707>26$8EhDLJl6Xb0q8<)(f^X31e;3*n=z#gT$B33?W9geku7-LgVt0$1hSwd zEWVUe_1o4wxQUezuh_@g4VW$4*$e#Qu@zrM2}B#OYu+A|x4!;NWMWE9)w-0GaRQe8 zKWvPwq>YjJ7iDpG_|xeuJvrE_4do! z&TEY>gRhaX%NG2yiO}Vf(^ZyXY*W+fnya+hy+n^Wu?6*bX$<_{o=wBFVw3cBT$)_xj?CoY`0o6`^F(FljNA<=9A}*vx1Y6sCP`jHKUOYh z!%z5l^f^v?<#bG8orL59U1Ag-Q@2Jp_!Bpwvp1Lc;IPW# zI>zwu+4`kI)0i6|&2&Io88HsT7s;DIfhQJU22L2?FGzRqdYvv3fCD%eqshPlOq_>U zGcJfms0>!jkFLyI??-LZ7MbKICQ=<;*M&8oKA0@eUIjjiomjlZU)SL1>(?s*RK*@h z@}$qe^9y|!6OI@uUStVV@?PHUj$X%wtQz5ece(7%cew~$Gnxw75yqZ=PBjmDySMC8 z7vQU^#1bjQOdn;?FQ10(K_R$Xe0WZxM`jRrJ3{qB5vp%hq{}U&%P{dpQL?b&6Kf(n ze}mm3-VE+Ej0H}W#Z3$4vJQ^i1#{p(r?n^5T}Wp9|A3+@aBCT{fNaT?)n;FOvBRSo z!E|$o%-tbFX$^BpTY=WuO)9u@|Crv#6)y36#%W3s?CQT1U;kiY{i`DedSa%UOE9Rr zvYOdeM>Yra^0y`Ss9FPYrjjEv`YwL}m;14ALy6b9Bt9>i4p*#@LUs_GaO54@(7Z9= zNdZlcb4Tx?Bz|eUK1TCOuzN5)?Z%FLUL+dH*nT}1xm{xd12)H&W=@$B&A^Cm9sb3U z7~o$@Byo12OYtw&u#@;xCv6Si;u3$|b;<^K(bzeg;jxx=v!lXGi1wi6`&@*F_)UDo zCOo6QovYotU#A=(6TOW?rK<}CtjQ|Y1bN`JNC`WCuVy8yBI0WDjB88AW-F$&zeMDq_47@tb&)oV z@K;ppA2jtvbO%Xrhg-pF=sxlSr&(p>zGVsuY<*-XUx8W+W!MP`w;~G?6&@Ie3#$|-WK6Ui%l1E)U}p>J_(X1;deF_B49MEnjEWO&|05q z6=uyTp|rBntQL-|e1yBP*@qCcImZic6`ev~db?VBX$sfB={SMDf-}#v;dRsBPU`Kh5{nS%DW46fO&c>(tD}1|JC_x+O zP9$xWf)`;&<^E8P4V?vXML2VgA9{y$C|sg`un2t4Na#;c90Wt2y2(nxQaLSj1Dh+n z?>_{H2->WO5BEWD%GS)N}GdK8=!La;isE7y%Cb|gIIVyZ-!_{G1>EB-!j z3sd&4cU?vt8qrsrJCovf#IX0?nuqac0Cy!tXym)kT!yde2xOQkaUR7{s7(}LDpeYX ztjd=RqGpa$t7TtRt;S~a##L)G@kXff1V6z&pY{AMrEYs7Yt9yry<{s=eA*L^er>Dx z78v2J3g7F&cXK#4aa;Q{42xGWwY?X-DLnLk=)v$N_QCzoe=EqK)J70JNB*GJz|9wp z!O~1Jj-eP8v#a>4`a>C=`Ch&tTXG?D?acSc$37sEY&{pHhzvh&DfdUFow`g3kav1K z{H{39l*5hLo!h=`xPJ)5|LP8Dv^q1l8(+Y!)8ZP>7q-Z8CcL2aWgo|%SsmZh!kw&3 z9mm|k3lf?NlA?{l4>fWK-lW@) zEp$F_vnqYo`mAt=CvbLy&$&6%`J5JjQ&b8qeZwejXVVa2rQHWFGmhQ?71j#M|2jEt zu#7l9-iSaXj>qs8918O|kA~u8&N+c=?~0#Cb*ulvvuGX5JtFv#SUc;?qb${+57;Q2UcH)u6vhPML2yj`W~`vrp3z57^GD=1&;UtH?L zg%p^d6<`cSDmDo);xu5tKtJ;BZ;e~Q{}CRyCp*yHbQSM_h}okIpc%;ybh2J?1UvM4 zQjh;1^f%*w=SxOA2|MJPh2tn?{MqN@sFbiN!dvSUpQn} z`}59ghlMFmJylA+8jl>hC+Z4p_w9TXTPtoy-+Qk1w=fW)J1p<*jvar@2UZlEk@jDx zNq#8NYV5f&+Tq|0NTM5&S2o$+1ap8$ev@#l7m6`(8=D?`M1WOx+QbUXid ztu;Q|b=Fv|6d(khJSp-w-eDVji`OHhP8AkZ?W5XHsJ$Z^>8tFWwMH)dWn>~_Uu(?e zQe@><)Hd*47asM5=CTvI*#{11!S3M>C!>Bu(m{kg(PqJaFk0z;(EJ$Tf0jGSiII2N zkhKfdD4vwtS5gIM6pe?6#ruWF<6{Xv!uND^J?%`@*`5zD?f7u`m9v9E&Esl?{9WC} zp{A7_JT_jhGqwo&S692U2ClU&RXq#@D&l7a< z23;Ja0r0A(n@=??8a>AKX&OC6qrJ4%Esg$yi&vyk?!3+uuk_Gl&0M=a6AogyeHi&J za!!A|t3Q6HKi<$EefpzEe;m>u?fT#+&S zejo1i1^UeXx+Pi%YW4?jA9F3bUEaHL8$`A`?M~x&QGjxkW!lSJs_xS4qpnV~zwOej z*+*O*&F2*xWR&+ay^7($rLCXK9VmsmY#S|@B|4uUgG5$A=FRv6crOY@1-iCQQq(81 z>G7da!U;d^F`k?&PceJDc;dBrhZNo$d;A`)8*R7l;{=^r+&x$jI2wAVbeuJ@J|9#~ zcbr}v{dlDRU#{Zr@}OvZ61E0dhH8Iw3v4PIPee#LHkoZoc@SC&S$DA>x$ee5|e)A2RG%Xo~QGHNU1572BGm^JiQ5D*;C& z+88vpJB4Drh`xR)t(s|kMHEEMx)kjTGESr7=)kKY);sVrJNe>wbuBK0>ixU4xnclG z^IR<@6~H#(X}BY1+{?lyzTSb(`+gk%g7qwQ@xb7nLZa(7iM-!ZOcX8Swu|SvO1L2^ z+VG%@*@V6-#qCu9l6a!X?8sM;6M6r`K)GbFv*b$um~gZa2b!EesqT25KtEqpg2v*c zuNOb!M|%}~X8>$dzBdbO<=+R=KY=ez;je6jr!eyP{`yyDtbAIG@NZ@EEwhC{GDY?AW+`?o8cW1G_GV%LBm&_F^6*tQ(j7D> zjmh!~qOLXGZav5U;B)#IaS`Fa+QDNla!4GH=YD@29&20G*Jq=3xZg8|%4&>JsRNk+ zq;@!-(W77~*lqS|r9Y*+vw51$`MkG?j zXqMxbyk}TU>@9dN8rYw?AtteNAhWl2kvQ};ua%n)a8Oahr1;jQ)hDAw+$m+qgjAg`Pp>?G^cr+ zh_$4~Ya$I!@fNbaG#wLD;iuCXcA)mY0NT^B~5CL#B zRFlw7`dkvKi07mHh)#Ac&1K<{q)n7wF|8@s%whBzC=yqjZ6y<|XB%ZO5DHwrH08Qo z`qQ(QIKixh0?Q?-4YSO7{LL(rw#pqGZ0qqvEQIX~eo^p=!FUJWxzmLs zUHCQ5k$l=!-J5EDX9#22{%dx-DG8i;-o^_Xj0<0Kg*G(5u1-Fqf~2qU!Bi(^=1YtO z6qZG&KBKr?Hwx5q@zElIWmV+k=zL_>30FTkUe_Zlp@qjI&Rohd|fT4knS4+Y@emS7u`pMtzc={H`9p&W+BX0Y%yLA3Wdf2S@R4eR7SU8cO!; z+G&f)BvyA5FL_uXF9THI!m1$Xb-);Sb$IY5<$q&zSs_{I_|gllJ;91#&5A){1%CEjQcH?%;RwZ zSLCf!d>6OiyEr?yljB?8#eK2FabNt5c3-Ua#6GLt7uRa{#p)%oDppW}W<8M`qwIYy zNJF>=Q}-*(EVS^{K=e@s}&DLy2qHhBzicW-&W#GVm9p!+8v7V(@VSS>OI&^&!M-qDh>J8~iXj>jk8Vu`s#dzZK zqgy$r5)|~fKhST4zsrP0^JO&uy&Q&_2Qv7o_y3CBu{+yYN3LUTY7ngfmW z3KYx&f8!JA!cJIOIYzSzoyZ4g#ORZ0hx@Nh7n+o1?~up2$`;at#%wNMB_okvv}bb7 zr`P#Z#vxQ}|CE|yBTZGV#0es9*DyQrf{^@Fb6FQW%p`tZ;%I%jy}8&1vdHXLwQ_X5 zdsG?qg*+S0ebQC8>{vAl>q)g|wG+%r^LV6w=Hu&|4 zBYz;L+BlDu4}6|d!L64+d^LQE>(i3?Ddi=h$T%*)#@a*>bR9rE>OE@?kXJ7b>F@UN3<>TsvOaBePq|) zFUK|RGkQZh&Q6hEpgzUPDS1nhIrE z)vZu!Smi+$B8+{>pL&E3aT77pPLiow{1_CCLuL zI1x(r9fH1IdWP0Hq0$;~JPm#rM~D65=EHN?=Q9KRY@RjjZ|X-ENt3*?Kt6@n8#0f>aLkLm1txNG3)lSv8HW(u z1v#`ZPjqZ$eu4>vS_QhzzS>DvgXe{3Xn^|IAjl|PDDmN(5#G$ZdX;i2*QL>NBJl=8 z&Q5VsD~Sx`xtZz{yiMr;jWp$;fL-M>pH?7fag}n8ll~1;B2G;1yO!J(`iydKiU-U< z*+jgvzM`JDpUznU#sqq6Z)9G!2B%Ij%Dkk3_=8DZM85&bjA0-4>dP84wy%@@@Mjy0 zmX0;DWL{_{^A|Rd|2^Y|5&IYgg~IJeVdmLFk`qLp@kYLJgMgmA4GIGiLyn3yh?R$5 zmX*gB$JluTx1wKU>%_-wo|W5@%QRXew|S7vy4o|w)gj5BUXv9W8c;~B{CJGg!Eu;v zS6q}LgWK;BPGEFGa8-D8qS5?4UZXJrK#jt)LJE+*Bwvgd{anJK$6AtOZ10jaNci;B zL9`s7o-jY)(-ZxgeCj#py_}f!KV`|RC5t0XiYh(a>cfv|61?L6XL!TaL+mr4tb+Ak zd%HTIv~$MnE1ff>9Z?%z?wJw&4GqP8cnmeH7nEavQJdM0lIzLOBy5{TSp0uEOoi26 zKs;ZE;(-WDmrRO;OX=`ODHaP^G23sh@?m6hosGv#ew`o4Ef&o2Zz&^)lSmIPZTI^O zfLO4t=?LYm4`Yr}d1vCQhyR6!i#c4aP{F=l0i`qmw@N-{Iob;(PSQ^a4p?F_kHcka zS;Hr-DDYuPFSrmMyi_|!!o~R}LiXyAQssatJn+GKx4Z?vv)8x1x>k>9hj7S4mUF1yU7DAKNJkU1f2Eu;v3lon&& zINgeQRBrcM$U`I(q;;Wul`9j|jJNi@+8(+6!CQC?0rdHtRXi96hWWf|pNHl3eCVir zQb%210O!if-f(CvPYD|boVDJpSPV~>g^w(YhmRQHKk@iqVmTM~=Qb9c&utr3+=vnW zDesOmM@dQs6e1&`xpCdT;KTFkK#&9N*5{S14@jZQ%|FDN&syylb{AIt@t64if0%n4 z_^7Ho|35>9FhKMUI%?Fk#u_aVYDuM)6x2X50aOTziLH-)&|2DBg&7_cAux$BjHA?Q zciZi5-EMcc``FsGpth?7TO!yM(Efbtli01^ajXJbNCJ}I`*Y5{ckbjtvF-2w`rDG3 zx%b?2&-tG3`JV6d7Yd)}a1R``u7u;l8gv6q+{WX?%NHFV=DT-$*vz3E()g#qP$4|YC38EpKq}UN#N`B4qwvah+;i+ab z{%i$)!vyR`9;e$WbTQ2cw9*ekZ>P8$zHhZk&*{|dqUfqo5t`)4D%-F?x{)yqCATO7 z!q+;vGx$M{s~1TY@HVAOmi{Q)k-i-LY~;EA7uk^F99rU2ThJUjwDh7z*|VMvwNGOT z;zk8`)HhfBP?|D!cC}sAj$hDZ8XOm%z=ucE;jLyG?re=D(dQZvp)%VqR zjowA5I+p~ktWjLhT`W7A{oXUixqS}{ipFrw55OJ8twf~2$nS@`TY52bz;g|CJq>%f z*66G`gGa%bu+%SYM=Uc%eL!pC`TwM!(zzqy44(U8U_5B<*W5o~?q(%`dsm(VniYu{ zn#;;1@G~7^n7YR9oEUS~+-m_)`7g#Y28DDw6>V<<FhqLiI{lcMH3A7E|-NtGwTG{CXu=LrxCQ!in3P$ zTLK*x+BiJtHr!>!tWjn`u9K*a$7D10XPDPcD;qq;NU|pwbEX{K8fmn@3z~Tg*V#lh z=z56Wexqt0`tGJ4Gh72Z%Gepl&%tm5Eg<7--k^g6Fb4))@X*PVtqMzlYGD8YoJcQF zO4Ri%ImJTIG+eI54biZO}B7Yr{2JA zQ_J2h**1SmO95FnFYI3z8TzoGcGf;;%g&1Hodp)-r>isnEpR0ErQ7Rk@yWS6`cv4D7lX*<*1RfWseIn6?+^!+S?L6lTEmzbruAM)Sf zAZwAnE}?&J<75*qX;ybFw@g1V)etcP$ALxVT;cKR?79x9nmWps)pezNM?1I6{3|u( zv3y?NT{dYMp6|Pz^>>UF{aZI{G}}K<9PjMf zC8{e`;Vb1`Z&a_pXR2PDn>8kX7oVad?%sL`ib%=7DUGWr%RZ2z(jEOzERDjUEAyL~ zHQ}jh{pLS%l`!di8*G8m#ma^Q!fSacr@}m8Kya$;c?(6fR2lG!@q+9pv4_X-PWOI# z03@A%fZ_m>x%fUtw>Fkv^uvqRwTuw(GNz0`zSbiOJgQxM$nbDK$c&LW4XeXAzU$(`PAIh#b(a_7PPh0MLYc3-Z8B%S?RdZg6 ztEQYY=^}XzUP!WD&y!1|4MX)WFdAJ{)HI4{<1uX5IbU@gmv(v{-fKP7GN2)T#b}6W z9ev!8gFG&D(uYI2+~YrZSSx^XG`|awduO3Oh!kZUWIteb%$Fplxz+7_XQg6OmnJd~ znKOCyI$e_X(A+ffi_V%Kkgh2&p2}$KFXRiukU_xH*5_u{-q7N1UvH=wC+d|RgDF$M znswrg((AMuoKaoSl=*0t%e@BzqZbMFeKqmo0XnB)HLdXyO)DJN zZGS-FBrWSn(z2p(^3|(ebU5nO>VfK2FFM>;jK)31=yD_XNs^nTfA~kVx^qXFSz033 za>KQpe64Q7zjHBQvyAfJFx)00B(o1rt=qCyu!6o`^+#MWs}}H210C`%PGm2OXX~@m zqq0h5Z>uB)2gxkkLJ=}(5~!(0|4(5c{S zsCBV+DpS`$20s|8mvz3Xc1qN%R3fumlOT?&Zm}-0$HMXfYon~^f|LcDWll=(Kv{ot8|)oF?#vY zSEEMg^f3wz?rb(wRf8H;Ej|Wq?c3Bt5J6cM&r5fp@5DUf?twj4`Q>hxR9N3{U2oYK zMkVWIglkqA1@Y-93_kAVtcWJ_fPUfF7Vu!AkvG_clQ{#ix`^1}qMRUu%GJ4>k8>_i zuvL^-#&ato=77x2jIgN_&b<&w?E!{4iHRt&yKF}j?K=5?k%|VYXxM3!kq_PJtcZE3 z)A@4-h;n3NZdJs&dvgapr;JJk#ykH_?qS>k7~v?OC&lIz-G6Qd6jr|y-HPaa?)ymZ zSij$23_c}~X~FiPVJvfB=ZIkmni>wIUZw~m$%3XZ8S`SJG_VG=3j%GybpwVFXbYt3 zQ>KPq&NgotVNJo;=b=w!-XwhT-w%8fZSI%-0dN!j0Dtov)rD4@wPpG0w&t2RV@yh< z>3g^clOtFq$|*Krk|k{gSdBfV_)2~`4;#hty}-bu_GkwtdlbLT{Z)sdcy%UBrVa2i zh*_AjfC2~-EvkH%a(*T9J2{PHmcNp|O!y_Nme*ISyTR*g4=6+U9TNhZB7R@R2wdX^ zr<4ZYR&S6|M(-2O6+aNMwU=NgWuy9nxfB+2{~1RXzY&{8!tzWSX;}k$n0~F%tM}tu zghVo?Q`#|-xiEfiH;*}Yy(L~BmPLtBVZL)Sl+C6#bGV2g>yLLH*^=%#-RXQzPdqX= zlJ33U>FnW0`^phlu>ERKc+gF5<%rze^7_r~E6cAYBxwE2N#(gEQRjlarp!ywVdhC^ zV`SP@$qy=gvs%y1jZCBW{{_$5S4N}`|HpwGRGo~2Uw=aGge)M(RBu5ChWoNDf1VWAe*DZC)Rjwb1z4?1`4qkC=a z@uEXL*t*{2f*sQw+T>P7peB4QYHoVZ?O7Yt`)6F+cI15L|BG}duh zMG(fbHv55PjdMYlb&lw%BaW7Vr+daz%#bfkw7u^N&DH5_1VWiUCQ-i)NU*S7&INtz zFRG8^kD_B%m8x|c$F%oem2B3;FXXVxwNb_N^wi7kt0HB|7ZDn_j3_)$Qnu}d7GuvT zH0GN7Gw8Qm|g}VC9Q??gsntymje!I3jvu^MERB}Ok-z}+%`pq5N3Q@IS z{4CPFn+@hYg7*A;r*k`F>DZh+mH1zE{5Mdi8ItSc9eIPi4j zX)D_QHjn-!&|YuYP`~ZtpF`DhPgi7n=K1OKoQ~soBJ;%hPxnvxY3ijpsaMlmqnu`N zk(n1LS-XS*r+d$II=;cer+Z14b*uUEA*VyZq#B$USWPfLhqmp#_0F2}HHhgurhcN* z$(_yj>`$IB=`Z>@1y9p&(l)bC>vsBck}sJ_8PV~?9e|ppHrYRbommo{V4gMO^8n3M zDr2{(c#8Uo^l5t@$Zv;wG4L8lMpa%I)I?PUH3&94Ux56bHwg0Gv(hUL#`}r?+Bsq7 zL6RCAjI$$ID1ip?5k+Mx|ji(0i1-qvt4 z;eL!E3J(7ZF8SlqQ?#s^`UyyhJk_9S&PGd~uSk9aVv<}4AxV9OMqwh7S_WAl4k;iY zi!P-Fq%xo$69eio#n}i6fnH4UNC#wNqR7TXOE$(EvLT{iwsQVsd^6it$-c*HyPhz3 zyXLiw-i|Xdxuo&-=0WlqPIffpz}`UR!Z^38{D>CHlRf+!=(T~#md~SX=E55P!u{Tb zpZFK<^DcbXzi^i>NI;tvd)O%K1lwD@R^z1B(}gd17f$ytT<%?%>R)K)f``=p`Fbe* zniVvPrz?pq+i!_no%>Y8x!?uh#iXJT83=}w)}}|X()CZR+oBAWrkcsUY7r+n6zfAF zRHR+F=KMM6wYSZg;jbkc?^iak9cx4^lvkD3PiF~@$_ROs9<+C z&AAyRRcF8+hX{rbUwEiVhcx*+B}QpKfNT&t~D z>JgQ)COsV3`Gk4D)A2lg<;Wh;rV?qN^BvRcQA(X7^O_I-qxDt@D9zjpLcJb$r#%Q6e%9+#2ni!bKZ+ zSbJS*La)Sj{2x-=Fi^HnBHspR+7EszNj>yibRl%?X%1>R2Bml8te&x#f*%iC0(mF-{feEGi z591<4$aNw$Z$hLIgQmxYN5U4(hi=orliRx^+Dki6u+EJ4RIC<02p%^cCZ2} z81jh)l9#{xeY<99!ZNIy56%p%nv0(DjX`H0?4izg?BR>qwC>kGi&aPa*}a2rG=U*2 zb8CLzQ;fe`{hFy0gpQQ-V)H2nU6sA1Cc8)?YYp-)AHuIHam*J*l#QfBuYe!lUD`e% znnKRYL3;~PsP%ZRi)z>E6E+?B3hLkHewvtk#0s{;u}wHuR4;iNL=AF>VsTv{uWeo` zpIR7(T`VG{YR9vPHGHk@+-&q@&ILVI0$lZlA*8=m3y}Q&WeCadv>5;b_rZFflG*WE z`Ku;Fs$h9#{sDYsjIz&GB7gBW|4ERG1+v-%!i(p-mxK zReUqwvSSDw&)!^Ry6D`$@|fI8*o}RM`ZI@r z{)gh=89@mDZG1+N+Ehw`P8wu#%CZm*k2z_b^!PF}53yX?v4FXl%or3&B+o4-H2yHJ z#1BUajnCEBZAJqle-u(x9*!)TkefDU*Bj{-Jtm)VUuK7w&v+cwtMUJGUmDATy_xBT zP(GVmDyEbAgmurQd*aC}(>+yA=PofpkHs3EaMI866)sOYsgD_*)K*j0Z~FFm5;&m4JfDH;Ma>!6h(A47fU7o8yKWqqU>y}7(|kE zJF8#mf0XLCeO<5kiHzlM3THW`^UV)W>M^{#&rhyEL_$eJ7Z8Xlkppdk*q%CfVe6PYbt zTb$J|832+S+6UlHKNB>-o7`v?HIa`AKDIu@any&{yHxO-YsUioV5r&k_E?Eq*nOqU zDl@ifXJCp(g+Kcc1sGAOcA-^0u;|qNjU?DV*(TUehz86akbb3j0!e}4DU4Z0-w{oe{-Eo!GbI=R~)U_&99iOCGfPaJbukTF9yK&K{-o`Ud`d*&4xze*j zWMAtGZ}M!Wx_0rgHU^548&VAaQD{7h%6yRU7~jii#9^@b5--4G4!bO~mly`QIy#~Q zB{2-f2;TZNv%zfMDasS;t@flbaac{#El~;z54(nE7L&4oo!g&e=Mp($y4`Mu8EjuB zZt|7(-yNuxzefu>;1#X{L8B#vC^;qjNwTUx4P7}4^3*qCQ3F-uj@D`;uWuzWO*dAQ zCAEZ)?sC&B9y9c3OJ^L>sBu8UBTyAiR+4}rVX2n@EFMQ+o5UDy zxRo6%;(GMm!G>jHNH6*CIPZ8n9o>-G)?EF1@hW&MC1(d$w5db;+47^s^Ej$4MEwJE z9+Q;VN&kUo?Y{n<`aYV7LPqUUT!7T5yC>JZ*>$ko5U9ErOv?wS z7&=Cc7iy%JWI#4SL%8fJ12XwoaeZs8RF#HGMRadnOkC7~)Y+M7wT4wOeNEF)1FqfU zWI}W^>dt{1<2o|0&2DQR`>4;Nh2S{}4yDqiSzsKyErt&3E*Zdmp4<4_k%`EK_OqL7 zi;l>ZZK3bO-;(@ZO%DFv2^`rCvL21k%^v|OUbM%#sLP<`4(Fmi=b~N03WWa_*D#nr zjW-;|!-F`Nn?W(jZ;arQg%QcEzGM&{LKLQ+hW!f-pOu*ZA-aH(sS+UbbGR>j=R#$=IU(~yYccy3P7D6*ZuR?hI+U;2&M;AIS{Zsw z+n$U{Bb<(j;x7y^Xd0e`{7Bi+L*=f!m?0H~w_igDJwI153i5L`T%DIidI)FJQ_l&+ zGD1y7^+AQ)G6P9~GCs5_K$39{xkvy+W<_ZgYk`kV>Bx^n$SFRw_*e2C3-+GmOtoJY zL3XKj?kv|0Qfj3)1G~sipT20=6Q$Mm@!nsqsDp=gjhwT`A1ESW~>*sHRe)goc~_3rAsvEmjR#wggVlS>LSDiI$js_le?e^B^oj>xvoIAw zr)<64%gMp9jPMcOUg=q|VarmC;#QO%;Ay5S+gyDbQKdFrA*RgH^a1@*{TJ%P*?fev zaQZ2{pKitcCQ!-?`H%q;Ep4st&2O2W;1en{RHra`r)lZ#R5OU_ z@nfog2rtCB>|KI%m$~2Ol0R|pQ}Z7(p37FhSiBg25A+RR5CkZhRwW)#F;(~VxT9s>)KwKK!&uP^1MCL_LQM4~Xn; zsdCFeLHkC}RV8W}ANPZhq$7mS2hICVHEAg$l=^9*czW`5;LbbB-1CNe!_WQ?&faEJ zU&IyRJ?Q!mE8QP#4K zd%2wP(no=<_K?XcacW66UC`W+1`s&r0bHo;CzkVD2aYIY_`L60@b(RpovmGt8(Fo8@<~cG-Ut=>$lb%RA+{z%Mbh%dst2CeVXL-!#ldc+& zPnvqgn2NOLp??W;@TW{ZX{GeWqigEi#NvrMATdv*`}T4W$CiEo5+XGYWCZuzIPSUP zjwPQ(3&*MjuCwR~_~~@MU$cSZEykm>l2_REI*^?dxLtbsHYk0-J=xUtE%SZmLXIld zN3*Ca!XvYEHEZah_&_+{^z@#Rg*CpCig02w1Ek_s_wR@=0v6$f(_??@oi{D?u7Um)Jf-7{B~xTm;JZ|Ft%bhz zT@obk{Iw5!-%nL=zZ8fYaYE{l<=89Y52}>V)a403{ZDeTc(n=UWbN0~g0m5ZNKqY~ z?Q**`!*V))O$$!LQHtAUDXTq(LyW|gc8g4s-pI$ozZA+=$!O+#$Ig5 zAWJjcAde6Jy*p6Xpiwl4_2t~~6cX0oTNu&ca8DP0A=zadaGP!|<^|DC?iGaSW}`r1~V zeyLpc3Y$QsFOvK+AsQx`OU6sD*15U6**HlgueS^Rmpfz%7yBIJV>(fWzOw z*|^!}4`!eX%ZdU{;mj~FAqj@JH=ASONyTO*@p~oobW&zV3D)17m~eBPVpfcSgRk}y zGcJ`VN0Owc}ArN&JoDO%*g0rp40xYOT29~RnH7%MQLc;c3bZ_>ey-1^o z4Oa=#(fzeAOPq;~bv?ez({6M+_j6erb7n0%P1Ig?E|5E^h&shg7-^s;plO`yHqA?Z zDmMe_fPP6zhI)=%IQ3gjXPDV>il)=hMv92k>M*!|} zFhA&lNK2oe9UgI}t9|!x+j}oct*YNP?Mr}!ctAzXx455S-1J?zir)b|D7*Zc#M_!6 zireJTFgc0a5HuQ1Mq&w$NXUnUj{b}DPie9P&IIE+QJLSwEx~Krr=8A?oac|~c(QKF z64Y_u$*eYU9bYvNGtnJ&TN?U|wLYFpOrqZFUPe_le_)Aom9suQ+O!`x9gI(Ulm zwoQs&p!~oxEkypGq^%Oh(HrV!w*aKI4D{P1h=s8ay8B6c?))Vg;zvOAvO)rn$5>fv z3@GYJ#}lZ>5V$BcnK5Se-EaqRa4YciW^joa<|_Q?&(;(#2oN`XU(J3?Hg}PgG%qN_ zb)wDv!?NJywkQ;${|eKn$~+#XvBp|eFG44o-$V}PNh=T{IE*5eo3R1$n2zXV__ zi@W9i&~DjE9!Z)m`h-YIZt|4OPUG?p>Q@(OKk%KxjC{!=9_b#9q7gG1&m`|{UoonG zOzKV|?DOq18onwu0}OwT38$YFcngDJnPfj9<*+?MqSgif_m6 zyS80jnARd#lIiNUYEkscnTBNNTlqk0K7mT&SxUH1PjojG`RszX`KHxoV>HOHQ<_Yj zL0+k9kj8KLrT@)zOFn?pX5BTX%+ZcMXS-@@fW!3TP0yS>_1!mw6Jk zk{+c9%@+4}`%$i&BDuPS0Vxw`V4Tj;ycYEhyd#FkmwCi?QT@HB)A1}nJ+>~z5Ibc6 z;CASFHSTV-eD;l&-u(sn?90P1gJlfA?d~v(DEVqI(-<&YerEh4%N_P++iPW(qox5} zG}kSARGM$E``_C_y!U|pHmPJi!~Pq08F1PFa;d(v=OLKmz3~jL8>TKTt{ciIDSJ+~ z0)ISH0?>{WXI54R)p%@StcawhI>-E;turbj5|d`*$P&xUiTm17h&RjZ@j9}s5EW#x z8%27i!f^JT+fr6PgLdW}rQNu=WC&MXf0Q`b)ZSMO~ zsj|7f=p|_Y?m)5tYqjG;86}M;Ouk!3Ew$q=@w)=+JY_stj$ z=9G-av~HFX;h>6N=ddeGSFEtNqwOZsCX_}L8*Rqdm4;UPTH9)<)%KOBJgyT(-Go)F zUS|RKdn8Mq^_CosPc@_Q*2$fSD%DgVGIWY1%0PDh>It*xgID}V;T4xJ7p?uCUb=W- z^;566*(B0+mSG`D--=ukVl$Op=6%-!$DwmZd&l*U7 z4W-E&y?@XgC5&zTlm*6L?rgA%{)tDZVkyxSc*g=viLd|viJ|n`|HJ54V%hc|XhR#5 z%`yH?%)a5*+Cy5M?W~Z$ zWN^wBlm9<9vjANKm2kbGA?rDTt|sXi?Dc7;en&qEQTpCYP0Gfk?M}6%m!p}y## zGjr2bKuP%t%$gWB{Y{XMzG8vHbuM31aw9{p($=v#;18I?H#%F?SMBQ=f%_+bl6MYFM@*&kN2&9U0Q&40&u=9aX&e zYz6!EqM|SlPqp;Mp_rg2n+7sLZSKc^TB;YyU&Rtxx{X41lKlqbqyxLGrER_h;a2yp zE9C%NS@a!}io@ra{%TPGBdymUdqRpLr~I$zvQ*Tz$@|1slrs_VkuV6 zM2i&`#oty2Jp-Yu?0F)&cPQ&kpjq>#+B!5d3+pokJB#@^bYx4k@J4R4WE))h6UMI@ zVV<(QdB}C=|0lC4;eTre&=C05s>?6GT%kgVYxu%v{KH>LeVWh84=2BT6P#bA&xazX zB~SGaA0wf9X8RH-LI`58Pwrox^=|m(;exN}iTY>|0^vZ+vP%@==Lhje#(qy$>269! z&5P#dV@!%H9fL=1?_r`G3zyoW*eO-FC-IcZn0#C%rK)`gdM3-Mlc*PIGC4~bO+!VApXFlUE%)mFEl%=`hTr&Ud6ig5u|Mc?DxLI|oIcnaDB z;w=~b1i3vt`Bjaet~Koqr>0JvE`>GJ6477^lHYibzN6wBbPd^13YD>}4v%wSn1T)V z)Ng_21zx(QSuZEr`U(Y2_wzvZnpiH|u4TkOmBa}3{SW&oai^Vb@QebHk!~_WOsCS_ zYm!53Rp4xg;F4a)-@2}bUS3n3VK&a1AA=MO!}ww=vuJ$2kHLC<=T5z=FTFhy>Eo10 zWH*_9jOwe-YC_5D`hEKFpkaNw7t~f?GQTzROi5Rr8o^8=_`1_OB9U$ZGyApBurNb7 zYrZw0tJe9KggQyh43A~4dH62P32?-1_PSMG2U@gNQ@}iARVN96fQXV|u+`#Q|6O`I zg{>BAX6mtF^{GRq@vr^|t5S73R`9Sf1h~Gn!CCuFt{HO!4xRbGR_`IA&Ti|^?_%La zTt+V}^T{&yZstmYN0x7V|Hs^hqom;vuJ$j9x@Qc$6myRqcnQ~ab4l)wji9yPYm4hv zs>Aq$UqUP@S5@QCy`S5AX#Pr{dBDG3U3&dn{&mH!tTRr;JrPwM=uhu7OMnG)y39xH z<;+qA$}L)$ZT8(!Utspe9aZbNsMbcko;{q2EdO1=GE9_fulv+!{8d+Z6}Z1j$L6JS zN2PPmt6||t{Dr=O-G=G29mYdGClHUFdy3)|0sZXN@g!f{A9z%N;W4`x~?{w8iYy35IIqub~C=KqA#V zV(u@#hqTaZe0k092OhDC&CvO1^<94a3aWctkSPDyh>Kh1@S?Gg+^4=Sjw!3UEkg9M zhs~v{V&#`o_RHxwOM9vJz$2k^;F*#`0CG%|VY+kHJj!SXbouXGqDzwo{t@eiy)WqU z_4Lb5`tV4n^LAS0NUoQP;XQKu1&nj*+$!RIoHg&`dtDDQiD6~ylw*4PNTcHQ&dE|K z$DGs@ha&Iw%LU>D6LbQ8d8bA(O|J?GW}8Xzyl;tes-@r`ypmM*AgaOx+l?5O8v34` z?KSW2k#;maHEK>gr*O7TJ8?}1L+2gt2>3;GJ}+w3gkIfPEcllH9arkNDMmna_(+Cz z&VXTo^DXYeE4-k*WL4>~o`a^#X_&Bk|1H{F?>hM*-x3|}E&t@dW#mJUE)(*gQ#N=J zm>dfi8!tlI7DD}jPM%U|n`wRRQ$eg@PEG6rc@RGa&@r`hKL z%aKEKYk@sUI!YidyT_sQ<{o(6MQ1;B9}TD$Oj&ITsUCPpoBGFg2R@&xlnZa!{$1_6 ztDi3He~e&=f8sZ2(?^U!7n&KCbdt_Bsc;Vltc4J}Wm%t3cnc@R0_r0?U&lJnpp=xcxea{iFbO);^rFd(0$*Y+hQ zMI=&k+Ig4zQ11M1TIGMjAMdI0D4BD4nTd*?m#siB`aE&R*`+T`o`BZ5{8lCC63`ijrU+M?jR*bN^-*lTsaad{BT!(vVS zj!|RX!0h<-J}l%V5=`iP8YquijTK2QwLCbCV1$aPHI~s>4 zh3=qFQIpN={HQOsf|I|lGKd-XFmeYiix}Bd#K*30q}zHgwU zfq1qp;h90jLG*hO><2XY3JIIfEVjHwf2#gr*;U9N4_iAE`(A9mug-}TUCvA4*n7}C zWAot2?K!EnC6}sL%|Q>VrLmtD)q~5f_Adw_u&{of3m!^@@L@o_7|CEb1}?D5x8(^mBbnui zsmle^%0(9!H`=50d4wBn-rGIeXfO2x_q7t@bS%|D?Jc_kCXu87g{g z@lIb3!4t#CA*~8Toel#xlpG>4PI8E^p^7VT*SCrLn`_?R7B|<~{}tGqhSYzW;!0tq zDh6`BA}Fks{%H)yjy`;MT-AyMDIgLb!NnuYG!{u$aF{M$X`y+vmG<6eHc{cz!^m~i zA0|M{Vq zTVl~LkPI?LEx!B+@p4mN5rmV50bz-C(npy0|4k7_BkmWB-T^+G57>AH9CmLyYm@}{ z;rp0;d8=v`b^NE8tlk5r_RzzYquUwCRIjFAa?*XsRO{3VCzK+*QE#p^NWPFmoU>kZ zh{>=i21jQv3Z0bm=;;Unb!V>u)bF%`)29s@fyqZs4uaauh7HW8yZs*ilBG(qkL|j` z-i)y4MN3vDrmn17G`mPg9_RiM4r7!ZhNUCl;yKf&R2d!?jlu`M-;^irnVW`G@GGL$F!+%}GkC*;)0DjaA^v@5`K#7m%mc`4;7FByw zI;!YaY0`G(Z-l7Wd+6`uZJF+3g9jf3CSs>35*5^hy5#ZVlu>#{Q}3ZJ6lhcwJw6-~ zJx+U9(Ia_!y6;f(L}jjeQ@h#eJQKXhPN8B%zQ%mZAIAqW3D^u@kC$G6y*e>1V;wAQ z%ME*;>+knl#1jy9&EPn@oaL@JIEp0Bn@-mm73b8oSC|XslXm0 zugIutCsp4+wTWC#CYx#y$9@GTy_uS`rkbzjD9MlK8@Lk7bdg!Ifp~?@kGcx zE`c+Rf58+o>*@&@)a|d+-`Q`gICP$&CLmf?1^^i^XkW>^R8rYPCT~_d>~?!klX{2w zkhWC3PhaH3ZKHSj>kw4&k{*c+ed5@hjy3#cbcPRN?Ip%ZbkAicHAFZwanuvq+0oY2 zZ(|AW?aED?UAWj@3(s3qwR_5t5nMIA3>*W~A{wy$?VAC?Uwl$1xuBIsOp}w4oS}Xa z5Z%N75_~uJUgvkPwB}22KCXVP1_Cx9K#3fj=$gb(ONEAzWZcx-r<5fV{i%4%CH@=@ zZ&6UDePzz^s35CXh)iD}nKm`qE4g4K3o8_zs(L(LtSw)}L#QS!^rq56Tk2bLmGX=| z9w#5XNvZ#TEbyb10mtC)0_qc&&@5w7k@6b$4i!x>Y2?0^Xr|>*W|kN-b}ZsDfr*7PzFYyh3#G9%8@}fq`!h%pXmglWG_PVXEO{KQdNrlsYUr6#aD*iJxGe#T z28l-SD^XDVg$S{UTJoD{9e^dFKZTI%__uMcmwD`J*<&A1Qq5-T5P(Eljp`;gH?_k?9QR_9b2NRM}oaku3q+rGz4# zo7F-zFF+1M7=U1UPeppi50-(%FdhxU z;KF;76W)OgP*B`|3D%}09eCgk)h8H{V+!`?!1^jftRIv_ulO&(Qr23sf|c4P z{#eAzFq|ga&_>L&YeoE8+gjXLVa?cmv^c?&phz?lD^5FQB_Llsv0!cu+RzhO_!ZZ0 zAo~Aq{1*;0{xgH|8=bWXQf7+@WKOt8<1A?Ab_A2y=L%)t%lPF_zVNJIJ3>4yEGkGAA zB-i?g)MRh*L^q44H};H>r+)}(Ep;Z^4av_BQ3}IHa7rM9|1 z#hz)A;ZIlBfL~yailB%ELbz291`Ow7y%&z;R<#Jn3+OF|8AmH%qyE%iW+)5KfYY!@nLN~;0m2|PWUEQt?G1l5365^{dli*8fDJyExI?8 z0ByF2_6LSuJ``%BH0F)$w@fb?&a&4;_dizdbezINN{&7%-B(Tx;q>pwnppSS{K;JQ zH);0PLtSsg4m{iSO8M#?*j@VJ+4?3xlBkNxI|%^3D%Nm{M4PRdJ*mI1>+RZolr3adj9Fy+tO&-g(PtE1EnfbB(Got0GqYEE5ziRah z@BW+itZ#~bFPf~?c{)3`{?p?Q|GfQBWa%jPf!llf3rE%Vte+ik-(4Q-S~oW;nxVB9 zJ`kK5kKZ|}(Ed{YS8#Gh}jGnJq3c_lPj6K~%6i{E4aiJwMb=h)W!>W?UJD7*q5<6v z@8GXc&i(~nmI##UF^uv;4lh1sGx+y5CqvA+y@pK`dQO~jxS`J}XP9Wf(ppX85?vaW zrB$8Y9yEz9YUPhBEI%7a=g%m?hesrSlJFVvxSaBc{QoekKpOvAIYdQS74jPfN*U=N z?f4d*!`QN|vCIK;$VK*L4ma#H8T<^dZ5&9P=2C{c;~tKhK}0{mI~_Vjcu7Bn59k3W z{S5|eQBxazAr(j6k3AY}@2QO6@GKfO`Rdpda}#x4-V zRA@j&ie6*HcbfN>*zc_uO$Ev9n=nPnSk>`qz*F^=;wp8qmeK~Z`kSAj7!mbG`6E#^_Ie^~e^dFgu+;XQg2Y@%`Z44-u9 z<1@dN*2lf+UjL*WWT3Gp?G6l-9L4qoJDw9v^fq*eWeyHH!_)$hf=LGlT5B=~ju;n= z@VMwBxt1OSY4KD0lBfAhl&4f5==-DqW($RetwmQ@4+221%4en}923BKGl~z(Xbhfy zoBQ;S{JH<>esV06w}e`}qGP%;ay?|0d)A?cwRmT@^o-u_bSh)MuO3vzRE1PeZLY#v z7kCsdKGFlKSNp^L+ue|T-)XQ}hm=I~A}=w_TaJ2fZ#gIYmfczg-eT}^h?N+Ci@>PO zefjQpT8dc@{P{~UKyH?pQKWK3p(5@x{sYgXkgH$59VJ=F)ofp4{Ml;V288)w@$ z^0&=#eg-7&n zVTHJ{Gj1EejS;+we%BkT4OwBdVpV{?fyHCzVMZbW>fVPR;S_WeZ(Ae@#=rWt`vfxn zh2&GFAag)s@d*Ty^-8su8fWy{R!m1@%B9@A5uPAY)`F~B>!Yld-H2*h8iCNZhV%;X zA(c+Y-}5Tn2x({7i?}zS(W;h;9=Vs|vs<0ppWu|K|7F9+oqHaOJmz#LKLU(_soYBK zk;VOlDeUhmPo9?9?(_O@rgu}2y>9zdJa?V7wLFktLnoZi^AB~s8awb5i85AiH~fB| zX>OhbE*)pM`2)7whj2 zXXB`5H7^HgoJTgNH$RZ>sau-QcBF4YnuQ$h4V|_(BgjB&LaOTY*OjH zM)%S|FPiC|Z?47j|4e&d2pJ+V`MMWEvXJM@YFt>vZFxwAkl*UgyTd=0YFLHZqDrJz zDv|sD!#|dg@2dvN_pDX^6vpwcGQJ#Hgl74@P*<-gusNyOn+*q&SBV9mTScXe-q;${dHzMU?G5LqRi=7!WII`f++P>hJfg?N}tA!cZ8^zwqZfG(ieoC zv@&#BkWI5*Ko=en8rZRRE|A3WGfia})1JGP!3J>dvxBm5elPIFlfwN{=AGdCr1io0 z3kHkeX`wo=RX3!-4);kaV}R0-N<(zrJC}y-kCpC?IYuYv42%uqZK|!mDL&#}Q*2JY zS98FI&R3E0lJoU4(uKyeR5GDp;o_ro!lp)L?a4}FxD`FIh8;+s!djE79*tAgqO(n! zzz$vX{CYE?sKk{MOt6YcEp)BgXoJP^dR1od>fE$F*_nHY#5<5`wBZvl1mwY66+Mu8 zKatAPOr?&ad`h}&GyAl9R)%aGPq|+pz?d^E$i$qNLs1hae+}9blC(PM(Y#8hJGy_1uix91-aRVai+-;s{Zdb6Z{4m^{ob5IUHRC7U0u7&S8p@t{oV%EF|BfL zAJ6M}(Kx-RJJXZ;E(L|2tb4NS<)iAJM|_X$&D>GDPM82Fn7(O5(_4nMF<8Z^7XPqQ2R zBWCG++G-ROMf2*g`}i-zl|=h?F*Y?F2rQjk-%IbKRkRTKIz*wI@2h$?Zb;q5cbQ7<6`N)!0k z4-`m>IAn@}x>u9Oq6A;6-IH-#)?CxuebmbIx)t(f-cn9eBT!10Q01PgBp3ny474vp z`3Pp4mB=;YBH^T!{UCc&G=2EZOy8n2(}xeHR&X?#`h!f3+1jw~bI&lo_t$FowCM4M z?TbH8LW%>aPXm=^866aMHc%SHUU`}z#dX8=hxaWoi5X|laCy_>q^)#zdc6UJeBjwh zR>B;|wRf8zWfbPcl|uPnd6ERI6luEEq#RT9I-05QTHJ<^ zdLT9bU8Z?#c$#K;-)UNNCk>v~$L%#Oq^2t3;kIh3=D%Ur(@5yq*$FM?(>!B^uWg$4 zO)+hLlfRW*Ly9!_w*RBt9cub*wHDdG&3z$zZdSjN@HOlre27b=pB6DsR^(>xsFDlI zT6vY394->+Slpt)3+Bzz;KjEcAy4|vCj%P0__Bc;qyz!t9}e#hiztUkodEJE{gj|* zs96;d^-1inZVWgUcXLOmo^1NHQjG@)ZfcboTvHPHOQ2RHokyZI#v>IWOjui$xPNrH z=4EQRoZlXt&oX3IMUIAo^BW%!oXvAi$0uk6u+O7#5u}6q-m^z(E%$1T{K4er#tlLU zqqlIwNSL6d)A@j!DVY_vGqIxStyK>LgEEaLuX}dg?RbPALyhMeJ03mfbo>{82P}TO zp1X+E7HNe?$XxVw=zU!#^6&CX3%Rd_5^CgsCNAG}Y%z$yd%-0F0^%r9Tx?Rhh84ZH6`v>l+L)oH?WZ6c`B~97ZVCwJLL*P zQrE2U#m+V1qoBw;O44x@s>c?0_gzMG;xKNKVML<0Er0ZB%|%9gP@0VSrc!qz_Lx+P z(=V&tQ{Uh5OBOEfTyP+B|BJj?tC+d}SA5Id{~Ujv3!aT_SvUW(_P>`*@dk%)rTYuY zXcV!Wu4)giYmR28*Jhe4Gs|lWcX&Meu=HHUV``btx-7lhlr74(>(v~jr{=O+6yi`% z069F(V#r&)FcktEm_>O8gOlJzcPNr_^JGJw-~R)tw_Dwd*ZDAEua9e{E*7*Ww!bTq z`t<&;5veck?}{cXw$6-}f2mP_1$5Z_v0+P~?0L3ONxMKoH<6MP;8Vc~a8)S>zIA48 z`DYD*=T*sj)&HVKUYNS8@U>w%@D+H~dmQ-U6NikW>ARsw;eWGoAVVF%+tv?v8F8S` z6~!yd-TpoO6+a}zuOSo6!m;fC@xH!NH9S5BQ$4=*21)Y4{u94^g9tr)DeXO7^`JT{ z_kW_Rk^`~OF+YVH-~ebxe;;9E*62lij`z)8`abv-^0EbAKl0FLzj9-;{&8p1MYSJG z?;SI`%jtNPEM7bWxi+_AFNHZ5PcmwW{^WS22s%YksptD*zlbq$ z#&4YD#WyEU=cFB_rIBZXO3?XWD`9}LiCWlxOWDZ85kI5!d>b6!5~C-7G2|N{ofBtR z2uZLmx4I{wml?*g%5cDkCB)Uxz#5kS%;3N9YL%?l|ND5z^U>4Pcz_hAAHlOLwW)p02ze#`Wt!$;V1=mqjMfw3TSF2(&Q$e|x zM*B}NyD!<2ZjPz!eFjg1s`c~aYPN1xbZg_tF&x{`>oc<|4m^{&Np*Qq>18lz!xPPp zXQuabPd|iraQ`4Vn+EPTM)nnhMur`KDmGyJex0uu?lI#h5+hp6f$>?!ZUaS@_~Ty^ z?LXche-q=MtMNBgt)Dx@_?;b@WoG=&wj&+?^U?$Fdu}tT%NMr<7*5mcFE84sMyS+E+tkp5^Y}}T;BU@F2 z5%2l_-5{lj{-|6+g>935kKvZ;! z(F?p|X44(|ViV%s)z0@!*MaAqiyrTCk2$@phM(KJUaHD<#Myk3?c%w$rV+a_-RrEX zM@oK#HST}<<@(M0yJ}228s~y1otazVqz~+3Sz@PdKd@7PI+f~11^GUzNL1_+@k>?w zt8uUYD}(=>1X}E@d4U~K5MFjRiXRr!z}wJ6S%O_ zHs*<8+8g!m)Rx5JX7nQamQKex3J&#{w3Tr8Prs}&HJw7OA8q(*4=A$aL)q1P_{=6Y zaIxn4^er>XQYWr9nFHJx#!|GYGSl^N87$Y3zHcW2hB))<(bFCV3R6i=p^8+tdDt{tBycb0Jokt!gsY!h#m#mL; zY)($?oK~C6+tP$W938%1E}6RF#S0?S7ozy6K0v7+!_U?P;red^~yixed~sOpOn0b3Df1*?~`L6aNcJKex>x-M`!qQl%B@CX z3rt#RcA@^swKjE2L_*dh7^fLRF?Gv-SNV$eBZ4P>lTxt0$X2wf;b-`km1;Pq^gUZC zjU+&mzHU7O^K>;)>x*6#(+`I^dFI8CLV@;@xjjwM`Xu(hA znRNGYMTE%g?dqzaWMSm-`mNSCD)kyg&oEohNHlaUiam56Pn6GtdYIHG@-)>BvwpHo zML$_#(h)KLz3y_nobi#hNio*&9PaV#)YgTE1CYWYY;9}{sR)!Y{Q98~?pv>h5l%QU z2K^DcJyeV%{~YRu5SmoDUq2p;f^{)<*S8{BSoc!*#xL=#P5A{KQtF>C(Xt4w5_vbC zDXqsiJ5GkshP}x-P_igd`JCS|*0wCyJepv>ML0tCC(lp!znx0y4mZjazPfiYt_i3v zRA+MOu^iA!){I|T`RFZ$QA7|Qi^c%_F@@d=73lZ)4zws#?B!Z!t~`p;>N@KeskdkL zkjM9Eos|#oBN))F_=TMpOqgLF7FM`lJI+ijL~mNc1et?TwZfOjvm2yoL^F$qMK-5mwxt%2ifAe`W2VL2`rMAiwjb*mbZ$sfc_VkucaiP&u4O^F34c-nkcvH-zJ?ini)H$nSWQdAqe8-z%_OoB$)&p#zo~$5bxBzgbL>wn=bqWu|z$EVz=r zSi)_W&Rqo(;T`WQe}oTV7O#QJ%c@h&oPxl%h1T9W#;lJ>!IjM zFO=vmT~HZ&ME6emXUA6;js|D=6gP4!*MQ|h+3Gy3Friq>dLS6p>l-VkMVyWg!G5D< zuMyCNP#h1;@NYhC0nwFhu0CygEEjF;da=B`Iguw>HjEeUX)-KqWs9emRUS;e(J(8P zdNuzGep^R04FSr@qSmNSvguDV$lXs(a18xQ$Ln}agA0U{WHK}~oL>@wQ?GM1g8}jO529THFYY2;h-+Ough4%fHe+&&_ zed8z=FZBK~y#F`X3=M!k^)y?>O}|Ei&<|7X1a39*nszYU#vcnhp=tSw!9Gyh@U4<|7`FBZ|#k5c?k4ZHuu z{9ow3e=z>lz*<#LZ6LGn!+HRrl&Bvt5f22$AI(iNfe3A0MforhDTH zW8(Ve(`!dedx!XxaE8H!Oyr1Uy1ni{elKL1J5Pt3VqTPJ!aFLp2seGoF2c;gX9pPc z)UD>OwNd`L=^L~p8)u)M4pdGkn9PudNTirXhjoP0eB_@)(`@6pp{AMn z+c0E*c9se@wAH0$=Z!bQk5P)s+supZ@StB|*xNmq4?8d$e>^Wdwm;EKoLxFzNdVd= zvju9|TxFe4p(POMO-_KBs%dDBE&2e7BAO?abB*h@h`3*>t%-2c{B+WH@l+1{feS%} zaX!D+kDAu#bY8%>=G@Hs<7dOudYcww&N0r$mcz5!`>sq@%x>@dF!~EGIVwDUEeXL2 zUkuQ&O>ih&k?yTq^gat3wSg|ym^HUo;hE!liT*hVM*XRPmv1~o(S>sg$7D~S2p=Ao9s0e9fd0)=VstxcbHU1(wNkV$^||j%C>mu?58~U! zF@%-NVZRmB(HdJaIXm;~jp$S}JF@dRk4%-g5sbsxbjRXYJqTpTu}+G{7`0vEo&`FH zX*J3LP^`?|OWJ?51yC7JTks+mLh{d``BG(=`R;LUH~L@|X7=a%9nJ4N=6k%I@7?-+ z3pTpVM$PG@%?0aXdb*J~R;$Gje)NY9^eTD#bxfFy;x_9xR0i1G2?lkOyDVWF!v?9=)vpE?v<2TbZ!4OTTXpt^ZGT!LGlJv@jqYBIxI} z{ep+n@iiU*CXTbQwU#;WTKolpWEmwrrvR=qAX5`F#QJV%Kd&seB$Dcx<8X(Z4hVymKS=_MF=vlhp;fC>qYIT4AM?*LTi8yzK9rc@K@9ksZvg9FL zFFTWSdqF?%Hnyh8>pS-&yK(_awU9)lA?gd~3c>S4&0cJTkdx>U)-- zvQ{J>C_hv=n;K_aKM)FSZuMXK{bRlNqJn6>h-{31)< zPw6$VfIJthgtM{nqU=x7dw?;ggO4}3!Wj+3Xm32exhbgIr9P|LfFw2%085YgJsTUA!@NjC3~MbL^~- z(6?bx*<&*BHSKXWC3i$E#&3mn)wLczb2uj~OVs~Tv5@yZ*7Z9FrYh!anzkeNld0yt z<|yr^c|}R<%5duiJ4WR0IkwnbZ>$Isg*cmL?x?VD-pq{=4~}FCzJAg>d@)M`jxzVt zhl27U!HIM+*M_5~rRNbx-_5q*?m_|ALVKb)Yn8KgC}?khmE=uY&X3U~w4CJETH`IJ zC8pEXnByyED*B!@@CBw)`Vfcthl?+GnHd%rQS^ItuL0T`oqV~kiU>|^qw?c-`N?UH zmi`eAp#JusJU+54TK4|b7-!Sc5zZzjH|=r8+`ek$`%)9IAf+Faqfc4t6zI78`zPEi zW0195C^Vy*Y%N*c0wY=y=`DL;uz22mVD6!QYt&yqFWSEQ6#TM0wL)W0`Y^?`u}@0$ zndAAcZ)Nq$Z2k0+16e8#q%ymNf7cf*q2(xYTo`Ws8cX;|VQhTrP3*@`9e?5TFsTcr z=i&c(Jva|rxoehgKRfXR=0@VV0h@91YQrqZXKLy)-tbX%Xt@u2;))6MIZ$)rwz-Ro zZ>ZodYsYE&5~nHea-2=A6^izHO2=($b*^%DHoCs+#S!IAHIlecI}rOL5qai%ovbyv zWj3azEo?tVb*$ui)Tfr3A~`xcBgRTq6|RLGlsMwC6e{4Oo5n{g3{ZRi9fv+=@6tCh zqs)p?8SC+sd&|oOa%(8`GJ!D$v+dWAnvqT9I)-+n8v1`{bahv8-x}QtgBh`isB*b& z7jCfQ*mFLg#!>CTqnux+Pn%Kg>ELH5ZZj?H^K|hV*Ab7We86}%UUa8ND9lLOt-@?O zz1Q#0e~=G5>n@c4z=_yVOI4!x3o)Cf;^pLY$Vrg!p{X;-iT5;{r$~610qthiPU3i* zoU1H5n|foJEnQoj)i3ow+TUNdtLvqaU2bLi#ZyM_1WJ|lk9Tz)Rrh#!vSEGUi9^6U z|9RfHp#^p0PR44-Cj#q_Z#?6hXva7H2*)?A(e#+` z#9;g|+GFBxlQ)r~&+@iQuJicX zY3rHb<=J_YxjkRz7Z`YE*1vQTiG#k}Y&Z+>BWAsNjl#xv1c$;kPZqxLnAPjp6=1GQDE|#rDw=E*P6&Y z+4cHJT>jF#SCrrJgEDl~9$B6-C_58WDaeg=x=%B!Yw@8%uW4YGEdN87^y=!NC@93pt z+HZ-JAtUj~v>PF^wbJ`1CrLlt@+%n=r z_>JUd#z#mti-cS8lAJ1$vPaodWrY(qY{<<#CjvIcBio#fE6#~@_Gh*x zFO`Kxf^PHAzkBVY@V;yf_Xb6wCGykmyB8aV1@w&v&1&x0DrY398cwfoC6 z=4;Ve20WR6Lkx(ik1UCAIa4r1i#X#!b>`mUZY$B(lD{MxlyqJq)ZW zTa|gfD_@=N9h3Y*x_7M8DczT|>51&|_@VEgIc7wAwlQjD7&z~YQT#xzf#PZ!QbzH{ z$FFw^kMDD?}e;;S?*T?aaK;^=dr*(kkkgKpl9&T(B+O zH^Pc)6yfZnO3b;!z)5*=`z)j6rl_;&F=V|hT`xtm)5c{EuZB@?-?REKe``_`wR3E~ zI%iXNW^32W(OjZFJFUJTY6zB&8)b%t)=H8g9pyc?gM z{i~b{USJt;lF80n25pIUH~Svg&66}JAm^TT242{!#z79B(so1ouj`_1W#=}p#j0On zGdQ;&D(kF$j3%}YdUGt_#SdrGq(Zr~aZ={_^zK!e-;(k={mQCb)FBNXA&YAtrO5$3 zWU45nPJOV3?{z)U_U)NnPrr=AJ2%_QQfEDV7{F~UG(Jrh*~o*asd4RMEKy}~n-kBh z76)fRTEoq!Uk4kuvIxSCb=(3w3b2P)c5yALGuyU(OPlDF&cgfypP$_I>PYANZPPMs zm4%~i!E9iFdrfntp2;*X%WtK%$H;&OWrSe9f>$kfE3>mIAHE3XmLTGOgj`(ju%8q! z8OyGd^p#m&+)GGqWN8GqB+Qu{1UL(^pNx~Af(Tf19NZ)xRJQV^hP;N$#u#It6JRudChEqBJDGCWm(MozWuLZQfCAL@jFBM|GSHh<2)%k{+rfzJ%?^T<2|-N z<~_E53BbRX@%(Vu_9kD$>em2iSqV#JNxVhL`IXoo5F9!1$IIYyf)3nO!o;KamL276 zYN<%~9hW*Ods8eM;V6h63kvYbT?9Jy&7%q$s5BHF?f7&B6UDPinv}>q>%lWaLi=cT zGL(7sOFW3G>F{cWeYYonZ$4|Nuf|V9V|aQ4_q$%`YQ z1l?RtAB;GiTlr!*xXK@k0^~RIM<9?(&<`~~3E~NMTVeyaolQ(~HhI(YMw_>D;~fd& za8%W!(rlZ!TX};C1ws|^vFyA<2*~j79{bi&$jOD1*(M5HJt`V8J zm4sAeX2fwvem@*v4CW74I_X|@;*b6SUk7+i+R+!rFlyrmQU6Q$j%xwRq-=v(pPkMTUs%We3l@7kYW;Brl#+q6ixipr&lr*QAPgJeHG~WJF`MMSx(g_}3 zpJ}O}!b0{^lbCpMA~S+ectvu;g~L-h5L`Qn)Ca(p*%6>y=_6xx>MX_}Er%I>VF85b z|C0A6@KF_MyLk1QPSWIbAkaY*X&^uX2n11xAOr}jEJ=s~H5#&XNFYhaUf5I!b_Zyh zC<-o&%iuDOqmIjn;7$^i;Ku5>j*80+-4jLul_j+F|9R`2(|x)PF5kVs?|%P#8=h31 z+D@HX-g@h;x2h~Sl~TAHA>C)ufAaJOo_*czwy zeiG;lZ`215ux<RKUq2?K(mugyixzai*gj7qq>q1t2LnZ z?xFAV}zy*}3;@4cXaUo(E zReRu_+KdmSR*gb$JxoJ86+QCHuMAG(Q@gYO3D<>_@kcgGayg=s(7l`*HnT2@Png^c0d}19jZWgIB@$;RX`6r?K-(w$~ijY^k!`{ zrajDk_?UYSR%BH#QZp5%?ZFr2QB@D&8wT3fZGkiT3G$JVE6zW6aVIB<$a1LyFp)t6 zph+=S82LfHc}QY54&~W7gU@52mjG5O1nqI8E9^9yP)@?m*4D#XpAknPDrh(84eCf605b3@0P0b=(ky@FbL3N{R*<)R=%PBjTHtEDL_$U>kIp|V>7XF9QHDJK2{ zPfY6^!_85yevw37R}tTgC3CuK)`X4=GMsDZn81nPX-*TyU{A-a3_5apgsM#pEnd^$ z#ZBWGqd=Sd!}jpX^X>*sy7fl9n6ul8=CCQ6JI5)U=Tyy0L#zFP*$C|mv*|+KA(=Zj zwJW%Dw4N0Da$-2wTp)7jPTFdllGWC9aP?uCC0~|~MPAO4gCR?c;dMI_!;J2H1J5BU z!~_nQxZNdGLy+QC$b9WJ4}#f+LmqK(v+)qk3xE0*ym1}F863wroTei!bo)Vm^>75o z{I9nM@8NgaerNbQerNdd-x+@7?+ma0o#78+b+zmAkPfFo^F`07wSj4S`5t_mFcfM zz^fAX)L}k9-+$>lT;3X>(_yItptBF9SrW}G!du57D#uasAa;rd4-$^027*)fOIqCz04$H;ZL)*v+f3pOks6>FlC=a zM$nu%41t(`U4sLywvs#qr*idCwI;V^w`R8mP9u_Vjh+}w+8%-V&ZTe=GKr@w!90rj zJ*wIB78A&X7XJYX&r$*@I^6P4esdbtMJFDnj=<}^cRhT zrnCI&H!y1nh2i6JysawS>FT9V@P3?irtz&2>yzfZNGx>D$HaZH3#sL`+Fup9C(YCj z&2BwiW6R%;p#=8=w$K_?J~RTJAI?jFNQ**lzl_fK^35^w<7erxKicmXIfgd&W2hjy zVMHS8CrWLo1fo7i(f+uoMi*+P5r8ovl{`e3o zOnfALP+$ursdNVuHV@KRo$GC*l3Co{-+3)qDRJQq3J;N3f~O2okj4n#9C@OEWqGg@ z?WlIVbf(t3($I_>16s3=(=1^o=y{5F8g5hwoF*oK@4!#Hqv_L^L>bT_swa#xb4Uhc zirR&b45H)s`=m%a@dr}2x%|h#53PpSt>f52A3I`eENWZ*KvB+0(#dxO6}9C zy{%j>YH(d3rUStU(t%*)6RcvyV@j^?*iRxJn$S3K)a>zP*;s<18|p|FZS?7-Iox5+ zzJR)Zfg%g!p|wQXI8LS&JX7#)_c_eg&>ezMB6ISVdp+BQ)hUl%1#Um&p*D5yyS=JhQ+tw17ZIn5%(DJdo48sWat z1aTD+^~Sjx^@hnQ<7x!YJ9r#t7n=5w^Nl^N;t`*Luka$YL!7s;T;Ee@;_Hx@UHc|P ziffbiG?hn$T@`ko;mjnaLo}XoJ4*T@q|9TTm%mlDc|TChuuZNhQjwv!==)L^V|62A z1azZjd@U7~v!BmEgd1xRyzHNGB?rbK&-jEo!9$a1oPT#JTvzHe4CrW#OCYQlpgSl}!GBUYB^q!FFMrS*01Fw+#s=roa`#SJ}` zm`+no`lc9#r!h5ySlqx@(kY?_OLo55MsG3}O6K8p=q3mJ^g*gtgh#;fnR zAHWQ!9O+0BqKV>yYR5Fb&}yP)i`ZDG##JxaSPEU<4}FF5C;|0Uv<;MW0d8u>!K4t` zW_7yT)ZPLkc9D8<=ME^Mv{{|@C0Dm&t8Tlyog`WqPNBtYbf5kaTQ{*l&2@-cQu60l zH-N!MS5EO~y$2qDBAN?CEBFY17NTPo(2;`ulBf2+h+s^ZyvOJ9jerdi|0G8|_HL9u zKrH{7MjPI*Hu>hA7IqZseOz(LJJ;Ae*?^0a1ouWHgJzoH-M_vl!@Q>Lda6y#&$HhG zVdYZ{EgyZ^_2#6WwRP0Zjn;A?h+2Q+v?CyC^mdT#z;R zh@e7@j;|BEhrFK?WgnOAJ*|{id?9$g#_Qb(Xz-qG?MQQ<)r+lLwUM9qeO{1@+pePV_x74sP+b&{6pNQj|*!@)4Q;W?eW5mABRzn@5QH?V2GdAp0{y2 zJXs)3Y~4oA;276HK}OBj0&!|3HlmhfWMWCs{642Jz9c^MsEAz`KaXdPuSluhCecj3 zFy#a4_uit7`Dk(wd2E~xv6CgR1H(4tQ1F71@fI4we0iy-d7+I~ls@PapAQ)I!p;K< z>IeEj(yR8oSMn*-z8=^Z?k##{I@KgOh(irzO?a2kGy^YFL58ZONhhj^L_!vcTq0Mw zp%MO`pG!1T@cfAB5T+$>E9M{1U?_yENDDOrNQcQgYfHZOfV)NO&D%14qTGVeHpJRF z3=-Ipi9+T1qr#;ICTB0O6W(Co^T4)`!t4qhtohG^Crh$EjvEhQMN0X;OV%LsApyBI z3hU^aIp38ag$7}ritKqAMLyFSNCHBFuD_leN1i4kN@;!)H)TF`FNe4aH!Eoh>9LWdDy3<`c6#A%s5z{Cbf9|<{~4vxd0 zh66gBH+zrsCKBYeKf+l@nN1Ly_M)$XZ)n;rvJ6GB1D?}FT{B4Sb%fBgjY8#R%%VBv zOTCQ2`}(M;cHzy|JRI*Tb6^ozu1h3!o#f&65SQWv?hz-c>JQQNt}(O~9W~OT&o!0MCj64GAOe?RX%1M(;*RWOhvu^!xdH z5pa}mDhW0%SoT>=x3IHN_%t@bvxaK+X^6{nOG^q^#$~bY7B6w!SVUFA06k2^Ga51c0oI8Z( z6;2P9dpsgNB%viWBoe*Oa;0N$$U7idFH%`$(K0b_#nXd<8;}*EXW}YnCi0!a`LYb$ zjOAbZDlZ?5%p@aCb)SaX!alLaEk4kdz0r$YqR@k6np7h=P;ZujAC7xkEw~e?VW3I! zSL1~Ish~jE)Ig(95w%uON{l>^S&L+p5*~-Kc3%{C72sT!MaVlK&L&CTmWh6z;eT?r zyuK9Ai+*KF#}X*+Q_1;Oq+q3Q?RqMZRYtsT6}=C+$NQ+pp;WbL6TL4D?|X-f;E!<; ze4{hK&92@zF8sbr`1=%7RZ(NmJ6G$SZ)lzto~F)?EM|@36(cmgp+iRUGN$8rVf0*_ zA}_A|@9|Cx@{G?gh%5iRhGo_T-FOU9J5K5HX_m3jU%#E#6ZPeBe{n7y_n7mVagS0j z!?Gqc{qT-VBsdh>o#QS+^z4K2dxR}*;@kFj^l_ioyOPGH9$HTL*VK?z4g=?DQ!t@Wa8<-ml&|nX;b-;fu=+hF3&pX!5B23aY7Sm z1$w`a2Ul=2niQ=cHD>PtLu8EK??No^_kGX0&xY{vsWgYcNVS{>MwG?;;sQP-U}7B# z&^>&3H_@3f-eae}6rKj7p!$G#?QyuF=Mdk+Xt@AK|QNt#Z5MWj&mHouMC=so5>ri%Ya@bGQ;A0u__ zHO#P35bp{1S1Rv;Qy(`SdMq}SI!qe}l4#0Vo@Z{&J z1056{;Z7aqSwjeB{DSdIAs>KO-%qP z@=9*RJ~%kX7HLP{s2~kp1VNNcH`Y*!;73LAGCm?)gu}eA|56cl(88?v{y+-lYImei zotJpu`LzOdU584A%!o=O@G8A{zqd00<_D4+cS{J{KVWTiA0%$y=zY6yCl0?7JfBg( zz44^C0wE^p1>snQ_;W(jKPcisPAa$(wfDcbri7>Wct1d6qk}gwW&MDweWiLQ8@%&K z=#@eG6w>(Tpw-z7n)S?}dEP{>-QRzN_^=kz zMIqiJ)3+2egA5bi5$YJtZ&WbSt#o&`ocajfCL9NU>c9(_4Pu(viV`F)lct(-^j#DY zSt-KK_o+rY#^*=Za49c5C%kRoKDS6#s2V6E*NYkHpmVMG(e_Bjgi)4=LGkTC z(rbqjee-r^pCM7$MU+y=`3kA(Lv7D9w0bodcu?FC{_kEzCD2^KnMB6puA~=VgkMMR z7w;vbI}L{kFLlGGz4$pCgh`|_n8uf6h-8oOKZOMFE(_0W-zR9(Hn;YIRpb{G@{3$Q z3MG6w0~Qg{(4OJ?XmhZM60`<{hL$Sc0`G*r&n1iFy=_s`w@uy;X#Q)&a(>MGt=UM2 zIHzEb7QF>!pMe`py7^Kv5{m?_Hzh;ZxrcZOtpMH0f2X-SbRqJ9VxU^3lRJ<)qz?t}`=J;@%1$QUTyR{XF@toznjj69 z*@EYC_+^JM-+!BmB_&DN`3V&S78pYR^z?-y?If%yWX zAb4&eF3gyb2q_ztRvIxlMpDl~9I8+c&8AudCS0h(*U=CC3ydWc6!=-O0(6*W;`FVt zC^W6Cwu6ew3?;)QmD<HP-ElzslnY-f1+7vMwNH!xsKfC8?jH5udvLIovpkB z9?jdPqJz;=y=rf9>V~N_kDa95J&Dg_k-{WBNx!M{7Rd9H=9P4MN7i0UOHXU)W8h6X z-9w#)UTp?cP|!~@p*^7T?&b;%!LU4&6c|Q;&B74K>(nHk=Oc=F>3%(kc!}|v?~i+< zGZgqM!od$Nm}kuo@Cl?!>MT&b`6p6ycWS612u*aRqYtOgki2L=$y>D$c`EfMM0u2V zFG*Ta>ZvF_3`9@}f-K<^q(r)Npe~tU1L^o$EJWZdvT1dRdV^MKTrlvBDBLvF=}5MR z;!w7H|Gd|6yCyM;Xl1BP)jljHPj~Id6{1b;cmchNmlj?mxZkH&?xj?lwWEn2X4h56avZ%pW(?7Gnl3#PQ<{E z(8U)S(3rz(ntT*N_>}%C8c9g~N@%*BDu=pCZYpw`aq1H=@wCg8lmlCd|Eyu#8+s-inJ%4zG)@)aD4~HVWzl;>l)%ffw?p1UO|J@XdMiP9ZDc|2RfJ?WLqd1aH^ZU$%rtV_#3~ijQrSj^qQd>kB zVtGQ?xspW4MzLx0Mu;sWZ`~R#W+< zRuH<}kP-Mh+9S#nellles-_hR|6MH@_l?A(U_ZyhP|b+!v!kM~rppffHy}`CKNa+U z$q_XaW&yAeK)n=VfYXBeKUA4mzMBqlBsxh89{JV3e}@H&O0+mf=U$8h>B|*)v*{Q+ zGf{bY=&=jBQ}jt%I2qk-TxmToqqcez>bfv|DOT^jH_vb+FgCLTb5lu~&4Vn2nN&bq-8i0<4eUZ}EH zbuRcXf1h3QGBaJ>qvyIK8J{F})si>?p z(9%Kgaz+B%?lY2*^;E82*)#&5T}8Wy2f-rj1RsPx63>@op-w|gRNE=+UO_AssQP9q zteaH0Ou*Al?dhr%-vwi@gYISk9#yEhq~;V=vqR;(ImJ8LcX^cR!X}~Vdc>jcInVwR zaXi7?CHf;|{Y8vq_>5dg#R8+GgeWom#H9|Az0))bO+(<#b0d16?|snk3BQXz8%uH_ z7yg^D%$Dz8NB!arQ@E(8+yu{lxXP6)r5;m1B*S}~cY#O^VRcL1mce!4QDH_=4?dOj z;Ay#1)Pr9So2UnmvHp0P@F6#s3=nMH64gMC8`MeV{K_vA~i$CphSsqsyqwk#> z(f39cx>op>Kacu5Mk$#pq+z}_?`4n#5*d&p-lI?O36yUx$y-x=8*jIu3E?REg8b^; zm`%+0yPlO=vZDRQ?#IPFVkBx8_oE!6ub*S^-Okx#yOH|T4SEz77HRp4*vP0B)dEr? zG?CN*3S1y;L}>U@F*KOLu^KNIc8bFNuzop2BG7eNhU2*;R>MG?P_g%1zW<{Kc=rI6 zSV8v}NIRSCwX(V-aW6$3eTXt;snS1*qjJE!w8HR{t}s zI4P;KOoKYh&z4)|;*Zg%?0WAIwh%4v*rO<4OBC_NxzxwONgMtA_=!2V1D&XG>R4Ry z0qy0GuYV@C78bwp7yt=+W3ddDr-Pe(cg8AOn&o`oRm0peQ zC{t6Lr>n3|XXnQ;5mVVdH5DJv)qEoNNXh+GQ6D3s>H~*i7tnQj?n1H6LxwpWHs2WB z0gDCPapc-!pa8jI05Fi3QGgMgf0>r%%TMc%T^i#GiG5nmk0$CcY~uVAPPro9>H8e; zPTzJ|K#VOIGc#zfIZ6%pTxS$QZ@F)(sMXg_+?6vSqPNz(cE(rZ&w5+4kJA?aBYk(K@1~BTpkc;9K9^Ox{bi52-I4fqZ&$z}5JNW`|5iY*W zQ)ByPUV>J4A)ijRB4v1``f^EnWa@I|>QRI_?{XELb<|6`Ovr#+g!rM_ zw5Ewv(|oyU8>VYlPLE7SK1C*`{{U2eQ94gA_C!H`@O#Z1`mGT_wAJMufe1-&i z(&n#KMRh06pLD5jjr(gBBKas~ICK)~A6K~ZxJ zL)Lkaiz`AXI$_;hxS=`M9RI=vNyWFlYWDizNxMu*ED}(+{!6FYiyJory5uBt+a*t~ObA{;!ZEwi2r!EzmwLjvC;ee3U@E`gcuX06wb3I^XeS;!tF#%f)U5)5<%{SSV%Mz=UpXSQu;55E{S{gl}ptb1c&1<*e0ZOm2Z*Z3Kw4DfrJBSOUJz-Vt zxjG|j&oxrQ?YTT%FLqAPxCxRxlUL2fxSPcv!2k8UiXlh0Ll_-9^f%d>Dr&;cHgFMrMu#6^T zkZSOaFK7YcJS#Foik@f5$FboC7I07lP*%C#hX3U`me3?m7$Y2+qcAeY^IM5X>_fAE zG!rN^IHeO0iv7zxe58XyH)(V8GmgFi-2zLmxWB*@@DqKNw#1+V85BGoZ8IRkBPtziDNkN9QncuAF4VwXYGoc|<|L4m3H z8iO}2W9-#n8*f6Za<@TtnZh+_biz7XzI$l^YC(9oO>j@8RtK3SHkiAh@J=jb4qhjC z{yOY5ABe}G-vO<gvNmA2SlGKpvYX5(6u}hmlYh88J^&@Ltrs{1Zk0_RtJD>e{f#Fla;Em0FEe2=N% zp>waGqGjyzE>jRXeNSQ}h?${z{#(rau!z;!{V^tdSxG) z5Eq6?SN37%S+q$kFhzO&QhyRB2ZB2Yrb=9};ip&8eE2w*A3=}$!6$h;!z9@to~$oG?4Z$>bFH{$q`*JwCy)Wqt5%=loKbXP ztp-O$pb*!ucy3JArIJP?pcRshI|lt zP~<~AM7!TF^{ zaus%sfN=ZYIDDQS^Ly9d>7GlTnSfm+Ofh0@}jhn-jBJ)k2Yen z3Cc7LG{c1P@pafutzU~{*SJ)9pGsK8nl`B*$#&=8X{iS*1@H0F!hmJUfovA0!MTuz zFHCK*xx=59)8=yVfiQ0b=_DA(=3S(9Rlp^M2GYZ{&I29fZ7?X5>Lag~pT|l}B-*6~ zNztCa41f8ZSbsw59cn0Fg*DhF1!>ssQh{v^t;b;z$u)tOg9Q^`B#9J+rdO!-AulAK z-G}Y&5c!PLD^<|3-rJIcUIA6cjys?tLGRt*ej7)Q)BIUZ#)V`qxhVrz$DM+VcvrAv zKkAv*3Zw(w{o`?Mgj`disc0|J^!L2&g$uQsjv&L=o7^{o)iC-J8&_zVuznjc3^!p$ zu22d0wsU#lc<&x6-D9GfcB6a_Kr7aFc&!N@I-ijTGVMndU}3xIG5RiyW?(zyGfbeu zpL0!$u$DFvHG^qFrAf>8$Q4bNQpMUb&{_y;$>`tsC~Aoq7!bXmFW}FoSAa1>a}wfuLV__tlX zp!DlZ=1opMf@J4Ml{;F9lBd4t*u9xW*hiNCm8D&$(UXf0HEM zj?h1nS?v4IpSYxTfDofz2~U! zqK`_NyAXt76*Gjmjn0p0y#Tc7K=w)Qg4TT}Jlr>_X`OWgtg1Gwo6#ADMCeR%E2bCY zmHvT$?WA+1D@lYtR~o!QA~AeVJWbl_T;nDlw_SE7xF-1K^TSUdYX5R|WKdNjB3(!~ zKLtlc`3(>tiheCfMD-d~U5AdVc|>-AxzC(fHlF5pV0hBJksBEAfk;s(i)=K$hi`3Hm%@4&8AVqye^UF6IM4{JiA9lE#kola}rI*u!hd6^? zK^Nv~Bf2{x69@{BlJCFgAx@d;>=+cL!K zUEZXG)1T??2OL9LK%{7nA%`EH=C~eP@aZ&Cl*u%sm^(8VI`1CunXqP2M!x^#gCeU+ z1dC`Gjj|dFNFP8!@r;?%J_G})&!7(hUG2zziPj9e2>7U!9s*%b5s?V+V=PF>Hl5hH z!uj6zeE&5kLeS9zZH@fOd7?DTtp6V@ism)m4+Vq^aJ^AgK|8#ORR`-dPa z>=bQ??gGy~C?3H2jLr*PkZzkcO~SQBqgAJHar)3{!fVHf9_1W!1*m=t=7WSucYYJI zfCqGRoca1rhwddBxG}`L+kT?K9mnG42eFXt-E<#b9!0(A$k8i6q764;&3litcO>cXiwsMWGet5#3%e5@DfM)GuAd^-KBQ4F8hP#98%Rtauv6 zVz6?551IwC2qmQeY+6Nh@1z%*An`fU5j?(Csm^{;tdGgrov%Jg$A1V-w3>kN z@zh5k<}`R=%;A3xL_2a1*2(P^gqq$U6B#E z30a9uTz82R*G|Y)aVEsiBx-)s!T&`f4gs1-!|57yiH6g#zgXwr@(14M!c?6L)tGgbcv}Gr>ms=hN*z5d4VD4kl^N=+X$>T zp{J$#?%>QHj?HjF0J3wA-gmjU|7nyU?L-VqU-#lXyy(q|-Efx596C(J{XAabD@<{( z#IEd{4bBq2e>e>XG@$*FN;_ZrhnJNob z6peJ{Is|#0h8z}ZzXRKYVF+AHR6V1HvA9D5l8G5!ae?Q4a9KD!NV;=j@K%230!{m5 z?%w2|g5pOgDs{OEcy=y^J1=MXPq@FYIch>9jbfoW3BxTJ(QG#`#I;j#h)_M2l-ck%ErcLIi1>pk63POih0u5pbMYMmJ! z!)U~H-R+l@Uj}2WehNiI8HJfjWSK&>P zVk!tNKg6qvw&h~ZD&9vF{Y{w@z+Q%qrs;VLa|5GgPOI9=r@ zV;RJ&&m)U96n-F2lQIYfEuV8B%I}@~yc*HZ%R z9ho>kn=ewFM4@1yIEo~TW0Q0J1FGS;%URZ{g$5%eRD$P0#KEUPP$~&Nc>#ECfin^% ziGsfm=0V;OQO%9!0Mn!st%?1S)_CUoH!tSGGii7M!<+ACesO$h505WgqGm#q34H!j zm?Gd?XkGjkoWLMW!#X5hAG*lejHZ@m(sg6Pl>PMSH-2?W*+RqZ(|r^t;zqBMhg$${ z;475B60Iy<=@I$-R=QEZwScNOGwe#$m5aB_{Xy7~ugY!gv^Y;^yxeYhIJ`4EIJzjJc&HLpl@M}7Lw@(nWOmna+q$Iy+QV_FfcX+ z7!?C@C$}Vkp>x*)RX`(kbl?DRjf5c(F?@!eO*)K+Vbb$-pjZM8aW6oD^G@K8un&cK z2>21$2c_h76QRKlGy`LS`+--1%|JVFBM<=oJPF670xtq>z#ia7AZ{{a$-n?02bcf| z*WhZRlCF{a3x4N|b3XUp=Sk~n$-URLUFU()TZu3Sn;6>#vG*#NGPG+&H*)_q>_EI> z_o3{8S-=9I8gK&l_f@ecfcJnTTw~cA7zj)Q3V|(HVY?1y0u(??prQT03vYwo{GPPV z_x?9x@^u*LTAEaB+bt?~qesOy1LeSWAb+ijEr4{!BcUk9zBuOj5SGaO5}Fit*-dGF zBKdDpg!>ZqD{)EIH>Xs;ibX%DSR+8DZ2v9seoGiikHS6LMLxQ6qp)WY=U(>P@-F9L z#A)$8SHc{qQnN%r_WSQLLtT91f7iQX-&2Kh_zHNk^S9x?Gm&sg`)`f^YvHz?i=;1y z?aEE|`~R!i)i)VY2fbqIVPVX3?DrPO_{a_=RX2FZ*K`%BM)6i4-6i2Fv6|U|<$wk70M~ld>%r$`q#@|l{sj;h)H|4_3(ol>*pAJy#No&S3hjGA9w#S-F&XZ3I++|Q4vMbHlbm*DVA~Z^P6>emg{bYNyl+QO|Qo7_$ zZui1e;;+c}xE>mg`(YC3S+>h&G2CRxZcatGHRrMWdTJQ?&HR^|{rQ`p113wjVWNf+M$FPM>l_W+d8LMhfX~NA z!;9yuyFgdrKAoyz`k5MLLjLcXtzld8MLRuzKSRT2<6SQx-%2DnHH>gG@=y)`cI1h$ z5BVfq4UCF;9zIQU`vcN^9N05O!#)B&MjDh>73^ec@!V5^zra2eesze`>CmvT^AHE` zB>Rd&4f`oiw7c;gClPLcf%tqH-_Zx(Md9dMmLMGAg-X=V5~KkHfPtkNb{J+mupjVW zuVJHY8a5o502qLUKs7K8XaLfI4}FLS1b`F3Szzo&4Z9Yw0yf}w;BMfyW(~Usco29T zcn&xN^u85s3Ah-TejDBa+ydMOJOsP~By7>J?!W~=KVUF061W_g1Y8Hq1Re*T0{#Z< z0A2!K1KNPyK=(T}>}{BPffU#eNhX7xo(WnY5m*ka0X6`ef%||DfD=Fv(BGwD7GNOo z55Nx`2UK@!ST~?IkPdtVw?QxoWPcRq-+Xdl$D9zbuP4{$MX|GOx!_cUxC%u8Y3{SOWMGq4kA2aW>j&onFp z7y%Rj3jrH&9sCMENBsenKpn6YxCyugSP$F^YynOK_e051avfdIh1L0Z6IU;=Q(KQ(Nw zWZo^AmS9 zDV~@2*Rst3>8;!f1SLG#59t7}U880DfQ2Pmc2+XUuEd;DExX`aExYa&EgSx-mJJ3r z0VnYM4$L>1j=c@Y=0}oU7pG$v0zG0(awEUo{yMfXO~f%AsuGL2{dA1*pT0WQ3Xp%x zMIy+)7Iwm`eRS+jAT~ZdXQzuuwRG*@RUD;T9P)Thkv8R7hBBPeeinIBK6hoOFqd4e zV~c^yC3B)=lADaBuvgunW4HYZ`qb-~79dl$|5}{i>QCuCj`usHJlx_C^K;T3af?mM zFNMuR+*rR~d$u9nad^itn7g=F98Rw}1k#j+rGpJsURY*j8Ww-2Z-?jy(W813Yne*C4<9Zbw?c7qBmdNp6{& zMcjEO`X-Pn;USoWv@IeYy-UXkuSmERCgFVv281Of;Qf8?h#)!US?QN5`3;fGJ}?IY z{%!c42X##IkZ96#lVtw@=BE$qSmh)57N7{2037_2jtzNK$4X$o;LkcX4dz!cPd%w) zW1ope!&Bn(tCIQFUv=!Br$x64n5~Gj5pLy@e{B5!DbFjA$7#s#uzfnV@SUy^zrSmD zIs7`rU5PM*-`BDJxOe-z$ zM2tS6W8UvjECmxu#D5EUd=+6o2W~s7V|(D2 zfv_(Fqwy_-nQ*@p_phwMdw;~Y$w>2qh5%O~U2=OAX41bR7zRJWQ*a|}J%{|^c_Y#! z{2TAg#q(&yo5A#KH@=O^?9X`DxBmuhL>>x|&pya!Z-7jKS_=2|T0N7oVx6At2YRm8 zvtcktKdNWhz_CB+*%X+iKqb%soP*m#Fk66+0pp+bOaMj$e@TpEhm+#i>TYrDTi{Q| zIJQKHWBr=ru%O*Fo;Z*D`NIE_`>~B(zoXl&qI;HPc9q6ZzCP>6b=}}>;Ybdi@ zDS>4*D1iZvu6&)#Y~eRMSgp<0Kn1(V>f|36c5uiJlv#WdKAAP3L~ZsuOPL+X*IAu4 z6&4hGg{{7#%xSF$7?KGWa}}egR3rRzZ1tA%vPz4?T3aQSEj^Xl7rE-J^-fFw0hPS0 z_=i);<0Gug8>|&hYvoYOBD4s6ja;x|sqw$zK*)yO=5p55TO&@W3=7(gSZi`>Y?iCc zQst_zpf(c;8+Jj2TI*74ZNy7#SHtBH!(-Abx7li~W%cx?2D@$fib%vkD6K&#-5O_2 zS*=*tmO7WiX(_j&`s-bF2O*be(qNA9Go6S;JR=>hx zw>n(4P6ySwtG)sKklC$el~#MCW_Ur_txlJ{9*K!{zy>*OqHT~^9x?vB2{nKUpudS- z5>3KltFqWBPxvkeID z1)``U%F&{lrB<|=^2I13x#*}+>Z}&KtG=FUHQb_O{3}sX=k=_&)nDvzIU20!vC2@( z&^{JPZI0eA_dH$&gKFxjHmT4=(k1pSB7v4Nr$sDE^iZ?|vGL)`LIFE6VttFMS8!Q`YUe?;VKL5t-KNH0d-h(d?^m*ng~a#bKej%p+)=TVNTXvDnZ zhz&SWpLT0QZCQnt(`Ttc(7=<$sNj*2`YM!~(?a!JXRCC9PEa*4G+$>84^U~9YmP{* zNGFC;*T+CjgdHQKz1~_ofz6yz#6JwJ!EULnaZtTiBI`@)ZOb@ejT9?ox~^trnMitS z%f!(|*}!UT)IF*ZTO0<(mX91-X;7)RmQigYpJI^eGU@>mRl;axb#&$7SW)jRTP_X^ z4n-A8G+a^0)P7`Y73++;<0M+)F3~l)N~{i4k`;p_+Blj(xRw>ES}Lu4u%MxXM$7QH zh6-`oZMF1rR|Pf3NPCu>JB?8Yj~Z}LjVRkwq%^>BAu6c2WdKG98%7NbUG^HP6Z&*? zf^c$Fcu~OzI9S*dgoDbHQt2vOROT(2#1;`v;B`YpM~a&jNszM33xZmlMER>~mb)6* zIBJpO>FWj!8#YW)CS`TyHH%y}m%}2}U}iXbd^B8+_OJ{k2690)qj*__K86d}1x8Nf zNRV1xxvf^F%S6(|7h@!G)S%gyQIR2ua8WVo{hWbigRU6FGh0)y$ScNk&W)iY$}t!& zLHnpmI($#=oN90Z6I1UUFadqP@i$UWYAO?7JR-++R*wCCn?!|f( z+r2m}@orL6&zVMN4Y9f9D==PDH<1P|9wO57!rpRYoosQgXaM=HS;=1^J`(*_bX;C% zCYVuk$4woT#g;*&IaB9}>I94@KwT6q z5ECvir55T>QhvFw)FQyQ@^J>lxohXxY)Pr|z)I#ZG8bBgxdc%v8c&E3K*tBkp*9g7 zg_Z4uaxZp1u{5bwQBN)>7BXD1vWtVwxq8OssQZc~_?&XI9?mXE&N6?7=;$mc!O4+= z$y{LtHNc)_`KO_u{17qK+UVas;h*IG4F7HG;zt2I+Wq|3(#4PbRgM3Le~e9Jx3Jfl zR^?Xd)DzV=t6x?Bq#mIu*KE=3)_kk!rOnpP*4Ao$+BR*XZk(=8_keDnPN%<2zeskN+lqWI}Pm(uBtnzD+1i+>y9D z@q@%A#(*)u+lFqJB@GZB7P3tnOgl}7P2ZTD$-9ylb?@I}Wsg-oLOqI8cBS;{>FT+@ z=X*VcUj2H_?&avUw%6Ugp6~Tuufx64&4u{aZr)?QAT_m5X`iuupX+=@W{(1bxXgEkL(b7o?Y{7BmQZg(>zD^HEY&nZ7tebvbAz+?N+D4 zRud*er5Ir2(1{*gKIxm$LqpVRVxx9kxAso_Sho*kYYTKv^M zgMZIO{-WXkpZevm&Xt?|rcI59Z) zW@>C~Ih>d0Y25ejyYIg7#+&c99Hw96wgE#e?2VRfM-PAJY4mLLJo3gjhZ`C7F8(vn zUxP}eMprf%w9r{kn<`FjUx)mlU7FnoReR)V@@|o5d(+hbrg*ornkKGq(qz}RN2aT9 zI_+Sb->e|9)0=$86pY_3@`@fBjq*q&^wX4vvKqT1_ot~f+_DiP3eiX&eimkt;fFZ* z(3CPxnp#e^mo0;n9tKqZBjG)thvLw(SF|5AQM$Y<06*cu$wxkMMEv31r%wCT1JE%5*ZQ{a?J>kUpv^%KTQ(8Qw zaNdl$b2>v8b&JyzYvpppNmJUy8V8q2&=94sK*2e!Q@F!aaq4?cyUbqJ5E^K@XmVM( zqY2_Wo841kt*Om(++cS$)!G(ik8pztb7P+8uCO`W7%)6#c<_|r$%CS+_u#48gQsc_ zo~oOw>V|>5=VauOV zcE8ph)J&n|N4gtq%RE&`Z%QpDTn&@!kdwNyNl!g zi>#eNHEOE9(pDE#Cx{k@)mj;vbxG104TP2ag-l~&I@VLlQXcVId61;oCp%o_8cf8d z*&&m%JFF;!WmbEWs{y=&mL{}XaEO&U2p%e`&*>L&Q@aR}^cX4e6uKrS{)_>3Ygt8g z4O8Q`LnfG*k(pHSEK99oJvG?pr&Y1pYC~gp?7{0EhXnzHj!n{Q)Co8ZbwQk}ah4v+ zq3YACuf&-RXX2#9n3}d}ndG#FpiH~-v=B!Z*VsJ{X(65N@p?8X4rxJFyug68;-E~d z(`X8Hr^NKMXvvW>Fow%Oi&CxEi-L(WdOHNcORfB!>Wk=|J@G!e_G5u2uF(Md0*$$G ztOm-%IEy1!t7fxcU!dvUn5+_5mPW-ec;h*#QG*&^fLm9_;<=YrrRuJOVlKXWwpQC{ zHmKsp#>cVTcmtcO4X#$EMc>ZUXS6&UICGP+{*(<$K3NTD1eS zT9WN0l$Od}IjCwcE#-V(XQ(E}7*w}(YB7zd*EP`JIA>i0k%sf6udAtVa5?pu2*Hrj zCz2O(<|M{hms=}bPODU#Fo@5j1j*E+A%Mtft;=hilz7DwEs1foBup?=)>KuIB_28F za~Uh{`Y|OUiru=X1~hAh5%w^}G$L5|A(nj7Gf_1IOrDlOPBZ~7oUFU732>9F@se3n znJC#7Lr_X(SZ%W{q14FKRa(nki{d%uCvG&9n`xZlw1Mf&D+g;nrQETstYK=cqq?Tb zxz^5&b!DRI#$Za#T7{WxF%N76<)>%IwU5Jc&}Gg)x3ik@}Sol+L5E_I!lWxLNDfMw4mlz4GLb_L|@J^Yb!AS z)8GrV6=e>mp4ywO%0LFyvmWgORy|ErZB=ntn^{y3ZxRy@!qKcpn-GK(mptf}~3Yr(YS}gWZCe2THF=jDt=b{?P zPGWq?DhV`g_OKUPx@1Q|lN<-L4;`pX&jFX>Z`3bEe$ufx4f%uY;+J9Qg#}B{l@#{w zxi8M0IHwQw4h;=W2+a#sg;s=`L)${ng?5KNq2rqH8^kVWv)MxCWb4=;*i)>Pz0Z!Y zvn)x4t(^R~ZBIwj_wRnWde)e;&n7N8c4Nr{M@Hq&IJZn&xZ;Vg7kuD&w^!YJcis1m zZE&US`ghddFX^$&F#phcRrR^tNehY(e_V0AG=9k!pB*W^!m`6(qB(i(#%J4p%o@Lc ze#LVimAg)UHt*Wd-}mo&sAKN@h4&wyee;wb`(^Q;F6s5nCI8sen)K1y6T=^WDs+8gFV)b2_vnxQarDQ7?n`@n`s7JR`ad*& z(`_F(e(dw8`M{p0$M#)#@{sAu3oiN0Jnfmv7dL(T?;c)*3mbOs)h_&q!&n@I5z^xq$A1a&IxU|pOMldA71~p}^BRG|(a*ePW<9qon_dwLxz=$z{=^5p z>kPSGH-9djQ%R<|#Av+X`t1YBp6)D6B9ngREt9H58~v?Y5V1$wo_ciq>^m1fKh<2K zHJXF>_qx@-eP}pD=?f#m_K{^r7pyv6A&-HpJyt!l!U4#&_OLZ5jSiYJCo9M8XpZ(0ix;f;S z9-OvN>1i&RYPbt^cjr^vuO#=>G07|P8WyVLF!38((`9>lbz$FhXZK6!*}Q(zBH2CG zOlzpb2{EBi@2L9whD5RkCCz)bLMtWYbepn&t}g|YbbR0 zJx|plS(LMyF{0 z?04s*(Roe_UVTMc!wxz(Jp4;vSZEO+bUcl8XNi#4vhdPd7eAlJ-Ir{*BeZNL`t`DV z$8LNT3SsNl-zC)__b<(t`gM{qVPk6_a!Yp>h5I!RgFiiZ-P#;%NBn->mKE&T zaOk@28L=VLUMb@Am)!5-_1DVVGCij?7)9DZ58>am<*d4920fY^a7sts(|3lwB#YTO zQ$ZWFQE8Y<@_E0epovs}6)VxN*WDbQ#eP=Ds2ZEm!?_+&1b9!`T?Qpfb51My;h zf4P?}d?}k8pOfj?`n;MCT-&qcfad$=)U#YM|7i_XZ13Xdr^tSy`Czy#(w)Yreyt2= zLjCdQU4>(m?xKC`Rx-`O`9V}Faz)3RCUyDPRt!ov1WWv%krTq4mU zN6DmgXEE>B+ok$bhU?N^N^}F?SYklG?!o)D8T7HsunNayx&9Px<`QOy_j}Eys5_TL&&(x@!()Em;N0>gX-qduG%|Ie=@N7GeLa=$P@lK%l%ddfUnw3R zae4jTr0J17r!^$;KG{vGKXb`7;r?XaIF*kRy*9R9MDfkr^7$Cz0zET3XPMF-+cBHm z(;D;`^XC9Xa=X7V%&-!G&JQm4;V6tk@jr6Dok7@SIu`cCx zc<&#`E#0Z-X$W0>FZt6itzkh_zZP9L-%X}DSWqTDpXcwss;E99hf3o0=i5xr=HLvT z#_(5)C&>O0GugQ`W;}Y1#-o^DTJXAwN+(s+_r$x3^Pjjt=^wT)6M1cVP77Xjd73l^ za{tnz0y51dM2}R`n7<&*%kwbdKaR$*6_)g1V#-n)lS+whP#OumPnx9qyHmjvMdB@S zMC?DenM>5hIMkui$0qTZrl{{#hKRPCH%;e#LUuJjQpo#E__?H3?AMMLhW8B?l$+nJ zva#U9VOp5FP^8U*Oh2WF^^b3#&Bl1W>FXy|n@cJUPx0|+o}+JY1|1g2e`&8QQ1t6J z!)cOdT7xM(*0P(%|7_kNrttH>X6GEmcx^zxzG|Kv%3M-}{xtc#ynH?8N1@R3v(i12 z77q_zHICw?HL!3#=-FH{%aHzLu{e(4IT`iGg6@^%7y11)jqK*&k~w6i$MB!#k~~A` ziK1%^a^3B^eso^L^(qS6Ak|+oufIR>GD&xK&DVxPL++wD^h;|fkLr_VPd@l?@n;TR zTb%AR^pKyG=7pwY1us87S?Oo?Oh+1bO8t7?oY0?(u1@EC2Rz8uGkNN|&zeW(AEjFI;7&Fo(ipYN9LTsMg5wo6z($FY0$u|BF~3W?_9*7S^vv|CIhc`y*TiApQox7zl9|W0{PW>=_%( zhHx|H&w#-Lx^#~UHZSFCM-7r1YiVefq@PuKB!;Hha4NDp(3^NTAlU0pi zBf>ApX4z~co-Sz})i&z&QS4H785_;UupGEueuZtQakZ`9c!{~6eVMt+e${}yQC0Rk z@GG2BP#~F>m}kk|bY8RISATchVKQ}3p0c)ZGX*V-`E6dic{9CJ{za0T#;sT3$KxT7 z+?3+$q~GSv^9mYn*u1u=U>*{ezC$u8P5E_Grc8rtL4m2jWGX1AsN#v?t2W~&hC%Gj zg^(K+C%elg-nV%RN=`IoS2E?S zZrQwL%NFSy5cv1~3jOG%+i*!Bj#^`tXeMORZwx?da}Wh{&=ri-p|MJaZX{V?JeZ>q zR|2%q%W849bOhvhWaO;Xz;`bt$Z9gLdRf zD_oY^YARXjBeR;TPW9bi`Zrs|AB3cC#>9kpL!2IxaxB5` ziuv`9`B`Fqe~kIX1n+CF$i_riZUJ5gpgq9c z09Ml3MBrxNRp2LJ1PY@Zz|kCRH}EZhBMVqIFdL`^d_WtJi1n^*H zW(Tkv_yAaf6@I$$D<5|}ZvZX>&oclG0@GE0zGe8AU30Q$DU=dIa)BuZtB|t4u2h;;L zpaHl6umcXj3Alizz%pPtumV^K+z8wR+zikq2djZbU=45!;08QE6R;Lo2doFYzy`nv zYy_HtTY=kvO~CEI9l&N_3vefJ7jQRl466P;ExNYvEGq0=7nz{7x&lBRbas3Jgy}0ww&zlFK zwehlUluZksmH4&v5s!Y2{4Y$R;Y7=crW0+4vXNS+jnl^)5)--^g(S4@$yx;FndbQ& zfw~+qMT##O{Qxt<{X=!HW(y1z(bq&k}W&v}6e4r300_dpr1;8~x32;5I5GV&K zfhwRHSPal%@AW_fUwu zz<%H$@ILSX@DcC{@DJc~;4ttN@D1=Uzz_TzI0}3V90N`OKL96z(?BN>1kM38kgEZx zRxzkwF;X#00F1zQXmQa$u?8E-pNsiLx>~MDBm#ek1oE$&|w%+lAJI zqWfZ^n9ku=#e3i+(^Wa0a6I|Fh|hnyqH$PqXVNppi%wq*C#NTyvG0-H^X2!*ru4pJ z6J(Xr8r)}=uuCVskG_X~ay}1FZvM~n+fMC%X1wGsr6Z?5V)Aqge6Y8J@8M&#LtRp8 z4sVTTqNXtM&$L@p+^b7-J-!b^RB>ip#hG!PX2$j47@yZ+Q(Xd01+bN#Ka=j;OR8M7RszV#c?lG1><c1$$IP!4?ty?EHW4p0&f4f4R?no_p_e581ruowa7on!4M}oFJuB z2lnDV=P$2kFMSSL9;cv_`ejl)}kmS<|bD9(7V!! z*)yU(Oq)7E9+=(#y-eBT96kw0PMtb^?gj3GPA91bT}SqHw4!xtR%-B_Z2+bPUsx>aG<}alYu1C3 zbLUK(!3tZ2D=b(L*{XsH$uOqZOb8JEF?OU<{`7d;oy zrV1eC#`QpcelXQCm}wbIvU!iH;W?EYTs!t*e8Gja^1SQ z?%mwU-Q1}26!q!zh?sq z-x4CrS}Xf|FhSL6d4>xYy#|ZnSQTvR)3l^oj~Bd2|CHgN|K44m05R1X6{gv`v5i}_ z?9rzW zp3fApkn;TT!3g3Clo*qc@0dihN%+-o%)|9x#*JeRd%kA$3dW7AI*)}N zGiLFy>7q$BcxrTzjT@KFV;vSwo{v5IHf~&6@MtE}9?^^&mk~aqIqcxm8bZUTHH3y= zvByBD7L7goHf~%MZ6x87sZMYu;rUFH*^JY{gBzEXk(Fqil~Mc1qZ3()BNG`J8HZ84 zWO+Q(r5V6S4DLIk?~vic+=#)fHfDR6Nvv`VHm2y3bh$l;4D8({$?}-WEh&PfFgpLp z9W6hk?d1y4>XrJ$zMZIw*g zME2O26FY!#Qi0}{7mR1^kS3HXfVtAK1DR82+maY9m)C9&u5!}`Mm~nW=~})q?O@WZ z3)hX*@W%iNe8XmFqrT6PmrIPNy<$JXM`NKAFB3S7S<{%Da4x~~u!P$Y+ z4CXbjJvbw=fI$+S^BJBP{uN3U+TIPgCDAyV4qrK4jO*1~L?;(cyusk!%8hfaxe(!^ zD9CMa?O_A7Yi4I5AOKl$3EN5NKH$- zRnXYNtrL=yXU#bOphsPFrR2SgD(Rw0l@&PMwX5qI>&oS{*I;;_Id>}iP>dVWb8ufb zZZPN7p1lY4?BACsD9yZ1GuHXCO$%kHrmPgl2dzJB)s#7V0x^%B{Lh=Jwe!BS{4X3n zm{AG2f{EtVmsQkrr8`;s&vYSQlc!A|HrI9M+iaT5MAnh(8Tq)`vnB=u9A^P7eRr%B zpQAP!^7&IZ3DJaEI}(I*=~_Ui2$pxVL(pu0Vh*;b2>uK7$8#aemOhyA`x9_wNDB(O zDOYdo5@csJ|6rR9544~|&1YP271BMa(SJ@A284hod1}vipmU8c8o!N;mcA>C;chj@ zyZEqSecL7YuYIdF@m_-mwx!d}n3kV9arUIt{E3rNC(qAM&7VCf!TD;|jQOl8m{Gv8 zgNbq0u$@Qu5q@Kdtnpsm>>=i814=%Z9Pn$7kHXVSq?Xz8YzMJjN znHZd{C>KN4eof1#$aLa!th&f|djI0=x?I%}T=}>r1zcOZhD~NS6f!Phf`Y&uofGM6 z`l`;$_{2+sSu?mckk>&eo;XWOQuO4X>!}FIXA_SI)roEvZA)(pX3v?*!Znw{TCd>d zA(JmyVJDd?eB(`#PP*xQ)vgKw@?I&EamGhXpE83LJTnS}a*sDo7fQ2=6y{E66~#2x zG|ninuc~$bHB+tz@=Trgf)bSzzG%;LwzWZUv%?KXcSel@7mQkB{wB!6^BIJgA0jjS zH^HT~Ys*Dz>g0mC2`8Y`!qSlUB0QOv zmupyL==$&^EQjy`pi9duH_RTO_mPAT^x@g3cr5E5gpV(S%U<>%kMcwOP%K0)I~AwK zSSsV?v1B~2@HhEgbzJ!n`CD~-5DzRkE#_j$;PEo@v>-f|JUp+QaPpT|m@9oRPeHGU z-@Q(0kT$*oj5Vz8?NAP~$FH6Jzk(_5@F1PIA-@RZ{rta~9>22U>*;@k*!@4s55{+g z^N0^;Dh6j21>D1T4BgWbY>8pHVb*9L zo@XdK`eeVHa3vfS9LZPs&QZ>h+``_EywJ*dBjJiU3f?5_EqGbNWxdO>J>iPpgYQJn zQSl-C(}XMKDESN<9A%&LeOJO2@=`2&FJT;6-@-XcIP$*3?)QXq`v%#WOYWbOS;QDneguD^guU<@Ke)W#o%;Tej0kYd>_gZ+tZP8&MApK(ezn8EF@b5w5aulz^=ZDdMgt(8v zIm$TlR`dOF?3N&Z4_iA4{|KE=21(S>I4r9J${U zu7e-TEU%H_vTA0yyxJMAh@-47-&4SP8Lpy!hD#ok;R=!&uDD@_D{0L4CWJNPJ4f#E z#A(6zmKm<}gbbI{n(x`feJtjfZ{)I8$6O&t35R<;<_b7+N@A{@T>Qumm_&EVH}0`@qHz~slicjKXD%e~J%=OrRrEPZIg(rW&QZ#d^%`=HTuI7iX@AV>KQ!glhVBl!W}IowCs;V9;);3)YF{ccOx#=IE_Vrh8EN0e_f>p<1T2ZW;wO+lO`KBVzeu{T zAbXYg9LYC0-XzXj*x5}U{~`|CFcelxbEO=)HPT!eM{dnDSIkjVizQmMIqDErH|_t? zE}pfHaqP)-m$#m=a|2`EX7FY36~?tKjG1pBdy8@J9mc<{jCb48UE%hFeR7Aht8c&NNNXGwsV`FoYk&#=Qby`n{d4Lg5xQOZBLMF z!;6eo9g@wb%$ZX#yG!fV+-1u|t8-?|IEVcQgC_;8xczR;^PXwU$D2C6^|Wd8&OebS zd)i4g*{S2?HtpJU$e%o6()f-O+qCOAetg?WC*`+0scrs*3GF*{oYbyUr#2lraqIp+ zf4bV6GfCp^rvta0;dN*&T<=$LZ;obu65rKA#lM3ePMgx`B7PnEn%ksaB!0u`OlO9N z`uk5~z7L$gK)z!z6PF>hm4IiQ!tYi`YS8vf?O!}K4;-!mfolYz`RfQSBf!QZ?HzZQQd z!$W`f_hIf%gr9|T(<1zQr62KkGXBnp$PdR~hT%$kN1)GeT*)uN-wWXM$DllU`sFkP zhxseQI74ow+~F@nZKeMM@ONoMe@!3eGQjEYfxV;f_i;E=x&pqP^!Tfc-xz;iipY;4 z{mf)!e#aZmUl6|r&bNcqFuw0p+5?<%Dv*DJzx=d#WqX~Czo#M( z?QQML929t1zRU4%G@QR6eqYLW9N)w8`vE={VaSJJZw5THx27-k8Q~XV?_xOPX<%;& z{O5kob%Se}hT7lReVNk-$Blq*i2phKQS`(77t*+&fb$o~FDE{i5w4c;J+$A~;dGfm{wDq5ZFp$!Z`!Xe zC+eI0O!D(1JnX*@lOJxID&yBCKM8o)el8(Dhr`46bu9kejIA)e_4wNWdDvghK+bJd zrT$3#?F>(`^qvY_|82D29TDDz_#eZ= z`l*G#d*Pw|-uU|qJgm>P_^S=j!t%WY|Ej~o`uTwN$~9OeKNoxJ@g?-<2l`j7i2M%x zs|^qRkK<1xI7tTnf6aK>65h~wqk+uzg*PyMEB;J}A8ULc?eBVc*gwz0zl{<3)A+X& z9=3-&1~T3d_XvysHvWBtJZv8qL zXS^r=-U1K(c?W-&!NdHm!QVUKVSc{E{(W%%0{;f!?_-d#z8}Qjr{Upv*$jVQgNN;F zI{v;L(H};8-j1y>|2N|AhY|g*Dqnb5ehu*VYj{{bkK=DeME~MbXpa&3Tlo7AJoK+Q z{#K#!hW=cIzcnH}9e-=X!}1t{zemBt_|GBVfxqGSHXVPPBCl@c(G-8%NAz#UzkcwV zCZCLdBjLvx&%mE~@Nhhtg+EurvrYar{dogCJRh{epRI8Ig7R;Id@tX_`Wk{ipCAnD zD+_;i!6|}3KSufe01wOWBK-R=JS^XS_;(;8Uq<;c4WQEgH`Lc*@UZ+&$KRR}{wn^| zfny>_uR8uVfQRLIfc`6ALVsH`9{m6h{e2(aETTV`@$^J^=-+(C(+==3{ZFyi1s=Aa z7a32wMdbSiGTy_(^iLx{1K?r)SCF5f5&cZ^Ga|xglAkdV{xRkG3;u@n{|Nr(ArHr= zQ}A~NJRA>C#otRJ^0oMT9h|?Qd~UsaX@9NZp?*L7 zI|&}PzfY-O-Fk=eT>R^UJgon}@qb7}{{Z@D!Nc;LjDO=JeBfa2FW_N)U4(zJEBu{~JWT&?{GAC8<$u%u=EKAKI|qL+jquI* zdu1g4;q+JC%Vb*n_<;U@HS&-z!rztq_@73^d z{5TbVZ-s~YAL8%r5&j(h-UAQ)`5pTY!^8ZH#osmX(4Xf>XahWKPi^t{*@%2$FYYfR z^3r}<__v249cvv4Z@uy9MZ=(FV zM)51zW(m*+#ooA0q=u=}p=g5A8R`KOQ+(mRE25 zIrvF;ak$FLf70Em5&l{xL=V6x&GYlgA#5t z`Z*E#R`gM^Pr~hlz4)7>!V5mUW0buJe;#>Wgm*z+5aCs^ zUl`$&krzey3CN2h{3_%n5&k>pztRZ*lJlRgW&9`I-A8^pg_QC;3V+HX`oE)J9^s!U zKN0=D@QR3hC+P*18R$@6#LrS^FusiRXfpQU_wQ(51Xc1;D$j_14eB#H!ha%vIT5~? z^FdjJw{_!Z=@Fv7R>BmD^P)|d1nd=2?4iSXZhl7580P5mA0g6VEBygcI1Ottqg z`!3y8r#`1dxI@1pqCW=t!2uxQ))GG}BaD!6t&t}qd<^n}P>lVK*yB~NeG={#wVw$8 zf%bAiC`SKB^a~^W7VPCl^y?8nFTxv>*{dV^R}fz>LHsA-UL$@{NU`6S_{$=E1MQnBRm;s6AE66K*;F9890z7$yDUi2MTN8!9>DE$Nj; z_z(1-EfM~K>_z-r4KItxe<6NxM1B{1XGFdoULN5Mi2qH5UxI%nk@zk;zke5byG2=sSrGCQopuY1WyeIWh5aFvB9||M< zI>v{h2!EFGp*X@@4cw_u6jqr5*EsO9@_*)*~tMIoX!qf5BrG^e9+)VthX)oCkc@h5RMEE@X&5iKiHQq<~$6SvWMEH^TTNvS2<8M)ff35L8 z!iVB-NrbP)-_i)bk@n;w^}h*!%OY}Z`C1;~Bk;E(!at>avLf*ZkbW}4pX(j%Pi*x~ z`Z*E#MEaYHhXs~!cd5Te_$JzGGQx8ypX>;~kN5}eF*k|+oD-49v6ma+*U)~-BfL5N zvm(M<&_7+;L4R(h{bWV>9NJGZ!tbX(vLk#o{^mvO^~2wS2tS(kQ5fMDQvO8|{uF4OC;#Kq+-TZ}_&eN)l})8yjqj>U zen%$U{Ayl)XFcA>QpRGxksLx$#Zonk3Usi?U z8q9T%$*YTV!PYz7%eT<}N{1)htCs$i)JMq|Y3@hM{}A~%B;lqSZ(9?8NbhCS|M+P1 z?@t8JDCFOBdih_RaMetHH0c!I$&6j&`S60)>8`E$U)GcQ+r#g6n0##u%8v&Iy^LQ} zo%DL9xIZoZM<~D2OH^)AqE?&#;t(*RLHOSvhY3>U2Brn3hoEy^Ii5CC4Zp42&%`yEfkk9AE zU-?yOZW#HJ{_gJN_o6h{+~Uu{zFU?Syt9(L8RcDmIlo(P<^MYEq44~);QfT;-;s`9 z2#4jpI_46lxnC{4E%1U8mLs4;BW%;o{*5$4zvu3{;{wMK|VLH$sk;EPo zf1WYE- zg93Z*CrB@g@#q?}e-~IXFU37<<#QbIv&W~nn|S~z`%_LN{e>y+ek=bKEu71_ zHpTTfdqe1Nd0%tgZRs6*JO+PGcV`l=_&;H%oc{g2$;az_RVBl*Tq2O;I+Nux+(xsv zGKc#8i8+5J?tUXtB#y{qbUWHuge~hB$kTQ$} ze0ej*6Xaq3r;(oKcHV6A9-J68&y(T}^dIR$e_fdx>=Pt=ztN60zjwH$cLDXGdB1um zAo(`hrRD&K=ZE@?Cz>C;#^n3jQoawS278c5KS4X!T-F~fz3;K7d9H(vPsJb2d2MI> z7}C}JS5D(WdYc;(pZxVTJ`REA%c>e={}bv>b9)yXuicvRV18_C^JgahY3}PkCLhbV zmUQu8K7``;gzJKlVKT7S3w_O(ZECzFTytrg7*C+Dd9}C|=x?IGX^w4kdO`i^%8Th~|LPY=Zc=!ZkPiQ{!)APxHjT zF}{nouQ}voJJ8QTU-QW?Fn{YFOa9iTx{pl$3taQgzcaoQu6gDk8XpAL{BycZV6P_Q zm*%1~Yz4d+x#pzn8G-WiIckw%E7XK|8mge%WGx;j| zkLL28?4eSk}KWKh^W7GfY2)^Jy$prEz8UM77V3p~APkgN{ zV8{;S&yb$h6D&3TTWD`uV-S{47U5bmaIeYdQ65@Hu*P^(jTekBn~k@@AFVG4^^c`o zwASDblYc@+v@Re#AI+jYYJEXif0`?zwFBEt|1$k(*{-W|+K;O~4 z{}=FE{B*7_f;sM{e+1)`=H(MDkk6-oX}*5g|JxEzbN9pXvOD9e=JgLX`!CYoHOIe^ z@eM@O{Qgk>5B_V;|KnDk8}MK271~;Q-Khwzc?kQP-aTs_M0JzvUAxvpaM=;~H-hmx z3m*2jA&qF?pQXC@O#V0NYyClZe^Z2iT8l8v(mx;nwT2-ae-DRiJwwR9A->i&3^RN4 zXqZ}0af0#Z;96%f-1z8I(MLYfc((MBhvj!3<)`%*Pn&#sg8aUg8qCp9eQZu6KX9@U zreL)WW*K_Q@44#OFHy+G zUq@f-W5WJYLb%q*g#C3G?N4iG^v*RXe>H66Ie_>xwL2GyVn*IvL6RlBE zwj}?6gvvO_$se81s&jrT<@!-e+a!OU{*kvd#hqvQYm07iU7k0X{S>aBlTXAd$D^~d zvG;Jy^)r8#bK=RTjmmAEZ#OqWj_tcG{TYmBrF{P{ek#2^@El&qZ!-Ba_?LV%<_4L) znv5r9%Trtr^XFqaei>z6X!_OAE2c2R@%&lFr-J*_E64xN46rM!gx7;r-D=`z^-Qny z=Rf2p=ah7}$)_U zUvt~DcXA(L`X^IwIZtulXXXE4HOlMp6gS!Gs}K5FuXEp>>Ft*ycdJu^{SK9%Nz|{_ zU%qPgbl+XV8c=R=0)Kv`y=o2f8k5hb{cA1rEyg>euXU+gE&m^NB7aN}-)npa?O$t! zC!78N$@eCL`KL<1Cj*bx6hC6}J7`y0XMC^m>Gdc-))yBWuSI!ijqG-_e>`J}*4KvR z`v(=Jb+i*q{t)d^>u%4s@;FBFThjS0U7x?QjuVa)fxW``xn0RW zYl8I*Smo22^49v`a^u@hBLA$-{?hadYhjP|+f-?we<=+|>u$sAyR#VYv_3cV_b^)3BW>w9U&LHs_Hlh*jwH+y&MdXlxjzgqe)b*DbL-wv-|o<~pXh4V~45U#bu zO^iQ{U9AW1ZhR2+p>@JnSbDqY?^-L&BcmYw<=EGH;jn)v7*Dm%xS{!T`^n@dJHs&q z2Kt*RFRg3V_^9$ar2+Y4t#eU^=e=l8TK^o%dGs5seGd5@T(4`rbjW%17_6fnV(sJj z8gTjp%`UKi73HTj)uDc4#!s!a4tZV`$}7U_a=z3$>rlR${A&Gm$S0DX)@+COi=#+S z>#)Q0xU>q^Xovdu_n`bD@zYLl!P;%D;Zgo)VqfdIL;Z^>Kdr%@Yvr{xPWhzpeAN0w z588*;Zr^9+zW}Z^-Qn}+_Ku#vh}7Xw82|i@%qG()$04 zO#UqPwO_zgr=H?=u`X>Wl^CSRk1>%w?p<@E>o*Iol7jTbVW zX&-`6|3&(z_8#Dr7vxuKU$oai=>HwawJ$;V{OWhwul6SBYw1m+KWoo|XN})TeQA$^ zD~(SiJ?&!<>c7~6_$BGCkNNW)`O{tiSDXG;)gL_U-Xie>H#y{cuO6zOyHT#?{f;|U%oBZ19#AhFZHpYLZezXQR9M9^|9<(ku zm2pPxvnA^JuPlE`}cOGJ+i+=$O#Vi%lORVXOUm+E78;9$J9RIN7GJJ9-YX)_L|U~Q}L5^ zz8sle`Fx2Dp@O|B!uJ1d8ur+$qMzBjD4YDEA6{R5gFWqQ@v_PJ1&LrE3oZ!*`==n+ z{uZ}d`uD@N2gZe_e+1>7brEZ*jbBQ8D1+BC{}$ws-wO}+*J+er(foAxoXI~UzV^$g zVtgd!sr@lN!f)m8MXpD+PX@2(0zQ`Zt9>=X=Rft6*qaVFe_zF3DTVuz`O`U*^5-EI zmpDQERSk*Ho+b~Nd@b!v`<%RD{N8FV*y|)Lj~b+_{ZL*r|8A&@e+Ld;uPpC^ek{H6 z`s{DwYfqA{q$~d~p#N#Fl3^DAY_PC#dhiZc^7;6yeN0x__Wqb_%N&BNbY5K1+o@bqu?tU^((Fc2` zaETn)PbXpR_fp5=KTdiD+frN?lP|(v@fPmqjDM7ay#c)MF#cOj4D)dP>8jq|xAZ@K z79x-FRBi$NOD~^)0F?ix)OQ6BtG_e84E=)9ehs4JvuJPS8@Qe}`&Yt~OsHOF{0G{< zHp$nTQt4mKz*Y7-b9T+%Cj2OV&CmIi{B*|4T*_>R$*-V(i}o<*-}rOfziBXOV7xo_ zN-2ZKjPt6?X}4o#L-uyk9&&~F@9-Jn2>+0 z@}RMuYx+as+B;^D*-N8*wMWlG#x-uc?-P~huLQnoAD>1hudnm%D~ZbXpG05#30-6I zIn=fG`Z>pV(_He;em`rBzeL$;@1KybpnS9^&`IXsNX|#v7wAsY=Tsl;8x-2xMEz+W zqa2eD!XNEvbiDDYN$Q93`Ap-@)xYWQAs^lmd-&Vd(mS5^q`ij@7(W{Sv=7l3;}bO= zvlr2oX7AP>_{$ze>ep%yXV%8wcN6Y68*knqKiV^Crpa&UOhgutk1~08xc0T_ZT5bk zzO>g(E8~r6Z+f{Kw$G-}!uMjq8VseE(UbDN^k93|S}g4uR?X6TJqd3fcdwbfpEy5g z|B$f1YVKU&)$C1T`h7FWZ_{|NufFW-!B^ffardjmpIwXm?uZ3zBqgsy`_xAFqfOpa z&kqv_%<_*a8A(Ld0SyXPpcEDnMK`Mwr3A8ZyI*KeK7Cy&<~uT6Q4gZuK1yI*LZz2UyR z<8EyZ?G0nMn*PkASWig%I>q=2=w1gOXgrQTBhaVY2I*^U@B?s)B;X4uuacqR`pCGO zPI;6&YF`Dws>X7b!My~Rj z4KKMm=DslA@o>hM!kDW^n~?nRn)o_6Q8``@=6t0+^G2Hf9oWxf3_I2M*Oa~X-&sL= ziob~Z(0)7N`Fgo{Rr-&~=fJfWPk8>B0M`PEu_ph6@+-NL_bb-F|EA!zN6?SPuQ}NT zdkB4H=?@VnpWj;iZsNSZYGd+y8k62{yzemiY2+`Dmo&EfBdjJpM(csJ^^q$~49EdCm`$8?^n82_GzQ212LePZ^G*Yz;vx5xM&L`Lhzcy`8`+=!_$^IzpYmdmQjbBXpYp=+a#w)0A?IT8$ z4)m`&8h?&u&8g-0i`LkCkmrqNzZ&Dc_K;My%KqX^{DX(*`>o9!`A-XelSA?g)qXa{ zD&Mca#K2v?Hda}GduXrO)Y;`$AAi(_)7kGd`)T;1y(h_Lklwwdr@bk!HC_|0Jt_-~ z|4w~rkIEg!f22R^X1R~q*KbQ{a35sywa1_jr`Q7fHZ7C)zq@4hkwSYZrcAe(zu!`pIhUqZo-e!BC;id!%KT*}DNh>1 zVbb=@|{Y%ueg}& zdDH)e^mAwfss@c$OBfG}mc}aIUtU4EmPL3^%B%dEgYx^aTO8q!Q9cEy1;zq<8MN&J z4oJY4Q(k%X(jB*SLHWN`4;h~%2m4&Qzqqz7O{O~@F$eP3=nu(;>A`R9sJ?FLNqaw) z=YQynKi>d-_z2^z>5qBU<8FkNKU3LUVZAh0)9lqnURpEmR-1g6`Wt1$Fdq1Ke2#ND zNzQ4e--EjBgblhW@~Z9_cEnW}{&R_E9Eyk0aq7>KN>~Ev}l-`}<+8IBt z3I26W3Dy)#{|M44JD>LuRDk%Sod5DpP6>X$M|?p;((2AUNsIrz+Bc2ka@v&SIuFPP znmPW&-FN6`ZHrYte|=63g%86B@@j59`EmEqe#nF3cc8r#H9GkGqJZ}6n7{csAUThM zTwWpNYvpkT?YUxT!f^`~$lo}O`n@yZt~dX*mbvsY=Cc}~LV9_*33rpl|C{!e+v(u- z))OkfZxWU7n}4DrvOC8r?;nq5JWie)cOO~%olN^EXdSmTfq00#ph?{Q$Lw!Z`yLh# z_F$6#Ih1!1{f#LZfxmsI|Kvrf?o8vETwjz-iC2y%_hT<-RNOT)do_>8zZM6_|66GY z#plFbs>%0flOB^(``P)MNAba)c3D<_H-g%8E^g^*Exz`lyVA;U0$lsk-D>*B6R!Q~ z7FzwBPq;QzV#o^oKM8-d2i+X}RQ@_QpnbC+-HX@}XR2zjPhA2(#jl5JuR6^E7k{cF z`F}GW{N9szL37e$pSm9`{f9yAU-yQk*Yzmk*GvnpXQlt%ap>1htGvIszB_XExNBhg zztEnvAKq-UcMbKXeex*gApPnmQhwO`-1v>OW9^}LgT-$H*Is&bsX+gA+D9R6{yX&5 z|GH7m+8gjfi@%5bXwSg2jjv}s**w^IV!ow64}D!+<(qtYL(2b>gIs$HXy3()O#T4n=>_1I?S$~;Q7kw5GgwJm_Fi>f4M!i>% z|4&d~+N1Fc>;Fu3bh+Kr+;x`T8KkFu8c#L6Onf_EFy1U!+w& zpW)G*D`*&Zf0@72deZ(^CEUgMCwtd4#NLC6%J=iP(C|vQp2@TNew+F&X_p@Cks$ru z)T{eEt@3?YE82Uq*TMUlx!BFEo$d~^@#-bYb0~SFSp?;=n|77O7_->?X-xmTnznRx zAg}7Gp6(;WpRDG)5@<6Jn!gK_dtCwe}n#?{Q>3J+w*TJ?}{g4mG7HZ zliwl+Q7*9pd$n32Kb-lxW)G4hJiLmtG> z@FQM+h&(;orRIkocMxAAV&2;Y0j=>=1vi zQ~R`!^#5Ue2|wb?4zXWCdk8<0PdFsK_4L>9Bl$PgL+0~Wi}5l1NdCkj{+-kNFP^`WdNeST-E@*}>Vei(kl7adX_6^C#=o5{eY?oVr` zFm6+S+Zhu=-so_~1IC2e$ZMsfxWSZX0oO8mUMjuw@FU)@amXkS_*wWGe#Ecp z88RHfP?-+lLx|qWEQTS0arK-E1`W`?XP9jY8 z-IMxw3{DjWygBVZi;KT3^kwga2BbfXDST#cI`xys*gM_I=P$~;n3H+T_@@oY-$0(} zng1VjCE_6eo2at)68)`sxc|*;@w%L^i-%Iirhg>;TYJ#_X6b1!q(Xe=7Af#&$6?6n zL$_FY{6<-kh2VUn{AE&K`Y25Nye8N`hjWs}=hDGdP$qi+sr08DOWJo)zvzoU!SzMi zod@~VlxG%s;t@z7AA>*1=6+8g>EFTkqGnw3S^R4FuQ6?o@o!15gmdN<#t(qmw4p!D z-aFJ)lKvOAr+;Ygd5su{P5*lA7m%5i#xG~QE1_|{LpxCVn=-JsnEaT0EVc`8V~W1< zbB^YVebgV`ONNYm!J9Y!H(%S}-~2f85`LuLHyJV?f2``)K9aYlY>O#BvJm+92K_($ zNPa8j8GgjelOgl=PHg&bzMA$DexzUH5PxE{*MeRym~W)==s{WQVOKFAe$*lPo1IJf z-Qk~iOFl{E3qRTP&rb5iK1#3EA?bBI#NOYu&F~}r-`a=F=jS^WgncBxAv#{eyB%Wx zgdU-`k6+Gs5q=bZ2IEuda=)LT{I7E~?JdIl(f%qT{7B{ZcE)RrNdFSzXGi2Q+Dk5S z4P%o3%K4#e*+E{V3;L8#82?rj3nKE1M^n}jzCM-oBk485KNm@_A?YO}=?%l*yokKD z+HXXD6aIvsEWT`%qxKQMg7m|W_=EKK0w#B{k8)n->i$i9KkYAX0eje@ zD}HHb{Gsz|UX^%q2<3U5f8QWJj(dTMc`?`6;;)7$FYwQ2C9hB4Exj=2#~1i;+G`GD z1Vch#PkS$x5ns(x`nTmE=i&M@X74A$%U-kb4*6g7m$Hv3f0K7pdS9}~tNFL6Htk}k zbH|(fw)*(@jo(8=_TM4@g)jK=UA#B#F>ed6^i2OZrJv>Je@cEI{#HDpGPuZi;>>sE4{fa$-P2L@Ub3R~?aFZVkFQvYJHT(VXw}`>| z<4{id4akS^jyq`28x+x(D0So*c@jI{CHu zmopw_W1Lq+zJ92$BW?<Hm2VK8x`<2aa2T{pXINJQzdBcEH;rFF3s%%U z@{Cl*7X}wzIRyMR`j0!;@8K%@uc4p)CtG$|{G*lL-}qGC$8dGC;vqiEa^4<6G%Uc z_H?uH)6h>&V$XMr|6l|9KaG(p4f3;;_~r12jn9z&PmG7Azl;18{Slm!0{v>r|10ca zZ}J<^FWSeRffoO%hQxn|^&TegOD(^(&dy(hX=C_25 zUrT$)rvArU{I@!jzfJ!7Rrx=LiYiLR9910He}?v7O8cjo1pFAvKl@1DznQ&ewExnY z2kWDp_FK&P>jKlyf|reA4{hU%X|JwM%WlpyGM1txZ0S`px;w?-4Bj-@(zMZ~gms@gHcIg&(4C@h=C9KXR^x@z$!Ja+b7O zd%KYOD|wIk117&0EPJ2pGvjAqFZT!P!_wbDeHMJr`P=x=o}~AkT@RA}y7uV5%J^yV z>z#xm{Vi$wg_NH=EEcR6mB0Pfp5cF){vPs^_oAQAAoUn$qOCO?MwN&4Re~XW(%hHRtq0hIP z+CJhd50QV78cMyreYB_WBmKtRLgwW+X8)W2bcnxeX>Z|2@fT2j;YYkmtB`qnpV3~z zkK`>6@vlXTQ0n!+JEZ*E98!KC9aInMqr)Nkn#&S?l-{?8q}S;XdtZdgp!9z}#NHzc zw2!_%a9qf|es=QTe9x(%Wy? zmT^@2Qw%QyGZ~kc3P*B(V)&_$_j@Vyb73{1-tU2mzgwKK;V24Aye*jdIrABWjN7RU z)C%uscpj+yeh$iit$&WQdB{m%W&@t5i6dWN;Vo(ZnGJc~WH{6?-*CR+wT5>YK4Pf% zYf67n9gofGVy_kRIY5PLyvb}Ga|49g+!qMjupX0fK=M*Blb3v3gzflYC1HE!TQg2d z9;d$vtI_V`J())-BtQ9FFe?0B+NV(a^azJ1JvJpz;!lFoFW@{WzQwRT$|1kvSyIy#h+_6LISGDs7%~IPvFz@^?&MIOR38KXUf5*##;*ZGaE&4T>)`JZ2zz z__+{N__L?L2eE&T@RT%HXOIs+`&1u3QAqeYQ2G-F`|v43!u5Vc@#_fT!-smk>7dH7 z&~TlF>-Sa^{yr#s`NKT+8Se24Q1T7N7oOq67me`Pdn9ts@8gBsmn;KiXZa{N<@bW& zE>PjUMq7NtPG@?(TpDi#xvO8Oq{W@ zP`qlwjT#T{$9ybe_k#FD=Uz2lE`C1e1>-d)pvU{dr@&0w+)LuvyO=nc7cg%g z6n|ZuI`~j{Iq&m@*Yn(gYjwpR4l2LxxfT~Lp6u~QP~+kHb3Csz)nn~*JvIa56BDiz zn8`(FZ}C$SZk+J6ggal@7`x|zyeB_h$ouhS!afQ24w%XH(nZrj<{dl)D!keZ&z})q zn&#dVE|0lyge!SdTL3;Db4lSw?k|Nev#*%&wV0bDd_Crhgm1*$qrx{CcZ9dc+%DlA zF&_MacgEb&!nS^) z*H(z%{e-Jx?o8oBF*jZKFzefekHp+7FhgrL zxHje*3fJ*mMEE4nSA^@iZxBAk{!GFRF;^(Wk57b8$K1EVXJYPm;j=N9J_me`@j>`J z>m-CPFh5CH8go5_FY>%c_)^S`5pH7spKx=`%@@8Bb5{yqhl>e<%%@7 z4^+GAGuPuY^N=@-xjOSf`fE#2=c!A?--@}Lgm1^(eL@~SJRvNj-ay&eOWTeQOt=*n zdOYnSn#N3*PI1jz5vWTJk8w=#!pYU2aP`=en!H* zZ~SA!pAG*uOuy8}?*b~lI{)!_H>mPoWw_dKo#Fe2%?e3}ark;L^TsrHi*Rw8D;D0G z=5D+Uye-YG6=H9*a4XLtgxgsEBK$BG+~{R~#Qgz%Jo97LbqhbCe+WP2d@TGd=JJK* zJjW7#PWu*akGW#udoj08_&)tbxP#|o!ksZ!A^afb{t@EGQCE0uA}pkS7y5j+ztZD8 zP~&Q?t35vw46b*K?*rA}TU-NDUsbO~-ih~HpvrOGbsq0vtP)=ds(x4BfFAX|0aQJH zWqAJ0UT+>Ky~}R#dbfho+hSOMG2!^tP)I%ofU-XrRJ;!qj{ToN#cQ#|%iDpHkG##x z$AgkD1{Hs=g~yiq@J^t@yMc;V0jiz-VR-m5&yO{1YdZkF-O#3!-d-S`vY$ECTg#y=N7mh02oy}g=XJjr#a z@t)%B&pE;PO!20)SL64HPfoa(jDIZN0DE_Mdq;!1p6O-$Eb(?+KNx>kocw+XX10jA zT6g+*O+nRHdr;Rm{e+isJ`pbE`X5xhiwv&^GkGqy22?pdrEtoBxABwi^5NGR=G={b z6Rwwqjhs7Xg-@@A;i6*C&%FmbwAZfpdaN+4w-WgYtZM-!pZ2iVKVX>ti03(m^B+Tx z>)W2I3FqO`%E!I@Yr_F0o@YMc?e$vcF}~j8HK594>C+z1+~~tUH@xXN&-WNMe!=Ir z$S}3k^TWZQKN_F@q7R<~%KkdzjW+r4e8a{sdtUn$)8FE8&1)W?1vRekGXBNuKKvU{ z=~aKj^CLm&)qd0S_HP-!>v8lp>X++}#h~hO=6jxR2E}*1@3HYtkHbIkxcEbl>pt?h z>tm0#KlRwY-0(|}@!cL{UsGj@tqnLk7tld{~R#>0pqsu`*?6DKemICKUmA_S3TT^w+9uTU)y7C?xDrCsk^W? z82>KK9Va}Fb^aE%dJBzzBYtz5Yj?Dl_X9P~4+Dd7+`@++ z2mx6k(uo6`GYvN0|zG&e25>WkVear>t6>V)YVv=uko1NbPBfeis(dasewpEY3g^1!5#wW<`}p~W7Z_e;c!S|x zhN}$U5;o-7tKrXv30_Ppyq@6+hCK`i8;%j;_jtoahPN0#Y*=DgYWSJqSBAeBrf_bO zy`u~#7|t`i)$n1%_YA)=jB##K{38udH0)zI#&C(@U557?K4Q4R@M}=@sf{u8e5#$0 zdhZFUU614(BYE4_)W<0H!^!sbb(^qL!o6vH>q%bk8!&z#&DHJbc?&R;b6p!S-agF@ z6z3c?RGjh*oxoO< zix9nrLiAdKnVd7*i=&qhDnB#DTXUTx?8vxf;akPow|Bqsx}Cj04M6!b8&v$o7QVv5 zH(U5NaoY1PvW-@5*E5~Dto`mNl++ZQ+{o6pv zw;CSV%kxQw4;a?(O*-_uUWT>%c)g!Mwfp}HJ2G#vFLsaSKA|7T^~aBfo%?(KxMBVP zAOB~=#6aSA;5ti4o#%t{Yb~gLyH$w2e~kAz#mjF16~5be#vrfX4-CrH@Mndi7a#1y zvxa!Riw%DUrT^<`9yjKCd|;@@e+&nou6)Ma3L$m6A5^?%!?0JE>p)QaJaNilrST8N z*?&1@xR=)lGeYc&hp!Tl|$@L{vz>G&^X6O&~^{Hr#HbiQFc0Hrq@RQ$c5 z{HZ$E$7>-Zz3V{fKLtwv6$}4CI6mQO%mde?x%xu%TNv*lL_XBQ^DKOUko*@5d49H0 z*qm~l@9lR0CC@dyR2XMp1jDa{#7n&Zq@T41h$Q2Adjp38h;;ZWzA6oR#Q4kcu~ z?PXkdB$a)cN0>NONI28=Rmc~WtV&V_gz6a<-Br{ zx3>n2rzG67U}k6DrwF^m+%_S8eIUfI&xGIe9_=b0F9}NCREYcp;bAe?{%SAJ0VVGz zM1HEU4&%I#@;_JjgL4awUn}GuW(%l%zAc{M`46ak?iJD>54#2=e{(?PYYiy<=fTXg zoZBqK{yq!;NBnH=VXpPz?Lq11h|51A{>>F~@3bA1-CZW%Yw`*q_fjd>f!s@FfNC$z z#JQ*HFWk?X9#Hm|fGXElh4|a@dT%!mlzbYf^k)f4{{kWRWa~^`D*j)dzk~5N(p;H1 z`T9Vda?nJ?Ozzdjf%12TIQHfWxo2Ad#^2|;gOGOcqr!>*n>g{0yAh=SGzS&lMx5|r z7Jin6PqOf|dvF z>@OBiiMiW_*uT%hw_5lI;<7K!z3nMCn|&}dmGwoS`te-xc+71#`RC&F%O54Dy~b{V zr{NE%`Z-^m_IxoY`3>UfG54d%XWa^?{w@YpZ`(n&lYbOWJ2-PO;cON(6BI87C4W?$ zcx!~TqYc6go|l^ZFO#P%@$w8|Ci8wk#UBl(EX1ziy@oG?viF|hSBAeBrrqY{M;JCS zY-c!FScUyaL6z4y@v6)hGrm*2TFiZJe6Kk9s1TCwufpmvm$4M2eO3>U_YcOK3$u8> zEF@m9fb%?6Sd-_;U{F3LUt{ue3;)i-_gQ%3WnTX(P}hwmp#0b*d@I%cq;UH2DR;mb zzn>Cr=R6@K{k=l;v+ne~ju76$c((DEg_O(Npvq;3IOS4qe2+NxeiRbF#$6!oYK(9f z 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 z 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 diff --git a/libs/LuaJIT/android/x86_64/jit/bc.lua b/libs/LuaJIT/android/x86_64/jit/bc.lua new file mode 100644 index 00000000..e58a3fef --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/bc.lua @@ -0,0 +1,190 @@ +---------------------------------------------------------------------------- +-- LuaJIT bytecode listing module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module lists the bytecode of a Lua function. If it's loaded by -jbc +-- it hooks into the parser and lists all functions of a chunk as they +-- are parsed. +-- +-- Example usage: +-- +-- luajit -jbc -e 'local x=0; for i=1,1e6 do x=x+i end; print(x)' +-- luajit -jbc=- foo.lua +-- luajit -jbc=foo.list foo.lua +-- +-- Default output is to stderr. To redirect the output to a file, pass a +-- filename as an argument (use '-' for stdout) or set the environment +-- variable LUAJIT_LISTFILE. The file is overwritten every time the module +-- is started. +-- +-- This module can also be used programmatically: +-- +-- local bc = require("jit.bc") +-- +-- local function foo() print("hello") end +-- +-- bc.dump(foo) --> -- BYTECODE -- [...] +-- print(bc.line(foo, 2)) --> 0002 KSTR 1 1 ; "hello" +-- +-- local out = { +-- -- Do something with each line: +-- write = function(t, ...) io.write(...) end, +-- close = function(t) end, +-- flush = function(t) end, +-- } +-- bc.dump(foo, out) +-- +------------------------------------------------------------------------------ + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local jutil = require("jit.util") +local vmdef = require("jit.vmdef") +local bit = require("bit") +local sub, gsub, format = string.sub, string.gsub, string.format +local byte, band, shr = string.byte, bit.band, bit.rshift +local funcinfo, funcbc, funck = jutil.funcinfo, jutil.funcbc, jutil.funck +local funcuvname = jutil.funcuvname +local bcnames = vmdef.bcnames +local stdout, stderr = io.stdout, io.stderr + +------------------------------------------------------------------------------ + +local function ctlsub(c) + if c == "\n" then return "\\n" + elseif c == "\r" then return "\\r" + elseif c == "\t" then return "\\t" + else return format("\\%03d", byte(c)) + end +end + +-- Return one bytecode line. +local function bcline(func, pc, prefix) + local ins, m = funcbc(func, pc) + if not ins then return end + local ma, mb, mc = band(m, 7), band(m, 15*8), band(m, 15*128) + local a = band(shr(ins, 8), 0xff) + local oidx = 6*band(ins, 0xff) + local op = sub(bcnames, oidx+1, oidx+6) + local s = format("%04d %s %-6s %3s ", + pc, prefix or " ", op, ma == 0 and "" or a) + local d = shr(ins, 16) + if mc == 13*128 then -- BCMjump + return format("%s=> %04d\n", s, pc+d-0x7fff) + end + if mb ~= 0 then + d = band(d, 0xff) + elseif mc == 0 then + return s.."\n" + end + local kc + if mc == 10*128 then -- BCMstr + kc = funck(func, -d-1) + kc = format(#kc > 40 and '"%.40s"~' or '"%s"', gsub(kc, "%c", ctlsub)) + elseif mc == 9*128 then -- BCMnum + kc = funck(func, d) + if op == "TSETM " then kc = kc - 2^52 end + elseif mc == 12*128 then -- BCMfunc + local fi = funcinfo(funck(func, -d-1)) + if fi.ffid then + kc = vmdef.ffnames[fi.ffid] + else + kc = fi.loc + end + elseif mc == 5*128 then -- BCMuv + kc = funcuvname(func, d) + end + if ma == 5 then -- BCMuv + local ka = funcuvname(func, a) + if kc then kc = ka.." ; "..kc else kc = ka end + end + if mb ~= 0 then + local b = shr(ins, 24) + if kc then return format("%s%3d %3d ; %s\n", s, b, d, kc) end + return format("%s%3d %3d\n", s, b, d) + end + if kc then return format("%s%3d ; %s\n", s, d, kc) end + if mc == 7*128 and d > 32767 then d = d - 65536 end -- BCMlits + return format("%s%3d\n", s, d) +end + +-- Collect branch targets of a function. +local function bctargets(func) + local target = {} + for pc=1,1000000000 do + local ins, m = funcbc(func, pc) + if not ins then break end + if band(m, 15*128) == 13*128 then target[pc+shr(ins, 16)-0x7fff] = true end + end + return target +end + +-- Dump bytecode instructions of a function. +local function bcdump(func, out, all) + if not out then out = stdout end + local fi = funcinfo(func) + if all and fi.children then + for n=-1,-1000000000,-1 do + local k = funck(func, n) + if not k then break end + if type(k) == "proto" then bcdump(k, out, true) end + end + end + out:write(format("-- BYTECODE -- %s-%d\n", fi.loc, fi.lastlinedefined)) + local target = bctargets(func) + for pc=1,1000000000 do + local s = bcline(func, pc, target[pc] and "=>") + if not s then break end + out:write(s) + end + out:write("\n") + out:flush() +end + +------------------------------------------------------------------------------ + +-- Active flag and output file handle. +local active, out + +-- List handler. +local function h_list(func) + return bcdump(func, out) +end + +-- Detach list handler. +local function bclistoff() + if active then + active = false + jit.attach(h_list) + if out and out ~= stdout and out ~= stderr then out:close() end + out = nil + end +end + +-- Open the output file and attach list handler. +local function bcliston(outfile) + if active then bclistoff() end + if not outfile then outfile = os.getenv("LUAJIT_LISTFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stderr + end + jit.attach(h_list, "bc") + active = true +end + +-- Public module functions. +return { + line = bcline, + dump = bcdump, + targets = bctargets, + on = bcliston, + off = bclistoff, + start = bcliston -- For -j command line option. +} + diff --git a/libs/LuaJIT/android/x86_64/jit/bcsave.lua b/libs/LuaJIT/android/x86_64/jit/bcsave.lua new file mode 100644 index 00000000..bc959327 --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/bcsave.lua @@ -0,0 +1,678 @@ +---------------------------------------------------------------------------- +-- LuaJIT module to save/list bytecode. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module saves or lists the bytecode for an input file. +-- It's run by the -b command line option. +-- +------------------------------------------------------------------------------ + +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local bit = require("bit") + +-- Symbol name prefix for LuaJIT bytecode. +local LJBC_PREFIX = "luaJIT_BC_" + +local type, assert = type, assert +local format = string.format +local tremove, tconcat = table.remove, table.concat + +------------------------------------------------------------------------------ + +local function usage() + io.stderr:write[[ +Save LuaJIT bytecode: luajit -b[options] input output + -l Only list bytecode. + -s Strip debug info (default). + -g Keep debug info. + -n name Set module name (default: auto-detect from input name). + -t type Set output file type (default: auto-detect from output name). + -a arch Override architecture for object files (default: native). + -o os Override OS for object files (default: native). + -e chunk Use chunk string as input. + -- Stop handling options. + - Use stdin as input and/or stdout as output. + +File types: c h obj o raw (default) +]] + os.exit(1) +end + +local function check(ok, ...) + if ok then return ok, ... end + io.stderr:write("luajit: ", ...) + io.stderr:write("\n") + os.exit(1) +end + +local function readfile(input) + if type(input) == "function" then return input end + if input == "-" then input = nil end + return check(loadfile(input)) +end + +local function savefile(name, mode) + if name == "-" then return io.stdout end + return check(io.open(name, mode)) +end + +local function set_stdout_binary(ffi) + ffi.cdef[[int _setmode(int fd, int mode);]] + ffi.C._setmode(1, 0x8000) +end + +------------------------------------------------------------------------------ + +local map_type = { + raw = "raw", c = "c", h = "h", o = "obj", obj = "obj", +} + +local map_arch = { + x86 = { e = "le", b = 32, m = 3, p = 0x14c, }, + x64 = { e = "le", b = 64, m = 62, p = 0x8664, }, + arm = { e = "le", b = 32, m = 40, p = 0x1c0, }, + arm64 = { e = "le", b = 64, m = 183, p = 0xaa64, }, + arm64be = { e = "be", b = 64, m = 183, }, + ppc = { e = "be", b = 32, m = 20, }, + mips = { e = "be", b = 32, m = 8, f = 0x50001006, }, + mipsel = { e = "le", b = 32, m = 8, f = 0x50001006, }, + mips64 = { e = "be", b = 64, m = 8, f = 0x80000007, }, + mips64el = { e = "le", b = 64, m = 8, f = 0x80000007, }, + mips64r6 = { e = "be", b = 64, m = 8, f = 0xa0000407, }, + mips64r6el = { e = "le", b = 64, m = 8, f = 0xa0000407, }, +} + +local map_os = { + linux = true, windows = true, osx = true, freebsd = true, netbsd = true, + openbsd = true, dragonfly = true, solaris = true, +} + +local function checkarg(str, map, err) + str = str:lower() + local s = check(map[str], "unknown ", err) + return type(s) == "string" and s or str +end + +local function detecttype(str) + local ext = str:lower():match("%.(%a+)$") + return map_type[ext] or "raw" +end + +local function checkmodname(str) + check(str:match("^[%w_.%-]+$"), "bad module name") + return str:gsub("[%.%-]", "_") +end + +local function detectmodname(str) + if type(str) == "string" then + local tail = str:match("[^/\\]+$") + if tail then str = tail end + local head = str:match("^(.*)%.[^.]*$") + if head then str = head end + str = str:match("^[%w_.%-]+") + else + str = nil + end + check(str, "cannot derive module name, use -n name") + return str:gsub("[%.%-]", "_") +end + +------------------------------------------------------------------------------ + +local function bcsave_tail(fp, output, s) + local ok, err = fp:write(s) + if ok and output ~= "-" then ok, err = fp:close() end + check(ok, "cannot write ", output, ": ", err) +end + +local function bcsave_raw(output, s) + if output == "-" and jit.os == "Windows" then + local ok, ffi = pcall(require, "ffi") + check(ok, "FFI library required to write binary file to stdout") + set_stdout_binary(ffi) + end + local fp = savefile(output, "wb") + bcsave_tail(fp, output, s) +end + +local function bcsave_c(ctx, output, s) + local fp = savefile(output, "w") + if ctx.type == "c" then + fp:write(format([[ +#ifdef __cplusplus +extern "C" +#endif +#ifdef _WIN32 +__declspec(dllexport) +#endif +const unsigned char %s%s[] = { +]], LJBC_PREFIX, ctx.modname)) + else + fp:write(format([[ +#define %s%s_SIZE %d +static const unsigned char %s%s[] = { +]], LJBC_PREFIX, ctx.modname, #s, LJBC_PREFIX, ctx.modname)) + end + local t, n, m = {}, 0, 0 + for i=1,#s do + local b = tostring(string.byte(s, i)) + m = m + #b + 1 + if m > 78 then + fp:write(tconcat(t, ",", 1, n), ",\n") + n, m = 0, #b + 1 + end + n = n + 1 + t[n] = b + end + bcsave_tail(fp, output, tconcat(t, ",", 1, n).."\n};\n") +end + +local function bcsave_elfobj(ctx, output, s, ffi) + ffi.cdef[[ +typedef struct { + uint8_t emagic[4], eclass, eendian, eversion, eosabi, eabiversion, epad[7]; + uint16_t type, machine; + uint32_t version; + uint32_t entry, phofs, shofs; + uint32_t flags; + uint16_t ehsize, phentsize, phnum, shentsize, shnum, shstridx; +} ELF32header; +typedef struct { + uint8_t emagic[4], eclass, eendian, eversion, eosabi, eabiversion, epad[7]; + uint16_t type, machine; + uint32_t version; + uint64_t entry, phofs, shofs; + uint32_t flags; + uint16_t ehsize, phentsize, phnum, shentsize, shnum, shstridx; +} ELF64header; +typedef struct { + uint32_t name, type, flags, addr, ofs, size, link, info, align, entsize; +} ELF32sectheader; +typedef struct { + uint32_t name, type; + uint64_t flags, addr, ofs, size; + uint32_t link, info; + uint64_t align, entsize; +} ELF64sectheader; +typedef struct { + uint32_t name, value, size; + uint8_t info, other; + uint16_t sectidx; +} ELF32symbol; +typedef struct { + uint32_t name; + uint8_t info, other; + uint16_t sectidx; + uint64_t value, size; +} ELF64symbol; +typedef struct { + ELF32header hdr; + ELF32sectheader sect[6]; + ELF32symbol sym[2]; + uint8_t space[4096]; +} ELF32obj; +typedef struct { + ELF64header hdr; + ELF64sectheader sect[6]; + ELF64symbol sym[2]; + uint8_t space[4096]; +} ELF64obj; +]] + local symname = LJBC_PREFIX..ctx.modname + local ai = assert(map_arch[ctx.arch]) + local is64, isbe = ai.b == 64, ai.e == "be" + + -- Handle different host/target endianess. + local function f32(x) return x end + local f16, fofs = f32, f32 + if ffi.abi("be") ~= isbe then + f32 = bit.bswap + function f16(x) return bit.rshift(bit.bswap(x), 16) end + if is64 then + local two32 = ffi.cast("int64_t", 2^32) + function fofs(x) return bit.bswap(x)*two32 end + else + fofs = f32 + end + end + + -- Create ELF object and fill in header. + local o = ffi.new(is64 and "ELF64obj" or "ELF32obj") + local hdr = o.hdr + if ctx.os == "bsd" or ctx.os == "other" then -- Determine native hdr.eosabi. + local bf = assert(io.open("/bin/ls", "rb")) + local bs = bf:read(9) + bf:close() + ffi.copy(o, bs, 9) + check(hdr.emagic[0] == 127, "no support for writing native object files") + else + hdr.emagic = "\127ELF" + hdr.eosabi = ({ freebsd=9, netbsd=2, openbsd=12, solaris=6 })[ctx.os] or 0 + end + hdr.eclass = is64 and 2 or 1 + hdr.eendian = isbe and 2 or 1 + hdr.eversion = 1 + hdr.type = f16(1) + hdr.machine = f16(ai.m) + hdr.flags = f32(ai.f or 0) + hdr.version = f32(1) + hdr.shofs = fofs(ffi.offsetof(o, "sect")) + hdr.ehsize = f16(ffi.sizeof(hdr)) + hdr.shentsize = f16(ffi.sizeof(o.sect[0])) + hdr.shnum = f16(6) + hdr.shstridx = f16(2) + + -- Fill in sections and symbols. + local sofs, ofs = ffi.offsetof(o, "space"), 1 + for i,name in ipairs{ + ".symtab", ".shstrtab", ".strtab", ".rodata", ".note.GNU-stack", + } do + local sect = o.sect[i] + sect.align = fofs(1) + sect.name = f32(ofs) + ffi.copy(o.space+ofs, name) + ofs = ofs + #name+1 + end + o.sect[1].type = f32(2) -- .symtab + o.sect[1].link = f32(3) + o.sect[1].info = f32(1) + o.sect[1].align = fofs(8) + o.sect[1].ofs = fofs(ffi.offsetof(o, "sym")) + o.sect[1].entsize = fofs(ffi.sizeof(o.sym[0])) + o.sect[1].size = fofs(ffi.sizeof(o.sym)) + o.sym[1].name = f32(1) + o.sym[1].sectidx = f16(4) + o.sym[1].size = fofs(#s) + o.sym[1].info = 17 + o.sect[2].type = f32(3) -- .shstrtab + o.sect[2].ofs = fofs(sofs) + o.sect[2].size = fofs(ofs) + o.sect[3].type = f32(3) -- .strtab + o.sect[3].ofs = fofs(sofs + ofs) + o.sect[3].size = fofs(#symname+2) + ffi.copy(o.space+ofs+1, symname) + ofs = ofs + #symname + 2 + o.sect[4].type = f32(1) -- .rodata + o.sect[4].flags = fofs(2) + o.sect[4].ofs = fofs(sofs + ofs) + o.sect[4].size = fofs(#s) + o.sect[5].type = f32(1) -- .note.GNU-stack + o.sect[5].ofs = fofs(sofs + ofs + #s) + + -- Write ELF object file. + local fp = savefile(output, "wb") + fp:write(ffi.string(o, ffi.sizeof(o)-4096+ofs)) + bcsave_tail(fp, output, s) +end + +local function bcsave_peobj(ctx, output, s, ffi) + ffi.cdef[[ +typedef struct { + uint16_t arch, nsects; + uint32_t time, symtabofs, nsyms; + uint16_t opthdrsz, flags; +} PEheader; +typedef struct { + char name[8]; + uint32_t vsize, vaddr, size, ofs, relocofs, lineofs; + uint16_t nreloc, nline; + uint32_t flags; +} PEsection; +typedef struct __attribute((packed)) { + union { + char name[8]; + uint32_t nameref[2]; + }; + uint32_t value; + int16_t sect; + uint16_t type; + uint8_t scl, naux; +} PEsym; +typedef struct __attribute((packed)) { + uint32_t size; + uint16_t nreloc, nline; + uint32_t cksum; + uint16_t assoc; + uint8_t comdatsel, unused[3]; +} PEsymaux; +typedef struct { + PEheader hdr; + PEsection sect[2]; + // Must be an even number of symbol structs. + PEsym sym0; + PEsymaux sym0aux; + PEsym sym1; + PEsymaux sym1aux; + PEsym sym2; + PEsym sym3; + uint32_t strtabsize; + uint8_t space[4096]; +} PEobj; +]] + local symname = LJBC_PREFIX..ctx.modname + local ai = assert(map_arch[ctx.arch]) + local is64 = ai.b == 64 + local symexport = " /EXPORT:"..symname..",DATA " + + -- The file format is always little-endian. Swap if the host is big-endian. + local function f32(x) return x end + local f16 = f32 + if ffi.abi("be") then + f32 = bit.bswap + function f16(x) return bit.rshift(bit.bswap(x), 16) end + end + + -- Create PE object and fill in header. + local o = ffi.new("PEobj") + local hdr = o.hdr + hdr.arch = f16(assert(ai.p)) + hdr.nsects = f16(2) + hdr.symtabofs = f32(ffi.offsetof(o, "sym0")) + hdr.nsyms = f32(6) + + -- Fill in sections and symbols. + o.sect[0].name = ".drectve" + o.sect[0].size = f32(#symexport) + o.sect[0].flags = f32(0x00100a00) + o.sym0.sect = f16(1) + o.sym0.scl = 3 + o.sym0.name = ".drectve" + o.sym0.naux = 1 + o.sym0aux.size = f32(#symexport) + o.sect[1].name = ".rdata" + o.sect[1].size = f32(#s) + o.sect[1].flags = f32(0x40300040) + o.sym1.sect = f16(2) + o.sym1.scl = 3 + o.sym1.name = ".rdata" + o.sym1.naux = 1 + o.sym1aux.size = f32(#s) + o.sym2.sect = f16(2) + o.sym2.scl = 2 + o.sym2.nameref[1] = f32(4) + o.sym3.sect = f16(-1) + o.sym3.scl = 2 + o.sym3.value = f32(1) + o.sym3.name = "@feat.00" -- Mark as SafeSEH compliant. + ffi.copy(o.space, symname) + local ofs = #symname + 1 + o.strtabsize = f32(ofs + 4) + o.sect[0].ofs = f32(ffi.offsetof(o, "space") + ofs) + ffi.copy(o.space + ofs, symexport) + ofs = ofs + #symexport + o.sect[1].ofs = f32(ffi.offsetof(o, "space") + ofs) + + -- Write PE object file. + local fp = savefile(output, "wb") + fp:write(ffi.string(o, ffi.sizeof(o)-4096+ofs)) + bcsave_tail(fp, output, s) +end + +local function bcsave_machobj(ctx, output, s, ffi) + ffi.cdef[[ +typedef struct +{ + uint32_t magic, cputype, cpusubtype, filetype, ncmds, sizeofcmds, flags; +} mach_header; +typedef struct +{ + mach_header; uint32_t reserved; +} mach_header_64; +typedef struct { + uint32_t cmd, cmdsize; + char segname[16]; + uint32_t vmaddr, vmsize, fileoff, filesize; + uint32_t maxprot, initprot, nsects, flags; +} mach_segment_command; +typedef struct { + uint32_t cmd, cmdsize; + char segname[16]; + uint64_t vmaddr, vmsize, fileoff, filesize; + uint32_t maxprot, initprot, nsects, flags; +} mach_segment_command_64; +typedef struct { + char sectname[16], segname[16]; + uint32_t addr, size; + uint32_t offset, align, reloff, nreloc, flags; + uint32_t reserved1, reserved2; +} mach_section; +typedef struct { + char sectname[16], segname[16]; + uint64_t addr, size; + uint32_t offset, align, reloff, nreloc, flags; + uint32_t reserved1, reserved2, reserved3; +} mach_section_64; +typedef struct { + uint32_t cmd, cmdsize, symoff, nsyms, stroff, strsize; +} mach_symtab_command; +typedef struct { + int32_t strx; + uint8_t type, sect; + int16_t desc; + uint32_t value; +} mach_nlist; +typedef struct { + uint32_t strx; + uint8_t type, sect; + uint16_t desc; + uint64_t value; +} mach_nlist_64; +typedef struct +{ + uint32_t magic, nfat_arch; +} mach_fat_header; +typedef struct +{ + uint32_t cputype, cpusubtype, offset, size, align; +} mach_fat_arch; +typedef struct { + struct { + mach_header hdr; + mach_segment_command seg; + mach_section sec; + mach_symtab_command sym; + } arch[1]; + mach_nlist sym_entry; + uint8_t space[4096]; +} mach_obj; +typedef struct { + struct { + mach_header_64 hdr; + mach_segment_command_64 seg; + mach_section_64 sec; + mach_symtab_command sym; + } arch[1]; + mach_nlist_64 sym_entry; + uint8_t space[4096]; +} mach_obj_64; +typedef struct { + mach_fat_header fat; + mach_fat_arch fat_arch[2]; + struct { + mach_header hdr; + mach_segment_command seg; + mach_section sec; + mach_symtab_command sym; + } arch[2]; + mach_nlist sym_entry; + uint8_t space[4096]; +} mach_fat_obj; +]] + local symname = '_'..LJBC_PREFIX..ctx.modname + local isfat, is64, align, mobj = false, false, 4, "mach_obj" + if ctx.arch == "x64" then + is64, align, mobj = true, 8, "mach_obj_64" + elseif ctx.arch == "arm" then + isfat, mobj = true, "mach_fat_obj" + elseif ctx.arch == "arm64" then + is64, align, isfat, mobj = true, 8, true, "mach_fat_obj" + else + check(ctx.arch == "x86", "unsupported architecture for OSX") + end + local function aligned(v, a) return bit.band(v+a-1, -a) end + local be32 = bit.bswap -- Mach-O FAT is BE, supported archs are LE. + + -- Create Mach-O object and fill in header. + local o = ffi.new(mobj) + local mach_size = aligned(ffi.offsetof(o, "space")+#symname+2, align) + local cputype = ({ x86={7}, x64={0x01000007}, arm={7,12}, arm64={0x01000007,0x0100000c} })[ctx.arch] + local cpusubtype = ({ x86={3}, x64={3}, arm={3,9}, arm64={3,0} })[ctx.arch] + if isfat then + o.fat.magic = be32(0xcafebabe) + o.fat.nfat_arch = be32(#cpusubtype) + end + + -- Fill in sections and symbols. + for i=0,#cpusubtype-1 do + local ofs = 0 + if isfat then + local a = o.fat_arch[i] + a.cputype = be32(cputype[i+1]) + a.cpusubtype = be32(cpusubtype[i+1]) + -- Subsequent slices overlap each other to share data. + ofs = ffi.offsetof(o, "arch") + i*ffi.sizeof(o.arch[0]) + a.offset = be32(ofs) + a.size = be32(mach_size-ofs+#s) + end + local a = o.arch[i] + a.hdr.magic = is64 and 0xfeedfacf or 0xfeedface + a.hdr.cputype = cputype[i+1] + a.hdr.cpusubtype = cpusubtype[i+1] + a.hdr.filetype = 1 + a.hdr.ncmds = 2 + a.hdr.sizeofcmds = ffi.sizeof(a.seg)+ffi.sizeof(a.sec)+ffi.sizeof(a.sym) + a.seg.cmd = is64 and 0x19 or 0x1 + a.seg.cmdsize = ffi.sizeof(a.seg)+ffi.sizeof(a.sec) + a.seg.vmsize = #s + a.seg.fileoff = mach_size-ofs + a.seg.filesize = #s + a.seg.maxprot = 1 + a.seg.initprot = 1 + a.seg.nsects = 1 + ffi.copy(a.sec.sectname, "__data") + ffi.copy(a.sec.segname, "__DATA") + a.sec.size = #s + a.sec.offset = mach_size-ofs + a.sym.cmd = 2 + a.sym.cmdsize = ffi.sizeof(a.sym) + a.sym.symoff = ffi.offsetof(o, "sym_entry")-ofs + a.sym.nsyms = 1 + a.sym.stroff = ffi.offsetof(o, "sym_entry")+ffi.sizeof(o.sym_entry)-ofs + a.sym.strsize = aligned(#symname+2, align) + end + o.sym_entry.type = 0xf + o.sym_entry.sect = 1 + o.sym_entry.strx = 1 + ffi.copy(o.space+1, symname) + + -- Write Macho-O object file. + local fp = savefile(output, "wb") + fp:write(ffi.string(o, mach_size)) + bcsave_tail(fp, output, s) +end + +local function bcsave_obj(ctx, output, s) + local ok, ffi = pcall(require, "ffi") + check(ok, "FFI library required to write this file type") + if output == "-" and jit.os == "Windows" then + set_stdout_binary(ffi) + end + if ctx.os == "windows" then + return bcsave_peobj(ctx, output, s, ffi) + elseif ctx.os == "osx" then + return bcsave_machobj(ctx, output, s, ffi) + else + return bcsave_elfobj(ctx, output, s, ffi) + end +end + +------------------------------------------------------------------------------ + +local function bclist(input, output) + local f = readfile(input) + require("jit.bc").dump(f, savefile(output, "w"), true) +end + +local function bcsave(ctx, input, output) + local f = readfile(input) + local s = string.dump(f, ctx.strip) + local t = ctx.type + if not t then + t = detecttype(output) + ctx.type = t + end + if t == "raw" then + bcsave_raw(output, s) + else + if not ctx.modname then ctx.modname = detectmodname(input) end + if t == "obj" then + bcsave_obj(ctx, output, s) + else + bcsave_c(ctx, output, s) + end + end +end + +local function docmd(...) + local arg = {...} + local n = 1 + local list = false + local ctx = { + strip = true, arch = jit.arch, os = jit.os:lower(), + type = false, modname = false, + } + while n <= #arg do + local a = arg[n] + if type(a) == "string" and a:sub(1, 1) == "-" and a ~= "-" then + tremove(arg, n) + if a == "--" then break end + for m=2,#a do + local opt = a:sub(m, m) + if opt == "l" then + list = true + elseif opt == "s" then + ctx.strip = true + elseif opt == "g" then + ctx.strip = false + else + if arg[n] == nil or m ~= #a then usage() end + if opt == "e" then + if n ~= 1 then usage() end + arg[1] = check(loadstring(arg[1])) + elseif opt == "n" then + ctx.modname = checkmodname(tremove(arg, n)) + elseif opt == "t" then + ctx.type = checkarg(tremove(arg, n), map_type, "file type") + elseif opt == "a" then + ctx.arch = checkarg(tremove(arg, n), map_arch, "architecture") + elseif opt == "o" then + ctx.os = checkarg(tremove(arg, n), map_os, "OS name") + else + usage() + end + end + end + else + n = n + 1 + end + end + if list then + if #arg == 0 or #arg > 2 then usage() end + bclist(arg[1], arg[2] or "-") + else + if #arg ~= 2 then usage() end + bcsave(ctx, arg[1], arg[2]) + end +end + +------------------------------------------------------------------------------ + +-- Public module functions. +return { + start = docmd -- Process -b command line option. +} + diff --git a/libs/LuaJIT/android/x86_64/jit/dis_arm.lua b/libs/LuaJIT/android/x86_64/jit/dis_arm.lua new file mode 100644 index 00000000..ba79c47e --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/dis_arm.lua @@ -0,0 +1,689 @@ +---------------------------------------------------------------------------- +-- LuaJIT ARM disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles most user-mode ARMv7 instructions +-- NYI: Advanced SIMD and VFP instructions. +------------------------------------------------------------------------------ + +local type = type +local sub, byte, format = string.sub, string.byte, string.format +local match, gmatch = string.match, string.gmatch +local concat = table.concat +local bit = require("bit") +local band, bor, ror, tohex = bit.band, bit.bor, bit.ror, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift + +------------------------------------------------------------------------------ +-- Opcode maps +------------------------------------------------------------------------------ + +local map_loadc = { + shift = 8, mask = 15, + [10] = { + shift = 20, mask = 1, + [0] = { + shift = 23, mask = 3, + [0] = "vmovFmDN", "vstmFNdr", + _ = { + shift = 21, mask = 1, + [0] = "vstrFdl", + { shift = 16, mask = 15, [13] = "vpushFdr", _ = "vstmdbFNdr", } + }, + }, + { + shift = 23, mask = 3, + [0] = "vmovFDNm", + { shift = 16, mask = 15, [13] = "vpopFdr", _ = "vldmFNdr", }, + _ = { + shift = 21, mask = 1, + [0] = "vldrFdl", "vldmdbFNdr", + }, + }, + }, + [11] = { + shift = 20, mask = 1, + [0] = { + shift = 23, mask = 3, + [0] = "vmovGmDN", "vstmGNdr", + _ = { + shift = 21, mask = 1, + [0] = "vstrGdl", + { shift = 16, mask = 15, [13] = "vpushGdr", _ = "vstmdbGNdr", } + }, + }, + { + shift = 23, mask = 3, + [0] = "vmovGDNm", + { shift = 16, mask = 15, [13] = "vpopGdr", _ = "vldmGNdr", }, + _ = { + shift = 21, mask = 1, + [0] = "vldrGdl", "vldmdbGNdr", + }, + }, + }, + _ = { + shift = 0, mask = 0 -- NYI ldc, mcrr, mrrc. + }, +} + +local map_vfps = { + shift = 6, mask = 0x2c001, + [0] = "vmlaF.dnm", "vmlsF.dnm", + [0x04000] = "vnmlsF.dnm", [0x04001] = "vnmlaF.dnm", + [0x08000] = "vmulF.dnm", [0x08001] = "vnmulF.dnm", + [0x0c000] = "vaddF.dnm", [0x0c001] = "vsubF.dnm", + [0x20000] = "vdivF.dnm", + [0x24000] = "vfnmsF.dnm", [0x24001] = "vfnmaF.dnm", + [0x28000] = "vfmaF.dnm", [0x28001] = "vfmsF.dnm", + [0x2c000] = "vmovF.dY", + [0x2c001] = { + shift = 7, mask = 0x1e01, + [0] = "vmovF.dm", "vabsF.dm", + [0x0200] = "vnegF.dm", [0x0201] = "vsqrtF.dm", + [0x0800] = "vcmpF.dm", [0x0801] = "vcmpeF.dm", + [0x0a00] = "vcmpzF.d", [0x0a01] = "vcmpzeF.d", + [0x0e01] = "vcvtG.dF.m", + [0x1000] = "vcvt.f32.u32Fdm", [0x1001] = "vcvt.f32.s32Fdm", + [0x1800] = "vcvtr.u32F.dm", [0x1801] = "vcvt.u32F.dm", + [0x1a00] = "vcvtr.s32F.dm", [0x1a01] = "vcvt.s32F.dm", + }, +} + +local map_vfpd = { + shift = 6, mask = 0x2c001, + [0] = "vmlaG.dnm", "vmlsG.dnm", + [0x04000] = "vnmlsG.dnm", [0x04001] = "vnmlaG.dnm", + [0x08000] = "vmulG.dnm", [0x08001] = "vnmulG.dnm", + [0x0c000] = "vaddG.dnm", [0x0c001] = "vsubG.dnm", + [0x20000] = "vdivG.dnm", + [0x24000] = "vfnmsG.dnm", [0x24001] = "vfnmaG.dnm", + [0x28000] = "vfmaG.dnm", [0x28001] = "vfmsG.dnm", + [0x2c000] = "vmovG.dY", + [0x2c001] = { + shift = 7, mask = 0x1e01, + [0] = "vmovG.dm", "vabsG.dm", + [0x0200] = "vnegG.dm", [0x0201] = "vsqrtG.dm", + [0x0800] = "vcmpG.dm", [0x0801] = "vcmpeG.dm", + [0x0a00] = "vcmpzG.d", [0x0a01] = "vcmpzeG.d", + [0x0e01] = "vcvtF.dG.m", + [0x1000] = "vcvt.f64.u32GdFm", [0x1001] = "vcvt.f64.s32GdFm", + [0x1800] = "vcvtr.u32FdG.m", [0x1801] = "vcvt.u32FdG.m", + [0x1a00] = "vcvtr.s32FdG.m", [0x1a01] = "vcvt.s32FdG.m", + }, +} + +local map_datac = { + shift = 24, mask = 1, + [0] = { + shift = 4, mask = 1, + [0] = { + shift = 8, mask = 15, + [10] = map_vfps, + [11] = map_vfpd, + -- NYI cdp, mcr, mrc. + }, + { + shift = 8, mask = 15, + [10] = { + shift = 20, mask = 15, + [0] = "vmovFnD", "vmovFDn", + [14] = "vmsrD", + [15] = { shift = 12, mask = 15, [15] = "vmrs", _ = "vmrsD", }, + }, + }, + }, + "svcT", +} + +local map_loadcu = { + shift = 0, mask = 0, -- NYI unconditional CP load/store. +} + +local map_datacu = { + shift = 0, mask = 0, -- NYI unconditional CP data. +} + +local map_simddata = { + shift = 0, mask = 0, -- NYI SIMD data. +} + +local map_simdload = { + shift = 0, mask = 0, -- NYI SIMD load/store, preload. +} + +local map_preload = { + shift = 0, mask = 0, -- NYI preload. +} + +local map_media = { + shift = 20, mask = 31, + [0] = false, + { --01 + shift = 5, mask = 7, + [0] = "sadd16DNM", "sasxDNM", "ssaxDNM", "ssub16DNM", + "sadd8DNM", false, false, "ssub8DNM", + }, + { --02 + shift = 5, mask = 7, + [0] = "qadd16DNM", "qasxDNM", "qsaxDNM", "qsub16DNM", + "qadd8DNM", false, false, "qsub8DNM", + }, + { --03 + shift = 5, mask = 7, + [0] = "shadd16DNM", "shasxDNM", "shsaxDNM", "shsub16DNM", + "shadd8DNM", false, false, "shsub8DNM", + }, + false, + { --05 + shift = 5, mask = 7, + [0] = "uadd16DNM", "uasxDNM", "usaxDNM", "usub16DNM", + "uadd8DNM", false, false, "usub8DNM", + }, + { --06 + shift = 5, mask = 7, + [0] = "uqadd16DNM", "uqasxDNM", "uqsaxDNM", "uqsub16DNM", + "uqadd8DNM", false, false, "uqsub8DNM", + }, + { --07 + shift = 5, mask = 7, + [0] = "uhadd16DNM", "uhasxDNM", "uhsaxDNM", "uhsub16DNM", + "uhadd8DNM", false, false, "uhsub8DNM", + }, + { --08 + shift = 5, mask = 7, + [0] = "pkhbtDNMU", false, "pkhtbDNMU", + { shift = 16, mask = 15, [15] = "sxtb16DMU", _ = "sxtab16DNMU", }, + "pkhbtDNMU", "selDNM", "pkhtbDNMU", + }, + false, + { --0a + shift = 5, mask = 7, + [0] = "ssatDxMu", "ssat16DxM", "ssatDxMu", + { shift = 16, mask = 15, [15] = "sxtbDMU", _ = "sxtabDNMU", }, + "ssatDxMu", false, "ssatDxMu", + }, + { --0b + shift = 5, mask = 7, + [0] = "ssatDxMu", "revDM", "ssatDxMu", + { shift = 16, mask = 15, [15] = "sxthDMU", _ = "sxtahDNMU", }, + "ssatDxMu", "rev16DM", "ssatDxMu", + }, + { --0c + shift = 5, mask = 7, + [3] = { shift = 16, mask = 15, [15] = "uxtb16DMU", _ = "uxtab16DNMU", }, + }, + false, + { --0e + shift = 5, mask = 7, + [0] = "usatDwMu", "usat16DwM", "usatDwMu", + { shift = 16, mask = 15, [15] = "uxtbDMU", _ = "uxtabDNMU", }, + "usatDwMu", false, "usatDwMu", + }, + { --0f + shift = 5, mask = 7, + [0] = "usatDwMu", "rbitDM", "usatDwMu", + { shift = 16, mask = 15, [15] = "uxthDMU", _ = "uxtahDNMU", }, + "usatDwMu", "revshDM", "usatDwMu", + }, + { --10 + shift = 12, mask = 15, + [15] = { + shift = 5, mask = 7, + "smuadNMS", "smuadxNMS", "smusdNMS", "smusdxNMS", + }, + _ = { + shift = 5, mask = 7, + [0] = "smladNMSD", "smladxNMSD", "smlsdNMSD", "smlsdxNMSD", + }, + }, + false, false, false, + { --14 + shift = 5, mask = 7, + [0] = "smlaldDNMS", "smlaldxDNMS", "smlsldDNMS", "smlsldxDNMS", + }, + { --15 + shift = 5, mask = 7, + [0] = { shift = 12, mask = 15, [15] = "smmulNMS", _ = "smmlaNMSD", }, + { shift = 12, mask = 15, [15] = "smmulrNMS", _ = "smmlarNMSD", }, + false, false, false, false, + "smmlsNMSD", "smmlsrNMSD", + }, + false, false, + { --18 + shift = 5, mask = 7, + [0] = { shift = 12, mask = 15, [15] = "usad8NMS", _ = "usada8NMSD", }, + }, + false, + { --1a + shift = 5, mask = 3, [2] = "sbfxDMvw", + }, + { --1b + shift = 5, mask = 3, [2] = "sbfxDMvw", + }, + { --1c + shift = 5, mask = 3, + [0] = { shift = 0, mask = 15, [15] = "bfcDvX", _ = "bfiDMvX", }, + }, + { --1d + shift = 5, mask = 3, + [0] = { shift = 0, mask = 15, [15] = "bfcDvX", _ = "bfiDMvX", }, + }, + { --1e + shift = 5, mask = 3, [2] = "ubfxDMvw", + }, + { --1f + shift = 5, mask = 3, [2] = "ubfxDMvw", + }, +} + +local map_load = { + shift = 21, mask = 9, + { + shift = 20, mask = 5, + [0] = "strtDL", "ldrtDL", [4] = "strbtDL", [5] = "ldrbtDL", + }, + _ = { + shift = 20, mask = 5, + [0] = "strDL", "ldrDL", [4] = "strbDL", [5] = "ldrbDL", + } +} + +local map_load1 = { + shift = 4, mask = 1, + [0] = map_load, map_media, +} + +local map_loadm = { + shift = 20, mask = 1, + [0] = { + shift = 23, mask = 3, + [0] = "stmdaNR", "stmNR", + { shift = 16, mask = 63, [45] = "pushR", _ = "stmdbNR", }, "stmibNR", + }, + { + shift = 23, mask = 3, + [0] = "ldmdaNR", { shift = 16, mask = 63, [61] = "popR", _ = "ldmNR", }, + "ldmdbNR", "ldmibNR", + }, +} + +local map_data = { + shift = 21, mask = 15, + [0] = "andDNPs", "eorDNPs", "subDNPs", "rsbDNPs", + "addDNPs", "adcDNPs", "sbcDNPs", "rscDNPs", + "tstNP", "teqNP", "cmpNP", "cmnNP", + "orrDNPs", "movDPs", "bicDNPs", "mvnDPs", +} + +local map_mul = { + shift = 21, mask = 7, + [0] = "mulNMSs", "mlaNMSDs", "umaalDNMS", "mlsDNMS", + "umullDNMSs", "umlalDNMSs", "smullDNMSs", "smlalDNMSs", +} + +local map_sync = { + shift = 20, mask = 15, -- NYI: brackets around N. R(D+1) for ldrexd/strexd. + [0] = "swpDMN", false, false, false, + "swpbDMN", false, false, false, + "strexDMN", "ldrexDN", "strexdDN", "ldrexdDN", + "strexbDMN", "ldrexbDN", "strexhDN", "ldrexhDN", +} + +local map_mulh = { + shift = 21, mask = 3, + [0] = { shift = 5, mask = 3, + [0] = "smlabbNMSD", "smlatbNMSD", "smlabtNMSD", "smlattNMSD", }, + { shift = 5, mask = 3, + [0] = "smlawbNMSD", "smulwbNMS", "smlawtNMSD", "smulwtNMS", }, + { shift = 5, mask = 3, + [0] = "smlalbbDNMS", "smlaltbDNMS", "smlalbtDNMS", "smlalttDNMS", }, + { shift = 5, mask = 3, + [0] = "smulbbNMS", "smultbNMS", "smulbtNMS", "smulttNMS", }, +} + +local map_misc = { + shift = 4, mask = 7, + -- NYI: decode PSR bits of msr. + [0] = { shift = 21, mask = 1, [0] = "mrsD", "msrM", }, + { shift = 21, mask = 3, "bxM", false, "clzDM", }, + { shift = 21, mask = 3, "bxjM", }, + { shift = 21, mask = 3, "blxM", }, + false, + { shift = 21, mask = 3, [0] = "qaddDMN", "qsubDMN", "qdaddDMN", "qdsubDMN", }, + false, + { shift = 21, mask = 3, "bkptK", }, +} + +local map_datar = { + shift = 4, mask = 9, + [9] = { + shift = 5, mask = 3, + [0] = { shift = 24, mask = 1, [0] = map_mul, map_sync, }, + { shift = 20, mask = 1, [0] = "strhDL", "ldrhDL", }, + { shift = 20, mask = 1, [0] = "ldrdDL", "ldrsbDL", }, + { shift = 20, mask = 1, [0] = "strdDL", "ldrshDL", }, + }, + _ = { + shift = 20, mask = 25, + [16] = { shift = 7, mask = 1, [0] = map_misc, map_mulh, }, + _ = { + shift = 0, mask = 0xffffffff, + [bor(0xe1a00000)] = "nop", + _ = map_data, + } + }, +} + +local map_datai = { + shift = 20, mask = 31, -- NYI: decode PSR bits of msr. Decode imm12. + [16] = "movwDW", [20] = "movtDW", + [18] = { shift = 0, mask = 0xf00ff, [0] = "nopv6", _ = "msrNW", }, + [22] = "msrNW", + _ = map_data, +} + +local map_branch = { + shift = 24, mask = 1, + [0] = "bB", "blB" +} + +local map_condins = { + [0] = map_datar, map_datai, map_load, map_load1, + map_loadm, map_branch, map_loadc, map_datac +} + +-- NYI: setend. +local map_uncondins = { + [0] = false, map_simddata, map_simdload, map_preload, + false, "blxB", map_loadcu, map_datacu, +} + +------------------------------------------------------------------------------ + +local map_gpr = { + [0] = "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "sp", "lr", "pc", +} + +local map_cond = { + [0] = "eq", "ne", "hs", "lo", "mi", "pl", "vs", "vc", + "hi", "ls", "ge", "lt", "gt", "le", "al", +} + +local map_shift = { [0] = "lsl", "lsr", "asr", "ror", } + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then + extra = "\t->"..sym + elseif band(ctx.op, 0x0e000000) ~= 0x0a000000 then + extra = "\t; 0x"..tohex(ctx.rel) + end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-5s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-5s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +-- Format operand 2 of load/store opcodes. +local function fmtload(ctx, op, pos) + local base = map_gpr[band(rshift(op, 16), 15)] + local x, ofs + local ext = (band(op, 0x04000000) == 0) + if not ext and band(op, 0x02000000) == 0 then + ofs = band(op, 4095) + if band(op, 0x00800000) == 0 then ofs = -ofs end + if base == "pc" then ctx.rel = ctx.addr + pos + 8 + ofs end + ofs = "#"..ofs + elseif ext and band(op, 0x00400000) ~= 0 then + ofs = band(op, 15) + band(rshift(op, 4), 0xf0) + if band(op, 0x00800000) == 0 then ofs = -ofs end + if base == "pc" then ctx.rel = ctx.addr + pos + 8 + ofs end + ofs = "#"..ofs + else + ofs = map_gpr[band(op, 15)] + if ext or band(op, 0xfe0) == 0 then + elseif band(op, 0xfe0) == 0x60 then + ofs = format("%s, rrx", ofs) + else + local sh = band(rshift(op, 7), 31) + if sh == 0 then sh = 32 end + ofs = format("%s, %s #%d", ofs, map_shift[band(rshift(op, 5), 3)], sh) + end + if band(op, 0x00800000) == 0 then ofs = "-"..ofs end + end + if ofs == "#0" then + x = format("[%s]", base) + elseif band(op, 0x01000000) == 0 then + x = format("[%s], %s", base, ofs) + else + x = format("[%s, %s]", base, ofs) + end + if band(op, 0x01200000) == 0x01200000 then x = x.."!" end + return x +end + +-- Format operand 2 of vector load/store opcodes. +local function fmtvload(ctx, op, pos) + local base = map_gpr[band(rshift(op, 16), 15)] + local ofs = band(op, 255)*4 + if band(op, 0x00800000) == 0 then ofs = -ofs end + if base == "pc" then ctx.rel = ctx.addr + pos + 8 + ofs end + if ofs == 0 then + return format("[%s]", base) + else + return format("[%s, #%d]", base, ofs) + end +end + +local function fmtvr(op, vr, sh0, sh1) + if vr == "s" then + return format("s%d", 2*band(rshift(op, sh0), 15)+band(rshift(op, sh1), 1)) + else + return format("d%d", band(rshift(op, sh0), 15)+band(rshift(op, sh1-4), 16)) + end +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + local op = bor(lshift(b3, 24), lshift(b2, 16), lshift(b1, 8), b0) + local operands = {} + local suffix = "" + local last, name, pat + local vr + ctx.op = op + ctx.rel = nil + + local cond = rshift(op, 28) + local opat + if cond == 15 then + opat = map_uncondins[band(rshift(op, 25), 7)] + else + if cond ~= 14 then suffix = map_cond[cond] end + opat = map_condins[band(rshift(op, 25), 7)] + end + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + opat = opat[band(rshift(op, opat.shift), opat.mask)] or opat._ + end + name, pat = match(opat, "^([a-z0-9]*)(.*)") + if sub(pat, 1, 1) == "." then + local s2, p2 = match(pat, "^([a-z0-9.]*)(.*)") + suffix = suffix..s2 + pat = p2 + end + + for p in gmatch(pat, ".") do + local x = nil + if p == "D" then + x = map_gpr[band(rshift(op, 12), 15)] + elseif p == "N" then + x = map_gpr[band(rshift(op, 16), 15)] + elseif p == "S" then + x = map_gpr[band(rshift(op, 8), 15)] + elseif p == "M" then + x = map_gpr[band(op, 15)] + elseif p == "d" then + x = fmtvr(op, vr, 12, 22) + elseif p == "n" then + x = fmtvr(op, vr, 16, 7) + elseif p == "m" then + x = fmtvr(op, vr, 0, 5) + elseif p == "P" then + if band(op, 0x02000000) ~= 0 then + x = ror(band(op, 255), 2*band(rshift(op, 8), 15)) + else + x = map_gpr[band(op, 15)] + if band(op, 0xff0) ~= 0 then + operands[#operands+1] = x + local s = map_shift[band(rshift(op, 5), 3)] + local r = nil + if band(op, 0xf90) == 0 then + if s == "ror" then s = "rrx" else r = "#32" end + elseif band(op, 0x10) == 0 then + r = "#"..band(rshift(op, 7), 31) + else + r = map_gpr[band(rshift(op, 8), 15)] + end + if name == "mov" then name = s; x = r + elseif r then x = format("%s %s", s, r) + else x = s end + end + end + elseif p == "L" then + x = fmtload(ctx, op, pos) + elseif p == "l" then + x = fmtvload(ctx, op, pos) + elseif p == "B" then + local addr = ctx.addr + pos + 8 + arshift(lshift(op, 8), 6) + if cond == 15 then addr = addr + band(rshift(op, 23), 2) end + ctx.rel = addr + x = "0x"..tohex(addr) + elseif p == "F" then + vr = "s" + elseif p == "G" then + vr = "d" + elseif p == "." then + suffix = suffix..(vr == "s" and ".f32" or ".f64") + elseif p == "R" then + if band(op, 0x00200000) ~= 0 and #operands == 1 then + operands[1] = operands[1].."!" + end + local t = {} + for i=0,15 do + if band(rshift(op, i), 1) == 1 then t[#t+1] = map_gpr[i] end + end + x = "{"..concat(t, ", ").."}" + elseif p == "r" then + if band(op, 0x00200000) ~= 0 and #operands == 2 then + operands[1] = operands[1].."!" + end + local s = tonumber(sub(last, 2)) + local n = band(op, 255) + if vr == "d" then n = rshift(n, 1) end + operands[#operands] = format("{%s-%s%d}", last, vr, s+n-1) + elseif p == "W" then + x = band(op, 0x0fff) + band(rshift(op, 4), 0xf000) + elseif p == "T" then + x = "#0x"..tohex(band(op, 0x00ffffff), 6) + elseif p == "U" then + x = band(rshift(op, 7), 31) + if x == 0 then x = nil end + elseif p == "u" then + x = band(rshift(op, 7), 31) + if band(op, 0x40) == 0 then + if x == 0 then x = nil else x = "lsl #"..x end + else + if x == 0 then x = "asr #32" else x = "asr #"..x end + end + elseif p == "v" then + x = band(rshift(op, 7), 31) + elseif p == "w" then + x = band(rshift(op, 16), 31) + elseif p == "x" then + x = band(rshift(op, 16), 31) + 1 + elseif p == "X" then + x = band(rshift(op, 16), 31) - last + 1 + elseif p == "Y" then + x = band(rshift(op, 12), 0xf0) + band(op, 0x0f) + elseif p == "K" then + x = "#0x"..tohex(band(rshift(op, 4), 0x0000fff0) + band(op, 15), 4) + elseif p == "s" then + if band(op, 0x00100000) ~= 0 then suffix = "s"..suffix end + else + assert(false) + end + if x then + last = x + if type(x) == "number" then x = "#"..x end + operands[#operands+1] = x + end + end + + return putop(ctx, name..suffix, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + ctx.pos = ofs + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 16 then return map_gpr[r] end + return "d"..(r-16) +end + +-- Public module functions. +return { + create = create, + disass = disass, + regname = regname +} + diff --git a/libs/LuaJIT/android/x86_64/jit/dis_arm64.lua b/libs/LuaJIT/android/x86_64/jit/dis_arm64.lua new file mode 100644 index 00000000..ad909fbd --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/dis_arm64.lua @@ -0,0 +1,1216 @@ +---------------------------------------------------------------------------- +-- LuaJIT ARM64 disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +-- +-- Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com. +-- Sponsored by Cisco Systems, Inc. +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles most user-mode AArch64 instructions. +-- NYI: Advanced SIMD and VFP instructions. +------------------------------------------------------------------------------ + +local type = type +local sub, byte, format = string.sub, string.byte, string.format +local match, gmatch, gsub = string.match, string.gmatch, string.gsub +local concat = table.concat +local bit = require("bit") +local band, bor, bxor, tohex = bit.band, bit.bor, bit.bxor, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift +local ror = bit.ror + +------------------------------------------------------------------------------ +-- Opcode maps +------------------------------------------------------------------------------ + +local map_adr = { -- PC-relative addressing. + shift = 31, mask = 1, + [0] = "adrDBx", "adrpDBx" +} + +local map_addsubi = { -- Add/subtract immediate. + shift = 29, mask = 3, + [0] = "add|movDNIg", "adds|cmnD0NIg", "subDNIg", "subs|cmpD0NIg", +} + +local map_logi = { -- Logical immediate. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "andDNig", "orr|movDN0ig", "eorDNig", "ands|tstD0Nig" + }, + false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = "andDNig", "orr|movDN0ig", "eorDNig", "ands|tstD0Nig" + } +} + +local map_movwi = { -- Move wide immediate. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "movnDWRg", false, "movz|movDYRg", "movkDWRg" + }, false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = "movnDWRg", false, "movz|movDYRg", "movkDWRg" + }, +} + +local map_bitf = { -- Bitfield. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "sbfm|sbfiz|sbfx|asr|sxtw|sxth|sxtbDN12w", + "bfm|bfi|bfxilDN13w", + "ubfm|ubfiz|ubfx|lsr|lsl|uxth|uxtbDN12w" + } + }, + { + shift = 22, mask = 1, + { + shift = 29, mask = 3, + [0] = "sbfm|sbfiz|sbfx|asr|sxtw|sxth|sxtbDN12x", + "bfm|bfi|bfxilDN13x", + "ubfm|ubfiz|ubfx|lsr|lsl|uxth|uxtbDN12x" + } + } +} + +local map_datai = { -- Data processing - immediate. + shift = 23, mask = 7, + [0] = map_adr, map_adr, map_addsubi, false, + map_logi, map_movwi, map_bitf, + { + shift = 15, mask = 0x1c0c1, + [0] = "extr|rorDNM4w", [0x10080] = "extr|rorDNM4x", + [0x10081] = "extr|rorDNM4x" + } +} + +local map_logsr = { -- Logical, shifted register. + shift = 31, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = { + shift = 21, mask = 7, + [0] = "andDNMSg", "bicDNMSg", "andDNMSg", "bicDNMSg", + "andDNMSg", "bicDNMSg", "andDNMg", "bicDNMg" + }, + { + shift = 21, mask = 7, + [0] ="orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0MSg", "orn|mvnDN0MSg", + "orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0Mg", "orn|mvnDN0Mg" + }, + { + shift = 21, mask = 7, + [0] = "eorDNMSg", "eonDNMSg", "eorDNMSg", "eonDNMSg", + "eorDNMSg", "eonDNMSg", "eorDNMg", "eonDNMg" + }, + { + shift = 21, mask = 7, + [0] = "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMSg", "bicsDNMSg", + "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMg", "bicsDNMg" + } + }, + false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = { + shift = 21, mask = 7, + [0] = "andDNMSg", "bicDNMSg", "andDNMSg", "bicDNMSg", + "andDNMSg", "bicDNMSg", "andDNMg", "bicDNMg" + }, + { + shift = 21, mask = 7, + [0] = "orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0MSg", "orn|mvnDN0MSg", + "orr|movDN0MSg", "orn|mvnDN0MSg", "orr|movDN0Mg", "orn|mvnDN0Mg" + }, + { + shift = 21, mask = 7, + [0] = "eorDNMSg", "eonDNMSg", "eorDNMSg", "eonDNMSg", + "eorDNMSg", "eonDNMSg", "eorDNMg", "eonDNMg" + }, + { + shift = 21, mask = 7, + [0] = "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMSg", "bicsDNMSg", + "ands|tstD0NMSg", "bicsDNMSg", "ands|tstD0NMg", "bicsDNMg" + } + } +} + +local map_assh = { + shift = 31, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "addDNMSg", "addDNMSg", "addDNMSg", "addDNMg" + }, + { + shift = 22, mask = 3, + [0] = "adds|cmnD0NMSg", "adds|cmnD0NMSg", + "adds|cmnD0NMSg", "adds|cmnD0NMg" + }, + { + shift = 22, mask = 3, + [0] = "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0Mg" + }, + { + shift = 22, mask = 3, + [0] = "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0MzSg", + "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0Mzg" + }, + }, + false -- unallocated + }, + { + shift = 29, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "addDNMSg", "addDNMSg", "addDNMSg", "addDNMg" + }, + { + shift = 22, mask = 3, + [0] = "adds|cmnD0NMSg", "adds|cmnD0NMSg", "adds|cmnD0NMSg", + "adds|cmnD0NMg" + }, + { + shift = 22, mask = 3, + [0] = "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0MSg", "sub|negDN0Mg" + }, + { + shift = 22, mask = 3, + [0] = "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0MzSg", + "subs|cmp|negsD0N0MzSg", "subs|cmp|negsD0N0Mzg" + } + } +} + +local map_addsubsh = { -- Add/subtract, shifted register. + shift = 22, mask = 3, + [0] = map_assh, map_assh, map_assh +} + +local map_addsubex = { -- Add/subtract, extended register. + shift = 22, mask = 3, + [0] = { + shift = 29, mask = 3, + [0] = "addDNMXg", "adds|cmnD0NMXg", "subDNMXg", "subs|cmpD0NMzXg", + } +} + +local map_addsubc = { -- Add/subtract, with carry. + shift = 10, mask = 63, + [0] = { + shift = 29, mask = 3, + [0] = "adcDNMg", "adcsDNMg", "sbc|ngcDN0Mg", "sbcs|ngcsDN0Mg", + } +} + +local map_ccomp = { + shift = 4, mask = 1, + [0] = { + shift = 10, mask = 3, + [0] = { -- Conditional compare register. + shift = 29, mask = 3, + "ccmnNMVCg", false, "ccmpNMVCg", + }, + [2] = { -- Conditional compare immediate. + shift = 29, mask = 3, + "ccmnN5VCg", false, "ccmpN5VCg", + } + } +} + +local map_csel = { -- Conditional select. + shift = 11, mask = 1, + [0] = { + shift = 10, mask = 1, + [0] = { + shift = 29, mask = 3, + [0] = "cselDNMzCg", false, "csinv|cinv|csetmDNMcg", false, + }, + { + shift = 29, mask = 3, + [0] = "csinc|cinc|csetDNMcg", false, "csneg|cnegDNMcg", false, + } + } +} + +local map_data1s = { -- Data processing, 1 source. + shift = 29, mask = 1, + [0] = { + shift = 31, mask = 1, + [0] = { + shift = 10, mask = 0x7ff, + [0] = "rbitDNg", "rev16DNg", "revDNw", false, "clzDNg", "clsDNg" + }, + { + shift = 10, mask = 0x7ff, + [0] = "rbitDNg", "rev16DNg", "rev32DNx", "revDNx", "clzDNg", "clsDNg" + } + } +} + +local map_data2s = { -- Data processing, 2 sources. + shift = 29, mask = 1, + [0] = { + shift = 10, mask = 63, + false, "udivDNMg", "sdivDNMg", false, false, false, false, "lslDNMg", + "lsrDNMg", "asrDNMg", "rorDNMg" + } +} + +local map_data3s = { -- Data processing, 3 sources. + shift = 29, mask = 7, + [0] = { + shift = 21, mask = 7, + [0] = { + shift = 15, mask = 1, + [0] = "madd|mulDNMA0g", "msub|mnegDNMA0g" + } + }, false, false, false, + { + shift = 15, mask = 1, + [0] = { + shift = 21, mask = 7, + [0] = "madd|mulDNMA0g", "smaddl|smullDxNMwA0x", "smulhDNMx", false, + false, "umaddl|umullDxNMwA0x", "umulhDNMx" + }, + { + shift = 21, mask = 7, + [0] = "msub|mnegDNMA0g", "smsubl|smneglDxNMwA0x", false, false, + false, "umsubl|umneglDxNMwA0x" + } + } +} + +local map_datar = { -- Data processing, register. + shift = 28, mask = 1, + [0] = { + shift = 24, mask = 1, + [0] = map_logsr, + { + shift = 21, mask = 1, + [0] = map_addsubsh, map_addsubex + } + }, + { + shift = 21, mask = 15, + [0] = map_addsubc, false, map_ccomp, false, map_csel, false, + { + shift = 30, mask = 1, + [0] = map_data2s, map_data1s + }, + false, map_data3s, map_data3s, map_data3s, map_data3s, map_data3s, + map_data3s, map_data3s, map_data3s + } +} + +local map_lrl = { -- Load register, literal. + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = "ldrDwB", "ldrDxB", "ldrswDxB" + }, + { + shift = 30, mask = 3, + [0] = "ldrDsB", "ldrDdB" + } +} + +local map_lsriind = { -- Load/store register, immediate pre/post-indexed. + shift = 30, mask = 3, + [0] = { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strbDwzL", "ldrbDwzL", "ldrsbDxzL", "ldrsbDwzL" + } + }, + { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strhDwzL", "ldrhDwzL", "ldrshDxzL", "ldrshDwzL" + } + }, + { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strDwzL", "ldrDwzL", "ldrswDxzL" + }, + { + shift = 22, mask = 3, + [0] = "strDszL", "ldrDszL" + } + }, + { + shift = 26, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = "strDxzL", "ldrDxzL" + }, + { + shift = 22, mask = 3, + [0] = "strDdzL", "ldrDdzL" + } + } +} + +local map_lsriro = { + shift = 21, mask = 1, + [0] = { -- Load/store register immediate. + shift = 10, mask = 3, + [0] = { -- Unscaled immediate. + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "sturbDwK", "ldurbDwK" + }, + { + shift = 22, mask = 3, + [0] = "sturhDwK", "ldurhDwK" + }, + { + shift = 22, mask = 3, + [0] = "sturDwK", "ldurDwK" + }, + { + shift = 22, mask = 3, + [0] = "sturDxK", "ldurDxK" + } + } + }, map_lsriind, false, map_lsriind + }, + { -- Load/store register, register offset. + shift = 10, mask = 3, + [2] = { + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "strbDwO", "ldrbDwO", "ldrsbDxO", "ldrsbDwO" + }, + { + shift = 22, mask = 3, + [0] = "strhDwO", "ldrhDwO", "ldrshDxO", "ldrshDwO" + }, + { + shift = 22, mask = 3, + [0] = "strDwO", "ldrDwO", "ldrswDxO" + }, + { + shift = 22, mask = 3, + [0] = "strDxO", "ldrDxO" + } + }, + { + shift = 30, mask = 3, + [2] = { + shift = 22, mask = 3, + [0] = "strDsO", "ldrDsO" + }, + [3] = { + shift = 22, mask = 3, + [0] = "strDdO", "ldrDdO" + } + } + } + } +} + +local map_lsp = { -- Load/store register pair, offset. + shift = 22, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 26, mask = 1, + [0] = "stpDzAzwP", "stpDzAzsP", + }, + { + shift = 26, mask = 1, + "stpDzAzdP" + }, + { + shift = 26, mask = 1, + [0] = "stpDzAzxP" + } + }, + { + shift = 30, mask = 3, + [0] = { + shift = 26, mask = 1, + [0] = "ldpDzAzwP", "ldpDzAzsP", + }, + { + shift = 26, mask = 1, + [0] = "ldpswDAxP", "ldpDzAzdP" + }, + { + shift = 26, mask = 1, + [0] = "ldpDzAzxP" + } + } +} + +local map_ls = { -- Loads and stores. + shift = 24, mask = 0x31, + [0x10] = map_lrl, [0x30] = map_lsriro, + [0x20] = { + shift = 23, mask = 3, + map_lsp, map_lsp, map_lsp + }, + [0x21] = { + shift = 23, mask = 3, + map_lsp, map_lsp, map_lsp + }, + [0x31] = { + shift = 26, mask = 1, + [0] = { + shift = 30, mask = 3, + [0] = { + shift = 22, mask = 3, + [0] = "strbDwzU", "ldrbDwzU" + }, + { + shift = 22, mask = 3, + [0] = "strhDwzU", "ldrhDwzU" + }, + { + shift = 22, mask = 3, + [0] = "strDwzU", "ldrDwzU" + }, + { + shift = 22, mask = 3, + [0] = "strDxzU", "ldrDxzU" + } + }, + { + shift = 30, mask = 3, + [2] = { + shift = 22, mask = 3, + [0] = "strDszU", "ldrDszU" + }, + [3] = { + shift = 22, mask = 3, + [0] = "strDdzU", "ldrDdzU" + } + } + }, +} + +local map_datafp = { -- Data processing, SIMD and FP. + shift = 28, mask = 7, + { -- 001 + shift = 24, mask = 1, + [0] = { + shift = 21, mask = 1, + { + shift = 10, mask = 3, + [0] = { + shift = 12, mask = 1, + [0] = { + shift = 13, mask = 1, + [0] = { + shift = 14, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { -- FP/int conversion. + shift = 31, mask = 1, + [0] = { + shift = 16, mask = 0xff, + [0x20] = "fcvtnsDwNs", [0x21] = "fcvtnuDwNs", + [0x22] = "scvtfDsNw", [0x23] = "ucvtfDsNw", + [0x24] = "fcvtasDwNs", [0x25] = "fcvtauDwNs", + [0x26] = "fmovDwNs", [0x27] = "fmovDsNw", + [0x28] = "fcvtpsDwNs", [0x29] = "fcvtpuDwNs", + [0x30] = "fcvtmsDwNs", [0x31] = "fcvtmuDwNs", + [0x38] = "fcvtzsDwNs", [0x39] = "fcvtzuDwNs", + [0x60] = "fcvtnsDwNd", [0x61] = "fcvtnuDwNd", + [0x62] = "scvtfDdNw", [0x63] = "ucvtfDdNw", + [0x64] = "fcvtasDwNd", [0x65] = "fcvtauDwNd", + [0x68] = "fcvtpsDwNd", [0x69] = "fcvtpuDwNd", + [0x70] = "fcvtmsDwNd", [0x71] = "fcvtmuDwNd", + [0x78] = "fcvtzsDwNd", [0x79] = "fcvtzuDwNd" + }, + { + shift = 16, mask = 0xff, + [0x20] = "fcvtnsDxNs", [0x21] = "fcvtnuDxNs", + [0x22] = "scvtfDsNx", [0x23] = "ucvtfDsNx", + [0x24] = "fcvtasDxNs", [0x25] = "fcvtauDxNs", + [0x28] = "fcvtpsDxNs", [0x29] = "fcvtpuDxNs", + [0x30] = "fcvtmsDxNs", [0x31] = "fcvtmuDxNs", + [0x38] = "fcvtzsDxNs", [0x39] = "fcvtzuDxNs", + [0x60] = "fcvtnsDxNd", [0x61] = "fcvtnuDxNd", + [0x62] = "scvtfDdNx", [0x63] = "ucvtfDdNx", + [0x64] = "fcvtasDxNd", [0x65] = "fcvtauDxNd", + [0x66] = "fmovDxNd", [0x67] = "fmovDdNx", + [0x68] = "fcvtpsDxNd", [0x69] = "fcvtpuDxNd", + [0x70] = "fcvtmsDxNd", [0x71] = "fcvtmuDxNd", + [0x78] = "fcvtzsDxNd", [0x79] = "fcvtzuDxNd" + } + } + }, + { -- FP data-processing, 1 source. + shift = 31, mask = 1, + [0] = { + shift = 22, mask = 3, + [0] = { + shift = 15, mask = 63, + [0] = "fmovDNf", "fabsDNf", "fnegDNf", + "fsqrtDNf", false, "fcvtDdNs", false, false, + "frintnDNf", "frintpDNf", "frintmDNf", "frintzDNf", + "frintaDNf", false, "frintxDNf", "frintiDNf", + }, + { + shift = 15, mask = 63, + [0] = "fmovDNf", "fabsDNf", "fnegDNf", + "fsqrtDNf", "fcvtDsNd", false, false, false, + "frintnDNf", "frintpDNf", "frintmDNf", "frintzDNf", + "frintaDNf", false, "frintxDNf", "frintiDNf", + } + } + } + }, + { -- FP compare. + shift = 31, mask = 1, + [0] = { + shift = 14, mask = 3, + [0] = { + shift = 23, mask = 1, + [0] = { + shift = 0, mask = 31, + [0] = "fcmpNMf", [8] = "fcmpNZf", + [16] = "fcmpeNMf", [24] = "fcmpeNZf", + } + } + } + } + }, + { -- FP immediate. + shift = 31, mask = 1, + [0] = { + shift = 5, mask = 31, + [0] = { + shift = 23, mask = 1, + [0] = "fmovDFf" + } + } + } + }, + { -- FP conditional compare. + shift = 31, mask = 1, + [0] = { + shift = 23, mask = 1, + [0] = { + shift = 4, mask = 1, + [0] = "fccmpNMVCf", "fccmpeNMVCf" + } + } + }, + { -- FP data-processing, 2 sources. + shift = 31, mask = 1, + [0] = { + shift = 23, mask = 1, + [0] = { + shift = 12, mask = 15, + [0] = "fmulDNMf", "fdivDNMf", "faddDNMf", "fsubDNMf", + "fmaxDNMf", "fminDNMf", "fmaxnmDNMf", "fminnmDNMf", + "fnmulDNMf" + } + } + }, + { -- FP conditional select. + shift = 31, mask = 1, + [0] = { + shift = 23, mask = 1, + [0] = "fcselDNMCf" + } + } + } + }, + { -- FP data-processing, 3 sources. + shift = 31, mask = 1, + [0] = { + shift = 15, mask = 1, + [0] = { + shift = 21, mask = 5, + [0] = "fmaddDNMAf", "fnmaddDNMAf" + }, + { + shift = 21, mask = 5, + [0] = "fmsubDNMAf", "fnmsubDNMAf" + } + } + } + } +} + +local map_br = { -- Branches, exception generating and system instructions. + shift = 29, mask = 7, + [0] = "bB", + { -- Compare & branch, immediate. + shift = 24, mask = 3, + [0] = "cbzDBg", "cbnzDBg", "tbzDTBw", "tbnzDTBw" + }, + { -- Conditional branch, immediate. + shift = 24, mask = 3, + [0] = { + shift = 4, mask = 1, + [0] = { + shift = 0, mask = 15, + [0] = "beqB", "bneB", "bhsB", "bloB", "bmiB", "bplB", "bvsB", "bvcB", + "bhiB", "blsB", "bgeB", "bltB", "bgtB", "bleB", "balB" + } + } + }, false, "blB", + { -- Compare & branch, immediate. + shift = 24, mask = 3, + [0] = "cbzDBg", "cbnzDBg", "tbzDTBx", "tbnzDTBx" + }, + { + shift = 24, mask = 3, + [0] = { -- Exception generation. + shift = 0, mask = 0xe0001f, + [0x200000] = "brkW" + }, + { -- System instructions. + shift = 0, mask = 0x3fffff, + [0x03201f] = "nop" + }, + { -- Unconditional branch, register. + shift = 0, mask = 0xfffc1f, + [0x1f0000] = "brNx", [0x3f0000] = "blrNx", + [0x5f0000] = "retNx" + }, + } +} + +local map_init = { + shift = 25, mask = 15, + [0] = false, false, false, false, map_ls, map_datar, map_ls, map_datafp, + map_datai, map_datai, map_br, map_br, map_ls, map_datar, map_ls, map_datafp +} + +------------------------------------------------------------------------------ + +local map_regs = { x = {}, w = {}, d = {}, s = {} } + +for i=0,30 do + map_regs.x[i] = "x"..i + map_regs.w[i] = "w"..i + map_regs.d[i] = "d"..i + map_regs.s[i] = "s"..i +end +map_regs.x[31] = "sp" +map_regs.w[31] = "wsp" +map_regs.d[31] = "d31" +map_regs.s[31] = "s31" + +local map_cond = { + [0] = "eq", "ne", "cs", "cc", "mi", "pl", "vs", "vc", + "hi", "ls", "ge", "lt", "gt", "le", "al", +} + +local map_shift = { [0] = "lsl", "lsr", "asr", } + +local map_extend = { + [0] = "uxtb", "uxth", "uxtw", "uxtx", "sxtb", "sxth", "sxtw", "sxtx", +} + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then + extra = "\t->"..sym + end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-5s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-5s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +local function match_reg(p, pat, regnum) + return map_regs[match(pat, p.."%w-([xwds])")][regnum] +end + +local function fmt_hex32(x) + if x < 0 then + return tohex(x) + else + return format("%x", x) + end +end + +local imm13_rep = { 0x55555555, 0x11111111, 0x01010101, 0x00010001, 0x00000001 } + +local function decode_imm13(op) + local imms = band(rshift(op, 10), 63) + local immr = band(rshift(op, 16), 63) + if band(op, 0x00400000) == 0 then + local len = 5 + if imms >= 56 then + if imms >= 60 then len = 1 else len = 2 end + elseif imms >= 48 then len = 3 elseif imms >= 32 then len = 4 end + local l = lshift(1, len)-1 + local s = band(imms, l) + local r = band(immr, l) + local imm = ror(rshift(-1, 31-s), r) + if len ~= 5 then imm = band(imm, lshift(1, l)-1) + rshift(imm, 31-l) end + imm = imm * imm13_rep[len] + local ix = fmt_hex32(imm) + if rshift(op, 31) ~= 0 then + return ix..tohex(imm) + else + return ix + end + else + local lo, hi = -1, 0 + if imms < 32 then lo = rshift(-1, 31-imms) else hi = rshift(-1, 63-imms) end + if immr ~= 0 then + lo, hi = ror(lo, immr), ror(hi, immr) + local x = immr == 32 and 0 or band(bxor(lo, hi), lshift(-1, 32-immr)) + lo, hi = bxor(lo, x), bxor(hi, x) + if immr >= 32 then lo, hi = hi, lo end + end + if hi ~= 0 then + return fmt_hex32(hi)..tohex(lo) + else + return fmt_hex32(lo) + end + end +end + +local function parse_immpc(op, name) + if name == "b" or name == "bl" then + return arshift(lshift(op, 6), 4) + elseif name == "adr" or name == "adrp" then + local immlo = band(rshift(op, 29), 3) + local immhi = lshift(arshift(lshift(op, 8), 13), 2) + return bor(immhi, immlo) + elseif name == "tbz" or name == "tbnz" then + return lshift(arshift(lshift(op, 13), 18), 2) + else + return lshift(arshift(lshift(op, 8), 13), 2) + end +end + +local function parse_fpimm8(op) + local sign = band(op, 0x100000) == 0 and 1 or -1 + local exp = bxor(rshift(arshift(lshift(op, 12), 5), 24), 0x80) - 131 + local frac = 16+band(rshift(op, 13), 15) + return sign * frac * 2^exp +end + +local function prefer_bfx(sf, uns, imms, immr) + if imms < immr or imms == 31 or imms == 63 then + return false + end + if immr == 0 then + if sf == 0 and (imms == 7 or imms == 15) then + return false + end + if sf ~= 0 and uns == 0 and (imms == 7 or imms == 15 or imms == 31) then + return false + end + end + return true +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + local op = bor(lshift(b3, 24), lshift(b2, 16), lshift(b1, 8), b0) + local operands = {} + local suffix = "" + local last, name, pat + local map_reg + ctx.op = op + ctx.rel = nil + last = nil + local opat + opat = map_init[band(rshift(op, 25), 15)] + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + opat = opat[band(rshift(op, opat.shift), opat.mask)] or opat._ + end + name, pat = match(opat, "^([a-z0-9]*)(.*)") + local altname, pat2 = match(pat, "|([a-z0-9_.|]*)(.*)") + if altname then pat = pat2 end + if sub(pat, 1, 1) == "." then + local s2, p2 = match(pat, "^([a-z0-9.]*)(.*)") + suffix = suffix..s2 + pat = p2 + end + + local rt = match(pat, "[gf]") + if rt then + if rt == "g" then + map_reg = band(op, 0x80000000) ~= 0 and map_regs.x or map_regs.w + else + map_reg = band(op, 0x400000) ~= 0 and map_regs.d or map_regs.s + end + end + + local second0, immr + + for p in gmatch(pat, ".") do + local x = nil + if p == "D" then + local regnum = band(op, 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "N" then + local regnum = band(rshift(op, 5), 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "M" then + local regnum = band(rshift(op, 16), 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "A" then + local regnum = band(rshift(op, 10), 31) + x = rt and map_reg[regnum] or match_reg(p, pat, regnum) + elseif p == "B" then + local addr = ctx.addr + pos + parse_immpc(op, name) + ctx.rel = addr + x = "0x"..tohex(addr) + elseif p == "T" then + x = bor(band(rshift(op, 26), 32), band(rshift(op, 19), 31)) + elseif p == "V" then + x = band(op, 15) + elseif p == "C" then + x = map_cond[band(rshift(op, 12), 15)] + elseif p == "c" then + local rn = band(rshift(op, 5), 31) + local rm = band(rshift(op, 16), 31) + local cond = band(rshift(op, 12), 15) + local invc = bxor(cond, 1) + x = map_cond[cond] + if altname and cond ~= 14 and cond ~= 15 then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if rn == rm then + local n = #operands + operands[n] = nil + x = map_cond[invc] + if rn ~= 31 then + if a1 then name = a1 else name = altname end + else + operands[n-1] = nil + name = a2 + end + end + end + elseif p == "W" then + x = band(rshift(op, 5), 0xffff) + elseif p == "Y" then + x = band(rshift(op, 5), 0xffff) + local hw = band(rshift(op, 21), 3) + if altname and (hw == 0 or x ~= 0) then + name = altname + end + elseif p == "L" then + local rn = map_regs.x[band(rshift(op, 5), 31)] + local imm9 = arshift(lshift(op, 11), 23) + if band(op, 0x800) ~= 0 then + x = "["..rn..", #"..imm9.."]!" + else + x = "["..rn.."], #"..imm9 + end + elseif p == "U" then + local rn = map_regs.x[band(rshift(op, 5), 31)] + local sz = band(rshift(op, 30), 3) + local imm12 = lshift(arshift(lshift(op, 10), 20), sz) + if imm12 ~= 0 then + x = "["..rn..", #"..imm12.."]" + else + x = "["..rn.."]" + end + elseif p == "K" then + local rn = map_regs.x[band(rshift(op, 5), 31)] + local imm9 = arshift(lshift(op, 11), 23) + if imm9 ~= 0 then + x = "["..rn..", #"..imm9.."]" + else + x = "["..rn.."]" + end + elseif p == "O" then + local rn, rm = map_regs.x[band(rshift(op, 5), 31)] + local m = band(rshift(op, 13), 1) + if m == 0 then + rm = map_regs.w[band(rshift(op, 16), 31)] + else + rm = map_regs.x[band(rshift(op, 16), 31)] + end + x = "["..rn..", "..rm + local opt = band(rshift(op, 13), 7) + local s = band(rshift(op, 12), 1) + local sz = band(rshift(op, 30), 3) + -- extension to be applied + if opt == 3 then + if s == 0 then x = x.."]" + else x = x..", lsl #"..sz.."]" end + elseif opt == 2 or opt == 6 or opt == 7 then + if s == 0 then x = x..", "..map_extend[opt].."]" + else x = x..", "..map_extend[opt].." #"..sz.."]" end + else + x = x.."]" + end + elseif p == "P" then + local opcv, sh = rshift(op, 26), 2 + if opcv >= 0x2a then sh = 4 elseif opcv >= 0x1b then sh = 3 end + local imm7 = lshift(arshift(lshift(op, 10), 25), sh) + local rn = map_regs.x[band(rshift(op, 5), 31)] + local ind = band(rshift(op, 23), 3) + if ind == 1 then + x = "["..rn.."], #"..imm7 + elseif ind == 2 then + if imm7 == 0 then + x = "["..rn.."]" + else + x = "["..rn..", #"..imm7.."]" + end + elseif ind == 3 then + x = "["..rn..", #"..imm7.."]!" + end + elseif p == "I" then + local shf = band(rshift(op, 22), 3) + local imm12 = band(rshift(op, 10), 0x0fff) + local rn, rd = band(rshift(op, 5), 31), band(op, 31) + if altname == "mov" and shf == 0 and imm12 == 0 and (rn == 31 or rd == 31) then + name = altname + x = nil + elseif shf == 0 then + x = imm12 + elseif shf == 1 then + x = imm12..", lsl #12" + end + elseif p == "i" then + x = "#0x"..decode_imm13(op) + elseif p == "1" then + immr = band(rshift(op, 16), 63) + x = immr + elseif p == "2" then + x = band(rshift(op, 10), 63) + if altname then + local a1, a2, a3, a4, a5, a6 = + match(altname, "([^|]*)|([^|]*)|([^|]*)|([^|]*)|([^|]*)|(.*)") + local sf = band(rshift(op, 26), 32) + local uns = band(rshift(op, 30), 1) + if prefer_bfx(sf, uns, x, immr) then + name = a2 + x = x - immr + 1 + elseif immr == 0 and x == 7 then + local n = #operands + operands[n] = nil + if sf ~= 0 then + operands[n-1] = gsub(operands[n-1], "x", "w") + end + last = operands[n-1] + name = a6 + x = nil + elseif immr == 0 and x == 15 then + local n = #operands + operands[n] = nil + if sf ~= 0 then + operands[n-1] = gsub(operands[n-1], "x", "w") + end + last = operands[n-1] + name = a5 + x = nil + elseif x == 31 or x == 63 then + if x == 31 and immr == 0 and name == "sbfm" then + name = a4 + local n = #operands + operands[n] = nil + if sf ~= 0 then + operands[n-1] = gsub(operands[n-1], "x", "w") + end + last = operands[n-1] + else + name = a3 + end + x = nil + elseif band(x, 31) ~= 31 and immr == x+1 and name == "ubfm" then + name = a4 + last = "#"..(sf+32 - immr) + operands[#operands] = last + x = nil + elseif x < immr then + name = a1 + last = "#"..(sf+32 - immr) + operands[#operands] = last + x = x + 1 + end + end + elseif p == "3" then + x = band(rshift(op, 10), 63) + if altname then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if x < immr then + name = a1 + local sf = band(rshift(op, 26), 32) + last = "#"..(sf+32 - immr) + operands[#operands] = last + x = x + 1 + else + name = a2 + x = x - immr + 1 + end + end + elseif p == "4" then + x = band(rshift(op, 10), 63) + local rn = band(rshift(op, 5), 31) + local rm = band(rshift(op, 16), 31) + if altname and rn == rm then + local n = #operands + operands[n] = nil + last = operands[n-1] + name = altname + end + elseif p == "5" then + x = band(rshift(op, 16), 31) + elseif p == "S" then + x = band(rshift(op, 10), 63) + if x == 0 then x = nil + else x = map_shift[band(rshift(op, 22), 3)].." #"..x end + elseif p == "X" then + local opt = band(rshift(op, 13), 7) + -- Width specifier . + if opt ~= 3 and opt ~= 7 then + last = map_regs.w[band(rshift(op, 16), 31)] + operands[#operands] = last + end + x = band(rshift(op, 10), 7) + -- Extension. + if opt == 2 + band(rshift(op, 31), 1) and + band(rshift(op, second0 and 5 or 0), 31) == 31 then + if x == 0 then x = nil + else x = "lsl #"..x end + else + if x == 0 then x = map_extend[band(rshift(op, 13), 7)] + else x = map_extend[band(rshift(op, 13), 7)].." #"..x end + end + elseif p == "R" then + x = band(rshift(op,21), 3) + if x == 0 then x = nil + else x = "lsl #"..x*16 end + elseif p == "z" then + local n = #operands + if operands[n] == "sp" then operands[n] = "xzr" + elseif operands[n] == "wsp" then operands[n] = "wzr" + end + elseif p == "Z" then + x = 0 + elseif p == "F" then + x = parse_fpimm8(op) + elseif p == "g" or p == "f" or p == "x" or p == "w" or + p == "d" or p == "s" then + -- These are handled in D/N/M/A. + elseif p == "0" then + if last == "sp" or last == "wsp" then + local n = #operands + operands[n] = nil + last = operands[n-1] + if altname then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if not a1 then + name = altname + elseif second0 then + name, altname = a2, a1 + else + name, altname = a1, a2 + end + end + end + second0 = true + else + assert(false) + end + if x then + last = x + if type(x) == "number" then x = "#"..x end + operands[#operands+1] = x + end + end + + return putop(ctx, name..suffix, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + ctx.pos = ofs + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 32 then return map_regs.x[r] end + return map_regs.d[r-32] +end + +-- Public module functions. +return { + create = create, + disass = disass, + regname = regname +} + diff --git a/libs/LuaJIT/android/x86_64/jit/dis_arm64be.lua b/libs/LuaJIT/android/x86_64/jit/dis_arm64be.lua new file mode 100644 index 00000000..edcbffa8 --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/dis_arm64be.lua @@ -0,0 +1,12 @@ +---------------------------------------------------------------------------- +-- LuaJIT ARM64BE disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- ARM64 instructions are always little-endian. So just forward to the +-- common ARM64 disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +return require((string.match(..., ".*%.") or "").."dis_arm64") + diff --git a/libs/LuaJIT/android/x86_64/jit/dis_mips.lua b/libs/LuaJIT/android/x86_64/jit/dis_mips.lua new file mode 100644 index 00000000..6ad17f54 --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/dis_mips.lua @@ -0,0 +1,694 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT/X license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles all standard MIPS32R1/R2 instructions. +-- Default mode is big-endian, but see: dis_mipsel.lua +------------------------------------------------------------------------------ + +local type = type +local byte, format = string.byte, string.format +local match, gmatch = string.match, string.gmatch +local concat = table.concat +local bit = require("bit") +local band, bor, tohex = bit.band, bit.bor, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift + +------------------------------------------------------------------------------ +-- Extended opcode maps common to all MIPS releases +------------------------------------------------------------------------------ + +local map_srl = { shift = 21, mask = 1, [0] = "srlDTA", "rotrDTA", } +local map_srlv = { shift = 6, mask = 1, [0] = "srlvDTS", "rotrvDTS", } + +local map_cop0 = { + shift = 25, mask = 1, + [0] = { + shift = 21, mask = 15, + [0] = "mfc0TDW", [4] = "mtc0TDW", + [10] = "rdpgprDT", + [11] = { shift = 5, mask = 1, [0] = "diT0", "eiT0", }, + [14] = "wrpgprDT", + }, { + shift = 0, mask = 63, + [1] = "tlbr", [2] = "tlbwi", [6] = "tlbwr", [8] = "tlbp", + [24] = "eret", [31] = "deret", + [32] = "wait", + }, +} + +------------------------------------------------------------------------------ +-- Primary and extended opcode maps for MIPS R1-R5 +------------------------------------------------------------------------------ + +local map_movci = { shift = 16, mask = 1, [0] = "movfDSC", "movtDSC", } + +local map_special = { + shift = 0, mask = 63, + [0] = { shift = 0, mask = -1, [0] = "nop", _ = "sllDTA" }, + map_movci, map_srl, "sraDTA", + "sllvDTS", false, map_srlv, "sravDTS", + "jrS", "jalrD1S", "movzDST", "movnDST", + "syscallY", "breakY", false, "sync", + "mfhiD", "mthiS", "mfloD", "mtloS", + "dsllvDST", false, "dsrlvDST", "dsravDST", + "multST", "multuST", "divST", "divuST", + "dmultST", "dmultuST", "ddivST", "ddivuST", + "addDST", "addu|moveDST0", "subDST", "subu|neguDS0T", + "andDST", "or|moveDST0", "xorDST", "nor|notDST0", + false, false, "sltDST", "sltuDST", + "daddDST", "dadduDST", "dsubDST", "dsubuDST", + "tgeSTZ", "tgeuSTZ", "tltSTZ", "tltuSTZ", + "teqSTZ", false, "tneSTZ", false, + "dsllDTA", false, "dsrlDTA", "dsraDTA", + "dsll32DTA", false, "dsrl32DTA", "dsra32DTA", +} + +local map_special2 = { + shift = 0, mask = 63, + [0] = "maddST", "madduST", "mulDST", false, + "msubST", "msubuST", + [32] = "clzDS", [33] = "cloDS", + [63] = "sdbbpY", +} + +local map_bshfl = { + shift = 6, mask = 31, + [2] = "wsbhDT", + [16] = "sebDT", + [24] = "sehDT", +} + +local map_dbshfl = { + shift = 6, mask = 31, + [2] = "dsbhDT", + [5] = "dshdDT", +} + +local map_special3 = { + shift = 0, mask = 63, + [0] = "extTSAK", [1] = "dextmTSAP", [3] = "dextTSAK", + [4] = "insTSAL", [6] = "dinsuTSEQ", [7] = "dinsTSAL", + [32] = map_bshfl, [36] = map_dbshfl, [59] = "rdhwrTD", +} + +local map_regimm = { + shift = 16, mask = 31, + [0] = "bltzSB", "bgezSB", "bltzlSB", "bgezlSB", + false, false, false, false, + "tgeiSI", "tgeiuSI", "tltiSI", "tltiuSI", + "teqiSI", false, "tneiSI", false, + "bltzalSB", "bgezalSB", "bltzallSB", "bgezallSB", + false, false, false, false, + false, false, false, false, + false, false, false, "synciSO", +} + +local map_cop1s = { + shift = 0, mask = 63, + [0] = "add.sFGH", "sub.sFGH", "mul.sFGH", "div.sFGH", + "sqrt.sFG", "abs.sFG", "mov.sFG", "neg.sFG", + "round.l.sFG", "trunc.l.sFG", "ceil.l.sFG", "floor.l.sFG", + "round.w.sFG", "trunc.w.sFG", "ceil.w.sFG", "floor.w.sFG", + false, + { shift = 16, mask = 1, [0] = "movf.sFGC", "movt.sFGC" }, + "movz.sFGT", "movn.sFGT", + false, "recip.sFG", "rsqrt.sFG", false, + false, false, false, false, + false, false, false, false, + false, "cvt.d.sFG", false, false, + "cvt.w.sFG", "cvt.l.sFG", "cvt.ps.sFGH", false, + false, false, false, false, + false, false, false, false, + "c.f.sVGH", "c.un.sVGH", "c.eq.sVGH", "c.ueq.sVGH", + "c.olt.sVGH", "c.ult.sVGH", "c.ole.sVGH", "c.ule.sVGH", + "c.sf.sVGH", "c.ngle.sVGH", "c.seq.sVGH", "c.ngl.sVGH", + "c.lt.sVGH", "c.nge.sVGH", "c.le.sVGH", "c.ngt.sVGH", +} + +local map_cop1d = { + shift = 0, mask = 63, + [0] = "add.dFGH", "sub.dFGH", "mul.dFGH", "div.dFGH", + "sqrt.dFG", "abs.dFG", "mov.dFG", "neg.dFG", + "round.l.dFG", "trunc.l.dFG", "ceil.l.dFG", "floor.l.dFG", + "round.w.dFG", "trunc.w.dFG", "ceil.w.dFG", "floor.w.dFG", + false, + { shift = 16, mask = 1, [0] = "movf.dFGC", "movt.dFGC" }, + "movz.dFGT", "movn.dFGT", + false, "recip.dFG", "rsqrt.dFG", false, + false, false, false, false, + false, false, false, false, + "cvt.s.dFG", false, false, false, + "cvt.w.dFG", "cvt.l.dFG", false, false, + false, false, false, false, + false, false, false, false, + "c.f.dVGH", "c.un.dVGH", "c.eq.dVGH", "c.ueq.dVGH", + "c.olt.dVGH", "c.ult.dVGH", "c.ole.dVGH", "c.ule.dVGH", + "c.df.dVGH", "c.ngle.dVGH", "c.deq.dVGH", "c.ngl.dVGH", + "c.lt.dVGH", "c.nge.dVGH", "c.le.dVGH", "c.ngt.dVGH", +} + +local map_cop1ps = { + shift = 0, mask = 63, + [0] = "add.psFGH", "sub.psFGH", "mul.psFGH", false, + false, "abs.psFG", "mov.psFG", "neg.psFG", + false, false, false, false, + false, false, false, false, + false, + { shift = 16, mask = 1, [0] = "movf.psFGC", "movt.psFGC" }, + "movz.psFGT", "movn.psFGT", + false, false, false, false, + false, false, false, false, + false, false, false, false, + "cvt.s.puFG", false, false, false, + false, false, false, false, + "cvt.s.plFG", false, false, false, + "pll.psFGH", "plu.psFGH", "pul.psFGH", "puu.psFGH", + "c.f.psVGH", "c.un.psVGH", "c.eq.psVGH", "c.ueq.psVGH", + "c.olt.psVGH", "c.ult.psVGH", "c.ole.psVGH", "c.ule.psVGH", + "c.psf.psVGH", "c.ngle.psVGH", "c.pseq.psVGH", "c.ngl.psVGH", + "c.lt.psVGH", "c.nge.psVGH", "c.le.psVGH", "c.ngt.psVGH", +} + +local map_cop1w = { + shift = 0, mask = 63, + [32] = "cvt.s.wFG", [33] = "cvt.d.wFG", +} + +local map_cop1l = { + shift = 0, mask = 63, + [32] = "cvt.s.lFG", [33] = "cvt.d.lFG", +} + +local map_cop1bc = { + shift = 16, mask = 3, + [0] = "bc1fCB", "bc1tCB", "bc1flCB", "bc1tlCB", +} + +local map_cop1 = { + shift = 21, mask = 31, + [0] = "mfc1TG", "dmfc1TG", "cfc1TG", "mfhc1TG", + "mtc1TG", "dmtc1TG", "ctc1TG", "mthc1TG", + map_cop1bc, false, false, false, + false, false, false, false, + map_cop1s, map_cop1d, false, false, + map_cop1w, map_cop1l, map_cop1ps, +} + +local map_cop1x = { + shift = 0, mask = 63, + [0] = "lwxc1FSX", "ldxc1FSX", false, false, + false, "luxc1FSX", false, false, + "swxc1FSX", "sdxc1FSX", false, false, + false, "suxc1FSX", false, "prefxMSX", + false, false, false, false, + false, false, false, false, + false, false, false, false, + false, false, "alnv.psFGHS", false, + "madd.sFRGH", "madd.dFRGH", false, false, + false, false, "madd.psFRGH", false, + "msub.sFRGH", "msub.dFRGH", false, false, + false, false, "msub.psFRGH", false, + "nmadd.sFRGH", "nmadd.dFRGH", false, false, + false, false, "nmadd.psFRGH", false, + "nmsub.sFRGH", "nmsub.dFRGH", false, false, + false, false, "nmsub.psFRGH", false, +} + +local map_pri = { + [0] = map_special, map_regimm, "jJ", "jalJ", + "beq|beqz|bST00B", "bne|bnezST0B", "blezSB", "bgtzSB", + "addiTSI", "addiu|liTS0I", "sltiTSI", "sltiuTSI", + "andiTSU", "ori|liTS0U", "xoriTSU", "luiTU", + map_cop0, map_cop1, false, map_cop1x, + "beql|beqzlST0B", "bnel|bnezlST0B", "blezlSB", "bgtzlSB", + "daddiTSI", "daddiuTSI", false, false, + map_special2, "jalxJ", false, map_special3, + "lbTSO", "lhTSO", "lwlTSO", "lwTSO", + "lbuTSO", "lhuTSO", "lwrTSO", false, + "sbTSO", "shTSO", "swlTSO", "swTSO", + false, false, "swrTSO", "cacheNSO", + "llTSO", "lwc1HSO", "lwc2TSO", "prefNSO", + false, "ldc1HSO", "ldc2TSO", "ldTSO", + "scTSO", "swc1HSO", "swc2TSO", false, + false, "sdc1HSO", "sdc2TSO", "sdTSO", +} + +------------------------------------------------------------------------------ +-- Primary and extended opcode maps for MIPS R6 +------------------------------------------------------------------------------ + +local map_mul_r6 = { shift = 6, mask = 3, [2] = "mulDST", [3] = "muhDST" } +local map_mulu_r6 = { shift = 6, mask = 3, [2] = "muluDST", [3] = "muhuDST" } +local map_div_r6 = { shift = 6, mask = 3, [2] = "divDST", [3] = "modDST" } +local map_divu_r6 = { shift = 6, mask = 3, [2] = "divuDST", [3] = "moduDST" } +local map_dmul_r6 = { shift = 6, mask = 3, [2] = "dmulDST", [3] = "dmuhDST" } +local map_dmulu_r6 = { shift = 6, mask = 3, [2] = "dmuluDST", [3] = "dmuhuDST" } +local map_ddiv_r6 = { shift = 6, mask = 3, [2] = "ddivDST", [3] = "dmodDST" } +local map_ddivu_r6 = { shift = 6, mask = 3, [2] = "ddivuDST", [3] = "dmoduDST" } + +local map_special_r6 = { + shift = 0, mask = 63, + [0] = { shift = 0, mask = -1, [0] = "nop", _ = "sllDTA" }, + false, map_srl, "sraDTA", + "sllvDTS", false, map_srlv, "sravDTS", + "jrS", "jalrD1S", false, false, + "syscallY", "breakY", false, "sync", + "clzDS", "cloDS", "dclzDS", "dcloDS", + "dsllvDST", "dlsaDSTA", "dsrlvDST", "dsravDST", + map_mul_r6, map_mulu_r6, map_div_r6, map_divu_r6, + map_dmul_r6, map_dmulu_r6, map_ddiv_r6, map_ddivu_r6, + "addDST", "addu|moveDST0", "subDST", "subu|neguDS0T", + "andDST", "or|moveDST0", "xorDST", "nor|notDST0", + false, false, "sltDST", "sltuDST", + "daddDST", "dadduDST", "dsubDST", "dsubuDST", + "tgeSTZ", "tgeuSTZ", "tltSTZ", "tltuSTZ", + "teqSTZ", "seleqzDST", "tneSTZ", "selnezDST", + "dsllDTA", false, "dsrlDTA", "dsraDTA", + "dsll32DTA", false, "dsrl32DTA", "dsra32DTA", +} + +local map_bshfl_r6 = { + shift = 9, mask = 3, + [1] = "alignDSTa", + _ = { + shift = 6, mask = 31, + [0] = "bitswapDT", + [2] = "wsbhDT", + [16] = "sebDT", + [24] = "sehDT", + } +} + +local map_dbshfl_r6 = { + shift = 9, mask = 3, + [1] = "dalignDSTa", + _ = { + shift = 6, mask = 31, + [0] = "dbitswapDT", + [2] = "dsbhDT", + [5] = "dshdDT", + } +} + +local map_special3_r6 = { + shift = 0, mask = 63, + [0] = "extTSAK", [1] = "dextmTSAP", [3] = "dextTSAK", + [4] = "insTSAL", [6] = "dinsuTSEQ", [7] = "dinsTSAL", + [32] = map_bshfl_r6, [36] = map_dbshfl_r6, [59] = "rdhwrTD", +} + +local map_regimm_r6 = { + shift = 16, mask = 31, + [0] = "bltzSB", [1] = "bgezSB", + [6] = "dahiSI", [30] = "datiSI", + [23] = "sigrieI", [31] = "synciSO", +} + +local map_pcrel_r6 = { + shift = 19, mask = 3, + [0] = "addiupcS2", "lwpcS2", "lwupcS2", { + shift = 18, mask = 1, + [0] = "ldpcS3", { shift = 16, mask = 3, [2] = "auipcSI", [3] = "aluipcSI" } + } +} + +local map_cop1s_r6 = { + shift = 0, mask = 63, + [0] = "add.sFGH", "sub.sFGH", "mul.sFGH", "div.sFGH", + "sqrt.sFG", "abs.sFG", "mov.sFG", "neg.sFG", + "round.l.sFG", "trunc.l.sFG", "ceil.l.sFG", "floor.l.sFG", + "round.w.sFG", "trunc.w.sFG", "ceil.w.sFG", "floor.w.sFG", + "sel.sFGH", false, false, false, + "seleqz.sFGH", "recip.sFG", "rsqrt.sFG", "selnez.sFGH", + "maddf.sFGH", "msubf.sFGH", "rint.sFG", "class.sFG", + "min.sFGH", "mina.sFGH", "max.sFGH", "maxa.sFGH", + false, "cvt.d.sFG", false, false, + "cvt.w.sFG", "cvt.l.sFG", +} + +local map_cop1d_r6 = { + shift = 0, mask = 63, + [0] = "add.dFGH", "sub.dFGH", "mul.dFGH", "div.dFGH", + "sqrt.dFG", "abs.dFG", "mov.dFG", "neg.dFG", + "round.l.dFG", "trunc.l.dFG", "ceil.l.dFG", "floor.l.dFG", + "round.w.dFG", "trunc.w.dFG", "ceil.w.dFG", "floor.w.dFG", + "sel.dFGH", false, false, false, + "seleqz.dFGH", "recip.dFG", "rsqrt.dFG", "selnez.dFGH", + "maddf.dFGH", "msubf.dFGH", "rint.dFG", "class.dFG", + "min.dFGH", "mina.dFGH", "max.dFGH", "maxa.dFGH", + "cvt.s.dFG", false, false, false, + "cvt.w.dFG", "cvt.l.dFG", +} + +local map_cop1w_r6 = { + shift = 0, mask = 63, + [0] = "cmp.af.sFGH", "cmp.un.sFGH", "cmp.eq.sFGH", "cmp.ueq.sFGH", + "cmp.lt.sFGH", "cmp.ult.sFGH", "cmp.le.sFGH", "cmp.ule.sFGH", + "cmp.saf.sFGH", "cmp.sun.sFGH", "cmp.seq.sFGH", "cmp.sueq.sFGH", + "cmp.slt.sFGH", "cmp.sult.sFGH", "cmp.sle.sFGH", "cmp.sule.sFGH", + false, "cmp.or.sFGH", "cmp.une.sFGH", "cmp.ne.sFGH", + false, false, false, false, + false, "cmp.sor.sFGH", "cmp.sune.sFGH", "cmp.sne.sFGH", + false, false, false, false, + "cvt.s.wFG", "cvt.d.wFG", +} + +local map_cop1l_r6 = { + shift = 0, mask = 63, + [0] = "cmp.af.dFGH", "cmp.un.dFGH", "cmp.eq.dFGH", "cmp.ueq.dFGH", + "cmp.lt.dFGH", "cmp.ult.dFGH", "cmp.le.dFGH", "cmp.ule.dFGH", + "cmp.saf.dFGH", "cmp.sun.dFGH", "cmp.seq.dFGH", "cmp.sueq.dFGH", + "cmp.slt.dFGH", "cmp.sult.dFGH", "cmp.sle.dFGH", "cmp.sule.dFGH", + false, "cmp.or.dFGH", "cmp.une.dFGH", "cmp.ne.dFGH", + false, false, false, false, + false, "cmp.sor.dFGH", "cmp.sune.dFGH", "cmp.sne.dFGH", + false, false, false, false, + "cvt.s.lFG", "cvt.d.lFG", +} + +local map_cop1_r6 = { + shift = 21, mask = 31, + [0] = "mfc1TG", "dmfc1TG", "cfc1TG", "mfhc1TG", + "mtc1TG", "dmtc1TG", "ctc1TG", "mthc1TG", + false, "bc1eqzHB", false, false, + false, "bc1nezHB", false, false, + map_cop1s_r6, map_cop1d_r6, false, false, + map_cop1w_r6, map_cop1l_r6, +} + +local function maprs_popTS(rs, rt) + if rt == 0 then return 0 elseif rs == 0 then return 1 + elseif rs == rt then return 2 else return 3 end +end + +local map_pop06_r6 = { + maprs = maprs_popTS, [0] = "blezSB", "blezalcTB", "bgezalcTB", "bgeucSTB" +} +local map_pop07_r6 = { + maprs = maprs_popTS, [0] = "bgtzSB", "bgtzalcTB", "bltzalcTB", "bltucSTB" +} +local map_pop26_r6 = { + maprs = maprs_popTS, "blezcTB", "bgezcTB", "bgecSTB" +} +local map_pop27_r6 = { + maprs = maprs_popTS, "bgtzcTB", "bltzcTB", "bltcSTB" +} + +local function maprs_popS(rs, rt) + if rs == 0 then return 0 else return 1 end +end + +local map_pop66_r6 = { + maprs = maprs_popS, [0] = "jicTI", "beqzcSb" +} +local map_pop76_r6 = { + maprs = maprs_popS, [0] = "jialcTI", "bnezcSb" +} + +local function maprs_popST(rs, rt) + if rs >= rt then return 0 elseif rs == 0 then return 1 else return 2 end +end + +local map_pop10_r6 = { + maprs = maprs_popST, [0] = "bovcSTB", "beqzalcTB", "beqcSTB" +} +local map_pop30_r6 = { + maprs = maprs_popST, [0] = "bnvcSTB", "bnezalcTB", "bnecSTB" +} + +local map_pri_r6 = { + [0] = map_special_r6, map_regimm_r6, "jJ", "jalJ", + "beq|beqz|bST00B", "bne|bnezST0B", map_pop06_r6, map_pop07_r6, + map_pop10_r6, "addiu|liTS0I", "sltiTSI", "sltiuTSI", + "andiTSU", "ori|liTS0U", "xoriTSU", "aui|luiTS0U", + map_cop0, map_cop1_r6, false, false, + false, false, map_pop26_r6, map_pop27_r6, + map_pop30_r6, "daddiuTSI", false, false, + false, "dauiTSI", false, map_special3_r6, + "lbTSO", "lhTSO", false, "lwTSO", + "lbuTSO", "lhuTSO", false, false, + "sbTSO", "shTSO", false, "swTSO", + false, false, false, false, + false, "lwc1HSO", "bc#", false, + false, "ldc1HSO", map_pop66_r6, "ldTSO", + false, "swc1HSO", "balc#", map_pcrel_r6, + false, "sdc1HSO", map_pop76_r6, "sdTSO", +} + +------------------------------------------------------------------------------ + +local map_gpr = { + [0] = "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", + "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", + "r24", "r25", "r26", "r27", "r28", "sp", "r30", "ra", +} + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then extra = "\t->"..sym end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-7s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-7s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +local function get_be(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + return bor(lshift(b0, 24), lshift(b1, 16), lshift(b2, 8), b3) +end + +local function get_le(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + return bor(lshift(b3, 24), lshift(b2, 16), lshift(b1, 8), b0) +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local op = ctx:get() + local operands = {} + local last = nil + ctx.op = op + ctx.rel = nil + + local opat = ctx.map_pri[rshift(op, 26)] + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + if opat.maprs then + opat = opat[opat.maprs(band(rshift(op,21),31), band(rshift(op,16),31))] + else + opat = opat[band(rshift(op, opat.shift), opat.mask)] or opat._ + end + end + local name, pat = match(opat, "^([a-z0-9_.]*)(.*)") + local altname, pat2 = match(pat, "|([a-z0-9_.|]*)(.*)") + if altname then pat = pat2 end + + for p in gmatch(pat, ".") do + local x = nil + if p == "S" then + x = map_gpr[band(rshift(op, 21), 31)] + elseif p == "T" then + x = map_gpr[band(rshift(op, 16), 31)] + elseif p == "D" then + x = map_gpr[band(rshift(op, 11), 31)] + elseif p == "F" then + x = "f"..band(rshift(op, 6), 31) + elseif p == "G" then + x = "f"..band(rshift(op, 11), 31) + elseif p == "H" then + x = "f"..band(rshift(op, 16), 31) + elseif p == "R" then + x = "f"..band(rshift(op, 21), 31) + elseif p == "A" then + x = band(rshift(op, 6), 31) + elseif p == "a" then + x = band(rshift(op, 6), 7) + elseif p == "E" then + x = band(rshift(op, 6), 31) + 32 + elseif p == "M" then + x = band(rshift(op, 11), 31) + elseif p == "N" then + x = band(rshift(op, 16), 31) + elseif p == "C" then + x = band(rshift(op, 18), 7) + if x == 0 then x = nil end + elseif p == "K" then + x = band(rshift(op, 11), 31) + 1 + elseif p == "P" then + x = band(rshift(op, 11), 31) + 33 + elseif p == "L" then + x = band(rshift(op, 11), 31) - last + 1 + elseif p == "Q" then + x = band(rshift(op, 11), 31) - last + 33 + elseif p == "I" then + x = arshift(lshift(op, 16), 16) + elseif p == "2" then + x = arshift(lshift(op, 13), 11) + elseif p == "3" then + x = arshift(lshift(op, 14), 11) + elseif p == "U" then + x = band(op, 0xffff) + elseif p == "O" then + local disp = arshift(lshift(op, 16), 16) + operands[#operands] = format("%d(%s)", disp, last) + elseif p == "X" then + local index = map_gpr[band(rshift(op, 16), 31)] + operands[#operands] = format("%s(%s)", index, last) + elseif p == "B" then + x = ctx.addr + ctx.pos + arshift(lshift(op, 16), 14) + 4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "b" then + x = ctx.addr + ctx.pos + arshift(lshift(op, 11), 9) + 4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "#" then + x = ctx.addr + ctx.pos + arshift(lshift(op, 6), 4) + 4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "J" then + local a = ctx.addr + ctx.pos + x = a - band(a, 0x0fffffff) + band(op, 0x03ffffff)*4 + ctx.rel = x + x = format("0x%08x", x) + elseif p == "V" then + x = band(rshift(op, 8), 7) + if x == 0 then x = nil end + elseif p == "W" then + x = band(op, 7) + if x == 0 then x = nil end + elseif p == "Y" then + x = band(rshift(op, 6), 0x000fffff) + if x == 0 then x = nil end + elseif p == "Z" then + x = band(rshift(op, 6), 1023) + if x == 0 then x = nil end + elseif p == "0" then + if last == "r0" or last == 0 then + local n = #operands + operands[n] = nil + last = operands[n-1] + if altname then + local a1, a2 = match(altname, "([^|]*)|(.*)") + if a1 then name, altname = a1, a2 + else name = altname end + end + end + elseif p == "1" then + if last == "ra" then + operands[#operands] = nil + end + else + assert(false) + end + if x then operands[#operands+1] = x; last = x end + end + + return putop(ctx, name, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + stop = stop - stop % 4 + ctx.pos = ofs - ofs % 4 + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + ctx.get = get_be + ctx.map_pri = map_pri + return ctx +end + +local function create_el(code, addr, out) + local ctx = create(code, addr, out) + ctx.get = get_le + return ctx +end + +local function create_r6(code, addr, out) + local ctx = create(code, addr, out) + ctx.map_pri = map_pri_r6 + return ctx +end + +local function create_r6_el(code, addr, out) + local ctx = create(code, addr, out) + ctx.get = get_le + ctx.map_pri = map_pri_r6 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +local function disass_el(code, addr, out) + create_el(code, addr, out):disass() +end + +local function disass_r6(code, addr, out) + create_r6(code, addr, out):disass() +end + +local function disass_r6_el(code, addr, out) + create_r6_el(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 32 then return map_gpr[r] end + return "f"..(r-32) +end + +-- Public module functions. +return { + create = create, + create_el = create_el, + create_r6 = create_r6, + create_r6_el = create_r6_el, + disass = disass, + disass_el = disass_el, + disass_r6 = disass_r6, + disass_r6_el = disass_r6_el, + regname = regname +} + diff --git a/libs/LuaJIT/android/x86_64/jit/dis_mips64.lua b/libs/LuaJIT/android/x86_64/jit/dis_mips64.lua new file mode 100644 index 00000000..5ad48f8f --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/dis_mips64.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64 disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the big-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create, + disass = dis_mips.disass, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/x86_64/jit/dis_mips64el.lua b/libs/LuaJIT/android/x86_64/jit/dis_mips64el.lua new file mode 100644 index 00000000..d50e3a18 --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/dis_mips64el.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64EL disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the little-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_el, + disass = dis_mips.disass_el, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/x86_64/jit/dis_mips64r6.lua b/libs/LuaJIT/android/x86_64/jit/dis_mips64r6.lua new file mode 100644 index 00000000..921b3cbe --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/dis_mips64r6.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64R6 disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the r6 big-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_r6, + disass = dis_mips.disass_r6, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/x86_64/jit/dis_mips64r6el.lua b/libs/LuaJIT/android/x86_64/jit/dis_mips64r6el.lua new file mode 100644 index 00000000..aadef9f3 --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/dis_mips64r6el.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPS64R6EL disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the r6 little-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_r6_el, + disass = dis_mips.disass_r6_el, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/x86_64/jit/dis_mipsel.lua b/libs/LuaJIT/android/x86_64/jit/dis_mipsel.lua new file mode 100644 index 00000000..52cebefb --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/dis_mipsel.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT MIPSEL disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the little-endian functions from the +-- MIPS disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_mips = require((string.match(..., ".*%.") or "").."dis_mips") +return { + create = dis_mips.create_el, + disass = dis_mips.disass_el, + regname = dis_mips.regname +} + diff --git a/libs/LuaJIT/android/x86_64/jit/dis_ppc.lua b/libs/LuaJIT/android/x86_64/jit/dis_ppc.lua new file mode 100644 index 00000000..08d742f1 --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/dis_ppc.lua @@ -0,0 +1,591 @@ +---------------------------------------------------------------------------- +-- LuaJIT PPC disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT/X license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- It disassembles all common, non-privileged 32/64 bit PowerPC instructions +-- plus the e500 SPE instructions and some Cell/Xenon extensions. +-- +-- NYI: VMX, VMX128 +------------------------------------------------------------------------------ + +local type = type +local byte, format = string.byte, string.format +local match, gmatch, gsub = string.match, string.gmatch, string.gsub +local concat = table.concat +local bit = require("bit") +local band, bor, tohex = bit.band, bit.bor, bit.tohex +local lshift, rshift, arshift = bit.lshift, bit.rshift, bit.arshift + +------------------------------------------------------------------------------ +-- Primary and extended opcode maps +------------------------------------------------------------------------------ + +local map_crops = { + shift = 1, mask = 1023, + [0] = "mcrfXX", + [33] = "crnor|crnotCCC=", [129] = "crandcCCC", + [193] = "crxor|crclrCCC%", [225] = "crnandCCC", + [257] = "crandCCC", [289] = "creqv|crsetCCC%", + [417] = "crorcCCC", [449] = "cror|crmoveCCC=", + [16] = "b_lrKB", [528] = "b_ctrKB", + [150] = "isync", +} + +local map_rlwinm = setmetatable({ + shift = 0, mask = -1, +}, +{ __index = function(t, x) + local rot = band(rshift(x, 11), 31) + local mb = band(rshift(x, 6), 31) + local me = band(rshift(x, 1), 31) + if mb == 0 and me == 31-rot then + return "slwiRR~A." + elseif me == 31 and mb == 32-rot then + return "srwiRR~-A." + else + return "rlwinmRR~AAA." + end + end +}) + +local map_rld = { + shift = 2, mask = 7, + [0] = "rldiclRR~HM.", "rldicrRR~HM.", "rldicRR~HM.", "rldimiRR~HM.", + { + shift = 1, mask = 1, + [0] = "rldclRR~RM.", "rldcrRR~RM.", + }, +} + +local map_ext = setmetatable({ + shift = 1, mask = 1023, + + [0] = "cmp_YLRR", [32] = "cmpl_YLRR", + [4] = "twARR", [68] = "tdARR", + + [8] = "subfcRRR.", [40] = "subfRRR.", + [104] = "negRR.", [136] = "subfeRRR.", + [200] = "subfzeRR.", [232] = "subfmeRR.", + [520] = "subfcoRRR.", [552] = "subfoRRR.", + [616] = "negoRR.", [648] = "subfeoRRR.", + [712] = "subfzeoRR.", [744] = "subfmeoRR.", + + [9] = "mulhduRRR.", [73] = "mulhdRRR.", [233] = "mulldRRR.", + [457] = "divduRRR.", [489] = "divdRRR.", + [745] = "mulldoRRR.", + [969] = "divduoRRR.", [1001] = "divdoRRR.", + + [10] = "addcRRR.", [138] = "addeRRR.", + [202] = "addzeRR.", [234] = "addmeRR.", [266] = "addRRR.", + [522] = "addcoRRR.", [650] = "addeoRRR.", + [714] = "addzeoRR.", [746] = "addmeoRR.", [778] = "addoRRR.", + + [11] = "mulhwuRRR.", [75] = "mulhwRRR.", [235] = "mullwRRR.", + [459] = "divwuRRR.", [491] = "divwRRR.", + [747] = "mullwoRRR.", + [971] = "divwouRRR.", [1003] = "divwoRRR.", + + [15] = "iselltRRR", [47] = "iselgtRRR", [79] = "iseleqRRR", + + [144] = { shift = 20, mask = 1, [0] = "mtcrfRZ~", "mtocrfRZ~", }, + [19] = { shift = 20, mask = 1, [0] = "mfcrR", "mfocrfRZ", }, + [371] = { shift = 11, mask = 1023, [392] = "mftbR", [424] = "mftbuR", }, + [339] = { + shift = 11, mask = 1023, + [32] = "mferR", [256] = "mflrR", [288] = "mfctrR", [16] = "mfspefscrR", + }, + [467] = { + shift = 11, mask = 1023, + [32] = "mtxerR", [256] = "mtlrR", [288] = "mtctrR", [16] = "mtspefscrR", + }, + + [20] = "lwarxRR0R", [84] = "ldarxRR0R", + + [21] = "ldxRR0R", [53] = "lduxRRR", + [149] = "stdxRR0R", [181] = "stduxRRR", + [341] = "lwaxRR0R", [373] = "lwauxRRR", + + [23] = "lwzxRR0R", [55] = "lwzuxRRR", + [87] = "lbzxRR0R", [119] = "lbzuxRRR", + [151] = "stwxRR0R", [183] = "stwuxRRR", + [215] = "stbxRR0R", [247] = "stbuxRRR", + [279] = "lhzxRR0R", [311] = "lhzuxRRR", + [343] = "lhaxRR0R", [375] = "lhauxRRR", + [407] = "sthxRR0R", [439] = "sthuxRRR", + + [54] = "dcbst-R0R", [86] = "dcbf-R0R", + [150] = "stwcxRR0R.", [214] = "stdcxRR0R.", + [246] = "dcbtst-R0R", [278] = "dcbt-R0R", + [310] = "eciwxRR0R", [438] = "ecowxRR0R", + [470] = "dcbi-RR", + + [598] = { + shift = 21, mask = 3, + [0] = "sync", "lwsync", "ptesync", + }, + [758] = "dcba-RR", + [854] = "eieio", [982] = "icbi-R0R", [1014] = "dcbz-R0R", + + [26] = "cntlzwRR~", [58] = "cntlzdRR~", + [122] = "popcntbRR~", + [154] = "prtywRR~", [186] = "prtydRR~", + + [28] = "andRR~R.", [60] = "andcRR~R.", [124] = "nor|notRR~R=.", + [284] = "eqvRR~R.", [316] = "xorRR~R.", + [412] = "orcRR~R.", [444] = "or|mrRR~R=.", [476] = "nandRR~R.", + [508] = "cmpbRR~R", + + [512] = "mcrxrX", + + [532] = "ldbrxRR0R", [660] = "stdbrxRR0R", + + [533] = "lswxRR0R", [597] = "lswiRR0A", + [661] = "stswxRR0R", [725] = "stswiRR0A", + + [534] = "lwbrxRR0R", [662] = "stwbrxRR0R", + [790] = "lhbrxRR0R", [918] = "sthbrxRR0R", + + [535] = "lfsxFR0R", [567] = "lfsuxFRR", + [599] = "lfdxFR0R", [631] = "lfduxFRR", + [663] = "stfsxFR0R", [695] = "stfsuxFRR", + [727] = "stfdxFR0R", [759] = "stfduxFR0R", + [855] = "lfiwaxFR0R", + [983] = "stfiwxFR0R", + + [24] = "slwRR~R.", + + [27] = "sldRR~R.", [536] = "srwRR~R.", + [792] = "srawRR~R.", [824] = "srawiRR~A.", + + [794] = "sradRR~R.", [826] = "sradiRR~H.", [827] = "sradiRR~H.", + [922] = "extshRR~.", [954] = "extsbRR~.", [986] = "extswRR~.", + + [539] = "srdRR~R.", +}, +{ __index = function(t, x) + if band(x, 31) == 15 then return "iselRRRC" end + end +}) + +local map_ld = { + shift = 0, mask = 3, + [0] = "ldRRE", "lduRRE", "lwaRRE", +} + +local map_std = { + shift = 0, mask = 3, + [0] = "stdRRE", "stduRRE", +} + +local map_fps = { + shift = 5, mask = 1, + { + shift = 1, mask = 15, + [0] = false, false, "fdivsFFF.", false, + "fsubsFFF.", "faddsFFF.", "fsqrtsF-F.", false, + "fresF-F.", "fmulsFF-F.", "frsqrtesF-F.", false, + "fmsubsFFFF~.", "fmaddsFFFF~.", "fnmsubsFFFF~.", "fnmaddsFFFF~.", + } +} + +local map_fpd = { + shift = 5, mask = 1, + [0] = { + shift = 1, mask = 1023, + [0] = "fcmpuXFF", [32] = "fcmpoXFF", [64] = "mcrfsXX", + [38] = "mtfsb1A.", [70] = "mtfsb0A.", [134] = "mtfsfiA>>-A>", + [8] = "fcpsgnFFF.", [40] = "fnegF-F.", [72] = "fmrF-F.", + [136] = "fnabsF-F.", [264] = "fabsF-F.", + [12] = "frspF-F.", + [14] = "fctiwF-F.", [15] = "fctiwzF-F.", + [583] = "mffsF.", [711] = "mtfsfZF.", + [392] = "frinF-F.", [424] = "frizF-F.", + [456] = "fripF-F.", [488] = "frimF-F.", + [814] = "fctidF-F.", [815] = "fctidzF-F.", [846] = "fcfidF-F.", + }, + { + shift = 1, mask = 15, + [0] = false, false, "fdivFFF.", false, + "fsubFFF.", "faddFFF.", "fsqrtF-F.", "fselFFFF~.", + "freF-F.", "fmulFF-F.", "frsqrteF-F.", false, + "fmsubFFFF~.", "fmaddFFFF~.", "fnmsubFFFF~.", "fnmaddFFFF~.", + } +} + +local map_spe = { + shift = 0, mask = 2047, + + [512] = "evaddwRRR", [514] = "evaddiwRAR~", + [516] = "evsubwRRR~", [518] = "evsubiwRAR~", + [520] = "evabsRR", [521] = "evnegRR", + [522] = "evextsbRR", [523] = "evextshRR", [524] = "evrndwRR", + [525] = "evcntlzwRR", [526] = "evcntlswRR", + + [527] = "brincRRR", + + [529] = "evandRRR", [530] = "evandcRRR", [534] = "evxorRRR", + [535] = "evor|evmrRRR=", [536] = "evnor|evnotRRR=", + [537] = "eveqvRRR", [539] = "evorcRRR", [542] = "evnandRRR", + + [544] = "evsrwuRRR", [545] = "evsrwsRRR", + [546] = "evsrwiuRRA", [547] = "evsrwisRRA", + [548] = "evslwRRR", [550] = "evslwiRRA", + [552] = "evrlwRRR", [553] = "evsplatiRS", + [554] = "evrlwiRRA", [555] = "evsplatfiRS", + [556] = "evmergehiRRR", [557] = "evmergeloRRR", + [558] = "evmergehiloRRR", [559] = "evmergelohiRRR", + + [560] = "evcmpgtuYRR", [561] = "evcmpgtsYRR", + [562] = "evcmpltuYRR", [563] = "evcmpltsYRR", + [564] = "evcmpeqYRR", + + [632] = "evselRRR", [633] = "evselRRRW", + [634] = "evselRRRW", [635] = "evselRRRW", + [636] = "evselRRRW", [637] = "evselRRRW", + [638] = "evselRRRW", [639] = "evselRRRW", + + [640] = "evfsaddRRR", [641] = "evfssubRRR", + [644] = "evfsabsRR", [645] = "evfsnabsRR", [646] = "evfsnegRR", + [648] = "evfsmulRRR", [649] = "evfsdivRRR", + [652] = "evfscmpgtYRR", [653] = "evfscmpltYRR", [654] = "evfscmpeqYRR", + [656] = "evfscfuiR-R", [657] = "evfscfsiR-R", + [658] = "evfscfufR-R", [659] = "evfscfsfR-R", + [660] = "evfsctuiR-R", [661] = "evfsctsiR-R", + [662] = "evfsctufR-R", [663] = "evfsctsfR-R", + [664] = "evfsctuizR-R", [666] = "evfsctsizR-R", + [668] = "evfststgtYRR", [669] = "evfststltYRR", [670] = "evfststeqYRR", + + [704] = "efsaddRRR", [705] = "efssubRRR", + [708] = "efsabsRR", [709] = "efsnabsRR", [710] = "efsnegRR", + [712] = "efsmulRRR", [713] = "efsdivRRR", + [716] = "efscmpgtYRR", [717] = "efscmpltYRR", [718] = "efscmpeqYRR", + [719] = "efscfdR-R", + [720] = "efscfuiR-R", [721] = "efscfsiR-R", + [722] = "efscfufR-R", [723] = "efscfsfR-R", + [724] = "efsctuiR-R", [725] = "efsctsiR-R", + [726] = "efsctufR-R", [727] = "efsctsfR-R", + [728] = "efsctuizR-R", [730] = "efsctsizR-R", + [732] = "efststgtYRR", [733] = "efststltYRR", [734] = "efststeqYRR", + + [736] = "efdaddRRR", [737] = "efdsubRRR", + [738] = "efdcfuidR-R", [739] = "efdcfsidR-R", + [740] = "efdabsRR", [741] = "efdnabsRR", [742] = "efdnegRR", + [744] = "efdmulRRR", [745] = "efddivRRR", + [746] = "efdctuidzR-R", [747] = "efdctsidzR-R", + [748] = "efdcmpgtYRR", [749] = "efdcmpltYRR", [750] = "efdcmpeqYRR", + [751] = "efdcfsR-R", + [752] = "efdcfuiR-R", [753] = "efdcfsiR-R", + [754] = "efdcfufR-R", [755] = "efdcfsfR-R", + [756] = "efdctuiR-R", [757] = "efdctsiR-R", + [758] = "efdctufR-R", [759] = "efdctsfR-R", + [760] = "efdctuizR-R", [762] = "efdctsizR-R", + [764] = "efdtstgtYRR", [765] = "efdtstltYRR", [766] = "efdtsteqYRR", + + [768] = "evlddxRR0R", [769] = "evlddRR8", + [770] = "evldwxRR0R", [771] = "evldwRR8", + [772] = "evldhxRR0R", [773] = "evldhRR8", + [776] = "evlhhesplatxRR0R", [777] = "evlhhesplatRR2", + [780] = "evlhhousplatxRR0R", [781] = "evlhhousplatRR2", + [782] = "evlhhossplatxRR0R", [783] = "evlhhossplatRR2", + [784] = "evlwhexRR0R", [785] = "evlwheRR4", + [788] = "evlwhouxRR0R", [789] = "evlwhouRR4", + [790] = "evlwhosxRR0R", [791] = "evlwhosRR4", + [792] = "evlwwsplatxRR0R", [793] = "evlwwsplatRR4", + [796] = "evlwhsplatxRR0R", [797] = "evlwhsplatRR4", + + [800] = "evstddxRR0R", [801] = "evstddRR8", + [802] = "evstdwxRR0R", [803] = "evstdwRR8", + [804] = "evstdhxRR0R", [805] = "evstdhRR8", + [816] = "evstwhexRR0R", [817] = "evstwheRR4", + [820] = "evstwhoxRR0R", [821] = "evstwhoRR4", + [824] = "evstwwexRR0R", [825] = "evstwweRR4", + [828] = "evstwwoxRR0R", [829] = "evstwwoRR4", + + [1027] = "evmhessfRRR", [1031] = "evmhossfRRR", [1032] = "evmheumiRRR", + [1033] = "evmhesmiRRR", [1035] = "evmhesmfRRR", [1036] = "evmhoumiRRR", + [1037] = "evmhosmiRRR", [1039] = "evmhosmfRRR", [1059] = "evmhessfaRRR", + [1063] = "evmhossfaRRR", [1064] = "evmheumiaRRR", [1065] = "evmhesmiaRRR", + [1067] = "evmhesmfaRRR", [1068] = "evmhoumiaRRR", [1069] = "evmhosmiaRRR", + [1071] = "evmhosmfaRRR", [1095] = "evmwhssfRRR", [1096] = "evmwlumiRRR", + [1100] = "evmwhumiRRR", [1101] = "evmwhsmiRRR", [1103] = "evmwhsmfRRR", + [1107] = "evmwssfRRR", [1112] = "evmwumiRRR", [1113] = "evmwsmiRRR", + [1115] = "evmwsmfRRR", [1127] = "evmwhssfaRRR", [1128] = "evmwlumiaRRR", + [1132] = "evmwhumiaRRR", [1133] = "evmwhsmiaRRR", [1135] = "evmwhsmfaRRR", + [1139] = "evmwssfaRRR", [1144] = "evmwumiaRRR", [1145] = "evmwsmiaRRR", + [1147] = "evmwsmfaRRR", + + [1216] = "evaddusiaawRR", [1217] = "evaddssiaawRR", + [1218] = "evsubfusiaawRR", [1219] = "evsubfssiaawRR", + [1220] = "evmraRR", + [1222] = "evdivwsRRR", [1223] = "evdivwuRRR", + [1224] = "evaddumiaawRR", [1225] = "evaddsmiaawRR", + [1226] = "evsubfumiaawRR", [1227] = "evsubfsmiaawRR", + + [1280] = "evmheusiaawRRR", [1281] = "evmhessiaawRRR", + [1283] = "evmhessfaawRRR", [1284] = "evmhousiaawRRR", + [1285] = "evmhossiaawRRR", [1287] = "evmhossfaawRRR", + [1288] = "evmheumiaawRRR", [1289] = "evmhesmiaawRRR", + [1291] = "evmhesmfaawRRR", [1292] = "evmhoumiaawRRR", + [1293] = "evmhosmiaawRRR", [1295] = "evmhosmfaawRRR", + [1320] = "evmhegumiaaRRR", [1321] = "evmhegsmiaaRRR", + [1323] = "evmhegsmfaaRRR", [1324] = "evmhogumiaaRRR", + [1325] = "evmhogsmiaaRRR", [1327] = "evmhogsmfaaRRR", + [1344] = "evmwlusiaawRRR", [1345] = "evmwlssiaawRRR", + [1352] = "evmwlumiaawRRR", [1353] = "evmwlsmiaawRRR", + [1363] = "evmwssfaaRRR", [1368] = "evmwumiaaRRR", + [1369] = "evmwsmiaaRRR", [1371] = "evmwsmfaaRRR", + [1408] = "evmheusianwRRR", [1409] = "evmhessianwRRR", + [1411] = "evmhessfanwRRR", [1412] = "evmhousianwRRR", + [1413] = "evmhossianwRRR", [1415] = "evmhossfanwRRR", + [1416] = "evmheumianwRRR", [1417] = "evmhesmianwRRR", + [1419] = "evmhesmfanwRRR", [1420] = "evmhoumianwRRR", + [1421] = "evmhosmianwRRR", [1423] = "evmhosmfanwRRR", + [1448] = "evmhegumianRRR", [1449] = "evmhegsmianRRR", + [1451] = "evmhegsmfanRRR", [1452] = "evmhogumianRRR", + [1453] = "evmhogsmianRRR", [1455] = "evmhogsmfanRRR", + [1472] = "evmwlusianwRRR", [1473] = "evmwlssianwRRR", + [1480] = "evmwlumianwRRR", [1481] = "evmwlsmianwRRR", + [1491] = "evmwssfanRRR", [1496] = "evmwumianRRR", + [1497] = "evmwsmianRRR", [1499] = "evmwsmfanRRR", +} + +local map_pri = { + [0] = false, false, "tdiARI", "twiARI", + map_spe, false, false, "mulliRRI", + "subficRRI", false, "cmpl_iYLRU", "cmp_iYLRI", + "addicRRI", "addic.RRI", "addi|liRR0I", "addis|lisRR0I", + "b_KBJ", "sc", "bKJ", map_crops, + "rlwimiRR~AAA.", map_rlwinm, false, "rlwnmRR~RAA.", + "oriNRR~U", "orisRR~U", "xoriRR~U", "xorisRR~U", + "andi.RR~U", "andis.RR~U", map_rld, map_ext, + "lwzRRD", "lwzuRRD", "lbzRRD", "lbzuRRD", + "stwRRD", "stwuRRD", "stbRRD", "stbuRRD", + "lhzRRD", "lhzuRRD", "lhaRRD", "lhauRRD", + "sthRRD", "sthuRRD", "lmwRRD", "stmwRRD", + "lfsFRD", "lfsuFRD", "lfdFRD", "lfduFRD", + "stfsFRD", "stfsuFRD", "stfdFRD", "stfduFRD", + false, false, map_ld, map_fps, + false, false, map_std, map_fpd, +} + +------------------------------------------------------------------------------ + +local map_gpr = { + [0] = "r0", "sp", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", + "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", + "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31", +} + +local map_cond = { [0] = "lt", "gt", "eq", "so", "ge", "le", "ne", "ns", } + +-- Format a condition bit. +local function condfmt(cond) + if cond <= 3 then + return map_cond[band(cond, 3)] + else + return format("4*cr%d+%s", rshift(cond, 2), map_cond[band(cond, 3)]) + end +end + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local pos = ctx.pos + local extra = "" + if ctx.rel then + local sym = ctx.symtab[ctx.rel] + if sym then extra = "\t->"..sym end + end + if ctx.hexdump > 0 then + ctx.out(format("%08x %s %-7s %s%s\n", + ctx.addr+pos, tohex(ctx.op), text, concat(operands, ", "), extra)) + else + ctx.out(format("%08x %-7s %s%s\n", + ctx.addr+pos, text, concat(operands, ", "), extra)) + end + ctx.pos = pos + 4 +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + return putop(ctx, ".long", { "0x"..tohex(ctx.op) }) +end + +-- Disassemble a single instruction. +local function disass_ins(ctx) + local pos = ctx.pos + local b0, b1, b2, b3 = byte(ctx.code, pos+1, pos+4) + local op = bor(lshift(b0, 24), lshift(b1, 16), lshift(b2, 8), b3) + local operands = {} + local last = nil + local rs = 21 + ctx.op = op + ctx.rel = nil + + local opat = map_pri[rshift(b0, 2)] + while type(opat) ~= "string" do + if not opat then return unknown(ctx) end + opat = opat[band(rshift(op, opat.shift), opat.mask)] + end + local name, pat = match(opat, "^([a-z0-9_.]*)(.*)") + local altname, pat2 = match(pat, "|([a-z0-9_.]*)(.*)") + if altname then pat = pat2 end + + for p in gmatch(pat, ".") do + local x = nil + if p == "R" then + x = map_gpr[band(rshift(op, rs), 31)] + rs = rs - 5 + elseif p == "F" then + x = "f"..band(rshift(op, rs), 31) + rs = rs - 5 + elseif p == "A" then + x = band(rshift(op, rs), 31) + rs = rs - 5 + elseif p == "S" then + x = arshift(lshift(op, 27-rs), 27) + rs = rs - 5 + elseif p == "I" then + x = arshift(lshift(op, 16), 16) + elseif p == "U" then + x = band(op, 0xffff) + elseif p == "D" or p == "E" then + local disp = arshift(lshift(op, 16), 16) + if p == "E" then disp = band(disp, -4) end + if last == "r0" then last = "0" end + operands[#operands] = format("%d(%s)", disp, last) + elseif p >= "2" and p <= "8" then + local disp = band(rshift(op, rs), 31) * p + if last == "r0" then last = "0" end + operands[#operands] = format("%d(%s)", disp, last) + elseif p == "H" then + x = band(rshift(op, rs), 31) + lshift(band(op, 2), 4) + rs = rs - 5 + elseif p == "M" then + x = band(rshift(op, rs), 31) + band(op, 0x20) + elseif p == "C" then + x = condfmt(band(rshift(op, rs), 31)) + rs = rs - 5 + elseif p == "B" then + local bo = rshift(op, 21) + local cond = band(rshift(op, 16), 31) + local cn = "" + rs = rs - 10 + if band(bo, 4) == 0 then + cn = band(bo, 2) == 0 and "dnz" or "dz" + if band(bo, 0x10) == 0 then + cn = cn..(band(bo, 8) == 0 and "f" or "t") + end + if band(bo, 0x10) == 0 then x = condfmt(cond) end + name = name..(band(bo, 1) == band(rshift(op, 15), 1) and "-" or "+") + elseif band(bo, 0x10) == 0 then + cn = map_cond[band(cond, 3) + (band(bo, 8) == 0 and 4 or 0)] + if cond > 3 then x = "cr"..rshift(cond, 2) end + name = name..(band(bo, 1) == band(rshift(op, 15), 1) and "-" or "+") + end + name = gsub(name, "_", cn) + elseif p == "J" then + x = arshift(lshift(op, 27-rs), 29-rs)*4 + if band(op, 2) == 0 then x = ctx.addr + pos + x end + ctx.rel = x + x = "0x"..tohex(x) + elseif p == "K" then + if band(op, 1) ~= 0 then name = name.."l" end + if band(op, 2) ~= 0 then name = name.."a" end + elseif p == "X" or p == "Y" then + x = band(rshift(op, rs+2), 7) + if x == 0 and p == "Y" then x = nil else x = "cr"..x end + rs = rs - 5 + elseif p == "W" then + x = "cr"..band(op, 7) + elseif p == "Z" then + x = band(rshift(op, rs-4), 255) + rs = rs - 10 + elseif p == ">" then + operands[#operands] = rshift(operands[#operands], 1) + elseif p == "0" then + if last == "r0" then + operands[#operands] = nil + if altname then name = altname end + end + elseif p == "L" then + name = gsub(name, "_", band(op, 0x00200000) ~= 0 and "d" or "w") + elseif p == "." then + if band(op, 1) == 1 then name = name.."." end + elseif p == "N" then + if op == 0x60000000 then name = "nop"; break end + elseif p == "~" then + local n = #operands + operands[n-1], operands[n] = operands[n], operands[n-1] + elseif p == "=" then + local n = #operands + if last == operands[n-1] then + operands[n] = nil + name = altname + end + elseif p == "%" then + local n = #operands + if last == operands[n-1] and last == operands[n-2] then + operands[n] = nil + operands[n-1] = nil + name = altname + end + elseif p == "-" then + rs = rs - 5 + else + assert(false) + end + if x then operands[#operands+1] = x; last = x end + end + + return putop(ctx, name, operands) +end + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + stop = stop - stop % 4 + ctx.pos = ofs - ofs % 4 + ctx.rel = nil + while ctx.pos < stop do disass_ins(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = addr or 0 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 8 + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 32 then return map_gpr[r] end + return "f"..(r-32) +end + +-- Public module functions. +return { + create = create, + disass = disass, + regname = regname +} + diff --git a/libs/LuaJIT/android/x86_64/jit/dis_x64.lua b/libs/LuaJIT/android/x86_64/jit/dis_x64.lua new file mode 100644 index 00000000..2d37423e --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/dis_x64.lua @@ -0,0 +1,17 @@ +---------------------------------------------------------------------------- +-- LuaJIT x64 disassembler wrapper module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This module just exports the 64 bit functions from the combined +-- x86/x64 disassembler module. All the interesting stuff is there. +------------------------------------------------------------------------------ + +local dis_x86 = require((string.match(..., ".*%.") or "").."dis_x86") +return { + create = dis_x86.create64, + disass = dis_x86.disass64, + regname = dis_x86.regname64 +} + diff --git a/libs/LuaJIT/android/x86_64/jit/dis_x86.lua b/libs/LuaJIT/android/x86_64/jit/dis_x86.lua new file mode 100644 index 00000000..5480854c --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/dis_x86.lua @@ -0,0 +1,953 @@ +---------------------------------------------------------------------------- +-- LuaJIT x86/x64 disassembler module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- This is a helper module used by the LuaJIT machine code dumper module. +-- +-- Sending small code snippets to an external disassembler and mixing the +-- output with our own stuff was too fragile. So I had to bite the bullet +-- and write yet another x86 disassembler. Oh well ... +-- +-- The output format is very similar to what ndisasm generates. But it has +-- been developed independently by looking at the opcode tables from the +-- Intel and AMD manuals. The supported instruction set is quite extensive +-- and reflects what a current generation Intel or AMD CPU implements in +-- 32 bit and 64 bit mode. Yes, this includes MMX, SSE, SSE2, SSE3, SSSE3, +-- SSE4.1, SSE4.2, SSE4a, AVX, AVX2 and even privileged and hypervisor +-- (VMX/SVM) instructions. +-- +-- Notes: +-- * The (useless) a16 prefix, 3DNow and pre-586 opcodes are unsupported. +-- * No attempt at optimization has been made -- it's fast enough for my needs. +------------------------------------------------------------------------------ + +local type = type +local sub, byte, format = string.sub, string.byte, string.format +local match, gmatch, gsub = string.match, string.gmatch, string.gsub +local lower, rep = string.lower, string.rep +local bit = require("bit") +local tohex = bit.tohex + +-- Map for 1st opcode byte in 32 bit mode. Ugly? Well ... read on. +local map_opc1_32 = { +--0x +[0]="addBmr","addVmr","addBrm","addVrm","addBai","addVai","push es","pop es", +"orBmr","orVmr","orBrm","orVrm","orBai","orVai","push cs","opc2*", +--1x +"adcBmr","adcVmr","adcBrm","adcVrm","adcBai","adcVai","push ss","pop ss", +"sbbBmr","sbbVmr","sbbBrm","sbbVrm","sbbBai","sbbVai","push ds","pop ds", +--2x +"andBmr","andVmr","andBrm","andVrm","andBai","andVai","es:seg","daa", +"subBmr","subVmr","subBrm","subVrm","subBai","subVai","cs:seg","das", +--3x +"xorBmr","xorVmr","xorBrm","xorVrm","xorBai","xorVai","ss:seg","aaa", +"cmpBmr","cmpVmr","cmpBrm","cmpVrm","cmpBai","cmpVai","ds:seg","aas", +--4x +"incVR","incVR","incVR","incVR","incVR","incVR","incVR","incVR", +"decVR","decVR","decVR","decVR","decVR","decVR","decVR","decVR", +--5x +"pushUR","pushUR","pushUR","pushUR","pushUR","pushUR","pushUR","pushUR", +"popUR","popUR","popUR","popUR","popUR","popUR","popUR","popUR", +--6x +"sz*pushaw,pusha","sz*popaw,popa","boundVrm","arplWmr", +"fs:seg","gs:seg","o16:","a16", +"pushUi","imulVrmi","pushBs","imulVrms", +"insb","insVS","outsb","outsVS", +--7x +"joBj","jnoBj","jbBj","jnbBj","jzBj","jnzBj","jbeBj","jaBj", +"jsBj","jnsBj","jpeBj","jpoBj","jlBj","jgeBj","jleBj","jgBj", +--8x +"arith!Bmi","arith!Vmi","arith!Bmi","arith!Vms", +"testBmr","testVmr","xchgBrm","xchgVrm", +"movBmr","movVmr","movBrm","movVrm", +"movVmg","leaVrm","movWgm","popUm", +--9x +"nop*xchgVaR|pause|xchgWaR|repne nop","xchgVaR","xchgVaR","xchgVaR", +"xchgVaR","xchgVaR","xchgVaR","xchgVaR", +"sz*cbw,cwde,cdqe","sz*cwd,cdq,cqo","call farViw","wait", +"sz*pushfw,pushf","sz*popfw,popf","sahf","lahf", +--Ax +"movBao","movVao","movBoa","movVoa", +"movsb","movsVS","cmpsb","cmpsVS", +"testBai","testVai","stosb","stosVS", +"lodsb","lodsVS","scasb","scasVS", +--Bx +"movBRi","movBRi","movBRi","movBRi","movBRi","movBRi","movBRi","movBRi", +"movVRI","movVRI","movVRI","movVRI","movVRI","movVRI","movVRI","movVRI", +--Cx +"shift!Bmu","shift!Vmu","retBw","ret","vex*3$lesVrm","vex*2$ldsVrm","movBmi","movVmi", +"enterBwu","leave","retfBw","retf","int3","intBu","into","iretVS", +--Dx +"shift!Bm1","shift!Vm1","shift!Bmc","shift!Vmc","aamBu","aadBu","salc","xlatb", +"fp*0","fp*1","fp*2","fp*3","fp*4","fp*5","fp*6","fp*7", +--Ex +"loopneBj","loopeBj","loopBj","sz*jcxzBj,jecxzBj,jrcxzBj", +"inBau","inVau","outBua","outVua", +"callVj","jmpVj","jmp farViw","jmpBj","inBad","inVad","outBda","outVda", +--Fx +"lock:","int1","repne:rep","rep:","hlt","cmc","testb!Bm","testv!Vm", +"clc","stc","cli","sti","cld","std","incb!Bm","incd!Vm", +} +assert(#map_opc1_32 == 255) + +-- Map for 1st opcode byte in 64 bit mode (overrides only). +local map_opc1_64 = setmetatable({ + [0x06]=false, [0x07]=false, [0x0e]=false, + [0x16]=false, [0x17]=false, [0x1e]=false, [0x1f]=false, + [0x27]=false, [0x2f]=false, [0x37]=false, [0x3f]=false, + [0x60]=false, [0x61]=false, [0x62]=false, [0x63]="movsxdVrDmt", [0x67]="a32:", + [0x40]="rex*", [0x41]="rex*b", [0x42]="rex*x", [0x43]="rex*xb", + [0x44]="rex*r", [0x45]="rex*rb", [0x46]="rex*rx", [0x47]="rex*rxb", + [0x48]="rex*w", [0x49]="rex*wb", [0x4a]="rex*wx", [0x4b]="rex*wxb", + [0x4c]="rex*wr", [0x4d]="rex*wrb", [0x4e]="rex*wrx", [0x4f]="rex*wrxb", + [0x82]=false, [0x9a]=false, [0xc4]="vex*3", [0xc5]="vex*2", [0xce]=false, + [0xd4]=false, [0xd5]=false, [0xd6]=false, [0xea]=false, +}, { __index = map_opc1_32 }) + +-- Map for 2nd opcode byte (0F xx). True CISC hell. Hey, I told you. +-- Prefix dependent MMX/SSE opcodes: (none)|rep|o16|repne, -|F3|66|F2 +local map_opc2 = { +--0x +[0]="sldt!Dmp","sgdt!Ump","larVrm","lslVrm",nil,"syscall","clts","sysret", +"invd","wbinvd",nil,"ud1",nil,"$prefetch!Bm","femms","3dnowMrmu", +--1x +"movupsXrm|movssXrvm|movupdXrm|movsdXrvm", +"movupsXmr|movssXmvr|movupdXmr|movsdXmvr", +"movhlpsXrm$movlpsXrm|movsldupXrm|movlpdXrm|movddupXrm", +"movlpsXmr||movlpdXmr", +"unpcklpsXrvm||unpcklpdXrvm", +"unpckhpsXrvm||unpckhpdXrvm", +"movlhpsXrm$movhpsXrm|movshdupXrm|movhpdXrm", +"movhpsXmr||movhpdXmr", +"$prefetcht!Bm","hintnopVm","hintnopVm","hintnopVm", +"hintnopVm","hintnopVm","hintnopVm","hintnopVm", +--2x +"movUmx$","movUmy$","movUxm$","movUym$","movUmz$",nil,"movUzm$",nil, +"movapsXrm||movapdXrm", +"movapsXmr||movapdXmr", +"cvtpi2psXrMm|cvtsi2ssXrvVmt|cvtpi2pdXrMm|cvtsi2sdXrvVmt", +"movntpsXmr|movntssXmr|movntpdXmr|movntsdXmr", +"cvttps2piMrXm|cvttss2siVrXm|cvttpd2piMrXm|cvttsd2siVrXm", +"cvtps2piMrXm|cvtss2siVrXm|cvtpd2piMrXm|cvtsd2siVrXm", +"ucomissXrm||ucomisdXrm", +"comissXrm||comisdXrm", +--3x +"wrmsr","rdtsc","rdmsr","rdpmc","sysenter","sysexit",nil,"getsec", +"opc3*38",nil,"opc3*3a",nil,nil,nil,nil,nil, +--4x +"cmovoVrm","cmovnoVrm","cmovbVrm","cmovnbVrm", +"cmovzVrm","cmovnzVrm","cmovbeVrm","cmovaVrm", +"cmovsVrm","cmovnsVrm","cmovpeVrm","cmovpoVrm", +"cmovlVrm","cmovgeVrm","cmovleVrm","cmovgVrm", +--5x +"movmskpsVrXm$||movmskpdVrXm$","sqrtpsXrm|sqrtssXrm|sqrtpdXrm|sqrtsdXrm", +"rsqrtpsXrm|rsqrtssXrvm","rcppsXrm|rcpssXrvm", +"andpsXrvm||andpdXrvm","andnpsXrvm||andnpdXrvm", +"orpsXrvm||orpdXrvm","xorpsXrvm||xorpdXrvm", +"addpsXrvm|addssXrvm|addpdXrvm|addsdXrvm","mulpsXrvm|mulssXrvm|mulpdXrvm|mulsdXrvm", +"cvtps2pdXrm|cvtss2sdXrvm|cvtpd2psXrm|cvtsd2ssXrvm", +"cvtdq2psXrm|cvttps2dqXrm|cvtps2dqXrm", +"subpsXrvm|subssXrvm|subpdXrvm|subsdXrvm","minpsXrvm|minssXrvm|minpdXrvm|minsdXrvm", +"divpsXrvm|divssXrvm|divpdXrvm|divsdXrvm","maxpsXrvm|maxssXrvm|maxpdXrvm|maxsdXrvm", +--6x +"punpcklbwPrvm","punpcklwdPrvm","punpckldqPrvm","packsswbPrvm", +"pcmpgtbPrvm","pcmpgtwPrvm","pcmpgtdPrvm","packuswbPrvm", +"punpckhbwPrvm","punpckhwdPrvm","punpckhdqPrvm","packssdwPrvm", +"||punpcklqdqXrvm","||punpckhqdqXrvm", +"movPrVSm","movqMrm|movdquXrm|movdqaXrm", +--7x +"pshufwMrmu|pshufhwXrmu|pshufdXrmu|pshuflwXrmu","pshiftw!Pvmu", +"pshiftd!Pvmu","pshiftq!Mvmu||pshiftdq!Xvmu", +"pcmpeqbPrvm","pcmpeqwPrvm","pcmpeqdPrvm","emms*|", +"vmreadUmr||extrqXmuu$|insertqXrmuu$","vmwriteUrm||extrqXrm$|insertqXrm$", +nil,nil, +"||haddpdXrvm|haddpsXrvm","||hsubpdXrvm|hsubpsXrvm", +"movVSmMr|movqXrm|movVSmXr","movqMmr|movdquXmr|movdqaXmr", +--8x +"joVj","jnoVj","jbVj","jnbVj","jzVj","jnzVj","jbeVj","jaVj", +"jsVj","jnsVj","jpeVj","jpoVj","jlVj","jgeVj","jleVj","jgVj", +--9x +"setoBm","setnoBm","setbBm","setnbBm","setzBm","setnzBm","setbeBm","setaBm", +"setsBm","setnsBm","setpeBm","setpoBm","setlBm","setgeBm","setleBm","setgBm", +--Ax +"push fs","pop fs","cpuid","btVmr","shldVmru","shldVmrc",nil,nil, +"push gs","pop gs","rsm","btsVmr","shrdVmru","shrdVmrc","fxsave!Dmp","imulVrm", +--Bx +"cmpxchgBmr","cmpxchgVmr","$lssVrm","btrVmr", +"$lfsVrm","$lgsVrm","movzxVrBmt","movzxVrWmt", +"|popcntVrm","ud2Dp","bt!Vmu","btcVmr", +"bsfVrm","bsrVrm|lzcntVrm|bsrWrm","movsxVrBmt","movsxVrWmt", +--Cx +"xaddBmr","xaddVmr", +"cmppsXrvmu|cmpssXrvmu|cmppdXrvmu|cmpsdXrvmu","$movntiVmr|", +"pinsrwPrvWmu","pextrwDrPmu", +"shufpsXrvmu||shufpdXrvmu","$cmpxchg!Qmp", +"bswapVR","bswapVR","bswapVR","bswapVR","bswapVR","bswapVR","bswapVR","bswapVR", +--Dx +"||addsubpdXrvm|addsubpsXrvm","psrlwPrvm","psrldPrvm","psrlqPrvm", +"paddqPrvm","pmullwPrvm", +"|movq2dqXrMm|movqXmr|movdq2qMrXm$","pmovmskbVrMm||pmovmskbVrXm", +"psubusbPrvm","psubuswPrvm","pminubPrvm","pandPrvm", +"paddusbPrvm","padduswPrvm","pmaxubPrvm","pandnPrvm", +--Ex +"pavgbPrvm","psrawPrvm","psradPrvm","pavgwPrvm", +"pmulhuwPrvm","pmulhwPrvm", +"|cvtdq2pdXrm|cvttpd2dqXrm|cvtpd2dqXrm","$movntqMmr||$movntdqXmr", +"psubsbPrvm","psubswPrvm","pminswPrvm","porPrvm", +"paddsbPrvm","paddswPrvm","pmaxswPrvm","pxorPrvm", +--Fx +"|||lddquXrm","psllwPrvm","pslldPrvm","psllqPrvm", +"pmuludqPrvm","pmaddwdPrvm","psadbwPrvm","maskmovqMrm||maskmovdquXrm$", +"psubbPrvm","psubwPrvm","psubdPrvm","psubqPrvm", +"paddbPrvm","paddwPrvm","padddPrvm","ud", +} +assert(map_opc2[255] == "ud") + +-- Map for three-byte opcodes. Can't wait for their next invention. +local map_opc3 = { +["38"] = { -- [66] 0f 38 xx +--0x +[0]="pshufbPrvm","phaddwPrvm","phadddPrvm","phaddswPrvm", +"pmaddubswPrvm","phsubwPrvm","phsubdPrvm","phsubswPrvm", +"psignbPrvm","psignwPrvm","psigndPrvm","pmulhrswPrvm", +"||permilpsXrvm","||permilpdXrvm",nil,nil, +--1x +"||pblendvbXrma",nil,nil,nil, +"||blendvpsXrma","||blendvpdXrma","||permpsXrvm","||ptestXrm", +"||broadcastssXrm","||broadcastsdXrm","||broadcastf128XrlXm",nil, +"pabsbPrm","pabswPrm","pabsdPrm",nil, +--2x +"||pmovsxbwXrm","||pmovsxbdXrm","||pmovsxbqXrm","||pmovsxwdXrm", +"||pmovsxwqXrm","||pmovsxdqXrm",nil,nil, +"||pmuldqXrvm","||pcmpeqqXrvm","||$movntdqaXrm","||packusdwXrvm", +"||maskmovpsXrvm","||maskmovpdXrvm","||maskmovpsXmvr","||maskmovpdXmvr", +--3x +"||pmovzxbwXrm","||pmovzxbdXrm","||pmovzxbqXrm","||pmovzxwdXrm", +"||pmovzxwqXrm","||pmovzxdqXrm","||permdXrvm","||pcmpgtqXrvm", +"||pminsbXrvm","||pminsdXrvm","||pminuwXrvm","||pminudXrvm", +"||pmaxsbXrvm","||pmaxsdXrvm","||pmaxuwXrvm","||pmaxudXrvm", +--4x +"||pmulddXrvm","||phminposuwXrm",nil,nil, +nil,"||psrlvVSXrvm","||psravdXrvm","||psllvVSXrvm", +--5x +[0x58] = "||pbroadcastdXrlXm",[0x59] = "||pbroadcastqXrlXm", +[0x5a] = "||broadcasti128XrlXm", +--7x +[0x78] = "||pbroadcastbXrlXm",[0x79] = "||pbroadcastwXrlXm", +--8x +[0x8c] = "||pmaskmovXrvVSm", +[0x8e] = "||pmaskmovVSmXvr", +--9x +[0x96] = "||fmaddsub132pHXrvm",[0x97] = "||fmsubadd132pHXrvm", +[0x98] = "||fmadd132pHXrvm",[0x99] = "||fmadd132sHXrvm", +[0x9a] = "||fmsub132pHXrvm",[0x9b] = "||fmsub132sHXrvm", +[0x9c] = "||fnmadd132pHXrvm",[0x9d] = "||fnmadd132sHXrvm", +[0x9e] = "||fnmsub132pHXrvm",[0x9f] = "||fnmsub132sHXrvm", +--Ax +[0xa6] = "||fmaddsub213pHXrvm",[0xa7] = "||fmsubadd213pHXrvm", +[0xa8] = "||fmadd213pHXrvm",[0xa9] = "||fmadd213sHXrvm", +[0xaa] = "||fmsub213pHXrvm",[0xab] = "||fmsub213sHXrvm", +[0xac] = "||fnmadd213pHXrvm",[0xad] = "||fnmadd213sHXrvm", +[0xae] = "||fnmsub213pHXrvm",[0xaf] = "||fnmsub213sHXrvm", +--Bx +[0xb6] = "||fmaddsub231pHXrvm",[0xb7] = "||fmsubadd231pHXrvm", +[0xb8] = "||fmadd231pHXrvm",[0xb9] = "||fmadd231sHXrvm", +[0xba] = "||fmsub231pHXrvm",[0xbb] = "||fmsub231sHXrvm", +[0xbc] = "||fnmadd231pHXrvm",[0xbd] = "||fnmadd231sHXrvm", +[0xbe] = "||fnmsub231pHXrvm",[0xbf] = "||fnmsub231sHXrvm", +--Dx +[0xdc] = "||aesencXrvm", [0xdd] = "||aesenclastXrvm", +[0xde] = "||aesdecXrvm", [0xdf] = "||aesdeclastXrvm", +--Fx +[0xf0] = "|||crc32TrBmt",[0xf1] = "|||crc32TrVmt", +[0xf7] = "| sarxVrmv| shlxVrmv| shrxVrmv", +}, + +["3a"] = { -- [66] 0f 3a xx +--0x +[0x00]="||permqXrmu","||permpdXrmu","||pblenddXrvmu",nil, +"||permilpsXrmu","||permilpdXrmu","||perm2f128Xrvmu",nil, +"||roundpsXrmu","||roundpdXrmu","||roundssXrvmu","||roundsdXrvmu", +"||blendpsXrvmu","||blendpdXrvmu","||pblendwXrvmu","palignrPrvmu", +--1x +nil,nil,nil,nil, +"||pextrbVmXru","||pextrwVmXru","||pextrVmSXru","||extractpsVmXru", +"||insertf128XrvlXmu","||extractf128XlXmYru",nil,nil, +nil,nil,nil,nil, +--2x +"||pinsrbXrvVmu","||insertpsXrvmu","||pinsrXrvVmuS",nil, +--3x +[0x38] = "||inserti128Xrvmu",[0x39] = "||extracti128XlXmYru", +--4x +[0x40] = "||dppsXrvmu", +[0x41] = "||dppdXrvmu", +[0x42] = "||mpsadbwXrvmu", +[0x44] = "||pclmulqdqXrvmu", +[0x46] = "||perm2i128Xrvmu", +[0x4a] = "||blendvpsXrvmb",[0x4b] = "||blendvpdXrvmb", +[0x4c] = "||pblendvbXrvmb", +--6x +[0x60] = "||pcmpestrmXrmu",[0x61] = "||pcmpestriXrmu", +[0x62] = "||pcmpistrmXrmu",[0x63] = "||pcmpistriXrmu", +[0xdf] = "||aeskeygenassistXrmu", +--Fx +[0xf0] = "||| rorxVrmu", +}, +} + +-- Map for VMX/SVM opcodes 0F 01 C0-FF (sgdt group with register operands). +local map_opcvm = { +[0xc1]="vmcall",[0xc2]="vmlaunch",[0xc3]="vmresume",[0xc4]="vmxoff", +[0xc8]="monitor",[0xc9]="mwait", +[0xd8]="vmrun",[0xd9]="vmmcall",[0xda]="vmload",[0xdb]="vmsave", +[0xdc]="stgi",[0xdd]="clgi",[0xde]="skinit",[0xdf]="invlpga", +[0xf8]="swapgs",[0xf9]="rdtscp", +} + +-- Map for FP opcodes. And you thought stack machines are simple? +local map_opcfp = { +-- D8-DF 00-BF: opcodes with a memory operand. +-- D8 +[0]="faddFm","fmulFm","fcomFm","fcompFm","fsubFm","fsubrFm","fdivFm","fdivrFm", +"fldFm",nil,"fstFm","fstpFm","fldenvVm","fldcwWm","fnstenvVm","fnstcwWm", +-- DA +"fiaddDm","fimulDm","ficomDm","ficompDm", +"fisubDm","fisubrDm","fidivDm","fidivrDm", +-- DB +"fildDm","fisttpDm","fistDm","fistpDm",nil,"fld twordFmp",nil,"fstp twordFmp", +-- DC +"faddGm","fmulGm","fcomGm","fcompGm","fsubGm","fsubrGm","fdivGm","fdivrGm", +-- DD +"fldGm","fisttpQm","fstGm","fstpGm","frstorDmp",nil,"fnsaveDmp","fnstswWm", +-- DE +"fiaddWm","fimulWm","ficomWm","ficompWm", +"fisubWm","fisubrWm","fidivWm","fidivrWm", +-- DF +"fildWm","fisttpWm","fistWm","fistpWm", +"fbld twordFmp","fildQm","fbstp twordFmp","fistpQm", +-- xx C0-FF: opcodes with a pseudo-register operand. +-- D8 +"faddFf","fmulFf","fcomFf","fcompFf","fsubFf","fsubrFf","fdivFf","fdivrFf", +-- D9 +"fldFf","fxchFf",{"fnop"},nil, +{"fchs","fabs",nil,nil,"ftst","fxam"}, +{"fld1","fldl2t","fldl2e","fldpi","fldlg2","fldln2","fldz"}, +{"f2xm1","fyl2x","fptan","fpatan","fxtract","fprem1","fdecstp","fincstp"}, +{"fprem","fyl2xp1","fsqrt","fsincos","frndint","fscale","fsin","fcos"}, +-- DA +"fcmovbFf","fcmoveFf","fcmovbeFf","fcmovuFf",nil,{nil,"fucompp"},nil,nil, +-- DB +"fcmovnbFf","fcmovneFf","fcmovnbeFf","fcmovnuFf", +{nil,nil,"fnclex","fninit"},"fucomiFf","fcomiFf",nil, +-- DC +"fadd toFf","fmul toFf",nil,nil, +"fsub toFf","fsubr toFf","fdivr toFf","fdiv toFf", +-- DD +"ffreeFf",nil,"fstFf","fstpFf","fucomFf","fucompFf",nil,nil, +-- DE +"faddpFf","fmulpFf",nil,{nil,"fcompp"}, +"fsubrpFf","fsubpFf","fdivrpFf","fdivpFf", +-- DF +nil,nil,nil,nil,{"fnstsw ax"},"fucomipFf","fcomipFf",nil, +} +assert(map_opcfp[126] == "fcomipFf") + +-- Map for opcode groups. The subkey is sp from the ModRM byte. +local map_opcgroup = { + arith = { "add", "or", "adc", "sbb", "and", "sub", "xor", "cmp" }, + shift = { "rol", "ror", "rcl", "rcr", "shl", "shr", "sal", "sar" }, + testb = { "testBmi", "testBmi", "not", "neg", "mul", "imul", "div", "idiv" }, + testv = { "testVmi", "testVmi", "not", "neg", "mul", "imul", "div", "idiv" }, + incb = { "inc", "dec" }, + incd = { "inc", "dec", "callUmp", "$call farDmp", + "jmpUmp", "$jmp farDmp", "pushUm" }, + sldt = { "sldt", "str", "lldt", "ltr", "verr", "verw" }, + sgdt = { "vm*$sgdt", "vm*$sidt", "$lgdt", "vm*$lidt", + "smsw", nil, "lmsw", "vm*$invlpg" }, + bt = { nil, nil, nil, nil, "bt", "bts", "btr", "btc" }, + cmpxchg = { nil, "sz*,cmpxchg8bQmp,cmpxchg16bXmp", nil, nil, + nil, nil, "vmptrld|vmxon|vmclear", "vmptrst" }, + pshiftw = { nil, nil, "psrlw", nil, "psraw", nil, "psllw" }, + pshiftd = { nil, nil, "psrld", nil, "psrad", nil, "pslld" }, + pshiftq = { nil, nil, "psrlq", nil, nil, nil, "psllq" }, + pshiftdq = { nil, nil, "psrlq", "psrldq", nil, nil, "psllq", "pslldq" }, + fxsave = { "$fxsave", "$fxrstor", "$ldmxcsr", "$stmxcsr", + nil, "lfenceDp$", "mfenceDp$", "sfenceDp$clflush" }, + prefetch = { "prefetch", "prefetchw" }, + prefetcht = { "prefetchnta", "prefetcht0", "prefetcht1", "prefetcht2" }, +} + +------------------------------------------------------------------------------ + +-- Maps for register names. +local map_regs = { + B = { "al", "cl", "dl", "bl", "ah", "ch", "dh", "bh", + "r8b", "r9b", "r10b", "r11b", "r12b", "r13b", "r14b", "r15b" }, + B64 = { "al", "cl", "dl", "bl", "spl", "bpl", "sil", "dil", + "r8b", "r9b", "r10b", "r11b", "r12b", "r13b", "r14b", "r15b" }, + W = { "ax", "cx", "dx", "bx", "sp", "bp", "si", "di", + "r8w", "r9w", "r10w", "r11w", "r12w", "r13w", "r14w", "r15w" }, + D = { "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi", + "r8d", "r9d", "r10d", "r11d", "r12d", "r13d", "r14d", "r15d" }, + Q = { "rax", "rcx", "rdx", "rbx", "rsp", "rbp", "rsi", "rdi", + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15" }, + M = { "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7", + "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7" }, -- No x64 ext! + X = { "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7", + "xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15" }, + Y = { "ymm0", "ymm1", "ymm2", "ymm3", "ymm4", "ymm5", "ymm6", "ymm7", + "ymm8", "ymm9", "ymm10", "ymm11", "ymm12", "ymm13", "ymm14", "ymm15" }, +} +local map_segregs = { "es", "cs", "ss", "ds", "fs", "gs", "segr6", "segr7" } + +-- Maps for size names. +local map_sz2n = { + B = 1, W = 2, D = 4, Q = 8, M = 8, X = 16, Y = 32, +} +local map_sz2prefix = { + B = "byte", W = "word", D = "dword", + Q = "qword", + M = "qword", X = "xword", Y = "yword", + F = "dword", G = "qword", -- No need for sizes/register names for these two. +} + +------------------------------------------------------------------------------ + +-- Output a nicely formatted line with an opcode and operands. +local function putop(ctx, text, operands) + local code, pos, hex = ctx.code, ctx.pos, "" + local hmax = ctx.hexdump + if hmax > 0 then + for i=ctx.start,pos-1 do + hex = hex..format("%02X", byte(code, i, i)) + end + if #hex > hmax then hex = sub(hex, 1, hmax)..". " + else hex = hex..rep(" ", hmax-#hex+2) end + end + if operands then text = text.." "..operands end + if ctx.o16 then text = "o16 "..text; ctx.o16 = false end + if ctx.a32 then text = "a32 "..text; ctx.a32 = false end + if ctx.rep then text = ctx.rep.." "..text; ctx.rep = false end + if ctx.rex then + local t = (ctx.rexw and "w" or "")..(ctx.rexr and "r" or "").. + (ctx.rexx and "x" or "")..(ctx.rexb and "b" or "").. + (ctx.vexl and "l" or "") + if ctx.vexv and ctx.vexv ~= 0 then t = t.."v"..ctx.vexv end + if t ~= "" then text = ctx.rex.."."..t.." "..gsub(text, "^ ", "") + elseif ctx.rex == "vex" then text = gsub("v"..text, "^v ", "") end + ctx.rexw = false; ctx.rexr = false; ctx.rexx = false; ctx.rexb = false + ctx.rex = false; ctx.vexl = false; ctx.vexv = false + end + if ctx.seg then + local text2, n = gsub(text, "%[", "["..ctx.seg..":") + if n == 0 then text = ctx.seg.." "..text else text = text2 end + ctx.seg = false + end + if ctx.lock then text = "lock "..text; ctx.lock = false end + local imm = ctx.imm + if imm then + local sym = ctx.symtab[imm] + if sym then text = text.."\t->"..sym end + end + ctx.out(format("%08x %s%s\n", ctx.addr+ctx.start, hex, text)) + ctx.mrm = false + ctx.vexv = false + ctx.start = pos + ctx.imm = nil +end + +-- Clear all prefix flags. +local function clearprefixes(ctx) + ctx.o16 = false; ctx.seg = false; ctx.lock = false; ctx.rep = false + ctx.rexw = false; ctx.rexr = false; ctx.rexx = false; ctx.rexb = false + ctx.rex = false; ctx.a32 = false; ctx.vexl = false +end + +-- Fallback for incomplete opcodes at the end. +local function incomplete(ctx) + ctx.pos = ctx.stop+1 + clearprefixes(ctx) + return putop(ctx, "(incomplete)") +end + +-- Fallback for unknown opcodes. +local function unknown(ctx) + clearprefixes(ctx) + return putop(ctx, "(unknown)") +end + +-- Return an immediate of the specified size. +local function getimm(ctx, pos, n) + if pos+n-1 > ctx.stop then return incomplete(ctx) end + local code = ctx.code + if n == 1 then + local b1 = byte(code, pos, pos) + return b1 + elseif n == 2 then + local b1, b2 = byte(code, pos, pos+1) + return b1+b2*256 + else + local b1, b2, b3, b4 = byte(code, pos, pos+3) + local imm = b1+b2*256+b3*65536+b4*16777216 + ctx.imm = imm + return imm + end +end + +-- Process pattern string and generate the operands. +local function putpat(ctx, name, pat) + local operands, regs, sz, mode, sp, rm, sc, rx, sdisp + local code, pos, stop, vexl = ctx.code, ctx.pos, ctx.stop, ctx.vexl + + -- Chars used: 1DFGHIMPQRSTUVWXYabcdfgijlmoprstuvwxyz + for p in gmatch(pat, ".") do + local x = nil + if p == "V" or p == "U" then + if ctx.rexw then sz = "Q"; ctx.rexw = false + elseif ctx.o16 then sz = "W"; ctx.o16 = false + elseif p == "U" and ctx.x64 then sz = "Q" + else sz = "D" end + regs = map_regs[sz] + elseif p == "T" then + if ctx.rexw then sz = "Q"; ctx.rexw = false else sz = "D" end + regs = map_regs[sz] + elseif p == "B" then + sz = "B" + regs = ctx.rex and map_regs.B64 or map_regs.B + elseif match(p, "[WDQMXYFG]") then + sz = p + if sz == "X" and vexl then sz = "Y"; ctx.vexl = false end + regs = map_regs[sz] + elseif p == "P" then + sz = ctx.o16 and "X" or "M"; ctx.o16 = false + if sz == "X" and vexl then sz = "Y"; ctx.vexl = false end + regs = map_regs[sz] + elseif p == "H" then + name = name..(ctx.rexw and "d" or "s") + ctx.rexw = false + elseif p == "S" then + name = name..lower(sz) + elseif p == "s" then + local imm = getimm(ctx, pos, 1); if not imm then return end + x = imm <= 127 and format("+0x%02x", imm) + or format("-0x%02x", 256-imm) + pos = pos+1 + elseif p == "u" then + local imm = getimm(ctx, pos, 1); if not imm then return end + x = format("0x%02x", imm) + pos = pos+1 + elseif p == "b" then + local imm = getimm(ctx, pos, 1); if not imm then return end + x = regs[imm/16+1] + pos = pos+1 + elseif p == "w" then + local imm = getimm(ctx, pos, 2); if not imm then return end + x = format("0x%x", imm) + pos = pos+2 + elseif p == "o" then -- [offset] + if ctx.x64 then + local imm1 = getimm(ctx, pos, 4); if not imm1 then return end + local imm2 = getimm(ctx, pos+4, 4); if not imm2 then return end + x = format("[0x%08x%08x]", imm2, imm1) + pos = pos+8 + else + local imm = getimm(ctx, pos, 4); if not imm then return end + x = format("[0x%08x]", imm) + pos = pos+4 + end + elseif p == "i" or p == "I" then + local n = map_sz2n[sz] + if n == 8 and ctx.x64 and p == "I" then + local imm1 = getimm(ctx, pos, 4); if not imm1 then return end + local imm2 = getimm(ctx, pos+4, 4); if not imm2 then return end + x = format("0x%08x%08x", imm2, imm1) + else + if n == 8 then n = 4 end + local imm = getimm(ctx, pos, n); if not imm then return end + if sz == "Q" and (imm < 0 or imm > 0x7fffffff) then + imm = (0xffffffff+1)-imm + x = format(imm > 65535 and "-0x%08x" or "-0x%x", imm) + else + x = format(imm > 65535 and "0x%08x" or "0x%x", imm) + end + end + pos = pos+n + elseif p == "j" then + local n = map_sz2n[sz] + if n == 8 then n = 4 end + local imm = getimm(ctx, pos, n); if not imm then return end + if sz == "B" and imm > 127 then imm = imm-256 + elseif imm > 2147483647 then imm = imm-4294967296 end + pos = pos+n + imm = imm + pos + ctx.addr + if imm > 4294967295 and not ctx.x64 then imm = imm-4294967296 end + ctx.imm = imm + if sz == "W" then + x = format("word 0x%04x", imm%65536) + elseif ctx.x64 then + local lo = imm % 0x1000000 + x = format("0x%02x%06x", (imm-lo) / 0x1000000, lo) + else + x = "0x"..tohex(imm) + end + elseif p == "R" then + local r = byte(code, pos-1, pos-1)%8 + if ctx.rexb then r = r + 8; ctx.rexb = false end + x = regs[r+1] + elseif p == "a" then x = regs[1] + elseif p == "c" then x = "cl" + elseif p == "d" then x = "dx" + elseif p == "1" then x = "1" + else + if not mode then + mode = ctx.mrm + if not mode then + if pos > stop then return incomplete(ctx) end + mode = byte(code, pos, pos) + pos = pos+1 + end + rm = mode%8; mode = (mode-rm)/8 + sp = mode%8; mode = (mode-sp)/8 + sdisp = "" + if mode < 3 then + if rm == 4 then + if pos > stop then return incomplete(ctx) end + sc = byte(code, pos, pos) + pos = pos+1 + rm = sc%8; sc = (sc-rm)/8 + rx = sc%8; sc = (sc-rx)/8 + if ctx.rexx then rx = rx + 8; ctx.rexx = false end + if rx == 4 then rx = nil end + end + if mode > 0 or rm == 5 then + local dsz = mode + if dsz ~= 1 then dsz = 4 end + local disp = getimm(ctx, pos, dsz); if not disp then return end + if mode == 0 then rm = nil end + if rm or rx or (not sc and ctx.x64 and not ctx.a32) then + if dsz == 1 and disp > 127 then + sdisp = format("-0x%x", 256-disp) + elseif disp >= 0 and disp <= 0x7fffffff then + sdisp = format("+0x%x", disp) + else + sdisp = format("-0x%x", (0xffffffff+1)-disp) + end + else + sdisp = format(ctx.x64 and not ctx.a32 and + not (disp >= 0 and disp <= 0x7fffffff) + and "0xffffffff%08x" or "0x%08x", disp) + end + pos = pos+dsz + end + end + if rm and ctx.rexb then rm = rm + 8; ctx.rexb = false end + if ctx.rexr then sp = sp + 8; ctx.rexr = false end + end + if p == "m" then + if mode == 3 then x = regs[rm+1] + else + local aregs = ctx.a32 and map_regs.D or ctx.aregs + local srm, srx = "", "" + if rm then srm = aregs[rm+1] + elseif not sc and ctx.x64 and not ctx.a32 then srm = "rip" end + ctx.a32 = false + if rx then + if rm then srm = srm.."+" end + srx = aregs[rx+1] + if sc > 0 then srx = srx.."*"..(2^sc) end + end + x = format("[%s%s%s]", srm, srx, sdisp) + end + if mode < 3 and + (not match(pat, "[aRrgp]") or match(pat, "t")) then -- Yuck. + x = map_sz2prefix[sz].." "..x + end + elseif p == "r" then x = regs[sp+1] + elseif p == "g" then x = map_segregs[sp+1] + elseif p == "p" then -- Suppress prefix. + elseif p == "f" then x = "st"..rm + elseif p == "x" then + if sp == 0 and ctx.lock and not ctx.x64 then + x = "CR8"; ctx.lock = false + else + x = "CR"..sp + end + elseif p == "v" then + if ctx.vexv then + x = regs[ctx.vexv+1]; ctx.vexv = false + end + elseif p == "y" then x = "DR"..sp + elseif p == "z" then x = "TR"..sp + elseif p == "l" then vexl = false + elseif p == "t" then + else + error("bad pattern `"..pat.."'") + end + end + if x then operands = operands and operands..", "..x or x end + end + ctx.pos = pos + return putop(ctx, name, operands) +end + +-- Forward declaration. +local map_act + +-- Fetch and cache MRM byte. +local function getmrm(ctx) + local mrm = ctx.mrm + if not mrm then + local pos = ctx.pos + if pos > ctx.stop then return nil end + mrm = byte(ctx.code, pos, pos) + ctx.pos = pos+1 + ctx.mrm = mrm + end + return mrm +end + +-- Dispatch to handler depending on pattern. +local function dispatch(ctx, opat, patgrp) + if not opat then return unknown(ctx) end + if match(opat, "%|") then -- MMX/SSE variants depending on prefix. + local p + if ctx.rep then + p = ctx.rep=="rep" and "%|([^%|]*)" or "%|[^%|]*%|[^%|]*%|([^%|]*)" + ctx.rep = false + elseif ctx.o16 then p = "%|[^%|]*%|([^%|]*)"; ctx.o16 = false + else p = "^[^%|]*" end + opat = match(opat, p) + if not opat then return unknown(ctx) end +-- ctx.rep = false; ctx.o16 = false + --XXX fails for 66 f2 0f 38 f1 06 crc32 eax,WORD PTR [esi] + --XXX remove in branches? + end + if match(opat, "%$") then -- reg$mem variants. + local mrm = getmrm(ctx); if not mrm then return incomplete(ctx) end + opat = match(opat, mrm >= 192 and "^[^%$]*" or "%$(.*)") + if opat == "" then return unknown(ctx) end + end + if opat == "" then return unknown(ctx) end + local name, pat = match(opat, "^([a-z0-9 ]*)(.*)") + if pat == "" and patgrp then pat = patgrp end + return map_act[sub(pat, 1, 1)](ctx, name, pat) +end + +-- Get a pattern from an opcode map and dispatch to handler. +local function dispatchmap(ctx, opcmap) + local pos = ctx.pos + local opat = opcmap[byte(ctx.code, pos, pos)] + pos = pos + 1 + ctx.pos = pos + return dispatch(ctx, opat) +end + +-- Map for action codes. The key is the first char after the name. +map_act = { + -- Simple opcodes without operands. + [""] = function(ctx, name, pat) + return putop(ctx, name) + end, + + -- Operand size chars fall right through. + B = putpat, W = putpat, D = putpat, Q = putpat, + V = putpat, U = putpat, T = putpat, + M = putpat, X = putpat, P = putpat, + F = putpat, G = putpat, Y = putpat, + H = putpat, + + -- Collect prefixes. + [":"] = function(ctx, name, pat) + ctx[pat == ":" and name or sub(pat, 2)] = name + if ctx.pos - ctx.start > 5 then return unknown(ctx) end -- Limit #prefixes. + end, + + -- Chain to special handler specified by name. + ["*"] = function(ctx, name, pat) + return map_act[name](ctx, name, sub(pat, 2)) + end, + + -- Use named subtable for opcode group. + ["!"] = function(ctx, name, pat) + local mrm = getmrm(ctx); if not mrm then return incomplete(ctx) end + return dispatch(ctx, map_opcgroup[name][((mrm-(mrm%8))/8)%8+1], sub(pat, 2)) + end, + + -- o16,o32[,o64] variants. + sz = function(ctx, name, pat) + if ctx.o16 then ctx.o16 = false + else + pat = match(pat, ",(.*)") + if ctx.rexw then + local p = match(pat, ",(.*)") + if p then pat = p; ctx.rexw = false end + end + end + pat = match(pat, "^[^,]*") + return dispatch(ctx, pat) + end, + + -- Two-byte opcode dispatch. + opc2 = function(ctx, name, pat) + return dispatchmap(ctx, map_opc2) + end, + + -- Three-byte opcode dispatch. + opc3 = function(ctx, name, pat) + return dispatchmap(ctx, map_opc3[pat]) + end, + + -- VMX/SVM dispatch. + vm = function(ctx, name, pat) + return dispatch(ctx, map_opcvm[ctx.mrm]) + end, + + -- Floating point opcode dispatch. + fp = function(ctx, name, pat) + local mrm = getmrm(ctx); if not mrm then return incomplete(ctx) end + local rm = mrm%8 + local idx = pat*8 + ((mrm-rm)/8)%8 + if mrm >= 192 then idx = idx + 64 end + local opat = map_opcfp[idx] + if type(opat) == "table" then opat = opat[rm+1] end + return dispatch(ctx, opat) + end, + + -- REX prefix. + rex = function(ctx, name, pat) + if ctx.rex then return unknown(ctx) end -- Only 1 REX or VEX prefix allowed. + for p in gmatch(pat, ".") do ctx["rex"..p] = true end + ctx.rex = "rex" + end, + + -- VEX prefix. + vex = function(ctx, name, pat) + if ctx.rex then return unknown(ctx) end -- Only 1 REX or VEX prefix allowed. + ctx.rex = "vex" + local pos = ctx.pos + if ctx.mrm then + ctx.mrm = nil + pos = pos-1 + end + local b = byte(ctx.code, pos, pos) + if not b then return incomplete(ctx) end + pos = pos+1 + if b < 128 then ctx.rexr = true end + local m = 1 + if pat == "3" then + m = b%32; b = (b-m)/32 + local nb = b%2; b = (b-nb)/2 + if nb == 0 then ctx.rexb = true end + local nx = b%2 + if nx == 0 then ctx.rexx = true end + b = byte(ctx.code, pos, pos) + if not b then return incomplete(ctx) end + pos = pos+1 + if b >= 128 then ctx.rexw = true end + end + ctx.pos = pos + local map + if m == 1 then map = map_opc2 + elseif m == 2 then map = map_opc3["38"] + elseif m == 3 then map = map_opc3["3a"] + else return unknown(ctx) end + local p = b%4; b = (b-p)/4 + if p == 1 then ctx.o16 = "o16" + elseif p == 2 then ctx.rep = "rep" + elseif p == 3 then ctx.rep = "repne" end + local l = b%2; b = (b-l)/2 + if l ~= 0 then ctx.vexl = true end + ctx.vexv = (-1-b)%16 + return dispatchmap(ctx, map) + end, + + -- Special case for nop with REX prefix. + nop = function(ctx, name, pat) + return dispatch(ctx, ctx.rex and pat or "nop") + end, + + -- Special case for 0F 77. + emms = function(ctx, name, pat) + if ctx.rex ~= "vex" then + return putop(ctx, "emms") + elseif ctx.vexl then + ctx.vexl = false + return putop(ctx, "zeroall") + else + return putop(ctx, "zeroupper") + end + end, +} + +------------------------------------------------------------------------------ + +-- Disassemble a block of code. +local function disass_block(ctx, ofs, len) + if not ofs then ofs = 0 end + local stop = len and ofs+len or #ctx.code + ofs = ofs + 1 + ctx.start = ofs + ctx.pos = ofs + ctx.stop = stop + ctx.imm = nil + ctx.mrm = false + clearprefixes(ctx) + while ctx.pos <= stop do dispatchmap(ctx, ctx.map1) end + if ctx.pos ~= ctx.start then incomplete(ctx) end +end + +-- Extended API: create a disassembler context. Then call ctx:disass(ofs, len). +local function create(code, addr, out) + local ctx = {} + ctx.code = code + ctx.addr = (addr or 0) - 1 + ctx.out = out or io.write + ctx.symtab = {} + ctx.disass = disass_block + ctx.hexdump = 16 + ctx.x64 = false + ctx.map1 = map_opc1_32 + ctx.aregs = map_regs.D + return ctx +end + +local function create64(code, addr, out) + local ctx = create(code, addr, out) + ctx.x64 = true + ctx.map1 = map_opc1_64 + ctx.aregs = map_regs.Q + return ctx +end + +-- Simple API: disassemble code (a string) at address and output via out. +local function disass(code, addr, out) + create(code, addr, out):disass() +end + +local function disass64(code, addr, out) + create64(code, addr, out):disass() +end + +-- Return register name for RID. +local function regname(r) + if r < 8 then return map_regs.D[r+1] end + return map_regs.X[r-7] +end + +local function regname64(r) + if r < 16 then return map_regs.Q[r+1] end + return map_regs.X[r-15] +end + +-- Public module functions. +return { + create = create, + create64 = create64, + disass = disass, + disass64 = disass64, + regname = regname, + regname64 = regname64 +} + diff --git a/libs/LuaJIT/android/x86_64/jit/dump.lua b/libs/LuaJIT/android/x86_64/jit/dump.lua new file mode 100644 index 00000000..9eda08c4 --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/dump.lua @@ -0,0 +1,726 @@ +---------------------------------------------------------------------------- +-- LuaJIT compiler dump module. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module can be used to debug the JIT compiler itself. It dumps the +-- code representations and structures used in various compiler stages. +-- +-- Example usage: +-- +-- luajit -jdump -e "local x=0; for i=1,1e6 do x=x+i end; print(x)" +-- luajit -jdump=im -e "for i=1,1000 do for j=1,1000 do end end" | less -R +-- luajit -jdump=is myapp.lua | less -R +-- luajit -jdump=-b myapp.lua +-- luajit -jdump=+aH,myapp.html myapp.lua +-- luajit -jdump=ixT,myapp.dump myapp.lua +-- +-- The first argument specifies the dump mode. The second argument gives +-- the output file name. Default output is to stdout, unless the environment +-- variable LUAJIT_DUMPFILE is set. The file is overwritten every time the +-- module is started. +-- +-- Different features can be turned on or off with the dump mode. If the +-- mode starts with a '+', the following features are added to the default +-- set of features; a '-' removes them. Otherwise the features are replaced. +-- +-- The following dump features are available (* marks the default): +-- +-- * t Print a line for each started, ended or aborted trace (see also -jv). +-- * b Dump the traced bytecode. +-- * i Dump the IR (intermediate representation). +-- r Augment the IR with register/stack slots. +-- s Dump the snapshot map. +-- * m Dump the generated machine code. +-- x Print each taken trace exit. +-- X Print each taken trace exit and the contents of all registers. +-- a Print the IR of aborted traces, too. +-- +-- The output format can be set with the following characters: +-- +-- T Plain text output. +-- A ANSI-colored text output +-- H Colorized HTML + CSS output. +-- +-- The default output format is plain text. It's set to ANSI-colored text +-- if the COLORTERM variable is set. Note: this is independent of any output +-- redirection, which is actually considered a feature. +-- +-- You probably want to use less -R to enjoy viewing ANSI-colored text from +-- a pipe or a file. Add this to your ~/.bashrc: export LESS="-R" +-- +------------------------------------------------------------------------------ + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local jutil = require("jit.util") +local vmdef = require("jit.vmdef") +local funcinfo, funcbc = jutil.funcinfo, jutil.funcbc +local traceinfo, traceir, tracek = jutil.traceinfo, jutil.traceir, jutil.tracek +local tracemc, tracesnap = jutil.tracemc, jutil.tracesnap +local traceexitstub, ircalladdr = jutil.traceexitstub, jutil.ircalladdr +local bit = require("bit") +local band, shr, tohex = bit.band, bit.rshift, bit.tohex +local sub, gsub, format = string.sub, string.gsub, string.format +local byte, rep = string.byte, string.rep +local type, tostring = type, tostring +local stdout, stderr = io.stdout, io.stderr + +-- Load other modules on-demand. +local bcline, disass + +-- Active flag, output file handle and dump mode. +local active, out, dumpmode + +------------------------------------------------------------------------------ + +local symtabmt = { __index = false } +local symtab = {} +local nexitsym = 0 + +-- Fill nested symbol table with per-trace exit stub addresses. +local function fillsymtab_tr(tr, nexit) + local t = {} + symtabmt.__index = t + if jit.arch:sub(1, 4) == "mips" then + t[traceexitstub(tr, 0)] = "exit" + return + end + for i=0,nexit-1 do + local addr = traceexitstub(tr, i) + if addr < 0 then addr = addr + 2^32 end + t[addr] = tostring(i) + end + local addr = traceexitstub(tr, nexit) + if addr then t[addr] = "stack_check" end +end + +-- Fill symbol table with trace exit stub addresses. +local function fillsymtab(tr, nexit) + local t = symtab + if nexitsym == 0 then + local maskaddr = jit.arch == "arm" and -2 + local ircall = vmdef.ircall + for i=0,#ircall do + local addr = ircalladdr(i) + if addr ~= 0 then + if maskaddr then addr = band(addr, maskaddr) end + if addr < 0 then addr = addr + 2^32 end + t[addr] = ircall[i] + end + end + end + if nexitsym == 1000000 then -- Per-trace exit stubs. + fillsymtab_tr(tr, nexit) + elseif nexit > nexitsym then -- Shared exit stubs. + for i=nexitsym,nexit-1 do + local addr = traceexitstub(i) + if addr == nil then -- Fall back to per-trace exit stubs. + fillsymtab_tr(tr, nexit) + setmetatable(symtab, symtabmt) + nexit = 1000000 + break + end + if addr < 0 then addr = addr + 2^32 end + t[addr] = tostring(i) + end + nexitsym = nexit + end + return t +end + +local function dumpwrite(s) + out:write(s) +end + +-- Disassemble machine code. +local function dump_mcode(tr) + local info = traceinfo(tr) + if not info then return end + local mcode, addr, loop = tracemc(tr) + if not mcode then return end + if not disass then disass = require("jit.dis_"..jit.arch) end + if addr < 0 then addr = addr + 2^32 end + out:write("---- TRACE ", tr, " mcode ", #mcode, "\n") + local ctx = disass.create(mcode, addr, dumpwrite) + ctx.hexdump = 0 + ctx.symtab = fillsymtab(tr, info.nexit) + if loop ~= 0 then + symtab[addr+loop] = "LOOP" + ctx:disass(0, loop) + out:write("->LOOP:\n") + ctx:disass(loop, #mcode-loop) + symtab[addr+loop] = nil + else + ctx:disass(0, #mcode) + end +end + +------------------------------------------------------------------------------ + +local irtype_text = { + [0] = "nil", + "fal", + "tru", + "lud", + "str", + "p32", + "thr", + "pro", + "fun", + "p64", + "cdt", + "tab", + "udt", + "flt", + "num", + "i8 ", + "u8 ", + "i16", + "u16", + "int", + "u32", + "i64", + "u64", + "sfp", +} + +local colortype_ansi = { + [0] = "%s", + "%s", + "%s", + "\027[36m%s\027[m", + "\027[32m%s\027[m", + "%s", + "\027[1m%s\027[m", + "%s", + "\027[1m%s\027[m", + "%s", + "\027[33m%s\027[m", + "\027[31m%s\027[m", + "\027[36m%s\027[m", + "\027[34m%s\027[m", + "\027[34m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", + "\027[35m%s\027[m", +} + +local function colorize_text(s) + return s +end + +local function colorize_ansi(s, t, extra) + local out = format(colortype_ansi[t], s) + if extra then out = "\027[3m"..out end + return out +end + +local irtype_ansi = setmetatable({}, + { __index = function(tab, t) + local s = colorize_ansi(irtype_text[t], t); tab[t] = s; return s; end }) + +local html_escape = { ["<"] = "<", [">"] = ">", ["&"] = "&", } + +local function colorize_html(s, t, extra) + s = gsub(s, "[<>&]", html_escape) + return format('%s', + irtype_text[t], extra and " irt_extra" or "", s) +end + +local irtype_html = setmetatable({}, + { __index = function(tab, t) + local s = colorize_html(irtype_text[t], t); tab[t] = s; return s; end }) + +local header_html = [[ + +]] + +local colorize, irtype + +-- Lookup tables to convert some literals into names. +local litname = { + ["SLOAD "] = setmetatable({}, { __index = function(t, mode) + local s = "" + if band(mode, 1) ~= 0 then s = s.."P" end + if band(mode, 2) ~= 0 then s = s.."F" end + if band(mode, 4) ~= 0 then s = s.."T" end + if band(mode, 8) ~= 0 then s = s.."C" end + if band(mode, 16) ~= 0 then s = s.."R" end + if band(mode, 32) ~= 0 then s = s.."I" end + if band(mode, 64) ~= 0 then s = s.."K" end + t[mode] = s + return s + end}), + ["XLOAD "] = { [0] = "", "R", "V", "RV", "U", "RU", "VU", "RVU", }, + ["CONV "] = setmetatable({}, { __index = function(t, mode) + local s = irtype[band(mode, 31)] + s = irtype[band(shr(mode, 5), 31)].."."..s + if band(mode, 0x800) ~= 0 then s = s.." sext" end + local c = shr(mode, 12) + if c == 1 then s = s.." none" + elseif c == 2 then s = s.." index" + elseif c == 3 then s = s.." check" end + t[mode] = s + return s + end}), + ["FLOAD "] = vmdef.irfield, + ["FREF "] = vmdef.irfield, + ["FPMATH"] = vmdef.irfpm, + ["TMPREF"] = { [0] = "", "IN", "OUT", "INOUT", "", "", "OUT2", "INOUT2" }, + ["BUFHDR"] = { [0] = "RESET", "APPEND", "WRITE" }, + ["TOSTR "] = { [0] = "INT", "NUM", "CHAR" }, +} + +local function ctlsub(c) + if c == "\n" then return "\\n" + elseif c == "\r" then return "\\r" + elseif c == "\t" then return "\\t" + else return format("\\%03d", byte(c)) + end +end + +local function fmtfunc(func, pc) + local fi = funcinfo(func, pc) + if fi.loc then + return fi.loc + elseif fi.ffid then + return vmdef.ffnames[fi.ffid] + elseif fi.addr then + return format("C:%x", fi.addr) + else + return "(?)" + end +end + +local function formatk(tr, idx, sn) + local k, t, slot = tracek(tr, idx) + local tn = type(k) + local s + if tn == "number" then + if t < 12 then + s = k == 0 and "NULL" or format("[0x%08x]", k) + elseif band(sn or 0, 0x30000) ~= 0 then + s = band(sn, 0x20000) ~= 0 and "contpc" or "ftsz" + elseif k == 2^52+2^51 then + s = "bias" + else + s = format(0 < k and k < 0x1p-1026 and "%+a" or "%+.14g", k) + end + elseif tn == "string" then + s = format(#k > 20 and '"%.20s"~' or '"%s"', gsub(k, "%c", ctlsub)) + elseif tn == "function" then + s = fmtfunc(k) + elseif tn == "table" then + s = format("{%p}", k) + elseif tn == "userdata" then + if t == 12 then + s = format("userdata:%p", k) + else + s = format("[%p]", k) + if s == "[NULL]" then s = "NULL" end + end + elseif t == 21 then -- int64_t + s = sub(tostring(k), 1, -3) + if sub(s, 1, 1) ~= "-" then s = "+"..s end + elseif sn == 0x1057fff then -- SNAP(1, SNAP_FRAME | SNAP_NORESTORE, REF_NIL) + return "----" -- Special case for LJ_FR2 slot 1. + else + s = tostring(k) -- For primitives. + end + s = colorize(format("%-4s", s), t, band(sn or 0, 0x100000) ~= 0) + if slot then + s = format("%s @%d", s, slot) + end + return s +end + +local function printsnap(tr, snap) + local n = 2 + for s=0,snap[1]-1 do + local sn = snap[n] + if shr(sn, 24) == s then + n = n + 1 + local ref = band(sn, 0xffff) - 0x8000 -- REF_BIAS + if ref < 0 then + out:write(formatk(tr, ref, sn)) + elseif band(sn, 0x80000) ~= 0 then -- SNAP_SOFTFPNUM + out:write(colorize(format("%04d/%04d", ref, ref+1), 14)) + else + local m, ot, op1, op2 = traceir(tr, ref) + out:write(colorize(format("%04d", ref), band(ot, 31), band(sn, 0x100000) ~= 0)) + end + out:write(band(sn, 0x10000) == 0 and " " or "|") -- SNAP_FRAME + else + out:write("---- ") + end + end + out:write("]\n") +end + +-- Dump snapshots (not interleaved with IR). +local function dump_snap(tr) + out:write("---- TRACE ", tr, " snapshots\n") + for i=0,1000000000 do + local snap = tracesnap(tr, i) + if not snap then break end + out:write(format("#%-3d %04d [ ", i, snap[0])) + printsnap(tr, snap) + end +end + +-- Return a register name or stack slot for a rid/sp location. +local function ridsp_name(ridsp, ins) + if not disass then disass = require("jit.dis_"..jit.arch) end + local rid, slot = band(ridsp, 0xff), shr(ridsp, 8) + if rid == 253 or rid == 254 then + return (slot == 0 or slot == 255) and " {sink" or format(" {%04d", ins-slot) + end + if ridsp > 255 then return format("[%x]", slot*4) end + if rid < 128 then return disass.regname(rid) end + return "" +end + +-- Dump CALL* function ref and return optional ctype. +local function dumpcallfunc(tr, ins) + local ctype + if ins > 0 then + local m, ot, op1, op2 = traceir(tr, ins) + if band(ot, 31) == 0 then -- nil type means CARG(func, ctype). + ins = op1 + ctype = formatk(tr, op2) + end + end + if ins < 0 then + out:write(format("[0x%x](", tonumber((tracek(tr, ins))))) + else + out:write(format("%04d (", ins)) + end + return ctype +end + +-- Recursively gather CALL* args and dump them. +local function dumpcallargs(tr, ins) + if ins < 0 then + out:write(formatk(tr, ins)) + else + local m, ot, op1, op2 = traceir(tr, ins) + local oidx = 6*shr(ot, 8) + local op = sub(vmdef.irnames, oidx+1, oidx+6) + if op == "CARG " then + dumpcallargs(tr, op1) + if op2 < 0 then + out:write(" ", formatk(tr, op2)) + else + out:write(" ", format("%04d", op2)) + end + else + out:write(format("%04d", ins)) + end + end +end + +-- Dump IR and interleaved snapshots. +local function dump_ir(tr, dumpsnap, dumpreg) + local info = traceinfo(tr) + if not info then return end + local nins = info.nins + out:write("---- TRACE ", tr, " IR\n") + local irnames = vmdef.irnames + local snapref = 65536 + local snap, snapno + if dumpsnap then + snap = tracesnap(tr, 0) + snapref = snap[0] + snapno = 0 + end + for ins=1,nins do + if ins >= snapref then + if dumpreg then + out:write(format(".... SNAP #%-3d [ ", snapno)) + else + out:write(format(".... SNAP #%-3d [ ", snapno)) + end + printsnap(tr, snap) + snapno = snapno + 1 + snap = tracesnap(tr, snapno) + snapref = snap and snap[0] or 65536 + end + local m, ot, op1, op2, ridsp = traceir(tr, ins) + local oidx, t = 6*shr(ot, 8), band(ot, 31) + local op = sub(irnames, oidx+1, oidx+6) + if op == "LOOP " then + if dumpreg then + out:write(format("%04d ------------ LOOP ------------\n", ins)) + else + out:write(format("%04d ------ LOOP ------------\n", ins)) + end + elseif op ~= "NOP " and op ~= "CARG " and + (dumpreg or op ~= "RENAME") then + local rid = band(ridsp, 255) + if dumpreg then + out:write(format("%04d %-6s", ins, ridsp_name(ridsp, ins))) + else + out:write(format("%04d ", ins)) + end + out:write(format("%s%s %s %s ", + (rid == 254 or rid == 253) and "}" or + (band(ot, 128) == 0 and " " or ">"), + band(ot, 64) == 0 and " " or "+", + irtype[t], op)) + local m1, m2 = band(m, 3), band(m, 3*4) + if sub(op, 1, 4) == "CALL" then + local ctype + if m2 == 1*4 then -- op2 == IRMlit + out:write(format("%-10s (", vmdef.ircall[op2])) + else + ctype = dumpcallfunc(tr, op2) + end + if op1 ~= -1 then dumpcallargs(tr, op1) end + out:write(")") + if ctype then out:write(" ctype ", ctype) end + elseif op == "CNEW " and op2 == -1 then + out:write(formatk(tr, op1)) + elseif m1 ~= 3 then -- op1 != IRMnone + if op1 < 0 then + out:write(formatk(tr, op1)) + else + out:write(format(m1 == 0 and "%04d" or "#%-3d", op1)) + end + if m2 ~= 3*4 then -- op2 != IRMnone + if m2 == 1*4 then -- op2 == IRMlit + local litn = litname[op] + if litn and litn[op2] then + out:write(" ", litn[op2]) + elseif op == "UREFO " or op == "UREFC " then + out:write(format(" #%-3d", shr(op2, 8))) + else + out:write(format(" #%-3d", op2)) + end + elseif op2 < 0 then + out:write(" ", formatk(tr, op2)) + else + out:write(format(" %04d", op2)) + end + end + end + out:write("\n") + end + end + if snap then + if dumpreg then + out:write(format(".... SNAP #%-3d [ ", snapno)) + else + out:write(format(".... SNAP #%-3d [ ", snapno)) + end + printsnap(tr, snap) + end +end + +------------------------------------------------------------------------------ + +local recprefix = "" +local recdepth = 0 + +-- Format trace error message. +local function fmterr(err, info) + if type(err) == "number" then + if type(info) == "function" then info = fmtfunc(info) end + err = format(vmdef.traceerr[err], info) + end + return err +end + +-- Dump trace states. +local function dump_trace(what, tr, func, pc, otr, oex) + if what == "stop" or (what == "abort" and dumpmode.a) then + if dumpmode.i then dump_ir(tr, dumpmode.s, dumpmode.r and what == "stop") + elseif dumpmode.s then dump_snap(tr) end + if dumpmode.m then dump_mcode(tr) end + end + if what == "start" then + if dumpmode.H then out:write('

      \n') end
      +    out:write("---- TRACE ", tr, " ", what)
      +    if otr then out:write(" ", otr, "/", oex == -1 and "stitch" or oex) end
      +    out:write(" ", fmtfunc(func, pc), "\n")
      +  elseif what == "stop" or what == "abort" then
      +    out:write("---- TRACE ", tr, " ", what)
      +    if what == "abort" then
      +      out:write(" ", fmtfunc(func, pc), " -- ", fmterr(otr, oex), "\n")
      +    else
      +      local info = traceinfo(tr)
      +      local link, ltype = info.link, info.linktype
      +      if link == tr or link == 0 then
      +	out:write(" -> ", ltype, "\n")
      +      elseif ltype == "root" then
      +	out:write(" -> ", link, "\n")
      +      else
      +	out:write(" -> ", link, " ", ltype, "\n")
      +      end
      +    end
      +    if dumpmode.H then out:write("
      \n\n") else out:write("\n") end + else + if what == "flush" then symtab, nexitsym = {}, 0 end + out:write("---- TRACE ", what, "\n\n") + end + out:flush() +end + +-- Dump recorded bytecode. +local function dump_record(tr, func, pc, depth) + if depth ~= recdepth then + recdepth = depth + recprefix = rep(" .", depth) + end + local line + if pc >= 0 then + line = bcline(func, pc, recprefix) + if dumpmode.H then line = gsub(line, "[<>&]", html_escape) end + else + line = "0000 "..recprefix.." FUNCC \n" + end + if pc <= 0 then + out:write(sub(line, 1, -2), " ; ", fmtfunc(func), "\n") + else + out:write(line) + end + if pc >= 0 and band(funcbc(func, pc), 0xff) < 16 then -- ORDER BC + out:write(bcline(func, pc+1, recprefix)) -- Write JMP for cond. + end +end + +------------------------------------------------------------------------------ + +local gpr64 = jit.arch:match("64") +local fprmips32 = jit.arch == "mips" or jit.arch == "mipsel" + +-- Dump taken trace exits. +local function dump_texit(tr, ex, ngpr, nfpr, ...) + out:write("---- TRACE ", tr, " exit ", ex, "\n") + if dumpmode.X then + local regs = {...} + if gpr64 then + for i=1,ngpr do + out:write(format(" %016x", regs[i])) + if i % 4 == 0 then out:write("\n") end + end + else + for i=1,ngpr do + out:write(" ", tohex(regs[i])) + if i % 8 == 0 then out:write("\n") end + end + end + if fprmips32 then + for i=1,nfpr,2 do + out:write(format(" %+17.14g", regs[ngpr+i])) + if i % 8 == 7 then out:write("\n") end + end + else + for i=1,nfpr do + out:write(format(" %+17.14g", regs[ngpr+i])) + if i % 4 == 0 then out:write("\n") end + end + end + end +end + +------------------------------------------------------------------------------ + +-- Detach dump handlers. +local function dumpoff() + if active then + active = false + jit.attach(dump_texit) + jit.attach(dump_record) + jit.attach(dump_trace) + if out and out ~= stdout and out ~= stderr then out:close() end + out = nil + end +end + +-- Open the output file and attach dump handlers. +local function dumpon(opt, outfile) + if active then dumpoff() end + + local term = os.getenv("TERM") + local colormode = (term and term:match("color") or os.getenv("COLORTERM")) and "A" or "T" + if opt then + opt = gsub(opt, "[TAH]", function(mode) colormode = mode; return ""; end) + end + + local m = { t=true, b=true, i=true, m=true, } + if opt and opt ~= "" then + local o = sub(opt, 1, 1) + if o ~= "+" and o ~= "-" then m = {} end + for i=1,#opt do m[sub(opt, i, i)] = (o ~= "-") end + end + dumpmode = m + + if m.t or m.b or m.i or m.s or m.m then + jit.attach(dump_trace, "trace") + end + if m.b then + jit.attach(dump_record, "record") + if not bcline then bcline = require("jit.bc").line end + end + if m.x or m.X then + jit.attach(dump_texit, "texit") + end + + if not outfile then outfile = os.getenv("LUAJIT_DUMPFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stdout + end + + m[colormode] = true + if colormode == "A" then + colorize = colorize_ansi + irtype = irtype_ansi + elseif colormode == "H" then + colorize = colorize_html + irtype = irtype_html + out:write(header_html) + else + colorize = colorize_text + irtype = irtype_text + end + + active = true +end + +-- Public module functions. +return { + on = dumpon, + off = dumpoff, + start = dumpon -- For -j command line option. +} + diff --git a/libs/LuaJIT/android/x86_64/jit/p.lua b/libs/LuaJIT/android/x86_64/jit/p.lua new file mode 100644 index 00000000..c9ec1d8b --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/p.lua @@ -0,0 +1,312 @@ +---------------------------------------------------------------------------- +-- LuaJIT profiler. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module is a simple command line interface to the built-in +-- low-overhead profiler of LuaJIT. +-- +-- The lower-level API of the profiler is accessible via the "jit.profile" +-- module or the luaJIT_profile_* C API. +-- +-- Example usage: +-- +-- luajit -jp myapp.lua +-- luajit -jp=s myapp.lua +-- luajit -jp=-s myapp.lua +-- luajit -jp=vl myapp.lua +-- luajit -jp=G,profile.txt myapp.lua +-- +-- The following dump features are available: +-- +-- f Stack dump: function name, otherwise module:line. Default mode. +-- F Stack dump: ditto, but always prepend module. +-- l Stack dump: module:line. +-- stack dump depth (callee < caller). Default: 1. +-- - Inverse stack dump depth (caller > callee). +-- s Split stack dump after first stack level. Implies abs(depth) >= 2. +-- p Show full path for module names. +-- v Show VM states. Can be combined with stack dumps, e.g. vf or fv. +-- z Show zones. Can be combined with stack dumps, e.g. zf or fz. +-- r Show raw sample counts. Default: show percentages. +-- a Annotate excerpts from source code files. +-- A Annotate complete source code files. +-- G Produce raw output suitable for graphical tools (e.g. flame graphs). +-- m Minimum sample percentage to be shown. Default: 3. +-- i Sampling interval in milliseconds. Default: 10. +-- +---------------------------------------------------------------------------- + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local profile = require("jit.profile") +local vmdef = require("jit.vmdef") +local math = math +local pairs, ipairs, tonumber, floor = pairs, ipairs, tonumber, math.floor +local sort, format = table.sort, string.format +local stdout = io.stdout +local zone -- Load jit.zone module on demand. + +-- Output file handle. +local out + +------------------------------------------------------------------------------ + +local prof_ud +local prof_states, prof_split, prof_min, prof_raw, prof_fmt, prof_depth +local prof_ann, prof_count1, prof_count2, prof_samples + +local map_vmmode = { + N = "Compiled", + I = "Interpreted", + C = "C code", + G = "Garbage Collector", + J = "JIT Compiler", +} + +-- Profiler callback. +local function prof_cb(th, samples, vmmode) + prof_samples = prof_samples + samples + local key_stack, key_stack2, key_state + -- Collect keys for sample. + if prof_states then + if prof_states == "v" then + key_state = map_vmmode[vmmode] or vmmode + else + key_state = zone:get() or "(none)" + end + end + if prof_fmt then + key_stack = profile.dumpstack(th, prof_fmt, prof_depth) + key_stack = key_stack:gsub("%[builtin#(%d+)%]", function(x) + return vmdef.ffnames[tonumber(x)] + end) + if prof_split == 2 then + local k1, k2 = key_stack:match("(.-) [<>] (.*)") + if k2 then key_stack, key_stack2 = k1, k2 end + elseif prof_split == 3 then + key_stack2 = profile.dumpstack(th, "l", 1) + end + end + -- Order keys. + local k1, k2 + if prof_split == 1 then + if key_state then + k1 = key_state + if key_stack then k2 = key_stack end + end + elseif key_stack then + k1 = key_stack + if key_stack2 then k2 = key_stack2 elseif key_state then k2 = key_state end + end + -- Coalesce samples in one or two levels. + if k1 then + local t1 = prof_count1 + t1[k1] = (t1[k1] or 0) + samples + if k2 then + local t2 = prof_count2 + local t3 = t2[k1] + if not t3 then t3 = {}; t2[k1] = t3 end + t3[k2] = (t3[k2] or 0) + samples + end + end +end + +------------------------------------------------------------------------------ + +-- Show top N list. +local function prof_top(count1, count2, samples, indent) + local t, n = {}, 0 + for k in pairs(count1) do + n = n + 1 + t[n] = k + end + sort(t, function(a, b) return count1[a] > count1[b] end) + for i=1,n do + local k = t[i] + local v = count1[k] + local pct = floor(v*100/samples + 0.5) + if pct < prof_min then break end + if not prof_raw then + out:write(format("%s%2d%% %s\n", indent, pct, k)) + elseif prof_raw == "r" then + out:write(format("%s%5d %s\n", indent, v, k)) + else + out:write(format("%s %d\n", k, v)) + end + if count2 then + local r = count2[k] + if r then + prof_top(r, nil, v, (prof_split == 3 or prof_split == 1) and " -- " or + (prof_depth < 0 and " -> " or " <- ")) + end + end + end +end + +-- Annotate source code +local function prof_annotate(count1, samples) + local files = {} + local ms = 0 + for k, v in pairs(count1) do + local pct = floor(v*100/samples + 0.5) + ms = math.max(ms, v) + if pct >= prof_min then + local file, line = k:match("^(.*):(%d+)$") + if not file then file = k; line = 0 end + local fl = files[file] + if not fl then fl = {}; files[file] = fl; files[#files+1] = file end + line = tonumber(line) + fl[line] = prof_raw and v or pct + end + end + sort(files) + local fmtv, fmtn = " %3d%% | %s\n", " | %s\n" + if prof_raw then + local n = math.max(5, math.ceil(math.log10(ms))) + fmtv = "%"..n.."d | %s\n" + fmtn = (" "):rep(n).." | %s\n" + end + local ann = prof_ann + for _, file in ipairs(files) do + local f0 = file:byte() + if f0 == 40 or f0 == 91 then + out:write(format("\n====== %s ======\n[Cannot annotate non-file]\n", file)) + break + end + local fp, err = io.open(file) + if not fp then + out:write(format("====== ERROR: %s: %s\n", file, err)) + break + end + out:write(format("\n====== %s ======\n", file)) + local fl = files[file] + local n, show = 1, false + if ann ~= 0 then + for i=1,ann do + if fl[i] then show = true; out:write("@@ 1 @@\n"); break end + end + end + for line in fp:lines() do + if line:byte() == 27 then + out:write("[Cannot annotate bytecode file]\n") + break + end + local v = fl[n] + if ann ~= 0 then + local v2 = fl[n+ann] + if show then + if v2 then show = n+ann elseif v then show = n + elseif show+ann < n then show = false end + elseif v2 then + show = n+ann + out:write(format("@@ %d @@\n", n)) + end + if not show then goto next end + end + if v then + out:write(format(fmtv, v, line)) + else + out:write(format(fmtn, line)) + end + ::next:: + n = n + 1 + end + fp:close() + end +end + +------------------------------------------------------------------------------ + +-- Finish profiling and dump result. +local function prof_finish() + if prof_ud then + profile.stop() + local samples = prof_samples + if samples == 0 then + if prof_raw ~= true then out:write("[No samples collected]\n") end + return + end + if prof_ann then + prof_annotate(prof_count1, samples) + else + prof_top(prof_count1, prof_count2, samples, "") + end + prof_count1 = nil + prof_count2 = nil + prof_ud = nil + if out ~= stdout then out:close() end + end +end + +-- Start profiling. +local function prof_start(mode) + local interval = "" + mode = mode:gsub("i%d*", function(s) interval = s; return "" end) + prof_min = 3 + mode = mode:gsub("m(%d+)", function(s) prof_min = tonumber(s); return "" end) + prof_depth = 1 + mode = mode:gsub("%-?%d+", function(s) prof_depth = tonumber(s); return "" end) + local m = {} + for c in mode:gmatch(".") do m[c] = c end + prof_states = m.z or m.v + if prof_states == "z" then zone = require("jit.zone") end + local scope = m.l or m.f or m.F or (prof_states and "" or "f") + local flags = (m.p or "") + prof_raw = m.r + if m.s then + prof_split = 2 + if prof_depth == -1 or m["-"] then prof_depth = -2 + elseif prof_depth == 1 then prof_depth = 2 end + elseif mode:find("[fF].*l") then + scope = "l" + prof_split = 3 + else + prof_split = (scope == "" or mode:find("[zv].*[lfF]")) and 1 or 0 + end + prof_ann = m.A and 0 or (m.a and 3) + if prof_ann then + scope = "l" + prof_fmt = "pl" + prof_split = 0 + prof_depth = 1 + elseif m.G and scope ~= "" then + prof_fmt = flags..scope.."Z;" + prof_depth = -100 + prof_raw = true + prof_min = 0 + elseif scope == "" then + prof_fmt = false + else + local sc = prof_split == 3 and m.f or m.F or scope + prof_fmt = flags..sc..(prof_depth >= 0 and "Z < " or "Z > ") + end + prof_count1 = {} + prof_count2 = {} + prof_samples = 0 + profile.start(scope:lower()..interval, prof_cb) + prof_ud = newproxy(true) + getmetatable(prof_ud).__gc = prof_finish +end + +------------------------------------------------------------------------------ + +local function start(mode, outfile) + if not outfile then outfile = os.getenv("LUAJIT_PROFILEFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stdout + end + prof_start(mode or "f") +end + +-- Public module functions. +return { + start = start, -- For -j command line option. + stop = prof_finish +} + diff --git a/libs/LuaJIT/android/x86_64/jit/v.lua b/libs/LuaJIT/android/x86_64/jit/v.lua new file mode 100644 index 00000000..83589143 --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/v.lua @@ -0,0 +1,170 @@ +---------------------------------------------------------------------------- +-- Verbose mode of the LuaJIT compiler. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module shows verbose information about the progress of the +-- JIT compiler. It prints one line for each generated trace. This module +-- is useful to see which code has been compiled or where the compiler +-- punts and falls back to the interpreter. +-- +-- Example usage: +-- +-- luajit -jv -e "for i=1,1000 do for j=1,1000 do end end" +-- luajit -jv=myapp.out myapp.lua +-- +-- Default output is to stderr. To redirect the output to a file, pass a +-- filename as an argument (use '-' for stdout) or set the environment +-- variable LUAJIT_VERBOSEFILE. The file is overwritten every time the +-- module is started. +-- +-- The output from the first example should look like this: +-- +-- [TRACE 1 (command line):1 loop] +-- [TRACE 2 (1/3) (command line):1 -> 1] +-- +-- The first number in each line is the internal trace number. Next are +-- the file name ('(command line)') and the line number (':1') where the +-- trace has started. Side traces also show the parent trace number and +-- the exit number where they are attached to in parentheses ('(1/3)'). +-- An arrow at the end shows where the trace links to ('-> 1'), unless +-- it loops to itself. +-- +-- In this case the inner loop gets hot and is traced first, generating +-- a root trace. Then the last exit from the 1st trace gets hot, too, +-- and triggers generation of the 2nd trace. The side trace follows the +-- path along the outer loop and *around* the inner loop, back to its +-- start, and then links to the 1st trace. Yes, this may seem unusual, +-- if you know how traditional compilers work. Trace compilers are full +-- of surprises like this -- have fun! :-) +-- +-- Aborted traces are shown like this: +-- +-- [TRACE --- foo.lua:44 -- leaving loop in root trace at foo:lua:50] +-- +-- Don't worry -- trace aborts are quite common, even in programs which +-- can be fully compiled. The compiler may retry several times until it +-- finds a suitable trace. +-- +-- Of course this doesn't work with features that are not-yet-implemented +-- (NYI error messages). The VM simply falls back to the interpreter. This +-- may not matter at all if the particular trace is not very high up in +-- the CPU usage profile. Oh, and the interpreter is quite fast, too. +-- +-- Also check out the -jdump module, which prints all the gory details. +-- +------------------------------------------------------------------------------ + +-- Cache some library functions and objects. +local jit = require("jit") +assert(jit.version_num == 20100, "LuaJIT core/library version mismatch") +local jutil = require("jit.util") +local vmdef = require("jit.vmdef") +local funcinfo, traceinfo = jutil.funcinfo, jutil.traceinfo +local type, format = type, string.format +local stdout, stderr = io.stdout, io.stderr + +-- Active flag and output file handle. +local active, out + +------------------------------------------------------------------------------ + +local startloc, startex + +local function fmtfunc(func, pc) + local fi = funcinfo(func, pc) + if fi.loc then + return fi.loc + elseif fi.ffid then + return vmdef.ffnames[fi.ffid] + elseif fi.addr then + return format("C:%x", fi.addr) + else + return "(?)" + end +end + +-- Format trace error message. +local function fmterr(err, info) + if type(err) == "number" then + if type(info) == "function" then info = fmtfunc(info) end + err = format(vmdef.traceerr[err], info) + end + return err +end + +-- Dump trace states. +local function dump_trace(what, tr, func, pc, otr, oex) + if what == "start" then + startloc = fmtfunc(func, pc) + startex = otr and "("..otr.."/"..(oex == -1 and "stitch" or oex)..") " or "" + else + if what == "abort" then + local loc = fmtfunc(func, pc) + if loc ~= startloc then + out:write(format("[TRACE --- %s%s -- %s at %s]\n", + startex, startloc, fmterr(otr, oex), loc)) + else + out:write(format("[TRACE --- %s%s -- %s]\n", + startex, startloc, fmterr(otr, oex))) + end + elseif what == "stop" then + local info = traceinfo(tr) + local link, ltype = info.link, info.linktype + if ltype == "interpreter" then + out:write(format("[TRACE %3s %s%s -- fallback to interpreter]\n", + tr, startex, startloc)) + elseif ltype == "stitch" then + out:write(format("[TRACE %3s %s%s %s %s]\n", + tr, startex, startloc, ltype, fmtfunc(func, pc))) + elseif link == tr or link == 0 then + out:write(format("[TRACE %3s %s%s %s]\n", + tr, startex, startloc, ltype)) + elseif ltype == "root" then + out:write(format("[TRACE %3s %s%s -> %d]\n", + tr, startex, startloc, link)) + else + out:write(format("[TRACE %3s %s%s -> %d %s]\n", + tr, startex, startloc, link, ltype)) + end + else + out:write(format("[TRACE %s]\n", what)) + end + out:flush() + end +end + +------------------------------------------------------------------------------ + +-- Detach dump handlers. +local function dumpoff() + if active then + active = false + jit.attach(dump_trace) + if out and out ~= stdout and out ~= stderr then out:close() end + out = nil + end +end + +-- Open the output file and attach dump handlers. +local function dumpon(outfile) + if active then dumpoff() end + if not outfile then outfile = os.getenv("LUAJIT_VERBOSEFILE") end + if outfile then + out = outfile == "-" and stdout or assert(io.open(outfile, "w")) + else + out = stderr + end + jit.attach(dump_trace, "trace") + active = true +end + +-- Public module functions. +return { + on = dumpon, + off = dumpoff, + start = dumpon -- For -j command line option. +} + diff --git a/libs/LuaJIT/android/x86_64/jit/vmdef.lua b/libs/LuaJIT/android/x86_64/jit/vmdef.lua new file mode 100644 index 00000000..68ff7ba2 --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/vmdef.lua @@ -0,0 +1,395 @@ +-- This is a generated file. DO NOT EDIT! + +return { + +bcnames = "ISLT ISGE ISLE ISGT ISEQV ISNEV ISEQS ISNES ISEQN ISNEN ISEQP ISNEP ISTC ISFC IST ISF ISTYPEISNUM MOV NOT UNM LEN ADDVN SUBVN MULVN DIVVN MODVN ADDNV SUBNV MULNV DIVNV MODNV ADDVV SUBVV MULVV DIVVV MODVV POW CAT KSTR KCDATAKSHORTKNUM KPRI KNIL UGET USETV USETS USETN USETP UCLO FNEW TNEW TDUP GGET GSET TGETV TGETS TGETB TGETR TSETV TSETS TSETB TSETM TSETR CALLM CALL CALLMTCALLT ITERC ITERN VARG ISNEXTRETM RET RET0 RET1 FORI JFORI FORL IFORL JFORL ITERL IITERLJITERLLOOP ILOOP JLOOP JMP FUNCF IFUNCFJFUNCFFUNCV IFUNCVJFUNCVFUNCC FUNCCW", + +irnames = "LT GE LE GT ULT UGE ULE UGT EQ NE ABC RETF NOP BASE PVAL GCSTEPHIOP LOOP USE PHI RENAMEPROF KPRI KINT KGC KPTR KKPTR KNULL KNUM KINT64KSLOT BNOT BSWAP BAND BOR BXOR BSHL BSHR BSAR BROL BROR ADD SUB MUL DIV MOD POW NEG ABS LDEXP MIN MAX FPMATHADDOV SUBOV MULOV AREF HREFK HREF NEWREFUREFO UREFC FREF TMPREFSTRREFLREF ALOAD HLOAD ULOAD FLOAD XLOAD SLOAD VLOAD ALEN ASTOREHSTOREUSTOREFSTOREXSTORESNEW XSNEW TNEW TDUP CNEW CNEWI BUFHDRBUFPUTBUFSTRTBAR OBAR XBAR CONV TOBIT TOSTR STRTO CALLN CALLA CALLL CALLS CALLXSCARG ", + +irfpm = { [0]="floor", "ceil", "trunc", "sqrt", "log", "log2", "other", }, + +irfield = { [0]="str.len", "func.env", "func.pc", "func.ffid", "thread.env", "tab.meta", "tab.array", "tab.node", "tab.asize", "tab.hmask", "tab.nomm", "udata.meta", "udata.udtype", "udata.file", "sbuf.w", "sbuf.e", "sbuf.b", "sbuf.l", "sbuf.ref", "sbuf.r", "cdata.ctypeid", "cdata.ptr", "cdata.int", "cdata.int64", "cdata.int64_4", }, + +ircall = { +[0]="lj_str_cmp", +"lj_str_find", +"lj_str_new", +"lj_strscan_num", +"lj_strfmt_int", +"lj_strfmt_num", +"lj_strfmt_char", +"lj_strfmt_putint", +"lj_strfmt_putnum", +"lj_strfmt_putquoted", +"lj_strfmt_putfxint", +"lj_strfmt_putfnum_int", +"lj_strfmt_putfnum_uint", +"lj_strfmt_putfnum", +"lj_strfmt_putfstr", +"lj_strfmt_putfchar", +"lj_buf_putmem", +"lj_buf_putstr", +"lj_buf_putchar", +"lj_buf_putstr_reverse", +"lj_buf_putstr_lower", +"lj_buf_putstr_upper", +"lj_buf_putstr_rep", +"lj_buf_puttab", +"lj_bufx_set", +"lj_bufx_more", +"lj_serialize_put", +"lj_serialize_get", +"lj_serialize_encode", +"lj_serialize_decode", +"lj_buf_tostr", +"lj_tab_new_ah", +"lj_tab_new1", +"lj_tab_dup", +"lj_tab_clear", +"lj_tab_newkey", +"lj_tab_keyindex", +"lj_vm_next", +"lj_tab_len", +"lj_tab_len_hint", +"lj_gc_step_jit", +"lj_gc_barrieruv", +"lj_mem_newgco", +"lj_prng_u64d", +"lj_vm_modi", +"log10", +"exp", +"sin", +"cos", +"tan", +"asin", +"acos", +"atan", +"sinh", +"cosh", +"tanh", +"fputc", +"fwrite", +"fflush", +"lj_vm_floor", +"lj_vm_ceil", +"lj_vm_trunc", +"sqrt", +"log", +"lj_vm_log2", +"lj_vm_powi", +"pow", +"atan2", +"ldexp", +"lj_vm_tobit", +"softfp_add", +"softfp_sub", +"softfp_mul", +"softfp_div", +"softfp_cmp", +"softfp_i2d", +"softfp_d2i", +"lj_vm_sfmin", +"lj_vm_sfmax", +"lj_vm_tointg", +"softfp_ui2d", +"softfp_f2d", +"softfp_d2ui", +"softfp_d2f", +"softfp_i2f", +"softfp_ui2f", +"softfp_f2i", +"softfp_f2ui", +"fp64_l2d", +"fp64_ul2d", +"fp64_l2f", +"fp64_ul2f", +"fp64_d2l", +"fp64_d2ul", +"fp64_f2l", +"fp64_f2ul", +"lj_carith_divi64", +"lj_carith_divu64", +"lj_carith_modi64", +"lj_carith_modu64", +"lj_carith_powi64", +"lj_carith_powu64", +"lj_cdata_newv", +"lj_cdata_setfin", +"strlen", +"memcpy", +"memset", +"lj_vm_errno", +"lj_carith_mul64", +"lj_carith_shl64", +"lj_carith_shr64", +"lj_carith_sar64", +"lj_carith_rol64", +"lj_carith_ror64", +}, + +traceerr = { +[0]="error thrown or hook called during recording", +"trace too short", +"trace too long", +"trace too deep", +"too many snapshots", +"blacklisted", +"retry recording", +"NYI: bytecode %d", +"leaving loop in root trace", +"inner loop in root trace", +"loop unroll limit reached", +"bad argument type", +"JIT compilation disabled for function", +"call unroll limit reached", +"down-recursion, restarting", +"NYI: unsupported variant of FastFunc %s", +"NYI: return to lower frame", +"store with nil or NaN key", +"missing metamethod", +"looping index lookup", +"NYI: mixed sparse/dense table", +"symbol not in cache", +"NYI: unsupported C type conversion", +"NYI: unsupported C function type", +"guard would always fail", +"too many PHIs", +"persistent type instability", +"failed to allocate mcode memory", +"machine code too long", +"hit mcode limit (retrying)", +"too many spill slots", +"inconsistent register allocation", +"NYI: cannot assemble IR instruction %d", +"NYI: PHI shuffling too complex", +"NYI: register coalescing too complex", +}, + +ffnames = { +[0]="Lua", +"C", +"assert", +"type", +"next", +"pairs", +"ipairs_aux", +"ipairs", +"getmetatable", +"setmetatable", +"getfenv", +"setfenv", +"rawget", +"rawset", +"rawequal", +"unpack", +"select", +"tonumber", +"tostring", +"error", +"pcall", +"xpcall", +"loadfile", +"load", +"loadstring", +"dofile", +"gcinfo", +"collectgarbage", +"newproxy", +"print", +"coroutine.status", +"coroutine.running", +"coroutine.isyieldable", +"coroutine.create", +"coroutine.yield", +"coroutine.resume", +"coroutine.wrap_aux", +"coroutine.wrap", +"math.abs", +"math.floor", +"math.ceil", +"math.sqrt", +"math.log10", +"math.exp", +"math.sin", +"math.cos", +"math.tan", +"math.asin", +"math.acos", +"math.atan", +"math.sinh", +"math.cosh", +"math.tanh", +"math.frexp", +"math.modf", +"math.log", +"math.atan2", +"math.pow", +"math.fmod", +"math.ldexp", +"math.min", +"math.max", +"math.random", +"math.randomseed", +"bit.tobit", +"bit.bnot", +"bit.bswap", +"bit.lshift", +"bit.rshift", +"bit.arshift", +"bit.rol", +"bit.ror", +"bit.band", +"bit.bor", +"bit.bxor", +"bit.tohex", +"string.byte", +"string.char", +"string.sub", +"string.rep", +"string.reverse", +"string.lower", +"string.upper", +"string.dump", +"string.find", +"string.match", +"string.gmatch_aux", +"string.gmatch", +"string.gsub", +"string.format", +"table.maxn", +"table.insert", +"table.concat", +"table.sort", +"table.new", +"table.clear", +"io.method.close", +"io.method.read", +"io.method.write", +"io.method.flush", +"io.method.seek", +"io.method.setvbuf", +"io.method.lines", +"io.method.__gc", +"io.method.__tostring", +"io.open", +"io.popen", +"io.tmpfile", +"io.close", +"io.read", +"io.write", +"io.flush", +"io.input", +"io.output", +"io.lines", +"io.type", +"os.execute", +"os.remove", +"os.rename", +"os.tmpname", +"os.getenv", +"os.exit", +"os.clock", +"os.date", +"os.time", +"os.difftime", +"os.setlocale", +"debug.getregistry", +"debug.getmetatable", +"debug.setmetatable", +"debug.getfenv", +"debug.setfenv", +"debug.getinfo", +"debug.getlocal", +"debug.setlocal", +"debug.getupvalue", +"debug.setupvalue", +"debug.upvalueid", +"debug.upvaluejoin", +"debug.sethook", +"debug.gethook", +"debug.debug", +"debug.traceback", +"jit.on", +"jit.off", +"jit.flush", +"jit.status", +"jit.security", +"jit.attach", +"jit.util.funcinfo", +"jit.util.funcbc", +"jit.util.funck", +"jit.util.funcuvname", +"jit.util.traceinfo", +"jit.util.traceir", +"jit.util.tracek", +"jit.util.tracesnap", +"jit.util.tracemc", +"jit.util.traceexitstub", +"jit.util.ircalladdr", +"jit.opt.start", +"jit.profile.start", +"jit.profile.stop", +"jit.profile.dumpstack", +"ffi.meta.__index", +"ffi.meta.__newindex", +"ffi.meta.__eq", +"ffi.meta.__len", +"ffi.meta.__lt", +"ffi.meta.__le", +"ffi.meta.__concat", +"ffi.meta.__call", +"ffi.meta.__add", +"ffi.meta.__sub", +"ffi.meta.__mul", +"ffi.meta.__div", +"ffi.meta.__mod", +"ffi.meta.__pow", +"ffi.meta.__unm", +"ffi.meta.__tostring", +"ffi.meta.__pairs", +"ffi.meta.__ipairs", +"ffi.clib.__index", +"ffi.clib.__newindex", +"ffi.clib.__gc", +"ffi.callback.free", +"ffi.callback.set", +"ffi.cdef", +"ffi.new", +"ffi.cast", +"ffi.typeof", +"ffi.typeinfo", +"ffi.istype", +"ffi.sizeof", +"ffi.alignof", +"ffi.offsetof", +"ffi.errno", +"ffi.string", +"ffi.copy", +"ffi.fill", +"ffi.abi", +"ffi.metatype", +"ffi.gc", +"ffi.load", +"buffer.method.free", +"buffer.method.reset", +"buffer.method.skip", +"buffer.method.set", +"buffer.method.put", +"buffer.method.putf", +"buffer.method.get", +"buffer.method.putcdata", +"buffer.method.reserve", +"buffer.method.commit", +"buffer.method.ref", +"buffer.method.encode", +"buffer.method.decode", +"buffer.method.__gc", +"buffer.method.__tostring", +"buffer.method.__len", +"buffer.new", +"buffer.encode", +"buffer.decode", +}, + +} + diff --git a/libs/LuaJIT/android/x86_64/jit/zone.lua b/libs/LuaJIT/android/x86_64/jit/zone.lua new file mode 100644 index 00000000..94357854 --- /dev/null +++ b/libs/LuaJIT/android/x86_64/jit/zone.lua @@ -0,0 +1,45 @@ +---------------------------------------------------------------------------- +-- LuaJIT profiler zones. +-- +-- Copyright (C) 2005-2021 Mike Pall. All rights reserved. +-- Released under the MIT license. See Copyright Notice in luajit.h +---------------------------------------------------------------------------- +-- +-- This module implements a simple hierarchical zone model. +-- +-- Example usage: +-- +-- local zone = require("jit.zone") +-- zone("AI") +-- ... +-- zone("A*") +-- ... +-- print(zone:get()) --> "A*" +-- ... +-- zone() +-- ... +-- print(zone:get()) --> "AI" +-- ... +-- zone() +-- +---------------------------------------------------------------------------- + +local remove = table.remove + +return setmetatable({ + flush = function(t) + for i=#t,1,-1 do t[i] = nil end + end, + get = function(t) + return t[#t] + end +}, { + __call = function(t, zone) + if zone then + t[#t+1] = zone + else + return (assert(remove(t), "empty zone stack")) + end + end +}) + diff --git a/libs/LuaJIT/android/x86_64/libluajit.a b/libs/LuaJIT/android/x86_64/libluajit.a index 2b687026b46e2c9e49372e6c51e73dfbf240b967..5e9ed4bbab795feaaa19c9b95d30503175ff41e8 100644 GIT binary patch literal 936000 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%0Ai--!#+a3TtWINev;xm8Xj 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͌i>E_!t-3jv?;6O- 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 z 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%0DaD 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�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 literal 738692 zcmeFa3wRtymFQnRGm^$5*>2eiQDi~dAqmDfW@I~#W3puAM;tqjEkENVUL@I;V}or8 zSx%fKyNu*#WC!HLdEhuOaAB7XY*ugsHye_@%7Z{2fCwR&z-4=8(l}`2U?9u&LcsTT zs=H=dV>==2|9}7A|NEFv>aNpOb?VfqQ>RXy>aH4pS!?Io4IfOr-x>aEnBFioIc@5U zY117isiVSI$GPOv=`;KsEeWNpZzy%{y1)GYg$I9;f&ahAz#UI2^_Ty@@Zc{p@OEWj z(}$a9&2Da-GiT9CRS2(K6bhT?vl|yK3?57H>Tq~@2q=b4XwLkV1?+?i*d=VRU$JQJ zH35<<7B8J&44N{pSg~mKZ1Y&ch2#KNgdz;adGqEP0_H6%1m}a@pqwu_O;!z1 z2J{eYCytcKg z7;fLPZv8N*7`JZY){fS$wHpf2>(_52^QKK}TGxK0@Nh$WdlA^u-cg9?Y%K)0c5Mvs ztY6>Ux^-(?r!ECx&Bm_g*3PXPHm(mpS<|{@on#IYtl82&EVjKf9J%$TR$Zt`ynR^o zrc&IU?VCcmJBKAcg^;dx2n>?1ZSQQ~*0pg$dHuMBKcw zZIh|b4Q*YU+qzo2TGwnc7&dmaZtUC|m7<(QVrehc&oJV4Xs9ugD0EXZ)z)f)Y*1pTj$o2 zoLjf8G3EKlw{>(BGIq6Z*|vF22=tK$8MgMZV z^9^gacC`gUu)cXq+fAXgbO)1-pw_vPg>WDgIy^i>*Nu|p#?5Gh&CP4tZt&X|*swMT zHiwl^>9b}n1m;6r zj0y~>H=xmolEQQj6D}5aLuWgDLwPo@4e}SCXn7*bhW4%y3xGgp3g5V8Yp7P6+FEaH zYhG(2eQ?_r-4j3*bV)z7F(@xw-;U1q^&xbfZ74Y1U}Pz3I1O|SOV_onQ)?GL3c%E+ zvrVE5K?U7OIvs9aujN+2&TWNEI$Y!t71+3CU4cOcY;MzilDxr_pl22ztT&AsBtQa9 z9`r4P%trL+mO$)^Pi_pV5_%F!vu0y3qTMJ;J0zS2(mg+jY~LJIT_W2)x~(;6(*oGM zHsG&3S?{Y*Kkvq^rf2%_rnV4ST_~7Qd z!?*+t;{p!h+O}o0h}D|4B5PW$5Nuzs5vdqLV7Lqw4lf2Syy|Y zG1eNBqq$9bq7+$tq@`XzLY;~=p-VSPqtIZ52XrAxU4W$%Z1hLs!n2~a($?A8j3V5; zRS#AIA-IxXf?XTv&ISmCuC-IMWc~ULm|DhM&~^biB<*?xzj^JZ_N{H(G$%ETI$el{ zmG~RhHm_;z?A+Ma>Bj>b#Tx{h*Kge3<*S5^ow|Y>x2$iMynv=52#P>8Z{7Gex?!~R z>MkG&hskmPXhHVFfgEd~AjU-~kYfEH5MmuJ%CH6l5!PXm(L%u@f&#R!fn=d_ORH~8 z$%8PAs_bfOE~rS!Bk}~dg5dhiUCoSk!=Yg8!@z1@w@r6Q2?hiNK~%a{Cjtg^N-)42 z1V7Stvtafi-wu#)XIrb`s(@6cfUUE2ZJQoObUqECz>7dpuuxkF#1`Fbgx9xkT32YD z0AAmrD+YvdG)0gQ#Lz*NZ);^z*Bpp0wcOmHN0rhD9*UteJoQ#BJN`3h_XWlW#njl? zzNL9eb3=2ILAk4Ss^nhS+`4YvCOD5BQ-Djr8(TMRL(p{M&KszjC^v!V$?G?65gS?{ z>B%Ax0kolQ?MGU-z-1jLkc_ot4?P)H@LEY@?3+TS_Kq&d4&^CugAyf&uUiZ0x2?nc z_LGMwZQI_qR))Pz0j;7IhQnLd(cq#h1QP-!HCgYQ_WFso%Otd^y>*>b+*G6pW7L`i zzS;>xp~x_MkxD5kR5nj^-|&&O(}Ol`M5zm|06@w4kO*gyqi|{%KY_#C?C5Ok2-DrM zZR-XEWSgn8z+skjwlU^PIh`1AsHvdc5Gzq@0SzK#!^!Vz+u9XsgD&YPz5yk;q_K+f zvu#VEkefEp9#UR&Ygb3>mW}93!oIO20cq(%%lkUkPtm?b&v+$Gdxw@btfpcEV z1}&?*lg<~YKC%_)(Mp;JG(M8tzE)RXp!IEHS@+k!+u!%+JZEr??b&OCCp=(&7`e{k7Ei#9Y!pRY0 zi-095L$#6EBC9nNriLkEQI^bnkuvQa=qP@YzySdg za)m@ux}Fh52^;Ms$qJ%KxF}r!!=;M{MS&6^5GaCSff5C@O?PoI?n8~!MYjlxS66$u zB?^!)B3c4$0W#gH(>{jT<5t!k8g$drIh0qGlk84aKhgHrP|82NN~ zdx7JD+h$vh7X4_h|{4EANO$Rf> z)*Fh26a`LW4q8R*fXVHJC3ds6-oTQ2cvZb2nVdeI_4X;3UNUuxUR-ZUe0=W0D=f=W z=4Yu1st74{uv5pBP1CmtDlsfpseNC`WPhyg&wh2_#q5urFJ)sbyK_~K?RH10kLE`x zRX0j)&D-1~swtcP$ilCxffv1)d)LcVkKKLrfzQR<$q!|+^(Wt-Rh4zezA!@dN_sVJ z+_4I!W_}jfo)~%U@o^8m7FB9Uo*$NH37%Cx^jc%(gRj}Y`_*gUo$|`blS6Nlme0Kz zEj=Z){M~72x%u?8ocCwY^8B08(p*Bz^{1g_<>_g;{m-D~@i(L8vJzTmoQ9UEr>CXo zt!Sa`@7So+p-N<@Qf(bOZ-h!j)sk!s`HAujxtu6+R1Qp==gvfD6>0zX$&oZRyj}zf1acuU-zGp@Af|UPts5~+GhB8BfQXbsC&Ic=2lnIMO8=MvfVo(w!0%{_j;%1$z%nm zpR! zKb}1K@4ulxJn&4+ecpV8Q%R9c&y6wa6FZNI`0@e>LPZ3_TCDWc=t&4?{6gwrS-Ut z@~g=AC%2u0%qWqWt;ozr3o?^_tG4?X_5O&|Tj!hFrTO@Q|Ltv-`vb~-TQXBp->}RKl)pVa^PsNt z+mM-{>{31RIqyh;mO znlbiFwm>*t;!V;mif6KKrJswo$F4Kl9x}$7GKHpC|Eacyq|r8tf^OC8#WTG*xmT*| zvJ(FN$&(KoUY6E7ZlB{-VrSI!@5@!%2aekI0dLTGtYEjCj#rZB{tS7*Epr6Bx)Ghf~|MR<;LmZksa$YW~#^q_halgiX z36~{&kh1iACtOxi>Mi9x@4Z!7QPK%bQjV0td~aA8#ro{ZN<9qCg7pe ztiSsdyU=m&f#18e%qq1MJNzo@s}dr+31qk+w}E|9TBh(ojP(df+__$-(+9QKrhFM~cJ zx)2^h^Pr|#;z^ii7 z-VpK{mWAs}cpa97S#Kf>;)@b_C{I4;iA=U_2#R%pYmr)@*=wY}{&r2TLhpSJzPhok4X1NV7xyUyE(Z4e(=ovTeA@bC#GzC1py zSSt9dVv3k;a%47OAX{# zkAq+8G5FQ(i67F)e--_w()rZUnEQS59`J-Nk>?&O?TQ^Lvj1XKO_Vk;LuqNv+@3`a`C=fb0g42=h9xWmJy!a za(iLCG-Zs)^t$4+7hLZv_clYNi)rYcgs9Uq6pyfZ2QA;h$%p9~{3RdqgeB#`}76C!A-p$E|0wM|fuU zXXtOwWTh@YiM};I1fM-nN4wQ|weDf$>#!%j!BPE9ZhCyTTg@0b=sZpz+lntc9XUZC z{c8V8ZBt6QVnbL1>D+Pk48B9!Vjyt}@6CEiee$qZGjQ13r}iPQ*Jsn?_q+7@-a#e! z@s(ry;R{ZDbzo(76m5Nka^w98?*zE3C`a&1-F_aDy_mvo?7!8OdPK=zmF#un&itI} zzlt_q%~&-H*;ffWIXfrg#}V~xQrYgiqx1*xy0qI&Ba=o}4865U-)@f&WPT7INI$OZ zUN<&yn}8lyWs+x@7k3>(6fEMXbBQgsLc9qa8bPKJ=f_4>N z9i-U z!V})9fv4zKcfBmOrt|}mEulmDgZQ%r)^;b)V(3t0KNqzx%)OKHWSog7ug?j+vQBV> zI!nKcCzs`pTl2HOLteF9Cug~$7vgFxcK>P_1A3!l7H%J5$q7wGa};-9g}`iUfFw$waEuk z;~xB1e|_?*9)nM0`gAmnDWU1d0ZoiAhNc|4;`;`V(6wKwmrh5U_=pW{-+F7>1n+^H zS?4miS!)^kd&aH5Q!1BMsa(H(cQ#@#;l3wZU7=_C$G+Z=#>6!x;2Twc$%?I|`2_oum=jI8(YamG=*n zccwi3@v}YFLGzVg={p+7KA4ud*V}uj!h5~9!mDFkm;U1GxYMuImzHS-vT+Y()~b8F z585leX-)57jK40+hx@&Tj&AGvtjt+xmzkyY{XO=K=n3gpr8w>fhsle5I#b4!?~u;q zVVu)>DwB)@*e1%^;Z@rEa)ySOy~FzyWA6tCRx)ldAM0m*h<+OH+kuV1oJ;f+w4#TT z5j!(J<|Hn*unAA7e3mi#jJ!W?9Y0!=yq&UoU7=aVAQ_{WN8)?g>sjCx`)@n+$KO}s zO@+7Gf5r0}`yOvU{7z#xNu226%1onM&)9Kz=GkY&S!3T`z)MH_lks9pF;2ZB|9$Ek zYpM5GldQi!rW2;)C&O`5#XvDh8gyR%yyt4a|4-+;d>BSJQN# zXVH%FzWIz{*XMREp$;FYV2s1(;VjL`cy>ZP?J|bfRjL&-UewjV7rXyHc$3LbfH(E2 z`#fjxww%51(O2D1KKcr293t-9+Sydr2{&_yFJaD?F%hz6}j2Z66CS zwEY0z#b%Lui#&Y)4<{2JqyD9|NV&Dl4Y6ZRiL;2C(BJ0?T|#q}f+pcHbjJzX;1&8O z4DQu^!5)Ao0Zk)XcDq7LRm&Bw&?EE-Ek~UB+8+Pk$kbcSPfBSO8tOBBo}r_L@`R2F zw1eg&ZKej`W9BxmcEG34&?bFX_4Q|^zCS>&uYwnGryg5^_De!1b<+K$Wh^{r&g7y~ z#Kv_kWJ(=MHjVLYaC{d3yV%bo`e(auFeevV(8g98#6A&O(LQkIG?j|=X|=?~k5R3h zO!Z~IJ6ZQTbR+}XP?e2+&i$X?H7{35KUB=^VoCY;=j$?8*YkVQi2W#Y_>sg(J`)E` z8c(I;>nxE~Bby>Gq8A65R~p?dWtZygh}xKwJ|}&sin-#5mNYi_Io>_+#_uCd`9U>M zP5VVZ{`-^vSLl{`F?~?`(PUnHI^ThzyB4~SkAE5&E7HCZ+NB-B{CM{pv^D&RwOo-) z*nXd`bbNlDOpX$t^S?{mUx7ZB_cF|TJG_r^p5b39@1)%av5Ou!FXsMQ-Ky=Mn0*L; zjVtIq`TS3}r5q5%kPtisP4j~JJ>S^@X_4!{$)l7Ns=2%qq3ceEx-82A>40Ahhf7g<^ z-E+X#VM{!x$HS*B`n>%qwUzmZ?&B&;b-jU-!hI~p?CAE=(}qogrq;Om(w{&t0GI59orPvMQNR zCkM-*Cwjm5Nz~Z9jjwbcv}ylf@(JIEn)H3ByQF>ro=<}Zn~SkwYyMvHN?XL8TXmm8 zcVz!2#EUzK7uvR2>QEp4J;S5hz#+c$cFKFql=re z(D)@OX9VSnJjqxn>x0dqvbKX$Y*pd?Hp&%SQ`%U+KN#o-u|I@XBQv5mMb}-e+x=<$ zN>67+$B0}Ur@jk9_*(-0eF)q~#y=k5cJq#;XN*Hvdmjwa8=fx<@-VlHHj%FuS%@>f zT27C)SE`to_Iza@KFay>ZdgMcT=dn6(zehs_PBbw`n}++C!g?Kj{^;X2 zb$SF8+=; zobKxQ!2X>0Wf+U|Dg*D5nfyI}Kz5u%xaln)lVUA#nj>A_f_NcbSkY%yOw*3BNq82_JQERg@ z#}FB-N%nfQuWmb$?JuG4{dUdde@J`Qs@t{Bdn+E{Y&b2C9)w4KDqohq1z%XBJ0oB4 zCA=wL#C8?k8s^7D`0+w8MvD&DV?+rLWIUXJZE40D3*UW>%^VF`mNvbGdQWindKK#1 z-j6~${>F%}qgT;(Tj4>slgXx^zCFj<>UAeBck|CZv&`+jm}ji9rl;-5JMN}jX66oA zdpb0Ba!+<@6>G1f$6y<#nZ_?cC$)T4`pz82(Ao4&<@D%y=0$W>cdW$y6>;epyR*LdtdMYXv9xEL|W3z&uujHo)^&TKx?|@v9W$$ z^rq_g>I>1ut!5k*+d$fwF}O@*Ui!fGZ}{u6#s~R8B<8=vi62(=EpSV1EU~{SJ1_DQ zQE(50;uZQ2CYDr0huLh-3d2(tp2YOq8+Yb<&7jy%>u7Wsv_^ z5cj=M9Fsylw*Nec`*tV}X6v|r3*sIN#k~~79SPzd4#oW-i2HsJ_uoTt&joSM1aV&u z#eFk~dm@PYLMZNEgSbb6xKD@T{znk^wIJ^9P+Wfy_dpQW7mEAGAnqT6xLbobqw}#h zbp6Fg`RO1{x+Kj#p)_{}X>KY>^T|+}{Xv>7C24jCX?7A%d90)P@6oOc(up1Rw?UeZ zkw)fCT5me{={b{;M?F_yOu9Cd4|_w`V>9`*FCY1lygDtqcu^?rI?`4S+^WBeiDz!j zVQbgPoKMyg8&96pw9(;tf451$-xE=p$9NY(zZbv4!iP4lPQM$^ybM3-ImeoKCi&&L z;8+~sz`mPkzKfCfgc>XRKP0|YdFOsMdE{Ff!E5>>HpUt08h3iSzGCQl|7qyL*ce9F zd(TYQ&kSAfETKzyF71L%7kvlqWjpu~Sj!gODE?gRnkf2Vtk_lmfjtqn?WS7lOHwz3 zgT5O*nH-E-=y((t>WsNCV?^m(%GiKEE5UbefKO~Wv3u2k_FpEB=m9_N#;4w8+Cf_CUg)}ED^#V^ zo=T>*Op087lXegD3L1yu!dF|s_0U`3`f3TTAC}_ zkLO!r{yU53#T@rNp|q(WZAS1aH!J)&m-r*}9g*`HK|H>kapz`KPIxHwKL~6me4JxL z=_dv0_m`yK3!DtnSA^0#L3;H5F#NXwHwEc`uWekP9&ARfYrBY7nU(@Q9l#wy`d^09 z!d%D$e_O7XI~b{SKeDosst> z&3mp{zBL*el?i-K%prsxv0H^6lP=-PocSD2`ojAvukjpgTX|RHi*?L}#m*&c*^Rj> z!e6YbI1AfvNYY6h<4{6;H&u`AaX0+>uqV$=K3V&aJm~v`tnrW+UdVe$wtnYKXb?V? zhv(6O-$dhk{IGsMqwo#@>)7HOi=l%>_Y2MMLC;B@#AhmaHr-m`UFs~={O=imt6PIj zF7-T0dWl!iZrQu@;)jxah6eGs*ChS4(mpjwSxdmblwsb5uQhIymh#}a_QS>oShFWw z>x}i}{htTE8gt92oA~5p+>~d(m-!gBBR&zm9xpzxD%O`oCx{OQ-u3o>{`u@zAACNW z;GKmi^ALHj<--3wSvQcW@T4xnAE{%QNB>DX8{D#HXzCD7BmTBulCBD$|H*SN`bCQM z2G#LtFXh~pi_-t6In?I^_~z}THv@iN#=lc}(J`wglWmNq-I)DpZ8`+Lv!9IM;i zd+2O$Kvggvu;u|xLfhV%6`D2~4~54Q=m)~PDDQJwgUD3NeT*Tpet@qyEo(PTdGz4J zTJCvYSnP6{I|)8{M|ST-!SCkfodofF%G!eXU&W6vw6-$#$-2(9+(WiHeu}HkdV`+k>qUmTxV;p=U1OZ)nu~Wqnr3oITm+|d-o{d zQNY|S?%gASM*?%VxOZ0pR{?XkxOZ0qR|0dlxOXRj6TsXp?%gARM*wrTxOc~adv_E#3e4T&-W>ss0CTsvcU!;~ zFn5c4H{(UO0_JXU*M32@8W&kAwck#{$Cg>b+c#Pcv+lHCuj#dW)@eZtxo>5bkR+grA$e0RmJc-e;%Wvi>ot{YXh$}U?u zrfhjl+0u8EHP!CKPoeOU7k*8IM%j{mS9E7=WMv~SU#Zr%)-@ZIh3`U@Cn_4_)`&7gN7F`4ooSCKQUtzJZDM~{sui_LkJ!Tygvjt(;FTP!C%3N z^g;;!moZA6PacE+tHAcuBK!bxPfjbs3i$IlgZy7aEd~Ga5d3-YUpBoM{{`?ZzqAN{ zmi)Jb;NOrxKC>7<7kFI=z8idfA^2Q0RKj{NS_#kmjA^7Lu`*sMP0h}&0 zI1VB3Z>P--zJ1_(Ap}=|@1an6*OFgesx;}pM1Gq*2L3YP86o(KqJcT0(@==<|S7ZdrvX_6yWV4cqjM{hTt0VZwk@73;Yj;;`b8oOeo@e34F^# z@Fd`l5d3%G?+?Kr2j2@JxCeZzCKmC%K>mRcd?9fBeZ~0g;CnIzuP0v0^nVd`Gx!f* zRD^E<|G~*c_`9UdgkT5w)nqZg6a4XpBD@uR=ZD}M!Iuib-zNX+5X^@bYI_LYB>WA* z4*~a)#{WgsX7Kli;ybF9dM*S%PTE&Oa1C&5N-_U>@Hrtkg_6Rb6Z|4-D)7Njd6xp8 zA4)%w@~;fR>nMLy2>v>G`$BLW_@NLy34BLF@H@vSRWr3%{x#tHc1ZvHBl*7^(l@_{ z{u3eieDY5qkN=CPQQ)5w(nr!)SB3NsZ^Nl{2tEw{s*t{U4g4EIuqg3^Avg-YWJtgK z75J8iV6jG?3&C0N?F{Lk50SnlMDOe1yCtN5eoNeu5Zn*GM?&c%z%Pg32J&}Q6zhK$ z^w#jq@Z)U4mxbUZklS2CGKcF`q(ob>l?GNdj1h`Iw;5kA|NdMdgz8N9- z74W?f(nlX5eKMpkeh9%2AhBmKYvCqa=QQ34Ekd zsV`E8?PMDhiKtIAp=V!%0=$O!pYm_w{}x#rpg)Srkn|IP`+4EhW{%A_-`m*Ubr#v2PKYY2EGtj`gAHt|7mb#>d}D#JPr5= zHZG5J`4`ikYCJkHfE&oa9C%d#KSTQ0&n>2ZgZRA;k^F@I&p_`SWU3~B*)u?`3c*)N ze#+|$;@MC_*$#OE_$<;3zODe4zB-BWCI#@-)a@`ZEYjtD7nn_0)cydT2+TWj1%4j^ z-$LRS2JxSU-Xt<&${zrKZ8ijEv0);5e}0Hu$^1_j&Ao1OGwthv2^^UVbM2 zCFtpZ9s{oho&kO%4=F{CO#1VPKZySB0H^TxxZs1{^8@((#J>zaL;qOl z?F!L<9Qqc9(!Y!NM_`_jr)!9}L+$xE_^ZxA#|HTSk@#t}*XINHa^RgT_!|0N1YYhG z%a23P8^Baq)4P`VRp6fxz>VO45SS!7{#xJ{!Z7qbNgk7aujJ>M;ny3aw}DOl?;w6! z2)>l^U*(yJKMs62gzx9%PtsrK1m#Z$PKWCM9Q#Z2o%jj#cLT2^u21p=@%IBC z4DojW_#Sl1EkXQl(yoga;RVD$2Tdma3c?SC!iQOF81$t0S^M3^beAM z8t}Rx|KCvFx52k5fWHR5C+Q!90lbI4Ykp)???hJ2PvFN&;`xZW@RRrlO5%?qE9NKh zBT1jSAVeSWtKU-`FK~jWg}{|c}q{uuH>{@Nga zIrW_Z42w0sDEJ;C{r&)63@^=3aD1$!KL1cs|1l-?c`v%j{3QQm=zo1eaeVp|aB>F! z#7TW>klg|7f72g6Kz#otMg4Iz{Cgu5UjhD|#7_$HUr786;DrIqI}2(M*x)}(`j$|6 z7n8m(1b>P2G8mZjtoy6aQyyJT)Aw=e+eKm1crNrhJpbZF$YcP&8~VRIxk%4cA8sg?e=YQddGfywKGVKel5Rq%{Eeia6r%TEsm}`` z_+7M1f2h1?Nxv=>|6S5ofzQzQTksD~q)h^Pn&4NG_5p>i-+SR_6~vhO@h*;6z%ZyNNRAHY%Qp9Zn10R9^FTLr$V0KOc44A7We0sL>!yN*U8 zi?07SN&gV^*a3Vm@M@T2%3C=Ge86PW>9dso9I(Ov1Ja9sz`*}Zx+dZwTc@w0KIUf= z_>2L#3%mz@n4iF(Gyr#jk4eG7Phj?yDEtJ@P(Sk%cuR?XI|usAPvW01$^W&I^jDS8 zv$=%+Rn*`71m8a+f95CfQRK(`1pZD5Twg-(4JI*nNzX!S;V1BiN?_heEBqw>KncFP zOX%q=r1tTLvg`7!&;!ADL>eym3EWeHpZA{%KZ##Z0`CcxUyVM!So+ub$Q)@!zfK2# z2e6Ts$3?z@ogn@$k!R#H8Nj~+-o*H21tSP5fc-wFK}hv|kJU zpS=ORF@`@5I1|7r(#x7dQvk1{zLx=~19&$1_cC}Hcmw4LEI%plZseuv-9`GI0ACHT z!S^5VqYL`y1nF<1{L6q%{qm$Aq`s?z_!GoWI0OV!G9ZcEM$CL72rEc`YVA+rs>-Zyf@TdyM&*>s1P0hkHjCOzC70Oub}@h za7_S@1pjehQ{F)m_J`85zodEy7?r2Yw*>fJDr5c%{U-kkNf`WW?iXSon4iG^ToS*`L~@sS znfscbz)x2g$d7-qB>u-G@v>G|zuD4jHuVo#dM%{>L%<+==e4}?9Nf>ZCfzl>jVJe2 zmR@73-(u;trTXhFy{1(EVN0(i2`p9v{qzqa(6jND(4=W8sz22=kLORv4uZ?yE9OMQo>*IJ}pSyK^uWG$tBrKQ(U z1eUdvdS3RGHIw?UTY9ae{$Au=;D3QXa{m-Ir`*3me!1U8pOgEY{#r-<-ToR!{lnB} z3eOKA&vM6DpCfnLLDop???KPV{V;Pzxqlkjlly(NEjD63FCWWVXZ;3CuW{BhIDHXY zrk zXOEnEbd)|?Dty$Gebat)obOpY9aIj%Xf{Vv38xC@I{Gmjts zgPh%<%K?Q3DQMW~pW#y`HTPOiJ(*L`6wWG>^UNkUF1>nkYZnJJt=Y!eIz9*VnTvkV zZ->GWqNg7AsLvDPWDVhJ_^ifZ$FLPEqEi+t5@bB%iD!O8tr>nSYjEx=Qd2lDk)m~# z3lIDv!bgk+VNy!luW8ps3zelu&5^=CJ)?N~T=C4f!ZC88oQ0$3ia869AhPsqNK%>e zNrY{b6`Vy@Jb5!HKXlBeU%R(F8Z|g6RU|Dqz|0UJ2dQ-GBh5}d3yw6y4vQ2qE1X`a zg|l#yA;&d^&S{i{bUKaJ7u*0Ce(Y!HAUcZj71Uat$+U(!hu3d5UwPcf`6~WtdBMSX zEe%`5zq9_O@eYU^s7yM1k2aEw<`A#%`~&QA%xDj5z2hr)t#*de0AxMAlfhEJjk z!UkjOsb{|m!G0Bj^9_Ug1?L9)d={nT_m}44IjTgNbEW*l+Cr(q2XC6kq&Me>3a&z* zF2?J&35p7oieIi2ReFSP=#W#gps6;NoAde4uK{sngKRp=6x0<7;Cy zEB&HyoFAIifV!%MWA#jvm!550dOEN<{+D8c0gasIBvJEdZSX|XTs+pV(1gWDI)!;I zG)vP-`-Gnv+BoS?k^t({FZF?YI)~PY#Y0l1?TgUqPf%U2&qFns;h2UsIb3|GlotO$ zUFkrb#ZwN8inDOoCRhXYrq4AtU3oT|Lprn6A*5SFhkX_^h93I8t>pN~A}HJljxC1X z;>ol;FPc}uV{NJE1DTrFcLv8w8b+G~69Wz-HzFWZc9SL;bjVK0BRv`x55+YnpYqo9Nw2r!Rn&{+pty|6Uy5UoEeI=@6 zw4KKgZjKNoW3f-0yn!hD849fzoFwhjQ+hNk+$fyaE61SA@x7C2b~wiU=FM`ap|wPH z>a*Tw&2Da5e2qLLw0zNA6TBi6T(M~OZ1a51{FN(L2Fb5pv9K6kJf{$DoKp-hTQRHf zJbb$S^3X~5%jXqOy`R5q?veuj#U@0li%ghOi{Zs{3SmkugekQUp1*9-T$A?-s$#+m z!od7t06A7I4=Oo-nF(FB?8?PU4X|jj3C(U?xbSKN%wM+91m(F2&tEpr1m{ul0QJ&B zXayVy9?mNUXE&OM!ntKZ0^wXCOkxuj&K1Lp=9=(T%a$(dJ!a|n`&tE=w zX(0@a#qgrJCcLl^f|wOo2c=$B36XlX70%a&i;G`Em> zVKF$b7+gNvB!Kclc-a*uDBZ(^g>$olmA{#5PRTH~-o&MFak|p}|k!Uz7UAW!>aUXUKJizFwlQ)AjXYeVwMS4O8{azcx(K zfPZah@Dun~);$H6ruGs|t-fBOuhaGQVtt*auMJc6&A&EG(SUz#Xz&yG*QCC2f!gW1 z1bw|kU#IKq#rir;UmK?Cn}2PXq5=Qf(BLQVuStF50&g$Y)avUc`Z`@-FV@#-`r0s6 z-~4OC6b<;-h6X=@e@*He7pR@4snyp@^mV$vUaYUv^tEBCzWLXNDH`yv4Gn$*|C-b{ zE>JsFQ>(9+=<9TSy;xtT>1)GOee2K;M7gP+>JCjDE``zR=>Yp<^}^z{;b zovyDJ>ubX_eeVQ0Ylx>9v<-f~;N}BKeZvF!r~iJ7{~8y1;kU4v?~p=1 zW;}BGcbuz)%Y9I#xF_Wj{BQ&7->Y0hOM2?3ILc*>Se|jy>lWg&em{O?gBwtFq~u!s znK)d^I-RMMq~n#7!cWr4{~-!6c_cEO^50RBu>4q7(7(G#7p89#^>v7mXHqvwC-m)u zSoqRGQ2$;{DaC7Eg`X+wkMK|GWqwtStdETIX~BK1@deYkaV>!uqDCybi&MW;=7 zoTMW^|7y+`y(F2Ok(?&a-}-#f%N~FTrOI&i@|&Q}8pa9McliD&-o$rKe1jz4F3xc7 z^p2=+X1BN8=|#qKrb0(1+r!>I>f@uMvS-f8kI%yc+?3t!?DFskr<2Z|yCN!`PO4qI zVtn5u-%VB9KlJ2VHcC#Yj(M(9*T{ZY&m`?Td7jCS=Q}XgB-xAVPR|;b&avvn-dSpB z8t}On#Pk0?es2CU()LAq+|NZa**?p1@uIVDCEuowYs@9>U3@Ebr?Wb)POCtexfRNl+}2QmATIb|Iu5BzQ5 zTkLx^eU94aozMRS{$*eKDBt5!cA_$U)n0e~3E^++$6Ct7%tm3;S>KJ#d}WS5XI+8HVb?BV|u;_y#R?ul_bI z&a-p=E|af^Mpha5PPNgU<_P^wa{h=r&EDs+WKp*onj%$A?De2#wvfjeFK1IM$!6@# zfrQE&fbM%Ikw)?@Vt*>!@cFM;&t?e^od})}(N@nj-Rljs?4zytR<-F)zGYh>ulKWr z{zI<<{>V4HHtiR)g_dr3z@9F$U%9{m4^2JU=X6NwBeLQIWys!76C`Z2rzNyY8^qL0 zn)i~A@8&d*E8fYOJ3-z*otNwxdYbai56U|pc{VHcr_Bm&9HvY13SE5rr@tMa)B&A+ zJVUOL<3vRZ;g-Aj-uoxi{YCj+FL%PWa;$V@W9lj0cIMmT3biuJ-g|WhKYAr0cnkE= zM)7o-KC?vgRPzMdSPo&&McKO*{?pz^shRAZM``#@I=;m7I?v`(nWV zgzVQPaujE;49Xgcs+#;5$u|)7td2dL%djICQP*VIlbSvD#?q&6%=2A3c<=CHP126r zWZ8VCYPy5I#F>z(AIi7Eb#K@)_Rshx-<$KzxxHJrH+#m;j5m!X-HrJeIsjTpXX$k8 z2|?M_d6&E+iDwU>y0~4PgO0P<6Jkho5Bwi8=`HAzvlyO*mN<3T@zHKK)^ayANm<*Z zkIdY$3e+fqpz&KK@FLHyO223S62{5SBsv`|26c+?fbkM z;bgLDN!xdu_YYdWIR_xgx2g6) zPc;vD1vUKvkZ-)+@Rmr zy+OK+vo9z81-+@g9dT{cd!0(12i^;$U&`2)qzuZXu0dO| z_p-?+W37y{a*jsaw!L!a`;^cAHS`ntzW-8tiPvqV-5Pikhu6t~m2}tXw_zDu3*)b_PA^4|)$C_H0npMe@g-CA8n5cfyI#mlb+O^kJjkM?-)2 zjJ!)FIpwiRh)+zQ6AnCL%& zgK^B@DhH3qkDL!BI8C{N2YMFgI=I*V;OWy#{bqlYL~;m zC9;1*Vgzy|w2S`aoAG>{eZ}Vyj!WO)^XMyb9>#+4vHXfjbMjRkecmAUTErgjs`H}x z^DMx%bL3AFy$yy&!*eF(m2b+p=(TB z3%DbymVV4#;?*Zz;ge-^hfnnRYQY_|by$zZ(3>}Wpf5h z;^p`J$?q*@3`yn6;J3v-u#4bdg?b{d(1nur0@6m+lk6ucWAw5-?X#esyz~$7b5EvR zIj@CRD|m}yN%kD3FR|nS_E!01u0lm~s`d7x<@5yyTBHt_@y}j#Ck5WX|K|zIKYPS_ zPRz}wt^LScw<~4K*ei6!Rki5Jyq!8&#$H%M+&$UDQueK7o={ho^6TD_mc7?QNx z`jFTo30)U-aU46>rvFP{nZVufO?W2xBt3RQLiCDn)9vyq+;4g-uvdPGO|Zfq&@yAv zvadX8y9+oO5A@zVf``uzIBQGWXL`=C0)6vKbjk_`9PmbHnn2%`F(PiK;XOK*d4aTJ zMD5H=8NypbM`;?N@fG^F^f}riA^95^<1A!LaEN{q8$@KWf<1OOoOi%G!G7R2oIcN`gZlN+GvPvgPdkQk&xZ z0@anDK%Cwu9o%yE+J)qeH6ceW$Wf{+7i+xhXzciIEl2D@byDQ$a3Dt_SE5tpKh|=V zci}oWySsGe{%y;(o)f(jL1zfB;x=|3<8@8b-I~`$KKEe@eAG{G{|K4W`jY;| z`2ay)(PbypT&>6GyBeR|E9`HvxBc9#a(4N;h4zdkcTtY$^)fH6c42drdD7p*y7370 ziaUMYE9!P+q(_fkLZhY={jQLWFQPxJ7LmDwUZhEM!Y7f##$1g3MT~Bg^uMYdnLl~% zVq{|_x`jP_Nnhh&AKA0q$EtU`mh9V&oTCfS5rf_a!dA=52>mZ1_S?~Fm7had<&Ko` znWGB5YGHFppA-DZx7Jw_jyd;vPcxUZ(WPZc_RhCSPy5Nf-}lh2asH*vbv|f579W`x zIX^jiF}6E<=BedE-FPU2JyZp|~1FKqUSG0tYQh)-MHuJoBX z)Puc`vLp2w@}G1^Ce_qv!-1noo|i=wV}xHnqlZL)OW5?m2dV2O{-y3S_@{qp{cph= z>6@}=v$R=i4z&&ZOAE>&@>R)dWS4!Y zpy3_hn$aQQYqGcpXTmUi0o7ilC9U_om+~Sl?0rKzn{@b%awnO0(7w+o^@F3je(`JY z*Qoo`YKPme2C=t0%2jIKuN8(GWk@RVFejhxCcH!k-*@Lb>lTE8H zQHM-+Kl^g&ylN-oq1Zt5_ka$m^A_r>Z9H((hlbMR-^m_eBI7boyBxh_*#j@*Q7q0m zNGo}9Jtjsg3!6EWld+Gp1$)I7R@UwKuzKhdd^^qmVgCF17n|ld|5Y$G-9$N*RmFVI zPTl8~(GNL~ElYo&DeYQ888OG_WlZgIg-@~6T`vz_`*Bz^t+EuK}V-MNcxm9Iz*XkUjqH;Ypc$X)nu3x!96^+LVkBpTZB}=8vZabhuXUd7Q?kz7@G>$}+c{ zIf*p+b4MfNO{7s1e;R~oo|*4Ozsk6X?#`vD3-UiP4StgbJ>Fo-3*#vx9dpB6jr3FI zm6E0`sHcQC1YuqQMj+4;=*{>*3YoM$@%vCFX9v`HY65!f{fqOyeb~d8xLiaSedUg|f1{*=_n)kso3*Cy$ zJuKr%8DpN<$fBFjiQUSb<(4_ST^n1mW}qiWU1rv>52BtI|>X1YaYqfK*@Wlg*J zPbbmU4Wmdmy5+n17<E*df?$kbOnM;Ts z(sM-GO8hK#i`c1+ZaK6kb-h>Sr%JsYWQKZ+@3y98S1uxDQ!h0zn|gEB7HK6;^CLOS zjdI>djrO5wU;D&z#v}CaA<>t#F?9dn<;Ip&?#7m1{=5!7>!|b;OFd24-CD`S}9h4Fuiy+~iXUue+0aCUlPpZ|Z&i`HShNS%QfkA-;g z)NlUZ;)Qa=7Ljw5m}fe(X| zw=42x9gYh;vn<6PowWNGT5feO7=OplW2qW1(((?^N{;m^I?i{?JKp1#CwI8(Z=UBO zBSUfq80%AYsgB-UH*lGAtNVrIkB?d{OFiZM*pu{8`M+tN8*$#_uI@kN9i2GKUDa}k zzJ8vYd-rU&g8P~)XS#Mffm z%UM6smI2mO4p9fjUGSi1IX5?xy+r((9l+!zA1t^gzmj{rU(T=MJjpDdW!w=q{r?|? zpT#o1K9gOC9pLBP1O4foz)|~~=;A$EFPA&tLLSmbrT$V!nbR0wjjZ#m62E6sx#FXa zwzAeG_G=U8%e9o}6m_U**`1BHb|1Cuo?HulS}JI_Wk~c)5$VyN~vfGG+v0 zlqpa8z1S$?zZ!|{(fTgt-oN~xKWCYACg%#eRRh@MoZnRi{#eUF*87+vHE~DRi7#(d z%WhX;cT_d8j^XTdqogZ$&U1y&>)$(zIOH+Gp201S>*lX;@kwwV&SZB>Z6k5x-PTbl zca-h8Ex%}VM?s(HqJsT5fSuUHSuAS*D^{BNr26pfzTh4C!jtf&DZerOB>s;V%A!q9 z#8Q>6`sksfs=F7yUz49g`*-y1L|$d>DdMW?Lq{!#eP8i?D2KLy=c-!LuGHhrg(7z? z;tNA4DhVcE_hJ_ge9fFdr|2R+%r$KD9Eg#*;lS%bt~QAOrQTr1?-@?R_+^ z*QExq|43&$v?+2Cwx}Kh@WFjk!n$UDqMDNK^hi^j#c# z*FoO)G^SnZ%lU=)R%QMv^2vB=(XN7jy7Y7M(C7(F>Ch4z+4!wp0FUCuIkuFZ&5sJ0(4)6&LoZln* zc^r3?^+c&xEj+gW27KVE09SZjNcd}TVjCqyugKa@bsc3U8*|nLhPej))eZUJH0XNe=Ghn$5}f@%N@@|E=2ds z^K#CYdAF|9o!;fZ(su7eM$~}VwM%6SrI|eq-Pn&!*`5Zm1D9ZHV_yy+|0!r~k$EBK zpC;D79^t&`?nLQznb~GGs{&e`~aNCsr|E}mr`kDE)D(3C`yb)A%#~}9IgyPThq(o|T20FVFNz+kY3b2xi*amNSyzymX$h8dkH%Bz8RQ_& zS_F9V@yuP?eia>(UgD2)M%F}!NWc4;ZWodDRrw0%MXwB*5M7hDd+^Ua;65(_-Z=h^SP~k8dPL!;j3uTH z{}j|A;mmazM>YL%2Ogluqz~;yK4jhJcEuO&43`T(86d_$#N zbS>|T*tJS9GS>@xaZZA!-P6``jyt<*XB7FsZN)L%_i+6x=3g@`qdWut4_UE!`NJ(Vs0_Q z%}aYkzUAhV`x;{F$U7a#S)D?+i(aZn_s2O08r#Q}aim-N7;P=@qcBe@W8Q1cAfJ&1 z(Y@qnKEU|y96)ZHvJ=tqc0#>&^77G)U8%fvtzXZR(|6=YPuYlp*}%3=!Gp?U3PxycZ+9 z5`Tisp<<-L2F5RaW1c*$YvZeNXm`q$b)ugm!#qz!DhH1Vt*w=QAL2cgx_=`slIS}o zw8P^e;Z>NQ!b{H|ApH@b?4oAO@~jhm`Sko^zI5ig$o0*XTs#3LA1~;k`VeLu5(Th7~$V%C*r) z;t#AKuif$>&sU24)x8`1;%^H-m$jCdx=Zs0IRp1@jk_Y_^GJApo1TWhI;rfbz==QQ3g(bY!SNQTgNWm zv3NQg89yGsTOZ>?#a_8st^NX&b^316pj#jd?J|GmWQ*HZ%bXLLA8 zSe`k--PZScuj^;<&*I!1)q>5N);RN$kMsuwfc4myW64un zaV>JH4%J@c*FV8JWui&ukMyS$@2vvkXW{%v^b{~Sa=Rb9yG%{y< znL5@;I%ud*Yg;oPXO2#r50$s3YGDZWl z?$oO)e|XGAZ`w2M*CNqnT89mcJMo&)PrTb#Cu?%rcfA;!7hay5Jpb`%W8YEe%0(Ng zEBHi*#X4^HDpU9|llxqmD~?t->A4y_pq%HAi5;NJnkZ#0mG=*Nr7U@F%0oBQSsk-9 zkI()%XL2yNIJf0Jk6WZEA5WRso8{vv)1}UtgYE_Jx3^#VBxjsC8O?9OCp1YLSskjwnX1>%KV+%dIeT{_i-8Q_7XRj1_gF*To+%Yh};}y&^Y{ zd65>;0lZs~l5zT`Jnh9eeN&z_C3Nsz%*|NKroW496wXMNahkD3bTwm48Doq!nS5q! zl5skQ&QZ2rJM(xiDqE(+?g{#;&?swp=mMD|%Y1-2fH^aeQMij^DT^Ke}@d zy4zn<7h6(cOJ+BeYa6ol#tOHbvAp8HXh-Vzh@eSiM&v?`d-2TUIW)^!mA07)%Xn_` zTjZxN)Jc8+$@b^Et%1EdhciNBJU8~G^cguD489K=+hr~(V|ztmY`-c0q8{6ClD^K^ ze%G+E{d=^n-~nGSzQ0%)-=+V^I$d~tH*HZ)yJ)(v^!+}<+mj*wpM>|qcj3Rh&+zB) z{p0A}H?!X}&?fX83V0>&Zi$TA6V+>C%SGlfZo3Ekxx@f=-20a4_RnL>?QqU>*IvQ- zQx0=7@lU^ZwmZs+xH50*8Nc7RNLmFa0O&+qL+CnU;#LNBmJu*~NhzkL<`~#hyx5uGI93ZKv1XC`W8Y z@}ZMnI41eDPQp$UnZm|7BsxjPWuud3>ORSM%`?FRt(3`GR^XCn!oLdJr`?ySQ|(2@ z<5TQKpbYQbhXUcq%CB< zfH`%C;Nl&Yjy=rJyK_|?lKv)r&e}*v@USL|?}?ou8GA`<_a7BoOnedY9;m#(60w)L z;%^fDr&y1bwKefS)Fkipx;whvJqD_*@| zeU72UDUim*-_JSA`xK&A8$B!54=0 zK}i#H4xVMH&aoGfb{}=E{6Eya3zS?{o$tR-J-RE^o#b@VfwqZoI&VYNibM?=HI)Yt zAessg9+J^Y2oROg3J*m^t$rjO5<)spFg#M>y|~^x?PEpXbv=gMk31K_r(tJ+TN-N`xHnXk3;%*$S$d2X{EoIlR?22*U~1wG~XC|(f@um{B} z7S-&&T00m08SRvhK{zr7Jo*LkP1-Lz9b8DiFOsizf!ZorouK_`Vtf<}JQEsE2V3oZ z*;4sFbA|e`Pqtdm%341zsKI-rAHW+sJ!%8q^dre$o{BAt2OYNjrp4GP_)}y*udMYW zC;VQeIA~~o5Ad%0PJVh4yjS7J-UGZhOhmq<6TrHOHa(+082pXsx}I6&ViKIcmS+KS zNjRIM-znNBUBWA(XVAx_+50Q$IBm>9n1W;!zU-hBY92129eQsu@A>G=ngd)YSr+Vw zf=Jb$??w4 zk>~o>7}JNYfqxZ!10M>{I^oxwXv2^2Z(&pMy@ujJ#mcs~WPXP4c8Rka@mXxqcM^qS zm?#{?f7s19-=KMJ+ReW3nIA`SGciQIrboZWcyDO{ez6)){tj*Q@r(Wjn*klFLR+vA z4@Q5-efe}puNQbWz?T_x6VrGQe{~mptM6BBw8sp<$LO2nl3*%0%f~b_rzr6wK>9dxd|aIYmFleCz;oE!0ySh*EtTi*3<#=3V^Y zo@iR(r%?d^F12{J8pEnsu`Ifz${dO==6ePmHW@hiN<3_lIUD)&G=H)!N`hl!JpAeX zz~ajr2fgCviu}Uo@Lnrpz8U{vf8XJ9Y|NY78Y#W|Y5&z1n=|-rOX3sVHZWDcB03&( zZ`9MzewJ0ay8v5?aamc$r$jrdc4MMePWO>-Ji>>ncbIn;9L>PKs4W9es==`CPgWf% z%J{)^z^{{7N#>Vp@G;Ei3XaJd+y?wD;KbHQ-}jkoAdWfu0q-i-vsv&3XMe!_v=9DX zajG3`WFC4pJGMM88WZHwn`D?+WFGf>+ zbC$W7(w_AfRLfgn%_=@&%?dmAnoLj%J z-HLY+^8g;`to4ZZan_i`z(e?xuQRlqxs!7j2lJZZ9sF($Zgt;Od#*gAYL6@jiKT~V z-d6tC)&cpy#@TLs2i*s6qpx?@`g*tPYl`;y19$Vy)ov^rv@QsoHv`zaEnW0;z_mRQ z-0k`gour%jo^%c0>CM16E8f%>?H<@4Y5iV9&cd(#sCi(!?a6a5XUH=Qz7oNIya8YV7#$GOXYLu zb3*{GW@@@UXZg$j4cgQFPP2`5H`Ql7faPY6`Wl~Du0{vhDnAm8o56GZSdI?#UXnWM zx_6xp&gHpZ(mcxt!%Ki&!@zUEXL5-D4?5T#P43$lwc35rw7HBawBY$;s`9(#c6edc z2bv0YBv~ivO&9EII4U}LpTqABqwt$~{}KFN1Ag!Rz4$%t|1Ew)1JX@JTkB|t=0|lc zpMm6}?3BaiU|D>5Y+f{ZIc2xK)K9wwtIrYV?)VNd{u)2Uy(DUDDx9vYxnjopKi%5W z??uym6G=O}pfe#pg-vt-E%9 zr+m!^jvezEwXbf2n)IGm#xnM@-(>UZnZ{USt@hX3B0uQw(lN0XC(&{7&!%Jfb4ADa z@JHwvn?`<wbt^YPg-)`qo!OmtL{T<8O?!1|Sa|`NZoKxW_sN z;eMy&seibfK(-!uQ1)&?^EeBVoPk+d*NnNd`Lv!^@QML1_yuwYdy;!G_=MmlS=)*n z7yP8tiHFM--~|gzxl8 z>lB(zVIsGky^8)*N%BncZBmf0==s#ZoE5_-G~smoy3npbe ztph}^F`q5{KjqGMpevOeUuX^txG%Y;Gki2q3<5D2^i5@@6HTMeF-_mczq0aW;Z%k_ znDbl59MN3S`CGr{=7*Qv)&Bv-yN=m9>j=IM&YO>b8$;jU+OIA3C^!EIeuben>Ua}= zCDqeLJ@{sZmTmp=5!p2VfNxsQeSF6C=kUML-}t9Db-v{_vvu<;lF2?an%Mg7mmQt@ zimj^29q>>xxG`VyzKBjx_W`b>vIKah`C3mn4V}oB$2{tM&4X6yOg=)+|BVN4$(-5gUkFQ#AZ5}6QAQ?PR!r$jMYDEHAg0K zU$ByY0@ym3YdpT+bkvQjdxj37F%bMmmmNLE!mm-+|8zd%t1+v;U$>DYujC7qerr}J z&UWo$>D=E^G-{}&m9Az0_ z*-HsCiT7`yE^r}-{RJIQ!*$}ccCxY=l{Z6k#o$qBH*0U}-xNuv z;_HC-Usg^PWLL75iuuK_Gj5H*P_&|TAg1XqcrNg*tpgFfQvJ#=vV}HXS$+inl;TCi z_ZjQ7+Nt>o*;~cJ-lzvyJG(C{|2J!{_%6I^f#?W(sVrPqoe9%xec)bQ&ry9(IT{pW zPfSsW?{Z&#zTp?NQEjSU8{mX~;O;Sp=yVdTpHmst&3v_+I}z+s1L&3Td-{jYcQD?PB3za5xoZ`96jnh8tH_NB-))n{%9zBgK5FT*NLnpCE@3 z{_ta;I4`cTxS9FexWBlVF?Vdl-^00gqkJ41+ZO4K;D>ZVlRp>yckm>K5p~k`4ssZQ zZ|LcFL^l&#?VZ+H;hLNYcZ|wmRDISLtLHH?to!SA@7McM&1cl>>QG(MW9!e66 zB44=pzUJF>77gi{Xh8k}&9}%l+fOT>Z83l0AAZ+gNrveuOH1a_uvhniMS!^hJ|0Yk|Y{;Z&{vWbS6d+qxW%>RBC6 z=XKnT-BiQVto&~^Je`Z(gl{3q`qfl+S2AWUsp2X4talx~WNxb@0{Paj50OV{-(vd) zr$-H0+2EHro~&38Xa`>iHn_<#uXnp$7L3+appTl)a)Pcxy@{I6Qo;t7uJV9?w<{}M zMKJhg%@45DFqRhruN?EK1A_Ug5V?S_1Roi`5@bSqDx;XKJyE8-3x5PQK>l9ZnXoVo^qAiyqi%fbJaMv^Dk#ZCE;TN}e(yS~8s$6P5~ho3<{jK;!to5&HLoY$E)%7w!jC?5Ib)37 zU(LaWoyFcbq0g8em=d!w+iiavc*y9BGzW-}`ywX?6P(de+Z&n3N@VYi4$PqJKsP$a zjgFs=3re1J)>OdSo}3L2T$*$~)C_BolLK9r!F10$F1Ka*klg)_or7A>I1L*d7BbW^ z%OXF~Z|D#8l@rj=Sk-TCtkLAo<1`sSleu-!$97)!FLW^+a~Njb|CdEMthzK>kzX-|NOt@}k+<5%3FlzBe*88cmF%QDHpU|EH2TL829Ty3|)06X>vzr*U5`C$8%r=jvMr0KU3lij563-v@=oTV{Zf_*)%cctJ>&y5;(v|+YNlo z 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