s1prev = s1;
	vDescriptor function(vDescriptor[] args) {		String s1 = vString.argVal(args, 0);		String s2 = vString.argVal(args, 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ");		String s3 = vString.argVal(args, 2, "abcdefghijklmnopqrstuvwxyz");		if (s2.length() != s3.length()) {			iRuntime.error(208);		}		if (s1 != s1prev || s2 != s2prev) {			map = new char[(int) vCset.MAX_VALUE];			System.arraycopy(initmap, 0, map, 0, map.length);			for (int i = 0; i < s2.length(); i++) {				map[s2.charAt(i)] = s3.charAt(i);			}			s1prev = s1;			s2prev = s2;		}		char[] s = new char[s1.length()];		for (int i = 0; i < s1.length(); i++) {			s[i] = map[s1.charAt(i)];		}		return iNew.String(new String(s));	}