free software resistance
the cost of computing freedom is eternal vigilance
### distdiff.fig.py
*original date:* jul 2018
*originally posted:* oct 2024
distdiff.fig.py:
```
#!/usr/bin/env python2
# encoding: utf-8
# fig translator version: fig 4.6
import sys, os
from sys import stdin, stdout
from sys import argv as figargv
try:
from colorama import init
init()
except:
pass # (only) windows users want colorama installed or ansi.sys enabled
try:
from sys import exit as quit
except:
pass
from random import randint
from time import sleep
from os import chdir as figoch
from os import popen as figpo
from os import system as figsh
from os import name as figosname
figsysteme = 0
figfilehandles = {}
figfilecounters = {}
from sys import stdout
def figlocate(x, l = "ignore", c = "ignore"):
import sys
if l == "ignore" and c == "ignore": pass
# do nothing. want it to return an error?
elif l < 1 and c != "ignore":
sys.stdout.write("[" + str(c) + "G") # not ansi.sys compatible
elif l != "ignore" and c == "ignore":
sys.stdout.write("[" + str(l) + ";" + str(1) + "H")
else: sys.stdout.write("[" + str(l) + ";" + str(c) + "H")
import time
def fignonz(p, n=None):
if n==None:
if p == 0: return 1
else:
if p == 0: return n
return p
def fignot(p):
if p: return 0
return -1
figbac = None
figprsbac = None
sub = None
def fignone(p, figbac):
if p == None: return figbac
return p
return -1
def stopgraphics():
global yourscreen
global figraphics
figraphics = 0
try: pygame.quit()
except: pass
def figcolortext(x, f):
b = 0
if f == None: f = 0
if b == None: b = 0
n = "0"
if f > 7:
n = "1"
f = f - 8
if f == 1: f = 4 ## switch ansi colours for qb colours
elif f == 4: f = 1 ## 1 = blue not red, 4 = red not blue, etc.
if f == 3: f = 6
elif f == 6: f = 3
if b > 7: b = b - 8
if b == 1: b = 4
elif b == 4: b = 1
if b == 3: b = 6
elif b == 6: b = 3
stdout.write("\x1b[" + n + ";" + str(30+f) + "m")
return "\x1b[" + n + ";" + str(30+f) + ";" + str(40+b) + "m"
def figcolourtext(x, f):
b = 0
if f == None: f = 0
if b == None: b = 0
n = "0"
if f > 7:
n = "1"
f = f - 8
if f == 1: f = 4 ## switch ansi colours for qb colours
elif f == 4: f = 1 ## 1 = blue not red, 4 = red not blue, etc.
if f == 3: f = 6
elif f == 6: f = 3
if b > 7: b = b - 8
if b == 1: b = 4
elif b == 4: b = 1
if b == 3: b = 6
elif b == 6: b = 3
stdout.write("\x1b[" + n + ";" + str(30+f) + "m")
return "\x1b[" + n + ";" + str(30+f) + ";" + str(40+b) + "m"
figcgapal = [(0, 0, 0), (0, 0, 170), (0, 170, 0), (0, 170, 170),
(170, 0, 0), (170, 0, 170), (170, 85, 0), (170, 170, 170),
(85, 85, 85), (85, 85, 255), (85, 255, 85), (85, 255, 255),
(255, 85, 85), (255, 85, 255), (255, 255, 85), (255, 255, 255)]
def figget(p, s):
return s
def fighighlight(x, b):
f = None
if f == None: f = 0
if b == None: b = 0
n = "0"
if f > 7:
n = "1"
f = f - 8
if f == 1: f = 4 ## switch ansi colours for qb colours
elif f == 4: f = 1 ## 1 = blue not red, 4 = red not blue, etc.
if f == 3: f = 6
elif f == 6: f = 3
if b > 7: b = b - 8
if b == 1: b = 4
elif b == 4: b = 1
if b == 3: b = 6
elif b == 6: b = 3
stdout.write("\x1b[" + n + str(40+b) + "m")
return "\x1b[" + n + str(40+b) + "m"
def figinstr(x, p, e):
try:
return p.index(e) + 1
except:
return 0
def figchdir(p):
try:
figoch(p)
except:
print "no such file or directory: " + str(p)
figend(1)
def figshell(p):
global figsysteme
try:
figsysteme = figsh(p)
except:
print "error running shell command: " + chr(34) + str(p) + chr(34)
figend(1)
def figarrshell(c):
global figsysteme
try:
figsysteme = 0
sh = figpo(c)
ps = sh.read().replace(chr(13) + chr(10),
chr(10)).replace(chr(13), chr(10)).split(chr(10))
figsysteme = sh.close()
except:
print "error running arrshell command: " + chr(34) + str(c) + chr(34)
figend(1)
return ps[:]
def figsgn(p):
p = float(p)
if p > 0:
return 1
if p < 0:
return -1
return 0
def figstr(p):
return str(p)
def figprint(p):
print p
def figchr(p):
if type(p) == str:
if len(p) > 0:
return p[0]
return chr(p)
def figprints(p):
stdout.write(str(p))
sys.stdout.flush()
def figleft(p, s):
return p[:s]
def figmid(p, s, x):
arr = 0
if type(p) == list or type(p) == tuple:
arr = 1
rt = p[s - 1:
x + s - 1]
if arr and len(rt) == 1:
rt = rt[0]
return rt
def figright(p, s):
return p[-s:]
def figrandint(x, s, f):
return randint(s, f)
def figlcase(p):
return p.lower()
def figucase(p):
return p.upper()
def figint(p):
return int(p)
def figarrset(x, p, s):
if type(s) == tuple:
if len(s) == 1: fas = s[0]
elif type(s) == list:
if len(s) == 1: fas = s[0]
else:
fas = s
x[p - 1] = s
def figopen(x, s):
import fileinput
if s.lower() == "w":
if (x) not in figfilehandles.keys():
figfilehandles[x] = open(x[:], s.lower())
elif s.lower() == "r":
if (x) not in figfilehandles.keys():
figfilehandles[x] = fileinput.input(x[:])
figfilecounters[x] = 0
else:
if (x) not in figfilehandles.keys(): figfilehandles[x] = open(x[:], s[:])
def figfprint(x, s):
fon = figosname
sep = chr(10)
if fon == "nt":
sep = chr(13) + chr(10)
figfilehandles[s].write(str(x) + sep)
def figflineinput(x, s):
try:
p = figfilehandles[s][figfilecounters[s]].replace(chr(13),
"").replace(chr(10), "")
figfilecounters[s] += 1
except:
p = chr(10)
return p
def figclose(x):
if (x) in figfilehandles.keys():
figfilehandles[x].close()
del figfilehandles[x]
try:
del figfilecounters[x]
except:
pass
def figcls(x):
if figosname == "nt":
cls = figsh("cls")
else:
stdout.write("[2J[1;1H")
sys.stdout.flush()
def figarropen(x, s):
x = open(s).read().replace(chr(13) + chr(10), chr(10)).replace(chr(13),
chr(10)).split(chr(10))
return x[:]
def figarrcurl(x, s):
from urllib import urlopen
x = str(urlopen(s).read())
x = x.replace(chr(13) + chr(10),
chr(10)).replace(chr(13), chr(10)).split(chr(10))
return x[:]
def figarrstdin(x):
ps = []
for p in stdin:
ps += [p[:-1]]
return ps[:]
def figarrget(x, p, s):
if 1:
return p[s - 1]
def figplus(p, s):
if type(p) in (float, int):
if type(s) in (float, int):
p = p + s
else:
p = p + s # float(s) if you want it easier
if p == float(int(p)):
p = int(p)
else:
if type(p) == str: p = p + s # str(s) if you want it easier
if type(p) == list:
if type(s) == tuple:
p = p + list(s)
elif type(s) == list:
p = p + s[:]
else:
p = p + [s]
if type(p) == tuple:
if type(s) == tuple:
p = tuple(list(p) + list(s))
elif type(s) == list:
p = tuple(list(p) + s[:])
else:
p = tuple(list(p) + [s])
return p
def figjoin(p, x, s):
t = ""
if len(x):
t = str(x[0])
for c in range(len(x)):
if c > 0: t += str(s) + str(x[c])
return t # s.join(x)
def figarr(p):
if type(p) in (float, int, str):
p = [p]
else:
p = list(p)
return p
def figsplit(p, x, s):
return x.split(s)
def figval(n):
n = float(n)
if float(int(n)) == float(n):
n = int(n)
return n
def figtimes(p, s):
if type(p) in (float, int):
p = p * s # float(s) if you want it easier
if p == float(int(p)):
p = int(p)
else:
if type(p) == list:
p = p[:] * s # figval(s)
else:
p = p * s # figval(s) if you want it easer
return p
def figdivby(p, s):
p = float(p) / s
if p == float(int(p)):
p = int(p)
return p
def figminus(p, s):
return p - s
def figtopwr(p, s):
p = p ** s
if p == float(int(p)):
p = int(p)
return p
def figmod(p, s):
return p % s
def figcos(p):
from math import cos
p = cos(p)
if p == float(int(p)):
p = int(p)
return p
def figsin(p):
from math import sin
p = sin(p)
if p == float(int(p)):
p = int(p)
return p
def figsqr(p):
from math import sqrt
p = sqrt(p)
if p == float(int(p)):
p = int(p)
return p
def figltrim(p):
return p.lstrip()
def figlineinput(p):
return raw_input()
def figlen(p):
return len(p)
def figasc(p):
return ord(p[0])
def figatn(p):
from math import atan
p = atan(p)
if p == float(int(p)):
p = int(p)
return p
def fighex(p):
return hex(p)
def figrtrim(p):
return p.rstrip()
def figstring(x, p, n):
if type(n) == str:
return n * p
return chr(n) * p
def figtimer(p):
from time import strftime
return int(strftime("%H"))*60*60+int(strftime("%M"))*60+int(strftime("%S"))
def figtime(p):
from time import strftime
return strftime("%H:%M:%S")
def figdate(p):
from time import strftime
return strftime("%m/%d/%Y")
def figcommand(p):
return figargv[1:]
def figtan(p):
from math import tan
p = tan(p)
if p == float(int(p)):
p = int(p)
return p
def figoct(p): return oct(p)
def figsleep(p, s):
sleep(s)
def figarrsort(p):
p.sort()
def figdisplay(x):
global figraphics, figrupd
figrupd = 0
if figraphics == 1:
pygame.display.update()
def figreverse(p):
if type(p) == list:
p.reverse()
return p
elif type(p) == str:
p = map(str, p)
p.reverse()
p = "".join(p)
return p
def figarreverse(p):
p.reverse()
def figfunction(p, s):
return p
def figend(x):
quit()
def figif(p, s):
return p
def figthen(p, s):
return p
def figsystem(x):
quit()
#### http://creativecommons.org/publicdomain/zero/1.0/
figlist = 0
try: figlist = int(type(proginf) == list)
except NameError: pass
if not figlist: proginf = 0
proginf = "distdiff 0.3, jun 2017 mn"
# this program is FREE SOFTWARE and comes with NO WARRANTY
figlist = 0
try: figlist = int(type(debinstall_md5deep) == list)
except NameError: pass
if not figlist: debinstall_md5deep = 0
debinstall_md5deep = 0
def cmd():
from sys import argv as figargv ; return figargv[1:]
def plusquotes(st, mvar):
figlist = 0
try: figlist = int(type(q) == list)
except NameError: pass
if not figlist: q = 0
q = 34
q = figchr(q)
figlist = 0
try: figlist = int(type(qq) == list)
except NameError: pass
if not figlist: qq = 0
qq = q
qq = figtimes(qq, 2)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = mvar
now = figplus(now, " ")
now = figplus(now, q)
now = figplus(now, st)
now = figplus(now, q)
now = figsplit(now, now, qq)
now = figjoin(now, now, q)
return now
def orph(mvar):
figlist = 0
try: figlist = int(type(ck) == list)
except NameError: pass
if not figlist: ck = 0
ck = figinstr(ck, mvar, "/")
if ck:
figlist = 0
try: figlist = int(type(mlen) == list)
except NameError: pass
if not figlist: mlen = 0
mlen = mvar
mlen = figlen(mlen)
mlen = figminus(mlen, ck)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = mvar
now = figright(now, mlen)
return now
else:
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
return mvar
figlist = 0
try: figlist = int(type(e) == list)
except NameError: pass
if not figlist: e = 0
e = 0
try:
figlist = 0
try: figlist = int(type(f1) == list)
except NameError: pass
if not figlist: f1 = 0
figbac = f1
f1 = cmd()
f1 = fignone(f1, figbac)
f1 = figmid(f1, 1, 1)
figlist = 0
try: figlist = int(type(f2) == list)
except NameError: pass
if not figlist: f2 = 0
figbac = f2
f2 = cmd()
f2 = fignone(f2, figbac)
f2 = figmid(f2, 2, 1)
f2 = figrtrim(f2)
figlist = 0
try: figlist = int(type(f3) == list)
except NameError: pass
if not figlist: f3 = 0
f3 = "."
#f3 cmd mid 3 1 rtrim
figlist = 0
try: figlist = int(type(pwd) == list)
except NameError: pass
if not figlist: pwd = 0
pwd = "pwd"
pwd = figarrshell(pwd)
pwd = figmid(pwd, 1, 1)
figlist = 0
try: figlist = int(type(whoami) == list)
except NameError: pass
if not figlist: whoami = 0
whoami = "whoami"
whoami = figarrshell(whoami)
whoami = figmid(whoami, 1, 1)
figlist = 0
try: figlist = int(type(e) == list)
except NameError: pass
if not figlist: e = 0
e = 1
if whoami == "root":
if debinstall_md5deep:
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "echo installing md5deep ; apt-get install -y md5deep 2> /dev/null > /dev/null"
figshell(now)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "mkdir "
figbac = now
now = plusquotes(f3, now) ; now = fignone(now, figbac) ; now = figplus(now, "/1 2> /dev/null")
figshell(now)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "mkdir "
figbac = now
now = plusquotes(f3, now) ; now = fignone(now, figbac) ; now = figplus(now, "/2 2> /dev/null")
figshell(now)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "mkdir -p "
figbac = now
now = plusquotes(f3, now) ; now = fignone(now, figbac) ; now = figplus(now, "/1/iso/1 2> /dev/null")
figshell(now)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "mkdir -p "
figbac = now
now = plusquotes(f3, now) ; now = fignone(now, figbac) ; now = figplus(now, "/2/iso/1 2> /dev/null")
figshell(now)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "mkdir "
figbac = now
now = plusquotes(f3, now) ; now = fignone(now, figbac) ; now = figplus(now, "/1/sqfs 2> /dev/null")
figshell(now)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "mkdir "
figbac = now
now = plusquotes(f3, now) ; now = fignone(now, figbac) ; now = figplus(now, "/2/sqfs 2> /dev/null")
figshell(now)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "mount "
figbac = now
now = plusquotes(f1, now) ; now = fignone(now, figbac) ; now = figplus(now, " 1/iso/1")
figshell(now)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "mount "
figbac = now
now = plusquotes(f2, now) ; now = fignone(now, figbac) ; now = figplus(now, " 2/iso/1")
figshell(now)
figlist = 0
try: figlist = int(type(onesq) == list)
except NameError: pass
if not figlist: onesq = 0
onesq = "find 1 | egrep -i '.sfs$|.squashfs|\/linuxfs'"
onesq = figarrshell(onesq)
figlist = 0
try: figlist = int(type(sqlen) == list)
except NameError: pass
if not figlist: sqlen = 0
sqlen = onesq
sqlen = figlen(sqlen)
sqlen = figminus(sqlen, 1)
figlist = 0
try: figlist = int(type(onesq) == list)
except NameError: pass
if not figlist: onesq = 0
onesq = figleft(onesq, sqlen)
#print
figlist = 0
try: figlist = int(type(num) == list)
except NameError: pass
if not figlist: num = 0
for sq in onesq:
figlist = 0
try: figlist = int(type(inc) == list)
except NameError: pass
if not figlist: inc = 0
inc = num
inc = figval(inc)
inc = figplus(inc, 1)
inc = figstr(inc)
inc, num = num, inc ;
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "mkdir 1/sqfs/"
now = figplus(now, num)
now = figplus(now, " 2> /dev/null")
figshell(now)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "mount "
figbac = now
now = plusquotes(sq, now) ; now = fignone(now, figbac) ; now = figplus(now, " 1/sqfs/")
now = figplus(now, num)
figshell(now)
figlist = 0
try: figlist = int(type(twosq) == list)
except NameError: pass
if not figlist: twosq = 0
twosq = "find 2 | egrep -i '.sfs$|.squashfs|\/linuxfs'"
twosq = figarrshell(twosq)
figlist = 0
try: figlist = int(type(sqlen) == list)
except NameError: pass
if not figlist: sqlen = 0
sqlen = twosq
sqlen = figlen(sqlen)
sqlen = figminus(sqlen, 1)
figlist = 0
try: figlist = int(type(twosq) == list)
except NameError: pass
if not figlist: twosq = 0
twosq = figleft(twosq, sqlen)
#print
figlist = 0
try: figlist = int(type(num) == list)
except NameError: pass
if not figlist: num = 0
for sq in twosq:
figlist = 0
try: figlist = int(type(inc) == list)
except NameError: pass
if not figlist: inc = 0
inc = num
inc = figval(inc)
inc = figplus(inc, 1)
inc = figstr(inc)
inc, num = num, inc ;
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "mkdir 2/sqfs/"
now = figplus(now, num)
now = figplus(now, " 2> /dev/null")
figshell(now)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "mount "
figbac = now
now = plusquotes(sq, now) ; now = fignone(now, figbac) ; now = figplus(now, " 2/sqfs/")
now = figplus(now, num)
figshell(now)
#now "mount | egrep 'iso|1|2'" shell
try:
figlist = 0
try: figlist = int(type(o) == list)
except NameError: pass
if not figlist: o = 0
o = "md5deep -of -sr 1"
o = figarrshell(o)
except:
pass
try:
figlist = 0
try: figlist = int(type(p) == list)
except NameError: pass
if not figlist: p = 0
p = "md5deep -of -sr 2"
p = figarrshell(p)
except:
pass
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "unmount "
figbac = now
now = plusquotes(f3, now) ; now = fignone(now, figbac) ; now = figplus(now, "/1/sqfs/* 2> /dev/null")
figshell(now)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "unmount "
figbac = now
now = plusquotes(f3, now) ; now = fignone(now, figbac) ; now = figplus(now, "/2/sqfs/* 2> /dev/null")
figshell(now)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "unmount "
figbac = now
now = plusquotes(f3, now) ; now = fignone(now, figbac) ; now = figplus(now, "/1/iso/1 2> /dev/null")
figshell(now)
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "unmount "
figbac = now
now = plusquotes(f3, now) ; now = fignone(now, figbac) ; now = figplus(now, "/2/iso/1 2> /dev/null")
figshell(now)
def ckl(p):
figlist = 0
try: figlist = int(type(plen) == list)
except NameError: pass
if not figlist: plen = 0
plen = p
plen = figlen(plen)
figlist = 0
try: figlist = int(type(r) == list)
except NameError: pass
if not figlist: r = 0
r = ""
r = figarr(r)
r = figtimes(r, plen)
for each in p:
figlist = 0
try: figlist = int(type(md5) == list)
except NameError: pass
if not figlist: md5 = 0
md5 = figsplit(md5, each, " ")
md5 = figmid(md5, 1, 1)
figlist = 0
try: figlist = int(type(ck) == list)
except NameError: pass
if not figlist: ck = 0
ck = pwd
ck = figlen(ck)
ck = figplus(ck, 37)
figlist = 0
try: figlist = int(type(pathlen) == list)
except NameError: pass
if not figlist: pathlen = 0
pathlen = each
pathlen = figlen(pathlen)
pathlen = figminus(pathlen, ck)
if ck:
figlist = 0
try: figlist = int(type(path) == list)
except NameError: pass
if not figlist: path = 0
path = each
path = figright(path, pathlen)
figbac = path
path = orph(path) ; path = fignone(path, figbac) ; figbac = path
path = orph(path) ; path = fignone(path, figbac) ;
else:
figlist = 0
try: figlist = int(type(path) == list)
except NameError: pass
if not figlist: path = 0
path = ""
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = md5
now = figplus(now, " ")
now = figplus(now, path)
figlist = 0
try: figlist = int(type(r) == list)
except NameError: pass
if not figlist: r = 0
figarrset(r, plen, now)
figlist = 0
try: figlist = int(type(ckplen) == list)
except NameError: pass
if not figlist: ckplen = 0
ckplen = plen
ckplen = figminus(ckplen, 1)
ckplen, plen = plen, ckplen ;
#ckplen plen mod 250
#ifequal ckplen 0
#now plen prints " " prints
#fig
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
return r
figlist = 0
try: figlist = int(type(o) == list)
except NameError: pass
if not figlist: o = 0
figbac = o
o = ckl(o) ; o = fignone(o, figbac) ;
figlist = 0
try: figlist = int(type(p) == list)
except NameError: pass
if not figlist: p = 0
figbac = p
p = ckl(p) ; p = fignone(p, figbac) ;
figlist = 0
try: figlist = int(type(xc) == list)
except NameError: pass
if not figlist: xc = 0
figlist = 0
try: figlist = int(type(yc) == list)
except NameError: pass
if not figlist: yc = 0
#z "in " plus f1 print
for y in o:
figlist = 0
try: figlist = int(type(yin) == list)
except NameError: pass
if not figlist: yin = 0
yin = figinstr(yin, p, y)
yin = figsgn(yin)
if yin == 0:
figlist = 0
try: figlist = int(type(z) == list)
except NameError: pass
if not figlist: z = 0
z = "< "
figprints(z)
figlist = 0
try: figlist = int(type(z) == list)
except NameError: pass
if not figlist: z = 0
z = y
figprint(z)
else:
figlist = 0
try: figlist = int(type(z) == list)
except NameError: pass
if not figlist: z = 0
z = "= "
figprints(z)
figlist = 0
try: figlist = int(type(z) == list)
except NameError: pass
if not figlist: z = 0
z = y
figprint(z)
figlist = 0
try: figlist = int(type(z) == list)
except NameError: pass
if not figlist: z = 0
z = ""
figprint(z)
for x in p:
figlist = 0
try: figlist = int(type(xin) == list)
except NameError: pass
if not figlist: xin = 0
xin = figinstr(xin, o, x)
xin = figsgn(xin)
if xin == 0:
figlist = 0
try: figlist = int(type(z) == list)
except NameError: pass
if not figlist: z = 0
z = "> "
figprints(z)
figlist = 0
try: figlist = int(type(z) == list)
except NameError: pass
if not figlist: z = 0
z = x
figprint(z)
#else
#z "= " prints
#z x print
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = ""
figprint(now)
else:
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = whoami
figlist = 0
try: figlist = int(type(e) == list)
except NameError: pass
if not figlist: e = 0
e = 1
figlist = 0
try: figlist = int(type(now) == list)
except NameError: pass
if not figlist: now = 0
now = "sudo distdiff "
figbac = now
now = plusquotes(f1, now) ; now = fignone(now, figbac) ; figbac = now
now = plusquotes(f2, now) ; now = fignone(now, figbac) ; now = now
figshell(now)
except:
if e == 0:
figlist = 0
try: figlist = int(type(z) == list)
except NameError: pass
if not figlist: z = 0
z = proginf
figprint(z)
z = "usage: distdiff iso-file1 iso-file2"
figprint(z)
z = ""
figprint(z)
figend(z)
```
license: 0-clause bsd
```
# 2018 mn
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
```
=> https://freesoftwareresistance.neocities.org