diff --git a/CHANGES.md b/CHANGES.md index cc698c89..e622190e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,4 +1,23 @@ -### 0.12.5 (2017-01-16 16:22:00 UTC) +### 0.12.6 (2017-02-17 03:48:00 UTC) + +* Change skip episodes that have no wanted qualities +* Change download picked .nzb file on demand and not before +* Change improve provider title processing +* Change improve handling erroneous JSON responses +* Change improve find show with unicode characters +* Change improve results for providers Omgwtf, SpeedCD, Transmithenet, Zoogle +* Change validate .torrent files that contain optional header data +* Fix case where an episode status was not restored on failure +* Add raise log error if no wanted qualities are found +* Change add un/pw to Config/Media providers/Options for BTN API graceful fallback (can remove Api key for security) +* Change only download torrent once when using blackhole +* Add Cloudflare module 1.6.8 (be0a536) to handle specific CF connections +* Add Js2Py 0.43 (c1442f1) Cloudflare dependency +* Add pyjsparser 2.4.5 (cd5b829) Js2Py dependency +* Remove Torrentshack + + +### 0.12.5 (2017-01-16 16:22:00 UTC) * Change TD search URL * Fix saving Media Providers when either Search NZBs/Torrents is disabled diff --git a/HACKS.txt b/HACKS.txt index 6780f8cd..5ce98dba 100644 --- a/HACKS.txt +++ b/HACKS.txt @@ -8,6 +8,7 @@ Libs with customisations... /lib/hachoir_metadata/metadata.py /lib/hachoir_metadata/riff.py /lib/hachoir_parser/guess.py +/lib/hachoir_parser/misc/torrent.py /lib/lockfile/mkdirlockfile.py /lib/pynma/pynma.py /lib/requests/packages/urllib3/connectionpool.py diff --git a/SickBeard.py b/SickBeard.py index 85d22764..5d6276d3 100755 --- a/SickBeard.py +++ b/SickBeard.py @@ -420,9 +420,8 @@ class SickGear(object): startup_background_tasks = threading.Thread(name='FETCH-XEMDATA', target=sickbeard.scene_exceptions.get_xem_ids) startup_background_tasks.start() - # sure, why not? if sickbeard.USE_FAILED_DOWNLOADS: - failed_history.trimHistory() + failed_history.remove_old_history() # Start an update if we're supposed to if self.force_update or sickbeard.UPDATE_SHOWS_ON_START: diff --git a/gui/slick/images/providers/torrentshack.png b/gui/slick/images/providers/torrentshack.png deleted file mode 100644 index f9ae440d..00000000 Binary files a/gui/slick/images/providers/torrentshack.png and /dev/null differ diff --git a/gui/slick/js/newShow.js b/gui/slick/js/newShow.js index c1e7ece3..8c56ebff 100644 --- a/gui/slick/js/newShow.js +++ b/gui/slick/js/newShow.js @@ -35,7 +35,6 @@ $(document).ready(function () { ? text .replace(/["]/g, '"') : text - .replace(/Pokémon/, 'Pokemon') .replace(/(?:["]|")/g, '') ); } diff --git a/lib/cfscrape.py b/lib/cfscrape.py new file mode 100644 index 00000000..cd737fc7 --- /dev/null +++ b/lib/cfscrape.py @@ -0,0 +1,161 @@ +from time import sleep +import logging +import random +import re +from requests.sessions import Session +import js2py +from copy import deepcopy + +try: + from urlparse import urlparse +except ImportError: + from urllib.parse import urlparse + +DEFAULT_USER_AGENTS = [ + "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36", + "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0", + "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0" +] + +DEFAULT_USER_AGENT = random.choice(DEFAULT_USER_AGENTS) + + +class CloudflareScraper(Session): + def __init__(self, *args, **kwargs): + super(CloudflareScraper, self).__init__(*args, **kwargs) + + if "requests" in self.headers["User-Agent"]: + # Spoof Firefox on Linux if no custom User-Agent has been set + self.headers["User-Agent"] = DEFAULT_USER_AGENT + + def request(self, method, url, *args, **kwargs): + resp = super(CloudflareScraper, self).request(method, url, *args, **kwargs) + + # Check if Cloudflare anti-bot is on + if ( resp.status_code == 503 + and resp.headers.get("Server") == "cloudflare-nginx" + and b"jschl_vc" in resp.content + and b"jschl_answer" in resp.content + ): + return self.solve_cf_challenge(resp, **kwargs) + + # Otherwise, no Cloudflare anti-bot detected + return resp + + def solve_cf_challenge(self, resp, **original_kwargs): + sleep(5) # Cloudflare requires a delay before solving the challenge + + body = resp.text + parsed_url = urlparse(resp.url) + domain = urlparse(resp.url).netloc + submit_url = "%s://%s/cdn-cgi/l/chk_jschl" % (parsed_url.scheme, domain) + + cloudflare_kwargs = deepcopy(original_kwargs) + params = cloudflare_kwargs.setdefault("params", {}) + headers = cloudflare_kwargs.setdefault("headers", {}) + headers["Referer"] = resp.url + + try: + params["jschl_vc"] = re.search(r'name="jschl_vc" value="(\w+)"', body).group(1) + params["pass"] = re.search(r'name="pass" value="(.+?)"', body).group(1) + + # Extract the arithmetic operation + js = self.extract_js(body) + + except Exception: + # Something is wrong with the page. + # This may indicate Cloudflare has changed their anti-bot + # technique. If you see this and are running the latest version, + # please open a GitHub issue so I can update the code accordingly. + logging.error("[!] Unable to parse Cloudflare anti-bots page. " + "Try upgrading cloudflare-scrape, or submit a bug report " + "if you are running the latest version. Please read " + "https://github.com/Anorov/cloudflare-scrape#updates " + "before submitting a bug report.") + raise + + # Safely evaluate the Javascript expression + params["jschl_answer"] = str(int(js2py.eval_js(js)) + len(domain)) + + # Requests transforms any request into a GET after a redirect, + # so the redirect has to be handled manually here to allow for + # performing other types of requests even as the first request. + method = resp.request.method + cloudflare_kwargs["allow_redirects"] = False + redirect = self.request(method, submit_url, **cloudflare_kwargs) + return self.request(method, redirect.headers["Location"], **original_kwargs) + + def extract_js(self, body): + js = re.search(r"setTimeout\(function\(\){\s+(var " + "s,t,o,p,b,r,e,a,k,i,n,g,f.+?\r?\n[\s\S]+?a\.value =.+?)\r?\n", body).group(1) + js = re.sub(r"a\.value = (parseInt\(.+?\)).+", r"\1", js) + js = re.sub(r"\s{3,}[a-z](?: = |\.).+", "", js) + + # Strip characters that could be used to exit the string context + # These characters are not currently used in Cloudflare's arithmetic snippet + js = re.sub(r"[\n\\']", "", js) + + return js + + @classmethod + def create_scraper(cls, sess=None, **kwargs): + """ + Convenience function for creating a ready-to-go requests.Session (subclass) object. + """ + scraper = cls() + + if sess: + attrs = ["auth", "cert", "cookies", "headers", "hooks", "params", "proxies", "data"] + for attr in attrs: + val = getattr(sess, attr, None) + if val: + setattr(scraper, attr, val) + + return scraper + + + ## Functions for integrating cloudflare-scrape with other applications and scripts + + @classmethod + def get_tokens(cls, url, user_agent=None, **kwargs): + scraper = cls.create_scraper() + if user_agent: + scraper.headers["User-Agent"] = user_agent + + try: + resp = scraper.get(url) + resp.raise_for_status() + except Exception as e: + logging.error("'%s' returned an error. Could not collect tokens." % url) + raise + + domain = urlparse(resp.url).netloc + cookie_domain = None + + for d in scraper.cookies.list_domains(): + if d.startswith(".") and d in ("." + domain): + cookie_domain = d + break + else: + raise ValueError("Unable to find Cloudflare cookies. Does the site actually have Cloudflare IUAM (\"I'm Under Attack Mode\") enabled?") + + return ({ + "__cfduid": scraper.cookies.get("__cfduid", "", domain=cookie_domain), + "cf_clearance": scraper.cookies.get("cf_clearance", "", domain=cookie_domain) + }, + scraper.headers["User-Agent"] + ) + + @classmethod + def get_cookie_string(cls, url, user_agent=None, **kwargs): + """ + Convenience function for building a Cookie HTTP header value. + """ + tokens, user_agent = cls.get_tokens(url, user_agent=user_agent) + return "; ".join("=".join(pair) for pair in tokens.items()), user_agent + +create_scraper = CloudflareScraper.create_scraper +get_tokens = CloudflareScraper.get_tokens +get_cookie_string = CloudflareScraper.get_cookie_string diff --git a/lib/hachoir_parser/misc/torrent.py b/lib/hachoir_parser/misc/torrent.py index 0c32a785..b1b39ec2 100644 --- a/lib/hachoir_parser/misc/torrent.py +++ b/lib/hachoir_parser/misc/torrent.py @@ -143,6 +143,7 @@ def Entry(parent, name): class TorrentFile(Parser): endian = LITTLE_ENDIAN MAGIC = "d8:announce" + MAGIC_EXTENSION = "d13:announce-list" PARSER_TAGS = { "id": "torrent", "category": "misc", @@ -154,7 +155,8 @@ class TorrentFile(Parser): } def validate(self): - if self.stream.readBytes(0, len(self.MAGIC)) != self.MAGIC: + if self.stream.readBytes(0, len(self.MAGIC)) != self.MAGIC and \ + self.stream.readBytes(0, len(self.MAGIC_EXTENSION)) != self.MAGIC_EXTENSION: return "Invalid magic" return True diff --git a/lib/js2py/__init__.py b/lib/js2py/__init__.py new file mode 100644 index 00000000..7b71b819 --- /dev/null +++ b/lib/js2py/__init__.py @@ -0,0 +1,71 @@ +# The MIT License +# +# Copyright 2014, 2015 Piotr Dabkowski +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the 'Software'), +# to deal in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, subject +# to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all copies or +# substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +# LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +# OR THE USE OR OTHER DEALINGS IN THE SOFTWARE + +""" This module allows you to translate and execute Javascript in pure python. + Basically its implementation of ECMAScript 5.1 in pure python. + + Use eval_js method to execute javascript code and get resulting python object (builtin if possible). + + EXAMPLE: + >>> import js2py + >>> add = js2py.eval_js('function add(a, b) {return a + b}') + >>> add(1, 2) + 3 + 6 + >>> add('1', 2, 3) + u'12' + >>> add.constructor + function Function() { [python code] } + + + Or use EvalJs to execute many javascript code fragments under same context - you would be able to get any + variable from the context! + + >>> js = js2py.EvalJs() + >>> js.execute('var a = 10; function f(x) {return x*x};') + >>> js.f(9) + 81 + >>> js.a + 10 + + Also you can use its console method to play with interactive javascript console. + + + Use parse_js to parse (syntax tree is just like in esprima.js) and translate_js to trasnlate JavaScript. + + Finally, you can use pyimport statement from inside JS code to import and use python libraries. + + >>> js2py.eval_js('pyimport urllib; urllib.urlopen("https://www.google.com")') + + NOTE: This module is still not fully finished: + + Date and JSON builtin objects are not implemented + Array prototype is not fully finished (will be soon) + + Other than that everything should work fine. + +""" + +__author__ = 'Piotr Dabkowski' +__all__ = ['EvalJs', 'translate_js', 'import_js', 'eval_js', 'parse_js', 'translate_file', + 'run_file', 'disable_pyimport', 'eval_js6', 'translate_js6', 'PyJsException', 'get_file_contents', 'write_file_contents'] +from .base import PyJsException +from .evaljs import * +from .translators import parse as parse_js + diff --git a/lib/js2py/base.py b/lib/js2py/base.py new file mode 100644 index 00000000..a7782e96 --- /dev/null +++ b/lib/js2py/base.py @@ -0,0 +1,2781 @@ +'''Most important file in Js2Py implementation: PyJs class - father of all PyJs objects''' +from copy import copy +import re + +from .translators.friendly_nodes import REGEXP_CONVERTER +from .utils.injector import fix_js_args +from types import FunctionType, ModuleType, GeneratorType, BuiltinFunctionType, MethodType, BuiltinMethodType +import traceback +try: + import numpy + NUMPY_AVAILABLE = True +except: + NUMPY_AVAILABLE = False + + +# python 3 support +import six +if six.PY3: + basestring = str + long = int + xrange = range + unicode = str + + +def str_repr(s): + if six.PY2: + return repr(s.encode('utf-8')) + else: + return repr(s) + +def MakeError(name, message): + """Returns PyJsException with PyJsError inside""" + return JsToPyException(ERRORS[name](Js(message))) + + + + +def to_python(val): + if not isinstance(val, PyJs): + return val + if isinstance(val, PyJsUndefined) or isinstance(val, PyJsNull): + return None + elif isinstance(val, PyJsNumber): + # this can be either float or long/int better to assume its int/long when a whole number... + v = val.value + try: + i = int(v) if v==v else v # nan... + return v if i!=v else i + except: + return v + elif isinstance(val, (PyJsString, PyJsBoolean)): + return val.value + elif isinstance(val, PyObjectWrapper): + return val.__dict__['obj'] + return JsObjectWrapper(val) + +def to_dict(js_obj, known=None): # fixed recursion error in self referencing objects + res = {} + if known is None: + known = {} + if js_obj in known: + return known[js_obj] + known[js_obj] = res + for k in js_obj: + name = k.value + input = js_obj.get(name) + output = to_python(input) + if isinstance(output, JsObjectWrapper): + if output._obj.Class=='Object': + output = to_dict(output._obj, known) + known[input] = output + elif output._obj.Class in ['Array','Int8Array','Uint8Array','Uint8ClampedArray','Int16Array','Uint16Array','Int32Array','Uint32Array','Float32Array','Float64Array']: + output = to_list(output._obj) + known[input] = output + res[name] = output + return res + + +def to_list(js_obj, known=None): + res = len(js_obj)*[None] + if known is None: + known = {} + if js_obj in known: + return known[js_obj] + known[js_obj] = res + for k in js_obj: + try: + name = int(k.value) + except: + continue + input = js_obj.get(str(name)) + output = to_python(input) + if isinstance(output, JsObjectWrapper): + if output._obj.Class in ['Array', 'Int8Array','Uint8Array','Uint8ClampedArray','Int16Array','Uint16Array','Int32Array','Uint32Array','Float32Array','Float64Array', 'Arguments']: + output = to_list(output._obj, known) + known[input] = output + elif output._obj.Class in ['Object']: + output = to_dict(output._obj) + known[input] = output + res[name] = output + return res + + +def HJs(val): + if hasattr(val, '__call__'): # + @Js + def PyWrapper(this, arguments, var=None): + args = tuple(to_python(e) for e in arguments.to_list()) + try: + py_res = val.__call__(*args) + except Exception as e: + message = 'your Python function failed! ' + try: + message += e.message + except: + pass + raise MakeError('Error', message) + return py_wrap(py_res) + + try: + PyWrapper.func_name = val.__name__ + except: + pass + return PyWrapper + if isinstance(val, tuple): + val = list(val) + return Js(val) + + +def Js(val, Clamped=False): + '''Converts Py type to PyJs type''' + if isinstance(val, PyJs): + return val + elif val is None: + return undefined + elif isinstance(val, basestring): + return PyJsString(val, StringPrototype) + elif isinstance(val, bool): + return true if val else false + elif isinstance(val, float) or isinstance(val, int) or isinstance(val, long) or (NUMPY_AVAILABLE and isinstance(val, (numpy.int8,numpy.uint8, + numpy.int16,numpy.uint16, + numpy.int32,numpy.uint32, + numpy.float32,numpy.float64))): + # This is supposed to speed things up. may not be the case + if val in NUM_BANK: + return NUM_BANK[val] + return PyJsNumber(float(val), NumberPrototype) + elif isinstance(val, FunctionType): + return PyJsFunction(val, FunctionPrototype) + #elif isinstance(val, ModuleType): + # mod = {} + # for name in dir(val): + # value = getattr(val, name) + # if isinstance(value, ModuleType): + # continue # prevent recursive module conversion + # try: + # jsval = HJs(value) + # except RuntimeError: + # print 'Could not convert %s to PyJs object!' % name + # continue + # mod[name] = jsval + # return Js(mod) + #elif isintance(val, ClassType): + + elif isinstance(val, dict): # convert to object + temp = PyJsObject({}, ObjectPrototype) + for k, v in six.iteritems(val): + temp.put(Js(k), Js(v)) + return temp + elif isinstance(val, (list, tuple)): #Convert to array + return PyJsArray(val, ArrayPrototype) + # convert to typedarray + elif isinstance(val, JsObjectWrapper): + return val.__dict__['_obj'] + elif NUMPY_AVAILABLE and isinstance(val, numpy.ndarray): + if val.dtype == numpy.int8: + return PyJsInt8Array(val, Int8ArrayPrototype) + elif val.dtype == numpy.uint8 and not Clamped: + return PyJsUint8Array(val, Uint8ArrayPrototype) + elif val.dtype == numpy.uint8 and Clamped: + return PyJsUint8ClampedArray(val, Uint8ClampedArrayPrototype) + elif val.dtype == numpy.int16: + return PyJsInt16Array(val, Int16ArrayPrototype) + elif val.dtype == numpy.uint16: + return PyJsUint16Array(val, Uint16ArrayPrototype) + + elif val.dtype == numpy.int32: + return PyJsInt32Array(val, Int32ArrayPrototype) + elif val.dtype == numpy.uint32: + return PyJsUint16Array(val, Uint32ArrayPrototype) + + elif val.dtype == numpy.float32: + return PyJsFloat32Array(val, Float32ArrayPrototype) + elif val.dtype == numpy.float64: + return PyJsFloat64Array(val, Float64ArrayPrototype) + else: # try to convert to js object + return py_wrap(val) + #raise RuntimeError('Cant convert python type to js (%s)' % repr(val)) + #try: + # obj = {} + # for name in dir(val): + # if name.startswith('_'): #dont wrap attrs that start with _ + # continue + # value = getattr(val, name) + # import types + # if not isinstance(value, (FunctionType, BuiltinFunctionType, MethodType, BuiltinMethodType, + # dict, int, basestring, bool, float, long, list, tuple)): + # continue + # obj[name] = HJs(value) + # return Js(obj) + #except: + # raise RuntimeError('Cant convert python type to js (%s)' % repr(val)) + +def Type(val): + try: + return val.TYPE + except: + raise RuntimeError('Invalid type: '+str(val)) + +def is_data_descriptor(desc): + return desc and ('value' in desc or 'writable' in desc) + +def is_accessor_descriptor(desc): + return desc and ('get' in desc or 'set' in desc) + +def is_generic_descriptor(desc): + return desc and not (is_data_descriptor(desc) or is_accessor_descriptor(desc)) + + + +############################################################################## + +class PyJs(object): + PRIMITIVES = frozenset(['String', 'Number', 'Boolean', 'Undefined', 'Null']) + TYPE = 'Object' + Class = None + extensible = True + prototype = None + own = {} + GlobalObject = None + IS_CHILD_SCOPE = False + value = None + buff = None + + def __init__(self, value=None, prototype=None, extensible=False): + '''Constructor for Number String and Boolean''' + # I dont think this is needed anymore + # if self.Class=='String' and not isinstance(value, basestring): + # raise TypeError + # if self.Class=='Number': + # if not isinstance(value, float): + # if not (isinstance(value, int) or isinstance(value, long)): + # raise TypeError + # value = float(value) + # if self.Class=='Boolean' and not isinstance(value, bool): + # raise TypeError + self.value = value + self.extensible = extensible + self.prototype = prototype + self.own = {} + self.buff = None + + def is_undefined(self): + return self.Class=='Undefined' + + def is_null(self): + return self.Class=='Null' + + def is_primitive(self): + return self.TYPE in self.PRIMITIVES + + def is_object(self): + return not self.is_primitive() + + def _type(self): + return Type(self) + + def is_callable(self): + return hasattr(self, 'call') + + def get_own_property(self, prop): + return self.own.get(prop) + + def get_property(self, prop): + cand = self.get_own_property(prop) + if cand: + return cand + if self.prototype is not None: + return self.prototype.get_property(prop) + + def update_array(self): + for i in range(self.get('length').to_uint32()): + self.put(str(i),Js(self.buff[i])) + + def get(self, prop): #external use! + #prop = prop.value + if self.Class=='Undefined' or self.Class=='Null': + raise MakeError('TypeError', 'Undefined and null dont have properties!') + if not isinstance(prop, basestring): + prop = prop.to_string().value + if not isinstance(prop, basestring): raise RuntimeError('Bug') + if NUMPY_AVAILABLE and prop.isdigit(): + if isinstance(self.buff,numpy.ndarray): + self.update_array() + cand = self.get_property(prop) + if cand is None: + return Js(None) + if is_data_descriptor(cand): + return cand['value'] + if cand['get'].is_undefined(): + return cand['get'] + return cand['get'].call(self) + + def can_put(self, prop): #to check + desc = self.get_own_property(prop) + if desc: #if we have this property + if is_accessor_descriptor(desc): + return desc['set'].is_callable() # Check if setter method is defined + else: #data desc + return desc['writable'] + if self.prototype is not None: + return self.extensible + inherited = self.get_property(prop) + if inherited is None: + return self.extensible + if is_accessor_descriptor(inherited): + return not inherited['set'].is_undefined() + elif self.extensible: + return inherited['writable'] + return False + + + def put(self, prop, val, op=None): #external use! + '''Just like in js: self.prop op= val + for example when op is '+' it will be self.prop+=val + op can be either None for simple assignment or one of: + * / % + - << >> & ^ |''' + if self.Class=='Undefined' or self.Class=='Null': + raise MakeError('TypeError', 'Undefined and null dont have properties!') + if not isinstance(prop, basestring): + prop = prop.to_string().value + if NUMPY_AVAILABLE and prop.isdigit(): + if self.Class == 'Int8Array': + val = Js(numpy.int8(val.to_number().value)) + elif self.Class == 'Uint8Array': + val = Js(numpy.uint8(val.to_number().value)) + elif self.Class == 'Uint8ClampedArray': + if val < Js(numpy.uint8(0)): + val = Js(numpy.uint8(0)) + elif val > Js(numpy.uint8(255)): + val = Js(numpy.uint8(255)) + else: + val = Js(numpy.uint8(val.to_number().value)) + elif self.Class == 'Int16Array': + val = Js(numpy.int16(val.to_number().value)) + elif self.Class == 'Uint16Array': + val = Js(numpy.uint16(val.to_number().value)) + elif self.Class == 'Int32Array': + val = Js(numpy.int32(val.to_number().value)) + elif self.Class == 'Uint32Array': + val = Js(numpy.uint32(val.to_number().value)) + elif self.Class == 'Float32Array': + val = Js(numpy.float32(val.to_number().value)) + elif self.Class == 'Float64Array': + val = Js(numpy.float64(val.to_number().value)) + if isinstance(self.buff,numpy.ndarray): + self.buff[int(prop)] = int(val.to_number().value) + #we need to set the value to the incremented one + if op is not None: + val = getattr(self.get(prop), OP_METHODS[op])(val) + if not self.can_put(prop): + return val + own_desc = self.get_own_property(prop) + if is_data_descriptor(own_desc): + if self.Class in ['Array','Int8Array','Uint8Array','Uint8ClampedArray','Int16Array','Uint16Array','Int32Array','Uint32Array','Float32Array','Float64Array']: + self.define_own_property(prop, {'value':val}) + else: + self.own[prop]['value'] = val + return val + desc = self.get_property(prop) + if is_accessor_descriptor(desc): + desc['set'].call(self, (val,)) + else: + new = {'value' : val, + 'writable' : True, + 'configurable' : True, + 'enumerable' : True} + if self.Class in ['Array','Int8Array','Uint8Array','Uint8ClampedArray','Int16Array','Uint16Array','Int32Array','Uint32Array','Float32Array','Float64Array']: + self.define_own_property(prop, new) + else: + self.own[prop] = new + return val + + def has_property(self, prop): + return self.get_property(prop) is not None + + def delete(self, prop): + if not isinstance(prop, basestring): + prop = prop.to_string().value + desc = self.get_own_property(prop) + if desc is None: + return Js(True) + if desc['configurable']: + del self.own[prop] + return Js(True) + return Js(False) + + def default_value(self, hint=None): # made a mistake at the very early stage and made it to prefer string... caused lots! of problems + order = ('valueOf', 'toString') + if hint=='String' or (hint is None and self.Class=='Date'): + order = ('toString', 'valueOf') + for meth_name in order: + method = self.get(meth_name) + if method is not None and method.is_callable(): + cand = method.call(self) + if cand.is_primitive(): + return cand + raise MakeError('TypeError', 'Cannot convert object to primitive value') + + + def define_own_property(self, prop, desc): #Internal use only. External through Object + # prop must be a Py string. Desc is either a descriptor or accessor. + #Messy method - raw translation from Ecma spec to prevent any bugs. # todo check this + current = self.get_own_property(prop) + + extensible = self.extensible + if not current: #We are creating a new property + if not extensible: + return False + if is_data_descriptor(desc) or is_generic_descriptor(desc): + DEFAULT_DATA_DESC = {'value': undefined, #undefined + 'writable': False, + 'enumerable': False, + 'configurable': False} + DEFAULT_DATA_DESC.update(desc) + self.own[prop] = DEFAULT_DATA_DESC + else: + DEFAULT_ACCESSOR_DESC = {'get': undefined, #undefined + 'set': undefined, #undefined + 'enumerable': False, + 'configurable': False} + DEFAULT_ACCESSOR_DESC.update(desc) + self.own[prop] = DEFAULT_ACCESSOR_DESC + return True + if not desc or desc==current: #We dont need to change anything. + return True + configurable = current['configurable'] + if not configurable: #Prevent changing configurable or enumerable + if desc.get('configurable'): + return False + if 'enumerable' in desc and desc['enumerable']!=current['enumerable']: + return False + if is_generic_descriptor(desc): + pass + elif is_data_descriptor(current)!=is_data_descriptor(desc): + if not configurable: + return False + if is_data_descriptor(current): + del current['value'] + del current['writable'] + current['set'] = undefined #undefined + current['get'] = undefined #undefined + else: + del current['set'] + del current['get'] + current['value'] = undefined #undefined + current['writable'] = False + elif is_data_descriptor(current) and is_data_descriptor(desc): + if not configurable: + if not current['writable'] and desc.get('writable'): + return False + if not current['writable'] and 'value' in desc and current['value']!=desc['value']: + return False + elif is_accessor_descriptor(current) and is_accessor_descriptor(desc): + if not configurable: + if 'set' in desc and desc['set'] is not current['set']: + return False + if 'get' in desc and desc['get'] is not current['get']: + return False + current.update(desc) + return True + + #these methods will work only for Number class + def is_infinity(self): + assert self.Class=='Number' + return self.value==float('inf') or self.value==-float('inf') + + def is_nan(self): + assert self.Class=='Number' + return self.value!=self.value #nan!=nan evaluates to true + + def is_finite(self): + return not (self.is_nan() or self.is_infinity()) + #Type Conversions. to_type. All must return pyjs subclass instance + + def to_primitive(self, hint=None): + if self.is_primitive(): + return self + if hint is None and (self.Class=='Number' or self.Class=='Boolean'): # favour number for Class== Number or Boolean default = String + hint = 'Number' + return self.default_value(hint) + + def to_boolean(self): + typ = Type(self) + if typ=='Boolean': #no need to convert + return self + elif typ=='Null' or typ=='Undefined': #they are both always false + return false + elif typ=='Number' or typ=='String': #false only for 0, '' and NaN + return Js(bool(self.value and self.value==self.value)) # test for nan (nan -> flase) + else: #object - always true + return true + + def to_number(self): + typ = Type(self) + if typ=='Null': #null is 0 + return Js(0) + elif typ=='Undefined': # undefined is NaN + return NaN + elif typ=='Boolean': # 1 for true 0 for false + return Js(int(self.value)) + elif typ=='Number':# or self.Class=='Number': # no need to convert + return self + elif typ=='String': + s = self.value.strip() #Strip white space + if not s: # '' is simply 0 + return Js(0) + if 'x' in s or 'X' in s[:3]: #hex (positive only) + try: # try to convert + num = int(s, 16) + except ValueError: # could not convert > NaN + return NaN + return Js(num) + sign = 1 #get sign + if s[0] in '+-': + if s[0]=='-': + sign = -1 + s = s[1:] + if s=='Infinity': #Check for infinity keyword. 'NaN' will be NaN anyway. + return Js(sign*float('inf')) + try: #decimal try + num = sign*float(s) # Converted + except ValueError: + return NaN # could not convert to decimal > return NaN + return Js(num) + else: #object - most likely it will be NaN. + return self.to_primitive('Number').to_number() + + def to_string(self): + typ = Type(self) + if typ=='Null': + return Js('null') + elif typ=='Undefined': + return Js('undefined') + elif typ=='Boolean': + return Js('true') if self.value else Js('false') + elif typ=='Number': #or self.Class=='Number': + if self.is_nan(): + return Js('NaN') + elif self.is_infinity(): + sign = '-' if self.value<0 else '' + return Js(sign+'Infinity') + elif isinstance(self.value, long) or self.value.is_integer(): # dont print .0 + return Js(unicode(int(self.value))) + return Js(unicode(self.value)) # accurate enough + elif typ=='String': + return self + else: #object + return self.to_primitive('String').to_string() + + + def to_object(self): + typ = self.TYPE + if typ=='Null' or typ=='Undefined': + raise MakeError('TypeError', 'undefined or null can\'t be converted to object') + elif typ=='Boolean': # Unsure here... todo repair here + return Boolean.create(self) + elif typ=='Number': #? + return Number.create(self) + elif typ=='String': #? + return String.create(self) + else: #object + return self + + def to_int32(self): + num = self.to_number() + if num.is_nan() or num.is_infinity(): + return 0 + int32 = int(num.value) % 2**32 + return int(int32 - 2**32 if int32 >= 2**31 else int32) + + def strict_equality_comparison(self, other): + return PyJsStrictEq(self, other) + + def cok(self): + """Check object coercible""" + if self.Class in ('Undefined', 'Null'): + raise MakeError('TypeError', 'undefined or null can\'t be converted to object') + + def to_int(self): + num = self.to_number() + if num.is_nan(): + return 0 + elif num.is_infinity(): + return 10**20 if num.value>0 else -10**20 + return int(num.value) + + def to_uint32(self): + num = self.to_number() + if num.is_nan() or num.is_infinity(): + return 0 + return int(num.value) % 2**32 + + def to_uint16(self): + num = self.to_number() + if num.is_nan() or num.is_infinity(): + return 0 + return int(num.value) % 2**16 + + def to_int16(self): + num = self.to_number() + if num.is_nan() or num.is_infinity(): + return 0 + int16 = int(num.value) % 2**16 + return int(int16 - 2**16 if int16 >= 2**15 else int16) + + + + def same_as(self, other): + typ = Type(self) + if typ!=other.Class: + return False + if typ=='Undefined' or typ=='Null': + return True + if typ=='Boolean' or typ=='Number' or typ=='String': + return self.value==other.value + else: #object + return self is other #Id compare. + + #Not to be used by translation (only internal use) + def __getitem__(self, item): + return self.get(str(item) if not isinstance(item, PyJs) else item.to_string().value) + + def __setitem__(self, item, value): + self.put(str(item) if not isinstance(item, PyJs) else item.to_string().value, Js(value)) + + def __len__(self): + try: + return self.get('length').to_uint32() + except: + raise TypeError('This object (%s) does not have length property'%self.Class) + #Oprators------------- + #Unary, other will be implemented as functions. Increments and decrements + # will be methods of Number class + def __neg__(self): #-u + return Js(-self.to_number().value) + + def __pos__(self): #+u + return self.to_number() + + def __invert__(self): #~u + return Js(Js(~self.to_int32()).to_int32()) + + def neg(self): # !u cant do 'not u' :( + return Js(not self.to_boolean().value) + + def __nonzero__(self): + return self.to_boolean().value + + def __bool__(self): + return self.to_boolean().value + + def typeof(self): + if self.is_callable(): + return Js('function') + typ = Type(self).lower() + if typ=='null': + typ = 'object' + return Js(typ) + + #Bitwise operators + # <<, >>, &, ^, | + + # << + def __lshift__(self, other): + lnum = self.to_int32() + rnum = other.to_uint32() + shiftCount = rnum & 0x1F + return Js(Js(lnum << shiftCount).to_int32()) + + # >> + def __rshift__(self, other): + lnum = self.to_int32() + rnum = other.to_uint32() + shiftCount = rnum & 0x1F + return Js(Js(lnum >> shiftCount).to_int32()) + + + # >>> + def pyjs_bshift(self, other): + lnum = self.to_uint32() + rnum = other.to_uint32() + shiftCount = rnum & 0x1F + return Js(Js(lnum >> shiftCount).to_uint32()) + + # & + def __and__(self, other): + lnum = self.to_int32() + rnum = other.to_int32() + return Js(Js(lnum & rnum).to_int32()) + + # ^ + def __xor__(self, other): + lnum = self.to_int32() + rnum = other.to_int32() + return Js(Js(lnum ^ rnum).to_int32()) + + # | + def __or__(self, other): + lnum = self.to_int32() + rnum = other.to_int32() + return Js(Js(lnum | rnum).to_int32()) + + # Additive operators + # + and - are implemented here + + # + + def __add__(self, other): + a = self.to_primitive() + b = other.to_primitive() + if a.TYPE=='String' or b.TYPE=='String': + return Js(a.to_string().value+b.to_string().value) + a = a.to_number() + b = b.to_number() + return Js(a.value+b.value) + + # - + def __sub__(self, other): + return Js(self.to_number().value-other.to_number().value) + + #Multiplicative operators + # *, / and % are implemented here + + # * + def __mul__(self, other): + return Js(self.to_number().value*other.to_number().value) + + # / + def __div__(self, other): + a = self.to_number().value + b = other.to_number().value + if b: + return Js(a/b) + if not a or a!=a: + return NaN + return Infinity if a>0 else -Infinity + + # % + def __mod__(self, other): + a = self.to_number().value + b = other.to_number().value + if abs(a)==float('inf') or not b: + return NaN + if abs(b)==float('inf'): + return Js(a) + pyres = Js(a%b) #different signs in python and javascript + #python has the same sign as b and js has the same + #sign as a. + if a<0 and pyres.value>0: + pyres.value -= abs(b) + elif a>0 and pyres.value<0: + pyres.value += abs(b) + return Js(pyres) + + #Comparisons (I dont implement === and !== here, these + # will be implemented as external functions later) + # <, <=, !=, ==, >=, > are implemented here. + + def abstract_relational_comparison(self, other, self_first=True): + ''' self= + def __ge__(self, other): + res = self.abstract_relational_comparison(other, True) + if res.is_undefined(): + return false + return res.neg() + + #> + def __gt__(self, other): + res = self.abstract_relational_comparison(other, False) + if res.is_undefined(): + return false + return res + + def abstract_equality_comparison(self, other): + ''' returns the result of JS == compare. + result is PyJs type: bool''' + tx, ty = self.TYPE, other.TYPE + if tx==ty: + if tx=='Undefined' or tx=='Null': + return true + if tx=='Number' or tx=='String' or tx=='Boolean': + return Js(self.value==other.value) + return Js(self is other) # Object + elif (tx=='Undefined' and ty=='Null') or (ty=='Undefined' and tx=='Null'): + return true + elif tx=='Number' and ty=='String': + return self.abstract_equality_comparison(other.to_number()) + elif tx=='String' and ty=='Number': + return self.to_number().abstract_equality_comparison(other) + elif tx=='Boolean': + return self.to_number().abstract_equality_comparison(other) + elif ty=='Boolean': + return self.abstract_equality_comparison(other.to_number()) + elif (tx=='String' or tx=='Number') and other.is_object(): + return self.abstract_equality_comparison(other.to_primitive()) + elif (ty=='String' or ty=='Number') and self.is_object(): + return self.to_primitive().abstract_equality_comparison(other) + else: + return false + + #== + def __eq__(self, other): + return self.abstract_equality_comparison(other) + + #!= + def __ne__(self, other): + return self.abstract_equality_comparison(other).neg() + + #Other methods (instanceof) + + def instanceof(self, other): + '''checks if self is instance of other''' + if not hasattr(other, 'has_instance'): + return false + return other.has_instance(self) + + #iteration + def __iter__(self): + #Returns a generator of all own enumerable properties + # since the size od self.own can change we need to use different method of iteration. + # SLOW! New items will NOT show up. + returned = {} + if not self.IS_CHILD_SCOPE: + cands = sorted(name for name in self.own if self.own[name]['enumerable']) + else: + cands = sorted(name for name in self.own) + for cand in cands: + check = self.own.get(cand) + if check and check['enumerable']: + yield Js(cand) + + + def contains(self, other): + if not self.is_object(): + raise MakeError('TypeError',"You can\'t use 'in' operator to search in non-objects") + return Js(self.has_property(other.to_string().value)) + + #Other Special methods + def __call__(self, *args): + '''Call a property prop as a function (this will be global object). + + NOTE: dont pass this and arguments here, these will be added + automatically!''' + if not self.is_callable(): + raise MakeError('TypeError', '%s is not a function'%self.typeof()) + return self.call(self.GlobalObject, args) + + + def create(self, *args): + '''Generally not a constructor, raise an error''' + raise MakeError('TypeError', '%s is not a constructor'%self.Class) + + def __unicode__(self): + return self.to_string().value + + def __repr__(self): + if self.Class=='Object': + res = [] + for e in self: + res.append(str_repr(e.value)+': '+str_repr(self.get(e))) + return '{%s}'%', '.join(res) + elif self.Class=='String': + return str_repr(self.value) + elif self.Class in ['Array','Int8Array','Uint8Array','Uint8ClampedArray','Int16Array','Uint16Array','Int32Array','Uint32Array','Float32Array','Float64Array']: + res = [] + for e in self: + res.append(repr(self.get(e))) + return '[%s]'%', '.join(res) + else: + val = str_repr(self.to_string().value) + return val + + def _fuck_python3(self): # hack to make object hashable in python 3 (__eq__ causes problems) + return object.__hash__(self) + + def callprop(self, prop, *args): + '''Call a property prop as a method (this will be self). + + NOTE: dont pass this and arguments here, these will be added + automatically!''' + if not isinstance(prop, basestring): + prop = prop.to_string().value + cand = self.get(prop) + if not cand.is_callable(): + raise MakeError('TypeError','%s is not a function'%cand.typeof()) + return cand.call(self, args) + + def to_python(self): + """returns equivalent python object. + for example if this object is javascript array then this method will return equivalent python array""" + return to_python(self) + + def to_py(self): + """returns equivalent python object. + for example if this object is javascript array then this method will return equivalent python array""" + return self.to_python() + + +if six.PY3: + PyJs.__hash__ = PyJs._fuck_python3 + PyJs.__truediv__ = PyJs.__div__ +#Define some more classes representing operators: + +def PyJsStrictEq(a, b): + '''a===b''' + tx, ty = Type(a), Type(b) + if tx!=ty: + return false + if tx=='Undefined' or tx=='Null': + return true + if a.is_primitive(): #string bool and number case + return Js(a.value==b.value) + return Js(a is b) # object comparison + + +def PyJsStrictNeq(a, b): + ''' a!==b''' + return PyJsStrictEq(a, b).neg() + +def PyJsBshift(a, b): + """a>>>b""" + return a.pyjs_bshift(b) + + +def PyJsComma(a, b): + return b + +class PyJsException(Exception): + def __str__(self): + if self.mes.Class=='Error': + return self.mes.callprop('toString').value + else: + return unicode(self.mes) + +class PyJsSwitchException(Exception): pass + + +PyJs.MakeError = staticmethod(MakeError) + +def JsToPyException(js): + temp = PyJsException() + temp.mes = js + return temp + +def PyExceptionToJs(py): + return py.mes + +#Scope class it will hold all the variables accessible to user +class Scope(PyJs): + Class = 'global' + extensible = True + IS_CHILD_SCOPE = True + # todo speed up + # in order to speed up this very important class the top scope should behave differently than + # child scopes, child scope should not have this property descriptor thing because they cant be changed anyway + # they are all confugurable= False + + def __init__(self, scope, closure=None): + """Doc""" + self.prototype = closure + if closure is None: + # global, top level scope + self.own = {} + for k, v in six.iteritems(scope): + # set all the global items + self.define_own_property(k, {'value': v, 'configurable': False, + 'writable': False, 'enumerable': False}) + else: + # not global, less powerful but faster closure. + self.own = scope # simple dictionary which maps name directly to js object. + + def register(self, lval): + # registered keeps only global registered variables + if self.prototype is None: + # define in global scope + if lval in self.own: + self.own[lval]['configurable'] = False + else: + self.define_own_property(lval, {'value': undefined, 'configurable': False, + 'writable': True, 'enumerable': True}) + elif lval not in self.own: + # define in local scope since it has not been defined yet + self.own[lval] = undefined # default value + + def registers(self, lvals): + """register multiple variables""" + for lval in lvals: + self.register(lval) + + def put(self, lval, val, op=None): + if self.prototype is None: + # global scope put, simple + return PyJs.put(self, lval, val, op) + else: + # trying to put in local scope + # we dont know yet in which scope we should place this var + if lval in self.own: + if op: # increment operation + val = getattr(self.own[lval], OP_METHODS[op])(val) + self.own[lval] = val + return val + else: + #try to put in the lower scope since we cant put in this one (var wasn't registered) + return self.prototype.put(lval, val, op) + + def force_own_put(self, prop, val, configurable=False): + if self.prototype is None: # global scope + self.own[prop] = {'value': val, 'writable': True, 'enumerable':True, 'configurable':configurable} + else: + self.own[prop] = val + + def get(self, prop, throw=True): + #note prop is always a Py String + if not isinstance(prop, basestring): + prop = prop.to_string().value + if self.prototype is not None: + # fast local scope + cand = self.own.get(prop) + if cand is None: + return self.prototype.get(prop, throw) + return cand + # slow, global scope + if prop not in self.own: + if throw: + raise MakeError('ReferenceError', '%s is not defined' % prop) + return undefined + return PyJs.get(self, prop) + + def delete(self, lval): + if self.prototype is not None: + if lval in self.own: + return false + return self.prototype.delete(lval) + # we are in global scope here. Must exist and be configurable to delete + if lval not in self.own: + # this lval does not exist, why do you want to delete it??? + return true + if self.own[lval]['configurable']: + del self.own[lval] + return true + # not configurable, cant delete + return false + + def pyimport(self, name, module): + self.register(name) + self.put(name, py_wrap(module)) + + def __repr__(self): + return u'[Object Global]' + + def to_python(self): + return to_python(self) + +class This(Scope): + IS_CHILD_SCOPE = False + def get(self, prop, throw=False): + return Scope.get(self, prop, throw) + +class JsObjectWrapper(object): + def __init__(self, obj): + self.__dict__['_obj'] = obj + + def __call__(self, *args): + args = tuple(Js(e) for e in args) + if '_prop_of' in self.__dict__: + parent, meth = self.__dict__['_prop_of'] + return to_python(parent._obj.callprop(meth, *args)) + return to_python(self._obj(*args)) + + def __getattr__(self, item): + if item == 'new' and self._obj.is_callable(): + # return instance initializer + def PyJsInstanceInit(*args): + args = tuple(Js(e) for e in args) + return self._obj.create(*args).to_python() + return PyJsInstanceInit + cand = to_python(self._obj.get(str(item))) + # handling method calling... obj.meth(). Value of this in meth should be self + if isinstance(cand, self.__class__): + cand.__dict__['_prop_of'] = self, str(item) + return cand + + def __setattr__(self, item, value): + self._obj.put(str(item), Js(value)) + + def __getitem__(self, item): + cand = to_python(self._obj.get(str(item))) + if isinstance(cand, self.__class__): + cand.__dict__['_prop_of'] = self, str(item) + return cand + + def __setitem__(self, item, value): + self._obj.put(str(item), Js(value)) + + def __iter__(self): + if self._obj.Class in ['Array', 'Int8Array','Uint8Array','Uint8ClampedArray','Int16Array','Uint16Array','Int32Array','Uint32Array','Float32Array','Float64Array']: + return iter(self.to_list()) + elif self._obj.Class=='Object': + return iter(self.to_dict()) + else: + raise MakeError('TypeError', '%s is not iterable in Python' % self._obj.Class) + + def __repr__(self): + if self._obj.is_primitive() or self._obj.is_callable(): + return repr(self._obj) + elif self._obj.Class in ('Array', 'Int8Array','Uint8Array','Uint8ClampedArray','Int16Array','Uint16Array','Int32Array','Uint32Array','Float32Array','Float64Array', 'Arguments'): + return repr(self.to_list()) + return repr(self.to_dict()) + + def __len__(self): + return len(self._obj) + + def __nonzero__(self): + return bool(self._obj) + + def __bool__(self): + return bool(self._obj) + + def to_dict(self): + return to_dict(self.__dict__['_obj']) + + def to_list(self): + return to_list(self.__dict__['_obj']) + +class PyObjectWrapper(PyJs): + Class = 'PyObjectWrapper' + def __init__(self, obj): + self.obj = obj + + def get(self, prop): + if not isinstance(prop, basestring): + prop = prop.to_string().value + try: + if prop.isdigit(): + return py_wrap(self.obj[int(prop)]) + return py_wrap(getattr(self.obj, prop)) + except: + return undefined + + def put(self, prop, val, throw=False): + if not isinstance(prop, basestring): + prop = prop.to_string().value + try: + setattr(self.obj, prop, to_python(val)) + except AttributeError: + raise MakeError('TypeError', 'Read only object probably...') + return val + + def __call__(self, *args): + py_args = tuple(to_python(e) for e in args) + try: + py_res = self.obj.__call__(*py_args) + except Exception as e: + message = 'your Python function failed! ' + try: + message += e.message + except: + pass + raise MakeError('Error', message) + return py_wrap(py_res) + + + def callprop(self, prop, *args): + py_args = tuple(to_python(e) for e in args) + if not isinstance(prop, basestring): + prop = prop.to_string().value + return self.get(prop)(*py_args) + + def delete(self, prop): + if not isinstance(prop, basestring): + prop = prop.to_string().value + try: + if prop.isdigit(): + del self.obj[int(prop)] + else: + delattr(self.obj, prop) + return true + except: + return false + + def __repr__(self): + return 'PyObjectWrapper(%s)' % str(self.obj) + + def to_python(self): + return self.obj + + def to_py(self): + return self.obj + + +def py_wrap(py): + if isinstance(py, (FunctionType, BuiltinFunctionType, MethodType, BuiltinMethodType, + dict, int, str, bool, float, list, tuple, long, basestring)) or py is None : + return HJs(py) + return PyObjectWrapper(py) + + + + +############################################################################## +#Define types + +#Object +class PyJsObject(PyJs): + Class = 'Object' + def __init__(self, prop_descs={}, prototype=None, extensible=True): + self.prototype = prototype + self.extensible = extensible + self.own = {} + for prop, desc in six.iteritems(prop_descs): + self.define_own_property(prop, desc) + + def __repr__(self): + return repr(self.to_python().to_dict()) + + + +ObjectPrototype = PyJsObject() + + +#Function +class PyJsFunction(PyJs): + Class = 'Function' + def __init__(self, func, prototype=None, extensible=True, source=None): + cand = fix_js_args(func) + has_scope = cand is func + func = cand + self.argcount = six.get_function_code(func).co_argcount - 2 - has_scope + self.code = func + self.source = source if source else '{ [python code] }' + self.func_name = func.__name__ if not func.__name__.startswith('PyJs_anonymous') else '' + self.extensible = extensible + self.prototype = prototype + self.own = {} + #set own property length to the number of arguments + self.define_own_property('length', {'value': Js(self.argcount), 'writable': False, + 'enumerable': False, 'configurable': False}) + + if self.func_name: + self.define_own_property('name', {'value': Js(self.func_name), 'writable': False, + 'enumerable': False, 'configurable': True}) + + # set own prototype + proto = Js({}) + # constructor points to this function + proto.define_own_property('constructor',{'value': self, 'writable': True, + 'enumerable': False, 'configurable': True}) + self.define_own_property('prototype', {'value': proto, 'writable': True, + 'enumerable': False, 'configurable': False}) + + def _set_name(self, name): + '''name is py type''' + if self.own.get('name'): + self.func_name = name + self.own['name']['value'] = Js(name) + + def construct(self, *args): + proto = self.get('prototype') + if not proto.is_object(): # set to standard prototype + proto = ObjectPrototype + obj = PyJsObject(prototype=proto) + cand = self.call(obj, *args) + return cand if cand.is_object() else obj + + def call(self, this, args=()): + '''Calls this function and returns a result + (converted to PyJs type so func can return python types) + + this must be a PyJs object and args must be a python tuple of PyJs objects. + + arguments object is passed automatically and will be equal to Js(args) + (tuple converted to arguments object).You dont need to worry about number + of arguments you provide if you supply less then missing ones will be set + to undefined (but not present in arguments object). + And if you supply too much then excess will not be passed + (but they will be present in arguments object). + ''' + if not hasattr(args, '__iter__'): #get rid of it later + args = (args,) + args = tuple(Js(e) for e in args) # this wont be needed later + + arguments = PyJsArguments(args, self) # tuple will be converted to arguments object. + arglen = self.argcount #function expects this number of args. + if len(args)>arglen: + args = args[0:arglen] + elif len(args)>': '__rshift__', + '&': '__and__', + '^': '__xor__', + '|': '__or__', + '>>>': 'pyjs_bshift'} + +def Empty(): + return Js(None) + +#Number +class PyJsNumber(PyJs): #Note i dont implement +0 and -0. Just 0. + TYPE = 'Number' + Class = 'Number' + + + +NumberPrototype = PyJsObject({}, ObjectPrototype) +NumberPrototype.Class = 'Number' +NumberPrototype.value = 0 + +Infinity = PyJsNumber(float('inf'), NumberPrototype) +NaN = PyJsNumber(float('nan'), NumberPrototype) +PyJs.NaN = NaN +PyJs.Infinity = Infinity + +# This dict aims to increase speed of string creation by storing character instances +CHAR_BANK = {} +NUM_BANK = {} +PyJs.CHAR_BANK = CHAR_BANK +#String +# Different than implementation design in order to improve performance +#for example I dont create separate property for each character in string, it would take ages. +class PyJsString(PyJs): + TYPE = 'String' + Class = 'String' + extensible = False + def __init__(self, value=None, prototype=None): + '''Constructor for Number String and Boolean''' + if not isinstance(value, basestring): + raise TypeError # this will be internal error + self.value = value + self.prototype = prototype + self.own = {} + # this should be optimized because its mych slower than python str creation (about 50 times!) + # Dont create separate properties for every index. Just + self.own['length'] = {'value': Js(len(value)), 'writable': False, + 'enumerable': False, 'configurable': False} + if len(value)==1: + CHAR_BANK[value] = self #, 'writable': False, + # 'enumerable': True, 'configurable': False} + + def get(self, prop): + if not isinstance(prop, basestring): + prop = prop.to_string().value + try: + index = int(prop) + if index<0: + return undefined + char = self.value[index] + if char not in CHAR_BANK: + Js(char) # this will add char to CHAR BANK + return CHAR_BANK[char] + except Exception: + pass + return PyJs.get(self, prop) + + def can_put(self, prop): + return False + + def __iter__(self): + for i in xrange(len(self.value)): + yield Js(i) # maybe create an int bank? + + +StringPrototype = PyJsObject({}, ObjectPrototype) +StringPrototype.Class = 'String' +StringPrototype.value = '' + +CHAR_BANK[''] = Js('') + +#Boolean +class PyJsBoolean(PyJs): + TYPE = 'Boolean' + Class = 'Boolean' + +BooleanPrototype = PyJsObject({}, ObjectPrototype) +BooleanPrototype.Class = 'Boolean' +BooleanPrototype.value = False + +true = PyJsBoolean(True, BooleanPrototype) +false = PyJsBoolean(False, BooleanPrototype) + + +#Undefined +class PyJsUndefined(PyJs): + TYPE = 'Undefined' + Class = 'Undefined' + def __init__(self): + pass + +undefined = PyJsUndefined() + +#Null +class PyJsNull(PyJs): + TYPE = 'Null' + Class = 'Null' + def __init__(self): + pass +null = PyJsNull() +PyJs.null = null + +class PyJsArray(PyJs): + Class = 'Array' + def __init__(self, arr=[], prototype=None): + self.extensible = True + self.prototype = prototype + self.own = {'length' : {'value': Js(0), 'writable': True, + 'enumerable': False, 'configurable': False}} + for i, e in enumerate(arr): + self.define_own_property(str(i), {'value': Js(e), 'writable': True, + 'enumerable': True, 'configurable': True}) + def define_own_property(self, prop, desc): + old_len_desc = self.get_own_property('length') + old_len = old_len_desc['value'].value # value is js type so convert to py. + if prop=='length': + if 'value' not in desc: + return PyJs.define_own_property(self, prop, desc) + new_len = desc['value'].to_uint32() + if new_len!=desc['value'].to_number().value: + raise MakeError('RangeError', 'Invalid range!') + new_desc = dict((k,v) for k,v in six.iteritems(desc)) + new_desc['value'] = Js(new_len) + if new_len>=old_len: + return PyJs.define_own_property(self, prop, new_desc) + if not old_len_desc['writable']: + return False + if 'writable' not in new_desc or new_desc['writable']==True: + new_writable = True + else: + new_writable = False + new_desc['writable'] = True + if not PyJs.define_own_property(self, prop, new_desc): + return False + if new_len30*len(self.own): + for ele in self.own.keys(): + if ele.isdigit() and int(ele)>=new_len: + if not self.delete(ele): # if failed to delete set len to current len and reject. + new_desc['value'] = Js(old_len+1) + if not new_writable: + new_desc['writable'] = False + PyJs.define_own_property(self, prop, new_desc) + return False + old_len = new_len + else: # standard method + while new_len=old_len and not old_len_desc['writable']: + return False + if not PyJs.define_own_property(self, prop, desc): + return False + if index>=old_len: + old_len_desc['value'] = Js(index + 1) + return True + else: + return PyJs.define_own_property(self, prop, desc) + + def to_list(self): + return [self.get(str(e)) for e in xrange(self.get('length').to_uint32())] + + def __repr__(self): + return repr(self.to_python().to_list()) + +class PyJsArrayBuffer(PyJs): + Class = 'ArrayBuffer' + def __init__(self, arr=[], prototype=None): + self.extensible = True + self.prototype = prototype + self.own = {'length' : {'value': Js(0), 'writable': True, + 'enumerable': False, 'configurable': False}} + for i, e in enumerate(arr): + self.define_own_property(str(i), {'value': Js(e), 'writable': True, + 'enumerable': True, 'configurable': True}) + def define_own_property(self, prop, desc): + old_len_desc = self.get_own_property('length') + old_len = old_len_desc['value'].value # value is js type so convert to py. + if prop=='length': + if 'value' not in desc: + return PyJs.define_own_property(self, prop, desc) + new_len = desc['value'].to_uint32() + if new_len!=desc['value'].to_number().value: + raise MakeError('RangeError', 'Invalid range!') + new_desc = dict((k,v) for k,v in six.iteritems(desc)) + new_desc['value'] = Js(new_len) + if new_len>=old_len: + return PyJs.define_own_property(self, prop, new_desc) + if not old_len_desc['writable']: + return False + if 'writable' not in new_desc or new_desc['writable']==True: + new_writable = True + else: + new_writable = False + new_desc['writable'] = True + if not PyJs.define_own_property(self, prop, new_desc): + return False + if new_len30*len(self.own): + for ele in self.own.keys(): + if ele.isdigit() and int(ele)>=new_len: + if not self.delete(ele): # if failed to delete set len to current len and reject. + new_desc['value'] = Js(old_len+1) + if not new_writable: + new_desc['writable'] = False + PyJs.define_own_property(self, prop, new_desc) + return False + old_len = new_len + else: # standard method + while new_len=old_len and not old_len_desc['writable']: + return False + if not PyJs.define_own_property(self, prop, desc): + return False + if index>=old_len: + old_len_desc['value'] = Js(index + 1) + return True + else: + return PyJs.define_own_property(self, prop, desc) + + def to_list(self): + return [self.get(str(e)) for e in xrange(self.get('length').to_uint32())] + + def __repr__(self): + return repr(self.to_python().to_list()) + +class PyJsInt8Array(PyJs): + Class = 'Int8Array' + def __init__(self, arr=[], prototype=None): + self.extensible = True + self.prototype = prototype + self.own = {'length' : {'value': Js(0), 'writable': True, + 'enumerable': False, 'configurable': False}} + + for i, e in enumerate(arr): + self.define_own_property(str(i), {'value': Js(e), 'writable': True, + 'enumerable': True, 'configurable': True}) + def define_own_property(self, prop, desc): + old_len_desc = self.get_own_property('length') + old_len = old_len_desc['value'].value # value is js type so convert to py. + if prop=='length': + if 'value' not in desc: + return PyJs.define_own_property(self, prop, desc) + new_len = desc['value'].to_uint32() + if new_len!=desc['value'].to_number().value: + raise MakeError('RangeError', 'Invalid range!') + new_desc = dict((k,v) for k,v in six.iteritems(desc)) + new_desc['value'] = Js(new_len) + if new_len>=old_len: + return PyJs.define_own_property(self, prop, new_desc) + if not old_len_desc['writable']: + return False + if 'writable' not in new_desc or new_desc['writable']==True: + new_writable = True + else: + new_writable = False + new_desc['writable'] = True + if not PyJs.define_own_property(self, prop, new_desc): + return False + if new_len30*len(self.own): + for ele in self.own.keys(): + if ele.isdigit() and int(ele)>=new_len: + if not self.delete(ele): # if failed to delete set len to current len and reject. + new_desc['value'] = Js(old_len+1) + if not new_writable: + new_desc['writable'] = False + PyJs.define_own_property(self, prop, new_desc) + return False + old_len = new_len + else: # standard method + while new_len=old_len and not old_len_desc['writable']: + return False + if not PyJs.define_own_property(self, prop, desc): + return False + if index>=old_len: + old_len_desc['value'] = Js(index + 1) + return True + else: + return PyJs.define_own_property(self, prop, desc) + + def to_list(self): + return [self.get(str(e)) for e in xrange(self.get('length').to_uint32())] + + def __repr__(self): + return repr(self.to_python().to_list()) + +class PyJsUint8Array(PyJs): + Class = 'Uint8Array' + def __init__(self, arr=[], prototype=None): + self.extensible = True + self.prototype = prototype + self.own = {'length' : {'value': Js(0), 'writable': True, + 'enumerable': False, 'configurable': False}} + + for i, e in enumerate(arr): + self.define_own_property(str(i), {'value': Js(e), 'writable': True, + 'enumerable': True, 'configurable': True}) + def define_own_property(self, prop, desc): + old_len_desc = self.get_own_property('length') + old_len = old_len_desc['value'].value # value is js type so convert to py. + if prop=='length': + if 'value' not in desc: + return PyJs.define_own_property(self, prop, desc) + new_len = desc['value'].to_uint32() + if new_len!=desc['value'].to_number().value: + raise MakeError('RangeError', 'Invalid range!') + new_desc = dict((k,v) for k,v in six.iteritems(desc)) + new_desc['value'] = Js(new_len) + if new_len>=old_len: + return PyJs.define_own_property(self, prop, new_desc) + if not old_len_desc['writable']: + return False + if 'writable' not in new_desc or new_desc['writable']==True: + new_writable = True + else: + new_writable = False + new_desc['writable'] = True + if not PyJs.define_own_property(self, prop, new_desc): + return False + if new_len30*len(self.own): + for ele in self.own.keys(): + if ele.isdigit() and int(ele)>=new_len: + if not self.delete(ele): # if failed to delete set len to current len and reject. + new_desc['value'] = Js(old_len+1) + if not new_writable: + new_desc['writable'] = False + PyJs.define_own_property(self, prop, new_desc) + return False + old_len = new_len + else: # standard method + while new_len=old_len and not old_len_desc['writable']: + return False + if not PyJs.define_own_property(self, prop, desc): + return False + if index>=old_len: + old_len_desc['value'] = Js(index + 1) + return True + else: + return PyJs.define_own_property(self, prop, desc) + + def to_list(self): + return [self.get(str(e)) for e in xrange(self.get('length').to_uint32())] + + def __repr__(self): + return repr(self.to_python().to_list()) + +class PyJsUint8ClampedArray(PyJs): + Class = 'Uint8ClampedArray' + def __init__(self, arr=[], prototype=None): + self.extensible = True + self.prototype = prototype + self.own = {'length' : {'value': Js(0), 'writable': True, + 'enumerable': False, 'configurable': False}} + + for i, e in enumerate(arr): + self.define_own_property(str(i), {'value': Js(e), 'writable': True, + 'enumerable': True, 'configurable': True}) + def define_own_property(self, prop, desc): + old_len_desc = self.get_own_property('length') + old_len = old_len_desc['value'].value # value is js type so convert to py. + if prop=='length': + if 'value' not in desc: + return PyJs.define_own_property(self, prop, desc) + new_len = desc['value'].to_uint32() + if new_len!=desc['value'].to_number().value: + raise MakeError('RangeError', 'Invalid range!') + new_desc = dict((k,v) for k,v in six.iteritems(desc)) + new_desc['value'] = Js(new_len) + if new_len>=old_len: + return PyJs.define_own_property(self, prop, new_desc) + if not old_len_desc['writable']: + return False + if 'writable' not in new_desc or new_desc['writable']==True: + new_writable = True + else: + new_writable = False + new_desc['writable'] = True + if not PyJs.define_own_property(self, prop, new_desc): + return False + if new_len30*len(self.own): + for ele in self.own.keys(): + if ele.isdigit() and int(ele)>=new_len: + if not self.delete(ele): # if failed to delete set len to current len and reject. + new_desc['value'] = Js(old_len+1) + if not new_writable: + new_desc['writable'] = False + PyJs.define_own_property(self, prop, new_desc) + return False + old_len = new_len + else: # standard method + while new_len=old_len and not old_len_desc['writable']: + return False + if not PyJs.define_own_property(self, prop, desc): + return False + if index>=old_len: + old_len_desc['value'] = Js(index + 1) + return True + else: + return PyJs.define_own_property(self, prop, desc) + + def to_list(self): + return [self.get(str(e)) for e in xrange(self.get('length').to_uint32())] + + def __repr__(self): + return repr(self.to_python().to_list()) + +class PyJsInt16Array(PyJs): + Class = 'Int16Array' + def __init__(self, arr=[], prototype=None): + self.extensible = True + self.prototype = prototype + self.own = {'length' : {'value': Js(0), 'writable': True, + 'enumerable': False, 'configurable': False}} + + for i, e in enumerate(arr): + self.define_own_property(str(i), {'value': Js(e), 'writable': True, + 'enumerable': True, 'configurable': True}) + def define_own_property(self, prop, desc): + old_len_desc = self.get_own_property('length') + old_len = old_len_desc['value'].value # value is js type so convert to py. + if prop=='length': + if 'value' not in desc: + return PyJs.define_own_property(self, prop, desc) + new_len = desc['value'].to_uint32() + if new_len!=desc['value'].to_number().value: + raise MakeError('RangeError', 'Invalid range!') + new_desc = dict((k,v) for k,v in six.iteritems(desc)) + new_desc['value'] = Js(new_len) + if new_len>=old_len: + return PyJs.define_own_property(self, prop, new_desc) + if not old_len_desc['writable']: + return False + if 'writable' not in new_desc or new_desc['writable']==True: + new_writable = True + else: + new_writable = False + new_desc['writable'] = True + if not PyJs.define_own_property(self, prop, new_desc): + return False + if new_len30*len(self.own): + for ele in self.own.keys(): + if ele.isdigit() and int(ele)>=new_len: + if not self.delete(ele): # if failed to delete set len to current len and reject. + new_desc['value'] = Js(old_len+1) + if not new_writable: + new_desc['writable'] = False + PyJs.define_own_property(self, prop, new_desc) + return False + old_len = new_len + else: # standard method + while new_len=old_len and not old_len_desc['writable']: + return False + if not PyJs.define_own_property(self, prop, desc): + return False + if index>=old_len: + old_len_desc['value'] = Js(index + 1) + return True + else: + return PyJs.define_own_property(self, prop, desc) + + def to_list(self): + return [self.get(str(e)) for e in xrange(self.get('length').to_uint32())] + + def __repr__(self): + return repr(self.to_python().to_list()) + +class PyJsUint16Array(PyJs): + Class = 'Uint16Array' + def __init__(self, arr=[], prototype=None): + self.extensible = True + self.prototype = prototype + self.own = {'length' : {'value': Js(0), 'writable': True, + 'enumerable': False, 'configurable': False}} + + for i, e in enumerate(arr): + self.define_own_property(str(i), {'value': Js(e), 'writable': True, + 'enumerable': True, 'configurable': True}) + def define_own_property(self, prop, desc): + old_len_desc = self.get_own_property('length') + old_len = old_len_desc['value'].value # value is js type so convert to py. + if prop=='length': + if 'value' not in desc: + return PyJs.define_own_property(self, prop, desc) + new_len = desc['value'].to_uint32() + if new_len!=desc['value'].to_number().value: + raise MakeError('RangeError', 'Invalid range!') + new_desc = dict((k,v) for k,v in six.iteritems(desc)) + new_desc['value'] = Js(new_len) + if new_len>=old_len: + return PyJs.define_own_property(self, prop, new_desc) + if not old_len_desc['writable']: + return False + if 'writable' not in new_desc or new_desc['writable']==True: + new_writable = True + else: + new_writable = False + new_desc['writable'] = True + if not PyJs.define_own_property(self, prop, new_desc): + return False + if new_len30*len(self.own): + for ele in self.own.keys(): + if ele.isdigit() and int(ele)>=new_len: + if not self.delete(ele): # if failed to delete set len to current len and reject. + new_desc['value'] = Js(old_len+1) + if not new_writable: + new_desc['writable'] = False + PyJs.define_own_property(self, prop, new_desc) + return False + old_len = new_len + else: # standard method + while new_len=old_len and not old_len_desc['writable']: + return False + if not PyJs.define_own_property(self, prop, desc): + return False + if index>=old_len: + old_len_desc['value'] = Js(index + 1) + return True + else: + return PyJs.define_own_property(self, prop, desc) + + def to_list(self): + return [self.get(str(e)) for e in xrange(self.get('length').to_uint32())] + + def __repr__(self): + return repr(self.to_python().to_list()) + +class PyJsInt32Array(PyJs): + Class = 'Int32Array' + def __init__(self, arr=[], prototype=None): + self.extensible = True + self.prototype = prototype + self.own = {'length' : {'value': Js(0), 'writable': True, + 'enumerable': False, 'configurable': False}} + + for i, e in enumerate(arr): + self.define_own_property(str(i), {'value': Js(e), 'writable': True, + 'enumerable': True, 'configurable': True}) + def define_own_property(self, prop, desc): + old_len_desc = self.get_own_property('length') + old_len = old_len_desc['value'].value # value is js type so convert to py. + if prop=='length': + if 'value' not in desc: + return PyJs.define_own_property(self, prop, desc) + new_len = desc['value'].to_uint32() + if new_len!=desc['value'].to_number().value: + raise MakeError('RangeError', 'Invalid range!') + new_desc = dict((k,v) for k,v in six.iteritems(desc)) + new_desc['value'] = Js(new_len) + if new_len>=old_len: + return PyJs.define_own_property(self, prop, new_desc) + if not old_len_desc['writable']: + return False + if 'writable' not in new_desc or new_desc['writable']==True: + new_writable = True + else: + new_writable = False + new_desc['writable'] = True + if not PyJs.define_own_property(self, prop, new_desc): + return False + if new_len30*len(self.own): + for ele in self.own.keys(): + if ele.isdigit() and int(ele)>=new_len: + if not self.delete(ele): # if failed to delete set len to current len and reject. + new_desc['value'] = Js(old_len+1) + if not new_writable: + new_desc['writable'] = False + PyJs.define_own_property(self, prop, new_desc) + return False + old_len = new_len + else: # standard method + while new_len=old_len and not old_len_desc['writable']: + return False + if not PyJs.define_own_property(self, prop, desc): + return False + if index>=old_len: + old_len_desc['value'] = Js(index + 1) + return True + else: + return PyJs.define_own_property(self, prop, desc) + + def to_list(self): + return [self.get(str(e)) for e in xrange(self.get('length').to_uint32())] + + def __repr__(self): + return repr(self.to_python().to_list()) + +class PyJsUint32Array(PyJs): + Class = 'Uint32Array' + def __init__(self, arr=[], prototype=None): + self.extensible = True + self.prototype = prototype + self.own = {'length' : {'value': Js(0), 'writable': True, + 'enumerable': False, 'configurable': False}} + + for i, e in enumerate(arr): + self.define_own_property(str(i), {'value': Js(e), 'writable': True, + 'enumerable': True, 'configurable': True}) + def define_own_property(self, prop, desc): + old_len_desc = self.get_own_property('length') + old_len = old_len_desc['value'].value # value is js type so convert to py. + if prop=='length': + if 'value' not in desc: + return PyJs.define_own_property(self, prop, desc) + new_len = desc['value'].to_uint32() + if new_len!=desc['value'].to_number().value: + raise MakeError('RangeError', 'Invalid range!') + new_desc = dict((k,v) for k,v in six.iteritems(desc)) + new_desc['value'] = Js(new_len) + if new_len>=old_len: + return PyJs.define_own_property(self, prop, new_desc) + if not old_len_desc['writable']: + return False + if 'writable' not in new_desc or new_desc['writable']==True: + new_writable = True + else: + new_writable = False + new_desc['writable'] = True + if not PyJs.define_own_property(self, prop, new_desc): + return False + if new_len30*len(self.own): + for ele in self.own.keys(): + if ele.isdigit() and int(ele)>=new_len: + if not self.delete(ele): # if failed to delete set len to current len and reject. + new_desc['value'] = Js(old_len+1) + if not new_writable: + new_desc['writable'] = False + PyJs.define_own_property(self, prop, new_desc) + return False + old_len = new_len + else: # standard method + while new_len=old_len and not old_len_desc['writable']: + return False + if not PyJs.define_own_property(self, prop, desc): + return False + if index>=old_len: + old_len_desc['value'] = Js(index + 1) + return True + else: + return PyJs.define_own_property(self, prop, desc) + + def to_list(self): + return [self.get(str(e)) for e in xrange(self.get('length').to_uint32())] + + def __repr__(self): + return repr(self.to_python().to_list()) + +class PyJsFloat32Array(PyJs): + Class = 'Float32Array' + def __init__(self, arr=[], prototype=None): + self.extensible = True + self.prototype = prototype + self.own = {'length' : {'value': Js(0), 'writable': True, + 'enumerable': False, 'configurable': False}} + + for i, e in enumerate(arr): + self.define_own_property(str(i), {'value': Js(e), 'writable': True, + 'enumerable': True, 'configurable': True}) + def define_own_property(self, prop, desc): + old_len_desc = self.get_own_property('length') + old_len = old_len_desc['value'].value # value is js type so convert to py. + if prop=='length': + if 'value' not in desc: + return PyJs.define_own_property(self, prop, desc) + new_len = desc['value'].to_uint32() + if new_len!=desc['value'].to_number().value: + raise MakeError('RangeError', 'Invalid range!') + new_desc = dict((k,v) for k,v in six.iteritems(desc)) + new_desc['value'] = Js(new_len) + if new_len>=old_len: + return PyJs.define_own_property(self, prop, new_desc) + if not old_len_desc['writable']: + return False + if 'writable' not in new_desc or new_desc['writable']==True: + new_writable = True + else: + new_writable = False + new_desc['writable'] = True + if not PyJs.define_own_property(self, prop, new_desc): + return False + if new_len30*len(self.own): + for ele in self.own.keys(): + if ele.isdigit() and int(ele)>=new_len: + if not self.delete(ele): # if failed to delete set len to current len and reject. + new_desc['value'] = Js(old_len+1) + if not new_writable: + new_desc['writable'] = False + PyJs.define_own_property(self, prop, new_desc) + return False + old_len = new_len + else: # standard method + while new_len=old_len and not old_len_desc['writable']: + return False + if not PyJs.define_own_property(self, prop, desc): + return False + if index>=old_len: + old_len_desc['value'] = Js(index + 1) + return True + else: + return PyJs.define_own_property(self, prop, desc) + + def to_list(self): + return [self.get(str(e)) for e in xrange(self.get('length').to_uint32())] + + def __repr__(self): + return repr(self.to_python().to_list()) + +class PyJsFloat64Array(PyJs): + Class = 'Float64Array' + def __init__(self, arr=[], prototype=None): + self.extensible = True + self.prototype = prototype + self.own = {'length' : {'value': Js(0), 'writable': True, + 'enumerable': False, 'configurable': False}} + + for i, e in enumerate(arr): + self.define_own_property(str(i), {'value': Js(e), 'writable': True, + 'enumerable': True, 'configurable': True}) + def define_own_property(self, prop, desc): + old_len_desc = self.get_own_property('length') + old_len = old_len_desc['value'].value # value is js type so convert to py. + if prop=='length': + if 'value' not in desc: + return PyJs.define_own_property(self, prop, desc) + new_len = desc['value'].to_uint32() + if new_len!=desc['value'].to_number().value: + raise MakeError('RangeError', 'Invalid range!') + new_desc = dict((k,v) for k,v in six.iteritems(desc)) + new_desc['value'] = Js(new_len) + if new_len>=old_len: + return PyJs.define_own_property(self, prop, new_desc) + if not old_len_desc['writable']: + return False + if 'writable' not in new_desc or new_desc['writable']==True: + new_writable = True + else: + new_writable = False + new_desc['writable'] = True + if not PyJs.define_own_property(self, prop, new_desc): + return False + if new_len30*len(self.own): + for ele in self.own.keys(): + if ele.isdigit() and int(ele)>=new_len: + if not self.delete(ele): # if failed to delete set len to current len and reject. + new_desc['value'] = Js(old_len+1) + if not new_writable: + new_desc['writable'] = False + PyJs.define_own_property(self, prop, new_desc) + return False + old_len = new_len + else: # standard method + while new_len=old_len and not old_len_desc['writable']: + return False + if not PyJs.define_own_property(self, prop, desc): + return False + if index>=old_len: + old_len_desc['value'] = Js(index + 1) + return True + else: + return PyJs.define_own_property(self, prop, desc) + + def to_list(self): + return [self.get(str(e)) for e in xrange(self.get('length').to_uint32())] + + def __repr__(self): + return repr(self.to_python().to_list()) + +ArrayPrototype = PyJsArray([], ObjectPrototype) + +ArrayBufferPrototype = PyJsArrayBuffer([], ObjectPrototype) + +Int8ArrayPrototype = PyJsInt8Array([], ObjectPrototype) + +Uint8ArrayPrototype = PyJsUint8Array([], ObjectPrototype) + +Uint8ClampedArrayPrototype = PyJsUint8ClampedArray([], ObjectPrototype) + +Int16ArrayPrototype = PyJsInt16Array([], ObjectPrototype) + +Uint16ArrayPrototype = PyJsUint16Array([], ObjectPrototype) + +Int32ArrayPrototype = PyJsInt32Array([], ObjectPrototype) + +Uint32ArrayPrototype = PyJsUint32Array([], ObjectPrototype) + +Float32ArrayPrototype = PyJsFloat32Array([], ObjectPrototype) + +Float64ArrayPrototype = PyJsFloat64Array([], ObjectPrototype) + +class PyJsArguments(PyJs): + Class = 'Arguments' + def __init__(self, args, callee): + self.own = {} + self.extensible = True + self.prototype = ObjectPrototype + self.define_own_property('length', {'value': Js(len(args)), 'writable': True, + 'enumerable': False, 'configurable': True}) + self.define_own_property('callee', {'value': callee, 'writable': True, + 'enumerable': False, 'configurable': True}) + for i, e in enumerate(args): + self.put(str(i), Js(e)) + + def to_list(self): + return [self.get(str(e)) for e in xrange(self.get('length').to_uint32())] + + +#We can define function proto after number proto because func uses number in its init +FunctionPrototype = PyJsFunction(Empty, ObjectPrototype) +FunctionPrototype.own['name']['value'] = Js('') + + +# I will not rewrite RegExp engine from scratch. I will use re because its much faster. +# I have to only make sure that I am handling all the differences correctly. +REGEXP_DB = {} + +class PyJsRegExp(PyJs): + Class = 'RegExp' + extensible = True + + def __init__(self, regexp, prototype=None): + + self.prototype = prototype + self.glob = False + self.ignore_case = 0 + self.multiline = 0 + # self._cache = {'str':'NoStringEmpty23093', + # 'iterator': None, + # 'lastpos': -1, + # 'matches': {}} + flags = '' + if not regexp[-1]=='/': + #contains some flags (allowed are i, g, m + spl = regexp.rfind('/') + flags = set(regexp[spl+1:]) + self.value = regexp[1:spl] + if 'g' in flags: + self.glob = True + if 'i' in flags: + self.ignore_case = re.IGNORECASE + if 'm' in flags: + self.multiline = re.MULTILINE + else: + self.value = regexp[1:-1] + + try: + if self.value in REGEXP_DB: + self.pat = REGEXP_DB[regexp] + else: + comp = 'None' + # we have to check whether pattern is valid. + # also this will speed up matching later + # todo critical fix patter conversion etc. ..!!!!! + # ugly hacks porting js reg exp to py reg exp works in 99% of cases ;) + possible_fixes = [ + (u'[]', u'[\0]'), + (u'[^]', u'[^\0]'), + (u'nofix1791', u'nofix1791') + ] + reg = self.value + for fix, rep in possible_fixes: + comp = REGEXP_CONVERTER._interpret_regexp(reg, flags) + #print 'reg -> comp', reg, '->', comp + try: + self.pat = re.compile(comp, self.ignore_case | self.multiline) + #print reg, '->', comp + break + except: + reg = reg.replace(fix, rep) + # print 'Fix', fix, '->', rep, '=', reg + else: + raise + REGEXP_DB[regexp] = self.pat + except: + #print 'Invalid pattern but fuck it', self.value, comp + raise MakeError('SyntaxError', 'Invalid RegExp pattern: %s -> %s'% (repr(self.value), repr(comp))) + # now set own properties: + self.own = {'source' : {'value': Js(self.value), 'enumerable': False, 'writable': False, 'configurable': False}, + 'global' : {'value': Js(self.glob), 'enumerable': False, 'writable': False, 'configurable': False}, + 'ignoreCase' : {'value': Js(bool(self.ignore_case)), 'enumerable': False, 'writable': False, 'configurable': False}, + 'multiline' : {'value': Js(bool(self.multiline)), 'enumerable': False, 'writable': False, 'configurable': False}, + 'lastIndex' : {'value': Js(0), 'enumerable': False, 'writable': True, 'configurable': False}} + + def match(self, string, pos): + '''string is of course py string''' + return self.pat.match(string, pos) # way easier :) + # assert 0<=pos <= len(string) + # if not pos: + # return re.match(self.pat, string) + # else: + # if self._cache['str']==string: + # if pos>self._cache['lastpos']: + # for m in self._cache['iterator']: + # start = m.start() + # self._cache['lastpos'] = start + # self._cache['matches'][start] = m + # if start==pos: + # return m + # elif start>pos: + # return None + # self._cache['lastpos'] = len(string) + # return None + # else: + # return self._cache['matches'].get(pos) + # else: + # self._cache['str'] = string + # self._cache['matches'] = {} + # self._cache['lastpos'] = -1 + # self._cache['iterator'] = re.finditer(self.pat, string) + # return self.match(string, pos) + + + +def JsRegExp(source): + # Takes regexp literal! + return PyJsRegExp(source, RegExpPrototype) + +RegExpPrototype = PyJsRegExp('/(?:)/', ObjectPrototype) + +####Exceptions: +default_attrs = {'writable':True, 'enumerable':False, 'configurable':True} + + +def fill_in_props(obj, props, default_desc): + for prop, value in props.items(): + default_desc['value'] = Js(value) + obj.define_own_property(prop, default_desc) + + + +class PyJsError(PyJs): + Class = 'Error' + extensible = True + def __init__(self, message=None, prototype=None): + self.prototype = prototype + self.own = {} + if message is not None: + self.put('message', Js(message).to_string()) + self.own['message']['enumerable'] = False + +ErrorPrototype = PyJsError(Js(''), ObjectPrototype) +@Js +def Error(message): + return PyJsError(None if message.is_undefined() else message, ErrorPrototype) +Error.create = Error +err = {'name': 'Error', + 'constructor': Error} +fill_in_props(ErrorPrototype, err, default_attrs) +Error.define_own_property('prototype', {'value': ErrorPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +def define_error_type(name): + TypeErrorPrototype = PyJsError(None, ErrorPrototype) + @Js + def TypeError(message): + return PyJsError(None if message.is_undefined() else message, TypeErrorPrototype) + err = {'name': name, + 'constructor': TypeError} + fill_in_props(TypeErrorPrototype, err, default_attrs) + TypeError.define_own_property('prototype', {'value': TypeErrorPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + ERRORS[name] = TypeError + +ERRORS = {'Error': Error} +ERROR_NAMES = ['Eval', 'Type', 'Range', 'Reference', 'Syntax', 'URI'] + +for e in ERROR_NAMES: + define_error_type(e+'Error') + + +############################################################################## +# Import and fill prototypes here. + +#this works only for data properties +def fill_prototype(prototype, Class, attrs, constructor=False): + for i in dir(Class): + e = getattr(Class, i) + if six.PY2: + if hasattr(e, '__func__'): + temp = PyJsFunction(e.__func__, FunctionPrototype) + attrs = dict((k,v) for k,v in attrs.iteritems()) + attrs['value'] = temp + prototype.define_own_property(i, attrs) + else: + if hasattr(e, '__call__') and not i.startswith('__'): + temp = PyJsFunction(e, FunctionPrototype) + attrs = dict((k,v) for k,v in attrs.items()) + attrs['value'] = temp + prototype.define_own_property(i, attrs) + if constructor: + attrs['value'] = constructor + prototype.define_own_property('constructor', attrs) + + + +PyJs.undefined = undefined +PyJs.Js = staticmethod(Js) + +from .prototypes import jsfunction, jsobject, jsnumber, jsstring, jsboolean, jsarray, jsregexp, jserror, jsarraybuffer, jstypedarray + + +#Object proto +fill_prototype(ObjectPrototype, jsobject.ObjectPrototype, default_attrs) +#Define __proto__ accessor (this cant be done by fill_prototype since) +@Js +def __proto__(): + return this.prototype if this.prototype is not None else null +getter = __proto__ +@Js +def __proto__(val): + if val.is_object(): + this.prototype = val +setter = __proto__ +ObjectPrototype.define_own_property('__proto__', {'set': setter, + 'get': getter, + 'enumerable': False, + 'configurable':True}) + +#Function proto +fill_prototype(FunctionPrototype, jsfunction.FunctionPrototype, default_attrs) +#Number proto +fill_prototype(NumberPrototype, jsnumber.NumberPrototype, default_attrs) +#String proto +fill_prototype(StringPrototype, jsstring.StringPrototype, default_attrs) +#Boolean proto +fill_prototype(BooleanPrototype, jsboolean.BooleanPrototype, default_attrs) +#Array proto +fill_prototype(ArrayPrototype, jsarray.ArrayPrototype, default_attrs) +# ArrayBuffer proto +fill_prototype(ArrayBufferPrototype, jsarraybuffer.ArrayBufferPrototype, default_attrs) +# Int8Array proto +fill_prototype(Int8ArrayPrototype, jstypedarray.TypedArrayPrototype, default_attrs) +# Uint8Array proto +fill_prototype(Uint8ArrayPrototype, jstypedarray.TypedArrayPrototype, default_attrs) +# Uint8ClampedArray proto +fill_prototype(Uint8ClampedArrayPrototype, jstypedarray.TypedArrayPrototype, default_attrs) +# Int16Array proto +fill_prototype(Int16ArrayPrototype, jstypedarray.TypedArrayPrototype, default_attrs) +# Uint16Array proto +fill_prototype(Uint16ArrayPrototype, jstypedarray.TypedArrayPrototype, default_attrs) +# Int32Array proto +fill_prototype(Int32ArrayPrototype, jstypedarray.TypedArrayPrototype, default_attrs) +# Uint32Array proto +fill_prototype(Uint32ArrayPrototype, jstypedarray.TypedArrayPrototype, default_attrs) +# Float32Array proto +fill_prototype(Float32ArrayPrototype, jstypedarray.TypedArrayPrototype, default_attrs) +# Float64Array proto +fill_prototype(Float64ArrayPrototype, jstypedarray.TypedArrayPrototype, default_attrs) +#Error proto +fill_prototype(ErrorPrototype, jserror.ErrorPrototype, default_attrs) +#RegExp proto +fill_prototype(RegExpPrototype, jsregexp.RegExpPrototype, default_attrs) +# add exec to regexpfunction (cant add it automatically because of its name :( +RegExpPrototype.own['exec'] = RegExpPrototype.own['exec2'] +del RegExpPrototype.own['exec2'] + +######################################################################### +# Constructors + +# String +@Js +def String(st): + if not len(arguments): + return Js('') + return arguments[0].to_string() + +@Js +def string_constructor(): + temp = PyJsObject(prototype=StringPrototype) + temp.Class = 'String' + #temp.TYPE = 'String' + if not len(arguments): + temp.value = '' + else: + temp.value = arguments[0].to_string().value + for i, ch in enumerate(temp.value): # this will make things long... + temp.own[str(i)] = {'value': Js(ch), 'writable': False, + 'enumerable': True, 'configurable': True} + temp.own['length'] = {'value': Js(len(temp.value)), 'writable': False, + 'enumerable': False, 'configurable': False} + return temp + +String.create = string_constructor + +# RegExp +REG_EXP_FLAGS = ('g', 'i', 'm') +@Js +def RegExp(pattern, flags): + if pattern.Class=='RegExp': + if not flags.is_undefined(): + raise MakeError('TypeError', 'Cannot supply flags when constructing one RegExp from another') + # return unchanged + return pattern + #pattern is not a regexp + if pattern.is_undefined(): + pattern = '' + else: + pattern = pattern.to_string().value + # try: + # pattern = REGEXP_CONVERTER._unescape_string(pattern.to_string().value) + # except: + # raise MakeError('SyntaxError', 'Invalid regexp') + flags = flags.to_string().value if not flags.is_undefined() else '' + for flag in flags: + if flag not in REG_EXP_FLAGS: + raise MakeError('SyntaxError', 'Invalid flags supplied to RegExp constructor "%s"' % flag) + if len(set(flags))!=len(flags): + raise MakeError('SyntaxError', 'Invalid flags supplied to RegExp constructor "%s"' % flags) + pattern = '/%s/'%(pattern if pattern else '(?:)') + flags + return JsRegExp(pattern) + +RegExp.create = RegExp +PyJs.RegExp = RegExp + +# Number + +@Js +def Number(): + if len(arguments): + return arguments[0].to_number() + else: + return Js(0) + +@Js +def number_constructor(): + temp = PyJsObject(prototype=NumberPrototype) + temp.Class = 'Number' + #temp.TYPE = 'Number' + if len(arguments): + temp.value = arguments[0].to_number().value + else: + temp.value = 0 + return temp + +Number.create = number_constructor + +# Boolean + +@Js +def Boolean(value): + return value.to_boolean() +@Js +def boolean_constructor(value): + temp = PyJsObject(prototype=BooleanPrototype) + temp.Class = 'Boolean' + #temp.TYPE = 'Boolean' + temp.value = value.to_boolean().value + return temp + +Boolean.create = boolean_constructor + + +############################################################################## + +def appengine(code): + try: + return translator.translate_js(code.decode('utf-8')) + except: + return traceback.format_exc() + + + +builtins = ('true','false','null','undefined','Infinity', + 'NaN') + +scope = dict(zip(builtins, [eval(e) for e in builtins])) + +JS_BUILTINS = dict((k,v) for k,v in scope.items()) + + +# Fill in NUM_BANK +for e in xrange(-2**10,2**14): + NUM_BANK[e] = Js(e) + +if __name__=='__main__': + print(ObjectPrototype.get('toString').callprop('call')) + print(FunctionPrototype.own) + a= null-Js(49404) + x = a.put('ser', Js('der')) + print(Js(0) or Js('p') and Js(4.0000000000050000001)) + FunctionPrototype.put('Chuj', Js(409)) + for e in FunctionPrototype: + print('Obk', e.get('__proto__').get('__proto__').get('__proto__'), e) + import code + s = Js(4) + b = Js(6) + + s2 = Js(4) + o = ObjectPrototype + o.put('x', Js(100)) + var = Scope(scope) + e = code.InteractiveConsole(globals()) + #e.raw_input = interactor + e.interact() + + diff --git a/lib/js2py/constructors/__init__.py b/lib/js2py/constructors/__init__.py new file mode 100644 index 00000000..4bf95623 --- /dev/null +++ b/lib/js2py/constructors/__init__.py @@ -0,0 +1 @@ +__author__ = 'Piotr Dabkowski' \ No newline at end of file diff --git a/lib/js2py/constructors/jsarray.py b/lib/js2py/constructors/jsarray.py new file mode 100644 index 00000000..1d63ab2e --- /dev/null +++ b/lib/js2py/constructors/jsarray.py @@ -0,0 +1,38 @@ +from ..base import * + +@Js +def Array(): + if len(arguments)==0 or len(arguments)>1: + return arguments.to_list() + a = arguments[0] + if isinstance(a, PyJsNumber): + length = a.to_uint32() + if length!=a.value: + raise MakeError('RangeError', 'Invalid array length') + temp = Js([]) + temp.put('length', a) + return temp + return [a] + +Array.create = Array +Array.own['length']['value'] = Js(1) + +@Js +def isArray(arg): + return arg.Class=='Array' + + +Array.define_own_property('isArray', {'value': isArray, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +Array.define_own_property('prototype', {'value': ArrayPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +ArrayPrototype.define_own_property('constructor', {'value': Array, + 'enumerable': False, + 'writable': True, + 'configurable': True}) \ No newline at end of file diff --git a/lib/js2py/constructors/jsarraybuffer.py b/lib/js2py/constructors/jsarraybuffer.py new file mode 100644 index 00000000..51468c06 --- /dev/null +++ b/lib/js2py/constructors/jsarraybuffer.py @@ -0,0 +1,34 @@ +# this is based on jsarray.py + +# todo check everything :) + +from ..base import * +try: + import numpy +except: + pass + + +@Js +def ArrayBuffer(): + a = arguments[0] + if isinstance(a, PyJsNumber): + length = a.to_uint32() + if length!=a.value: + raise MakeError('RangeError', 'Invalid array length') + temp = Js(bytearray([0]*length)) + return temp + return Js(bytearray([0])) + +ArrayBuffer.create = ArrayBuffer +ArrayBuffer.own['length']['value'] = Js(None) + +ArrayBuffer.define_own_property('prototype', {'value': ArrayBufferPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +ArrayBufferPrototype.define_own_property('constructor', {'value': ArrayBuffer, + 'enumerable': False, + 'writable': False, + 'configurable': True}) diff --git a/lib/js2py/constructors/jsboolean.py b/lib/js2py/constructors/jsboolean.py new file mode 100644 index 00000000..8e28b04d --- /dev/null +++ b/lib/js2py/constructors/jsboolean.py @@ -0,0 +1,11 @@ +from ..base import * + +BooleanPrototype.define_own_property('constructor', {'value': Boolean, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +Boolean.define_own_property('prototype', {'value': BooleanPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) \ No newline at end of file diff --git a/lib/js2py/constructors/jsdate.py b/lib/js2py/constructors/jsdate.py new file mode 100644 index 00000000..84b61524 --- /dev/null +++ b/lib/js2py/constructors/jsdate.py @@ -0,0 +1,368 @@ +from ..base import * +from .time_helpers import * + +TZ_OFFSET = (time.altzone//3600) +ABS_OFFSET = abs(TZ_OFFSET) +TZ_NAME = time.tzname[1] +ISO_FORMAT = '%s-%s-%sT%s:%s:%s.%sZ' +@Js +def Date(year, month, date, hours, minutes, seconds, ms): + return now().to_string() + +Date.Class = 'Date' + +def now(): + return PyJsDate(int(time.time()*1000), prototype=DatePrototype) + + +@Js +def UTC(year, month, date, hours, minutes, seconds, ms): # todo complete this + args = arguments + y = args[0].to_number() + m = args[1].to_number() + l = len(args) + dt = args[2].to_number() if l>2 else Js(1) + h = args[3].to_number() if l>3 else Js(0) + mi = args[4].to_number() if l>4 else Js(0) + sec = args[5].to_number() if l>5 else Js(0) + mili = args[6].to_number() if l>6 else Js(0) + if not y.is_nan() and 0<=y.value<=99: + y = y + Js(1900) + t = TimeClip(MakeDate(MakeDay(y, m, dt), MakeTime(h, mi, sec, mili))) + return PyJsDate(t, prototype=DatePrototype) + +@Js +def parse(string): + return PyJsDate(TimeClip(parse_date(string.to_string().value)), prototype=DatePrototype) + + + +Date.define_own_property('now', {'value': Js(now), + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +Date.define_own_property('parse', {'value': parse, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +Date.define_own_property('UTC', {'value': UTC, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +class PyJsDate(PyJs): + Class = 'Date' + extensible = True + def __init__(self, value, prototype=None): + self.value = value + self.own = {} + self.prototype = prototype + + # todo fix this problematic datetime part + def to_local_dt(self): + return datetime.datetime.utcfromtimestamp(UTCToLocal(self.value)//1000) + + def to_utc_dt(self): + return datetime.datetime.utcfromtimestamp(self.value//1000) + + def local_strftime(self, pattern): + if self.value is NaN: + return 'Invalid Date' + try: + dt = self.to_local_dt() + except: + raise MakeError('TypeError', 'unsupported date range. Will fix in future versions') + try: + return dt.strftime(pattern) + except: + raise MakeError('TypeError', 'Could not generate date string from this date (limitations of python.datetime)') + + def utc_strftime(self, pattern): + if self.value is NaN: + return 'Invalid Date' + try: + dt = self.to_utc_dt() + except: + raise MakeError('TypeError', 'unsupported date range. Will fix in future versions') + try: + return dt.strftime(pattern) + except: + raise MakeError('TypeError', 'Could not generate date string from this date (limitations of python.datetime)') + + + + +def parse_date(py_string): # todo support all date string formats + try: + dt = datetime.datetime.strptime(py_string, "%Y-%m-%dT%H:%M:%S.%fZ") + return MakeDate(MakeDay(Js(dt.year), Js(dt.month-1), Js(dt.day)), MakeTime(Js(dt.hour), Js(dt.minute), Js(dt.second), Js(dt.microsecond//1000))) + except: + raise MakeError('TypeError', 'Could not parse date %s - unsupported date format. Currently only supported format is RFC3339 utc. Sorry!' % py_string) + + + +def date_constructor(*args): + if len(args)>=2: + return date_constructor2(*args) + elif len(args)==1: + return date_constructor1(args[0]) + else: + return date_constructor0() + + +def date_constructor0(): + return now() + + +def date_constructor1(value): + v = value.to_primitive() + if v._type()=='String': + v = parse_date(v.value) + else: + v = v.to_int() + return PyJsDate(TimeClip(v), prototype=DatePrototype) + + +def date_constructor2(*args): + y = args[0].to_number() + m = args[1].to_number() + l = len(args) + dt = args[2].to_number() if l>2 else Js(1) + h = args[3].to_number() if l>3 else Js(0) + mi = args[4].to_number() if l>4 else Js(0) + sec = args[5].to_number() if l>5 else Js(0) + mili = args[6].to_number() if l>6 else Js(0) + if not y.is_nan() and 0<=y.value<=99: + y = y + Js(1900) + t = TimeClip(LocalToUTC(MakeDate(MakeDay(y, m, dt), MakeTime(h, mi, sec, mili)))) + return PyJsDate(t, prototype=DatePrototype) + +Date.create = date_constructor + +DatePrototype = PyJsDate(float('nan'), prototype=ObjectPrototype) + +def check_date(obj): + if obj.Class!='Date': + raise MakeError('TypeError', 'this is not a Date object') + + +class DateProto: + def toString(): + check_date(this) + if this.value is NaN: + return 'Invalid Date' + offset = (UTCToLocal(this.value) - this.value)//msPerHour + return this.local_strftime('%a %b %d %Y %H:%M:%S GMT') + '%s00 (%s)' % (pad(offset, 2, True), GetTimeZoneName(this.value)) + + def toDateString(): + check_date(this) + return this.local_strftime('%d %B %Y') + + def toTimeString(): + check_date(this) + return this.local_strftime('%H:%M:%S') + + def toLocaleString(): + check_date(this) + return this.local_strftime('%d %B %Y %H:%M:%S') + + def toLocaleDateString(): + check_date(this) + return this.local_strftime('%d %B %Y') + + def toLocaleTimeString(): + check_date(this) + return this.local_strftime('%H:%M:%S') + + def valueOf(): + check_date(this) + return this.value + + def getTime(): + check_date(this) + return this.value + + def getFullYear(): + check_date(this) + if this.value is NaN: + return NaN + return YearFromTime(UTCToLocal(this.value)) + + def getUTCFullYear(): + check_date(this) + if this.value is NaN: + return NaN + return YearFromTime(this.value) + + def getMonth(): + check_date(this) + if this.value is NaN: + return NaN + return MonthFromTime(UTCToLocal(this.value)) + + def getDate(): + check_date(this) + if this.value is NaN: + return NaN + return DateFromTime(UTCToLocal(this.value)) + + def getUTCMonth(): + check_date(this) + if this.value is NaN: + return NaN + return MonthFromTime(this.value) + + def getUTCDate(): + check_date(this) + if this.value is NaN: + return NaN + return DateFromTime(this.value) + + def getDay(): + check_date(this) + if this.value is NaN: + return NaN + return WeekDay(UTCToLocal(this.value)) + + def getUTCDay(): + check_date(this) + if this.value is NaN: + return NaN + return WeekDay(this.value) + + def getHours(): + check_date(this) + if this.value is NaN: + return NaN + return HourFromTime(UTCToLocal(this.value)) + + def getUTCHours(): + check_date(this) + if this.value is NaN: + return NaN + return HourFromTime(this.value) + + def getMinutes(): + check_date(this) + if this.value is NaN: + return NaN + return MinFromTime(UTCToLocal(this.value)) + + def getUTCMinutes(): + check_date(this) + if this.value is NaN: + return NaN + return MinFromTime(this.value) + + def getSeconds(): + check_date(this) + if this.value is NaN: + return NaN + return SecFromTime(UTCToLocal(this.value)) + + def getUTCSeconds(): + check_date(this) + if this.value is NaN: + return NaN + return SecFromTime(this.value) + + def getMilliseconds(): + check_date(this) + if this.value is NaN: + return NaN + return msFromTime(UTCToLocal(this.value)) + + def getUTCMilliseconds(): + check_date(this) + if this.value is NaN: + return NaN + return msFromTime(this.value) + + def getTimezoneOffset(): + check_date(this) + if this.value is NaN: + return NaN + return (this.value - UTCToLocal(this.value))//60000 + + + def setTime(time): + check_date(this) + this.value = TimeClip(time.to_number().to_int()) + return this.value + + def setMilliseconds(ms): + check_date(this) + t = UTCToLocal(this.value) + tim = MakeTime(HourFromTime(t), MinFromTime(t), SecFromTime(t), ms.to_int()) + u = TimeClip(LocalToUTC(MakeDate(Day(t), tim))) + this.value = u + return u + + def setUTCMilliseconds(ms): + check_date(this) + t = this.value + tim = MakeTime(HourFromTime(t), MinFromTime(t), SecFromTime(t), ms.to_int()) + u = TimeClip(MakeDate(Day(t), tim)) + this.value = u + return u + + # todo Complete all setters! + + def toUTCString(): + check_date(this) + return this.utc_strftime('%d %B %Y %H:%M:%S') + + def toISOString(): + check_date(this) + t = this.value + year = YearFromTime(t) + month, day, hour, minute, second, milli = pad(MonthFromTime(t)+1), pad(DateFromTime(t)), pad(HourFromTime(t)), pad(MinFromTime(t)), pad(SecFromTime(t)), pad(msFromTime(t)) + return ISO_FORMAT % (unicode(year) if 0<=year<=9999 else pad(year, 6, True), month, day, hour, minute, second, milli) + + def toJSON(key): + o = this.to_object() + tv = o.to_primitive('Number') + if tv.Class=='Number' and not tv.is_finite(): + return this.null + toISO = o.get('toISOString') + if not toISO.is_callable(): + raise this.MakeError('TypeError', 'toISOString is not callable') + return toISO.call(o, ()) + + +def pad(num, n=2, sign=False): + '''returns n digit string representation of the num''' + s = unicode(abs(num)) + if len(s)=0: + return '+'+s + else: + return '-'+s + + + + + + + + + + +fill_prototype(DatePrototype, DateProto, default_attrs) + + + +Date.define_own_property('prototype', {'value': DatePrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +DatePrototype.define_own_property('constructor', {'value': Date, + 'enumerable': False, + 'writable': True, + 'configurable': True}) \ No newline at end of file diff --git a/lib/js2py/constructors/jsfloat32array.py b/lib/js2py/constructors/jsfloat32array.py new file mode 100644 index 00000000..95e2662e --- /dev/null +++ b/lib/js2py/constructors/jsfloat32array.py @@ -0,0 +1,69 @@ +# this is based on jsarray.py + +from ..base import * +try: + import numpy +except: + pass + + +@Js +def Float32Array(): + TypedArray = (PyJsInt8Array,PyJsUint8Array,PyJsUint8ClampedArray,PyJsInt16Array,PyJsUint16Array,PyJsInt32Array,PyJsUint32Array,PyJsFloat32Array,PyJsFloat64Array) + a = arguments[0] + if isinstance(a, PyJsNumber): # length + length = a.to_uint32() + if length!=a.value: + raise MakeError('RangeError', 'Invalid array length') + temp = Js(numpy.full(length, 0, dtype=numpy.float32)) + temp.put('length', a) + return temp + elif isinstance(a, PyJsString): # object (string) + temp = Js(numpy.array(list(a.value), dtype=numpy.float32)) + temp.put('length', Js(len(list(a.value)))) + return temp + elif isinstance(a, PyJsArray) or isinstance(a,TypedArray) or isinstance(a,PyJsArrayBuffer): # object (Array, TypedArray) + array = a.to_list() + array = [(int(item.value) if item.value != None else 0) for item in array] + temp = Js(numpy.array(array, dtype=numpy.float32)) + temp.put('length', Js(len(array))) + return temp + elif isinstance(a,PyObjectWrapper): # object (ArrayBuffer, etc) + if len(a.obj) % 4 != 0: + raise MakeError('RangeError', 'Byte length of Float32Array should be a multiple of 4') + if len(arguments) > 1: + offset = int(arguments[1].value) + if offset % 4 != 0: + raise MakeError('RangeError', 'Start offset of Float32Array should be a multiple of 4') + else: + offset = 0 + if len(arguments) > 2: + length = int(arguments[2].value) + else: + length = int((len(a.obj)-offset)/4) + array = numpy.frombuffer(a.obj, dtype=numpy.float32, count=length, offset=offset) + temp = Js(array) + temp.put('length', Js(length)) + temp.buff = array + return temp + temp = Js(numpy.full(0, 0, dtype=numpy.float32)) + temp.put('length', Js(0)) + return temp + +Float32Array.create = Float32Array +Float32Array.own['length']['value'] = Js(3) + +Float32Array.define_own_property('prototype', {'value': Float32ArrayPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +Float32ArrayPrototype.define_own_property('constructor', {'value': Float32Array, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +Float32ArrayPrototype.define_own_property('BYTES_PER_ELEMENT', {'value': Js(4), + 'enumerable': False, + 'writable': False, + 'configurable': False}) diff --git a/lib/js2py/constructors/jsfloat64array.py b/lib/js2py/constructors/jsfloat64array.py new file mode 100644 index 00000000..3e5a816a --- /dev/null +++ b/lib/js2py/constructors/jsfloat64array.py @@ -0,0 +1,69 @@ +# this is based on jsarray.py + +from ..base import * +try: + import numpy +except: + pass + + +@Js +def Float64Array(): + TypedArray = (PyJsInt8Array,PyJsUint8Array,PyJsUint8ClampedArray,PyJsInt16Array,PyJsUint16Array,PyJsInt32Array,PyJsUint32Array,PyJsFloat32Array,PyJsFloat64Array) + a = arguments[0] + if isinstance(a, PyJsNumber): # length + length = a.to_uint32() + if length!=a.value: + raise MakeError('RangeError', 'Invalid array length') + temp = Js(numpy.full(length, 0, dtype=numpy.float64)) + temp.put('length', a) + return temp + elif isinstance(a, PyJsString): # object (string) + temp = Js(numpy.array(list(a.value), dtype=numpy.float64)) + temp.put('length', Js(len(list(a.value)))) + return temp + elif isinstance(a, PyJsArray) or isinstance(a,TypedArray) or isinstance(a,PyJsArrayBuffer): # object (Array, TypedArray) + array = a.to_list() + array = [(int(item.value) if item.value != None else 0) for item in array] + temp = Js(numpy.array(array, dtype=numpy.float64)) + temp.put('length', Js(len(array))) + return temp + elif isinstance(a,PyObjectWrapper): # object (ArrayBuffer, etc) + if len(a.obj) % 8 != 0: + raise MakeError('RangeError', 'Byte length of Float64Array should be a multiple of 8') + if len(arguments) > 1: + offset = int(arguments[1].value) + if offset % 8 != 0: + raise MakeError('RangeError', 'Start offset of Float64Array should be a multiple of 8') + else: + offset = 0 + if len(arguments) > 2: + length = int(arguments[2].value) + else: + length = int((len(a.obj)-offset)/8) + array = numpy.frombuffer(a.obj, dtype=numpy.float64, count=length, offset=offset) + temp = Js(array) + temp.put('length', Js(length)) + temp.buff = array + return temp + temp = Js(numpy.full(0, 0, dtype=numpy.float64)) + temp.put('length', Js(0)) + return temp + +Float64Array.create = Float64Array +Float64Array.own['length']['value'] = Js(3) + +Float64Array.define_own_property('prototype', {'value': Float64ArrayPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +Float64ArrayPrototype.define_own_property('constructor', {'value': Float64Array, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +Float64ArrayPrototype.define_own_property('BYTES_PER_ELEMENT', {'value': Js(8), + 'enumerable': False, + 'writable': False, + 'configurable': False}) diff --git a/lib/js2py/constructors/jsfunction.py b/lib/js2py/constructors/jsfunction.py new file mode 100644 index 00000000..728674f8 --- /dev/null +++ b/lib/js2py/constructors/jsfunction.py @@ -0,0 +1,49 @@ +from ..base import * +try: + from ..translators.translator import translate_js +except: + pass + + +@Js +def Function(): + # convert arguments to python list of strings + a = [e.to_string().value for e in arguments.to_list()] + body = ';' + args = () + if len(a): + body = '%s;' % a[-1] + args = a[:-1] + # translate this function to js inline function + js_func = '(function (%s) {%s})' % (','.join(args), body) + # now translate js inline to python function + py_func = translate_js(js_func, '') + # add set func scope to global scope + # a but messy solution but works :) + globals()['var'] = PyJs.GlobalObject + # define py function and return it + temp = executor(py_func, globals()) + temp.source = '{%s}'%body + temp.func_name = 'anonymous' + return temp + +def executor(f, glob): + exec(f, globals()) + return globals()['PyJs_anonymous_0_'] + + +#new statement simply calls Function +Function.create = Function + +#set constructor property inside FunctionPrototype + +fill_in_props(FunctionPrototype, {'constructor':Function}, default_attrs) + +#attach prototype to Function constructor +Function.define_own_property('prototype', {'value': FunctionPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) +#Fix Function length (its 0 and should be 1) +Function.own['length']['value'] = Js(1) + diff --git a/lib/js2py/constructors/jsint16array.py b/lib/js2py/constructors/jsint16array.py new file mode 100644 index 00000000..8641690d --- /dev/null +++ b/lib/js2py/constructors/jsint16array.py @@ -0,0 +1,68 @@ +# this is based on jsarray.py + +from ..base import * +try: + import numpy +except: + pass + +@Js +def Int16Array(): + TypedArray = (PyJsInt8Array,PyJsUint8Array,PyJsUint8ClampedArray,PyJsInt16Array,PyJsUint16Array,PyJsInt32Array,PyJsUint32Array,PyJsFloat32Array,PyJsFloat64Array) + a = arguments[0] + if isinstance(a, PyJsNumber): # length + length = a.to_uint32() + if length!=a.value: + raise MakeError('RangeError', 'Invalid array length') + temp = Js(numpy.full(length, 0, dtype=numpy.int16)) + temp.put('length', a) + return temp + elif isinstance(a, PyJsString): # object (string) + temp = Js(numpy.array(list(a.value), dtype=numpy.int16)) + temp.put('length', Js(len(list(a.value)))) + return temp + elif isinstance(a, PyJsArray) or isinstance(a,TypedArray) or isinstance(a,PyJsArrayBuffer): # object (Array, TypedArray) + array = a.to_list() + array = [(int(item.value) if item.value != None else 0) for item in array] + temp = Js(numpy.array(array, dtype=numpy.int16)) + temp.put('length', Js(len(array))) + return temp + elif isinstance(a,PyObjectWrapper): # object (ArrayBuffer, etc) + if len(a.obj) % 2 != 0: + raise MakeError('RangeError', 'Byte length of Int16Array should be a multiple of 2') + if len(arguments) > 1: + offset = int(arguments[1].value) + if offset % 2 != 0: + raise MakeError('RangeError', 'Start offset of Int16Array should be a multiple of 2') + else: + offset = 0 + if len(arguments) > 2: + length = int(arguments[2].value) + else: + length = int((len(a.obj)-offset)/2) + array = numpy.frombuffer(a.obj, dtype=numpy.int16, count=length, offset=offset) + temp = Js(array) + temp.put('length', Js(length)) + temp.buff = array + return temp + temp = Js(numpy.full(0, 0, dtype=numpy.int16)) + temp.put('length', Js(0)) + return temp + +Int16Array.create = Int16Array +Int16Array.own['length']['value'] = Js(3) + +Int16Array.define_own_property('prototype', {'value': Int16ArrayPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +Int16ArrayPrototype.define_own_property('constructor', {'value': Int16Array, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +Int16ArrayPrototype.define_own_property('BYTES_PER_ELEMENT', {'value': Js(2), + 'enumerable': False, + 'writable': False, + 'configurable': False}) diff --git a/lib/js2py/constructors/jsint32array.py b/lib/js2py/constructors/jsint32array.py new file mode 100644 index 00000000..3f50ded1 --- /dev/null +++ b/lib/js2py/constructors/jsint32array.py @@ -0,0 +1,69 @@ +# this is based on jsarray.py + +from ..base import * +try: + import numpy +except: + pass + + +@Js +def Int32Array(): + TypedArray = (PyJsInt8Array,PyJsUint8Array,PyJsUint8ClampedArray,PyJsInt16Array,PyJsUint16Array,PyJsInt32Array,PyJsUint32Array,PyJsFloat32Array,PyJsFloat64Array) + a = arguments[0] + if isinstance(a, PyJsNumber): # length + length = a.to_uint32() + if length!=a.value: + raise MakeError('RangeError', 'Invalid array length') + temp = Js(numpy.full(length, 0, dtype=numpy.int32)) + temp.put('length', a) + return temp + elif isinstance(a, PyJsString): # object (string) + temp = Js(numpy.array(list(a.value), dtype=numpy.int32)) + temp.put('length', Js(len(list(a.value)))) + return temp + elif isinstance(a, PyJsArray) or isinstance(a,TypedArray) or isinstance(a,PyJsArrayBuffer): # object (Array, TypedArray) + array = a.to_list() + array = [(int(item.value) if item.value != None else 0) for item in array] + temp = Js(numpy.array(array, dtype=numpy.int32)) + temp.put('length', Js(len(array))) + return temp + elif isinstance(a,PyObjectWrapper): # object (ArrayBuffer, etc) + if len(a.obj) % 4 != 0: + raise MakeError('RangeError', 'Byte length of Int32Array should be a multiple of 4') + if len(arguments) > 1: + offset = int(arguments[1].value) + if offset % 4 != 0: + raise MakeError('RangeError', 'Start offset of Int32Array should be a multiple of 4') + else: + offset = 0 + if len(arguments) > 2: + length = int(arguments[2].value) + else: + length = int((len(a.obj)-offset)/4) + array = numpy.frombuffer(a.obj, dtype=numpy.int32, count=length, offset=offset) + temp = Js(array) + temp.put('length', Js(length)) + temp.buff = array + return temp + temp = Js(numpy.full(0, 0, dtype=numpy.int32)) + temp.put('length', Js(0)) + return temp + +Int32Array.create = Int32Array +Int32Array.own['length']['value'] = Js(3) + +Int32Array.define_own_property('prototype', {'value': Int32ArrayPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +Int32ArrayPrototype.define_own_property('constructor', {'value': Int32Array, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +Int32ArrayPrototype.define_own_property('BYTES_PER_ELEMENT', {'value': Js(4), + 'enumerable': False, + 'writable': False, + 'configurable': False}) diff --git a/lib/js2py/constructors/jsint8array.py b/lib/js2py/constructors/jsint8array.py new file mode 100644 index 00000000..68adc468 --- /dev/null +++ b/lib/js2py/constructors/jsint8array.py @@ -0,0 +1,64 @@ +# this is based on jsarray.py + +from ..base import * +try: + import numpy +except: + pass + +@Js +def Int8Array(): + TypedArray = (PyJsInt8Array,PyJsUint8Array,PyJsUint8ClampedArray,PyJsInt16Array,PyJsUint16Array,PyJsInt32Array,PyJsUint32Array,PyJsFloat32Array,PyJsFloat64Array) + a = arguments[0] + if isinstance(a, PyJsNumber): # length + length = a.to_uint32() + if length!=a.value: + raise MakeError('RangeError', 'Invalid array length') + temp = Js(numpy.full(length, 0, dtype=numpy.int8)) + temp.put('length', a) + return temp + elif isinstance(a, PyJsString): # object (string) + temp = Js(numpy.array(list(a.value), dtype=numpy.int8)) + temp.put('length', Js(len(list(a.value)))) + return temp + elif isinstance(a, PyJsArray) or isinstance(a,TypedArray) or isinstance(a,PyJsArrayBuffer): # object (Array, TypedArray) + array = a.to_list() + array = [(int(item.value) if item.value != None else 0) for item in array] + temp = Js(numpy.array(array, dtype=numpy.int8)) + temp.put('length', Js(len(array))) + return temp + elif isinstance(a,PyObjectWrapper): # object (ArrayBuffer, etc) + if len(arguments) > 1: + offset = int(arguments[1].value) + else: + offset = 0 + if len(arguments) > 2: + length = int(arguments[2].value) + else: + length = int(len(a.obj)-offset) + array = numpy.frombuffer(a.obj, dtype=numpy.int8, count=length, offset=offset) + temp = Js(array) + temp.put('length', Js(length)) + temp.buff = array + return temp + temp = Js(numpy.full(0, 0, dtype=numpy.int8)) + temp.put('length', Js(0)) + return temp + +Int8Array.create = Int8Array +Int8Array.own['length']['value'] = Js(3) + +Int8Array.define_own_property('prototype', {'value': Int8ArrayPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +Int8ArrayPrototype.define_own_property('constructor', {'value': Int8Array, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +Int8ArrayPrototype.define_own_property('BYTES_PER_ELEMENT', {'value': Js(1), + 'enumerable': False, + 'writable': False, + 'configurable': False}) diff --git a/lib/js2py/constructors/jsmath.py b/lib/js2py/constructors/jsmath.py new file mode 100644 index 00000000..d7f84652 --- /dev/null +++ b/lib/js2py/constructors/jsmath.py @@ -0,0 +1,151 @@ +from ..base import * +import math +import random + +Math = PyJsObject(prototype=ObjectPrototype) +Math.Class = 'Math' + +CONSTANTS = {'E': 2.7182818284590452354, + 'LN10': 2.302585092994046, + 'LN2': 0.6931471805599453, + 'LOG2E': 1.4426950408889634, + 'LOG10E': 0.4342944819032518, + 'PI': 3.1415926535897932, + 'SQRT1_2': 0.7071067811865476, + 'SQRT2': 1.4142135623730951} + +for constant, value in CONSTANTS.items(): + Math.define_own_property(constant, {'value': Js(value), + 'writable': False, + 'enumerable': False, + 'configurable': False}) + +class MathFunctions: + def abs(x): + a = x.to_number().value + if a!=a: # it must be a nan + return NaN + return abs(a) + + def acos(x): + a = x.to_number().value + if a!=a: # it must be a nan + return NaN + try: + return math.acos(a) + except: + return NaN + + def asin(x): + a = x.to_number().value + if a!=a: # it must be a nan + return NaN + try: + return math.asin(a) + except: + return NaN + + def atan(x): + a = x.to_number().value + if a!=a: # it must be a nan + return NaN + return math.atan(a) + + def atan2(y, x): + a = x.to_number().value + b = y.to_number().value + if a!=a or b!=b: # it must be a nan + return NaN + return math.atan2(b, a) + + def ceil(x): + a = x.to_number().value + if a!=a: # it must be a nan + return NaN + return math.ceil(a) + + def floor(x): + a = x.to_number().value + if a!=a: # it must be a nan + return NaN + return math.floor(a) + + def round(x): + a = x.to_number().value + if a!=a: # it must be a nan + return NaN + return round(a) + + def sin(x): + a = x.to_number().value + if a!=a: # it must be a nan + return NaN + return math.sin(a) + + def cos(x): + a = x.to_number().value + if a!=a: # it must be a nan + return NaN + return math.cos(a) + + def tan(x): + a = x.to_number().value + if a!=a: # it must be a nan + return NaN + return math.tan(a) + + def log(x): + a = x.to_number().value + if a!=a: # it must be a nan + return NaN + try: + return math.log(a) + except: + return NaN + + def exp(x): + a = x.to_number().value + if a!=a: # it must be a nan + return NaN + return math.exp(a) + + def pow(x, y): + a = x.to_number().value + b = y.to_number().value + if a!=a or b!=b: # it must be a nan + return NaN + try: + return a**b + except: + return NaN + + def sqrt(x): + a = x.to_number().value + if a!=a: # it must be a nan + return NaN + try: + return a**0.5 + except: + return NaN + + def min(): + if not len(arguments): + return -Infinity + lis = tuple(e.to_number().value for e in arguments.to_list()) + if any(e!=e for e in lis): # we dont want NaNs + return NaN + return min(*lis) + + def max(): + if not len(arguments): + return -Infinity + lis = tuple(e.to_number().value for e in arguments.to_list()) + if any(e!=e for e in lis): # we dont want NaNs + return NaN + return max(*lis) + + def random(): + return random.random() + + +fill_prototype(Math, MathFunctions, default_attrs) \ No newline at end of file diff --git a/lib/js2py/constructors/jsnumber.py b/lib/js2py/constructors/jsnumber.py new file mode 100644 index 00000000..71b8ddf5 --- /dev/null +++ b/lib/js2py/constructors/jsnumber.py @@ -0,0 +1,18 @@ +from ..base import * + + +CONSTS = {'prototype': NumberPrototype, + 'MAX_VALUE':1.7976931348623157e308, + 'MIN_VALUE': 5.0e-324, + 'NaN': NaN, + 'NEGATIVE_INFINITY': float('-inf'), + 'POSITIVE_INFINITY': float('inf')} + +fill_in_props(Number, CONSTS, {'enumerable': False, + 'writable': False, + 'configurable': False}) + +NumberPrototype.define_own_property('constructor', {'value': Number, + 'enumerable': False, + 'writable': True, + 'configurable': True}) \ No newline at end of file diff --git a/lib/js2py/constructors/jsobject.py b/lib/js2py/constructors/jsobject.py new file mode 100644 index 00000000..5169fe1a --- /dev/null +++ b/lib/js2py/constructors/jsobject.py @@ -0,0 +1,172 @@ +from ..base import * +import six + +#todo Double check everything is OK + +@Js +def Object(): + val = arguments.get('0') + if val.is_null() or val.is_undefined(): + return PyJsObject(prototype=ObjectPrototype) + return val.to_object() + + +@Js +def object_constructor(): + if len(arguments): + val = arguments.get('0') + if val.TYPE=='Object': + #Implementation dependent, but my will simply return :) + return val + elif val.TYPE in ('Number', 'String', 'Boolean'): + return val.to_object() + return PyJsObject(prototype=ObjectPrototype) + +Object.create = object_constructor +Object.own['length']['value'] = Js(1) + + +class ObjectMethods: + def getPrototypeOf(obj): + if not obj.is_object(): + raise MakeError('TypeError', 'Object.getPrototypeOf called on non-object') + return null if obj.prototype is None else obj.prototype + + def getOwnPropertyDescriptor (obj, prop): + if not obj.is_object(): + raise MakeError('TypeError', 'Object.getOwnPropertyDescriptor called on non-object') + return obj.own.get(prop.to_string().value) # will return undefined if we dont have this prop + + def getOwnPropertyNames(obj): + if not obj.is_object(): + raise MakeError('TypeError', 'Object.getOwnPropertyDescriptor called on non-object') + return obj.own.keys() + + def create(obj): + if not (obj.is_object() or obj.is_null()): + raise MakeError('TypeError', 'Object prototype may only be an Object or null') + temp = PyJsObject(prototype=(None if obj.is_null() else obj)) + if len(arguments)>1 and not arguments[1].is_undefined(): + if six.PY2: + ObjectMethods.defineProperties.__func__(temp, arguments[1]) + else: + ObjectMethods.defineProperties(temp, arguments[1]) + return temp + + def defineProperty(obj, prop, attrs): + if not obj.is_object(): + raise MakeError('TypeError', 'Object.defineProperty called on non-object') + name = prop.to_string().value + if not obj.define_own_property(name, ToPropertyDescriptor(attrs)): + raise MakeError('TypeError', 'Cannot redefine property: %s' % name) + return obj + + def defineProperties(obj, properties): + if not obj.is_object(): + raise MakeError('TypeError', 'Object.defineProperties called on non-object') + props = properties.to_object() + for name in props: + desc = ToPropertyDescriptor(props.get(name.value)) + if not obj.define_own_property(name.value, desc): + raise MakeError('TypeError', 'Failed to define own property: %s'%name.value) + return obj + + def seal(obj): + if not obj.is_object(): + raise MakeError('TypeError', 'Object.seal called on non-object') + for desc in obj.own.values(): + desc['configurable'] = False + obj.extensible = False + return obj + + def freeze(obj): + if not obj.is_object(): + raise MakeError('TypeError', 'Object.freeze called on non-object') + for desc in obj.own.values(): + desc['configurable'] = False + if is_data_descriptor(desc): + desc['writable'] = False + obj.extensible = False + return obj + + def preventExtensions(obj): + if not obj.is_object(): + raise MakeError('TypeError', 'Object.preventExtensions on non-object') + obj.extensible = False + return obj + + def isSealed(obj): + if not obj.is_object(): + raise MakeError('TypeError', 'Object.isSealed called on non-object') + if obj.extensible: + return False + for desc in obj.own.values(): + if desc['configurable']: + return False + return True + + def isFrozen(obj): + if not obj.is_object(): + raise MakeError('TypeError', 'Object.isFrozen called on non-object') + if obj.extensible: + return False + for desc in obj.own.values(): + if desc['configurable']: + return False + if is_data_descriptor(desc) and desc['writable']: + return False + return True + + def isExtensible(obj): + if not obj.is_object(): + raise MakeError('TypeError', 'Object.isExtensible called on non-object') + return obj.extensible + + def keys(obj): + if not obj.is_object(): + raise MakeError('TypeError', 'Object.keys called on non-object') + return [e for e,d in six.iteritems(obj.own) if d.get('enumerable')] + + +# add methods attached to Object constructor +fill_prototype(Object, ObjectMethods, default_attrs) +# add constructor to prototype +fill_in_props(ObjectPrototype, {'constructor':Object}, default_attrs) +# add prototype property to the constructor. +Object.define_own_property('prototype', {'value': ObjectPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + + + +# some utility functions: + +def ToPropertyDescriptor(obj): # page 38 (50 absolute) + if obj.TYPE!='Object': + raise MakeError('TypeError', 'Can\'t convert non-object to property descriptor') + desc = {} + if obj.has_property('enumerable'): + desc['enumerable'] = obj.get('enumerable').to_boolean().value + if obj.has_property('configurable'): + desc['configurable'] = obj.get('configurable').to_boolean().value + if obj.has_property('value'): + desc['value'] = obj.get('value') + if obj.has_property('writable'): + desc['writable'] = obj.get('writable').to_boolean().value + if obj.has_property('get'): + cand = obj.get('get') + if not (cand.is_undefined() or cand.is_callable()): + raise MakeError('TypeError', 'Invalid getter (it has to be a function or undefined)') + desc['get'] = cand + if obj.has_property('set'): + cand = obj.get('set') + if not (cand.is_undefined() or cand.is_callable()): + raise MakeError('TypeError', 'Invalid setter (it has to be a function or undefined)') + desc['set'] = cand + if ('get' in desc or 'set' in desc) and ('value' in desc or 'writable' in desc): + raise MakeError('TypeError', 'Invalid property. A property cannot both have accessors and be writable or have a value.') + return desc + + + diff --git a/lib/js2py/constructors/jsregexp.py b/lib/js2py/constructors/jsregexp.py new file mode 100644 index 00000000..ecb82181 --- /dev/null +++ b/lib/js2py/constructors/jsregexp.py @@ -0,0 +1,11 @@ +from ..base import * + +RegExpPrototype.define_own_property('constructor', {'value': RegExp, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +RegExp.define_own_property('prototype', {'value': RegExpPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) \ No newline at end of file diff --git a/lib/js2py/constructors/jsstring.py b/lib/js2py/constructors/jsstring.py new file mode 100644 index 00000000..6d3cf420 --- /dev/null +++ b/lib/js2py/constructors/jsstring.py @@ -0,0 +1,30 @@ +from ..base import * +# python 3 support +import six +if six.PY3: + unichr = chr + +@Js +def fromCharCode(): + args = arguments.to_list() + res = u'' + for e in args: + res +=unichr(e.to_uint16()) + return this.Js(res) + +fromCharCode.own['length']['value'] = Js(1) + +String.define_own_property('fromCharCode', {'value': fromCharCode, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +String.define_own_property('prototype', {'value': StringPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +StringPrototype.define_own_property('constructor', {'value': String, + 'enumerable': False, + 'writable': True, + 'configurable': True}) \ No newline at end of file diff --git a/lib/js2py/constructors/jsuint16array.py b/lib/js2py/constructors/jsuint16array.py new file mode 100644 index 00000000..efc4f67d --- /dev/null +++ b/lib/js2py/constructors/jsuint16array.py @@ -0,0 +1,68 @@ +# this is based on jsarray.py + +from ..base import * +try: + import numpy +except: + pass + +@Js +def Uint16Array(): + TypedArray = (PyJsInt8Array,PyJsUint8Array,PyJsUint8ClampedArray,PyJsInt16Array,PyJsUint16Array,PyJsInt32Array,PyJsUint32Array,PyJsFloat32Array,PyJsFloat64Array) + a = arguments[0] + if isinstance(a, PyJsNumber): # length + length = a.to_uint32() + if length!=a.value: + raise MakeError('RangeError', 'Invalid array length') + temp = Js(numpy.full(length, 0, dtype=numpy.uint16)) + temp.put('length', a) + return temp + elif isinstance(a, PyJsString): # object (string) + temp = Js(numpy.array(list(a.value), dtype=numpy.uint16)) + temp.put('length', Js(len(list(a.value)))) + return temp + elif isinstance(a, PyJsArray) or isinstance(a,TypedArray) or isinstance(a,PyJsArrayBuffer): # object (Array, TypedArray) + array = a.to_list() + array = [(int(item.value) if item.value != None else 0) for item in array] + temp = Js(numpy.array(array, dtype=numpy.uint16)) + temp.put('length', Js(len(array))) + return temp + elif isinstance(a,PyObjectWrapper): # object (ArrayBuffer, etc) + if len(a.obj) % 2 != 0: + raise MakeError('RangeError', 'Byte length of Uint16Array should be a multiple of 2') + if len(arguments) > 1: + offset = int(arguments[1].value) + if offset % 2 != 0: + raise MakeError('RangeError', 'Start offset of Uint16Array should be a multiple of 2') + else: + offset = 0 + if len(arguments) > 2: + length = int(arguments[2].value) + else: + length = int((len(a.obj)-offset)/2) + array = numpy.frombuffer(a.obj, dtype=numpy.uint16, count=length, offset=offset) + temp = Js(array) + temp.put('length', Js(length)) + temp.buff = array + return temp + temp = Js(numpy.full(0, 0, dtype=numpy.uint16)) + temp.put('length', Js(0)) + return temp + +Uint16Array.create = Uint16Array +Uint16Array.own['length']['value'] = Js(3) + +Uint16Array.define_own_property('prototype', {'value': Uint16ArrayPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +Uint16ArrayPrototype.define_own_property('constructor', {'value': Uint16Array, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +Uint16ArrayPrototype.define_own_property('BYTES_PER_ELEMENT', {'value': Js(2), + 'enumerable': False, + 'writable': False, + 'configurable': False}) diff --git a/lib/js2py/constructors/jsuint32array.py b/lib/js2py/constructors/jsuint32array.py new file mode 100644 index 00000000..b9f402cf --- /dev/null +++ b/lib/js2py/constructors/jsuint32array.py @@ -0,0 +1,74 @@ +# this is based on jsarray.py + +from ..base import * +try: + import numpy +except: + pass + +@Js +def Uint32Array(): + TypedArray = (PyJsInt8Array,PyJsUint8Array,PyJsUint8ClampedArray,PyJsInt16Array,PyJsUint16Array,PyJsInt32Array,PyJsUint32Array,PyJsFloat32Array,PyJsFloat64Array) + a = arguments[0] + if isinstance(a, PyJsNumber): # length + length = a.to_uint32() + if length!=a.value: + raise MakeError('RangeError', 'Invalid array length') + temp = Js(numpy.full(length, 0, dtype=numpy.uint32)) + temp.put('length', a) + return temp + elif isinstance(a, PyJsString): # object (string) + temp = Js(numpy.array(list(a.value), dtype=numpy.uint32)) + temp.put('length', Js(len(list(a.value)))) + return temp + elif isinstance(a, PyJsArray) or isinstance(a,TypedArray) or isinstance(a,PyJsArrayBuffer): # object (Array, TypedArray) + array = a.to_list() + array = [(int(item.value) if item.value != None else 0) for item in array] + if len(arguments) > 1: + offset = int(arguments[1].value) + else: + offset = 0 + if len(arguments) > 2: + length = int(arguments[2].value) + else: + length = len(array)-offset + temp = Js(numpy.array(array[offset:offset+length], dtype=numpy.uint32)) + temp.put('length', Js(length)) + return temp + elif isinstance(a,PyObjectWrapper): # object (ArrayBuffer, etc) + if len(a.obj) % 4 != 0: + raise MakeError('RangeError', 'Byte length of Uint32Array should be a multiple of 4') + if len(arguments) > 1: + offset = int(arguments[1].value) + if offset % 4 != 0: + raise MakeError('RangeError', 'Start offset of Uint32Array should be a multiple of 4') + else: + offset = 0 + if len(arguments) > 2: + length = int(arguments[2].value) + else: + length = int((len(a.obj)-offset)/4) + temp = Js(numpy.frombuffer(a.obj, dtype=numpy.uint32, count=length, offset=offset)) + temp.put('length', Js(length)) + return temp + temp = Js(numpy.full(0, 0, dtype=numpy.uint32)) + temp.put('length', Js(0)) + return temp + +Uint32Array.create = Uint32Array +Uint32Array.own['length']['value'] = Js(3) + +Uint32Array.define_own_property('prototype', {'value': Uint32ArrayPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +Uint32ArrayPrototype.define_own_property('constructor', {'value': Uint32Array, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +Uint32ArrayPrototype.define_own_property('BYTES_PER_ELEMENT', {'value': Js(4), + 'enumerable': False, + 'writable': False, + 'configurable': False}) diff --git a/lib/js2py/constructors/jsuint8array.py b/lib/js2py/constructors/jsuint8array.py new file mode 100644 index 00000000..a0f5df01 --- /dev/null +++ b/lib/js2py/constructors/jsuint8array.py @@ -0,0 +1,65 @@ +# this is based on jsarray.py + +from ..base import * +try: + import numpy +except: + pass + + +@Js +def Uint8Array(): + TypedArray = (PyJsInt8Array,PyJsUint8Array,PyJsUint8ClampedArray,PyJsInt16Array,PyJsUint16Array,PyJsInt32Array,PyJsUint32Array,PyJsFloat32Array,PyJsFloat64Array) + a = arguments[0] + if isinstance(a, PyJsNumber): # length + length = a.to_uint32() + if length!=a.value: + raise MakeError('RangeError', 'Invalid array length') + temp = Js(numpy.full(length, 0, dtype=numpy.uint8)) + temp.put('length', a) + return temp + elif isinstance(a, PyJsString): # object (string) + temp = Js(numpy.array(list(a.value), dtype=numpy.uint8)) + temp.put('length', Js(len(list(a.value)))) + return temp + elif isinstance(a, PyJsArray) or isinstance(a,TypedArray) or isinstance(a,PyJsArrayBuffer): # object (Array, TypedArray) + array = a.to_list() + array = [(int(item.value) if item.value != None else 0) for item in array] + temp = Js(numpy.array(array, dtype=numpy.uint8)) + temp.put('length', Js(len(array))) + return temp + elif isinstance(a,PyObjectWrapper): # object (ArrayBuffer, etc) + if len(arguments) > 1: + offset = int(arguments[1].value) + else: + offset = 0 + if len(arguments) > 2: + length = int(arguments[2].value) + else: + length = int(len(a.obj)-offset) + array = numpy.frombuffer(a.obj, dtype=numpy.uint8, count=length, offset=offset) + temp = Js(array) + temp.put('length', Js(length)) + temp.buff = array + return temp + temp = Js(numpy.full(0, 0, dtype=numpy.uint8)) + temp.put('length', Js(0)) + return temp + +Uint8Array.create = Uint8Array +Uint8Array.own['length']['value'] = Js(3) + +Uint8Array.define_own_property('prototype', {'value': Uint8ArrayPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +Uint8ArrayPrototype.define_own_property('constructor', {'value': Uint8Array, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +Uint8ArrayPrototype.define_own_property('BYTES_PER_ELEMENT', {'value': Js(1), + 'enumerable': False, + 'writable': False, + 'configurable': False}) diff --git a/lib/js2py/constructors/jsuint8clampedarray.py b/lib/js2py/constructors/jsuint8clampedarray.py new file mode 100644 index 00000000..973e38ef --- /dev/null +++ b/lib/js2py/constructors/jsuint8clampedarray.py @@ -0,0 +1,65 @@ +# this is based on jsarray.py + +from ..base import * +try: + import numpy +except: + pass + + +@Js +def Uint8ClampedArray(): + TypedArray = (PyJsInt8Array,PyJsUint8Array,PyJsUint8ClampedArray,PyJsInt16Array,PyJsUint16Array,PyJsInt32Array,PyJsUint32Array,PyJsFloat32Array,PyJsFloat64Array) + a = arguments[0] + if isinstance(a, PyJsNumber): # length + length = a.to_uint32() + if length!=a.value: + raise MakeError('RangeError', 'Invalid array length') + temp = Js(numpy.full(length, 0, dtype=numpy.uint8), Clamped=True) + temp.put('length', a) + return temp + elif isinstance(a, PyJsString): # object (string) + temp = Js(numpy.array(list(a.value), dtype=numpy.uint8), Clamped=True) + temp.put('length', Js(len(list(a.value)))) + return temp + elif isinstance(a, PyJsArray) or isinstance(a,TypedArray) or isinstance(a,PyJsArrayBuffer): # object (Array, TypedArray) + array = a.to_list() + array = [(int(item.value) if item.value != None else 0) for item in array] + temp = Js(numpy.array(array, dtype=numpy.uint8), Clamped=True) + temp.put('length', Js(len(array))) + return temp + elif isinstance(a,PyObjectWrapper): # object (ArrayBuffer, etc) + if len(arguments) > 1: + offset = int(arguments[1].value) + else: + offset = 0 + if len(arguments) > 2: + length = int(arguments[2].value) + else: + length = int(len(a.obj)-offset) + array = numpy.frombuffer(a.obj, dtype=numpy.uint8, count=length, offset=offset) + temp = Js(array, Clamped=True) + temp.put('length', Js(length)) + temp.buff = array + return temp + temp = Js(numpy.full(0, 0, dtype=numpy.uint8), Clamped=True) + temp.put('length', Js(0)) + return temp + +Uint8ClampedArray.create = Uint8ClampedArray +Uint8ClampedArray.own['length']['value'] = Js(3) + +Uint8ClampedArray.define_own_property('prototype', {'value': Uint8ClampedArrayPrototype, + 'enumerable': False, + 'writable': False, + 'configurable': False}) + +Uint8ClampedArrayPrototype.define_own_property('constructor', {'value': Uint8ClampedArray, + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +Uint8ClampedArrayPrototype.define_own_property('BYTES_PER_ELEMENT', {'value': Js(1), + 'enumerable': False, + 'writable': False, + 'configurable': False}) diff --git a/lib/js2py/constructors/time_helpers.py b/lib/js2py/constructors/time_helpers.py new file mode 100644 index 00000000..493ac726 --- /dev/null +++ b/lib/js2py/constructors/time_helpers.py @@ -0,0 +1,184 @@ +# NOTE: t must be INT!!! +import time +import datetime +import warnings + +try: + from tzlocal import get_localzone + LOCAL_ZONE = get_localzone() +except: # except all problems... + warnings.warn('Please install or fix tzlocal library (pip install tzlocal) in order to make Date object work better. Otherwise I will assume DST is in effect all the time') + class LOCAL_ZONE: + @staticmethod + def dst(*args): + return 1 + +from js2py.base import MakeError +CUM = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365) +msPerDay = 86400000 +msPerYear = int(86400000*365.242) +msPerSecond = 1000 +msPerMinute = 60000 +msPerHour = 3600000 +HoursPerDay = 24 +MinutesPerHour = 60 +SecondsPerMinute = 60 +NaN = float('nan') +LocalTZA = - time.timezone * msPerSecond + + + + + +def DaylightSavingTA(t): + if t is NaN: + return t + try: + return int(LOCAL_ZONE.dst(datetime.datetime.utcfromtimestamp(t//1000)).seconds)*1000 + except: + warnings.warn('Invalid datetime date, assumed DST time, may be inaccurate...', Warning) + return 1 + #raise MakeError('TypeError', 'date not supported by python.datetime. I will solve it in future versions') + +def GetTimeZoneName(t): + return time.tzname[DaylightSavingTA(t)>0] + +def LocalToUTC(t): + return t - LocalTZA - DaylightSavingTA(t - LocalTZA) + +def UTCToLocal(t): + return t + LocalTZA + DaylightSavingTA(t) + + +def Day(t): + return t//86400000 + + +def TimeWithinDay(t): + return t%86400000 + +def DaysInYear(y): + if y%4: + return 365 + elif y%100: + return 366 + elif y%400: + return 365 + else: + return 366 + + +def DayFromYear(y): + return 365 * (y-1970) + (y-1969)//4 -(y-1901)//100 + (y-1601)//400 + +def TimeFromYear(y): + return 86400000 * DayFromYear(y) + +def YearFromTime(t): + guess = 1970 - t//31556908800 # msPerYear + gt = TimeFromYear(guess) + if gt<=t: + while gt<=t: + guess += 1 + gt = TimeFromYear(guess) + return guess-1 + else: + while gt>t: + guess -= 1 + gt = TimeFromYear(guess) + return guess + + +def DayWithinYear(t): + return Day(t) - DayFromYear(YearFromTime(t)) + +def InLeapYear(t): + y = YearFromTime(t) + if y%4: + return 0 + elif y%100: + return 1 + elif y%400: + return 0 + else: + return 1 + +def MonthFromTime(t): + day = DayWithinYear(t) + leap = InLeapYear(t) + if day<31: + return 0 + day -= leap + if day<59: + return 1 + elif day<90: + return 2 + elif day<120: + return 3 + elif day<151: + return 4 + elif day<181: + return 5 + elif day<212: + return 6 + elif day<243: + return 7 + elif day<273: + return 8 + elif day<304: + return 9 + elif day<334: + return 10 + else: + return 11 + +def DateFromTime(t): + mon = MonthFromTime(t) + day = DayWithinYear(t) + return day-CUM[mon] - (1 if InLeapYear(t) and mon>=2 else 0) + 1 + +def WeekDay(t): + # 0 == sunday + return (Day(t) + 4) % 7 + +def msFromTime(t): + return t % 1000 + +def SecFromTime(t): + return (t//1000) % 60 + +def MinFromTime(t): + return (t//60000) % 60 + +def HourFromTime(t): + return (t//3600000) % 24 + +def MakeTime (hour, Min, sec, ms): + # takes PyJs objects and returns t + if not (hour.is_finite() and Min.is_finite() and sec.is_finite() and ms.is_finite()): + return NaN + h, m, s, milli = hour.to_int(), Min.to_int(), sec.to_int(), ms.to_int() + return h*3600000 + m*60000 + s*1000 + milli + + +def MakeDay(year, month, date): + # takes PyJs objects and returns t + if not (year.is_finite() and month.is_finite() and date.is_finite()): + return NaN + y, m, dt = year.to_int(), month.to_int(), date.to_int() + y += m//12 + mn = m % 12 + d = DayFromYear(y) + CUM[mn] + dt - 1 + (1 if DaysInYear(y)==366 and mn>=2 else 0) + return d # ms per day + +def MakeDate(day, time): + return 86400000*day + time + + +def TimeClip(t): + if t!=t or abs(t)==float('inf'): + return NaN + if abs(t) > 8.64 *10**15: + return NaN + return int(t) + diff --git a/lib/js2py/es6/__init__.py b/lib/js2py/es6/__init__.py new file mode 100644 index 00000000..45c4a5dc --- /dev/null +++ b/lib/js2py/es6/__init__.py @@ -0,0 +1,32 @@ +INITIALISED = False +babel = None +babelPresetEs2015 = None + +def js6_to_js5(code): + global INITIALISED, babel, babelPresetEs2015 + if not INITIALISED: + import signal, warnings, time + warnings.warn('\nImporting babel.py for the first time - this can take some time. \nPlease note that currently Javascript 6 in Js2Py is unstable and slow. Use only for tiny scripts!') + + from .babel import babel as _babel + babel = _babel.Object.babel + babelPresetEs2015 = _babel.Object.babelPresetEs2015 + + # very weird hack. Somehow this helps babel to initialise properly! + try: + babel.transform('warmup', {'presets': {}}) + signal.alarm(2) + def kill_it(a,b): raise KeyboardInterrupt('Better work next time!') + signal.signal(signal.SIGALRM, kill_it) + babel.transform('stuckInALoop', {'presets': babelPresetEs2015}).code + for n in range(3): + time.sleep(1) + except: + print("Initialised babel!") + INITIALISED = True + return babel.transform(code, {'presets': babelPresetEs2015}).code + +if __name__=='__main__': + print(js6_to_js5('obj={}; obj.x = function() {return () => this}')) + print() + print(js6_to_js5('const a = 1;')) \ No newline at end of file diff --git a/lib/js2py/es6/babel.js b/lib/js2py/es6/babel.js new file mode 100644 index 00000000..e088e470 --- /dev/null +++ b/lib/js2py/es6/babel.js @@ -0,0 +1,6 @@ +// run buildBabel in this folder to convert this code to python! +var babel = require("babel-core"); +var babelPresetEs2015 = require("babel-preset-es2015"); + +Object.babelPresetEs2015 = babelPresetEs2015; +Object.babel = babel; diff --git a/lib/js2py/es6/babel.py b/lib/js2py/es6/babel.py new file mode 100644 index 00000000..24623e64 --- /dev/null +++ b/lib/js2py/es6/babel.py @@ -0,0 +1,52077 @@ +__all__ = ['babel'] + +# Don't look below, you will not understand this Python code :) I don't. + +from js2py.pyjs import * +# setting scope +var = Scope( JS_BUILTINS ) +set_global_object(var) + +# Code follows: +var.registers([]) +@Js +def PyJs_anonymous_1_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'babel', u'require', u'babelPresetEs2015', u'exports', u'module']) + Js(u'use strict') + var.put(u'babel', var.get(u'require')(Js(u'babel-core'))) + var.put(u'babelPresetEs2015', var.get(u'require')(Js(u'babel-preset-es2015'))) + var.get(u'Object').put(u'babelPresetEs2015', var.get(u'babelPresetEs2015')) + var.get(u'Object').put(u'babel', var.get(u'babel')) +PyJs_anonymous_1_._set_name(u'anonymous') +PyJs_Object_2_ = Js({u'babel-core':Js(5.0),u'babel-preset-es2015':Js(95.0)}) +@Js +def PyJs_anonymous_3_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + Js(u'use strict') + @Js + def PyJs_anonymous_4_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return JsRegExp(u'/[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g') + PyJs_anonymous_4_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_4_) +PyJs_anonymous_3_._set_name(u'anonymous') +PyJs_Object_5_ = Js({}) +@Js +def PyJs_anonymous_6_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'assembleStyles', u'require', u'exports', u'module']) + @Js + def PyJsHoisted_assembleStyles_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'styles']) + PyJs_Object_8_ = Js({u'reset':Js([Js(0.0), Js(0.0)]),u'bold':Js([Js(1.0), Js(22.0)]),u'dim':Js([Js(2.0), Js(22.0)]),u'italic':Js([Js(3.0), Js(23.0)]),u'underline':Js([Js(4.0), Js(24.0)]),u'inverse':Js([Js(7.0), Js(27.0)]),u'hidden':Js([Js(8.0), Js(28.0)]),u'strikethrough':Js([Js(9.0), Js(29.0)])}) + PyJs_Object_9_ = Js({u'black':Js([Js(30.0), Js(39.0)]),u'red':Js([Js(31.0), Js(39.0)]),u'green':Js([Js(32.0), Js(39.0)]),u'yellow':Js([Js(33.0), Js(39.0)]),u'blue':Js([Js(34.0), Js(39.0)]),u'magenta':Js([Js(35.0), Js(39.0)]),u'cyan':Js([Js(36.0), Js(39.0)]),u'white':Js([Js(37.0), Js(39.0)]),u'gray':Js([Js(90.0), Js(39.0)])}) + PyJs_Object_10_ = Js({u'bgBlack':Js([Js(40.0), Js(49.0)]),u'bgRed':Js([Js(41.0), Js(49.0)]),u'bgGreen':Js([Js(42.0), Js(49.0)]),u'bgYellow':Js([Js(43.0), Js(49.0)]),u'bgBlue':Js([Js(44.0), Js(49.0)]),u'bgMagenta':Js([Js(45.0), Js(49.0)]),u'bgCyan':Js([Js(46.0), Js(49.0)]),u'bgWhite':Js([Js(47.0), Js(49.0)])}) + PyJs_Object_7_ = Js({u'modifiers':PyJs_Object_8_,u'colors':PyJs_Object_9_,u'bgColors':PyJs_Object_10_}) + var.put(u'styles', PyJs_Object_7_) + var.get(u'styles').get(u'colors').put(u'grey', var.get(u'styles').get(u'colors').get(u'gray')) + @Js + def PyJs_anonymous_11_(groupName, this, arguments, var=var): + var = Scope({u'this':this, u'groupName':groupName, u'arguments':arguments}, var) + var.registers([u'groupName', u'group']) + var.put(u'group', var.get(u'styles').get(var.get(u'groupName'))) + @Js + def PyJs_anonymous_12_(styleName, this, arguments, var=var): + var = Scope({u'this':this, u'styleName':styleName, u'arguments':arguments}, var) + var.registers([u'style', u'styleName']) + var.put(u'style', var.get(u'group').get(var.get(u'styleName'))) + PyJs_Object_13_ = Js({u'open':((Js(u'\x1b[')+var.get(u'style').get(u'0'))+Js(u'm')),u'close':((Js(u'\x1b[')+var.get(u'style').get(u'1'))+Js(u'm'))}) + var.get(u'styles').put(var.get(u'styleName'), var.get(u'group').put(var.get(u'styleName'), PyJs_Object_13_)) + PyJs_anonymous_12_._set_name(u'anonymous') + var.get(u'Object').callprop(u'keys', var.get(u'group')).callprop(u'forEach', PyJs_anonymous_12_) + PyJs_Object_14_ = Js({u'value':var.get(u'group'),u'enumerable':Js(False)}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'styles'), var.get(u'groupName'), PyJs_Object_14_) + PyJs_anonymous_11_._set_name(u'anonymous') + var.get(u'Object').callprop(u'keys', var.get(u'styles')).callprop(u'forEach', PyJs_anonymous_11_) + return var.get(u'styles') + PyJsHoisted_assembleStyles_.func_name = u'assembleStyles' + var.put(u'assembleStyles', PyJsHoisted_assembleStyles_) + Js(u'use strict') + pass + PyJs_Object_15_ = Js({u'enumerable':var.get(u'true'),u'get':var.get(u'assembleStyles')}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'module'), Js(u'exports'), PyJs_Object_15_) +PyJs_anonymous_6_._set_name(u'anonymous') +PyJs_Object_16_ = Js({}) +@Js +def PyJs_anonymous_17_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'defs', u'_esutils2', u'exports', u'_jsTokens2', u'_esutils', u'require', u'NEWLINE', u'module', u'BRACKET', u'JSX_TAG', u'_chalk', u'getTokenType', u'_interopRequireDefault', u'highlight', u'_jsTokens', u'_chalk2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_22_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_22_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_highlight_(text, this, arguments, var=var): + var = Scope({u'this':this, u'text':text, u'arguments':arguments}, var) + var.registers([u'text']) + @Js + def PyJs_anonymous_24_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'_len', u'_key', u'args', u'type', u'colorize']) + #for JS loop + var.put(u'_len', var.get(u'arguments').get(u'length')) + var.put(u'args', var.get(u'Array')(var.get(u'_len'))) + var.put(u'_key', Js(0.0)) + while (var.get(u'_key')')), var.get(u'maybeHighlight')(var.get(u'defs').get(u'gutter'), var.get(u'gutter')), var.get(u'line'), var.get(u'markerLine')]).callprop(u'join', Js(u'')) + else: + return ((Js(u' ')+var.get(u'maybeHighlight')(var.get(u'defs').get(u'gutter'), var.get(u'gutter')))+var.get(u'line')) + PyJs_anonymous_21_._set_name(u'anonymous') + var.put(u'frame', var.get(u'lines').callprop(u'slice', var.get(u'start'), var.get(u'end')).callprop(u'map', PyJs_anonymous_21_).callprop(u'join', Js(u'\n'))) + if var.get(u'highlighted'): + return var.get(u'_chalk2').get(u'default').callprop(u'reset', var.get(u'frame')) + else: + return var.get(u'frame') + PyJs_anonymous_18_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_18_) + var.put(u'_jsTokens', var.get(u'require')(Js(u'js-tokens'))) + var.put(u'_jsTokens2', var.get(u'_interopRequireDefault')(var.get(u'_jsTokens'))) + var.put(u'_esutils', var.get(u'require')(Js(u'esutils'))) + var.put(u'_esutils2', var.get(u'_interopRequireDefault')(var.get(u'_esutils'))) + var.put(u'_chalk', var.get(u'require')(Js(u'chalk'))) + var.put(u'_chalk2', var.get(u'_interopRequireDefault')(var.get(u'_chalk'))) + pass + PyJs_Object_23_ = Js({u'keyword':var.get(u'_chalk2').get(u'default').get(u'cyan'),u'capitalized':var.get(u'_chalk2').get(u'default').get(u'yellow'),u'jsx_tag':var.get(u'_chalk2').get(u'default').get(u'yellow'),u'punctuator':var.get(u'_chalk2').get(u'default').get(u'yellow'),u'number':var.get(u'_chalk2').get(u'default').get(u'magenta'),u'string':var.get(u'_chalk2').get(u'default').get(u'green'),u'regex':var.get(u'_chalk2').get(u'default').get(u'magenta'),u'comment':var.get(u'_chalk2').get(u'default').get(u'grey'),u'invalid':var.get(u'_chalk2').get(u'default').get(u'white').get(u'bgRed').get(u'bold'),u'gutter':var.get(u'_chalk2').get(u'default').get(u'grey'),u'marker':var.get(u'_chalk2').get(u'default').get(u'red').get(u'bold')}) + var.put(u'defs', PyJs_Object_23_) + var.put(u'NEWLINE', JsRegExp(u'/\\r\\n|[\\n\\r\\u2028\\u2029]/')) + var.put(u'JSX_TAG', JsRegExp(u'/^[a-z][\\w-]*$/i')) + var.put(u'BRACKET', JsRegExp(u'/^[()\\[\\]{}]$/')) + pass + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_17_._set_name(u'anonymous') +PyJs_Object_26_ = Js({u'chalk':Js(265.0),u'esutils':Js(276.0),u'js-tokens':Js(282.0)}) +@Js +def PyJs_anonymous_27_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./lib/api/node.js'))) +PyJs_anonymous_27_._set_name(u'anonymous') +PyJs_Object_28_ = Js({u'./lib/api/node.js':Js(6.0)}) +@Js +def PyJs_anonymous_29_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_isFunction', u'_fs', u'_pipeline2', u'_file', u'_babelTemplate', u'_buildExternalHelpers', u'transformFile', u'_interopRequireDefault', u'_babelTraverse', u'_pipeline', u'transform', u'_fs2', u'_babelMessages', u'exports', u'_babelTraverse2', u'_interopRequireWildcard', u'Plugin', u'_babelTypes', u'analyse', u'pipeline', u'_util', u'util', u'module', u'_optionManager2', u'_isFunction2', u'_config', u'transformFileSync', u'messages', u'_optionManager', u'transformFromAst', u't', u'_package', u'require']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_42_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_42_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_transformFileSync_(filename, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'filename':filename}, var) + var.registers([u'opts', u'filename']) + PyJs_Object_45_ = Js({}) + var.put(u'opts', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else PyJs_Object_45_)) + var.get(u'opts').put(u'filename', var.get(u'filename')) + return var.get(u'transform')(var.get(u'_fs2').get(u'default').callprop(u'readFileSync', var.get(u'filename'), Js(u'utf8')), var.get(u'opts')) + PyJsHoisted_transformFileSync_.func_name = u'transformFileSync' + var.put(u'transformFileSync', PyJsHoisted_transformFileSync_) + @Js + def PyJsHoisted_transformFile_(filename, opts, callback, this, arguments, var=var): + var = Scope({u'this':this, u'callback':callback, u'arguments':arguments, u'opts':opts, u'filename':filename}, var) + var.registers([u'callback', u'opts', u'filename']) + if PyJsComma(Js(0.0),var.get(u'_isFunction2').get(u'default'))(var.get(u'opts')): + var.put(u'callback', var.get(u'opts')) + PyJs_Object_43_ = Js({}) + var.put(u'opts', PyJs_Object_43_) + var.get(u'opts').put(u'filename', var.get(u'filename')) + @Js + def PyJs_anonymous_44_(err, code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments, u'err':err}, var) + var.registers([u'code', u'result', u'err']) + var.put(u'result', PyJsComma(Js(0.0), Js(None))) + if var.get(u'err').neg(): + try: + var.put(u'result', var.get(u'transform')(var.get(u'code'), var.get(u'opts'))) + except PyJsException as PyJsTempException: + PyJsHolder_5f657272_67108312 = var.own.get(u'_err') + var.force_own_put(u'_err', PyExceptionToJs(PyJsTempException)) + try: + var.put(u'err', var.get(u'_err')) + finally: + if PyJsHolder_5f657272_67108312 is not None: + var.own[u'_err'] = PyJsHolder_5f657272_67108312 + else: + del var.own[u'_err'] + del PyJsHolder_5f657272_67108312 + if var.get(u'err'): + var.get(u'callback')(var.get(u'err')) + else: + var.get(u'callback')(var.get(u"null"), var.get(u'result')) + PyJs_anonymous_44_._set_name(u'anonymous') + var.get(u'_fs2').get(u'default').callprop(u'readFile', var.get(u'filename'), PyJs_anonymous_44_) + PyJsHoisted_transformFile_.func_name = u'transformFile' + var.put(u'transformFile', PyJsHoisted_transformFile_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_41_ = Js({}) + var.put(u'newObj', PyJs_Object_41_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_Plugin_(alias, this, arguments, var=var): + var = Scope({u'this':this, u'alias':alias, u'arguments':arguments}, var) + var.registers([u'alias']) + PyJsTempException = JsToPyException(var.get(u'Error').create(((Js(u'The (')+var.get(u'alias'))+Js(u') Babel 5 plugin is being run with Babel 6.')))) + raise PyJsTempException + PyJsHoisted_Plugin_.func_name = u'Plugin' + var.put(u'Plugin', PyJsHoisted_Plugin_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + def PyJs_LONG_30_(var=var): + return var.get(u'exports').put(u'OptionManager', var.get(u'exports').put(u'traverse', var.get(u'exports').put(u'types', var.get(u'exports').put(u'messages', var.get(u'exports').put(u'util', var.get(u'exports').put(u'version', var.get(u'exports').put(u'template', var.get(u'exports').put(u'buildExternalHelpers', var.get(u'exports').put(u'options', var.get(u'exports').put(u'File', var.get(u'undefined'))))))))))) + var.get(u'exports').put(u'transformFromAst', var.get(u'exports').put(u'transform', var.get(u'exports').put(u'analyse', var.get(u'exports').put(u'Pipeline', PyJs_LONG_30_())))) + var.put(u'_file', var.get(u'require')(Js(u'../transformation/file'))) + @Js + def PyJs_get_32_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_32_}, var) + var.registers([]) + return var.get(u'_interopRequireDefault')(var.get(u'_file')).get(u'default') + PyJs_get_32_._set_name(u'get') + PyJs_Object_31_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_32_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'File'), PyJs_Object_31_) + var.put(u'_config', var.get(u'require')(Js(u'../transformation/file/options/config'))) + @Js + def PyJs_get_34_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_34_}, var) + var.registers([]) + return var.get(u'_interopRequireDefault')(var.get(u'_config')).get(u'default') + PyJs_get_34_._set_name(u'get') + PyJs_Object_33_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_34_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'options'), PyJs_Object_33_) + var.put(u'_buildExternalHelpers', var.get(u'require')(Js(u'../tools/build-external-helpers'))) + @Js + def PyJs_get_36_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_36_}, var) + var.registers([]) + return var.get(u'_interopRequireDefault')(var.get(u'_buildExternalHelpers')).get(u'default') + PyJs_get_36_._set_name(u'get') + PyJs_Object_35_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_36_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'buildExternalHelpers'), PyJs_Object_35_) + var.put(u'_babelTemplate', var.get(u'require')(Js(u'babel-template'))) + @Js + def PyJs_get_38_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_38_}, var) + var.registers([]) + return var.get(u'_interopRequireDefault')(var.get(u'_babelTemplate')).get(u'default') + PyJs_get_38_._set_name(u'get') + PyJs_Object_37_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_38_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'template'), PyJs_Object_37_) + var.put(u'_package', var.get(u'require')(Js(u'../../package'))) + @Js + def PyJs_get_40_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_40_}, var) + var.registers([]) + return var.get(u'_package').get(u'version') + PyJs_get_40_._set_name(u'get') + PyJs_Object_39_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_40_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'version'), PyJs_Object_39_) + var.get(u'exports').put(u'Plugin', var.get(u'Plugin')) + var.get(u'exports').put(u'transformFile', var.get(u'transformFile')) + var.get(u'exports').put(u'transformFileSync', var.get(u'transformFileSync')) + var.put(u'_isFunction', var.get(u'require')(Js(u'lodash/isFunction'))) + var.put(u'_isFunction2', var.get(u'_interopRequireDefault')(var.get(u'_isFunction'))) + var.put(u'_fs', var.get(u'require')(Js(u'fs'))) + var.put(u'_fs2', var.get(u'_interopRequireDefault')(var.get(u'_fs'))) + var.put(u'_util', var.get(u'require')(Js(u'../util'))) + var.put(u'util', var.get(u'_interopRequireWildcard')(var.get(u'_util'))) + var.put(u'_babelMessages', var.get(u'require')(Js(u'babel-messages'))) + var.put(u'messages', var.get(u'_interopRequireWildcard')(var.get(u'_babelMessages'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + var.put(u'_babelTraverse', var.get(u'require')(Js(u'babel-traverse'))) + var.put(u'_babelTraverse2', var.get(u'_interopRequireDefault')(var.get(u'_babelTraverse'))) + var.put(u'_optionManager', var.get(u'require')(Js(u'../transformation/file/options/option-manager'))) + var.put(u'_optionManager2', var.get(u'_interopRequireDefault')(var.get(u'_optionManager'))) + var.put(u'_pipeline', var.get(u'require')(Js(u'../transformation/pipeline'))) + var.put(u'_pipeline2', var.get(u'_interopRequireDefault')(var.get(u'_pipeline'))) + pass + pass + var.get(u'exports').put(u'util', var.get(u'util')) + var.get(u'exports').put(u'messages', var.get(u'messages')) + var.get(u'exports').put(u'types', var.get(u't')) + var.get(u'exports').put(u'traverse', var.get(u'_babelTraverse2').get(u'default')) + var.get(u'exports').put(u'OptionManager', var.get(u'_optionManager2').get(u'default')) + pass + var.get(u'exports').put(u'Pipeline', var.get(u'_pipeline2').get(u'default')) + var.put(u'pipeline', var.get(u'_pipeline2').get(u'default').create()) + var.put(u'analyse', var.get(u'exports').put(u'analyse', var.get(u'pipeline').get(u'analyse').callprop(u'bind', var.get(u'pipeline')))) + var.put(u'transform', var.get(u'exports').put(u'transform', var.get(u'pipeline').get(u'transform').callprop(u'bind', var.get(u'pipeline')))) + var.put(u'transformFromAst', var.get(u'exports').put(u'transformFromAst', var.get(u'pipeline').get(u'transformFromAst').callprop(u'bind', var.get(u'pipeline')))) + pass + pass +PyJs_anonymous_29_._set_name(u'anonymous') +PyJs_Object_46_ = Js({u'../../package':Js(28.0),u'../tools/build-external-helpers':Js(11.0),u'../transformation/file':Js(12.0),u'../transformation/file/options/config':Js(16.0),u'../transformation/file/options/option-manager':Js(18.0),u'../transformation/pipeline':Js(23.0),u'../util':Js(26.0),u'babel-messages':Js(57.0),u'babel-template':Js(221.0),u'babel-traverse':Js(225.0),u'babel-types':Js(258.0),u'fs':Js(523.0),u'lodash/isFunction':Js(463.0)}) +@Js +def PyJs_anonymous_47_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_mergeWith', u'require', u'module', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'_mergeWith2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_50_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_50_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + @Js + def PyJs_anonymous_48_(dest, src, this, arguments, var=var): + var = Scope({u'dest':dest, u'src':src, u'this':this, u'arguments':arguments}, var) + var.registers([u'dest', u'src']) + if (var.get(u'dest').neg() or var.get(u'src').neg()): + return var.get('undefined') + @Js + def PyJs_anonymous_49_(a, b, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'b':b, u'arguments':arguments}, var) + var.registers([u'a', u'_isArray', u'b', u'_iterator', u'item', u'newArray', u'_i', u'_ref']) + if (var.get(u'b') and var.get(u'Array').callprop(u'isArray', var.get(u'a'))): + var.put(u'newArray', var.get(u'b').callprop(u'slice', Js(0.0))) + #for JS loop + var.put(u'_iterator', var.get(u'a')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'item', var.get(u'_ref')) + if (var.get(u'newArray').callprop(u'indexOf', var.get(u'item'))Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else var.get(u'process').callprop(u'cwd'))) + if PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'_module2').get(u'default').typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'_module2').get(u'default'))),Js(u'object')): + return var.get(u"null") + var.put(u'relativeMod', var.get(u'relativeModules').get(var.get(u'relative'))) + if var.get(u'relativeMod').neg(): + var.put(u'relativeMod', var.get(u'_module2').get(u'default').create()) + var.put(u'filename', var.get(u'_path2').get(u'default').callprop(u'join', var.get(u'relative'), Js(u'.babelrc'))) + var.get(u'relativeMod').put(u'id', var.get(u'filename')) + var.get(u'relativeMod').put(u'filename', var.get(u'filename')) + var.get(u'relativeMod').put(u'paths', var.get(u'_module2').get(u'default').callprop(u'_nodeModulePaths', var.get(u'relative'))) + var.get(u'relativeModules').put(var.get(u'relative'), var.get(u'relativeMod')) + try: + return var.get(u'_module2').get(u'default').callprop(u'_resolveFilename', var.get(u'loc'), var.get(u'relativeMod')) + except PyJsException as PyJsTempException: + PyJsHolder_657272_57087007 = var.own.get(u'err') + var.force_own_put(u'err', PyExceptionToJs(PyJsTempException)) + try: + return var.get(u"null") + finally: + if PyJsHolder_657272_57087007 is not None: + var.own[u'err'] = PyJsHolder_657272_57087007 + else: + del var.own[u'err'] + del PyJsHolder_657272_57087007 + PyJs_anonymous_58_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_58_) + var.put(u'_module', var.get(u'require')(Js(u'module'))) + var.put(u'_module2', var.get(u'_interopRequireDefault')(var.get(u'_module'))) + var.put(u'_path', var.get(u'require')(Js(u'path'))) + var.put(u'_path2', var.get(u'_interopRequireDefault')(var.get(u'_path'))) + pass + PyJs_Object_60_ = Js({}) + var.put(u'relativeModules', PyJs_Object_60_) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) + PyJs_anonymous_57_._set_name(u'anonymous') + PyJs_anonymous_57_.callprop(u'call', var.get(u"this"), var.get(u'require')(Js(u'_process'))) +PyJs_anonymous_56_._set_name(u'anonymous') +PyJs_Object_61_ = Js({u'_process':Js(531.0),u'babel-runtime/helpers/typeof':Js(114.0),u'module':Js(523.0),u'path':Js(530.0)}) +@Js +def PyJs_anonymous_62_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_map', u'_inherits3', u'_inherits2', u'require', u'_possibleConstructorReturn3', u'_possibleConstructorReturn2', u'module', u'Store', u'_interopRequireDefault', u'_classCallCheck3', u'_classCallCheck2', u'_map2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_63_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_63_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_map', var.get(u'require')(Js(u'babel-runtime/core-js/map'))) + var.put(u'_map2', var.get(u'_interopRequireDefault')(var.get(u'_map'))) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.put(u'_possibleConstructorReturn2', var.get(u'require')(Js(u'babel-runtime/helpers/possibleConstructorReturn'))) + var.put(u'_possibleConstructorReturn3', var.get(u'_interopRequireDefault')(var.get(u'_possibleConstructorReturn2'))) + var.put(u'_inherits2', var.get(u'require')(Js(u'babel-runtime/helpers/inherits'))) + var.put(u'_inherits3', var.get(u'_interopRequireDefault')(var.get(u'_inherits2'))) + pass + @Js + def PyJs_anonymous_64_(_Map, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'_Map':_Map}, var) + var.registers([u'Store', u'_Map']) + @Js + def PyJsHoisted_Store_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'_this']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'Store')) + var.put(u'_this', PyJsComma(Js(0.0),var.get(u'_possibleConstructorReturn3').get(u'default'))(var.get(u"this"), var.get(u'_Map').callprop(u'call', var.get(u"this")))) + PyJs_Object_65_ = Js({}) + var.get(u'_this').put(u'dynamicData', PyJs_Object_65_) + return var.get(u'_this') + PyJsHoisted_Store_.func_name = u'Store' + var.put(u'Store', PyJsHoisted_Store_) + PyJsComma(Js(0.0),var.get(u'_inherits3').get(u'default'))(var.get(u'Store'), var.get(u'_Map')) + pass + @Js + def PyJs_setDynamic_66_(key, fn, this, arguments, var=var): + var = Scope({u'this':this, u'setDynamic':PyJs_setDynamic_66_, u'fn':fn, u'key':key, u'arguments':arguments}, var) + var.registers([u'fn', u'key']) + var.get(u"this").get(u'dynamicData').put(var.get(u'key'), var.get(u'fn')) + PyJs_setDynamic_66_._set_name(u'setDynamic') + var.get(u'Store').get(u'prototype').put(u'setDynamic', PyJs_setDynamic_66_) + @Js + def PyJs_get_67_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key, u'get':PyJs_get_67_}, var) + var.registers([u'key', u'val']) + if var.get(u"this").callprop(u'has', var.get(u'key')): + return var.get(u'_Map').get(u'prototype').get(u'get').callprop(u'call', var.get(u"this"), var.get(u'key')) + else: + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u"this").get(u'dynamicData'), var.get(u'key')): + var.put(u'val', var.get(u"this").get(u'dynamicData').callprop(var.get(u'key'))) + var.get(u"this").callprop(u'set', var.get(u'key'), var.get(u'val')) + return var.get(u'val') + PyJs_get_67_._set_name(u'get') + var.get(u'Store').get(u'prototype').put(u'get', PyJs_get_67_) + return var.get(u'Store') + PyJs_anonymous_64_._set_name(u'anonymous') + var.put(u'Store', PyJs_anonymous_64_(var.get(u'_map2').get(u'default'))) + var.get(u'exports').put(u'default', var.get(u'Store')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_62_._set_name(u'anonymous') +PyJs_Object_68_ = Js({u'babel-runtime/core-js/map':Js(98.0),u'babel-runtime/helpers/classCallCheck':Js(110.0),u'babel-runtime/helpers/inherits':Js(111.0),u'babel-runtime/helpers/possibleConstructorReturn':Js(113.0)}) +@Js +def PyJs_anonymous_69_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_each', u'_babelTemplate', u'module', u'_babelHelpers', u'buildGlobal', u'_interopRequireDefault', u'buildVar', u'_each2', u'_babelTemplate2', u'_babelMessages', u'exports', u'_interopRequireWildcard', u'buildUmd', u'_babelTypes', u'_babelGenerator', u'buildHelpers', u'_babelGenerator2', u'buildUmdWrapper', u'require', u'messages', u'helpers', u't']) + @Js + def PyJsHoisted_buildVar_(namespace, builder, this, arguments, var=var): + var = Scope({u'this':this, u'builder':builder, u'namespace':namespace, u'arguments':arguments}, var) + var.registers([u'body', u'builder', u'namespace']) + var.put(u'body', Js([])) + var.get(u'body').callprop(u'push', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'namespace'), var.get(u't').callprop(u'objectExpression', Js([])))]))) + var.get(u'builder')(var.get(u'body')) + var.get(u'body').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u'namespace'))) + return var.get(u't').callprop(u'program', var.get(u'body')) + PyJsHoisted_buildVar_.func_name = u'buildVar' + var.put(u'buildVar', PyJsHoisted_buildVar_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_74_ = Js({}) + var.put(u'newObj', PyJs_Object_74_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_buildUmd_(namespace, builder, this, arguments, var=var): + var = Scope({u'this':this, u'builder':builder, u'namespace':namespace, u'arguments':arguments}, var) + var.registers([u'body', u'builder', u'namespace']) + var.put(u'body', Js([])) + var.get(u'body').callprop(u'push', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'namespace'), var.get(u't').callprop(u'identifier', Js(u'global')))]))) + var.get(u'builder')(var.get(u'body')) + PyJs_Object_77_ = Js({u'FACTORY_PARAMETERS':var.get(u't').callprop(u'identifier', Js(u'global')),u'BROWSER_ARGUMENTS':var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'identifier', Js(u'root')), var.get(u'namespace')), var.get(u't').callprop(u'objectExpression', Js([]))),u'COMMON_ARGUMENTS':var.get(u't').callprop(u'identifier', Js(u'exports')),u'AMD_ARGUMENTS':var.get(u't').callprop(u'arrayExpression', Js([var.get(u't').callprop(u'stringLiteral', Js(u'exports'))])),u'FACTORY_BODY':var.get(u'body'),u'UMD_ROOT':var.get(u't').callprop(u'identifier', Js(u'this'))}) + return var.get(u't').callprop(u'program', Js([var.get(u'buildUmdWrapper')(PyJs_Object_77_)])) + PyJsHoisted_buildUmd_.func_name = u'buildUmd' + var.put(u'buildUmd', PyJsHoisted_buildUmd_) + @Js + def PyJsHoisted_buildHelpers_(body, namespace, whitelist, this, arguments, var=var): + var = Scope({u'body':body, u'this':this, u'whitelist':whitelist, u'namespace':namespace, u'arguments':arguments}, var) + var.registers([u'body', u'whitelist', u'namespace']) + @Js + def PyJs_anonymous_78_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'name', u'key']) + if (var.get(u'whitelist') and (var.get(u'whitelist').callprop(u'indexOf', var.get(u'name'))Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else Js(u'global'))) + var.put(u'namespace', var.get(u't').callprop(u'identifier', Js(u'babelHelpers'))) + @Js + def PyJs_builder_71_(body, this, arguments, var=var): + var = Scope({u'body':body, u'this':this, u'builder':PyJs_builder_71_, u'arguments':arguments}, var) + var.registers([u'body']) + return var.get(u'buildHelpers')(var.get(u'body'), var.get(u'namespace'), var.get(u'whitelist')) + PyJs_builder_71_._set_name(u'builder') + var.put(u'builder', PyJs_builder_71_) + var.put(u'tree', PyJsComma(Js(0.0), Js(None))) + PyJs_Object_72_ = Js({u'global':var.get(u'buildGlobal'),u'umd':var.get(u'buildUmd'),u'var':var.get(u'buildVar')}) + var.put(u'build', PyJs_Object_72_.get(var.get(u'outputType'))) + if var.get(u'build'): + var.put(u'tree', var.get(u'build')(var.get(u'namespace'), var.get(u'builder'))) + else: + PyJsTempException = JsToPyException(var.get(u'Error').create(var.get(u'messages').callprop(u'get', Js(u'unsupportedOutputType'), var.get(u'outputType')))) + raise PyJsTempException + return PyJsComma(Js(0.0),var.get(u'_babelGenerator2').get(u'default'))(var.get(u'tree')).get(u'code') + PyJs_anonymous_70_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_70_) + var.put(u'_babelHelpers', var.get(u'require')(Js(u'babel-helpers'))) + var.put(u'helpers', var.get(u'_interopRequireWildcard')(var.get(u'_babelHelpers'))) + var.put(u'_babelGenerator', var.get(u'require')(Js(u'babel-generator'))) + var.put(u'_babelGenerator2', var.get(u'_interopRequireDefault')(var.get(u'_babelGenerator'))) + var.put(u'_babelMessages', var.get(u'require')(Js(u'babel-messages'))) + var.put(u'messages', var.get(u'_interopRequireWildcard')(var.get(u'_babelMessages'))) + var.put(u'_babelTemplate', var.get(u'require')(Js(u'babel-template'))) + var.put(u'_babelTemplate2', var.get(u'_interopRequireDefault')(var.get(u'_babelTemplate'))) + var.put(u'_each', var.get(u'require')(Js(u'lodash/each'))) + var.put(u'_each2', var.get(u'_interopRequireDefault')(var.get(u'_each'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + def PyJs_LONG_75_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (root, factory) {\n if (typeof define === "function" && define.amd) {\n define(AMD_ARGUMENTS, factory);\n } else if (typeof exports === "object") {\n factory(COMMON_ARGUMENTS);\n } else {\n factory(BROWSER_ARGUMENTS);\n }\n })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n FACTORY_BODY\n });\n')) + var.put(u'buildUmdWrapper', PyJs_LONG_75_()) + pass + pass + pass + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_69_._set_name(u'anonymous') +PyJs_Object_79_ = Js({u'babel-generator':Js(40.0),u'babel-helpers':Js(56.0),u'babel-messages':Js(57.0),u'babel-template':Js(221.0),u'babel-types':Js(258.0),u'lodash/each':Js(443.0)}) +@Js +def PyJs_anonymous_80_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_81_(process, this, arguments, var=var): + var = Scope({u'process':process, u'this':this, u'arguments':arguments}, var) + var.registers([u'_resolve', u'_store', u'_sourceMap', u'_shadowFunctions2', u'_babelHelpers', u'_logger2', u'_interopRequireDefault', u'_convertSourceMap', u'_getIterator3', u'_getIterator2', u'_shadowFunctions', u'_babelCodeFrame2', u'_typeof2', u'_typeof3', u'metadataVisitor', u'INTERNAL_PLUGINS', u'_possibleConstructorReturn3', u'_possibleConstructorReturn2', u'_babylon', u'_create2', u'errorVisitor', u'_metadata', u'_store2', u'_assign2', u'shebangRegex', u'_blockHoist', u'_classCallCheck3', u'_classCallCheck2', u'_pluginPass2', u'_sourceMap2', u'_create', u'_convertSourceMap2', u'process', u'_babelTypes', u'_babelTraverse2', u'_interopRequireWildcard', u'_inherits3', u'_inherits2', u'_pluginPass', u'_assign', u'_babelCodeFrame', u'_babelGenerator', u'_logger', u'_util', u'_defaults2', u'_path2', u'_optionManager2', u'_babelTraverse', u'util', u'_babelGenerator2', u'_blockHoist2', u'_babelHelpers2', u'_defaults', u'_optionManager', u't', u'File', u'_resolve2', u'_path']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_83_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_83_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_82_ = Js({}) + var.put(u'newObj', PyJs_Object_82_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'File', var.get(u'undefined')) + var.put(u'_typeof2', var.get(u'require')(Js(u'babel-runtime/helpers/typeof'))) + var.put(u'_typeof3', var.get(u'_interopRequireDefault')(var.get(u'_typeof2'))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_create', var.get(u'require')(Js(u'babel-runtime/core-js/object/create'))) + var.put(u'_create2', var.get(u'_interopRequireDefault')(var.get(u'_create'))) + var.put(u'_assign', var.get(u'require')(Js(u'babel-runtime/core-js/object/assign'))) + var.put(u'_assign2', var.get(u'_interopRequireDefault')(var.get(u'_assign'))) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.put(u'_possibleConstructorReturn2', var.get(u'require')(Js(u'babel-runtime/helpers/possibleConstructorReturn'))) + var.put(u'_possibleConstructorReturn3', var.get(u'_interopRequireDefault')(var.get(u'_possibleConstructorReturn2'))) + var.put(u'_inherits2', var.get(u'require')(Js(u'babel-runtime/helpers/inherits'))) + var.put(u'_inherits3', var.get(u'_interopRequireDefault')(var.get(u'_inherits2'))) + var.put(u'_babelHelpers', var.get(u'require')(Js(u'babel-helpers'))) + var.put(u'_babelHelpers2', var.get(u'_interopRequireDefault')(var.get(u'_babelHelpers'))) + var.put(u'_metadata', var.get(u'require')(Js(u'./metadata'))) + var.put(u'metadataVisitor', var.get(u'_interopRequireWildcard')(var.get(u'_metadata'))) + var.put(u'_convertSourceMap', var.get(u'require')(Js(u'convert-source-map'))) + var.put(u'_convertSourceMap2', var.get(u'_interopRequireDefault')(var.get(u'_convertSourceMap'))) + var.put(u'_optionManager', var.get(u'require')(Js(u'./options/option-manager'))) + var.put(u'_optionManager2', var.get(u'_interopRequireDefault')(var.get(u'_optionManager'))) + var.put(u'_pluginPass', var.get(u'require')(Js(u'../plugin-pass'))) + var.put(u'_pluginPass2', var.get(u'_interopRequireDefault')(var.get(u'_pluginPass'))) + var.put(u'_babelTraverse', var.get(u'require')(Js(u'babel-traverse'))) + var.put(u'_babelTraverse2', var.get(u'_interopRequireDefault')(var.get(u'_babelTraverse'))) + var.put(u'_sourceMap', var.get(u'require')(Js(u'source-map'))) + var.put(u'_sourceMap2', var.get(u'_interopRequireDefault')(var.get(u'_sourceMap'))) + var.put(u'_babelGenerator', var.get(u'require')(Js(u'babel-generator'))) + var.put(u'_babelGenerator2', var.get(u'_interopRequireDefault')(var.get(u'_babelGenerator'))) + var.put(u'_babelCodeFrame', var.get(u'require')(Js(u'babel-code-frame'))) + var.put(u'_babelCodeFrame2', var.get(u'_interopRequireDefault')(var.get(u'_babelCodeFrame'))) + var.put(u'_defaults', var.get(u'require')(Js(u'lodash/defaults'))) + var.put(u'_defaults2', var.get(u'_interopRequireDefault')(var.get(u'_defaults'))) + var.put(u'_logger', var.get(u'require')(Js(u'./logger'))) + var.put(u'_logger2', var.get(u'_interopRequireDefault')(var.get(u'_logger'))) + var.put(u'_store', var.get(u'require')(Js(u'../../store'))) + var.put(u'_store2', var.get(u'_interopRequireDefault')(var.get(u'_store'))) + var.put(u'_babylon', var.get(u'require')(Js(u'babylon'))) + var.put(u'_util', var.get(u'require')(Js(u'../../util'))) + var.put(u'util', var.get(u'_interopRequireWildcard')(var.get(u'_util'))) + var.put(u'_path', var.get(u'require')(Js(u'path'))) + var.put(u'_path2', var.get(u'_interopRequireDefault')(var.get(u'_path'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + var.put(u'_resolve', var.get(u'require')(Js(u'../../helpers/resolve'))) + var.put(u'_resolve2', var.get(u'_interopRequireDefault')(var.get(u'_resolve'))) + var.put(u'_blockHoist', var.get(u'require')(Js(u'../internal-plugins/block-hoist'))) + var.put(u'_blockHoist2', var.get(u'_interopRequireDefault')(var.get(u'_blockHoist'))) + var.put(u'_shadowFunctions', var.get(u'require')(Js(u'../internal-plugins/shadow-functions'))) + var.put(u'_shadowFunctions2', var.get(u'_interopRequireDefault')(var.get(u'_shadowFunctions'))) + pass + pass + var.put(u'shebangRegex', JsRegExp(u'/^#!.*/')) + var.put(u'INTERNAL_PLUGINS', Js([Js([var.get(u'_blockHoist2').get(u'default')]), Js([var.get(u'_shadowFunctions2').get(u'default')])])) + @Js + def PyJs_enter_85_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'enter':PyJs_enter_85_}, var) + var.registers([u'loc', u'state', u'path']) + var.put(u'loc', var.get(u'path').get(u'node').get(u'loc')) + if var.get(u'loc'): + var.get(u'state').put(u'loc', var.get(u'loc')) + var.get(u'path').callprop(u'stop') + PyJs_enter_85_._set_name(u'enter') + PyJs_Object_84_ = Js({u'enter':PyJs_enter_85_}) + var.put(u'errorVisitor', PyJs_Object_84_) + @Js + def PyJs_anonymous_86_(_Store, this, arguments, var=var): + var = Scope({u'this':this, u'_Store':_Store, u'arguments':arguments}, var) + var.registers([u'_Store', u'File']) + @Js + def PyJsHoisted_File_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'pipeline', u'_this', u'opts']) + PyJs_Object_87_ = Js({}) + var.put(u'opts', (var.get(u'arguments').get(u'0') if ((var.get(u'arguments').get(u'length')>Js(0.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'0'),var.get(u'undefined'))) else PyJs_Object_87_)) + var.put(u'pipeline', var.get(u'arguments').get(u'1')) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'File')) + var.put(u'_this', PyJsComma(Js(0.0),var.get(u'_possibleConstructorReturn3').get(u'default'))(var.get(u"this"), var.get(u'_Store').callprop(u'call', var.get(u"this")))) + var.get(u'_this').put(u'pipeline', var.get(u'pipeline')) + var.get(u'_this').put(u'log', var.get(u'_logger2').get(u'default').create(var.get(u'_this'), (var.get(u'opts').get(u'filename') or Js(u'unknown')))) + var.get(u'_this').put(u'opts', var.get(u'_this').callprop(u'initOptions', var.get(u'opts'))) + PyJs_Object_88_ = Js({u'sourceType':var.get(u'_this').get(u'opts').get(u'sourceType'),u'sourceFileName':var.get(u'_this').get(u'opts').get(u'filename'),u'plugins':Js([])}) + var.get(u'_this').put(u'parserOpts', PyJs_Object_88_) + var.get(u'_this').put(u'pluginVisitors', Js([])) + var.get(u'_this').put(u'pluginPasses', Js([])) + var.get(u'_this').callprop(u'buildPluginsForOptions', var.get(u'_this').get(u'opts')) + if var.get(u'_this').get(u'opts').get(u'passPerPreset'): + var.get(u'_this').put(u'perPresetOpts', Js([])) + @Js + def PyJs_anonymous_89_(presetOpts, this, arguments, var=var): + var = Scope({u'this':this, u'presetOpts':presetOpts, u'arguments':arguments}, var) + var.registers([u'presetOpts', u'perPresetOpts']) + var.put(u'perPresetOpts', PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u'_this').get(u'opts')), var.get(u'presetOpts'))) + var.get(u'_this').get(u'perPresetOpts').callprop(u'push', var.get(u'perPresetOpts')) + var.get(u'_this').callprop(u'buildPluginsForOptions', var.get(u'perPresetOpts')) + PyJs_anonymous_89_._set_name(u'anonymous') + var.get(u'_this').get(u'opts').get(u'presets').callprop(u'forEach', PyJs_anonymous_89_) + PyJs_Object_92_ = Js({u'exported':Js([]),u'specifiers':Js([])}) + PyJs_Object_91_ = Js({u'imports':Js([]),u'exports':PyJs_Object_92_}) + PyJs_Object_90_ = Js({u'usedHelpers':Js([]),u'marked':Js([]),u'modules':PyJs_Object_91_}) + var.get(u'_this').put(u'metadata', PyJs_Object_90_) + PyJs_Object_93_ = Js({}) + var.get(u'_this').put(u'dynamicImportTypes', PyJs_Object_93_) + PyJs_Object_94_ = Js({}) + var.get(u'_this').put(u'dynamicImportIds', PyJs_Object_94_) + var.get(u'_this').put(u'dynamicImports', Js([])) + PyJs_Object_95_ = Js({}) + var.get(u'_this').put(u'declarations', PyJs_Object_95_) + PyJs_Object_96_ = Js({}) + var.get(u'_this').put(u'usedHelpers', PyJs_Object_96_) + var.get(u'_this').put(u'path', var.get(u"null")) + PyJs_Object_97_ = Js({}) + var.get(u'_this').put(u'ast', PyJs_Object_97_) + var.get(u'_this').put(u'code', Js(u'')) + var.get(u'_this').put(u'shebang', Js(u'')) + var.get(u'_this').put(u'hub', var.get(u'_babelTraverse').get(u'Hub').create(var.get(u'_this'))) + return var.get(u'_this') + PyJsHoisted_File_.func_name = u'File' + var.put(u'File', PyJsHoisted_File_) + PyJsComma(Js(0.0),var.get(u'_inherits3').get(u'default'))(var.get(u'File'), var.get(u'_Store')) + pass + @Js + def PyJs_getMetadata_98_(this, arguments, var=var): + var = Scope({u'this':this, u'getMetadata':PyJs_getMetadata_98_, u'arguments':arguments}, var) + var.registers([u'node', u'_isArray', u'_iterator', u'_i', u'_ref', u'has']) + var.put(u'has', Js(False)) + #for JS loop + var.put(u'_iterator', var.get(u"this").get(u'ast').get(u'program').get(u'body')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'node', var.get(u'_ref')) + if var.get(u't').callprop(u'isModuleDeclaration', var.get(u'node')): + var.put(u'has', var.get(u'true')) + break + + if var.get(u'has'): + var.get(u"this").get(u'path').callprop(u'traverse', var.get(u'metadataVisitor'), var.get(u"this")) + PyJs_getMetadata_98_._set_name(u'getMetadata') + var.get(u'File').get(u'prototype').put(u'getMetadata', PyJs_getMetadata_98_) + @Js + def PyJs_initOptions_99_(opts, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'opts':opts, u'initOptions':PyJs_initOptions_99_}, var) + var.registers([u'basenameRelative', u'opts']) + var.put(u'opts', var.get(u'_optionManager2').get(u'default').create(var.get(u"this").get(u'log'), var.get(u"this").get(u'pipeline')).callprop(u'init', var.get(u'opts'))) + if var.get(u'opts').get(u'inputSourceMap'): + var.get(u'opts').put(u'sourceMaps', var.get(u'true')) + if var.get(u'opts').get(u'moduleId'): + var.get(u'opts').put(u'moduleIds', var.get(u'true')) + var.get(u'opts').put(u'basename', var.get(u'_path2').get(u'default').callprop(u'basename', var.get(u'opts').get(u'filename'), var.get(u'_path2').get(u'default').callprop(u'extname', var.get(u'opts').get(u'filename')))) + var.get(u'opts').put(u'ignore', var.get(u'util').callprop(u'arrayify', var.get(u'opts').get(u'ignore'), var.get(u'util').get(u'regexify'))) + if var.get(u'opts').get(u'only'): + var.get(u'opts').put(u'only', var.get(u'util').callprop(u'arrayify', var.get(u'opts').get(u'only'), var.get(u'util').get(u'regexify'))) + PyJs_Object_100_ = Js({u'moduleRoot':var.get(u'opts').get(u'sourceRoot')}) + PyJsComma(Js(0.0),var.get(u'_defaults2').get(u'default'))(var.get(u'opts'), PyJs_Object_100_) + PyJs_Object_101_ = Js({u'sourceRoot':var.get(u'opts').get(u'moduleRoot')}) + PyJsComma(Js(0.0),var.get(u'_defaults2').get(u'default'))(var.get(u'opts'), PyJs_Object_101_) + PyJs_Object_102_ = Js({u'filenameRelative':var.get(u'opts').get(u'filename')}) + PyJsComma(Js(0.0),var.get(u'_defaults2').get(u'default'))(var.get(u'opts'), PyJs_Object_102_) + var.put(u'basenameRelative', var.get(u'_path2').get(u'default').callprop(u'basename', var.get(u'opts').get(u'filenameRelative'))) + PyJs_Object_103_ = Js({u'sourceFileName':var.get(u'basenameRelative'),u'sourceMapTarget':var.get(u'basenameRelative')}) + PyJsComma(Js(0.0),var.get(u'_defaults2').get(u'default'))(var.get(u'opts'), PyJs_Object_103_) + return var.get(u'opts') + PyJs_initOptions_99_._set_name(u'initOptions') + var.get(u'File').get(u'prototype').put(u'initOptions', PyJs_initOptions_99_) + @Js + def PyJs_buildPluginsForOptions_104_(opts, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'opts':opts, u'buildPluginsForOptions':PyJs_buildPluginsForOptions_104_}, var) + var.registers([u'pluginOpts', u'_isArray2', u'plugin', u'_i2', u'_ref2', u'opts', u'plugins', u'currentPluginPasses', u'ref', u'currentPluginVisitors', u'_iterator2']) + if var.get(u'Array').callprop(u'isArray', var.get(u'opts').get(u'plugins')).neg(): + return var.get('undefined') + var.put(u'plugins', var.get(u'opts').get(u'plugins').callprop(u'concat', var.get(u'INTERNAL_PLUGINS'))) + var.put(u'currentPluginVisitors', Js([])) + var.put(u'currentPluginPasses', Js([])) + #for JS loop + var.put(u'_iterator2', var.get(u'plugins')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'ref', var.get(u'_ref2')) + var.put(u'plugin', var.get(u'ref').get(u'0')) + var.put(u'pluginOpts', var.get(u'ref').get(u'1')) + var.get(u'currentPluginVisitors').callprop(u'push', var.get(u'plugin').get(u'visitor')) + var.get(u'currentPluginPasses').callprop(u'push', var.get(u'_pluginPass2').get(u'default').create(var.get(u"this"), var.get(u'plugin'), var.get(u'pluginOpts'))) + if var.get(u'plugin').get(u'manipulateOptions'): + var.get(u'plugin').callprop(u'manipulateOptions', var.get(u'opts'), var.get(u"this").get(u'parserOpts'), var.get(u"this")) + + var.get(u"this").get(u'pluginVisitors').callprop(u'push', var.get(u'currentPluginVisitors')) + var.get(u"this").get(u'pluginPasses').callprop(u'push', var.get(u'currentPluginPasses')) + PyJs_buildPluginsForOptions_104_._set_name(u'buildPluginsForOptions') + var.get(u'File').get(u'prototype').put(u'buildPluginsForOptions', PyJs_buildPluginsForOptions_104_) + @Js + def PyJs_getModuleName_105_(this, arguments, var=var): + var = Scope({u'this':this, u'getModuleName':PyJs_getModuleName_105_, u'arguments':arguments}, var) + var.registers([u'moduleName', u'sourceRootRegEx', u'opts', u'filenameRelative']) + var.put(u'opts', var.get(u"this").get(u'opts')) + if var.get(u'opts').get(u'moduleIds').neg(): + return var.get(u"null") + if ((var.get(u'opts').get(u'moduleId')!=var.get(u"null")) and var.get(u'opts').get(u'getModuleId').neg()): + return var.get(u'opts').get(u'moduleId') + var.put(u'filenameRelative', var.get(u'opts').get(u'filenameRelative')) + var.put(u'moduleName', Js(u'')) + if (var.get(u'opts').get(u'moduleRoot')!=var.get(u"null")): + var.put(u'moduleName', (var.get(u'opts').get(u'moduleRoot')+Js(u'/'))) + if var.get(u'opts').get(u'filenameRelative').neg(): + return (var.get(u'moduleName')+var.get(u'opts').get(u'filename').callprop(u'replace', JsRegExp(u'/^\\//'), Js(u''))) + if (var.get(u'opts').get(u'sourceRoot')!=var.get(u"null")): + var.put(u'sourceRootRegEx', var.get(u'RegExp').create(((Js(u'^')+var.get(u'opts').get(u'sourceRoot'))+Js(u'/?')))) + var.put(u'filenameRelative', var.get(u'filenameRelative').callprop(u'replace', var.get(u'sourceRootRegEx'), Js(u''))) + var.put(u'filenameRelative', var.get(u'filenameRelative').callprop(u'replace', JsRegExp(u'/\\.(\\w*?)$/'), Js(u''))) + var.put(u'moduleName', var.get(u'filenameRelative'), u'+') + var.put(u'moduleName', var.get(u'moduleName').callprop(u'replace', JsRegExp(u'/\\\\/g'), Js(u'/'))) + if var.get(u'opts').get(u'getModuleId'): + return (var.get(u'opts').callprop(u'getModuleId', var.get(u'moduleName')) or var.get(u'moduleName')) + else: + return var.get(u'moduleName') + PyJs_getModuleName_105_._set_name(u'getModuleName') + var.get(u'File').get(u'prototype').put(u'getModuleName', PyJs_getModuleName_105_) + @Js + def PyJs_resolveModuleSource_106_(source, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'resolveModuleSource':PyJs_resolveModuleSource_106_, u'arguments':arguments}, var) + var.registers([u'resolveModuleSource', u'source']) + var.put(u'resolveModuleSource', var.get(u"this").get(u'opts').get(u'resolveModuleSource')) + if var.get(u'resolveModuleSource'): + var.put(u'source', var.get(u'resolveModuleSource')(var.get(u'source'), var.get(u"this").get(u'opts').get(u'filename'))) + return var.get(u'source') + PyJs_resolveModuleSource_106_._set_name(u'resolveModuleSource') + var.get(u'File').get(u'prototype').put(u'resolveModuleSource', PyJs_resolveModuleSource_106_) + @Js + def PyJs_addImport_107_(source, imported, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'imported':imported, u'arguments':arguments, u'addImport':PyJs_addImport_107_}, var) + var.registers([u'specifiers', u'imported', u'name', u'alias', u'source', u'declar', u'id']) + var.put(u'name', (var.get(u'arguments').get(u'2') if ((var.get(u'arguments').get(u'length')>Js(2.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'2'),var.get(u'undefined'))) else var.get(u'imported'))) + var.put(u'alias', ((var.get(u'source')+Js(u':'))+var.get(u'imported'))) + var.put(u'id', var.get(u"this").get(u'dynamicImportIds').get(var.get(u'alias'))) + if var.get(u'id').neg(): + var.put(u'source', var.get(u"this").callprop(u'resolveModuleSource', var.get(u'source'))) + var.put(u'id', var.get(u"this").get(u'dynamicImportIds').put(var.get(u'alias'), var.get(u"this").get(u'scope').callprop(u'generateUidIdentifier', var.get(u'name')))) + var.put(u'specifiers', Js([])) + if PyJsStrictEq(var.get(u'imported'),Js(u'*')): + var.get(u'specifiers').callprop(u'push', var.get(u't').callprop(u'importNamespaceSpecifier', var.get(u'id'))) + else: + if PyJsStrictEq(var.get(u'imported'),Js(u'default')): + var.get(u'specifiers').callprop(u'push', var.get(u't').callprop(u'importDefaultSpecifier', var.get(u'id'))) + else: + var.get(u'specifiers').callprop(u'push', var.get(u't').callprop(u'importSpecifier', var.get(u'id'), var.get(u't').callprop(u'identifier', var.get(u'imported')))) + var.put(u'declar', var.get(u't').callprop(u'importDeclaration', var.get(u'specifiers'), var.get(u't').callprop(u'stringLiteral', var.get(u'source')))) + var.get(u'declar').put(u'_blockHoist', Js(3.0)) + var.get(u"this").get(u'path').callprop(u'unshiftContainer', Js(u'body'), var.get(u'declar')) + return var.get(u'id') + PyJs_addImport_107_._set_name(u'addImport') + var.get(u'File').get(u'prototype').put(u'addImport', PyJs_addImport_107_) + @Js + def PyJs_addHelper_108_(name, this, arguments, var=var): + var = Scope({u'this':this, u'addHelper':PyJs_addHelper_108_, u'name':name, u'arguments':arguments}, var) + var.registers([u'uid', u'generator', u'res', u'declar', u'runtime', u'ref', u'name']) + var.put(u'declar', var.get(u"this").get(u'declarations').get(var.get(u'name'))) + if var.get(u'declar'): + return var.get(u'declar') + if var.get(u"this").get(u'usedHelpers').get(var.get(u'name')).neg(): + var.get(u"this").get(u'metadata').get(u'usedHelpers').callprop(u'push', var.get(u'name')) + var.get(u"this").get(u'usedHelpers').put(var.get(u'name'), var.get(u'true')) + var.put(u'generator', var.get(u"this").callprop(u'get', Js(u'helperGenerator'))) + var.put(u'runtime', var.get(u"this").callprop(u'get', Js(u'helpersNamespace'))) + if var.get(u'generator'): + var.put(u'res', var.get(u'generator')(var.get(u'name'))) + if var.get(u'res'): + return var.get(u'res') + else: + if var.get(u'runtime'): + return var.get(u't').callprop(u'memberExpression', var.get(u'runtime'), var.get(u't').callprop(u'identifier', var.get(u'name'))) + var.put(u'ref', PyJsComma(Js(0.0),var.get(u'_babelHelpers2').get(u'default'))(var.get(u'name'))) + var.put(u'uid', var.get(u"this").get(u'declarations').put(var.get(u'name'), var.get(u"this").get(u'scope').callprop(u'generateUidIdentifier', var.get(u'name')))) + if (var.get(u't').callprop(u'isFunctionExpression', var.get(u'ref')) and var.get(u'ref').get(u'id').neg()): + var.get(u'ref').get(u'body').put(u'_compact', var.get(u'true')) + var.get(u'ref').put(u'_generated', var.get(u'true')) + var.get(u'ref').put(u'id', var.get(u'uid')) + var.get(u'ref').put(u'type', Js(u'FunctionDeclaration')) + var.get(u"this").get(u'path').callprop(u'unshiftContainer', Js(u'body'), var.get(u'ref')) + else: + var.get(u'ref').put(u'_compact', var.get(u'true')) + PyJs_Object_109_ = Js({u'id':var.get(u'uid'),u'init':var.get(u'ref'),u'unique':var.get(u'true')}) + var.get(u"this").get(u'scope').callprop(u'push', PyJs_Object_109_) + return var.get(u'uid') + PyJs_addHelper_108_._set_name(u'addHelper') + var.get(u'File').get(u'prototype').put(u'addHelper', PyJs_addHelper_108_) + @Js + def PyJs_addTemplateObject_110_(helperName, strings, raw, this, arguments, var=var): + var = Scope({u'this':this, u'helperName':helperName, u'raw':raw, u'arguments':arguments, u'addTemplateObject':PyJs_addTemplateObject_110_, u'strings':strings}, var) + var.registers([u'name', u'helperName', u'raw', u'init', u'declar', u'stringIds', u'helperId', u'strings', u'uid']) + @Js + def PyJs_anonymous_111_(string, this, arguments, var=var): + var = Scope({u'this':this, u'string':string, u'arguments':arguments}, var) + var.registers([u'string']) + return var.get(u'string').get(u'value') + PyJs_anonymous_111_._set_name(u'anonymous') + var.put(u'stringIds', var.get(u'raw').get(u'elements').callprop(u'map', PyJs_anonymous_111_)) + var.put(u'name', ((((var.get(u'helperName')+Js(u'_'))+var.get(u'raw').get(u'elements').get(u'length'))+Js(u'_'))+var.get(u'stringIds').callprop(u'join', Js(u',')))) + var.put(u'declar', var.get(u"this").get(u'declarations').get(var.get(u'name'))) + if var.get(u'declar'): + return var.get(u'declar') + var.put(u'uid', var.get(u"this").get(u'declarations').put(var.get(u'name'), var.get(u"this").get(u'scope').callprop(u'generateUidIdentifier', Js(u'templateObject')))) + var.put(u'helperId', var.get(u"this").callprop(u'addHelper', var.get(u'helperName'))) + var.put(u'init', var.get(u't').callprop(u'callExpression', var.get(u'helperId'), Js([var.get(u'strings'), var.get(u'raw')]))) + var.get(u'init').put(u'_compact', var.get(u'true')) + PyJs_Object_112_ = Js({u'id':var.get(u'uid'),u'init':var.get(u'init'),u'_blockHoist':Js(1.9)}) + var.get(u"this").get(u'scope').callprop(u'push', PyJs_Object_112_) + return var.get(u'uid') + PyJs_addTemplateObject_110_._set_name(u'addTemplateObject') + var.get(u'File').get(u'prototype').put(u'addTemplateObject', PyJs_addTemplateObject_110_) + @Js + def PyJs_buildCodeFrameError_113_(node, msg, this, arguments, var=var): + var = Scope({u'node':node, u'msg':msg, u'buildCodeFrameError':PyJs_buildCodeFrameError_113_, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'loc', u'msg', u'err', u'Error']) + var.put(u'Error', (var.get(u'arguments').get(u'2') if ((var.get(u'arguments').get(u'length')>Js(2.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'2'),var.get(u'undefined'))) else var.get(u'SyntaxError'))) + var.put(u'loc', (var.get(u'node') and (var.get(u'node').get(u'loc') or var.get(u'node').get(u'_loc')))) + var.put(u'err', var.get(u'Error').create(var.get(u'msg'))) + if var.get(u'loc'): + var.get(u'err').put(u'loc', var.get(u'loc').get(u'start')) + else: + PyJsComma(Js(0.0),var.get(u'_babelTraverse2').get(u'default'))(var.get(u'node'), var.get(u'errorVisitor'), var.get(u"this").get(u'scope'), var.get(u'err')) + var.get(u'err').put(u'message', Js(u' (This is an error on an internal node. Probably an internal error'), u'+') + if var.get(u'err').get(u'loc'): + var.get(u'err').put(u'message', Js(u'. Location has been estimated.'), u'+') + var.get(u'err').put(u'message', Js(u')'), u'+') + return var.get(u'err') + PyJs_buildCodeFrameError_113_._set_name(u'buildCodeFrameError') + var.get(u'File').get(u'prototype').put(u'buildCodeFrameError', PyJs_buildCodeFrameError_113_) + @Js + def PyJs_mergeSourceMap_114_(map, this, arguments, var=var): + var = Scope({u'this':this, u'map':map, u'arguments':arguments, u'mergeSourceMap':PyJs_mergeSourceMap_114_}, var) + var.registers([u'_ret', u'map', u'inputMap']) + var.put(u'inputMap', var.get(u"this").get(u'opts').get(u'inputSourceMap')) + if var.get(u'inputMap'): + @Js + def PyJs_anonymous_115_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'mergedGenerator', u'source', u'mergedMap', u'outputMapConsumer', u'inputMapConsumer']) + var.put(u'inputMapConsumer', var.get(u'_sourceMap2').get(u'default').get(u'SourceMapConsumer').create(var.get(u'inputMap'))) + var.put(u'outputMapConsumer', var.get(u'_sourceMap2').get(u'default').get(u'SourceMapConsumer').create(var.get(u'map'))) + PyJs_Object_116_ = Js({u'file':var.get(u'inputMapConsumer').get(u'file'),u'sourceRoot':var.get(u'inputMapConsumer').get(u'sourceRoot')}) + var.put(u'mergedGenerator', var.get(u'_sourceMap2').get(u'default').get(u'SourceMapGenerator').create(PyJs_Object_116_)) + var.put(u'source', var.get(u'outputMapConsumer').get(u'sources').get(u'0')) + @Js + def PyJs_anonymous_117_(mapping, this, arguments, var=var): + var = Scope({u'this':this, u'mapping':mapping, u'arguments':arguments}, var) + var.registers([u'generatedPosition', u'mapping']) + PyJs_Object_118_ = Js({u'line':var.get(u'mapping').get(u'generatedLine'),u'column':var.get(u'mapping').get(u'generatedColumn'),u'source':var.get(u'source')}) + var.put(u'generatedPosition', var.get(u'outputMapConsumer').callprop(u'generatedPositionFor', PyJs_Object_118_)) + if (var.get(u'generatedPosition').get(u'column')!=var.get(u"null")): + PyJs_Object_120_ = Js({u'line':var.get(u'mapping').get(u'originalLine'),u'column':var.get(u'mapping').get(u'originalColumn')}) + PyJs_Object_119_ = Js({u'source':var.get(u'mapping').get(u'source'),u'original':(var.get(u"null") if (var.get(u'mapping').get(u'source')==var.get(u"null")) else PyJs_Object_120_),u'generated':var.get(u'generatedPosition')}) + var.get(u'mergedGenerator').callprop(u'addMapping', PyJs_Object_119_) + PyJs_anonymous_117_._set_name(u'anonymous') + var.get(u'inputMapConsumer').callprop(u'eachMapping', PyJs_anonymous_117_) + var.put(u'mergedMap', var.get(u'mergedGenerator').callprop(u'toJSON')) + var.get(u'inputMap').put(u'mappings', var.get(u'mergedMap').get(u'mappings')) + PyJs_Object_121_ = Js({u'v':var.get(u'inputMap')}) + return PyJs_Object_121_ + PyJs_anonymous_115_._set_name(u'anonymous') + var.put(u'_ret', PyJs_anonymous_115_()) + if PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'_ret',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'_ret'))),Js(u'object')): + return var.get(u'_ret').get(u'v') + else: + return var.get(u'map') + PyJs_mergeSourceMap_114_._set_name(u'mergeSourceMap') + var.get(u'File').get(u'prototype').put(u'mergeSourceMap', PyJs_mergeSourceMap_114_) + @Js + def PyJs_parse_122_(code, this, arguments, var=var): + var = Scope({u'this':this, u'parse':PyJs_parse_122_, u'code':code, u'arguments':arguments}, var) + var.registers([u'code', u'ast', u'parser', u'parseCode', u'dirname', u'parserOpts']) + var.put(u'parseCode', var.get(u'_babylon').get(u'parse')) + var.put(u'parserOpts', var.get(u"this").get(u'opts').get(u'parserOpts')) + if var.get(u'parserOpts'): + PyJs_Object_123_ = Js({}) + var.put(u'parserOpts', PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(PyJs_Object_123_, var.get(u"this").get(u'parserOpts'), var.get(u'parserOpts'))) + if var.get(u'parserOpts').get(u'parser'): + if PyJsStrictEq(var.get(u'parserOpts').get(u'parser').typeof(),Js(u'string')): + var.put(u'dirname', (var.get(u'_path2').get(u'default').callprop(u'dirname', var.get(u"this").get(u'opts').get(u'filename')) or var.get(u'process').callprop(u'cwd'))) + var.put(u'parser', PyJsComma(Js(0.0),var.get(u'_resolve2').get(u'default'))(var.get(u'parserOpts').get(u'parser'), var.get(u'dirname'))) + if var.get(u'parser'): + var.put(u'parseCode', var.get(u'require')(var.get(u'parser')).get(u'parse')) + else: + PyJsTempException = JsToPyException(var.get(u'Error').create((((Js(u"Couldn't find parser ")+var.get(u'parserOpts').get(u'parser'))+Js(u' with "parse" method relative to directory '))+var.get(u'dirname')))) + raise PyJsTempException + else: + var.put(u'parseCode', var.get(u'parserOpts').get(u'parser')) + @Js + def PyJs_parse_125_(source, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'parse':PyJs_parse_125_, u'arguments':arguments}, var) + var.registers([u'source']) + return PyJsComma(Js(0.0),var.get(u'_babylon').get(u'parse'))(var.get(u'source'), var.get(u'parserOpts')) + PyJs_parse_125_._set_name(u'parse') + PyJs_Object_124_ = Js({u'parse':PyJs_parse_125_}) + var.get(u'parserOpts').put(u'parser', PyJs_Object_124_) + var.get(u"this").get(u'log').callprop(u'debug', Js(u'Parse start')) + var.put(u'ast', var.get(u'parseCode')(var.get(u'code'), (var.get(u'parserOpts') or var.get(u"this").get(u'parserOpts')))) + var.get(u"this").get(u'log').callprop(u'debug', Js(u'Parse stop')) + return var.get(u'ast') + PyJs_parse_122_._set_name(u'parse') + var.get(u'File').get(u'prototype').put(u'parse', PyJs_parse_122_) + @Js + def PyJs__addAst_126_(ast, this, arguments, var=var): + var = Scope({u'this':this, u'_addAst':PyJs__addAst_126_, u'arguments':arguments, u'ast':ast}, var) + var.registers([u'ast']) + PyJs_Object_127_ = Js({u'hub':var.get(u"this").get(u'hub'),u'parentPath':var.get(u"null"),u'parent':var.get(u'ast'),u'container':var.get(u'ast'),u'key':Js(u'program')}) + var.get(u"this").put(u'path', var.get(u'_babelTraverse').get(u'NodePath').callprop(u'get', PyJs_Object_127_).callprop(u'setContext')) + var.get(u"this").put(u'scope', var.get(u"this").get(u'path').get(u'scope')) + var.get(u"this").put(u'ast', var.get(u'ast')) + var.get(u"this").callprop(u'getMetadata') + PyJs__addAst_126_._set_name(u'_addAst') + var.get(u'File').get(u'prototype').put(u'_addAst', PyJs__addAst_126_) + @Js + def PyJs_addAst_128_(ast, this, arguments, var=var): + var = Scope({u'this':this, u'addAst':PyJs_addAst_128_, u'arguments':arguments, u'ast':ast}, var) + var.registers([u'ast']) + var.get(u"this").get(u'log').callprop(u'debug', Js(u'Start set AST')) + var.get(u"this").callprop(u'_addAst', var.get(u'ast')) + var.get(u"this").get(u'log').callprop(u'debug', Js(u'End set AST')) + PyJs_addAst_128_._set_name(u'addAst') + var.get(u'File').get(u'prototype').put(u'addAst', PyJs_addAst_128_) + @Js + def PyJs_transform_129_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'transform':PyJs_transform_129_}, var) + var.registers([u'i', u'visitor', u'pluginPasses']) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'pass', var.get(u'_ref3')) + var.put(u'plugin', var.get(u'pass').get(u'plugin')) + var.put(u'fn', var.get(u'plugin').get(var.get(u'key'))) + if var.get(u'fn'): + var.get(u'fn').callprop(u'call', var.get(u'pass'), var.get(u"this")) + + PyJs_call_135_._set_name(u'call') + var.get(u'File').get(u'prototype').put(u'call', PyJs_call_135_) + @Js + def PyJs_parseInputSourceMap_136_(code, this, arguments, var=var): + var = Scope({u'this':this, u'parseInputSourceMap':PyJs_parseInputSourceMap_136_, u'code':code, u'arguments':arguments}, var) + var.registers([u'code', u'inputMap', u'opts']) + var.put(u'opts', var.get(u"this").get(u'opts')) + if PyJsStrictNeq(var.get(u'opts').get(u'inputSourceMap'),Js(False)): + var.put(u'inputMap', var.get(u'_convertSourceMap2').get(u'default').callprop(u'fromSource', var.get(u'code'))) + if var.get(u'inputMap'): + var.get(u'opts').put(u'inputSourceMap', var.get(u'inputMap').callprop(u'toObject')) + var.put(u'code', var.get(u'_convertSourceMap2').get(u'default').callprop(u'removeComments', var.get(u'code'))) + return var.get(u'code') + PyJs_parseInputSourceMap_136_._set_name(u'parseInputSourceMap') + var.get(u'File').get(u'prototype').put(u'parseInputSourceMap', PyJs_parseInputSourceMap_136_) + @Js + def PyJs_parseShebang_137_(this, arguments, var=var): + var = Scope({u'this':this, u'parseShebang':PyJs_parseShebang_137_, u'arguments':arguments}, var) + var.registers([u'shebangMatch']) + var.put(u'shebangMatch', var.get(u'shebangRegex').callprop(u'exec', var.get(u"this").get(u'code'))) + if var.get(u'shebangMatch'): + var.get(u"this").put(u'shebang', var.get(u'shebangMatch').get(u'0')) + var.get(u"this").put(u'code', var.get(u"this").get(u'code').callprop(u'replace', var.get(u'shebangRegex'), Js(u''))) + PyJs_parseShebang_137_._set_name(u'parseShebang') + var.get(u'File').get(u'prototype').put(u'parseShebang', PyJs_parseShebang_137_) + @Js + def PyJs_makeResult_138_(_ref4, this, arguments, var=var): + var = Scope({u'this':this, u'makeResult':PyJs_makeResult_138_, u'_ref4':_ref4, u'arguments':arguments}, var) + var.registers([u'ignored', u'code', u'map', u'_ref4', u'ast', u'result']) + var.put(u'code', var.get(u'_ref4').get(u'code')) + var.put(u'map', var.get(u'_ref4').get(u'map')) + var.put(u'ast', var.get(u'_ref4').get(u'ast')) + var.put(u'ignored', var.get(u'_ref4').get(u'ignored')) + PyJs_Object_139_ = Js({u'metadata':var.get(u"null"),u'options':var.get(u"this").get(u'opts'),u'ignored':var.get(u'ignored').neg().neg(),u'code':var.get(u"null"),u'ast':var.get(u"null"),u'map':(var.get(u'map') or var.get(u"null"))}) + var.put(u'result', PyJs_Object_139_) + if var.get(u"this").get(u'opts').get(u'code'): + var.get(u'result').put(u'code', var.get(u'code')) + if var.get(u"this").get(u'opts').get(u'ast'): + var.get(u'result').put(u'ast', var.get(u'ast')) + if var.get(u"this").get(u'opts').get(u'metadata'): + var.get(u'result').put(u'metadata', var.get(u"this").get(u'metadata')) + return var.get(u'result') + PyJs_makeResult_138_._set_name(u'makeResult') + var.get(u'File').get(u'prototype').put(u'makeResult', PyJs_makeResult_138_) + @Js + def PyJs_generate_140_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'generate':PyJs_generate_140_}, var) + var.registers([u'_result', u'generator', u'ast', u'result', u'dirname', u'gen', u'opts']) + var.put(u'opts', var.get(u"this").get(u'opts')) + var.put(u'ast', var.get(u"this").get(u'ast')) + PyJs_Object_141_ = Js({u'ast':var.get(u'ast')}) + var.put(u'result', PyJs_Object_141_) + if var.get(u'opts').get(u'code').neg(): + return var.get(u"this").callprop(u'makeResult', var.get(u'result')) + var.put(u'gen', var.get(u'_babelGenerator2').get(u'default')) + if var.get(u'opts').get(u'generatorOpts').get(u'generator'): + var.put(u'gen', var.get(u'opts').get(u'generatorOpts').get(u'generator')) + if PyJsStrictEq(var.get(u'gen',throw=False).typeof(),Js(u'string')): + var.put(u'dirname', (var.get(u'_path2').get(u'default').callprop(u'dirname', var.get(u"this").get(u'opts').get(u'filename')) or var.get(u'process').callprop(u'cwd'))) + var.put(u'generator', PyJsComma(Js(0.0),var.get(u'_resolve2').get(u'default'))(var.get(u'gen'), var.get(u'dirname'))) + if var.get(u'generator'): + var.put(u'gen', var.get(u'require')(var.get(u'generator')).get(u'print')) + else: + PyJsTempException = JsToPyException(var.get(u'Error').create((((Js(u"Couldn't find generator ")+var.get(u'gen'))+Js(u' with "print" method relative to directory '))+var.get(u'dirname')))) + raise PyJsTempException + var.get(u"this").get(u'log').callprop(u'debug', Js(u'Generation start')) + var.put(u'_result', var.get(u'gen')(var.get(u'ast'), (PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(var.get(u'opts'), var.get(u'opts').get(u'generatorOpts')) if var.get(u'opts').get(u'generatorOpts') else var.get(u'opts')), var.get(u"this").get(u'code'))) + var.get(u'result').put(u'code', var.get(u'_result').get(u'code')) + var.get(u'result').put(u'map', var.get(u'_result').get(u'map')) + var.get(u"this").get(u'log').callprop(u'debug', Js(u'Generation end')) + if var.get(u"this").get(u'shebang'): + var.get(u'result').put(u'code', ((var.get(u"this").get(u'shebang')+Js(u'\n'))+var.get(u'result').get(u'code'))) + if var.get(u'result').get(u'map'): + var.get(u'result').put(u'map', var.get(u"this").callprop(u'mergeSourceMap', var.get(u'result').get(u'map'))) + if (PyJsStrictEq(var.get(u'opts').get(u'sourceMaps'),Js(u'inline')) or PyJsStrictEq(var.get(u'opts').get(u'sourceMaps'),Js(u'both'))): + var.get(u'result').put(u'code', (Js(u'\n')+var.get(u'_convertSourceMap2').get(u'default').callprop(u'fromObject', var.get(u'result').get(u'map')).callprop(u'toComment')), u'+') + if PyJsStrictEq(var.get(u'opts').get(u'sourceMaps'),Js(u'inline')): + var.get(u'result').put(u'map', var.get(u"null")) + return var.get(u"this").callprop(u'makeResult', var.get(u'result')) + PyJs_generate_140_._set_name(u'generate') + var.get(u'File').get(u'prototype').put(u'generate', PyJs_generate_140_) + return var.get(u'File') + PyJs_anonymous_86_._set_name(u'anonymous') + var.put(u'File', PyJs_anonymous_86_(var.get(u'_store2').get(u'default'))) + var.get(u'exports').put(u'default', var.get(u'File')) + var.get(u'exports').put(u'File', var.get(u'File')) + PyJs_anonymous_81_._set_name(u'anonymous') + PyJs_anonymous_81_.callprop(u'call', var.get(u"this"), var.get(u'require')(Js(u'_process'))) +PyJs_anonymous_80_._set_name(u'anonymous') +PyJs_Object_142_ = Js({u'../../helpers/resolve':Js(9.0),u'../../store':Js(10.0),u'../../util':Js(26.0),u'../internal-plugins/block-hoist':Js(21.0),u'../internal-plugins/shadow-functions':Js(22.0),u'../plugin-pass':Js(24.0),u'./logger':Js(13.0),u'./metadata':Js(14.0),u'./options/option-manager':Js(18.0),u'_process':Js(531.0),u'babel-code-frame':Js(4.0),u'babel-generator':Js(40.0),u'babel-helpers':Js(56.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/core-js/object/assign':Js(100.0),u'babel-runtime/core-js/object/create':Js(101.0),u'babel-runtime/helpers/classCallCheck':Js(110.0),u'babel-runtime/helpers/inherits':Js(111.0),u'babel-runtime/helpers/possibleConstructorReturn':Js(113.0),u'babel-runtime/helpers/typeof':Js(114.0),u'babel-traverse':Js(225.0),u'babel-types':Js(258.0),u'babylon':Js(262.0),u'convert-source-map':Js(267.0),u'lodash/defaults':Js(442.0),u'path':Js(530.0),u'source-map':Js(519.0)}) +@Js +def PyJs_anonymous_143_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'seenDeprecatedMessages', u'require', u'module', u'_node2', u'_node', u'verboseDebug', u'_interopRequireDefault', u'generalDebug', u'_classCallCheck3', u'_classCallCheck2', u'Logger']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_144_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_144_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.put(u'_node', var.get(u'require')(Js(u'debug/node'))) + var.put(u'_node2', var.get(u'_interopRequireDefault')(var.get(u'_node'))) + pass + var.put(u'verboseDebug', PyJsComma(Js(0.0),var.get(u'_node2').get(u'default'))(Js(u'babel:verbose'))) + var.put(u'generalDebug', PyJsComma(Js(0.0),var.get(u'_node2').get(u'default'))(Js(u'babel'))) + var.put(u'seenDeprecatedMessages', Js([])) + @Js + def PyJs_anonymous_145_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'Logger']) + @Js + def PyJsHoisted_Logger_(file, filename, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'file':file, u'filename':filename}, var) + var.registers([u'file', u'filename']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'Logger')) + var.get(u"this").put(u'filename', var.get(u'filename')) + var.get(u"this").put(u'file', var.get(u'file')) + PyJsHoisted_Logger_.func_name = u'Logger' + var.put(u'Logger', PyJsHoisted_Logger_) + pass + @Js + def PyJs__buildMessage_146_(msg, this, arguments, var=var): + var = Scope({u'msg':msg, u'this':this, u'_buildMessage':PyJs__buildMessage_146_, u'arguments':arguments}, var) + var.registers([u'msg', u'parts']) + var.put(u'parts', (Js(u'[BABEL] ')+var.get(u"this").get(u'filename'))) + if var.get(u'msg'): + var.put(u'parts', (Js(u': ')+var.get(u'msg')), u'+') + return var.get(u'parts') + PyJs__buildMessage_146_._set_name(u'_buildMessage') + var.get(u'Logger').get(u'prototype').put(u'_buildMessage', PyJs__buildMessage_146_) + @Js + def PyJs_warn_147_(msg, this, arguments, var=var): + var = Scope({u'msg':msg, u'this':this, u'warn':PyJs_warn_147_, u'arguments':arguments}, var) + var.registers([u'msg']) + var.get(u'console').callprop(u'warn', var.get(u"this").callprop(u'_buildMessage', var.get(u'msg'))) + PyJs_warn_147_._set_name(u'warn') + var.get(u'Logger').get(u'prototype').put(u'warn', PyJs_warn_147_) + @Js + def PyJs_error_148_(msg, this, arguments, var=var): + var = Scope({u'msg':msg, u'this':this, u'arguments':arguments, u'error':PyJs_error_148_}, var) + var.registers([u'msg', u'Constructor']) + var.put(u'Constructor', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else var.get(u'Error'))) + PyJsTempException = JsToPyException(var.get(u'Constructor').create(var.get(u"this").callprop(u'_buildMessage', var.get(u'msg')))) + raise PyJsTempException + PyJs_error_148_._set_name(u'error') + var.get(u'Logger').get(u'prototype').put(u'error', PyJs_error_148_) + @Js + def PyJs_deprecate_149_(msg, this, arguments, var=var): + var = Scope({u'msg':msg, u'this':this, u'deprecate':PyJs_deprecate_149_, u'arguments':arguments}, var) + var.registers([u'msg']) + if (var.get(u"this").get(u'file').get(u'opts') and var.get(u"this").get(u'file').get(u'opts').get(u'suppressDeprecationMessages')): + return var.get('undefined') + var.put(u'msg', var.get(u"this").callprop(u'_buildMessage', var.get(u'msg'))) + if (var.get(u'seenDeprecatedMessages').callprop(u'indexOf', var.get(u'msg'))>=Js(0.0)): + return var.get('undefined') + var.get(u'seenDeprecatedMessages').callprop(u'push', var.get(u'msg')) + var.get(u'console').callprop(u'error', var.get(u'msg')) + PyJs_deprecate_149_._set_name(u'deprecate') + var.get(u'Logger').get(u'prototype').put(u'deprecate', PyJs_deprecate_149_) + @Js + def PyJs_verbose_150_(msg, this, arguments, var=var): + var = Scope({u'msg':msg, u'this':this, u'arguments':arguments, u'verbose':PyJs_verbose_150_}, var) + var.registers([u'msg']) + if var.get(u'verboseDebug').get(u'enabled'): + var.get(u'verboseDebug')(var.get(u"this").callprop(u'_buildMessage', var.get(u'msg'))) + PyJs_verbose_150_._set_name(u'verbose') + var.get(u'Logger').get(u'prototype').put(u'verbose', PyJs_verbose_150_) + @Js + def PyJs_debug_151_(msg, this, arguments, var=var): + var = Scope({u'msg':msg, u'this':this, u'arguments':arguments, u'debug':PyJs_debug_151_}, var) + var.registers([u'msg']) + if var.get(u'generalDebug').get(u'enabled'): + var.get(u'generalDebug')(var.get(u"this").callprop(u'_buildMessage', var.get(u'msg'))) + PyJs_debug_151_._set_name(u'debug') + var.get(u'Logger').get(u'prototype').put(u'debug', PyJs_debug_151_) + @Js + def PyJs_deopt_152_(node, msg, this, arguments, var=var): + var = Scope({u'node':node, u'msg':msg, u'this':this, u'arguments':arguments, u'deopt':PyJs_deopt_152_}, var) + var.registers([u'node', u'msg']) + var.get(u"this").callprop(u'debug', var.get(u'msg')) + PyJs_deopt_152_._set_name(u'deopt') + var.get(u'Logger').get(u'prototype').put(u'deopt', PyJs_deopt_152_) + return var.get(u'Logger') + PyJs_anonymous_145_._set_name(u'anonymous') + var.put(u'Logger', PyJs_anonymous_145_()) + var.get(u'exports').put(u'default', var.get(u'Logger')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_143_._set_name(u'anonymous') +PyJs_Object_153_ = Js({u'babel-runtime/helpers/classCallCheck':Js(110.0),u'debug/node':Js(270.0)}) +@Js +def PyJs_anonymous_154_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'ExportDeclaration', u'ModuleDeclaration', u'_interopRequireWildcard', u'ImportDeclaration', u'require', u'_babelTypes', u'module', u't', u'_interopRequireDefault', u'Scope', u'_getIterator2', u'_getIterator3']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_156_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_156_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_Scope_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + var.get(u'path').callprop(u'skip') + PyJsHoisted_Scope_.func_name = u'Scope' + var.put(u'Scope', PyJsHoisted_Scope_) + @Js + def PyJsHoisted_ExportDeclaration_(path, file, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'file':file}, var) + var.registers([u'node', u'specifier', u'exports', u'name', u'_i2', u'_ref2', u'source', u'declar', u'_isArray2', u'exported', u'file', u'path', u'bindings', u'local', u'_iterator2']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'source', (var.get(u'node').get(u'source').get(u'value') if var.get(u'node').get(u'source') else var.get(u"null"))) + var.put(u'exports', var.get(u'file').get(u'metadata').get(u'modules').get(u'exports')) + var.put(u'declar', var.get(u'path').callprop(u'get', Js(u'declaration'))) + if var.get(u'declar').callprop(u'isStatement'): + var.put(u'bindings', var.get(u'declar').callprop(u'getBindingIdentifiers')) + for PyJsTemp in var.get(u'bindings'): + var.put(u'name', PyJsTemp) + var.get(u'exports').get(u'exported').callprop(u'push', var.get(u'name')) + PyJs_Object_165_ = Js({u'kind':Js(u'local'),u'local':var.get(u'name'),u'exported':(Js(u'default') if var.get(u'path').callprop(u'isExportDefaultDeclaration') else var.get(u'name'))}) + var.get(u'exports').get(u'specifiers').callprop(u'push', PyJs_Object_165_) + if (var.get(u'path').callprop(u'isExportNamedDeclaration') and var.get(u'node').get(u'specifiers')): + #for JS loop + var.put(u'_iterator2', var.get(u'node').get(u'specifiers')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'specifier', var.get(u'_ref2')) + var.put(u'exported', var.get(u'specifier').get(u'exported').get(u'name')) + var.get(u'exports').get(u'exported').callprop(u'push', var.get(u'exported')) + if var.get(u't').callprop(u'isExportDefaultSpecifier', var.get(u'specifier')): + PyJs_Object_166_ = Js({u'kind':Js(u'external'),u'local':var.get(u'exported'),u'exported':var.get(u'exported'),u'source':var.get(u'source')}) + var.get(u'exports').get(u'specifiers').callprop(u'push', PyJs_Object_166_) + if var.get(u't').callprop(u'isExportNamespaceSpecifier', var.get(u'specifier')): + PyJs_Object_167_ = Js({u'kind':Js(u'external-namespace'),u'exported':var.get(u'exported'),u'source':var.get(u'source')}) + var.get(u'exports').get(u'specifiers').callprop(u'push', PyJs_Object_167_) + var.put(u'local', var.get(u'specifier').get(u'local')) + if var.get(u'local').neg(): + continue + if var.get(u'source'): + PyJs_Object_168_ = Js({u'kind':Js(u'external'),u'local':var.get(u'local').get(u'name'),u'exported':var.get(u'exported'),u'source':var.get(u'source')}) + var.get(u'exports').get(u'specifiers').callprop(u'push', PyJs_Object_168_) + if var.get(u'source').neg(): + PyJs_Object_169_ = Js({u'kind':Js(u'local'),u'local':var.get(u'local').get(u'name'),u'exported':var.get(u'exported')}) + var.get(u'exports').get(u'specifiers').callprop(u'push', PyJs_Object_169_) + + if var.get(u'path').callprop(u'isExportAllDeclaration'): + PyJs_Object_170_ = Js({u'kind':Js(u'external-all'),u'source':var.get(u'source')}) + var.get(u'exports').get(u'specifiers').callprop(u'push', PyJs_Object_170_) + PyJsHoisted_ExportDeclaration_.func_name = u'ExportDeclaration' + var.put(u'ExportDeclaration', PyJsHoisted_ExportDeclaration_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_155_ = Js({}) + var.put(u'newObj', PyJs_Object_155_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'ImportDeclaration', var.get(u'exports').put(u'ModuleDeclaration', var.get(u'undefined'))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.get(u'exports').put(u'ExportDeclaration', var.get(u'ExportDeclaration')) + var.get(u'exports').put(u'Scope', var.get(u'Scope')) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + @Js + def PyJs_enter_158_(path, file, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'file':file, u'enter':PyJs_enter_158_}, var) + var.registers([u'node', u'path', u'file']) + var.put(u'node', var.get(u'path').get(u'node')) + if var.get(u'node').get(u'source'): + var.get(u'node').get(u'source').put(u'value', var.get(u'file').callprop(u'resolveModuleSource', var.get(u'node').get(u'source').get(u'value'))) + PyJs_enter_158_._set_name(u'enter') + PyJs_Object_157_ = Js({u'enter':PyJs_enter_158_}) + var.put(u'ModuleDeclaration', var.get(u'exports').put(u'ModuleDeclaration', PyJs_Object_157_)) + @Js + def PyJs_exit_160_(path, file, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'exit':PyJs_exit_160_, u'arguments':arguments, u'file':file}, var) + var.registers([u'node', u'specifiers', u'_isArray', u'imported', u'file', u'specifier', u'_i', u'importedName', u'_iterator', u'_ref', u'path', u'local']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'specifiers', Js([])) + var.put(u'imported', Js([])) + PyJs_Object_161_ = Js({u'source':var.get(u'node').get(u'source').get(u'value'),u'imported':var.get(u'imported'),u'specifiers':var.get(u'specifiers')}) + var.get(u'file').get(u'metadata').get(u'modules').get(u'imports').callprop(u'push', PyJs_Object_161_) + #for JS loop + var.put(u'_iterator', var.get(u'path').callprop(u'get', Js(u'specifiers'))) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'specifier', var.get(u'_ref')) + var.put(u'local', var.get(u'specifier').get(u'node').get(u'local').get(u'name')) + if var.get(u'specifier').callprop(u'isImportDefaultSpecifier'): + var.get(u'imported').callprop(u'push', Js(u'default')) + PyJs_Object_162_ = Js({u'kind':Js(u'named'),u'imported':Js(u'default'),u'local':var.get(u'local')}) + var.get(u'specifiers').callprop(u'push', PyJs_Object_162_) + if var.get(u'specifier').callprop(u'isImportSpecifier'): + var.put(u'importedName', var.get(u'specifier').get(u'node').get(u'imported').get(u'name')) + var.get(u'imported').callprop(u'push', var.get(u'importedName')) + PyJs_Object_163_ = Js({u'kind':Js(u'named'),u'imported':var.get(u'importedName'),u'local':var.get(u'local')}) + var.get(u'specifiers').callprop(u'push', PyJs_Object_163_) + if var.get(u'specifier').callprop(u'isImportNamespaceSpecifier'): + var.get(u'imported').callprop(u'push', Js(u'*')) + PyJs_Object_164_ = Js({u'kind':Js(u'namespace'),u'local':var.get(u'local')}) + var.get(u'specifiers').callprop(u'push', PyJs_Object_164_) + + PyJs_exit_160_._set_name(u'exit') + PyJs_Object_159_ = Js({u'exit':PyJs_exit_160_}) + var.put(u'ImportDeclaration', var.get(u'exports').put(u'ImportDeclaration', PyJs_Object_159_)) + pass + pass +PyJs_anonymous_154_._set_name(u'anonymous') +PyJs_Object_171_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_172_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_173_(process, this, arguments, var=var): + var = Scope({u'process':process, u'this':this, u'arguments':arguments}, var) + var.registers([u'_resolve', u'existsCache', u'exists', u'_fs', u'process', u'buildConfigChain', u'_json2', u'_interopRequireDefault', u'_fs2', u'BABELIGNORE_FILENAME', u'_json', u'PACKAGE_FILENAME', u'jsonCache', u'_classCallCheck3', u'_classCallCheck2', u'_assign', u'BABELRC_FILENAME', u'_pathIsAbsolute2', u'_path2', u'_assign2', u'_resolve2', u'_pathIsAbsolute', u'ConfigChainBuilder', u'_path']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_174_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_174_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_buildConfigChain_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'builder', u'log', u'opts', u'filename']) + PyJs_Object_177_ = Js({}) + var.put(u'opts', (var.get(u'arguments').get(u'0') if ((var.get(u'arguments').get(u'length')>Js(0.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'0'),var.get(u'undefined'))) else PyJs_Object_177_)) + var.put(u'log', var.get(u'arguments').get(u'1')) + var.put(u'filename', var.get(u'opts').get(u'filename')) + var.put(u'builder', var.get(u'ConfigChainBuilder').create(var.get(u'log'))) + if PyJsStrictNeq(var.get(u'opts').get(u'babelrc'),Js(False)): + var.get(u'builder').callprop(u'findConfigs', var.get(u'filename')) + PyJs_Object_178_ = Js({u'options':var.get(u'opts'),u'alias':Js(u'base'),u'dirname':(var.get(u'filename') and var.get(u'_path2').get(u'default').callprop(u'dirname', var.get(u'filename')))}) + var.get(u'builder').callprop(u'mergeConfig', PyJs_Object_178_) + return var.get(u'builder').get(u'configs') + PyJsHoisted_buildConfigChain_.func_name = u'buildConfigChain' + var.put(u'buildConfigChain', PyJsHoisted_buildConfigChain_) + @Js + def PyJsHoisted_exists_(filename, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'filename':filename}, var) + var.registers([u'cached', u'filename']) + var.put(u'cached', var.get(u'existsCache').get(var.get(u'filename'))) + if (var.get(u'cached')==var.get(u"null")): + return var.get(u'existsCache').put(var.get(u'filename'), var.get(u'_fs2').get(u'default').callprop(u'existsSync', var.get(u'filename'))) + else: + return var.get(u'cached') + PyJsHoisted_exists_.func_name = u'exists' + var.put(u'exists', PyJsHoisted_exists_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_assign', var.get(u'require')(Js(u'babel-runtime/core-js/object/assign'))) + var.put(u'_assign2', var.get(u'_interopRequireDefault')(var.get(u'_assign'))) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.get(u'exports').put(u'default', var.get(u'buildConfigChain')) + var.put(u'_resolve', var.get(u'require')(Js(u'../../../helpers/resolve'))) + var.put(u'_resolve2', var.get(u'_interopRequireDefault')(var.get(u'_resolve'))) + var.put(u'_json', var.get(u'require')(Js(u'json5'))) + var.put(u'_json2', var.get(u'_interopRequireDefault')(var.get(u'_json'))) + var.put(u'_pathIsAbsolute', var.get(u'require')(Js(u'path-is-absolute'))) + var.put(u'_pathIsAbsolute2', var.get(u'_interopRequireDefault')(var.get(u'_pathIsAbsolute'))) + var.put(u'_path', var.get(u'require')(Js(u'path'))) + var.put(u'_path2', var.get(u'_interopRequireDefault')(var.get(u'_path'))) + var.put(u'_fs', var.get(u'require')(Js(u'fs'))) + var.put(u'_fs2', var.get(u'_interopRequireDefault')(var.get(u'_fs'))) + pass + PyJs_Object_175_ = Js({}) + var.put(u'existsCache', PyJs_Object_175_) + PyJs_Object_176_ = Js({}) + var.put(u'jsonCache', PyJs_Object_176_) + var.put(u'BABELIGNORE_FILENAME', Js(u'.babelignore')) + var.put(u'BABELRC_FILENAME', Js(u'.babelrc')) + var.put(u'PACKAGE_FILENAME', Js(u'package.json')) + pass + pass + @Js + def PyJs_anonymous_179_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'ConfigChainBuilder']) + @Js + def PyJsHoisted_ConfigChainBuilder_(log, this, arguments, var=var): + var = Scope({u'this':this, u'log':log, u'arguments':arguments}, var) + var.registers([u'log']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'ConfigChainBuilder')) + var.get(u"this").put(u'resolvedConfigs', Js([])) + var.get(u"this").put(u'configs', Js([])) + var.get(u"this").put(u'log', var.get(u'log')) + PyJsHoisted_ConfigChainBuilder_.func_name = u'ConfigChainBuilder' + var.put(u'ConfigChainBuilder', PyJsHoisted_ConfigChainBuilder_) + pass + @Js + def PyJs_findConfigs_180_(loc, this, arguments, var=var): + var = Scope({u'this':this, u'loc':loc, u'arguments':arguments, u'findConfigs':PyJs_findConfigs_180_}, var) + var.registers([u'loc', u'ignoreLoc', u'foundIgnore', u'pkgLoc', u'foundConfig', u'configLoc']) + if var.get(u'loc').neg(): + return var.get('undefined') + if PyJsComma(Js(0.0),var.get(u'_pathIsAbsolute2').get(u'default'))(var.get(u'loc')).neg(): + var.put(u'loc', var.get(u'_path2').get(u'default').callprop(u'join', var.get(u'process').callprop(u'cwd'), var.get(u'loc'))) + var.put(u'foundConfig', Js(False)) + var.put(u'foundIgnore', Js(False)) + while PyJsStrictNeq(var.get(u'loc'),var.put(u'loc', var.get(u'_path2').get(u'default').callprop(u'dirname', var.get(u'loc')))): + if var.get(u'foundConfig').neg(): + var.put(u'configLoc', var.get(u'_path2').get(u'default').callprop(u'join', var.get(u'loc'), var.get(u'BABELRC_FILENAME'))) + if var.get(u'exists')(var.get(u'configLoc')): + var.get(u"this").callprop(u'addConfig', var.get(u'configLoc')) + var.put(u'foundConfig', var.get(u'true')) + var.put(u'pkgLoc', var.get(u'_path2').get(u'default').callprop(u'join', var.get(u'loc'), var.get(u'PACKAGE_FILENAME'))) + if (var.get(u'foundConfig').neg() and var.get(u'exists')(var.get(u'pkgLoc'))): + var.put(u'foundConfig', var.get(u"this").callprop(u'addConfig', var.get(u'pkgLoc'), Js(u'babel'), var.get(u'JSON'))) + if var.get(u'foundIgnore').neg(): + var.put(u'ignoreLoc', var.get(u'_path2').get(u'default').callprop(u'join', var.get(u'loc'), var.get(u'BABELIGNORE_FILENAME'))) + if var.get(u'exists')(var.get(u'ignoreLoc')): + var.get(u"this").callprop(u'addIgnoreConfig', var.get(u'ignoreLoc')) + var.put(u'foundIgnore', var.get(u'true')) + if (var.get(u'foundIgnore') and var.get(u'foundConfig')): + return var.get('undefined') + PyJs_findConfigs_180_._set_name(u'findConfigs') + var.get(u'ConfigChainBuilder').get(u'prototype').put(u'findConfigs', PyJs_findConfigs_180_) + @Js + def PyJs_addIgnoreConfig_181_(loc, this, arguments, var=var): + var = Scope({u'this':this, u'loc':loc, u'arguments':arguments, u'addIgnoreConfig':PyJs_addIgnoreConfig_181_}, var) + var.registers([u'loc', u'lines', u'file']) + var.put(u'file', var.get(u'_fs2').get(u'default').callprop(u'readFileSync', var.get(u'loc'), Js(u'utf8'))) + var.put(u'lines', var.get(u'file').callprop(u'split', Js(u'\n'))) + @Js + def PyJs_anonymous_182_(line, this, arguments, var=var): + var = Scope({u'this':this, u'line':line, u'arguments':arguments}, var) + var.registers([u'line']) + return var.get(u'line').neg().neg() + PyJs_anonymous_182_._set_name(u'anonymous') + @Js + def PyJs_anonymous_183_(line, this, arguments, var=var): + var = Scope({u'this':this, u'line':line, u'arguments':arguments}, var) + var.registers([u'line']) + return var.get(u'line').callprop(u'replace', JsRegExp(u'/#(.*?)$/'), Js(u'')).callprop(u'trim') + PyJs_anonymous_183_._set_name(u'anonymous') + var.put(u'lines', var.get(u'lines').callprop(u'map', PyJs_anonymous_183_).callprop(u'filter', PyJs_anonymous_182_)) + if var.get(u'lines').get(u'length'): + PyJs_Object_185_ = Js({u'ignore':var.get(u'lines')}) + PyJs_Object_184_ = Js({u'options':PyJs_Object_185_,u'alias':var.get(u'loc'),u'dirname':var.get(u'_path2').get(u'default').callprop(u'dirname', var.get(u'loc'))}) + var.get(u"this").callprop(u'mergeConfig', PyJs_Object_184_) + PyJs_addIgnoreConfig_181_._set_name(u'addIgnoreConfig') + var.get(u'ConfigChainBuilder').get(u'prototype').put(u'addIgnoreConfig', PyJs_addIgnoreConfig_181_) + @Js + def PyJs_addConfig_186_(loc, key, this, arguments, var=var): + var = Scope({u'this':this, u'loc':loc, u'addConfig':PyJs_addConfig_186_, u'arguments':arguments, u'key':key}, var) + var.registers([u'content', u'loc', u'json', u'options', u'key']) + var.put(u'json', (var.get(u'arguments').get(u'2') if ((var.get(u'arguments').get(u'length')>Js(2.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'2'),var.get(u'undefined'))) else var.get(u'_json2').get(u'default'))) + if (var.get(u"this").get(u'resolvedConfigs').callprop(u'indexOf', var.get(u'loc'))>=Js(0.0)): + return Js(False) + var.get(u"this").get(u'resolvedConfigs').callprop(u'push', var.get(u'loc')) + var.put(u'content', var.get(u'_fs2').get(u'default').callprop(u'readFileSync', var.get(u'loc'), Js(u'utf8'))) + var.put(u'options', PyJsComma(Js(0.0), Js(None))) + try: + var.put(u'options', var.get(u'jsonCache').put(var.get(u'content'), (var.get(u'jsonCache').get(var.get(u'content')) or var.get(u'json').callprop(u'parse', var.get(u'content'))))) + if var.get(u'key'): + var.put(u'options', var.get(u'options').get(var.get(u'key'))) + except PyJsException as PyJsTempException: + PyJsHolder_657272_93340872 = var.own.get(u'err') + var.force_own_put(u'err', PyExceptionToJs(PyJsTempException)) + try: + var.get(u'err').put(u'message', ((var.get(u'loc')+Js(u': Error while parsing JSON - '))+var.get(u'err').get(u'message'))) + PyJsTempException = JsToPyException(var.get(u'err')) + raise PyJsTempException + finally: + if PyJsHolder_657272_93340872 is not None: + var.own[u'err'] = PyJsHolder_657272_93340872 + else: + del var.own[u'err'] + del PyJsHolder_657272_93340872 + PyJs_Object_187_ = Js({u'options':var.get(u'options'),u'alias':var.get(u'loc'),u'dirname':var.get(u'_path2').get(u'default').callprop(u'dirname', var.get(u'loc'))}) + var.get(u"this").callprop(u'mergeConfig', PyJs_Object_187_) + return var.get(u'options').neg().neg() + PyJs_addConfig_186_._set_name(u'addConfig') + var.get(u'ConfigChainBuilder').get(u'prototype').put(u'addConfig', PyJs_addConfig_186_) + @Js + def PyJs_mergeConfig_188_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments, u'mergeConfig':PyJs_mergeConfig_188_}, var) + var.registers([u'loc', u'envOpts', u'alias', u'envKey', u'extendsLoc', u'_ref', u'dirname', u'options']) + var.put(u'options', var.get(u'_ref').get(u'options')) + var.put(u'alias', var.get(u'_ref').get(u'alias')) + var.put(u'loc', var.get(u'_ref').get(u'loc')) + var.put(u'dirname', var.get(u'_ref').get(u'dirname')) + if var.get(u'options').neg(): + return Js(False) + PyJs_Object_189_ = Js({}) + var.put(u'options', PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(PyJs_Object_189_, var.get(u'options'))) + var.put(u'dirname', (var.get(u'dirname') or var.get(u'process').callprop(u'cwd'))) + var.put(u'loc', (var.get(u'loc') or var.get(u'alias'))) + if var.get(u'options').get(u'extends'): + var.put(u'extendsLoc', PyJsComma(Js(0.0),var.get(u'_resolve2').get(u'default'))(var.get(u'options').get(u'extends'), var.get(u'dirname'))) + if var.get(u'extendsLoc'): + var.get(u"this").callprop(u'addConfig', var.get(u'extendsLoc')) + else: + if var.get(u"this").get(u'log'): + var.get(u"this").get(u'log').callprop(u'error', (((Js(u"Couldn't resolve extends clause of ")+var.get(u'options').get(u'extends'))+Js(u' in '))+var.get(u'alias'))) + var.get(u'options').delete(u'extends') + PyJs_Object_190_ = Js({u'options':var.get(u'options'),u'alias':var.get(u'alias'),u'loc':var.get(u'loc'),u'dirname':var.get(u'dirname')}) + var.get(u"this").get(u'configs').callprop(u'push', PyJs_Object_190_) + var.put(u'envOpts', PyJsComma(Js(0.0), Js(None))) + var.put(u'envKey', ((var.get(u'process').get(u'env').get(u'BABEL_ENV') or var.get(u'process').get(u'env').get(u'NODE_ENV')) or Js(u'development'))) + if var.get(u'options').get(u'env'): + var.put(u'envOpts', var.get(u'options').get(u'env').get(var.get(u'envKey'))) + var.get(u'options').delete(u'env') + PyJs_Object_191_ = Js({u'options':var.get(u'envOpts'),u'alias':((var.get(u'alias')+Js(u'.env.'))+var.get(u'envKey')),u'dirname':var.get(u'dirname')}) + var.get(u"this").callprop(u'mergeConfig', PyJs_Object_191_) + PyJs_mergeConfig_188_._set_name(u'mergeConfig') + var.get(u'ConfigChainBuilder').get(u'prototype').put(u'mergeConfig', PyJs_mergeConfig_188_) + return var.get(u'ConfigChainBuilder') + PyJs_anonymous_179_._set_name(u'anonymous') + var.put(u'ConfigChainBuilder', PyJs_anonymous_179_()) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) + PyJs_anonymous_173_._set_name(u'anonymous') + PyJs_anonymous_173_.callprop(u'call', var.get(u"this"), var.get(u'require')(Js(u'_process'))) +PyJs_anonymous_172_._set_name(u'anonymous') +PyJs_Object_192_ = Js({u'../../../helpers/resolve':Js(9.0),u'_process':Js(531.0),u'babel-runtime/core-js/object/assign':Js(100.0),u'babel-runtime/helpers/classCallCheck':Js(110.0),u'fs':Js(523.0),u'json5':Js(284.0),u'path':Js(530.0),u'path-is-absolute':Js(499.0)}) +@Js +def PyJs_anonymous_193_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + Js(u'use strict') + PyJs_Object_195_ = Js({u'type':Js(u'filename'),u'description':Js(u'filename to use when reading from stdin - this will be used in source-maps, errors etc'),u'default':Js(u'unknown'),u'shorthand':Js(u'f')}) + PyJs_Object_196_ = Js({u'hidden':var.get(u'true'),u'type':Js(u'string')}) + PyJs_Object_197_ = Js({u'hidden':var.get(u'true')}) + PyJs_Object_199_ = Js({}) + PyJs_Object_198_ = Js({u'hidden':var.get(u'true'),u'default':PyJs_Object_199_}) + PyJs_Object_200_ = Js({u'description':Js(u''),u'hidden':var.get(u'true')}) + PyJs_Object_201_ = Js({u'type':Js(u'boolean'),u'default':Js(False),u'description':Js(u'retain line numbers - will result in really ugly code')}) + PyJs_Object_202_ = Js({u'description':Js(u'enable/disable ANSI syntax highlighting of code frames (on by default)'),u'type':Js(u'boolean'),u'default':var.get(u'true')}) + PyJs_Object_203_ = Js({u'type':Js(u'boolean'),u'default':Js(False),u'hidden':var.get(u'true')}) + PyJs_Object_204_ = Js({u'type':Js(u'list'),u'description':Js(u''),u'default':Js([])}) + PyJs_Object_205_ = Js({u'type':Js(u'list'),u'default':Js([]),u'description':Js(u'')}) + PyJs_Object_206_ = Js({u'type':Js(u'list'),u'description':Js(u'list of glob paths to **not** compile'),u'default':Js([])}) + PyJs_Object_207_ = Js({u'type':Js(u'list'),u'description':Js(u'list of glob paths to **only** compile')}) + PyJs_Object_208_ = Js({u'hidden':var.get(u'true'),u'default':var.get(u'true'),u'type':Js(u'boolean')}) + PyJs_Object_209_ = Js({u'hidden':var.get(u'true'),u'default':var.get(u'true'),u'type':Js(u'boolean')}) + PyJs_Object_210_ = Js({u'hidden':var.get(u'true'),u'default':var.get(u'true'),u'type':Js(u'boolean')}) + PyJs_Object_211_ = Js({u'type':Js(u'string'),u'hidden':var.get(u'true')}) + PyJs_Object_212_ = Js({u'type':Js(u'boolean'),u'default':var.get(u'true'),u'description':Js(u'write comments to generated output (true by default)')}) + PyJs_Object_213_ = Js({u'hidden':var.get(u'true'),u'description':Js(u'optional callback to control whether a comment should be inserted, when this is used the comments option is ignored')}) + PyJs_Object_214_ = Js({u'hidden':var.get(u'true'),u'description':Js(u'optional callback to wrap all visitor methods')}) + PyJs_Object_215_ = Js({u'type':Js(u'booleanString'),u'default':Js(u'auto'),u'description':Js(u'do not include superfluous whitespace characters and line terminators [true|false|auto]')}) + PyJs_Object_216_ = Js({u'type':Js(u'boolean'),u'default':Js(False),u'description':Js(u'save as much bytes when printing [true|false]')}) + PyJs_Object_217_ = Js({u'alias':Js(u'sourceMaps'),u'hidden':var.get(u'true')}) + PyJs_Object_218_ = Js({u'type':Js(u'booleanString'),u'description':Js(u'[true|false|inline]'),u'default':Js(False),u'shorthand':Js(u's')}) + PyJs_Object_219_ = Js({u'type':Js(u'string'),u'description':Js(u'set `file` on returned source map')}) + PyJs_Object_220_ = Js({u'type':Js(u'string'),u'description':Js(u'set `sources[0]` on returned source map')}) + PyJs_Object_221_ = Js({u'type':Js(u'filename'),u'description':Js(u'the root from which all sources are relative')}) + PyJs_Object_222_ = Js({u'description':Js(u'Whether or not to look up .babelrc and .babelignore files'),u'type':Js(u'boolean'),u'default':var.get(u'true')}) + PyJs_Object_223_ = Js({u'description':Js(u''),u'default':Js(u'module')}) + PyJs_Object_224_ = Js({u'type':Js(u'string'),u'description':Js(u'print a comment before any injected non-user code')}) + PyJs_Object_225_ = Js({u'type':Js(u'string'),u'description':Js(u'print a comment after any injected non-user code')}) + PyJs_Object_226_ = Js({u'hidden':var.get(u'true')}) + PyJs_Object_227_ = Js({u'hidden':var.get(u'true')}) + PyJs_Object_228_ = Js({u'type':Js(u'filename'),u'description':Js(u'optional prefix for the AMD module formatter that will be prepend to the filename on module definitions')}) + PyJs_Object_229_ = Js({u'type':Js(u'boolean'),u'default':Js(False),u'shorthand':Js(u'M'),u'description':Js(u'insert an explicit id for modules')}) + PyJs_Object_230_ = Js({u'description':Js(u'specify a custom name for module ids'),u'type':Js(u'string')}) + PyJs_Object_231_ = Js({u'description':Js(u'Whether to spawn a traversal pass per a preset. By default all presets are merged.'),u'type':Js(u'boolean'),u'default':Js(False),u'hidden':var.get(u'true')}) + PyJs_Object_232_ = Js({u'description':Js(u'Options to pass into the parser, or to change parsers (parserOpts.parser)'),u'default':Js(False)}) + PyJs_Object_233_ = Js({u'description':Js(u'Options to pass into the generator, or to change generators (generatorOpts.generator)'),u'default':Js(False)}) + PyJs_Object_194_ = Js({u'filename':PyJs_Object_195_,u'filenameRelative':PyJs_Object_196_,u'inputSourceMap':PyJs_Object_197_,u'env':PyJs_Object_198_,u'mode':PyJs_Object_200_,u'retainLines':PyJs_Object_201_,u'highlightCode':PyJs_Object_202_,u'suppressDeprecationMessages':PyJs_Object_203_,u'presets':PyJs_Object_204_,u'plugins':PyJs_Object_205_,u'ignore':PyJs_Object_206_,u'only':PyJs_Object_207_,u'code':PyJs_Object_208_,u'metadata':PyJs_Object_209_,u'ast':PyJs_Object_210_,u'extends':PyJs_Object_211_,u'comments':PyJs_Object_212_,u'shouldPrintComment':PyJs_Object_213_,u'wrapPluginVisitorMethod':PyJs_Object_214_,u'compact':PyJs_Object_215_,u'minified':PyJs_Object_216_,u'sourceMap':PyJs_Object_217_,u'sourceMaps':PyJs_Object_218_,u'sourceMapTarget':PyJs_Object_219_,u'sourceFileName':PyJs_Object_220_,u'sourceRoot':PyJs_Object_221_,u'babelrc':PyJs_Object_222_,u'sourceType':PyJs_Object_223_,u'auxiliaryCommentBefore':PyJs_Object_224_,u'auxiliaryCommentAfter':PyJs_Object_225_,u'resolveModuleSource':PyJs_Object_226_,u'getModuleId':PyJs_Object_227_,u'moduleRoot':PyJs_Object_228_,u'moduleIds':PyJs_Object_229_,u'moduleId':PyJs_Object_230_,u'passPerPreset':PyJs_Object_231_,u'parserOpts':PyJs_Object_232_,u'generatorOpts':PyJs_Object_233_}) + var.get(u'module').put(u'exports', PyJs_Object_194_) +PyJs_anonymous_193_._set_name(u'anonymous') +PyJs_Object_234_ = Js({}) +@Js +def PyJs_anonymous_235_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_config', u'_interopRequireWildcard', u'_parsers', u'require', u'exports', u'module', u'normaliseOptions', u'parsers', u'_config2', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_236_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_236_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_normaliseOptions_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'opt', u'val', u'parser', u'options', u'key']) + PyJs_Object_238_ = Js({}) + var.put(u'options', (var.get(u'arguments').get(u'0') if ((var.get(u'arguments').get(u'length')>Js(0.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'0'),var.get(u'undefined'))) else PyJs_Object_238_)) + for PyJsTemp in var.get(u'options'): + var.put(u'key', PyJsTemp) + var.put(u'val', var.get(u'options').get(var.get(u'key'))) + if (var.get(u'val')==var.get(u"null")): + continue + var.put(u'opt', var.get(u'_config2').get(u'default').get(var.get(u'key'))) + if (var.get(u'opt') and var.get(u'opt').get(u'alias')): + var.put(u'opt', var.get(u'_config2').get(u'default').get(var.get(u'opt').get(u'alias'))) + if var.get(u'opt').neg(): + continue + var.put(u'parser', var.get(u'parsers').get(var.get(u'opt').get(u'type'))) + if var.get(u'parser'): + var.put(u'val', var.get(u'parser')(var.get(u'val'))) + var.get(u'options').put(var.get(u'key'), var.get(u'val')) + return var.get(u'options') + PyJsHoisted_normaliseOptions_.func_name = u'normaliseOptions' + var.put(u'normaliseOptions', PyJsHoisted_normaliseOptions_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_237_ = Js({}) + var.put(u'newObj', PyJs_Object_237_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'config', var.get(u'undefined')) + var.get(u'exports').put(u'normaliseOptions', var.get(u'normaliseOptions')) + var.put(u'_parsers', var.get(u'require')(Js(u'./parsers'))) + var.put(u'parsers', var.get(u'_interopRequireWildcard')(var.get(u'_parsers'))) + var.put(u'_config', var.get(u'require')(Js(u'./config'))) + var.put(u'_config2', var.get(u'_interopRequireDefault')(var.get(u'_config'))) + pass + pass + var.get(u'exports').put(u'config', var.get(u'_config2').get(u'default')) + pass +PyJs_anonymous_235_._set_name(u'anonymous') +PyJs_Object_239_ = Js({u'./config':Js(16.0),u'./parsers':Js(19.0)}) +@Js +def PyJs_anonymous_240_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_241_(process, this, arguments, var=var): + var = Scope({u'process':process, u'this':this, u'arguments':arguments}, var) + var.registers([u'_resolve', u'_plugin2', u'_plugin3', u'_interopRequireDefault', u'_merge', u'_clone', u'_getIterator2', u'_getIterator3', u'_path2', u'_typeof2', u'_typeof3', u'process', u'_node', u'_removed', u'_objectWithoutProperties2', u'_classCallCheck3', u'_classCallCheck2', u'_babelMessages', u'_stringify2', u'OptionManager', u'_interopRequireWildcard', u'_assign', u'_config3', u'_config2', u'_buildConfigChain2', u'_merge2', u'_assign2', u'_resolve2', u'_index', u'messages', u'_cloneDeepWith2', u'_clone2', u'_stringify', u'_objectWithoutProperties3', u'context', u'_removed2', u'_path', u'_cloneDeepWith', u'_buildConfigChain']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_243_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_243_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_242_ = Js({}) + var.put(u'newObj', PyJs_Object_242_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_objectWithoutProperties2', var.get(u'require')(Js(u'babel-runtime/helpers/objectWithoutProperties'))) + var.put(u'_objectWithoutProperties3', var.get(u'_interopRequireDefault')(var.get(u'_objectWithoutProperties2'))) + var.put(u'_stringify', var.get(u'require')(Js(u'babel-runtime/core-js/json/stringify'))) + var.put(u'_stringify2', var.get(u'_interopRequireDefault')(var.get(u'_stringify'))) + var.put(u'_assign', var.get(u'require')(Js(u'babel-runtime/core-js/object/assign'))) + var.put(u'_assign2', var.get(u'_interopRequireDefault')(var.get(u'_assign'))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_typeof2', var.get(u'require')(Js(u'babel-runtime/helpers/typeof'))) + var.put(u'_typeof3', var.get(u'_interopRequireDefault')(var.get(u'_typeof2'))) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.put(u'_node', var.get(u'require')(Js(u'../../../api/node'))) + var.put(u'context', var.get(u'_interopRequireWildcard')(var.get(u'_node'))) + var.put(u'_plugin2', var.get(u'require')(Js(u'../../plugin'))) + var.put(u'_plugin3', var.get(u'_interopRequireDefault')(var.get(u'_plugin2'))) + var.put(u'_babelMessages', var.get(u'require')(Js(u'babel-messages'))) + var.put(u'messages', var.get(u'_interopRequireWildcard')(var.get(u'_babelMessages'))) + var.put(u'_index', var.get(u'require')(Js(u'./index'))) + var.put(u'_resolve', var.get(u'require')(Js(u'../../../helpers/resolve'))) + var.put(u'_resolve2', var.get(u'_interopRequireDefault')(var.get(u'_resolve'))) + var.put(u'_cloneDeepWith', var.get(u'require')(Js(u'lodash/cloneDeepWith'))) + var.put(u'_cloneDeepWith2', var.get(u'_interopRequireDefault')(var.get(u'_cloneDeepWith'))) + var.put(u'_clone', var.get(u'require')(Js(u'lodash/clone'))) + var.put(u'_clone2', var.get(u'_interopRequireDefault')(var.get(u'_clone'))) + var.put(u'_merge', var.get(u'require')(Js(u'../../../helpers/merge'))) + var.put(u'_merge2', var.get(u'_interopRequireDefault')(var.get(u'_merge'))) + var.put(u'_config2', var.get(u'require')(Js(u'./config'))) + var.put(u'_config3', var.get(u'_interopRequireDefault')(var.get(u'_config2'))) + var.put(u'_removed', var.get(u'require')(Js(u'./removed'))) + var.put(u'_removed2', var.get(u'_interopRequireDefault')(var.get(u'_removed'))) + var.put(u'_buildConfigChain', var.get(u'require')(Js(u'./build-config-chain'))) + var.put(u'_buildConfigChain2', var.get(u'_interopRequireDefault')(var.get(u'_buildConfigChain'))) + var.put(u'_path', var.get(u'require')(Js(u'path'))) + var.put(u'_path2', var.get(u'_interopRequireDefault')(var.get(u'_path'))) + pass + pass + @Js + def PyJs_anonymous_244_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'OptionManager']) + @Js + def PyJsHoisted_OptionManager_(log, this, arguments, var=var): + var = Scope({u'this':this, u'log':log, u'arguments':arguments}, var) + var.registers([u'log']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'OptionManager')) + var.get(u"this").put(u'resolvedConfigs', Js([])) + var.get(u"this").put(u'options', var.get(u'OptionManager').callprop(u'createBareOptions')) + var.get(u"this").put(u'log', var.get(u'log')) + PyJsHoisted_OptionManager_.func_name = u'OptionManager' + var.put(u'OptionManager', PyJsHoisted_OptionManager_) + pass + @Js + def PyJs_memoisePluginContainer_245_(fn, loc, i, alias, this, arguments, var=var): + var = Scope({u'loc':loc, u'arguments':arguments, u'alias':alias, u'i':i, u'memoisePluginContainer':PyJs_memoisePluginContainer_245_, u'this':this, u'fn':fn}, var) + var.registers([u'_plugin', u'_isArray', u'obj', u'loc', u'i', u'cache', u'alias', u'_i', u'_iterator', u'_ref', u'fn']) + #for JS loop + var.put(u'_iterator', var.get(u'OptionManager').get(u'memoisedPlugins')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'cache', var.get(u'_ref')) + if PyJsStrictEq(var.get(u'cache').get(u'container'),var.get(u'fn')): + return var.get(u'cache').get(u'plugin') + + var.put(u'obj', PyJsComma(Js(0.0), Js(None))) + if PyJsStrictEq(var.get(u'fn',throw=False).typeof(),Js(u'function')): + var.put(u'obj', var.get(u'fn')(var.get(u'context'))) + else: + var.put(u'obj', var.get(u'fn')) + if PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'obj',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'obj'))),Js(u'object')): + var.put(u'_plugin', var.get(u'_plugin3').get(u'default').create(var.get(u'obj'), var.get(u'alias'))) + PyJs_Object_246_ = Js({u'container':var.get(u'fn'),u'plugin':var.get(u'_plugin')}) + var.get(u'OptionManager').get(u'memoisedPlugins').callprop(u'push', PyJs_Object_246_) + return var.get(u'_plugin') + else: + PyJsTempException = JsToPyException(var.get(u'TypeError').create(((var.get(u'messages').callprop(u'get', Js(u'pluginNotObject'), var.get(u'loc'), var.get(u'i'), (Js(u'undefined') if PyJsStrictEq(var.get(u'obj',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'obj'))))+var.get(u'loc'))+var.get(u'i')))) + raise PyJsTempException + PyJs_memoisePluginContainer_245_._set_name(u'memoisePluginContainer') + var.get(u'OptionManager').put(u'memoisePluginContainer', PyJs_memoisePluginContainer_245_) + @Js + def PyJs_createBareOptions_247_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'createBareOptions':PyJs_createBareOptions_247_}, var) + var.registers([u'_key', u'opt', u'opts']) + PyJs_Object_248_ = Js({}) + var.put(u'opts', PyJs_Object_248_) + for PyJsTemp in var.get(u'_config3').get(u'default'): + var.put(u'_key', PyJsTemp) + var.put(u'opt', var.get(u'_config3').get(u'default').get(var.get(u'_key'))) + var.get(u'opts').put(var.get(u'_key'), PyJsComma(Js(0.0),var.get(u'_clone2').get(u'default'))(var.get(u'opt').get(u'default'))) + return var.get(u'opts') + PyJs_createBareOptions_247_._set_name(u'createBareOptions') + var.get(u'OptionManager').put(u'createBareOptions', PyJs_createBareOptions_247_) + @Js + def PyJs_normalisePlugin_249_(plugin, loc, i, alias, this, arguments, var=var): + var = Scope({u'loc':loc, u'normalisePlugin':PyJs_normalisePlugin_249_, u'arguments':arguments, u'alias':alias, u'i':i, u'plugin':plugin, u'this':this}, var) + var.registers([u'i', u'loc', u'alias', u'plugin']) + var.put(u'plugin', (var.get(u'plugin').get(u'default') if var.get(u'plugin').get(u'__esModule') else var.get(u'plugin'))) + if var.get(u'plugin').instanceof(var.get(u'_plugin3').get(u'default')).neg(): + if (PyJsStrictEq(var.get(u'plugin',throw=False).typeof(),Js(u'function')) or PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'plugin',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'plugin'))),Js(u'object'))): + var.put(u'plugin', var.get(u'OptionManager').callprop(u'memoisePluginContainer', var.get(u'plugin'), var.get(u'loc'), var.get(u'i'), var.get(u'alias'))) + else: + PyJsTempException = JsToPyException(var.get(u'TypeError').create(var.get(u'messages').callprop(u'get', Js(u'pluginNotFunction'), var.get(u'loc'), var.get(u'i'), (Js(u'undefined') if PyJsStrictEq(var.get(u'plugin',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'plugin')))))) + raise PyJsTempException + var.get(u'plugin').callprop(u'init', var.get(u'loc'), var.get(u'i')) + return var.get(u'plugin') + PyJs_normalisePlugin_249_._set_name(u'normalisePlugin') + var.get(u'OptionManager').put(u'normalisePlugin', PyJs_normalisePlugin_249_) + @Js + def PyJs_normalisePlugins_250_(loc, dirname, plugins, this, arguments, var=var): + var = Scope({u'loc':loc, u'this':this, u'normalisePlugins':PyJs_normalisePlugins_250_, u'arguments':arguments, u'plugins':plugins, u'dirname':dirname}, var) + var.registers([u'loc', u'dirname', u'plugins']) + @Js + def PyJs_anonymous_251_(val, i, this, arguments, var=var): + var = Scope({u'i':i, u'this':this, u'arguments':arguments, u'val':val}, var) + var.registers([u'val', u'plugin', u'i', u'pluginLoc', u'alias', u'options']) + var.put(u'plugin', PyJsComma(Js(0.0), Js(None))) + var.put(u'options', PyJsComma(Js(0.0), Js(None))) + if var.get(u'val').neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Falsy value found in plugins'))) + raise PyJsTempException + if var.get(u'Array').callprop(u'isArray', var.get(u'val')): + var.put(u'plugin', var.get(u'val').get(u'0')) + var.put(u'options', var.get(u'val').get(u'1')) + else: + var.put(u'plugin', var.get(u'val')) + var.put(u'alias', (var.get(u'plugin') if PyJsStrictEq(var.get(u'plugin',throw=False).typeof(),Js(u'string')) else ((var.get(u'loc')+Js(u'$'))+var.get(u'i')))) + if PyJsStrictEq(var.get(u'plugin',throw=False).typeof(),Js(u'string')): + var.put(u'pluginLoc', (PyJsComma(Js(0.0),var.get(u'_resolve2').get(u'default'))((Js(u'babel-plugin-')+var.get(u'plugin')), var.get(u'dirname')) or PyJsComma(Js(0.0),var.get(u'_resolve2').get(u'default'))(var.get(u'plugin'), var.get(u'dirname')))) + if var.get(u'pluginLoc'): + var.put(u'plugin', var.get(u'require')(var.get(u'pluginLoc'))) + else: + PyJsTempException = JsToPyException(var.get(u'ReferenceError').create(var.get(u'messages').callprop(u'get', Js(u'pluginUnknown'), var.get(u'plugin'), var.get(u'loc'), var.get(u'i'), var.get(u'dirname')))) + raise PyJsTempException + var.put(u'plugin', var.get(u'OptionManager').callprop(u'normalisePlugin', var.get(u'plugin'), var.get(u'loc'), var.get(u'i'), var.get(u'alias'))) + return Js([var.get(u'plugin'), var.get(u'options')]) + PyJs_anonymous_251_._set_name(u'anonymous') + return var.get(u'plugins').callprop(u'map', PyJs_anonymous_251_) + PyJs_normalisePlugins_250_._set_name(u'normalisePlugins') + var.get(u'OptionManager').put(u'normalisePlugins', PyJs_normalisePlugins_250_) + @Js + def PyJs_mergeOptions_252_(_ref2, this, arguments, var=var): + var = Scope({u'this':this, u'mergeOptions':PyJs_mergeOptions_252_, u'_ref2':_ref2, u'arguments':arguments}, var) + var.registers([u'loc', u'presetConfigErr', u'dirname', u'option', u'_this', u'unknownOptErr', u'_ref2', u'extendingOpts', u'alias', u'_key2', u'rawOpts', u'opts']) + var.put(u'_this', var.get(u"this")) + var.put(u'rawOpts', var.get(u'_ref2').get(u'options')) + var.put(u'extendingOpts', var.get(u'_ref2').get(u'extending')) + var.put(u'alias', var.get(u'_ref2').get(u'alias')) + var.put(u'loc', var.get(u'_ref2').get(u'loc')) + var.put(u'dirname', var.get(u'_ref2').get(u'dirname')) + var.put(u'alias', (var.get(u'alias') or Js(u'foreign'))) + if var.get(u'rawOpts').neg(): + return var.get('undefined') + if (PyJsStrictNeq((Js(u'undefined') if PyJsStrictEq(var.get(u'rawOpts',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'rawOpts'))),Js(u'object')) or var.get(u'Array').callprop(u'isArray', var.get(u'rawOpts'))): + var.get(u"this").get(u'log').callprop(u'error', (Js(u'Invalid options type for ')+var.get(u'alias')), var.get(u'TypeError')) + @Js + def PyJs_anonymous_253_(val, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'val':val}, var) + var.registers([u'val']) + if var.get(u'val').instanceof(var.get(u'_plugin3').get(u'default')): + return var.get(u'val') + PyJs_anonymous_253_._set_name(u'anonymous') + var.put(u'opts', PyJsComma(Js(0.0),var.get(u'_cloneDeepWith2').get(u'default'))(var.get(u'rawOpts'), PyJs_anonymous_253_)) + var.put(u'dirname', (var.get(u'dirname') or var.get(u'process').callprop(u'cwd'))) + var.put(u'loc', (var.get(u'loc') or var.get(u'alias'))) + for PyJsTemp in var.get(u'opts'): + var.put(u'_key2', PyJsTemp) + var.put(u'option', var.get(u'_config3').get(u'default').get(var.get(u'_key2'))) + if (var.get(u'option').neg() and var.get(u"this").get(u'log')): + if var.get(u'_removed2').get(u'default').get(var.get(u'_key2')): + var.get(u"this").get(u'log').callprop(u'error', (((((Js(u'Using removed Babel 5 option: ')+var.get(u'alias'))+Js(u'.'))+var.get(u'_key2'))+Js(u' - '))+var.get(u'_removed2').get(u'default').get(var.get(u'_key2')).get(u'message')), var.get(u'ReferenceError')) + else: + var.put(u'unknownOptErr', ((((Js(u'Unknown option: ')+var.get(u'alias'))+Js(u'.'))+var.get(u'_key2'))+Js(u'. Check out http://babeljs.io/docs/usage/options/ for more information about options.'))) + var.put(u'presetConfigErr', Js(u"A common cause of this error is the presence of a configuration options object without the corresponding preset name. Example:\n\nInvalid:\n `{ presets: [{option: value}] }`\nValid:\n `{ presets: [['presetName', {option: value}]] }`\n\nFor more detailed information on preset configuration, please see http://babeljs.io/docs/plugins/#pluginpresets-options.")) + var.get(u"this").get(u'log').callprop(u'error', ((var.get(u'unknownOptErr')+Js(u'\n\n'))+var.get(u'presetConfigErr')), var.get(u'ReferenceError')) + PyJsComma(Js(0.0),var.get(u'_index').get(u'normaliseOptions'))(var.get(u'opts')) + if var.get(u'opts').get(u'plugins'): + var.get(u'opts').put(u'plugins', var.get(u'OptionManager').callprop(u'normalisePlugins', var.get(u'loc'), var.get(u'dirname'), var.get(u'opts').get(u'plugins'))) + if var.get(u'opts').get(u'presets'): + if var.get(u'opts').get(u'passPerPreset'): + @Js + def PyJs_anonymous_254_(preset, presetLoc, this, arguments, var=var): + var = Scope({u'presetLoc':presetLoc, u'this':this, u'preset':preset, u'arguments':arguments}, var) + var.registers([u'presetLoc', u'preset']) + PyJs_Object_255_ = Js({u'options':var.get(u'preset'),u'extending':var.get(u'preset'),u'alias':var.get(u'presetLoc'),u'loc':var.get(u'presetLoc'),u'dirname':var.get(u'dirname')}) + var.get(u'_this').callprop(u'mergeOptions', PyJs_Object_255_) + PyJs_anonymous_254_._set_name(u'anonymous') + var.get(u'opts').put(u'presets', var.get(u"this").callprop(u'resolvePresets', var.get(u'opts').get(u'presets'), var.get(u'dirname'), PyJs_anonymous_254_)) + else: + var.get(u"this").callprop(u'mergePresets', var.get(u'opts').get(u'presets'), var.get(u'dirname')) + var.get(u'opts').delete(u'presets') + if PyJsStrictEq(var.get(u'rawOpts'),var.get(u'extendingOpts')): + PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(var.get(u'extendingOpts'), var.get(u'opts')) + else: + PyJsComma(Js(0.0),var.get(u'_merge2').get(u'default'))((var.get(u'extendingOpts') or var.get(u"this").get(u'options')), var.get(u'opts')) + PyJs_mergeOptions_252_._set_name(u'mergeOptions') + var.get(u'OptionManager').get(u'prototype').put(u'mergeOptions', PyJs_mergeOptions_252_) + @Js + def PyJs_mergePresets_256_(presets, dirname, this, arguments, var=var): + var = Scope({u'this':this, u'mergePresets':PyJs_mergePresets_256_, u'presets':presets, u'dirname':dirname, u'arguments':arguments}, var) + var.registers([u'presets', u'dirname', u'_this2']) + var.put(u'_this2', var.get(u"this")) + @Js + def PyJs_anonymous_257_(presetOpts, presetLoc, this, arguments, var=var): + var = Scope({u'presetLoc':presetLoc, u'this':this, u'presetOpts':presetOpts, u'arguments':arguments}, var) + var.registers([u'presetLoc', u'presetOpts']) + PyJs_Object_258_ = Js({u'options':var.get(u'presetOpts'),u'alias':var.get(u'presetLoc'),u'loc':var.get(u'presetLoc'),u'dirname':var.get(u'_path2').get(u'default').callprop(u'dirname', (var.get(u'presetLoc') or Js(u'')))}) + var.get(u'_this2').callprop(u'mergeOptions', PyJs_Object_258_) + PyJs_anonymous_257_._set_name(u'anonymous') + var.get(u"this").callprop(u'resolvePresets', var.get(u'presets'), var.get(u'dirname'), PyJs_anonymous_257_) + PyJs_mergePresets_256_._set_name(u'mergePresets') + var.get(u'OptionManager').get(u'prototype').put(u'mergePresets', PyJs_mergePresets_256_) + @Js + def PyJs_resolvePresets_259_(presets, dirname, onResolve, this, arguments, var=var): + var = Scope({u'this':this, u'presets':presets, u'onResolve':onResolve, u'arguments':arguments, u'dirname':dirname, u'resolvePresets':PyJs_resolvePresets_259_}, var) + var.registers([u'onResolve', u'presets', u'dirname']) + @Js + def PyJs_anonymous_260_(val, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'val':val}, var) + var.registers([u'val', u'_val', u'matches', u'rest', u'presetLoc', u'presetPath', u'_val2', u'__esModule', u'options', u'orgName']) + var.put(u'options', PyJsComma(Js(0.0), Js(None))) + if var.get(u'Array').callprop(u'isArray', var.get(u'val')): + if (var.get(u'val').get(u'length')>Js(2.0)): + PyJsTempException = JsToPyException(var.get(u'Error').create(((Js(u'Unexpected extra options ')+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'val').callprop(u'slice', Js(2.0))))+Js(u' passed to preset.')))) + raise PyJsTempException + var.put(u'_val', var.get(u'val')) + var.put(u'val', var.get(u'_val').get(u'0')) + var.put(u'options', var.get(u'_val').get(u'1')) + var.put(u'presetLoc', PyJsComma(Js(0.0), Js(None))) + try: + if PyJsStrictEq(var.get(u'val',throw=False).typeof(),Js(u'string')): + var.put(u'presetLoc', (PyJsComma(Js(0.0),var.get(u'_resolve2').get(u'default'))((Js(u'babel-preset-')+var.get(u'val')), var.get(u'dirname')) or PyJsComma(Js(0.0),var.get(u'_resolve2').get(u'default'))(var.get(u'val'), var.get(u'dirname')))) + if var.get(u'presetLoc').neg(): + var.put(u'matches', var.get(u'val').callprop(u'match', JsRegExp(u'/^(@[^/]+)\\/(.+)$/'))) + if var.get(u'matches'): + var.put(u'orgName', var.get(u'matches').get(u'1')) + var.put(u'presetPath', var.get(u'matches').get(u'2')) + var.put(u'val', ((var.get(u'orgName')+Js(u'/babel-preset-'))+var.get(u'presetPath'))) + var.put(u'presetLoc', PyJsComma(Js(0.0),var.get(u'_resolve2').get(u'default'))(var.get(u'val'), var.get(u'dirname'))) + if var.get(u'presetLoc').neg(): + PyJsTempException = JsToPyException(var.get(u'Error').create((((Js(u"Couldn't find preset ")+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'val')))+Js(u' relative to directory '))+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'dirname'))))) + raise PyJsTempException + var.put(u'val', var.get(u'require')(var.get(u'presetLoc'))) + if (PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'val',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'val'))),Js(u'object')) and var.get(u'val').get(u'__esModule')): + if var.get(u'val').get(u'default'): + var.put(u'val', var.get(u'val').get(u'default')) + else: + var.put(u'_val2', var.get(u'val')) + var.put(u'__esModule', var.get(u'_val2').get(u'__esModule')) + var.put(u'rest', PyJsComma(Js(0.0),var.get(u'_objectWithoutProperties3').get(u'default'))(var.get(u'_val2'), Js([Js(u'__esModule')]))) + var.put(u'val', var.get(u'rest')) + if (PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'val',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'val'))),Js(u'object')) and var.get(u'val').get(u'buildPreset')): + var.put(u'val', var.get(u'val').get(u'buildPreset')) + if (PyJsStrictNeq(var.get(u'val',throw=False).typeof(),Js(u'function')) and PyJsStrictNeq(var.get(u'options'),var.get(u'undefined'))): + PyJsTempException = JsToPyException(var.get(u'Error').create(((((Js(u'Options ')+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'options')))+Js(u' passed to '))+(var.get(u'presetLoc') or Js(u'a preset')))+Js(u' which does not accept options.')))) + raise PyJsTempException + if PyJsStrictEq(var.get(u'val',throw=False).typeof(),Js(u'function')): + var.put(u'val', var.get(u'val')(var.get(u'context'), var.get(u'options'))) + if PyJsStrictNeq((Js(u'undefined') if PyJsStrictEq(var.get(u'val',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'val'))),Js(u'object')): + PyJsTempException = JsToPyException(var.get(u'Error').create(((Js(u'Unsupported preset format: ')+var.get(u'val'))+Js(u'.')))) + raise PyJsTempException + (var.get(u'onResolve') and var.get(u'onResolve')(var.get(u'val'), var.get(u'presetLoc'))) + except PyJsException as PyJsTempException: + PyJsHolder_65_49729099 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + if var.get(u'presetLoc'): + var.get(u'e').put(u'message', ((Js(u' (While processing preset: ')+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'presetLoc')))+Js(u')')), u'+') + PyJsTempException = JsToPyException(var.get(u'e')) + raise PyJsTempException + finally: + if PyJsHolder_65_49729099 is not None: + var.own[u'e'] = PyJsHolder_65_49729099 + else: + del var.own[u'e'] + del PyJsHolder_65_49729099 + return var.get(u'val') + PyJs_anonymous_260_._set_name(u'anonymous') + return var.get(u'presets').callprop(u'map', PyJs_anonymous_260_) + PyJs_resolvePresets_259_._set_name(u'resolvePresets') + var.get(u'OptionManager').get(u'prototype').put(u'resolvePresets', PyJs_resolvePresets_259_) + @Js + def PyJs_normaliseOptions_261_(this, arguments, var=var): + var = Scope({u'this':this, u'normaliseOptions':PyJs_normaliseOptions_261_, u'arguments':arguments}, var) + var.registers([u'_key3', u'val', u'option', u'opts']) + var.put(u'opts', var.get(u"this").get(u'options')) + for PyJsTemp in var.get(u'_config3').get(u'default'): + var.put(u'_key3', PyJsTemp) + var.put(u'option', var.get(u'_config3').get(u'default').get(var.get(u'_key3'))) + var.put(u'val', var.get(u'opts').get(var.get(u'_key3'))) + if (var.get(u'val').neg() and var.get(u'option').get(u'optional')): + continue + if var.get(u'option').get(u'alias'): + var.get(u'opts').put(var.get(u'option').get(u'alias'), (var.get(u'opts').get(var.get(u'option').get(u'alias')) or var.get(u'val'))) + else: + var.get(u'opts').put(var.get(u'_key3'), var.get(u'val')) + PyJs_normaliseOptions_261_._set_name(u'normaliseOptions') + var.get(u'OptionManager').get(u'prototype').put(u'normaliseOptions', PyJs_normaliseOptions_261_) + @Js + def PyJs_init_262_(this, arguments, var=var): + var = Scope({u'this':this, u'init':PyJs_init_262_, u'arguments':arguments}, var) + var.registers([u'_config', u'_isArray2', u'_ref3', u'_i2', u'opts', u'_iterator2']) + PyJs_Object_263_ = Js({}) + var.put(u'opts', (var.get(u'arguments').get(u'0') if ((var.get(u'arguments').get(u'length')>Js(0.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'0'),var.get(u'undefined'))) else PyJs_Object_263_)) + #for JS loop + var.put(u'_iterator2', PyJsComma(Js(0.0),var.get(u'_buildConfigChain2').get(u'default'))(var.get(u'opts'), var.get(u"this").get(u'log'))) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i2').get(u'value')) + var.put(u'_config', var.get(u'_ref3')) + var.get(u"this").callprop(u'mergeOptions', var.get(u'_config')) + + var.get(u"this").callprop(u'normaliseOptions', var.get(u'opts')) + return var.get(u"this").get(u'options') + PyJs_init_262_._set_name(u'init') + var.get(u'OptionManager').get(u'prototype').put(u'init', PyJs_init_262_) + return var.get(u'OptionManager') + PyJs_anonymous_244_._set_name(u'anonymous') + var.put(u'OptionManager', PyJs_anonymous_244_()) + var.get(u'exports').put(u'default', var.get(u'OptionManager')) + var.get(u'OptionManager').put(u'memoisedPlugins', Js([])) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) + PyJs_anonymous_241_._set_name(u'anonymous') + PyJs_anonymous_241_.callprop(u'call', var.get(u"this"), var.get(u'require')(Js(u'_process'))) +PyJs_anonymous_240_._set_name(u'anonymous') +PyJs_Object_264_ = Js({u'../../../api/node':Js(6.0),u'../../../helpers/merge':Js(7.0),u'../../../helpers/resolve':Js(9.0),u'../../plugin':Js(25.0),u'./build-config-chain':Js(15.0),u'./config':Js(16.0),u'./index':Js(17.0),u'./removed':Js(20.0),u'_process':Js(531.0),u'babel-messages':Js(57.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/core-js/json/stringify':Js(97.0),u'babel-runtime/core-js/object/assign':Js(100.0),u'babel-runtime/helpers/classCallCheck':Js(110.0),u'babel-runtime/helpers/objectWithoutProperties':Js(112.0),u'babel-runtime/helpers/typeof':Js(114.0),u'lodash/clone':Js(438.0),u'lodash/cloneDeepWith':Js(440.0),u'path':Js(530.0)}) +@Js +def PyJs_anonymous_265_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'util', u'exports', u'_interopRequireWildcard', u'require', u'list', u'_util', u'filename', u'_slash', u'booleanString', u'boolean', u'module', u'_slash2', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_267_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_267_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_booleanString_(val, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'val':val}, var) + var.registers([u'val']) + return var.get(u'util').callprop(u'booleanify', var.get(u'val')) + PyJsHoisted_booleanString_.func_name = u'booleanString' + var.put(u'booleanString', PyJsHoisted_booleanString_) + @Js + def PyJsHoisted_boolean_(val, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'val':val}, var) + var.registers([u'val']) + return var.get(u'val').neg().neg() + PyJsHoisted_boolean_.func_name = u'boolean' + var.put(u'boolean', PyJsHoisted_boolean_) + @Js + def PyJsHoisted_list_(val, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'val':val}, var) + var.registers([u'val']) + return var.get(u'util').callprop(u'list', var.get(u'val')) + PyJsHoisted_list_.func_name = u'list' + var.put(u'list', PyJsHoisted_list_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_266_ = Js({}) + var.put(u'newObj', PyJs_Object_266_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'filename', var.get(u'undefined')) + var.get(u'exports').put(u'boolean', var.get(u'boolean')) + var.get(u'exports').put(u'booleanString', var.get(u'booleanString')) + var.get(u'exports').put(u'list', var.get(u'list')) + var.put(u'_slash', var.get(u'require')(Js(u'slash'))) + var.put(u'_slash2', var.get(u'_interopRequireDefault')(var.get(u'_slash'))) + var.put(u'_util', var.get(u'require')(Js(u'../../../util'))) + var.put(u'util', var.get(u'_interopRequireWildcard')(var.get(u'_util'))) + pass + pass + var.put(u'filename', var.get(u'exports').put(u'filename', var.get(u'_slash2').get(u'default'))) + pass + pass + pass +PyJs_anonymous_265_._set_name(u'anonymous') +PyJs_Object_268_ = Js({u'../../../util':Js(26.0),u'slash':Js(508.0)}) +@Js +def PyJs_anonymous_269_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + Js(u'use strict') + PyJs_Object_271_ = Js({u'message':Js(u'Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`')}) + PyJs_Object_272_ = Js({u'message':Js(u'Put the specific transforms you want in the `plugins` option')}) + PyJs_Object_273_ = Js({u'message':Js(u'This is not a necessary option in Babel 6')}) + PyJs_Object_274_ = Js({u'message':Js(u'Put the specific transforms you want in the `plugins` option')}) + PyJs_Object_275_ = Js({u'message':Js(u'Use the `external-helpers` plugin instead. Check out http://babeljs.io/docs/plugins/external-helpers/')}) + PyJs_Object_276_ = Js({u'message':Js(u'')}) + PyJs_Object_277_ = Js({u'message':Js(u'use the `pragma` option in the `react-jsx` plugin . Check out http://babeljs.io/docs/plugins/transform-react-jsx/')}) + PyJs_Object_278_ = Js({u'message':Js(u'Specify the `loose` option for the relevant plugin you are using or use a preset that sets the option.')}) + PyJs_Object_279_ = Js({u'message':Js(u'Not required anymore as this is enabled by default')}) + PyJs_Object_280_ = Js({u'message':Js(u'Use the corresponding module transform plugin in the `plugins` option. Check out http://babeljs.io/docs/plugins/#modules')}) + PyJs_Object_281_ = Js({u'message':Js(u'Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. Also check out the react preset http://babeljs.io/docs/plugins/preset-react/')}) + PyJs_Object_282_ = Js({u'message':Js(u'Put the specific transforms you want in the `plugins` option')}) + PyJs_Object_283_ = Js({u'message':Js(u'Use the `sourceMapTarget` option')}) + PyJs_Object_284_ = Js({u'message':Js(u'Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets')}) + PyJs_Object_285_ = Js({u'message':Js(u'Put the specific transforms you want in the `plugins` option')}) + PyJs_Object_270_ = Js({u'auxiliaryComment':PyJs_Object_271_,u'blacklist':PyJs_Object_272_,u'breakConfig':PyJs_Object_273_,u'experimental':PyJs_Object_274_,u'externalHelpers':PyJs_Object_275_,u'extra':PyJs_Object_276_,u'jsxPragma':PyJs_Object_277_,u'loose':PyJs_Object_278_,u'metadataUsedHelpers':PyJs_Object_279_,u'modules':PyJs_Object_280_,u'nonStandard':PyJs_Object_281_,u'optional':PyJs_Object_282_,u'sourceMapName':PyJs_Object_283_,u'stage':PyJs_Object_284_,u'whitelist':PyJs_Object_285_}) + var.get(u'module').put(u'exports', PyJs_Object_270_) +PyJs_anonymous_269_._set_name(u'anonymous') +PyJs_Object_286_ = Js({}) +@Js +def PyJs_anonymous_287_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_plugin', u'exports', u'_plugin2', u'require', u'module', u'_sortBy2', u'_interopRequireDefault', u'_sortBy']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_288_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_288_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_plugin', var.get(u'require')(Js(u'../plugin'))) + var.put(u'_plugin2', var.get(u'_interopRequireDefault')(var.get(u'_plugin'))) + var.put(u'_sortBy', var.get(u'require')(Js(u'lodash/sortBy'))) + var.put(u'_sortBy2', var.get(u'_interopRequireDefault')(var.get(u'_sortBy'))) + pass + @Js + def PyJs_exit_292_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'exit':PyJs_exit_292_, u'arguments':arguments}, var) + var.registers([u'node', u'hasChange', u'_ref', u'bodyNode', u'i']) + var.put(u'node', var.get(u'_ref').get(u'node')) + var.put(u'hasChange', Js(False)) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else PyJs_Object_316_)) + var.get(u'opts').put(u'code', Js(False)) + var.get(u'opts').put(u'mode', Js(u'lint')) + return var.get(u"this").callprop(u'transform', var.get(u'code'), var.get(u'opts')) + PyJs_lint_315_._set_name(u'lint') + var.get(u'Pipeline').get(u'prototype').put(u'lint', PyJs_lint_315_) + @Js + def PyJs_pretransform_317_(code, opts, this, arguments, var=var): + var = Scope({u'this':this, u'pretransform':PyJs_pretransform_317_, u'code':code, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'code', u'opts', u'file']) + var.put(u'file', var.get(u'_file2').get(u'default').create(var.get(u'opts'), var.get(u"this"))) + @Js + def PyJs_anonymous_318_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'file').callprop(u'addCode', var.get(u'code')) + var.get(u'file').callprop(u'parseCode', var.get(u'code')) + return var.get(u'file') + PyJs_anonymous_318_._set_name(u'anonymous') + return var.get(u'file').callprop(u'wrap', var.get(u'code'), PyJs_anonymous_318_) + PyJs_pretransform_317_._set_name(u'pretransform') + var.get(u'Pipeline').get(u'prototype').put(u'pretransform', PyJs_pretransform_317_) + @Js + def PyJs_transform_319_(code, opts, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments, u'opts':opts, u'transform':PyJs_transform_319_}, var) + var.registers([u'code', u'opts', u'file']) + var.put(u'file', var.get(u'_file2').get(u'default').create(var.get(u'opts'), var.get(u"this"))) + @Js + def PyJs_anonymous_320_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'file').callprop(u'addCode', var.get(u'code')) + var.get(u'file').callprop(u'parseCode', var.get(u'code')) + return var.get(u'file').callprop(u'transform') + PyJs_anonymous_320_._set_name(u'anonymous') + return var.get(u'file').callprop(u'wrap', var.get(u'code'), PyJs_anonymous_320_) + PyJs_transform_319_._set_name(u'transform') + var.get(u'Pipeline').get(u'prototype').put(u'transform', PyJs_transform_319_) + @Js + def PyJs_analyse_321_(code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'analyse':PyJs_analyse_321_, u'arguments':arguments}, var) + var.registers([u'visitor', u'code', u'opts']) + PyJs_Object_322_ = Js({}) + var.put(u'opts', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else PyJs_Object_322_)) + var.put(u'visitor', var.get(u'arguments').get(u'2')) + var.get(u'opts').put(u'code', Js(False)) + if var.get(u'visitor'): + var.get(u'opts').put(u'plugins', (var.get(u'opts').get(u'plugins') or Js([]))) + PyJs_Object_323_ = Js({u'visitor':var.get(u'visitor')}) + var.get(u'opts').get(u'plugins').callprop(u'push', var.get(u'_plugin2').get(u'default').create(PyJs_Object_323_)) + return var.get(u"this").callprop(u'transform', var.get(u'code'), var.get(u'opts')).get(u'metadata') + PyJs_analyse_321_._set_name(u'analyse') + var.get(u'Pipeline').get(u'prototype').put(u'analyse', PyJs_analyse_321_) + @Js + def PyJs_transformFromAst_324_(ast, code, opts, this, arguments, var=var): + var = Scope({u'code':code, u'ast':ast, u'this':this, u'transformFromAst':PyJs_transformFromAst_324_, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'code', u'opts', u'file', u'ast']) + var.put(u'ast', PyJsComma(Js(0.0),var.get(u'_normalizeAst2').get(u'default'))(var.get(u'ast'))) + var.put(u'file', var.get(u'_file2').get(u'default').create(var.get(u'opts'), var.get(u"this"))) + @Js + def PyJs_anonymous_325_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'file').callprop(u'addCode', var.get(u'code')) + var.get(u'file').callprop(u'addAst', var.get(u'ast')) + return var.get(u'file').callprop(u'transform') + PyJs_anonymous_325_._set_name(u'anonymous') + return var.get(u'file').callprop(u'wrap', var.get(u'code'), PyJs_anonymous_325_) + PyJs_transformFromAst_324_._set_name(u'transformFromAst') + var.get(u'Pipeline').get(u'prototype').put(u'transformFromAst', PyJs_transformFromAst_324_) + return var.get(u'Pipeline') + PyJs_anonymous_314_._set_name(u'anonymous') + var.put(u'Pipeline', PyJs_anonymous_314_()) + var.get(u'exports').put(u'default', var.get(u'Pipeline')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_312_._set_name(u'anonymous') +PyJs_Object_326_ = Js({u'../helpers/normalize-ast':Js(8.0),u'./file':Js(12.0),u'./plugin':Js(25.0),u'babel-runtime/helpers/classCallCheck':Js(110.0)}) +@Js +def PyJs_anonymous_327_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_store', u'_inherits3', u'_inherits2', u'require', u'_file6', u'_possibleConstructorReturn3', u'_possibleConstructorReturn2', u'module', u'_file5', u'_store2', u'PluginPass', u'_interopRequireDefault', u'_classCallCheck3', u'_classCallCheck2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_328_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_328_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.put(u'_possibleConstructorReturn2', var.get(u'require')(Js(u'babel-runtime/helpers/possibleConstructorReturn'))) + var.put(u'_possibleConstructorReturn3', var.get(u'_interopRequireDefault')(var.get(u'_possibleConstructorReturn2'))) + var.put(u'_inherits2', var.get(u'require')(Js(u'babel-runtime/helpers/inherits'))) + var.put(u'_inherits3', var.get(u'_interopRequireDefault')(var.get(u'_inherits2'))) + var.put(u'_store', var.get(u'require')(Js(u'../store'))) + var.put(u'_store2', var.get(u'_interopRequireDefault')(var.get(u'_store'))) + var.put(u'_file5', var.get(u'require')(Js(u'./file'))) + var.put(u'_file6', var.get(u'_interopRequireDefault')(var.get(u'_file5'))) + pass + @Js + def PyJs_anonymous_329_(_Store, this, arguments, var=var): + var = Scope({u'this':this, u'_Store':_Store, u'arguments':arguments}, var) + var.registers([u'PluginPass', u'_Store']) + @Js + def PyJsHoisted_PluginPass_(file, plugin, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'file':file, u'plugin':plugin}, var) + var.registers([u'file', u'options', u'_this', u'plugin']) + PyJs_Object_330_ = Js({}) + var.put(u'options', (var.get(u'arguments').get(u'2') if ((var.get(u'arguments').get(u'length')>Js(2.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'2'),var.get(u'undefined'))) else PyJs_Object_330_)) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'PluginPass')) + var.put(u'_this', PyJsComma(Js(0.0),var.get(u'_possibleConstructorReturn3').get(u'default'))(var.get(u"this"), var.get(u'_Store').callprop(u'call', var.get(u"this")))) + var.get(u'_this').put(u'plugin', var.get(u'plugin')) + var.get(u'_this').put(u'key', var.get(u'plugin').get(u'key')) + var.get(u'_this').put(u'file', var.get(u'file')) + var.get(u'_this').put(u'opts', var.get(u'options')) + return var.get(u'_this') + PyJsHoisted_PluginPass_.func_name = u'PluginPass' + var.put(u'PluginPass', PyJsHoisted_PluginPass_) + PyJsComma(Js(0.0),var.get(u'_inherits3').get(u'default'))(var.get(u'PluginPass'), var.get(u'_Store')) + pass + @Js + def PyJs_addHelper_331_(this, arguments, var=var): + var = Scope({u'this':this, u'addHelper':PyJs_addHelper_331_, u'arguments':arguments}, var) + var.registers([u'_file']) + pass + return var.put(u'_file', var.get(u"this").get(u'file')).get(u'addHelper').callprop(u'apply', var.get(u'_file'), var.get(u'arguments')) + PyJs_addHelper_331_._set_name(u'addHelper') + var.get(u'PluginPass').get(u'prototype').put(u'addHelper', PyJs_addHelper_331_) + @Js + def PyJs_addImport_332_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'addImport':PyJs_addImport_332_}, var) + var.registers([u'_file2']) + pass + return var.put(u'_file2', var.get(u"this").get(u'file')).get(u'addImport').callprop(u'apply', var.get(u'_file2'), var.get(u'arguments')) + PyJs_addImport_332_._set_name(u'addImport') + var.get(u'PluginPass').get(u'prototype').put(u'addImport', PyJs_addImport_332_) + @Js + def PyJs_getModuleName_333_(this, arguments, var=var): + var = Scope({u'this':this, u'getModuleName':PyJs_getModuleName_333_, u'arguments':arguments}, var) + var.registers([u'_file3']) + pass + return var.put(u'_file3', var.get(u"this").get(u'file')).get(u'getModuleName').callprop(u'apply', var.get(u'_file3'), var.get(u'arguments')) + PyJs_getModuleName_333_._set_name(u'getModuleName') + var.get(u'PluginPass').get(u'prototype').put(u'getModuleName', PyJs_getModuleName_333_) + @Js + def PyJs_buildCodeFrameError_334_(this, arguments, var=var): + var = Scope({u'this':this, u'buildCodeFrameError':PyJs_buildCodeFrameError_334_, u'arguments':arguments}, var) + var.registers([u'_file4']) + pass + return var.put(u'_file4', var.get(u"this").get(u'file')).get(u'buildCodeFrameError').callprop(u'apply', var.get(u'_file4'), var.get(u'arguments')) + PyJs_buildCodeFrameError_334_._set_name(u'buildCodeFrameError') + var.get(u'PluginPass').get(u'prototype').put(u'buildCodeFrameError', PyJs_buildCodeFrameError_334_) + return var.get(u'PluginPass') + PyJs_anonymous_329_._set_name(u'anonymous') + var.put(u'PluginPass', PyJs_anonymous_329_(var.get(u'_store2').get(u'default'))) + var.get(u'exports').put(u'default', var.get(u'PluginPass')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_327_._set_name(u'anonymous') +PyJs_Object_335_ = Js({u'../store':Js(10.0),u'./file':Js(12.0),u'babel-runtime/helpers/classCallCheck':Js(110.0),u'babel-runtime/helpers/inherits':Js(111.0),u'babel-runtime/helpers/possibleConstructorReturn':Js(113.0)}) +@Js +def PyJs_anonymous_336_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_store', u'module', u'_clone', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'_babelTraverse', u'_possibleConstructorReturn3', u'_possibleConstructorReturn2', u'_store2', u'_optionManager2', u'_classCallCheck3', u'_classCallCheck2', u'_optionManager', u'exports', u'_babelTraverse2', u'_interopRequireWildcard', u'Plugin', u'_inherits3', u'_inherits2', u'_assign', u'_assign2', u'require', u'messages', u'GLOBAL_VISITOR_PROPS', u'_clone2', u'_babelMessages']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_338_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_338_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_337_ = Js({}) + var.put(u'newObj', PyJs_Object_337_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.put(u'_possibleConstructorReturn2', var.get(u'require')(Js(u'babel-runtime/helpers/possibleConstructorReturn'))) + var.put(u'_possibleConstructorReturn3', var.get(u'_interopRequireDefault')(var.get(u'_possibleConstructorReturn2'))) + var.put(u'_inherits2', var.get(u'require')(Js(u'babel-runtime/helpers/inherits'))) + var.put(u'_inherits3', var.get(u'_interopRequireDefault')(var.get(u'_inherits2'))) + var.put(u'_optionManager', var.get(u'require')(Js(u'./file/options/option-manager'))) + var.put(u'_optionManager2', var.get(u'_interopRequireDefault')(var.get(u'_optionManager'))) + var.put(u'_babelMessages', var.get(u'require')(Js(u'babel-messages'))) + var.put(u'messages', var.get(u'_interopRequireWildcard')(var.get(u'_babelMessages'))) + var.put(u'_store', var.get(u'require')(Js(u'../store'))) + var.put(u'_store2', var.get(u'_interopRequireDefault')(var.get(u'_store'))) + var.put(u'_babelTraverse', var.get(u'require')(Js(u'babel-traverse'))) + var.put(u'_babelTraverse2', var.get(u'_interopRequireDefault')(var.get(u'_babelTraverse'))) + var.put(u'_assign', var.get(u'require')(Js(u'lodash/assign'))) + var.put(u'_assign2', var.get(u'_interopRequireDefault')(var.get(u'_assign'))) + var.put(u'_clone', var.get(u'require')(Js(u'lodash/clone'))) + var.put(u'_clone2', var.get(u'_interopRequireDefault')(var.get(u'_clone'))) + pass + pass + var.put(u'GLOBAL_VISITOR_PROPS', Js([Js(u'enter'), Js(u'exit')])) + @Js + def PyJs_anonymous_339_(_Store, this, arguments, var=var): + var = Scope({u'this':this, u'_Store':_Store, u'arguments':arguments}, var) + var.registers([u'_Store', u'Plugin']) + @Js + def PyJsHoisted_Plugin_(plugin, key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key, u'plugin':plugin}, var) + var.registers([u'key', u'_this', u'plugin']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'Plugin')) + var.put(u'_this', PyJsComma(Js(0.0),var.get(u'_possibleConstructorReturn3').get(u'default'))(var.get(u"this"), var.get(u'_Store').callprop(u'call', var.get(u"this")))) + var.get(u'_this').put(u'initialized', Js(False)) + PyJs_Object_340_ = Js({}) + var.get(u'_this').put(u'raw', PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(PyJs_Object_340_, var.get(u'plugin'))) + var.get(u'_this').put(u'key', (var.get(u'_this').callprop(u'take', Js(u'name')) or var.get(u'key'))) + var.get(u'_this').put(u'manipulateOptions', var.get(u'_this').callprop(u'take', Js(u'manipulateOptions'))) + var.get(u'_this').put(u'post', var.get(u'_this').callprop(u'take', Js(u'post'))) + var.get(u'_this').put(u'pre', var.get(u'_this').callprop(u'take', Js(u'pre'))) + PyJs_Object_341_ = Js({}) + var.get(u'_this').put(u'visitor', var.get(u'_this').callprop(u'normaliseVisitor', (PyJsComma(Js(0.0),var.get(u'_clone2').get(u'default'))(var.get(u'_this').callprop(u'take', Js(u'visitor'))) or PyJs_Object_341_))) + return var.get(u'_this') + PyJsHoisted_Plugin_.func_name = u'Plugin' + var.put(u'Plugin', PyJsHoisted_Plugin_) + PyJsComma(Js(0.0),var.get(u'_inherits3').get(u'default'))(var.get(u'Plugin'), var.get(u'_Store')) + pass + @Js + def PyJs_take_342_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key, u'take':PyJs_take_342_}, var) + var.registers([u'key', u'val']) + var.put(u'val', var.get(u"this").get(u'raw').get(var.get(u'key'))) + var.get(u"this").get(u'raw').delete(var.get(u'key')) + return var.get(u'val') + PyJs_take_342_._set_name(u'take') + var.get(u'Plugin').get(u'prototype').put(u'take', PyJs_take_342_) + @Js + def PyJs_chain_343_(target, key, this, arguments, var=var): + var = Scope({u'this':this, u'chain':PyJs_chain_343_, u'target':target, u'key':key, u'arguments':arguments}, var) + var.registers([u'fns', u'target', u'key']) + if var.get(u'target').get(var.get(u'key')).neg(): + return var.get(u"this").get(var.get(u'key')) + if var.get(u"this").get(var.get(u'key')).neg(): + return var.get(u'target').get(var.get(u'key')) + var.put(u'fns', Js([var.get(u'target').get(var.get(u'key')), var.get(u"this").get(var.get(u'key'))])) + @Js + def PyJs_anonymous_344_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'_isArray', u'_iterator', u'val', u'_len', u'args', u'ret', u'_key', u'_i', u'_ref', u'fn']) + var.put(u'val', PyJsComma(Js(0.0), Js(None))) + #for JS loop + var.put(u'_len', var.get(u'arguments').get(u'length')) + var.put(u'args', var.get(u'Array')(var.get(u'_len'))) + var.put(u'_key', Js(0.0)) + while (var.get(u'_key')=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'fn', var.get(u'_ref')) + if var.get(u'fn'): + var.put(u'ret', var.get(u'fn').callprop(u'apply', var.get(u"this"), var.get(u'args'))) + if (var.get(u'ret')!=var.get(u"null")): + var.put(u'val', var.get(u'ret')) + + return var.get(u'val') + PyJs_anonymous_344_._set_name(u'anonymous') + return PyJs_anonymous_344_ + PyJs_chain_343_._set_name(u'chain') + var.get(u'Plugin').get(u'prototype').put(u'chain', PyJs_chain_343_) + @Js + def PyJs_maybeInherit_345_(loc, this, arguments, var=var): + var = Scope({u'this':this, u'loc':loc, u'arguments':arguments, u'maybeInherit':PyJs_maybeInherit_345_}, var) + var.registers([u'inherits', u'loc']) + var.put(u'inherits', var.get(u"this").callprop(u'take', Js(u'inherits'))) + if var.get(u'inherits').neg(): + return var.get('undefined') + var.put(u'inherits', var.get(u'_optionManager2').get(u'default').callprop(u'normalisePlugin', var.get(u'inherits'), var.get(u'loc'), Js(u'inherits'))) + var.get(u"this").put(u'manipulateOptions', var.get(u"this").callprop(u'chain', var.get(u'inherits'), Js(u'manipulateOptions'))) + var.get(u"this").put(u'post', var.get(u"this").callprop(u'chain', var.get(u'inherits'), Js(u'post'))) + var.get(u"this").put(u'pre', var.get(u"this").callprop(u'chain', var.get(u'inherits'), Js(u'pre'))) + var.get(u"this").put(u'visitor', var.get(u'_babelTraverse2').get(u'default').get(u'visitors').callprop(u'merge', Js([var.get(u'inherits').get(u'visitor'), var.get(u"this").get(u'visitor')]))) + PyJs_maybeInherit_345_._set_name(u'maybeInherit') + var.get(u'Plugin').get(u'prototype').put(u'maybeInherit', PyJs_maybeInherit_345_) + @Js + def PyJs_init_346_(loc, i, this, arguments, var=var): + var = Scope({u'i':i, u'loc':loc, u'init':PyJs_init_346_, u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'loc', u'key']) + if var.get(u"this").get(u'initialized'): + return var.get('undefined') + var.get(u"this").put(u'initialized', var.get(u'true')) + var.get(u"this").callprop(u'maybeInherit', var.get(u'loc')) + for PyJsTemp in var.get(u"this").get(u'raw'): + var.put(u'key', PyJsTemp) + PyJsTempException = JsToPyException(var.get(u'Error').create(var.get(u'messages').callprop(u'get', Js(u'pluginInvalidProperty'), var.get(u'loc'), var.get(u'i'), var.get(u'key')))) + raise PyJsTempException + PyJs_init_346_._set_name(u'init') + var.get(u'Plugin').get(u'prototype').put(u'init', PyJs_init_346_) + @Js + def PyJs_normaliseVisitor_347_(visitor, this, arguments, var=var): + var = Scope({u'this':this, u'visitor':visitor, u'normaliseVisitor':PyJs_normaliseVisitor_347_, u'arguments':arguments}, var) + var.registers([u'_isArray2', u'visitor', u'_i2', u'_ref2', u'key', u'_iterator2']) + #for JS loop + var.put(u'_iterator2', var.get(u'GLOBAL_VISITOR_PROPS')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'key', var.get(u'_ref2')) + if var.get(u'visitor').get(var.get(u'key')): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u"Plugins aren't allowed to specify catch-all enter/exit handlers. Please target individual nodes."))) + raise PyJsTempException + + var.get(u'_babelTraverse2').get(u'default').callprop(u'explode', var.get(u'visitor')) + return var.get(u'visitor') + PyJs_normaliseVisitor_347_._set_name(u'normaliseVisitor') + var.get(u'Plugin').get(u'prototype').put(u'normaliseVisitor', PyJs_normaliseVisitor_347_) + return var.get(u'Plugin') + PyJs_anonymous_339_._set_name(u'anonymous') + var.put(u'Plugin', PyJs_anonymous_339_(var.get(u'_store2').get(u'default'))) + var.get(u'exports').put(u'default', var.get(u'Plugin')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_336_._set_name(u'anonymous') +PyJs_Object_348_ = Js({u'../store':Js(10.0),u'./file/options/option-manager':Js(18.0),u'babel-messages':Js(57.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/helpers/classCallCheck':Js(110.0),u'babel-runtime/helpers/inherits':Js(111.0),u'babel-runtime/helpers/possibleConstructorReturn':Js(113.0),u'babel-traverse':Js(225.0),u'lodash/assign':Js(435.0),u'lodash/clone':Js(438.0)}) +@Js +def PyJs_anonymous_349_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_shouldIgnore', u'_startsWith', u'module', u'_isString2', u'_slash2', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'_isBoolean', u'_isRegExp2', u'shouldIgnore', u'_slash', u'booleanify', u'_isRegExp', u'_minimatch2', u'exports', u'_escapeRegExp2', u'_minimatch', u'_includes2', u'_util', u'canCompile', u'_path2', u'arrayify', u'_escapeRegExp', u'_isString', u'_startsWith2', u'list', u'regexify', u'_includes', u'require', u'_isBoolean2', u'_path']) + @Js + def PyJsHoisted__shouldIgnore_(pattern, filename, this, arguments, var=var): + var = Scope({u'this':this, u'pattern':pattern, u'arguments':arguments, u'filename':filename}, var) + var.registers([u'pattern', u'filename']) + if PyJsStrictEq(var.get(u'pattern',throw=False).typeof(),Js(u'function')): + return var.get(u'pattern')(var.get(u'filename')) + else: + return var.get(u'pattern').callprop(u'test', var.get(u'filename')) + PyJsHoisted__shouldIgnore_.func_name = u'_shouldIgnore' + var.put(u'_shouldIgnore', PyJsHoisted__shouldIgnore_) + @Js + def PyJsHoisted_shouldIgnore_(filename, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'filename':filename}, var) + var.registers([u'_isArray', u'_pattern', u'_iterator', u'_isArray2', u'pattern', u'_i2', u'_ref2', u'ignore', u'only', u'_i', u'_ref', u'filename', u'_iterator2']) + var.put(u'ignore', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else Js([]))) + var.put(u'only', var.get(u'arguments').get(u'2')) + var.put(u'filename', var.get(u'filename').callprop(u'replace', JsRegExp(u'/\\\\/g'), Js(u'/'))) + if var.get(u'only'): + #for JS loop + var.put(u'_iterator', var.get(u'only')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'pattern', var.get(u'_ref')) + if var.get(u'_shouldIgnore')(var.get(u'pattern'), var.get(u'filename')): + return Js(False) + + return var.get(u'true') + else: + if var.get(u'ignore').get(u'length'): + #for JS loop + var.put(u'_iterator2', var.get(u'ignore')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'_pattern', var.get(u'_ref2')) + if var.get(u'_shouldIgnore')(var.get(u'_pattern'), var.get(u'filename')): + return var.get(u'true') + + return Js(False) + PyJsHoisted_shouldIgnore_.func_name = u'shouldIgnore' + var.put(u'shouldIgnore', PyJsHoisted_shouldIgnore_) + @Js + def PyJsHoisted_list_(val, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'val':val}, var) + var.registers([u'val']) + if var.get(u'val').neg(): + return Js([]) + else: + if var.get(u'Array').callprop(u'isArray', var.get(u'val')): + return var.get(u'val') + else: + if PyJsStrictEq(var.get(u'val',throw=False).typeof(),Js(u'string')): + return var.get(u'val').callprop(u'split', Js(u',')) + else: + return Js([var.get(u'val')]) + PyJsHoisted_list_.func_name = u'list' + var.put(u'list', PyJsHoisted_list_) + @Js + def PyJsHoisted_regexify_(val, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'val':val}, var) + var.registers([u'regex', u'val']) + if var.get(u'val').neg(): + return var.get(u'RegExp').create(JsRegExp(u'/.^/')) + if var.get(u'Array').callprop(u'isArray', var.get(u'val')): + var.put(u'val', var.get(u'RegExp').create(var.get(u'val').callprop(u'map', var.get(u'_escapeRegExp2').get(u'default')).callprop(u'join', Js(u'|')), Js(u'i'))) + if PyJsStrictEq(var.get(u'val',throw=False).typeof(),Js(u'string')): + var.put(u'val', PyJsComma(Js(0.0),var.get(u'_slash2').get(u'default'))(var.get(u'val'))) + if (PyJsComma(Js(0.0),var.get(u'_startsWith2').get(u'default'))(var.get(u'val'), Js(u'./')) or PyJsComma(Js(0.0),var.get(u'_startsWith2').get(u'default'))(var.get(u'val'), Js(u'*/'))): + var.put(u'val', var.get(u'val').callprop(u'slice', Js(2.0))) + if PyJsComma(Js(0.0),var.get(u'_startsWith2').get(u'default'))(var.get(u'val'), Js(u'**/')): + var.put(u'val', var.get(u'val').callprop(u'slice', Js(3.0))) + PyJs_Object_355_ = Js({u'nocase':var.get(u'true')}) + var.put(u'regex', var.get(u'_minimatch2').get(u'default').callprop(u'makeRe', var.get(u'val'), PyJs_Object_355_)) + return var.get(u'RegExp').create(var.get(u'regex').get(u'source').callprop(u'slice', Js(1.0), (-Js(1.0))), Js(u'i')) + if PyJsComma(Js(0.0),var.get(u'_isRegExp2').get(u'default'))(var.get(u'val')): + return var.get(u'val') + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'illegal type for regexify'))) + raise PyJsTempException + PyJsHoisted_regexify_.func_name = u'regexify' + var.put(u'regexify', PyJsHoisted_regexify_) + @Js + def PyJsHoisted_booleanify_(val, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'val':val}, var) + var.registers([u'val']) + if (PyJsStrictEq(var.get(u'val'),Js(u'true')) or (var.get(u'val')==Js(1.0))): + return var.get(u'true') + if ((PyJsStrictEq(var.get(u'val'),Js(u'false')) or (var.get(u'val')==Js(0.0))) or var.get(u'val').neg()): + return Js(False) + return var.get(u'val') + PyJsHoisted_booleanify_.func_name = u'booleanify' + var.put(u'booleanify', PyJsHoisted_booleanify_) + @Js + def PyJsHoisted_canCompile_(filename, altExts, this, arguments, var=var): + var = Scope({u'this':this, u'altExts':altExts, u'arguments':arguments, u'filename':filename}, var) + var.registers([u'ext', u'exts', u'altExts', u'filename']) + var.put(u'exts', (var.get(u'altExts') or var.get(u'canCompile').get(u'EXTENSIONS'))) + var.put(u'ext', var.get(u'_path2').get(u'default').callprop(u'extname', var.get(u'filename'))) + return PyJsComma(Js(0.0),var.get(u'_includes2').get(u'default'))(var.get(u'exts'), var.get(u'ext')) + PyJsHoisted_canCompile_.func_name = u'canCompile' + var.put(u'canCompile', PyJsHoisted_canCompile_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_354_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_354_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_arrayify_(val, mapFn, this, arguments, var=var): + var = Scope({u'this':this, u'mapFn':mapFn, u'arguments':arguments, u'val':val}, var) + var.registers([u'mapFn', u'val']) + if var.get(u'val').neg(): + return Js([]) + if PyJsComma(Js(0.0),var.get(u'_isBoolean2').get(u'default'))(var.get(u'val')): + return var.get(u'arrayify')(Js([var.get(u'val')]), var.get(u'mapFn')) + if PyJsComma(Js(0.0),var.get(u'_isString2').get(u'default'))(var.get(u'val')): + return var.get(u'arrayify')(var.get(u'list')(var.get(u'val')), var.get(u'mapFn')) + if var.get(u'Array').callprop(u'isArray', var.get(u'val')): + if var.get(u'mapFn'): + var.put(u'val', var.get(u'val').callprop(u'map', var.get(u'mapFn'))) + return var.get(u'val') + return Js([var.get(u'val')]) + PyJsHoisted_arrayify_.func_name = u'arrayify' + var.put(u'arrayify', PyJsHoisted_arrayify_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'inspect', var.get(u'exports').put(u'inherits', var.get(u'undefined'))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_util', var.get(u'require')(Js(u'util'))) + @Js + def PyJs_get_351_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_351_}, var) + var.registers([]) + return var.get(u'_util').get(u'inherits') + PyJs_get_351_._set_name(u'get') + PyJs_Object_350_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_351_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'inherits'), PyJs_Object_350_) + @Js + def PyJs_get_353_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_353_}, var) + var.registers([]) + return var.get(u'_util').get(u'inspect') + PyJs_get_353_._set_name(u'get') + PyJs_Object_352_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_353_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'inspect'), PyJs_Object_352_) + var.get(u'exports').put(u'canCompile', var.get(u'canCompile')) + var.get(u'exports').put(u'list', var.get(u'list')) + var.get(u'exports').put(u'regexify', var.get(u'regexify')) + var.get(u'exports').put(u'arrayify', var.get(u'arrayify')) + var.get(u'exports').put(u'booleanify', var.get(u'booleanify')) + var.get(u'exports').put(u'shouldIgnore', var.get(u'shouldIgnore')) + var.put(u'_escapeRegExp', var.get(u'require')(Js(u'lodash/escapeRegExp'))) + var.put(u'_escapeRegExp2', var.get(u'_interopRequireDefault')(var.get(u'_escapeRegExp'))) + var.put(u'_startsWith', var.get(u'require')(Js(u'lodash/startsWith'))) + var.put(u'_startsWith2', var.get(u'_interopRequireDefault')(var.get(u'_startsWith'))) + var.put(u'_isBoolean', var.get(u'require')(Js(u'lodash/isBoolean'))) + var.put(u'_isBoolean2', var.get(u'_interopRequireDefault')(var.get(u'_isBoolean'))) + var.put(u'_minimatch', var.get(u'require')(Js(u'minimatch'))) + var.put(u'_minimatch2', var.get(u'_interopRequireDefault')(var.get(u'_minimatch'))) + var.put(u'_includes', var.get(u'require')(Js(u'lodash/includes'))) + var.put(u'_includes2', var.get(u'_interopRequireDefault')(var.get(u'_includes'))) + var.put(u'_isString', var.get(u'require')(Js(u'lodash/isString'))) + var.put(u'_isString2', var.get(u'_interopRequireDefault')(var.get(u'_isString'))) + var.put(u'_isRegExp', var.get(u'require')(Js(u'lodash/isRegExp'))) + var.put(u'_isRegExp2', var.get(u'_interopRequireDefault')(var.get(u'_isRegExp'))) + var.put(u'_path', var.get(u'require')(Js(u'path'))) + var.put(u'_path2', var.get(u'_interopRequireDefault')(var.get(u'_path'))) + var.put(u'_slash', var.get(u'require')(Js(u'slash'))) + var.put(u'_slash2', var.get(u'_interopRequireDefault')(var.get(u'_slash'))) + pass + pass + var.get(u'canCompile').put(u'EXTENSIONS', Js([Js(u'.js'), Js(u'.jsx'), Js(u'.es6'), Js(u'.es')])) + pass + pass + pass + pass + pass + pass +PyJs_anonymous_349_._set_name(u'anonymous') +PyJs_Object_356_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0),u'lodash/escapeRegExp':Js(445.0),u'lodash/includes':Js(456.0),u'lodash/isBoolean':Js(461.0),u'lodash/isRegExp':Js(470.0),u'lodash/isString':Js(471.0),u'lodash/startsWith':Js(486.0),u'minimatch':Js(27.0),u'path':Js(530.0),u'slash':Js(508.0),u'util':Js(534.0)}) +@Js +def PyJs_anonymous_357_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'Minimatch', u'qmark', u'module', u'parse', u'regExpEscape', u'path', u'minimatch', u'reSpecials', u'make', u'twoStarNoDot', u'match', u'exports', u'star', u'plTypes', u'charSet', u'parseNegate', u'twoStarDot', u'expand', u'SUBPARSE', u'globUnescape', u'braceExpand', u'makeRe', u'GLOBSTAR', u'slashSplit', u'filter', u'ext', u'require']) + @Js + def PyJsHoisted_minimatch_(p, pattern, options, this, arguments, var=var): + var = Scope({u'this':this, u'p':p, u'options':options, u'arguments':arguments, u'pattern':pattern}, var) + var.registers([u'p', u'options', u'pattern']) + if PyJsStrictNeq(var.get(u'pattern',throw=False).typeof(),Js(u'string')): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'glob pattern string required'))) + raise PyJsTempException + if var.get(u'options').neg(): + PyJs_Object_379_ = Js({}) + var.put(u'options', PyJs_Object_379_) + if (var.get(u'options').get(u'nocomment').neg() and PyJsStrictEq(var.get(u'pattern').callprop(u'charAt', Js(0.0)),Js(u'#'))): + return Js(False) + if PyJsStrictEq(var.get(u'pattern').callprop(u'trim'),Js(u'')): + return PyJsStrictEq(var.get(u'p'),Js(u'')) + return var.get(u'Minimatch').create(var.get(u'pattern'), var.get(u'options')).callprop(u'match', var.get(u'p')) + PyJsHoisted_minimatch_.func_name = u'minimatch' + var.put(u'minimatch', PyJsHoisted_minimatch_) + @Js + def PyJsHoisted_globUnescape_(s, this, arguments, var=var): + var = Scope({u'this':this, u's':s, u'arguments':arguments}, var) + var.registers([u's']) + return var.get(u's').callprop(u'replace', JsRegExp(u'/\\\\(.)/g'), Js(u'$1')) + PyJsHoisted_globUnescape_.func_name = u'globUnescape' + var.put(u'globUnescape', PyJsHoisted_globUnescape_) + @Js + def PyJsHoisted_makeRe_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'twoStar', u'set', u'flags', u'options', u're']) + if (var.get(u"this").get(u'regexp') or PyJsStrictEq(var.get(u"this").get(u'regexp'),Js(False))): + return var.get(u"this").get(u'regexp') + var.put(u'set', var.get(u"this").get(u'set')) + if var.get(u'set').get(u'length').neg(): + var.get(u"this").put(u'regexp', Js(False)) + return var.get(u"this").get(u'regexp') + var.put(u'options', var.get(u"this").get(u'options')) + var.put(u'twoStar', (var.get(u'star') if var.get(u'options').get(u'noglobstar') else (var.get(u'twoStarDot') if var.get(u'options').get(u'dot') else var.get(u'twoStarNoDot')))) + var.put(u'flags', (Js(u'i') if var.get(u'options').get(u'nocase') else Js(u''))) + @Js + def PyJs_anonymous_392_(pattern, this, arguments, var=var): + var = Scope({u'this':this, u'pattern':pattern, u'arguments':arguments}, var) + var.registers([u'pattern']) + @Js + def PyJs_anonymous_393_(p, this, arguments, var=var): + var = Scope({u'this':this, u'p':p, u'arguments':arguments}, var) + var.registers([u'p']) + return (var.get(u'twoStar') if PyJsStrictEq(var.get(u'p'),var.get(u'GLOBSTAR')) else (var.get(u'regExpEscape')(var.get(u'p')) if PyJsStrictEq(var.get(u'p',throw=False).typeof(),Js(u'string')) else var.get(u'p').get(u'_src'))) + PyJs_anonymous_393_._set_name(u'anonymous') + return var.get(u'pattern').callprop(u'map', PyJs_anonymous_393_).callprop(u'join', Js(u'\\/')) + PyJs_anonymous_392_._set_name(u'anonymous') + var.put(u're', var.get(u'set').callprop(u'map', PyJs_anonymous_392_).callprop(u'join', Js(u'|'))) + var.put(u're', ((Js(u'^(?:')+var.get(u're'))+Js(u')$'))) + if var.get(u"this").get(u'negate'): + var.put(u're', ((Js(u'^(?!')+var.get(u're'))+Js(u').*$'))) + try: + var.get(u"this").put(u'regexp', var.get(u'RegExp').create(var.get(u're'), var.get(u'flags'))) + except PyJsException as PyJsTempException: + PyJsHolder_6578_58961032 = var.own.get(u'ex') + var.force_own_put(u'ex', PyExceptionToJs(PyJsTempException)) + try: + var.get(u"this").put(u'regexp', Js(False)) + finally: + if PyJsHolder_6578_58961032 is not None: + var.own[u'ex'] = PyJsHolder_6578_58961032 + else: + del var.own[u'ex'] + del PyJsHolder_6578_58961032 + return var.get(u"this").get(u'regexp') + PyJsHoisted_makeRe_.func_name = u'makeRe' + var.put(u'makeRe', PyJsHoisted_makeRe_) + @Js + def PyJsHoisted_regExpEscape_(s, this, arguments, var=var): + var = Scope({u'this':this, u's':s, u'arguments':arguments}, var) + var.registers([u's']) + return var.get(u's').callprop(u'replace', JsRegExp(u'/[-[\\]{}()*+?.,\\\\^$|#\\s]/g'), Js(u'\\$&')) + PyJsHoisted_regExpEscape_.func_name = u'regExpEscape' + var.put(u'regExpEscape', PyJsHoisted_regExpEscape_) + @Js + def PyJsHoisted_Minimatch_(pattern, options, this, arguments, var=var): + var = Scope({u'this':this, u'pattern':pattern, u'options':options, u'arguments':arguments}, var) + var.registers([u'pattern', u'options']) + if var.get(u"this").instanceof(var.get(u'Minimatch')).neg(): + return var.get(u'Minimatch').create(var.get(u'pattern'), var.get(u'options')) + if PyJsStrictNeq(var.get(u'pattern',throw=False).typeof(),Js(u'string')): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'glob pattern string required'))) + raise PyJsTempException + if var.get(u'options').neg(): + PyJs_Object_380_ = Js({}) + var.put(u'options', PyJs_Object_380_) + var.put(u'pattern', var.get(u'pattern').callprop(u'trim')) + if PyJsStrictNeq(var.get(u'path').get(u'sep'),Js(u'/')): + var.put(u'pattern', var.get(u'pattern').callprop(u'split', var.get(u'path').get(u'sep')).callprop(u'join', Js(u'/'))) + var.get(u"this").put(u'options', var.get(u'options')) + var.get(u"this").put(u'set', Js([])) + var.get(u"this").put(u'pattern', var.get(u'pattern')) + var.get(u"this").put(u'regexp', var.get(u"null")) + var.get(u"this").put(u'negate', Js(False)) + var.get(u"this").put(u'comment', Js(False)) + var.get(u"this").put(u'empty', Js(False)) + var.get(u"this").callprop(u'make') + PyJsHoisted_Minimatch_.func_name = u'Minimatch' + var.put(u'Minimatch', PyJsHoisted_Minimatch_) + @Js + def PyJsHoisted_make_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'pattern', u'set', u'options']) + if var.get(u"this").get(u'_made'): + return var.get('undefined') + var.put(u'pattern', var.get(u"this").get(u'pattern')) + var.put(u'options', var.get(u"this").get(u'options')) + if (var.get(u'options').get(u'nocomment').neg() and PyJsStrictEq(var.get(u'pattern').callprop(u'charAt', Js(0.0)),Js(u'#'))): + var.get(u"this").put(u'comment', var.get(u'true')) + return var.get('undefined') + if var.get(u'pattern').neg(): + var.get(u"this").put(u'empty', var.get(u'true')) + return var.get('undefined') + var.get(u"this").callprop(u'parseNegate') + var.put(u'set', var.get(u"this").put(u'globSet', var.get(u"this").callprop(u'braceExpand'))) + if var.get(u'options').get(u'debug'): + var.get(u"this").put(u'debug', var.get(u'console').get(u'error')) + var.get(u"this").callprop(u'debug', var.get(u"this").get(u'pattern'), var.get(u'set')) + @Js + def PyJs_anonymous_382_(s, this, arguments, var=var): + var = Scope({u'this':this, u's':s, u'arguments':arguments}, var) + var.registers([u's']) + return var.get(u's').callprop(u'split', var.get(u'slashSplit')) + PyJs_anonymous_382_._set_name(u'anonymous') + var.put(u'set', var.get(u"this").put(u'globParts', var.get(u'set').callprop(u'map', PyJs_anonymous_382_))) + var.get(u"this").callprop(u'debug', var.get(u"this").get(u'pattern'), var.get(u'set')) + @Js + def PyJs_anonymous_383_(s, si, set, this, arguments, var=var): + var = Scope({u'this':this, u's':s, u'set':set, u'si':si, u'arguments':arguments}, var) + var.registers([u's', u'set', u'si']) + return var.get(u's').callprop(u'map', var.get(u"this").get(u'parse'), var.get(u"this")) + PyJs_anonymous_383_._set_name(u'anonymous') + var.put(u'set', var.get(u'set').callprop(u'map', PyJs_anonymous_383_, var.get(u"this"))) + var.get(u"this").callprop(u'debug', var.get(u"this").get(u'pattern'), var.get(u'set')) + @Js + def PyJs_anonymous_384_(s, this, arguments, var=var): + var = Scope({u'this':this, u's':s, u'arguments':arguments}, var) + var.registers([u's']) + return PyJsStrictEq(var.get(u's').callprop(u'indexOf', Js(False)),(-Js(1.0))) + PyJs_anonymous_384_._set_name(u'anonymous') + var.put(u'set', var.get(u'set').callprop(u'filter', PyJs_anonymous_384_)) + var.get(u"this").callprop(u'debug', var.get(u"this").get(u'pattern'), var.get(u'set')) + var.get(u"this").put(u'set', var.get(u'set')) + PyJsHoisted_make_.func_name = u'make' + var.put(u'make', PyJsHoisted_make_) + @Js + def PyJsHoisted_charSet_(s, this, arguments, var=var): + var = Scope({u'this':this, u's':s, u'arguments':arguments}, var) + var.registers([u's']) + @Js + def PyJs_anonymous_366_(set, c, this, arguments, var=var): + var = Scope({u'this':this, u'c':c, u'set':set, u'arguments':arguments}, var) + var.registers([u'c', u'set']) + var.get(u'set').put(var.get(u'c'), var.get(u'true')) + return var.get(u'set') + PyJs_anonymous_366_._set_name(u'anonymous') + PyJs_Object_367_ = Js({}) + return var.get(u's').callprop(u'split', Js(u'')).callprop(u'reduce', PyJs_anonymous_366_, PyJs_Object_367_) + PyJsHoisted_charSet_.func_name = u'charSet' + var.put(u'charSet', PyJsHoisted_charSet_) + @Js + def PyJsHoisted_filter_(pattern, options, this, arguments, var=var): + var = Scope({u'this':this, u'pattern':pattern, u'options':options, u'arguments':arguments}, var) + var.registers([u'pattern', u'options']) + PyJs_Object_368_ = Js({}) + var.put(u'options', (var.get(u'options') or PyJs_Object_368_)) + @Js + def PyJs_anonymous_369_(p, i, list, this, arguments, var=var): + var = Scope({u'i':i, u'p':p, u'this':this, u'list':list, u'arguments':arguments}, var) + var.registers([u'i', u'p', u'list']) + return var.get(u'minimatch')(var.get(u'p'), var.get(u'pattern'), var.get(u'options')) + PyJs_anonymous_369_._set_name(u'anonymous') + return PyJs_anonymous_369_ + PyJsHoisted_filter_.func_name = u'filter' + var.put(u'filter', PyJsHoisted_filter_) + @Js + def PyJsHoisted_ext_(a, b, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'b':b, u'arguments':arguments}, var) + var.registers([u'a', u'b', u't']) + PyJs_Object_370_ = Js({}) + var.put(u'a', (var.get(u'a') or PyJs_Object_370_)) + PyJs_Object_371_ = Js({}) + var.put(u'b', (var.get(u'b') or PyJs_Object_371_)) + PyJs_Object_372_ = Js({}) + var.put(u't', PyJs_Object_372_) + @Js + def PyJs_anonymous_373_(k, this, arguments, var=var): + var = Scope({u'this':this, u'k':k, u'arguments':arguments}, var) + var.registers([u'k']) + var.get(u't').put(var.get(u'k'), var.get(u'b').get(var.get(u'k'))) + PyJs_anonymous_373_._set_name(u'anonymous') + var.get(u'Object').callprop(u'keys', var.get(u'b')).callprop(u'forEach', PyJs_anonymous_373_) + @Js + def PyJs_anonymous_374_(k, this, arguments, var=var): + var = Scope({u'this':this, u'k':k, u'arguments':arguments}, var) + var.registers([u'k']) + var.get(u't').put(var.get(u'k'), var.get(u'a').get(var.get(u'k'))) + PyJs_anonymous_374_._set_name(u'anonymous') + var.get(u'Object').callprop(u'keys', var.get(u'a')).callprop(u'forEach', PyJs_anonymous_374_) + return var.get(u't') + PyJsHoisted_ext_.func_name = u'ext' + var.put(u'ext', PyJsHoisted_ext_) + @Js + def PyJsHoisted_parseNegate_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'pattern', u'l', u'negateOffset', u'negate', u'options']) + var.put(u'pattern', var.get(u"this").get(u'pattern')) + var.put(u'negate', Js(False)) + var.put(u'options', var.get(u"this").get(u'options')) + var.put(u'negateOffset', Js(0.0)) + if var.get(u'options').get(u'nonegate'): + return var.get('undefined') + #for JS loop + var.put(u'i', Js(0.0)) + var.put(u'l', var.get(u'pattern').get(u'length')) + while ((var.get(u'i')(Js(1024.0)*Js(64.0))): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'pattern is too long'))) + raise PyJsTempException + var.put(u'options', var.get(u"this").get(u'options')) + if (var.get(u'options').get(u'noglobstar').neg() and PyJsStrictEq(var.get(u'pattern'),Js(u'**'))): + return var.get(u'GLOBSTAR') + if PyJsStrictEq(var.get(u'pattern'),Js(u'')): + return Js(u'') + var.put(u're', Js(u'')) + var.put(u'hasMagic', var.get(u'options').get(u'nocase').neg().neg()) + var.put(u'escaping', Js(False)) + var.put(u'patternListStack', Js([])) + var.put(u'negativeLists', Js([])) + pass + var.put(u'inClass', Js(False)) + var.put(u'reClassStart', (-Js(1.0))) + var.put(u'classStart', (-Js(1.0))) + var.put(u'patternStart', (Js(u'') if PyJsStrictEq(var.get(u'pattern').callprop(u'charAt', Js(0.0)),Js(u'.')) else (Js(u'(?!(?:^|\\/)\\.{1,2}(?:$|\\/))') if var.get(u'options').get(u'dot') else Js(u'(?!\\.)')))) + var.put(u'self', var.get(u"this")) + pass + #for JS loop + var.put(u'i', Js(0.0)) + var.put(u'len', var.get(u'pattern').get(u'length')) + while ((var.get(u'i')(-Js(1.0))): + try: + var.put(u'nl', var.get(u'negativeLists').get(var.get(u'n'))) + var.put(u'nlBefore', var.get(u're').callprop(u'slice', Js(0.0), var.get(u'nl').get(u'reStart'))) + var.put(u'nlFirst', var.get(u're').callprop(u'slice', var.get(u'nl').get(u'reStart'), (var.get(u'nl').get(u'reEnd')-Js(8.0)))) + var.put(u'nlLast', var.get(u're').callprop(u'slice', (var.get(u'nl').get(u'reEnd')-Js(8.0)), var.get(u'nl').get(u'reEnd'))) + var.put(u'nlAfter', var.get(u're').callprop(u'slice', var.get(u'nl').get(u'reEnd'))) + var.put(u'nlLast', var.get(u'nlAfter'), u'+') + var.put(u'openParensBefore', (var.get(u'nlBefore').callprop(u'split', Js(u'(')).get(u'length')-Js(1.0))) + var.put(u'cleanAfter', var.get(u'nlAfter')) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=Js(0.0)): + try: + var.put(u'filename', var.get(u'f').get(var.get(u'i'))) + if var.get(u'filename'): + break + finally: + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')>> no match, partial?'), var.get(u'file'), var.get(u'fr'), var.get(u'pattern'), var.get(u'pr')) + if PyJsStrictEq(var.get(u'fr'),var.get(u'fl')): + return var.get(u'true') + return Js(False) + pass + if PyJsStrictEq(var.get(u'p',throw=False).typeof(),Js(u'string')): + if var.get(u'options').get(u'nocase'): + var.put(u'hit', PyJsStrictEq(var.get(u'f').callprop(u'toLowerCase'),var.get(u'p').callprop(u'toLowerCase'))) + else: + var.put(u'hit', PyJsStrictEq(var.get(u'f'),var.get(u'p'))) + var.get(u"this").callprop(u'debug', Js(u'string match'), var.get(u'p'), var.get(u'f'), var.get(u'hit')) + else: + var.put(u'hit', var.get(u'f').callprop(u'match', var.get(u'p'))) + var.get(u"this").callprop(u'debug', Js(u'pattern match'), var.get(u'p'), var.get(u'f'), var.get(u'hit')) + if var.get(u'hit').neg(): + return Js(False) + finally: + PyJsComma((var.put(u'fi',Js(var.get(u'fi').to_number())+Js(1))-Js(1)),(var.put(u'pi',Js(var.get(u'pi').to_number())+Js(1))-Js(1))) + if (PyJsStrictEq(var.get(u'fi'),var.get(u'fl')) and PyJsStrictEq(var.get(u'pi'),var.get(u'pl'))): + return var.get(u'true') + else: + if PyJsStrictEq(var.get(u'fi'),var.get(u'fl')): + return var.get(u'partial') + else: + if PyJsStrictEq(var.get(u'pi'),var.get(u'pl')): + var.put(u'emptyFileEnd', (PyJsStrictEq(var.get(u'fi'),(var.get(u'fl')-Js(1.0))) and PyJsStrictEq(var.get(u'file').get(var.get(u'fi')),Js(u'')))) + return var.get(u'emptyFileEnd') + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'wtf?'))) + raise PyJsTempException + PyJs_anonymous_397_._set_name(u'anonymous') + var.get(u'Minimatch').get(u'prototype').put(u'matchOne', PyJs_anonymous_397_) + pass + pass +PyJs_anonymous_357_._set_name(u'anonymous') +PyJs_Object_399_ = Js({u'brace-expansion':Js(264.0),u'path':Js(530.0)}) +@Js +def PyJs_anonymous_400_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_402_ = Js({u'raw':Js(u'babel-core'),u'scope':var.get(u"null"),u'escapedName':Js(u'babel-core'),u'name':Js(u'babel-core'),u'rawSpec':Js(u''),u'spec':Js(u'latest'),u'type':Js(u'tag')}) + PyJs_Object_403_ = Js({u'host':Js(u'packages-18-east.internal.npmjs.com'),u'tmp':Js(u'tmp/babel-core-6.18.2.tgz_1478035855416_0.08754534856416285')}) + PyJs_Object_404_ = Js({u'name':Js(u'hzoo'),u'email':Js(u'hi@henryzoo.com')}) + PyJs_Object_405_ = Js({u'brace-expansion':Js(u'1.1.5')}) + PyJs_Object_406_ = Js({u'raw':Js(u'babel-core'),u'scope':var.get(u"null"),u'escapedName':Js(u'babel-core'),u'name':Js(u'babel-core'),u'rawSpec':Js(u''),u'spec':Js(u'latest'),u'type':Js(u'tag')}) + PyJs_Object_407_ = Js({u'name':Js(u'Sebastian McKenzie'),u'email':Js(u'sebmck@gmail.com')}) + PyJs_Object_408_ = Js({u'babel-code-frame':Js(u'^6.16.0'),u'babel-generator':Js(u'^6.18.0'),u'babel-helpers':Js(u'^6.16.0'),u'babel-messages':Js(u'^6.8.0'),u'babel-register':Js(u'^6.18.0'),u'babel-runtime':Js(u'^6.9.1'),u'babel-template':Js(u'^6.16.0'),u'babel-traverse':Js(u'^6.18.0'),u'babel-types':Js(u'^6.18.0'),u'babylon':Js(u'^6.11.0'),u'convert-source-map':Js(u'^1.1.0'),u'debug':Js(u'^2.1.1'),u'json5':Js(u'^0.5.0'),u'lodash':Js(u'^4.2.0'),u'minimatch':Js(u'^3.0.2'),u'path-is-absolute':Js(u'^1.0.0'),u'private':Js(u'^0.1.6'),u'slash':Js(u'^1.0.0'),u'source-map':Js(u'^0.5.0')}) + PyJs_Object_409_ = Js({u'babel-helper-fixtures':Js(u'^6.18.2'),u'babel-helper-transform-fixture-test-runner':Js(u'^6.18.2'),u'babel-polyfill':Js(u'^6.16.0')}) + PyJs_Object_410_ = Js({}) + PyJs_Object_411_ = Js({u'shasum':Js(u'd8bb14dd6986fa4f3566a26ceda3964fa0e04e5b'),u'tarball':Js(u'https://registry.npmjs.org/babel-core/-/babel-core-6.18.2.tgz')}) + PyJs_Object_412_ = Js({u'name':Js(u'amasad'),u'email':Js(u'amjad.masad@gmail.com')}) + PyJs_Object_413_ = Js({u'name':Js(u'hzoo'),u'email':Js(u'hi@henryzoo.com')}) + PyJs_Object_414_ = Js({u'name':Js(u'jmm'),u'email':Js(u'npm-public@jessemccarthy.net')}) + PyJs_Object_415_ = Js({u'name':Js(u'loganfsmyth'),u'email':Js(u'loganfsmyth@gmail.com')}) + PyJs_Object_416_ = Js({u'name':Js(u'sebmck'),u'email':Js(u'sebmck@gmail.com')}) + PyJs_Object_417_ = Js({u'name':Js(u'thejameskyle'),u'email':Js(u'me@thejameskyle.com')}) + PyJs_Object_418_ = Js({}) + PyJs_Object_419_ = Js({u'type':Js(u'git'),u'url':Js(u'https://github.com/babel/babel/tree/master/packages/babel-core')}) + PyJs_Object_420_ = Js({u'bench':Js(u'make bench'),u'test':Js(u'make test')}) + PyJs_Object_401_ = Js({u'_args':Js([Js([PyJs_Object_402_, Js(u'/Users/PiotrDabkowski/PycharmProjects/Js2Py/js2py/es6')])]),u'_from':Js(u'babel-core@latest'),u'_id':Js(u'babel-core@6.18.2'),u'_inCache':var.get(u'true'),u'_location':Js(u'/babel-core'),u'_nodeVersion':Js(u'6.8.1'),u'_npmOperationalInternal':PyJs_Object_403_,u'_npmUser':PyJs_Object_404_,u'_npmVersion':Js(u'3.10.9'),u'_phantomChildren':PyJs_Object_405_,u'_requested':PyJs_Object_406_,u'_requiredBy':Js([Js(u'#USER'), Js(u'/babel-cli'), Js(u'/babel-register'), Js(u'/babelify')]),u'_resolved':Js(u'https://registry.npmjs.org/babel-core/-/babel-core-6.18.2.tgz'),u'_shasum':Js(u'd8bb14dd6986fa4f3566a26ceda3964fa0e04e5b'),u'_shrinkwrap':var.get(u"null"),u'_spec':Js(u'babel-core'),u'_where':Js(u'/Users/PiotrDabkowski/PycharmProjects/Js2Py/js2py/es6'),u'author':PyJs_Object_407_,u'dependencies':PyJs_Object_408_,u'description':Js(u'Babel compiler core.'),u'devDependencies':PyJs_Object_409_,u'directories':PyJs_Object_410_,u'dist':PyJs_Object_411_,u'homepage':Js(u'https://babeljs.io/'),u'keywords':Js([Js(u'6to5'), Js(u'babel'), Js(u'classes'), Js(u'const'), Js(u'es6'), Js(u'harmony'), Js(u'let'), Js(u'modules'), Js(u'transpile'), Js(u'transpiler'), Js(u'var')]),u'license':Js(u'MIT'),u'maintainers':Js([PyJs_Object_412_, PyJs_Object_413_, PyJs_Object_414_, PyJs_Object_415_, PyJs_Object_416_, PyJs_Object_417_]),u'name':Js(u'babel-core'),u'optionalDependencies':PyJs_Object_418_,u'readme':Js(u'ERROR: No README data found!'),u'repository':PyJs_Object_419_,u'scripts':PyJs_Object_420_,u'version':Js(u'6.18.2')}) + var.get(u'module').put(u'exports', PyJs_Object_401_) +PyJs_anonymous_400_._set_name(u'anonymous') +PyJs_Object_421_ = Js({}) +@Js +def PyJs_anonymous_422_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'Buffer', u'require', u'_trimEnd2', u'module', u'_trimEnd', u'_interopRequireDefault', u'SPACES_RE', u'_classCallCheck2', u'_classCallCheck3']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_423_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_423_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.put(u'_trimEnd', var.get(u'require')(Js(u'lodash/trimEnd'))) + var.put(u'_trimEnd2', var.get(u'_interopRequireDefault')(var.get(u'_trimEnd'))) + pass + var.put(u'SPACES_RE', JsRegExp(u'/^[ \\t]+$/')) + @Js + def PyJs_anonymous_424_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'Buffer']) + @Js + def PyJsHoisted_Buffer_(map, this, arguments, var=var): + var = Scope({u'this':this, u'map':map, u'arguments':arguments}, var) + var.registers([u'map']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'Buffer')) + var.get(u"this").put(u'_map', var.get(u"null")) + var.get(u"this").put(u'_buf', Js([])) + var.get(u"this").put(u'_last', Js(u'')) + var.get(u"this").put(u'_queue', Js([])) + PyJs_Object_425_ = Js({u'line':Js(1.0),u'column':Js(0.0)}) + var.get(u"this").put(u'_position', PyJs_Object_425_) + PyJs_Object_426_ = Js({u'identifierName':var.get(u"null"),u'line':var.get(u"null"),u'column':var.get(u"null"),u'filename':var.get(u"null")}) + var.get(u"this").put(u'_sourcePosition', PyJs_Object_426_) + var.get(u"this").put(u'_map', var.get(u'map')) + PyJsHoisted_Buffer_.func_name = u'Buffer' + var.put(u'Buffer', PyJsHoisted_Buffer_) + pass + @Js + def PyJs_get_427_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_427_}, var) + var.registers([]) + var.get(u"this").callprop(u'_flush') + PyJs_Object_428_ = Js({u'code':PyJsComma(Js(0.0),var.get(u'_trimEnd2').get(u'default'))(var.get(u"this").get(u'_buf').callprop(u'join', Js(u''))),u'map':(var.get(u"this").get(u'_map').callprop(u'get') if var.get(u"this").get(u'_map') else var.get(u"null"))}) + return PyJs_Object_428_ + PyJs_get_427_._set_name(u'get') + var.get(u'Buffer').get(u'prototype').put(u'get', PyJs_get_427_) + @Js + def PyJs_append_429_(str, this, arguments, var=var): + var = Scope({u'this':this, u'append':PyJs_append_429_, u'arguments':arguments, u'str':str}, var) + var.registers([u'identifierName', u'column', u'filename', u'str', u'line', u'_sourcePosition']) + var.get(u"this").callprop(u'_flush') + var.put(u'_sourcePosition', var.get(u"this").get(u'_sourcePosition')) + var.put(u'line', var.get(u'_sourcePosition').get(u'line')) + var.put(u'column', var.get(u'_sourcePosition').get(u'column')) + var.put(u'filename', var.get(u'_sourcePosition').get(u'filename')) + var.put(u'identifierName', var.get(u'_sourcePosition').get(u'identifierName')) + var.get(u"this").callprop(u'_append', var.get(u'str'), var.get(u'line'), var.get(u'column'), var.get(u'identifierName'), var.get(u'filename')) + PyJs_append_429_._set_name(u'append') + var.get(u'Buffer').get(u'prototype').put(u'append', PyJs_append_429_) + @Js + def PyJs_queue_430_(str, this, arguments, var=var): + var = Scope({u'this':this, u'queue':PyJs_queue_430_, u'arguments':arguments, u'str':str}, var) + var.registers([u'identifierName', u'column', u'filename', u'_sourcePosition2', u'str', u'line']) + if PyJsStrictEq(var.get(u'str'),Js(u'\n')): + while ((var.get(u"this").get(u'_queue').get(u'length')>Js(0.0)) and var.get(u'SPACES_RE').callprop(u'test', var.get(u"this").get(u'_queue').get(u'0').get(u'0'))): + var.get(u"this").get(u'_queue').callprop(u'shift') + var.put(u'_sourcePosition2', var.get(u"this").get(u'_sourcePosition')) + var.put(u'line', var.get(u'_sourcePosition2').get(u'line')) + var.put(u'column', var.get(u'_sourcePosition2').get(u'column')) + var.put(u'filename', var.get(u'_sourcePosition2').get(u'filename')) + var.put(u'identifierName', var.get(u'_sourcePosition2').get(u'identifierName')) + var.get(u"this").get(u'_queue').callprop(u'unshift', Js([var.get(u'str'), var.get(u'line'), var.get(u'column'), var.get(u'identifierName'), var.get(u'filename')])) + PyJs_queue_430_._set_name(u'queue') + var.get(u'Buffer').get(u'prototype').put(u'queue', PyJs_queue_430_) + @Js + def PyJs__flush_431_(this, arguments, var=var): + var = Scope({u'this':this, u'_flush':PyJs__flush_431_, u'arguments':arguments}, var) + var.registers([u'item']) + var.put(u'item', PyJsComma(Js(0.0), Js(None))) + while var.put(u'item', var.get(u"this").get(u'_queue').callprop(u'pop')): + var.get(u"this").get(u'_append').callprop(u'apply', var.get(u"this"), var.get(u'item')) + PyJs__flush_431_._set_name(u'_flush') + var.get(u'Buffer').get(u'prototype').put(u'_flush', PyJs__flush_431_) + @Js + def PyJs__append_432_(str, line, column, identifierName, filename, this, arguments, var=var): + var = Scope({u'this':this, u'_append':PyJs__append_432_, u'str':str, u'identifierName':identifierName, u'column':column, u'arguments':arguments, u'line':line, u'filename':filename}, var) + var.registers([u'identifierName', u'i', u'filename', u'column', u'str', u'line']) + if (var.get(u"this").get(u'_map') and PyJsStrictNeq(var.get(u'str').get(u'0'),Js(u'\n'))): + var.get(u"this").get(u'_map').callprop(u'mark', var.get(u"this").get(u'_position').get(u'line'), var.get(u"this").get(u'_position').get(u'column'), var.get(u'line'), var.get(u'column'), var.get(u'identifierName'), var.get(u'filename')) + var.get(u"this").get(u'_buf').callprop(u'push', var.get(u'str')) + var.get(u"this").put(u'_last', var.get(u'str').get((var.get(u'str').get(u'length')-Js(1.0)))) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(0.0)) and PyJsStrictEq(var.get(u"this").get(u'_queue').get(u'0').get(u'0'),Js(u'\n'))): + var.get(u"this").get(u'_queue').callprop(u'shift') + PyJs_removeTrailingNewline_433_._set_name(u'removeTrailingNewline') + var.get(u'Buffer').get(u'prototype').put(u'removeTrailingNewline', PyJs_removeTrailingNewline_433_) + @Js + def PyJs_removeLastSemicolon_434_(this, arguments, var=var): + var = Scope({u'this':this, u'removeLastSemicolon':PyJs_removeLastSemicolon_434_, u'arguments':arguments}, var) + var.registers([]) + if ((var.get(u"this").get(u'_queue').get(u'length')>Js(0.0)) and PyJsStrictEq(var.get(u"this").get(u'_queue').get(u'0').get(u'0'),Js(u';'))): + var.get(u"this").get(u'_queue').callprop(u'shift') + PyJs_removeLastSemicolon_434_._set_name(u'removeLastSemicolon') + var.get(u'Buffer').get(u'prototype').put(u'removeLastSemicolon', PyJs_removeLastSemicolon_434_) + @Js + def PyJs_endsWith_435_(suffix, this, arguments, var=var): + var = Scope({u'this':this, u'endsWith':PyJs_endsWith_435_, u'suffix':suffix, u'arguments':arguments}, var) + var.registers([u'end', u'last', u'suffix', u'str']) + if PyJsStrictEq(var.get(u'suffix').get(u'length'),Js(1.0)): + var.put(u'last', PyJsComma(Js(0.0), Js(None))) + if (var.get(u"this").get(u'_queue').get(u'length')>Js(0.0)): + var.put(u'str', var.get(u"this").get(u'_queue').get(u'0').get(u'0')) + var.put(u'last', var.get(u'str').get((var.get(u'str').get(u'length')-Js(1.0)))) + else: + var.put(u'last', var.get(u"this").get(u'_last')) + return PyJsStrictEq(var.get(u'last'),var.get(u'suffix')) + @Js + def PyJs_anonymous_436_(acc, item, this, arguments, var=var): + var = Scope({u'acc':acc, u'item':item, u'this':this, u'arguments':arguments}, var) + var.registers([u'acc', u'item']) + return (var.get(u'item').get(u'0')+var.get(u'acc')) + PyJs_anonymous_436_._set_name(u'anonymous') + var.put(u'end', (var.get(u"this").get(u'_last')+var.get(u"this").get(u'_queue').callprop(u'reduce', PyJs_anonymous_436_, Js(u'')))) + if (var.get(u'suffix').get(u'length')<=var.get(u'end').get(u'length')): + return PyJsStrictEq(var.get(u'end').callprop(u'slice', (-var.get(u'suffix').get(u'length'))),var.get(u'suffix')) + return Js(False) + PyJs_endsWith_435_._set_name(u'endsWith') + var.get(u'Buffer').get(u'prototype').put(u'endsWith', PyJs_endsWith_435_) + @Js + def PyJs_hasContent_437_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'hasContent':PyJs_hasContent_437_}, var) + var.registers([]) + return ((var.get(u"this").get(u'_queue').get(u'length')>Js(0.0)) or var.get(u"this").get(u'_last').neg().neg()) + PyJs_hasContent_437_._set_name(u'hasContent') + var.get(u'Buffer').get(u'prototype').put(u'hasContent', PyJs_hasContent_437_) + @Js + def PyJs_source_438_(prop, loc, this, arguments, var=var): + var = Scope({u'this':this, u'loc':loc, u'source':PyJs_source_438_, u'arguments':arguments, u'prop':prop}, var) + var.registers([u'loc', u'pos', u'prop']) + if (var.get(u'prop') and var.get(u'loc').neg()): + return var.get('undefined') + var.put(u'pos', (var.get(u'loc').get(var.get(u'prop')) if var.get(u'loc') else var.get(u"null"))) + var.get(u"this").get(u'_sourcePosition').put(u'identifierName', ((var.get(u'loc') and var.get(u'loc').get(u'identifierName')) or var.get(u"null"))) + var.get(u"this").get(u'_sourcePosition').put(u'line', (var.get(u'pos').get(u'line') if var.get(u'pos') else var.get(u"null"))) + var.get(u"this").get(u'_sourcePosition').put(u'column', (var.get(u'pos').get(u'column') if var.get(u'pos') else var.get(u"null"))) + var.get(u"this").get(u'_sourcePosition').put(u'filename', ((var.get(u'loc') and var.get(u'loc').get(u'filename')) or var.get(u"null"))) + PyJs_source_438_._set_name(u'source') + var.get(u'Buffer').get(u'prototype').put(u'source', PyJs_source_438_) + @Js + def PyJs_withSource_439_(prop, loc, cb, this, arguments, var=var): + var = Scope({u'loc':loc, u'this':this, u'cb':cb, u'prop':prop, u'withSource':PyJs_withSource_439_, u'arguments':arguments}, var) + var.registers([u'originalColumn', u'originalIdentifierName', u'loc', u'cb', u'prop', u'originalLine', u'originalFilename']) + if var.get(u"this").get(u'_map').neg(): + return var.get(u'cb')() + var.put(u'originalLine', var.get(u"this").get(u'_sourcePosition').get(u'line')) + var.put(u'originalColumn', var.get(u"this").get(u'_sourcePosition').get(u'column')) + var.put(u'originalFilename', var.get(u"this").get(u'_sourcePosition').get(u'filename')) + var.put(u'originalIdentifierName', var.get(u"this").get(u'_sourcePosition').get(u'identifierName')) + var.get(u"this").callprop(u'source', var.get(u'prop'), var.get(u'loc')) + var.get(u'cb')() + var.get(u"this").get(u'_sourcePosition').put(u'line', var.get(u'originalLine')) + var.get(u"this").get(u'_sourcePosition').put(u'column', var.get(u'originalColumn')) + var.get(u"this").get(u'_sourcePosition').put(u'filename', var.get(u'originalFilename')) + var.get(u"this").get(u'_sourcePosition').put(u'identifierName', var.get(u'originalIdentifierName')) + PyJs_withSource_439_._set_name(u'withSource') + var.get(u'Buffer').get(u'prototype').put(u'withSource', PyJs_withSource_439_) + @Js + def PyJs_getCurrentColumn_440_(this, arguments, var=var): + var = Scope({u'this':this, u'getCurrentColumn':PyJs_getCurrentColumn_440_, u'arguments':arguments}, var) + var.registers([u'lastIndex', u'extra']) + @Js + def PyJs_anonymous_441_(acc, item, this, arguments, var=var): + var = Scope({u'acc':acc, u'item':item, u'this':this, u'arguments':arguments}, var) + var.registers([u'acc', u'item']) + return (var.get(u'item').get(u'0')+var.get(u'acc')) + PyJs_anonymous_441_._set_name(u'anonymous') + var.put(u'extra', var.get(u"this").get(u'_queue').callprop(u'reduce', PyJs_anonymous_441_, Js(u''))) + var.put(u'lastIndex', var.get(u'extra').callprop(u'lastIndexOf', Js(u'\n'))) + return ((var.get(u"this").get(u'_position').get(u'column')+var.get(u'extra').get(u'length')) if PyJsStrictEq(var.get(u'lastIndex'),(-Js(1.0))) else ((var.get(u'extra').get(u'length')-Js(1.0))-var.get(u'lastIndex'))) + PyJs_getCurrentColumn_440_._set_name(u'getCurrentColumn') + var.get(u'Buffer').get(u'prototype').put(u'getCurrentColumn', PyJs_getCurrentColumn_440_) + @Js + def PyJs_getCurrentLine_442_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'getCurrentLine':PyJs_getCurrentLine_442_}, var) + var.registers([u'count', u'i', u'extra']) + @Js + def PyJs_anonymous_443_(acc, item, this, arguments, var=var): + var = Scope({u'acc':acc, u'item':item, u'this':this, u'arguments':arguments}, var) + var.registers([u'acc', u'item']) + return (var.get(u'item').get(u'0')+var.get(u'acc')) + PyJs_anonymous_443_._set_name(u'anonymous') + var.put(u'extra', var.get(u"this").get(u'_queue').callprop(u'reduce', PyJs_anonymous_443_, Js(u''))) + var.put(u'count', Js(0.0)) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')')) + PyJsHoisted_TypeParameterInstantiation_.func_name = u'TypeParameterInstantiation' + var.put(u'TypeParameterInstantiation', PyJsHoisted_TypeParameterInstantiation_) + @Js + def PyJsHoisted_TypeParameter_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'_variance', var.get(u'node')) + var.get(u"this").callprop(u'word', var.get(u'node').get(u'name')) + if var.get(u'node').get(u'bound'): + var.get(u"this").callprop(u'print', var.get(u'node').get(u'bound'), var.get(u'node')) + if var.get(u'node').get(u'default'): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'=')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'default'), var.get(u'node')) + PyJsHoisted_TypeParameter_.func_name = u'TypeParameter' + var.put(u'TypeParameter', PyJsHoisted_TypeParameter_) + @Js + def PyJsHoisted_ExistentialTypeParam_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop(u'token', Js(u'*')) + PyJsHoisted_ExistentialTypeParam_.func_name = u'ExistentialTypeParam' + var.put(u'ExistentialTypeParam', PyJsHoisted_ExistentialTypeParam_) + @Js + def PyJsHoisted_FunctionTypeParam_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'name'), var.get(u'node')) + if var.get(u'node').get(u'optional'): + var.get(u"this").callprop(u'token', Js(u'?')) + var.get(u"this").callprop(u'token', Js(u':')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'typeAnnotation'), var.get(u'node')) + PyJsHoisted_FunctionTypeParam_.func_name = u'FunctionTypeParam' + var.put(u'FunctionTypeParam', PyJsHoisted_FunctionTypeParam_) + @Js + def PyJsHoisted_orSeparator_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'|')) + var.get(u"this").callprop(u'space') + PyJsHoisted_orSeparator_.func_name = u'orSeparator' + var.put(u'orSeparator', PyJsHoisted_orSeparator_) + @Js + def PyJsHoisted_UnionTypeAnnotation_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + PyJs_Object_469_ = Js({u'separator':var.get(u'orSeparator')}) + var.get(u"this").callprop(u'printJoin', var.get(u'node').get(u'types'), var.get(u'node'), PyJs_Object_469_) + PyJsHoisted_UnionTypeAnnotation_.func_name = u'UnionTypeAnnotation' + var.put(u'UnionTypeAnnotation', PyJsHoisted_UnionTypeAnnotation_) + @Js + def PyJsHoisted_DeclareModuleExports_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'word', Js(u'declare')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'module')) + var.get(u"this").callprop(u'token', Js(u'.')) + var.get(u"this").callprop(u'word', Js(u'exports')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'typeAnnotation'), var.get(u'node')) + PyJsHoisted_DeclareModuleExports_.func_name = u'DeclareModuleExports' + var.put(u'DeclareModuleExports', PyJsHoisted_DeclareModuleExports_) + @Js + def PyJsHoisted_TypeCastExpression_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'token', Js(u'(')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'expression'), var.get(u'node')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'typeAnnotation'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u')')) + PyJsHoisted_TypeCastExpression_.func_name = u'TypeCastExpression' + var.put(u'TypeCastExpression', PyJsHoisted_TypeCastExpression_) + @Js + def PyJsHoisted_BooleanLiteralTypeAnnotation_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'word', (Js(u'true') if var.get(u'node').get(u'value') else Js(u'false'))) + PyJsHoisted_BooleanLiteralTypeAnnotation_.func_name = u'BooleanLiteralTypeAnnotation' + var.put(u'BooleanLiteralTypeAnnotation', PyJsHoisted_BooleanLiteralTypeAnnotation_) + @Js + def PyJsHoisted_VoidTypeAnnotation_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop(u'word', Js(u'void')) + PyJsHoisted_VoidTypeAnnotation_.func_name = u'VoidTypeAnnotation' + var.put(u'VoidTypeAnnotation', PyJsHoisted_VoidTypeAnnotation_) + @Js + def PyJsHoisted_ObjectTypeProperty_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u'node').get(u'static'): + var.get(u"this").callprop(u'word', Js(u'static')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'_variance', var.get(u'node')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'key'), var.get(u'node')) + if var.get(u'node').get(u'optional'): + var.get(u"this").callprop(u'token', Js(u'?')) + var.get(u"this").callprop(u'token', Js(u':')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'value'), var.get(u'node')) + PyJsHoisted_ObjectTypeProperty_.func_name = u'ObjectTypeProperty' + var.put(u'ObjectTypeProperty', PyJsHoisted_ObjectTypeProperty_) + @Js + def PyJsHoisted_IntersectionTypeAnnotation_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + PyJs_Object_465_ = Js({u'separator':var.get(u'andSeparator')}) + var.get(u"this").callprop(u'printJoin', var.get(u'node').get(u'types'), var.get(u'node'), PyJs_Object_465_) + PyJsHoisted_IntersectionTypeAnnotation_.func_name = u'IntersectionTypeAnnotation' + var.put(u'IntersectionTypeAnnotation', PyJsHoisted_IntersectionTypeAnnotation_) + @Js + def PyJsHoisted_ObjectTypeCallProperty_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u'node').get(u'static'): + var.get(u"this").callprop(u'word', Js(u'static')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'value'), var.get(u'node')) + PyJsHoisted_ObjectTypeCallProperty_.func_name = u'ObjectTypeCallProperty' + var.put(u'ObjectTypeCallProperty', PyJsHoisted_ObjectTypeCallProperty_) + @Js + def PyJsHoisted_TupleTypeAnnotation_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'token', Js(u'[')) + var.get(u"this").callprop(u'printList', var.get(u'node').get(u'types'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u']')) + PyJsHoisted_TupleTypeAnnotation_.func_name = u'TupleTypeAnnotation' + var.put(u'TupleTypeAnnotation', PyJsHoisted_TupleTypeAnnotation_) + @Js + def PyJsHoisted_TypeAnnotation_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'token', Js(u':')) + var.get(u"this").callprop(u'space') + if var.get(u'node').get(u'optional'): + var.get(u"this").callprop(u'token', Js(u'?')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'typeAnnotation'), var.get(u'node')) + PyJsHoisted_TypeAnnotation_.func_name = u'TypeAnnotation' + var.put(u'TypeAnnotation', PyJsHoisted_TypeAnnotation_) + @Js + def PyJsHoisted__variance_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if PyJsStrictEq(var.get(u'node').get(u'variance'),Js(u'plus')): + var.get(u"this").callprop(u'token', Js(u'+')) + else: + if PyJsStrictEq(var.get(u'node').get(u'variance'),Js(u'minus')): + var.get(u"this").callprop(u'token', Js(u'-')) + PyJsHoisted__variance_.func_name = u'_variance' + var.put(u'_variance', PyJsHoisted__variance_) + @Js + def PyJsHoisted_FunctionTypeAnnotation_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent']) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'typeParameters'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u'(')) + var.get(u"this").callprop(u'printList', var.get(u'node').get(u'params'), var.get(u'node')) + if var.get(u'node').get(u'rest'): + if var.get(u'node').get(u'params').get(u'length'): + var.get(u"this").callprop(u'token', Js(u',')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'...')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'rest'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u')')) + if (PyJsStrictEq(var.get(u'parent').get(u'type'),Js(u'ObjectTypeCallProperty')) or PyJsStrictEq(var.get(u'parent').get(u'type'),Js(u'DeclareFunction'))): + var.get(u"this").callprop(u'token', Js(u':')) + else: + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'=>')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'returnType'), var.get(u'node')) + PyJsHoisted_FunctionTypeAnnotation_.func_name = u'FunctionTypeAnnotation' + var.put(u'FunctionTypeAnnotation', PyJsHoisted_FunctionTypeAnnotation_) + @Js + def PyJsHoisted_DeclareModule_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'word', Js(u'declare')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'module')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'id'), var.get(u'node')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'body'), var.get(u'node')) + PyJsHoisted_DeclareModule_.func_name = u'DeclareModule' + var.put(u'DeclareModule', PyJsHoisted_DeclareModule_) + @Js + def PyJsHoisted_NullableTypeAnnotation_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'token', Js(u'?')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'typeAnnotation'), var.get(u'node')) + PyJsHoisted_NullableTypeAnnotation_.func_name = u'NullableTypeAnnotation' + var.put(u'NullableTypeAnnotation', PyJsHoisted_NullableTypeAnnotation_) + @Js + def PyJsHoisted_andSeparator_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'&')) + var.get(u"this").callprop(u'space') + PyJsHoisted_andSeparator_.func_name = u'andSeparator' + var.put(u'andSeparator', PyJsHoisted_andSeparator_) + @Js + def PyJsHoisted_BooleanTypeAnnotation_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop(u'word', Js(u'boolean')) + PyJsHoisted_BooleanTypeAnnotation_.func_name = u'BooleanTypeAnnotation' + var.put(u'BooleanTypeAnnotation', PyJsHoisted_BooleanTypeAnnotation_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'AnyTypeAnnotation', var.get(u'AnyTypeAnnotation')) + var.get(u'exports').put(u'ArrayTypeAnnotation', var.get(u'ArrayTypeAnnotation')) + var.get(u'exports').put(u'BooleanTypeAnnotation', var.get(u'BooleanTypeAnnotation')) + var.get(u'exports').put(u'BooleanLiteralTypeAnnotation', var.get(u'BooleanLiteralTypeAnnotation')) + var.get(u'exports').put(u'NullLiteralTypeAnnotation', var.get(u'NullLiteralTypeAnnotation')) + var.get(u'exports').put(u'DeclareClass', var.get(u'DeclareClass')) + var.get(u'exports').put(u'DeclareFunction', var.get(u'DeclareFunction')) + var.get(u'exports').put(u'DeclareInterface', var.get(u'DeclareInterface')) + var.get(u'exports').put(u'DeclareModule', var.get(u'DeclareModule')) + var.get(u'exports').put(u'DeclareModuleExports', var.get(u'DeclareModuleExports')) + var.get(u'exports').put(u'DeclareTypeAlias', var.get(u'DeclareTypeAlias')) + var.get(u'exports').put(u'DeclareVariable', var.get(u'DeclareVariable')) + var.get(u'exports').put(u'ExistentialTypeParam', var.get(u'ExistentialTypeParam')) + var.get(u'exports').put(u'FunctionTypeAnnotation', var.get(u'FunctionTypeAnnotation')) + var.get(u'exports').put(u'FunctionTypeParam', var.get(u'FunctionTypeParam')) + var.get(u'exports').put(u'InterfaceExtends', var.get(u'InterfaceExtends')) + var.get(u'exports').put(u'_interfaceish', var.get(u'_interfaceish')) + var.get(u'exports').put(u'_variance', var.get(u'_variance')) + var.get(u'exports').put(u'InterfaceDeclaration', var.get(u'InterfaceDeclaration')) + var.get(u'exports').put(u'IntersectionTypeAnnotation', var.get(u'IntersectionTypeAnnotation')) + var.get(u'exports').put(u'MixedTypeAnnotation', var.get(u'MixedTypeAnnotation')) + var.get(u'exports').put(u'EmptyTypeAnnotation', var.get(u'EmptyTypeAnnotation')) + var.get(u'exports').put(u'NullableTypeAnnotation', var.get(u'NullableTypeAnnotation')) + var.put(u'_types', var.get(u'require')(Js(u'./types'))) + @Js + def PyJs_get_462_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_462_}, var) + var.registers([]) + return var.get(u'_types').get(u'NumericLiteral') + PyJs_get_462_._set_name(u'get') + PyJs_Object_461_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_462_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'NumericLiteralTypeAnnotation'), PyJs_Object_461_) + @Js + def PyJs_get_464_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_464_}, var) + var.registers([]) + return var.get(u'_types').get(u'StringLiteral') + PyJs_get_464_._set_name(u'get') + PyJs_Object_463_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_464_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'StringLiteralTypeAnnotation'), PyJs_Object_463_) + var.get(u'exports').put(u'NumberTypeAnnotation', var.get(u'NumberTypeAnnotation')) + var.get(u'exports').put(u'StringTypeAnnotation', var.get(u'StringTypeAnnotation')) + var.get(u'exports').put(u'ThisTypeAnnotation', var.get(u'ThisTypeAnnotation')) + var.get(u'exports').put(u'TupleTypeAnnotation', var.get(u'TupleTypeAnnotation')) + var.get(u'exports').put(u'TypeofTypeAnnotation', var.get(u'TypeofTypeAnnotation')) + var.get(u'exports').put(u'TypeAlias', var.get(u'TypeAlias')) + var.get(u'exports').put(u'TypeAnnotation', var.get(u'TypeAnnotation')) + var.get(u'exports').put(u'TypeParameter', var.get(u'TypeParameter')) + var.get(u'exports').put(u'TypeParameterInstantiation', var.get(u'TypeParameterInstantiation')) + var.get(u'exports').put(u'ObjectTypeAnnotation', var.get(u'ObjectTypeAnnotation')) + var.get(u'exports').put(u'ObjectTypeCallProperty', var.get(u'ObjectTypeCallProperty')) + var.get(u'exports').put(u'ObjectTypeIndexer', var.get(u'ObjectTypeIndexer')) + var.get(u'exports').put(u'ObjectTypeProperty', var.get(u'ObjectTypeProperty')) + var.get(u'exports').put(u'QualifiedTypeIdentifier', var.get(u'QualifiedTypeIdentifier')) + var.get(u'exports').put(u'UnionTypeAnnotation', var.get(u'UnionTypeAnnotation')) + var.get(u'exports').put(u'TypeCastExpression', var.get(u'TypeCastExpression')) + var.get(u'exports').put(u'VoidTypeAnnotation', var.get(u'VoidTypeAnnotation')) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + var.get(u'exports').put(u'ClassImplements', var.get(u'InterfaceExtends')) + var.get(u'exports').put(u'GenericTypeAnnotation', var.get(u'InterfaceExtends')) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + var.get(u'exports').put(u'TypeParameterDeclaration', var.get(u'TypeParameterInstantiation')) + pass + pass + pass + pass + pass + pass + pass + pass + pass +PyJs_anonymous_460_._set_name(u'anonymous') +PyJs_Object_470_ = Js({u'./types':Js(39.0)}) +@Js +def PyJs_anonymous_471_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'JSXSpreadAttribute', u'exports', u'JSXOpeningElement', u'JSXMemberExpression', u'JSXClosingElement', u'module', u'JSXElement', u'JSXAttribute', u'JSXNamespacedName', u'JSXText', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'JSXExpressionContainer', u'spaceSeparator', u'JSXEmptyExpression', u'JSXIdentifier']) + @Js + def PyJsHoisted_JSXSpreadAttribute_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'token', Js(u'{')) + var.get(u"this").callprop(u'token', Js(u'...')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'argument'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u'}')) + PyJsHoisted_JSXSpreadAttribute_.func_name = u'JSXSpreadAttribute' + var.put(u'JSXSpreadAttribute', PyJsHoisted_JSXSpreadAttribute_) + @Js + def PyJsHoisted_JSXOpeningElement_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'token', Js(u'<')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'name'), var.get(u'node')) + if (var.get(u'node').get(u'attributes').get(u'length')>Js(0.0)): + var.get(u"this").callprop(u'space') + PyJs_Object_473_ = Js({u'separator':var.get(u'spaceSeparator')}) + var.get(u"this").callprop(u'printJoin', var.get(u'node').get(u'attributes'), var.get(u'node'), PyJs_Object_473_) + if var.get(u'node').get(u'selfClosing'): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'/>')) + else: + var.get(u"this").callprop(u'token', Js(u'>')) + PyJsHoisted_JSXOpeningElement_.func_name = u'JSXOpeningElement' + var.put(u'JSXOpeningElement', PyJsHoisted_JSXOpeningElement_) + @Js + def PyJsHoisted_JSXMemberExpression_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'object'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u'.')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'property'), var.get(u'node')) + PyJsHoisted_JSXMemberExpression_.func_name = u'JSXMemberExpression' + var.put(u'JSXMemberExpression', PyJsHoisted_JSXMemberExpression_) + @Js + def PyJsHoisted_JSXClosingElement_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'token', Js(u'')) + PyJsHoisted_JSXClosingElement_.func_name = u'JSXClosingElement' + var.put(u'JSXClosingElement', PyJsHoisted_JSXClosingElement_) + @Js + def PyJsHoisted_JSXElement_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'_isArray', u'_iterator', u'_i', u'child', u'_ref', u'open']) + var.put(u'open', var.get(u'node').get(u'openingElement')) + var.get(u"this").callprop(u'print', var.get(u'open'), var.get(u'node')) + if var.get(u'open').get(u'selfClosing'): + return var.get('undefined') + var.get(u"this").callprop(u'indent') + #for JS loop + var.put(u'_iterator', var.get(u'node').get(u'children')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'child', var.get(u'_ref')) + var.get(u"this").callprop(u'print', var.get(u'child'), var.get(u'node')) + + var.get(u"this").callprop(u'dedent') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'closingElement'), var.get(u'node')) + PyJsHoisted_JSXElement_.func_name = u'JSXElement' + var.put(u'JSXElement', PyJsHoisted_JSXElement_) + @Js + def PyJsHoisted_JSXAttribute_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'name'), var.get(u'node')) + if var.get(u'node').get(u'value'): + var.get(u"this").callprop(u'token', Js(u'=')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'value'), var.get(u'node')) + PyJsHoisted_JSXAttribute_.func_name = u'JSXAttribute' + var.put(u'JSXAttribute', PyJsHoisted_JSXAttribute_) + @Js + def PyJsHoisted_JSXNamespacedName_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'namespace'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u':')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'name'), var.get(u'node')) + PyJsHoisted_JSXNamespacedName_.func_name = u'JSXNamespacedName' + var.put(u'JSXNamespacedName', PyJsHoisted_JSXNamespacedName_) + @Js + def PyJsHoisted_JSXText_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'token', var.get(u'node').get(u'value')) + PyJsHoisted_JSXText_.func_name = u'JSXText' + var.put(u'JSXText', PyJsHoisted_JSXText_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_472_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_472_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_JSXExpressionContainer_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'token', Js(u'{')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'expression'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u'}')) + PyJsHoisted_JSXExpressionContainer_.func_name = u'JSXExpressionContainer' + var.put(u'JSXExpressionContainer', PyJsHoisted_JSXExpressionContainer_) + @Js + def PyJsHoisted_spaceSeparator_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop(u'space') + PyJsHoisted_spaceSeparator_.func_name = u'spaceSeparator' + var.put(u'spaceSeparator', PyJsHoisted_spaceSeparator_) + @Js + def PyJsHoisted_JSXEmptyExpression_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJsHoisted_JSXEmptyExpression_.func_name = u'JSXEmptyExpression' + var.put(u'JSXEmptyExpression', PyJsHoisted_JSXEmptyExpression_) + @Js + def PyJsHoisted_JSXIdentifier_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'word', var.get(u'node').get(u'name')) + PyJsHoisted_JSXIdentifier_.func_name = u'JSXIdentifier' + var.put(u'JSXIdentifier', PyJsHoisted_JSXIdentifier_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.get(u'exports').put(u'JSXAttribute', var.get(u'JSXAttribute')) + var.get(u'exports').put(u'JSXIdentifier', var.get(u'JSXIdentifier')) + var.get(u'exports').put(u'JSXNamespacedName', var.get(u'JSXNamespacedName')) + var.get(u'exports').put(u'JSXMemberExpression', var.get(u'JSXMemberExpression')) + var.get(u'exports').put(u'JSXSpreadAttribute', var.get(u'JSXSpreadAttribute')) + var.get(u'exports').put(u'JSXExpressionContainer', var.get(u'JSXExpressionContainer')) + var.get(u'exports').put(u'JSXText', var.get(u'JSXText')) + var.get(u'exports').put(u'JSXElement', var.get(u'JSXElement')) + var.get(u'exports').put(u'JSXOpeningElement', var.get(u'JSXOpeningElement')) + var.get(u'exports').put(u'JSXClosingElement', var.get(u'JSXClosingElement')) + var.get(u'exports').put(u'JSXEmptyExpression', var.get(u'JSXEmptyExpression')) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass +PyJs_anonymous_471_._set_name(u'anonymous') +PyJs_Object_474_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0)}) +@Js +def PyJs_anonymous_475_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'ArrowFunctionExpression', u'_interopRequireWildcard', u'require', u'_babelTypes', u'FunctionExpression', u'module', u't', u'hasTypes', u'_params', u'_method']) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_476_ = Js({}) + var.put(u'newObj', PyJs_Object_476_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_ArrowFunctionExpression_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'firstParam']) + if var.get(u'node').get(u'async'): + var.get(u"this").callprop(u'word', Js(u'async')) + var.get(u"this").callprop(u'space') + var.put(u'firstParam', var.get(u'node').get(u'params').get(u'0')) + if ((PyJsStrictEq(var.get(u'node').get(u'params').get(u'length'),Js(1.0)) and var.get(u't').callprop(u'isIdentifier', var.get(u'firstParam'))) and var.get(u'hasTypes')(var.get(u'node'), var.get(u'firstParam')).neg()): + var.get(u"this").callprop(u'print', var.get(u'firstParam'), var.get(u'node')) + else: + var.get(u"this").callprop(u'_params', var.get(u'node')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'=>')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'body'), var.get(u'node')) + PyJsHoisted_ArrowFunctionExpression_.func_name = u'ArrowFunctionExpression' + var.put(u'ArrowFunctionExpression', PyJsHoisted_ArrowFunctionExpression_) + @Js + def PyJsHoisted_FunctionExpression_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u'node').get(u'async'): + var.get(u"this").callprop(u'word', Js(u'async')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'function')) + if var.get(u'node').get(u'generator'): + var.get(u"this").callprop(u'token', Js(u'*')) + if var.get(u'node').get(u'id'): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'id'), var.get(u'node')) + else: + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'_params', var.get(u'node')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'body'), var.get(u'node')) + PyJsHoisted_FunctionExpression_.func_name = u'FunctionExpression' + var.put(u'FunctionExpression', PyJsHoisted_FunctionExpression_) + @Js + def PyJsHoisted_hasTypes_(node, param, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'param':param}, var) + var.registers([u'node', u'param']) + return ((((var.get(u'node').get(u'typeParameters') or var.get(u'node').get(u'returnType')) or var.get(u'param').get(u'typeAnnotation')) or var.get(u'param').get(u'optional')) or var.get(u'param').get(u'trailingComments')) + PyJsHoisted_hasTypes_.func_name = u'hasTypes' + var.put(u'hasTypes', PyJsHoisted_hasTypes_) + @Js + def PyJsHoisted__params_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'_this']) + var.put(u'_this', var.get(u"this")) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'typeParameters'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u'(')) + @Js + def PyJs_iterator_478_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'iterator':PyJs_iterator_478_}, var) + var.registers([u'node']) + if var.get(u'node').get(u'optional'): + var.get(u'_this').callprop(u'token', Js(u'?')) + var.get(u'_this').callprop(u'print', var.get(u'node').get(u'typeAnnotation'), var.get(u'node')) + PyJs_iterator_478_._set_name(u'iterator') + PyJs_Object_477_ = Js({u'iterator':PyJs_iterator_478_}) + var.get(u"this").callprop(u'printList', var.get(u'node').get(u'params'), var.get(u'node'), PyJs_Object_477_) + var.get(u"this").callprop(u'token', Js(u')')) + if var.get(u'node').get(u'returnType'): + var.get(u"this").callprop(u'print', var.get(u'node').get(u'returnType'), var.get(u'node')) + PyJsHoisted__params_.func_name = u'_params' + var.put(u'_params', PyJsHoisted__params_) + @Js + def PyJsHoisted__method_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'kind', u'key']) + var.put(u'kind', var.get(u'node').get(u'kind')) + var.put(u'key', var.get(u'node').get(u'key')) + if (PyJsStrictEq(var.get(u'kind'),Js(u'method')) or PyJsStrictEq(var.get(u'kind'),Js(u'init'))): + if var.get(u'node').get(u'generator'): + var.get(u"this").callprop(u'token', Js(u'*')) + if (PyJsStrictEq(var.get(u'kind'),Js(u'get')) or PyJsStrictEq(var.get(u'kind'),Js(u'set'))): + var.get(u"this").callprop(u'word', var.get(u'kind')) + var.get(u"this").callprop(u'space') + if var.get(u'node').get(u'async'): + var.get(u"this").callprop(u'word', Js(u'async')) + var.get(u"this").callprop(u'space') + if var.get(u'node').get(u'computed'): + var.get(u"this").callprop(u'token', Js(u'[')) + var.get(u"this").callprop(u'print', var.get(u'key'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u']')) + else: + var.get(u"this").callprop(u'print', var.get(u'key'), var.get(u'node')) + var.get(u"this").callprop(u'_params', var.get(u'node')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'body'), var.get(u'node')) + PyJsHoisted__method_.func_name = u'_method' + var.put(u'_method', PyJsHoisted__method_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'FunctionDeclaration', var.get(u'undefined')) + var.get(u'exports').put(u'_params', var.get(u'_params')) + var.get(u'exports').put(u'_method', var.get(u'_method')) + var.get(u'exports').put(u'FunctionExpression', var.get(u'FunctionExpression')) + var.get(u'exports').put(u'ArrowFunctionExpression', var.get(u'ArrowFunctionExpression')) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + pass + pass + var.get(u'exports').put(u'FunctionDeclaration', var.get(u'FunctionExpression')) + pass + pass +PyJs_anonymous_475_._set_name(u'anonymous') +PyJs_Object_479_ = Js({u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_480_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'ExportDeclaration', u'ExportNamespaceSpecifier', u'_interopRequireWildcard', u'ExportDefaultDeclaration', u'ImportDeclaration', u'ExportSpecifier', u'ImportSpecifier', u'_babelTypes', u'require', u'module', u'ImportDefaultSpecifier', u'ExportNamedDeclaration', u't', u'ImportNamespaceSpecifier', u'ExportDefaultSpecifier', u'ExportAllDeclaration']) + @Js + def PyJsHoisted_ExportNamespaceSpecifier_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'token', Js(u'*')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'as')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'exported'), var.get(u'node')) + PyJsHoisted_ExportNamespaceSpecifier_.func_name = u'ExportNamespaceSpecifier' + var.put(u'ExportNamespaceSpecifier', PyJsHoisted_ExportNamespaceSpecifier_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_481_ = Js({}) + var.put(u'newObj', PyJs_Object_481_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_ExportDefaultDeclaration_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop(u'word', Js(u'export')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'default')) + var.get(u"this").callprop(u'space') + var.get(u'ExportDeclaration').callprop(u'apply', var.get(u"this"), var.get(u'arguments')) + PyJsHoisted_ExportDefaultDeclaration_.func_name = u'ExportDefaultDeclaration' + var.put(u'ExportDefaultDeclaration', PyJsHoisted_ExportDefaultDeclaration_) + @Js + def PyJsHoisted_ImportDeclaration_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'specifiers', u'first']) + var.get(u"this").callprop(u'word', Js(u'import')) + var.get(u"this").callprop(u'space') + if (PyJsStrictEq(var.get(u'node').get(u'importKind'),Js(u'type')) or PyJsStrictEq(var.get(u'node').get(u'importKind'),Js(u'typeof'))): + var.get(u"this").callprop(u'word', var.get(u'node').get(u'importKind')) + var.get(u"this").callprop(u'space') + var.put(u'specifiers', var.get(u'node').get(u'specifiers').callprop(u'slice', Js(0.0))) + if (var.get(u'specifiers') and var.get(u'specifiers').get(u'length')): + while var.get(u'true'): + var.put(u'first', var.get(u'specifiers').get(u'0')) + if (var.get(u't').callprop(u'isImportDefaultSpecifier', var.get(u'first')) or var.get(u't').callprop(u'isImportNamespaceSpecifier', var.get(u'first'))): + var.get(u"this").callprop(u'print', var.get(u'specifiers').callprop(u'shift'), var.get(u'node')) + if var.get(u'specifiers').get(u'length'): + var.get(u"this").callprop(u'token', Js(u',')) + var.get(u"this").callprop(u'space') + else: + break + if var.get(u'specifiers').get(u'length'): + var.get(u"this").callprop(u'token', Js(u'{')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'printList', var.get(u'specifiers'), var.get(u'node')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'}')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'from')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'source'), var.get(u'node')) + var.get(u"this").callprop(u'semicolon') + PyJsHoisted_ImportDeclaration_.func_name = u'ImportDeclaration' + var.put(u'ImportDeclaration', PyJsHoisted_ImportDeclaration_) + @Js + def PyJsHoisted_ExportSpecifier_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'local'), var.get(u'node')) + if (var.get(u'node').get(u'exported') and PyJsStrictNeq(var.get(u'node').get(u'local').get(u'name'),var.get(u'node').get(u'exported').get(u'name'))): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'as')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'exported'), var.get(u'node')) + PyJsHoisted_ExportSpecifier_.func_name = u'ExportSpecifier' + var.put(u'ExportSpecifier', PyJsHoisted_ExportSpecifier_) + @Js + def PyJsHoisted_ImportSpecifier_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'imported'), var.get(u'node')) + if (var.get(u'node').get(u'local') and PyJsStrictNeq(var.get(u'node').get(u'local').get(u'name'),var.get(u'node').get(u'imported').get(u'name'))): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'as')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'local'), var.get(u'node')) + PyJsHoisted_ImportSpecifier_.func_name = u'ImportSpecifier' + var.put(u'ImportSpecifier', PyJsHoisted_ImportSpecifier_) + @Js + def PyJsHoisted_ExportDeclaration_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'specifiers', u'declar', u'first', u'hasSpecial']) + if var.get(u'node').get(u'declaration'): + var.put(u'declar', var.get(u'node').get(u'declaration')) + var.get(u"this").callprop(u'print', var.get(u'declar'), var.get(u'node')) + if var.get(u't').callprop(u'isStatement', var.get(u'declar')).neg(): + var.get(u"this").callprop(u'semicolon') + else: + if PyJsStrictEq(var.get(u'node').get(u'exportKind'),Js(u'type')): + var.get(u"this").callprop(u'word', Js(u'type')) + var.get(u"this").callprop(u'space') + var.put(u'specifiers', var.get(u'node').get(u'specifiers').callprop(u'slice', Js(0.0))) + var.put(u'hasSpecial', Js(False)) + while var.get(u'true'): + var.put(u'first', var.get(u'specifiers').get(u'0')) + if (var.get(u't').callprop(u'isExportDefaultSpecifier', var.get(u'first')) or var.get(u't').callprop(u'isExportNamespaceSpecifier', var.get(u'first'))): + var.put(u'hasSpecial', var.get(u'true')) + var.get(u"this").callprop(u'print', var.get(u'specifiers').callprop(u'shift'), var.get(u'node')) + if var.get(u'specifiers').get(u'length'): + var.get(u"this").callprop(u'token', Js(u',')) + var.get(u"this").callprop(u'space') + else: + break + if (var.get(u'specifiers').get(u'length') or (var.get(u'specifiers').get(u'length').neg() and var.get(u'hasSpecial').neg())): + var.get(u"this").callprop(u'token', Js(u'{')) + if var.get(u'specifiers').get(u'length'): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'printList', var.get(u'specifiers'), var.get(u'node')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'}')) + if var.get(u'node').get(u'source'): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'from')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'source'), var.get(u'node')) + var.get(u"this").callprop(u'semicolon') + PyJsHoisted_ExportDeclaration_.func_name = u'ExportDeclaration' + var.put(u'ExportDeclaration', PyJsHoisted_ExportDeclaration_) + @Js + def PyJsHoisted_ImportDefaultSpecifier_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'local'), var.get(u'node')) + PyJsHoisted_ImportDefaultSpecifier_.func_name = u'ImportDefaultSpecifier' + var.put(u'ImportDefaultSpecifier', PyJsHoisted_ImportDefaultSpecifier_) + @Js + def PyJsHoisted_ExportNamedDeclaration_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop(u'word', Js(u'export')) + var.get(u"this").callprop(u'space') + var.get(u'ExportDeclaration').callprop(u'apply', var.get(u"this"), var.get(u'arguments')) + PyJsHoisted_ExportNamedDeclaration_.func_name = u'ExportNamedDeclaration' + var.put(u'ExportNamedDeclaration', PyJsHoisted_ExportNamedDeclaration_) + @Js + def PyJsHoisted_ExportAllDeclaration_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'word', Js(u'export')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'*')) + if var.get(u'node').get(u'exported'): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'as')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'exported'), var.get(u'node')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'from')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'source'), var.get(u'node')) + var.get(u"this").callprop(u'semicolon') + PyJsHoisted_ExportAllDeclaration_.func_name = u'ExportAllDeclaration' + var.put(u'ExportAllDeclaration', PyJsHoisted_ExportAllDeclaration_) + @Js + def PyJsHoisted_ImportNamespaceSpecifier_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'token', Js(u'*')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'as')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'local'), var.get(u'node')) + PyJsHoisted_ImportNamespaceSpecifier_.func_name = u'ImportNamespaceSpecifier' + var.put(u'ImportNamespaceSpecifier', PyJsHoisted_ImportNamespaceSpecifier_) + @Js + def PyJsHoisted_ExportDefaultSpecifier_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'exported'), var.get(u'node')) + PyJsHoisted_ExportDefaultSpecifier_.func_name = u'ExportDefaultSpecifier' + var.put(u'ExportDefaultSpecifier', PyJsHoisted_ExportDefaultSpecifier_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'ImportSpecifier', var.get(u'ImportSpecifier')) + var.get(u'exports').put(u'ImportDefaultSpecifier', var.get(u'ImportDefaultSpecifier')) + var.get(u'exports').put(u'ExportDefaultSpecifier', var.get(u'ExportDefaultSpecifier')) + var.get(u'exports').put(u'ExportSpecifier', var.get(u'ExportSpecifier')) + var.get(u'exports').put(u'ExportNamespaceSpecifier', var.get(u'ExportNamespaceSpecifier')) + var.get(u'exports').put(u'ExportAllDeclaration', var.get(u'ExportAllDeclaration')) + var.get(u'exports').put(u'ExportNamedDeclaration', var.get(u'ExportNamedDeclaration')) + var.get(u'exports').put(u'ExportDefaultDeclaration', var.get(u'ExportDefaultDeclaration')) + var.get(u'exports').put(u'ImportDeclaration', var.get(u'ImportDeclaration')) + var.get(u'exports').put(u'ImportNamespaceSpecifier', var.get(u'ImportNamespaceSpecifier')) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass +PyJs_anonymous_480_._set_name(u'anonymous') +PyJs_Object_482_ = Js({u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_483_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'ForOfStatement', u'LabeledStatement', u'ForAwaitStatement', u'module', u'DebuggerStatement', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'VariableDeclaration', u'ForStatement', u'getLastStatement', u'ContinueStatement', u'DoWhileStatement', u'SwitchStatement', u'CatchClause', u'buildLabelStatement', u'BreakStatement', u'buildForXStatement', u'exports', u'_interopRequireWildcard', u'_babelTypes', u'TryStatement', u'ForInStatement', u'SwitchCase', u'constDeclarationIdent', u'ThrowStatement', u'WithStatement', u'WhileStatement', u'variableDeclarationIdent', u't', u'ReturnStatement', u'VariableDeclarator', u'require', u'IfStatement']) + @Js + def PyJsHoisted_ForStatement_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'word', Js(u'for')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'(')) + (var.get(u"this").put(u'inForStatementInitCounter',Js(var.get(u"this").get(u'inForStatementInitCounter').to_number())+Js(1))-Js(1)) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'init'), var.get(u'node')) + (var.get(u"this").put(u'inForStatementInitCounter',Js(var.get(u"this").get(u'inForStatementInitCounter').to_number())-Js(1))+Js(1)) + var.get(u"this").callprop(u'token', Js(u';')) + if var.get(u'node').get(u'test'): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'test'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u';')) + if var.get(u'node').get(u'update'): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'update'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u')')) + var.get(u"this").callprop(u'printBlock', var.get(u'node')) + PyJsHoisted_ForStatement_.func_name = u'ForStatement' + var.put(u'ForStatement', PyJsHoisted_ForStatement_) + @Js + def PyJsHoisted_constDeclarationIdent_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'i']) + var.get(u"this").callprop(u'token', Js(u',')) + var.get(u"this").callprop(u'newline') + if var.get(u"this").callprop(u'endsWith', Js(u'\n')): + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else Js(u'label'))) + @Js + def PyJs_anonymous_488_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'terminatorState', u'label']) + var.get(u"this").callprop(u'word', var.get(u'prefix')) + var.put(u'label', var.get(u'node').get(var.get(u'key'))) + if var.get(u'label'): + var.get(u"this").callprop(u'space') + var.put(u'terminatorState', var.get(u"this").callprop(u'startTerminatorless')) + var.get(u"this").callprop(u'print', var.get(u'label'), var.get(u'node')) + var.get(u"this").callprop(u'endTerminatorless', var.get(u'terminatorState')) + var.get(u"this").callprop(u'semicolon') + PyJs_anonymous_488_._set_name(u'anonymous') + return PyJs_anonymous_488_ + PyJsHoisted_buildLabelStatement_.func_name = u'buildLabelStatement' + var.put(u'buildLabelStatement', PyJsHoisted_buildLabelStatement_) + @Js + def PyJsHoisted_TryStatement_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'word', Js(u'try')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'block'), var.get(u'node')) + var.get(u"this").callprop(u'space') + if var.get(u'node').get(u'handlers'): + var.get(u"this").callprop(u'print', var.get(u'node').get(u'handlers').get(u'0'), var.get(u'node')) + else: + var.get(u"this").callprop(u'print', var.get(u'node').get(u'handler'), var.get(u'node')) + if var.get(u'node').get(u'finalizer'): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'finally')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'finalizer'), var.get(u'node')) + PyJsHoisted_TryStatement_.func_name = u'TryStatement' + var.put(u'TryStatement', PyJsHoisted_TryStatement_) + @Js + def PyJsHoisted_DebuggerStatement_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop(u'word', Js(u'debugger')) + var.get(u"this").callprop(u'semicolon') + PyJsHoisted_DebuggerStatement_.func_name = u'DebuggerStatement' + var.put(u'DebuggerStatement', PyJsHoisted_DebuggerStatement_) + @Js + def PyJsHoisted_SwitchStatement_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'word', Js(u'switch')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'(')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'discriminant'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u')')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'{')) + @Js + def PyJs_addNewlines_490_(leading, cas, this, arguments, var=var): + var = Scope({u'cas':cas, u'leading':leading, u'this':this, u'arguments':arguments, u'addNewlines':PyJs_addNewlines_490_}, var) + var.registers([u'cas', u'leading']) + if (var.get(u'leading').neg() and PyJsStrictEq(var.get(u'node').get(u'cases').get((var.get(u'node').get(u'cases').get(u'length')-Js(1.0))),var.get(u'cas'))): + return (-Js(1.0)) + PyJs_addNewlines_490_._set_name(u'addNewlines') + PyJs_Object_489_ = Js({u'indent':var.get(u'true'),u'addNewlines':PyJs_addNewlines_490_}) + var.get(u"this").callprop(u'printSequence', var.get(u'node').get(u'cases'), var.get(u'node'), PyJs_Object_489_) + var.get(u"this").callprop(u'token', Js(u'}')) + PyJsHoisted_SwitchStatement_.func_name = u'SwitchStatement' + var.put(u'SwitchStatement', PyJsHoisted_SwitchStatement_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_485_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_485_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_variableDeclarationIdent_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'i']) + var.get(u"this").callprop(u'token', Js(u',')) + var.get(u"this").callprop(u'newline') + if var.get(u"this").callprop(u'endsWith', Js(u'\n')): + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'declar', var.get(u'_ref')) + if var.get(u'declar').get(u'init'): + var.put(u'hasInits', var.get(u'true')) + + var.put(u'separator', PyJsComma(Js(0.0), Js(None))) + if var.get(u'hasInits'): + var.put(u'separator', (var.get(u'constDeclarationIdent') if PyJsStrictEq(var.get(u'node').get(u'kind'),Js(u'const')) else var.get(u'variableDeclarationIdent'))) + PyJs_Object_492_ = Js({u'separator':var.get(u'separator')}) + var.get(u"this").callprop(u'printList', var.get(u'node').get(u'declarations'), var.get(u'node'), PyJs_Object_492_) + if var.get(u't').callprop(u'isFor', var.get(u'parent')): + if (PyJsStrictEq(var.get(u'parent').get(u'left'),var.get(u'node')) or PyJsStrictEq(var.get(u'parent').get(u'init'),var.get(u'node'))): + return var.get('undefined') + var.get(u"this").callprop(u'semicolon') + PyJsHoisted_VariableDeclaration_.func_name = u'VariableDeclaration' + var.put(u'VariableDeclaration', PyJsHoisted_VariableDeclaration_) + @Js + def PyJsHoisted_SwitchCase_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u'node').get(u'test'): + var.get(u"this").callprop(u'word', Js(u'case')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'test'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u':')) + else: + var.get(u"this").callprop(u'word', Js(u'default')) + var.get(u"this").callprop(u'token', Js(u':')) + if var.get(u'node').get(u'consequent').get(u'length'): + var.get(u"this").callprop(u'newline') + PyJs_Object_491_ = Js({u'indent':var.get(u'true')}) + var.get(u"this").callprop(u'printSequence', var.get(u'node').get(u'consequent'), var.get(u'node'), PyJs_Object_491_) + PyJsHoisted_SwitchCase_.func_name = u'SwitchCase' + var.put(u'SwitchCase', PyJsHoisted_SwitchCase_) + @Js + def PyJsHoisted_VariableDeclarator_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'id'), var.get(u'node')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'id').get(u'typeAnnotation'), var.get(u'node')) + if var.get(u'node').get(u'init'): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'=')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'init'), var.get(u'node')) + PyJsHoisted_VariableDeclarator_.func_name = u'VariableDeclarator' + var.put(u'VariableDeclarator', PyJsHoisted_VariableDeclarator_) + @Js + def PyJsHoisted_IfStatement_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'needsBlock']) + var.get(u"this").callprop(u'word', Js(u'if')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'(')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'test'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u')')) + var.get(u"this").callprop(u'space') + var.put(u'needsBlock', (var.get(u'node').get(u'alternate') and var.get(u't').callprop(u'isIfStatement', var.get(u'getLastStatement')(var.get(u'node').get(u'consequent'))))) + if var.get(u'needsBlock'): + var.get(u"this").callprop(u'token', Js(u'{')) + var.get(u"this").callprop(u'newline') + var.get(u"this").callprop(u'indent') + var.get(u"this").callprop(u'printAndIndentOnComments', var.get(u'node').get(u'consequent'), var.get(u'node')) + if var.get(u'needsBlock'): + var.get(u"this").callprop(u'dedent') + var.get(u"this").callprop(u'newline') + var.get(u"this").callprop(u'token', Js(u'}')) + if var.get(u'node').get(u'alternate'): + if var.get(u"this").callprop(u'endsWith', Js(u'}')): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', Js(u'else')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'printAndIndentOnComments', var.get(u'node').get(u'alternate'), var.get(u'node')) + PyJsHoisted_IfStatement_.func_name = u'IfStatement' + var.put(u'IfStatement', PyJsHoisted_IfStatement_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'ThrowStatement', var.get(u'exports').put(u'BreakStatement', var.get(u'exports').put(u'ReturnStatement', var.get(u'exports').put(u'ContinueStatement', var.get(u'exports').put(u'ForAwaitStatement', var.get(u'exports').put(u'ForOfStatement', var.get(u'exports').put(u'ForInStatement', var.get(u'undefined')))))))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.get(u'exports').put(u'WithStatement', var.get(u'WithStatement')) + var.get(u'exports').put(u'IfStatement', var.get(u'IfStatement')) + var.get(u'exports').put(u'ForStatement', var.get(u'ForStatement')) + var.get(u'exports').put(u'WhileStatement', var.get(u'WhileStatement')) + var.get(u'exports').put(u'DoWhileStatement', var.get(u'DoWhileStatement')) + var.get(u'exports').put(u'LabeledStatement', var.get(u'LabeledStatement')) + var.get(u'exports').put(u'TryStatement', var.get(u'TryStatement')) + var.get(u'exports').put(u'CatchClause', var.get(u'CatchClause')) + var.get(u'exports').put(u'SwitchStatement', var.get(u'SwitchStatement')) + var.get(u'exports').put(u'SwitchCase', var.get(u'SwitchCase')) + var.get(u'exports').put(u'DebuggerStatement', var.get(u'DebuggerStatement')) + var.get(u'exports').put(u'VariableDeclaration', var.get(u'VariableDeclaration')) + var.get(u'exports').put(u'VariableDeclarator', var.get(u'VariableDeclarator')) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + pass + pass + pass + pass + pass + @Js + def PyJs_buildForXStatement_486_(op, this, arguments, var=var): + var = Scope({u'this':this, u'buildForXStatement':PyJs_buildForXStatement_486_, u'arguments':arguments, u'op':op}, var) + var.registers([u'op']) + @Js + def PyJs_anonymous_487_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'word', Js(u'for')) + var.get(u"this").callprop(u'space') + if PyJsStrictEq(var.get(u'op'),Js(u'await')): + var.get(u"this").callprop(u'word', Js(u'await')) + var.get(u"this").callprop(u'space') + var.put(u'op', Js(u'of')) + var.get(u"this").callprop(u'token', Js(u'(')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'left'), var.get(u'node')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'word', var.get(u'op')) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'node').get(u'right'), var.get(u'node')) + var.get(u"this").callprop(u'token', Js(u')')) + var.get(u"this").callprop(u'printBlock', var.get(u'node')) + PyJs_anonymous_487_._set_name(u'anonymous') + return PyJs_anonymous_487_ + PyJs_buildForXStatement_486_._set_name(u'buildForXStatement') + var.put(u'buildForXStatement', PyJs_buildForXStatement_486_) + var.put(u'ForInStatement', var.get(u'exports').put(u'ForInStatement', var.get(u'buildForXStatement')(Js(u'in')))) + var.put(u'ForOfStatement', var.get(u'exports').put(u'ForOfStatement', var.get(u'buildForXStatement')(Js(u'of')))) + var.put(u'ForAwaitStatement', var.get(u'exports').put(u'ForAwaitStatement', var.get(u'buildForXStatement')(Js(u'await')))) + pass + pass + var.put(u'ContinueStatement', var.get(u'exports').put(u'ContinueStatement', var.get(u'buildLabelStatement')(Js(u'continue')))) + var.put(u'ReturnStatement', var.get(u'exports').put(u'ReturnStatement', var.get(u'buildLabelStatement')(Js(u'return'), Js(u'argument')))) + var.put(u'BreakStatement', var.get(u'exports').put(u'BreakStatement', var.get(u'buildLabelStatement')(Js(u'break')))) + var.put(u'ThrowStatement', var.get(u'exports').put(u'ThrowStatement', var.get(u'buildLabelStatement')(Js(u'throw'), Js(u'argument')))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass +PyJs_anonymous_483_._set_name(u'anonymous') +PyJs_Object_493_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_494_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'module', u'TaggedTemplateExpression', u'TemplateElement', u'TemplateLiteral']) + @Js + def PyJsHoisted_TemplateElement_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'value', u'parent', u'isFirst', u'isLast']) + var.put(u'isFirst', PyJsStrictEq(var.get(u'parent').get(u'quasis').get(u'0'),var.get(u'node'))) + var.put(u'isLast', PyJsStrictEq(var.get(u'parent').get(u'quasis').get((var.get(u'parent').get(u'quasis').get(u'length')-Js(1.0))),var.get(u'node'))) + var.put(u'value', (((Js(u'`') if var.get(u'isFirst') else Js(u'}'))+var.get(u'node').get(u'value').get(u'raw'))+(Js(u'`') if var.get(u'isLast') else Js(u'${')))) + if var.get(u'isFirst').neg(): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', var.get(u'value')) + if var.get(u'isLast').neg(): + var.get(u"this").callprop(u'space') + PyJsHoisted_TemplateElement_.func_name = u'TemplateElement' + var.put(u'TemplateElement', PyJsHoisted_TemplateElement_) + @Js + def PyJsHoisted_TaggedTemplateExpression_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'tag'), var.get(u'node')) + var.get(u"this").callprop(u'print', var.get(u'node').get(u'quasi'), var.get(u'node')) + PyJsHoisted_TaggedTemplateExpression_.func_name = u'TaggedTemplateExpression' + var.put(u'TaggedTemplateExpression', PyJsHoisted_TaggedTemplateExpression_) + @Js + def PyJsHoisted_TemplateLiteral_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'quasis', u'i', u'node']) + var.put(u'quasis', var.get(u'node').get(u'quasis')) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(0.0)): + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'print', var.get(u'elem'), var.get(u'node')) + if (var.get(u'i')<(var.get(u'len')-Js(1.0))): + var.get(u"this").callprop(u'token', Js(u',')) + else: + var.get(u"this").callprop(u'token', Js(u',')) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + var.get(u"this").callprop(u'token', Js(u']')) + PyJsHoisted_ArrayExpression_.func_name = u'ArrayExpression' + var.put(u'ArrayExpression', PyJsHoisted_ArrayExpression_) + @Js + def PyJsHoisted_BooleanLiteral_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'word', (Js(u'true') if var.get(u'node').get(u'value') else Js(u'false'))) + PyJsHoisted_BooleanLiteral_.func_name = u'BooleanLiteral' + var.put(u'BooleanLiteral', PyJsHoisted_BooleanLiteral_) + @Js + def PyJsHoisted_NumericLiteral_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'raw']) + var.put(u'raw', var.get(u"this").callprop(u'getPossibleRaw', var.get(u'node'))) + var.get(u"this").callprop(u'number', ((var.get(u'node').get(u'value')+Js(u'')) if (var.get(u'raw')==var.get(u"null")) else var.get(u'raw'))) + PyJsHoisted_NumericLiteral_.func_name = u'NumericLiteral' + var.put(u'NumericLiteral', PyJsHoisted_NumericLiteral_) + @Js + def PyJsHoisted_ObjectExpression_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'props']) + var.put(u'props', var.get(u'node').get(u'properties')) + var.get(u"this").callprop(u'token', Js(u'{')) + var.get(u"this").callprop(u'printInnerComments', var.get(u'node')) + if var.get(u'props').get(u'length'): + var.get(u"this").callprop(u'space') + PyJs_Object_499_ = Js({u'indent':var.get(u'true'),u'statement':var.get(u'true')}) + var.get(u"this").callprop(u'printList', var.get(u'props'), var.get(u'node'), PyJs_Object_499_) + var.get(u"this").callprop(u'space') + var.get(u"this").callprop(u'token', Js(u'}')) + PyJsHoisted_ObjectExpression_.func_name = u'ObjectExpression' + var.put(u'ObjectExpression', PyJsHoisted_ObjectExpression_) + @Js + def PyJsHoisted_RegExpLiteral_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'word', (((Js(u'/')+var.get(u'node').get(u'pattern'))+Js(u'/'))+var.get(u'node').get(u'flags'))) + PyJsHoisted_RegExpLiteral_.func_name = u'RegExpLiteral' + var.put(u'RegExpLiteral', PyJsHoisted_RegExpLiteral_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_497_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_497_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_Identifier_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u'node').get(u'variance'): + if PyJsStrictEq(var.get(u'node').get(u'variance'),Js(u'plus')): + var.get(u"this").callprop(u'token', Js(u'+')) + else: + if PyJsStrictEq(var.get(u'node').get(u'variance'),Js(u'minus')): + var.get(u"this").callprop(u'token', Js(u'-')) + var.get(u"this").callprop(u'word', var.get(u'node').get(u'name')) + PyJsHoisted_Identifier_.func_name = u'Identifier' + var.put(u'Identifier', PyJsHoisted_Identifier_) + @Js + def PyJsHoisted_NullLiteral_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop(u'word', Js(u'null')) + PyJsHoisted_NullLiteral_.func_name = u'NullLiteral' + var.put(u'NullLiteral', PyJsHoisted_NullLiteral_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'ArrayPattern', var.get(u'exports').put(u'ObjectPattern', var.get(u'exports').put(u'RestProperty', var.get(u'exports').put(u'SpreadProperty', var.get(u'exports').put(u'SpreadElement', var.get(u'undefined')))))) + var.get(u'exports').put(u'Identifier', var.get(u'Identifier')) + var.get(u'exports').put(u'RestElement', var.get(u'RestElement')) + var.get(u'exports').put(u'ObjectExpression', var.get(u'ObjectExpression')) + var.get(u'exports').put(u'ObjectMethod', var.get(u'ObjectMethod')) + var.get(u'exports').put(u'ObjectProperty', var.get(u'ObjectProperty')) + var.get(u'exports').put(u'ArrayExpression', var.get(u'ArrayExpression')) + var.get(u'exports').put(u'RegExpLiteral', var.get(u'RegExpLiteral')) + var.get(u'exports').put(u'BooleanLiteral', var.get(u'BooleanLiteral')) + var.get(u'exports').put(u'NullLiteral', var.get(u'NullLiteral')) + var.get(u'exports').put(u'NumericLiteral', var.get(u'NumericLiteral')) + var.get(u'exports').put(u'StringLiteral', var.get(u'StringLiteral')) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + var.put(u'_jsesc', var.get(u'require')(Js(u'jsesc'))) + var.put(u'_jsesc2', var.get(u'_interopRequireDefault')(var.get(u'_jsesc'))) + pass + pass + pass + pass + var.get(u'exports').put(u'SpreadElement', var.get(u'RestElement')) + var.get(u'exports').put(u'SpreadProperty', var.get(u'RestElement')) + var.get(u'exports').put(u'RestProperty', var.get(u'RestElement')) + pass + var.get(u'exports').put(u'ObjectPattern', var.get(u'ObjectExpression')) + pass + pass + pass + var.get(u'exports').put(u'ArrayPattern', var.get(u'ArrayExpression')) + pass + pass + pass + pass + pass +PyJs_anonymous_496_._set_name(u'anonymous') +PyJs_Object_501_ = Js({u'babel-types':Js(258.0),u'jsesc':Js(283.0)}) +@Js +def PyJs_anonymous_502_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'Generator', u'_sourceMap', u'_detectIndent2', u'module', u'_interopRequireDefault', u'_printer2', u'normalizeOptions', u'findCommonStringDelimiter', u'_possibleConstructorReturn3', u'_possibleConstructorReturn2', u'_classCallCheck3', u'_classCallCheck2', u'_detectIndent', u'_babelMessages', u'exports', u'_printer', u'_interopRequireWildcard', u'_inherits3', u'_inherits2', u'require', u'CodeGenerator', u'messages', u'_sourceMap2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_505_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_505_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_findCommonStringDelimiter_(code, tokens, this, arguments, var=var): + var = Scope({u'tokens':tokens, u'this':this, u'code':code, u'arguments':arguments}, var) + var.registers([u'code', u'checked', u'i', u'tokens', u'raw', u'token', u'DEFAULT_STRING_DELIMITER', u'occurences']) + var.put(u'DEFAULT_STRING_DELIMITER', Js(u'double')) + if var.get(u'code').neg(): + return var.get(u'DEFAULT_STRING_DELIMITER') + PyJs_Object_513_ = Js({u'single':Js(0.0),u'double':Js(0.0)}) + var.put(u'occurences', PyJs_Object_513_) + var.put(u'checked', Js(0.0)) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=Js(3.0)): + break + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + if (var.get(u'occurences').get(u'single')>var.get(u'occurences').get(u'double')): + return Js(u'single') + else: + return Js(u'double') + PyJsHoisted_findCommonStringDelimiter_.func_name = u'findCommonStringDelimiter' + var.put(u'findCommonStringDelimiter', PyJsHoisted_findCommonStringDelimiter_) + @Js + def PyJsHoisted_normalizeOptions_(code, opts, tokens, this, arguments, var=var): + var = Scope({u'tokens':tokens, u'this':this, u'code':code, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'style', u'code', u'indent', u'format', u'tokens', u'opts']) + var.put(u'style', Js(u' ')) + if (var.get(u'code') and PyJsStrictEq(var.get(u'code',throw=False).typeof(),Js(u'string'))): + var.put(u'indent', PyJsComma(Js(0.0),var.get(u'_detectIndent2').get(u'default'))(var.get(u'code')).get(u'indent')) + if (var.get(u'indent') and PyJsStrictNeq(var.get(u'indent'),Js(u' '))): + var.put(u'style', var.get(u'indent')) + PyJs_Object_510_ = Js({u'adjustMultilineComment':var.get(u'true'),u'style':var.get(u'style'),u'base':Js(0.0)}) + PyJs_Object_509_ = Js({u'auxiliaryCommentBefore':var.get(u'opts').get(u'auxiliaryCommentBefore'),u'auxiliaryCommentAfter':var.get(u'opts').get(u'auxiliaryCommentAfter'),u'shouldPrintComment':var.get(u'opts').get(u'shouldPrintComment'),u'retainLines':var.get(u'opts').get(u'retainLines'),u'retainFunctionParens':var.get(u'opts').get(u'retainFunctionParens'),u'comments':((var.get(u'opts').get(u'comments')==var.get(u"null")) or var.get(u'opts').get(u'comments')),u'compact':var.get(u'opts').get(u'compact'),u'minified':var.get(u'opts').get(u'minified'),u'concise':var.get(u'opts').get(u'concise'),u'quotes':(var.get(u'opts').get(u'quotes') or var.get(u'findCommonStringDelimiter')(var.get(u'code'), var.get(u'tokens'))),u'indent':PyJs_Object_510_}) + var.put(u'format', PyJs_Object_509_) + if var.get(u'format').get(u'minified'): + var.get(u'format').put(u'compact', var.get(u'true')) + @Js + def PyJs_anonymous_511_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'format').get(u'comments') + PyJs_anonymous_511_._set_name(u'anonymous') + var.get(u'format').put(u'shouldPrintComment', (var.get(u'format').get(u'shouldPrintComment') or PyJs_anonymous_511_)) + else: + @Js + def PyJs_anonymous_512_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return ((var.get(u'format').get(u'comments') or (var.get(u'value').callprop(u'indexOf', Js(u'@license'))>=Js(0.0))) or (var.get(u'value').callprop(u'indexOf', Js(u'@preserve'))>=Js(0.0))) + PyJs_anonymous_512_._set_name(u'anonymous') + var.get(u'format').put(u'shouldPrintComment', (var.get(u'format').get(u'shouldPrintComment') or PyJs_anonymous_512_)) + if PyJsStrictEq(var.get(u'format').get(u'compact'),Js(u'auto')): + var.get(u'format').put(u'compact', (var.get(u'code').get(u'length')>Js(100000.0))) + if var.get(u'format').get(u'compact'): + var.get(u'console').callprop(u'error', (Js(u'[BABEL] ')+var.get(u'messages').callprop(u'get', Js(u'codeGeneratorDeopt'), var.get(u'opts').get(u'filename'), Js(u'100KB')))) + if var.get(u'format').get(u'compact'): + var.get(u'format').get(u'indent').put(u'adjustMultilineComment', Js(False)) + return var.get(u'format') + PyJsHoisted_normalizeOptions_.func_name = u'normalizeOptions' + var.put(u'normalizeOptions', PyJsHoisted_normalizeOptions_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_504_ = Js({}) + var.put(u'newObj', PyJs_Object_504_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'CodeGenerator', var.get(u'undefined')) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.put(u'_possibleConstructorReturn2', var.get(u'require')(Js(u'babel-runtime/helpers/possibleConstructorReturn'))) + var.put(u'_possibleConstructorReturn3', var.get(u'_interopRequireDefault')(var.get(u'_possibleConstructorReturn2'))) + var.put(u'_inherits2', var.get(u'require')(Js(u'babel-runtime/helpers/inherits'))) + var.put(u'_inherits3', var.get(u'_interopRequireDefault')(var.get(u'_inherits2'))) + @Js + def PyJs_anonymous_503_(ast, opts, code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments, u'opts':opts, u'ast':ast}, var) + var.registers([u'code', u'gen', u'opts', u'ast']) + var.put(u'gen', var.get(u'Generator').create(var.get(u'ast'), var.get(u'opts'), var.get(u'code'))) + return var.get(u'gen').callprop(u'generate') + PyJs_anonymous_503_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_503_) + var.put(u'_detectIndent', var.get(u'require')(Js(u'detect-indent'))) + var.put(u'_detectIndent2', var.get(u'_interopRequireDefault')(var.get(u'_detectIndent'))) + var.put(u'_sourceMap', var.get(u'require')(Js(u'./source-map'))) + var.put(u'_sourceMap2', var.get(u'_interopRequireDefault')(var.get(u'_sourceMap'))) + var.put(u'_babelMessages', var.get(u'require')(Js(u'babel-messages'))) + var.put(u'messages', var.get(u'_interopRequireWildcard')(var.get(u'_babelMessages'))) + var.put(u'_printer', var.get(u'require')(Js(u'./printer'))) + var.put(u'_printer2', var.get(u'_interopRequireDefault')(var.get(u'_printer'))) + pass + pass + @Js + def PyJs_anonymous_506_(_Printer, this, arguments, var=var): + var = Scope({u'this':this, u'_Printer':_Printer, u'arguments':arguments}, var) + var.registers([u'_Printer', u'Generator']) + @Js + def PyJsHoisted_Generator_(ast, opts, code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments, u'opts':opts, u'ast':ast}, var) + var.registers([u'map', u'code', u'_this', u'ast', u'format', u'tokens', u'opts']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'Generator')) + PyJs_Object_507_ = Js({}) + var.put(u'opts', (var.get(u'opts') or PyJs_Object_507_)) + var.put(u'tokens', (var.get(u'ast').get(u'tokens') or Js([]))) + var.put(u'format', var.get(u'normalizeOptions')(var.get(u'code'), var.get(u'opts'), var.get(u'tokens'))) + var.put(u'map', (var.get(u'_sourceMap2').get(u'default').create(var.get(u'opts'), var.get(u'code')) if var.get(u'opts').get(u'sourceMaps') else var.get(u"null"))) + var.put(u'_this', PyJsComma(Js(0.0),var.get(u'_possibleConstructorReturn3').get(u'default'))(var.get(u"this"), var.get(u'_Printer').callprop(u'call', var.get(u"this"), var.get(u'format'), var.get(u'map'), var.get(u'tokens')))) + var.get(u'_this').put(u'ast', var.get(u'ast')) + return var.get(u'_this') + PyJsHoisted_Generator_.func_name = u'Generator' + var.put(u'Generator', PyJsHoisted_Generator_) + PyJsComma(Js(0.0),var.get(u'_inherits3').get(u'default'))(var.get(u'Generator'), var.get(u'_Printer')) + pass + @Js + def PyJs_generate_508_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'generate':PyJs_generate_508_}, var) + var.registers([]) + return var.get(u'_Printer').get(u'prototype').get(u'generate').callprop(u'call', var.get(u"this"), var.get(u"this").get(u'ast')) + PyJs_generate_508_._set_name(u'generate') + var.get(u'Generator').get(u'prototype').put(u'generate', PyJs_generate_508_) + return var.get(u'Generator') + PyJs_anonymous_506_._set_name(u'anonymous') + var.put(u'Generator', PyJs_anonymous_506_(var.get(u'_printer2').get(u'default'))) + pass + pass + @Js + def PyJs_anonymous_514_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'CodeGenerator']) + @Js + def PyJsHoisted_CodeGenerator_(ast, opts, code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments, u'opts':opts, u'ast':ast}, var) + var.registers([u'code', u'opts', u'ast']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'CodeGenerator')) + var.get(u"this").put(u'_generator', var.get(u'Generator').create(var.get(u'ast'), var.get(u'opts'), var.get(u'code'))) + PyJsHoisted_CodeGenerator_.func_name = u'CodeGenerator' + var.put(u'CodeGenerator', PyJsHoisted_CodeGenerator_) + pass + @Js + def PyJs_generate_515_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'generate':PyJs_generate_515_}, var) + var.registers([]) + return var.get(u"this").get(u'_generator').callprop(u'generate') + PyJs_generate_515_._set_name(u'generate') + var.get(u'CodeGenerator').get(u'prototype').put(u'generate', PyJs_generate_515_) + return var.get(u'CodeGenerator') + PyJs_anonymous_514_._set_name(u'anonymous') + var.put(u'CodeGenerator', var.get(u'exports').put(u'CodeGenerator', PyJs_anonymous_514_())) +PyJs_anonymous_502_._set_name(u'anonymous') +PyJs_Object_516_ = Js({u'./printer':Js(44.0),u'./source-map':Js(45.0),u'babel-messages':Js(57.0),u'babel-runtime/helpers/classCallCheck':Js(110.0),u'babel-runtime/helpers/inherits':Js(111.0),u'babel-runtime/helpers/possibleConstructorReturn':Js(113.0),u'detect-indent':Js(271.0)}) +@Js +def PyJs_anonymous_517_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'needsParens', u'module', u'_parentheses', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'find', u'needsWhitespaceBefore', u'_keys', u'parens', u'exports', u'expandedWhitespaceNodes', u'_interopRequireWildcard', u'_babelTypes', u'expandAliases', u'needsWhitespace', u'_keys2', u'_whitespace2', u'expandedParens', u'expandedWhitespaceList', u'require', u'isOrHasCallExpression', u'_whitespace', u't', u'needsWhitespaceAfter']) + @Js + def PyJsHoisted_needsParens_(node, parent, printStack, this, arguments, var=var): + var = Scope({u'node':node, u'printStack':printStack, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'printStack', u'parent']) + if var.get(u'parent').neg(): + return Js(False) + if (var.get(u't').callprop(u'isNewExpression', var.get(u'parent')) and PyJsStrictEq(var.get(u'parent').get(u'callee'),var.get(u'node'))): + if var.get(u'isOrHasCallExpression')(var.get(u'node')): + return var.get(u'true') + return var.get(u'find')(var.get(u'expandedParens'), var.get(u'node'), var.get(u'parent'), var.get(u'printStack')) + PyJsHoisted_needsParens_.func_name = u'needsParens' + var.put(u'needsParens', PyJsHoisted_needsParens_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_518_ = Js({}) + var.put(u'newObj', PyJs_Object_518_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_needsWhitespaceBefore_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent']) + return var.get(u'needsWhitespace')(var.get(u'node'), var.get(u'parent'), Js(u'before')) + PyJsHoisted_needsWhitespaceBefore_.func_name = u'needsWhitespaceBefore' + var.put(u'needsWhitespaceBefore', PyJsHoisted_needsWhitespaceBefore_) + @Js + def PyJsHoisted_expandAliases_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'_isArray', u'_iterator', u'_isArray2', u'_ref2', u'_i2', u'newObj', u'alias', u'add', u'_i', u'obj', u'_ref', u'_iterator2', u'type', u'aliases']) + @Js + def PyJsHoisted_add_(type, func, this, arguments, var=var): + var = Scope({u'this':this, u'type':type, u'arguments':arguments, u'func':func}, var) + var.registers([u'type', u'func', u'fn']) + var.put(u'fn', var.get(u'newObj').get(var.get(u'type'))) + @Js + def PyJs_anonymous_521_(node, parent, stack, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'stack':stack, u'parent':parent, u'arguments':arguments}, var) + var.registers([u'node', u'result', u'parent', u'stack']) + var.put(u'result', var.get(u'fn')(var.get(u'node'), var.get(u'parent'), var.get(u'stack'))) + return (var.get(u'func')(var.get(u'node'), var.get(u'parent'), var.get(u'stack')) if (var.get(u'result')==var.get(u"null")) else var.get(u'result')) + PyJs_anonymous_521_._set_name(u'anonymous') + var.get(u'newObj').put(var.get(u'type'), (PyJs_anonymous_521_ if var.get(u'fn') else var.get(u'func'))) + PyJsHoisted_add_.func_name = u'add' + var.put(u'add', PyJsHoisted_add_) + PyJs_Object_520_ = Js({}) + var.put(u'newObj', PyJs_Object_520_) + pass + #for JS loop + var.put(u'_iterator', PyJsComma(Js(0.0),var.get(u'_keys2').get(u'default'))(var.get(u'obj'))) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'type', var.get(u'_ref')) + var.put(u'aliases', var.get(u't').get(u'FLIPPED_ALIAS_KEYS').get(var.get(u'type'))) + if var.get(u'aliases'): + #for JS loop + var.put(u'_iterator2', var.get(u'aliases')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'alias', var.get(u'_ref2')) + var.get(u'add')(var.get(u'alias'), var.get(u'obj').get(var.get(u'type'))) + + else: + var.get(u'add')(var.get(u'type'), var.get(u'obj').get(var.get(u'type'))) + + return var.get(u'newObj') + PyJsHoisted_expandAliases_.func_name = u'expandAliases' + var.put(u'expandAliases', PyJsHoisted_expandAliases_) + @Js + def PyJsHoisted_needsWhitespace_(node, parent, type, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'type':type, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent', u'i', u'items', u'linesInfo', u'type']) + if var.get(u'node').neg(): + return Js(0.0) + if var.get(u't').callprop(u'isExpressionStatement', var.get(u'node')): + var.put(u'node', var.get(u'node').get(u'expression')) + var.put(u'linesInfo', var.get(u'find')(var.get(u'expandedWhitespaceNodes'), var.get(u'node'), var.get(u'parent'))) + if var.get(u'linesInfo').neg(): + var.put(u'items', var.get(u'find')(var.get(u'expandedWhitespaceList'), var.get(u'node'), var.get(u'parent'))) + if var.get(u'items'): + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')var.get(u'nodePos')): + return var.get(u'true') + if ((PyJsStrictEq(var.get(u'parentPos'),var.get(u'nodePos')) and PyJsStrictEq(var.get(u'parent').get(u'right'),var.get(u'node'))) and var.get(u't').callprop(u'isLogicalExpression', var.get(u'parent')).neg()): + return var.get(u'true') + return Js(False) + PyJsHoisted_Binary_.func_name = u'Binary' + var.put(u'Binary', PyJsHoisted_Binary_) + @Js + def PyJsHoisted_SequenceExpression_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent']) + if var.get(u't').callprop(u'isForStatement', var.get(u'parent')): + return Js(False) + if (var.get(u't').callprop(u'isExpressionStatement', var.get(u'parent')) and PyJsStrictEq(var.get(u'parent').get(u'expression'),var.get(u'node'))): + return Js(False) + if var.get(u't').callprop(u'isReturnStatement', var.get(u'parent')): + return Js(False) + if var.get(u't').callprop(u'isThrowStatement', var.get(u'parent')): + return Js(False) + if (var.get(u't').callprop(u'isSwitchStatement', var.get(u'parent')) and PyJsStrictEq(var.get(u'parent').get(u'discriminant'),var.get(u'node'))): + return Js(False) + if (var.get(u't').callprop(u'isWhileStatement', var.get(u'parent')) and PyJsStrictEq(var.get(u'parent').get(u'test'),var.get(u'node'))): + return Js(False) + if (var.get(u't').callprop(u'isIfStatement', var.get(u'parent')) and PyJsStrictEq(var.get(u'parent').get(u'test'),var.get(u'node'))): + return Js(False) + if (var.get(u't').callprop(u'isForInStatement', var.get(u'parent')) and PyJsStrictEq(var.get(u'parent').get(u'right'),var.get(u'node'))): + return Js(False) + return var.get(u'true') + PyJsHoisted_SequenceExpression_.func_name = u'SequenceExpression' + var.put(u'SequenceExpression', PyJsHoisted_SequenceExpression_) + @Js + def PyJsHoisted_ArrowFunctionExpression_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent']) + if var.get(u't').callprop(u'isExportDeclaration', var.get(u'parent')): + return var.get(u'true') + if (var.get(u't').callprop(u'isBinaryExpression', var.get(u'parent')) or var.get(u't').callprop(u'isLogicalExpression', var.get(u'parent'))): + return var.get(u'true') + if var.get(u't').callprop(u'isUnaryExpression', var.get(u'parent')): + return var.get(u'true') + return var.get(u'UnaryLike')(var.get(u'node'), var.get(u'parent')) + PyJsHoisted_ArrowFunctionExpression_.func_name = u'ArrowFunctionExpression' + var.put(u'ArrowFunctionExpression', PyJsHoisted_ArrowFunctionExpression_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_524_ = Js({}) + var.put(u'newObj', PyJs_Object_524_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_ClassExpression_(node, parent, printStack, this, arguments, var=var): + var = Scope({u'node':node, u'printStack':printStack, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'printStack', u'parent']) + PyJs_Object_528_ = Js({u'considerDefaultExports':var.get(u'true')}) + return var.get(u'isFirstInStatement')(var.get(u'printStack'), PyJs_Object_528_) + PyJsHoisted_ClassExpression_.func_name = u'ClassExpression' + var.put(u'ClassExpression', PyJsHoisted_ClassExpression_) + @Js + def PyJsHoisted_ConditionalExpression_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent']) + if var.get(u't').callprop(u'isUnaryLike', var.get(u'parent')): + return var.get(u'true') + if var.get(u't').callprop(u'isBinary', var.get(u'parent')): + return var.get(u'true') + PyJs_Object_533_ = Js({u'test':var.get(u'node')}) + if var.get(u't').callprop(u'isConditionalExpression', var.get(u'parent'), PyJs_Object_533_): + return var.get(u'true') + return var.get(u'UnaryLike')(var.get(u'node'), var.get(u'parent')) + PyJsHoisted_ConditionalExpression_.func_name = u'ConditionalExpression' + var.put(u'ConditionalExpression', PyJsHoisted_ConditionalExpression_) + @Js + def PyJsHoisted_FunctionExpression_(node, parent, printStack, this, arguments, var=var): + var = Scope({u'node':node, u'printStack':printStack, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'printStack', u'parent']) + PyJs_Object_532_ = Js({u'considerDefaultExports':var.get(u'true')}) + return var.get(u'isFirstInStatement')(var.get(u'printStack'), PyJs_Object_532_) + PyJsHoisted_FunctionExpression_.func_name = u'FunctionExpression' + var.put(u'FunctionExpression', PyJsHoisted_FunctionExpression_) + @Js + def PyJsHoisted_UpdateExpression_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent']) + if (var.get(u't').callprop(u'isMemberExpression', var.get(u'parent')) and PyJsStrictEq(var.get(u'parent').get(u'object'),var.get(u'node'))): + return var.get(u'true') + return Js(False) + PyJsHoisted_UpdateExpression_.func_name = u'UpdateExpression' + var.put(u'UpdateExpression', PyJsHoisted_UpdateExpression_) + @Js + def PyJsHoisted_YieldExpression_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent']) + def PyJs_LONG_527_(var=var): + return (((((var.get(u't').callprop(u'isBinary', var.get(u'parent')) or var.get(u't').callprop(u'isUnaryLike', var.get(u'parent'))) or var.get(u't').callprop(u'isCallExpression', var.get(u'parent'))) or var.get(u't').callprop(u'isMemberExpression', var.get(u'parent'))) or var.get(u't').callprop(u'isNewExpression', var.get(u'parent'))) or (var.get(u't').callprop(u'isConditionalExpression', var.get(u'parent')) and PyJsStrictEq(var.get(u'node'),var.get(u'parent').get(u'test')))) + return PyJs_LONG_527_() + PyJsHoisted_YieldExpression_.func_name = u'YieldExpression' + var.put(u'YieldExpression', PyJsHoisted_YieldExpression_) + @Js + def PyJsHoisted_ObjectExpression_(node, parent, printStack, this, arguments, var=var): + var = Scope({u'node':node, u'printStack':printStack, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'printStack', u'parent']) + PyJs_Object_526_ = Js({u'considerArrow':var.get(u'true')}) + return var.get(u'isFirstInStatement')(var.get(u'printStack'), PyJs_Object_526_) + PyJsHoisted_ObjectExpression_.func_name = u'ObjectExpression' + var.put(u'ObjectExpression', PyJsHoisted_ObjectExpression_) + @Js + def PyJsHoisted_BinaryExpression_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent']) + if PyJsStrictEq(var.get(u'node').get(u'operator'),Js(u'in')): + if var.get(u't').callprop(u'isVariableDeclarator', var.get(u'parent')): + return var.get(u'true') + if var.get(u't').callprop(u'isFor', var.get(u'parent')): + return var.get(u'true') + return Js(False) + PyJsHoisted_BinaryExpression_.func_name = u'BinaryExpression' + var.put(u'BinaryExpression', PyJsHoisted_BinaryExpression_) + @Js + def PyJsHoisted_AssignmentExpression_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u't').callprop(u'isObjectPattern', var.get(u'node').get(u'left')): + return var.get(u'true') + else: + return var.get(u'ConditionalExpression').callprop(u'apply', var.get(u'undefined'), var.get(u'arguments')) + PyJsHoisted_AssignmentExpression_.func_name = u'AssignmentExpression' + var.put(u'AssignmentExpression', PyJsHoisted_AssignmentExpression_) + @Js + def PyJsHoisted_isFirstInStatement_(printStack, this, arguments, var=var): + var = Scope({u'this':this, u'printStack':printStack, u'arguments':arguments}, var) + var.registers([u'_ref$considerArrow', u'node', u'considerDefaultExports', u'parent', u'i', u'printStack', u'_ref$considerDefaultE', u'considerArrow', u'_ref']) + PyJs_Object_534_ = Js({}) + var.put(u'_ref', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else PyJs_Object_534_)) + var.put(u'_ref$considerArrow', var.get(u'_ref').get(u'considerArrow')) + var.put(u'considerArrow', (Js(False) if PyJsStrictEq(var.get(u'_ref$considerArrow'),var.get(u'undefined')) else var.get(u'_ref$considerArrow'))) + var.put(u'_ref$considerDefaultE', var.get(u'_ref').get(u'considerDefaultExports')) + var.put(u'considerDefaultExports', (Js(False) if PyJsStrictEq(var.get(u'_ref$considerDefaultE'),var.get(u'undefined')) else var.get(u'_ref$considerDefaultE'))) + var.put(u'i', (var.get(u'printStack').get(u'length')-Js(1.0))) + var.put(u'node', var.get(u'printStack').get(var.get(u'i'))) + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + var.put(u'parent', var.get(u'printStack').get(var.get(u'i'))) + while (var.get(u'i')>Js(0.0)): + PyJs_Object_535_ = Js({u'expression':var.get(u'node')}) + if var.get(u't').callprop(u'isExpressionStatement', var.get(u'parent'), PyJs_Object_535_): + return var.get(u'true') + PyJs_Object_536_ = Js({u'declaration':var.get(u'node')}) + if (var.get(u'considerDefaultExports') and var.get(u't').callprop(u'isExportDefaultDeclaration', var.get(u'parent'), PyJs_Object_536_)): + return var.get(u'true') + PyJs_Object_537_ = Js({u'body':var.get(u'node')}) + if (var.get(u'considerArrow') and var.get(u't').callprop(u'isArrowFunctionExpression', var.get(u'parent'), PyJs_Object_537_)): + return var.get(u'true') + def PyJs_LONG_541_(var=var): + PyJs_Object_538_ = Js({u'callee':var.get(u'node')}) + PyJs_Object_539_ = Js({u'object':var.get(u'node')}) + PyJs_Object_540_ = Js({u'test':var.get(u'node')}) + return (((var.get(u't').callprop(u'isCallExpression', var.get(u'parent'), PyJs_Object_538_) or (var.get(u't').callprop(u'isSequenceExpression', var.get(u'parent')) and PyJsStrictEq(var.get(u'parent').get(u'expressions').get(u'0'),var.get(u'node')))) or var.get(u't').callprop(u'isMemberExpression', var.get(u'parent'), PyJs_Object_539_)) or var.get(u't').callprop(u'isConditional', var.get(u'parent'), PyJs_Object_540_)) + PyJs_Object_542_ = Js({u'left':var.get(u'node')}) + PyJs_Object_543_ = Js({u'left':var.get(u'node')}) + if ((PyJs_LONG_541_() or var.get(u't').callprop(u'isBinary', var.get(u'parent'), PyJs_Object_542_)) or var.get(u't').callprop(u'isAssignmentExpression', var.get(u'parent'), PyJs_Object_543_)): + var.put(u'node', var.get(u'parent')) + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + var.put(u'parent', var.get(u'printStack').get(var.get(u'i'))) + else: + return Js(False) + return Js(False) + PyJsHoisted_isFirstInStatement_.func_name = u'isFirstInStatement' + var.put(u'isFirstInStatement', PyJsHoisted_isFirstInStatement_) + @Js + def PyJsHoisted_UnaryLike_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent']) + PyJs_Object_529_ = Js({u'object':var.get(u'node')}) + if var.get(u't').callprop(u'isMemberExpression', var.get(u'parent'), PyJs_Object_529_): + return var.get(u'true') + PyJs_Object_530_ = Js({u'callee':var.get(u'node')}) + PyJs_Object_531_ = Js({u'callee':var.get(u'node')}) + if (var.get(u't').callprop(u'isCallExpression', var.get(u'parent'), PyJs_Object_530_) or var.get(u't').callprop(u'isNewExpression', var.get(u'parent'), PyJs_Object_531_)): + return var.get(u'true') + return Js(False) + PyJsHoisted_UnaryLike_.func_name = u'UnaryLike' + var.put(u'UnaryLike', PyJsHoisted_UnaryLike_) + @Js + def PyJsHoisted_NullableTypeAnnotation_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent']) + return var.get(u't').callprop(u'isArrayTypeAnnotation', var.get(u'parent')) + PyJsHoisted_NullableTypeAnnotation_.func_name = u'NullableTypeAnnotation' + var.put(u'NullableTypeAnnotation', PyJsHoisted_NullableTypeAnnotation_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'AwaitExpression', var.get(u'exports').put(u'FunctionTypeAnnotation', var.get(u'undefined'))) + var.get(u'exports').put(u'NullableTypeAnnotation', var.get(u'NullableTypeAnnotation')) + var.get(u'exports').put(u'UpdateExpression', var.get(u'UpdateExpression')) + var.get(u'exports').put(u'ObjectExpression', var.get(u'ObjectExpression')) + var.get(u'exports').put(u'Binary', var.get(u'Binary')) + var.get(u'exports').put(u'BinaryExpression', var.get(u'BinaryExpression')) + var.get(u'exports').put(u'SequenceExpression', var.get(u'SequenceExpression')) + var.get(u'exports').put(u'YieldExpression', var.get(u'YieldExpression')) + var.get(u'exports').put(u'ClassExpression', var.get(u'ClassExpression')) + var.get(u'exports').put(u'UnaryLike', var.get(u'UnaryLike')) + var.get(u'exports').put(u'FunctionExpression', var.get(u'FunctionExpression')) + var.get(u'exports').put(u'ArrowFunctionExpression', var.get(u'ArrowFunctionExpression')) + var.get(u'exports').put(u'ConditionalExpression', var.get(u'ConditionalExpression')) + var.get(u'exports').put(u'AssignmentExpression', var.get(u'AssignmentExpression')) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + PyJs_Object_525_ = Js({u'||':Js(0.0),u'&&':Js(1.0),u'|':Js(2.0),u'^':Js(3.0),u'&':Js(4.0),u'==':Js(5.0),u'===':Js(5.0),u'!=':Js(5.0),u'!==':Js(5.0),u'<':Js(6.0),u'>':Js(6.0),u'<=':Js(6.0),u'>=':Js(6.0),u'in':Js(6.0),u'instanceof':Js(6.0),u'>>':Js(7.0),u'<<':Js(7.0),u'>>>':Js(7.0),u'+':Js(8.0),u'-':Js(8.0),u'*':Js(9.0),u'/':Js(9.0),u'%':Js(9.0),u'**':Js(10.0)}) + var.put(u'PRECEDENCE', PyJs_Object_525_) + pass + var.get(u'exports').put(u'FunctionTypeAnnotation', var.get(u'NullableTypeAnnotation')) + pass + pass + pass + pass + pass + pass + var.get(u'exports').put(u'AwaitExpression', var.get(u'YieldExpression')) + pass + pass + pass + pass + pass + pass + pass +PyJs_anonymous_523_._set_name(u'anonymous') +PyJs_Object_544_ = Js({u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_545_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'isHelper', u'exports', u'_babelTypes', u'_each', u'_interopRequireWildcard', u'_map', u'require', u'_isBoolean', u'module', u'_each2', u'_isBoolean2', u'isType', u'_interopRequireDefault', u'crawl', u'_map2', u't']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_547_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_547_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_isHelper_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u't').callprop(u'isMemberExpression', var.get(u'node')): + return (var.get(u'isHelper')(var.get(u'node').get(u'object')) or var.get(u'isHelper')(var.get(u'node').get(u'property'))) + else: + if var.get(u't').callprop(u'isIdentifier', var.get(u'node')): + return (PyJsStrictEq(var.get(u'node').get(u'name'),Js(u'require')) or PyJsStrictEq(var.get(u'node').get(u'name').get(u'0'),Js(u'_'))) + else: + if var.get(u't').callprop(u'isCallExpression', var.get(u'node')): + return var.get(u'isHelper')(var.get(u'node').get(u'callee')) + else: + if (var.get(u't').callprop(u'isBinary', var.get(u'node')) or var.get(u't').callprop(u'isAssignmentExpression', var.get(u'node'))): + return ((var.get(u't').callprop(u'isIdentifier', var.get(u'node').get(u'left')) and var.get(u'isHelper')(var.get(u'node').get(u'left'))) or var.get(u'isHelper')(var.get(u'node').get(u'right'))) + else: + return Js(False) + PyJsHoisted_isHelper_.func_name = u'isHelper' + var.put(u'isHelper', PyJsHoisted_isHelper_) + @Js + def PyJsHoisted_crawl_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'state']) + PyJs_Object_548_ = Js({}) + var.put(u'state', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else PyJs_Object_548_)) + if var.get(u't').callprop(u'isMemberExpression', var.get(u'node')): + var.get(u'crawl')(var.get(u'node').get(u'object'), var.get(u'state')) + if var.get(u'node').get(u'computed'): + var.get(u'crawl')(var.get(u'node').get(u'property'), var.get(u'state')) + else: + if (var.get(u't').callprop(u'isBinary', var.get(u'node')) or var.get(u't').callprop(u'isAssignmentExpression', var.get(u'node'))): + var.get(u'crawl')(var.get(u'node').get(u'left'), var.get(u'state')) + var.get(u'crawl')(var.get(u'node').get(u'right'), var.get(u'state')) + else: + if var.get(u't').callprop(u'isCallExpression', var.get(u'node')): + var.get(u'state').put(u'hasCall', var.get(u'true')) + var.get(u'crawl')(var.get(u'node').get(u'callee'), var.get(u'state')) + else: + if var.get(u't').callprop(u'isFunction', var.get(u'node')): + var.get(u'state').put(u'hasFunction', var.get(u'true')) + else: + if var.get(u't').callprop(u'isIdentifier', var.get(u'node')): + var.get(u'state').put(u'hasHelper', (var.get(u'state').get(u'hasHelper') or var.get(u'isHelper')(var.get(u'node').get(u'callee')))) + return var.get(u'state') + PyJsHoisted_crawl_.func_name = u'crawl' + var.put(u'crawl', PyJsHoisted_crawl_) + @Js + def PyJsHoisted_isType_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + return ((((var.get(u't').callprop(u'isLiteral', var.get(u'node')) or var.get(u't').callprop(u'isObjectExpression', var.get(u'node'))) or var.get(u't').callprop(u'isArrayExpression', var.get(u'node'))) or var.get(u't').callprop(u'isIdentifier', var.get(u'node'))) or var.get(u't').callprop(u'isMemberExpression', var.get(u'node'))) + PyJsHoisted_isType_.func_name = u'isType' + var.put(u'isType', PyJsHoisted_isType_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_546_ = Js({}) + var.put(u'newObj', PyJs_Object_546_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.put(u'_isBoolean', var.get(u'require')(Js(u'lodash/isBoolean'))) + var.put(u'_isBoolean2', var.get(u'_interopRequireDefault')(var.get(u'_isBoolean'))) + var.put(u'_each', var.get(u'require')(Js(u'lodash/each'))) + var.put(u'_each2', var.get(u'_interopRequireDefault')(var.get(u'_each'))) + var.put(u'_map', var.get(u'require')(Js(u'lodash/map'))) + var.put(u'_map2', var.get(u'_interopRequireDefault')(var.get(u'_map'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + pass + pass + pass + @Js + def PyJs_AssignmentExpression_550_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'AssignmentExpression':PyJs_AssignmentExpression_550_}, var) + var.registers([u'node', u'state']) + var.put(u'state', var.get(u'crawl')(var.get(u'node').get(u'right'))) + if ((var.get(u'state').get(u'hasCall') and var.get(u'state').get(u'hasHelper')) or var.get(u'state').get(u'hasFunction')): + PyJs_Object_551_ = Js({u'before':var.get(u'state').get(u'hasFunction'),u'after':var.get(u'true')}) + return PyJs_Object_551_ + PyJs_AssignmentExpression_550_._set_name(u'AssignmentExpression') + @Js + def PyJs_SwitchCase_552_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'SwitchCase':PyJs_SwitchCase_552_, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent']) + PyJs_Object_553_ = Js({u'before':(var.get(u'node').get(u'consequent').get(u'length') or PyJsStrictEq(var.get(u'parent').get(u'cases').get(u'0'),var.get(u'node')))}) + return PyJs_Object_553_ + PyJs_SwitchCase_552_._set_name(u'SwitchCase') + @Js + def PyJs_LogicalExpression_554_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'LogicalExpression':PyJs_LogicalExpression_554_}, var) + var.registers([u'node']) + if (var.get(u't').callprop(u'isFunction', var.get(u'node').get(u'left')) or var.get(u't').callprop(u'isFunction', var.get(u'node').get(u'right'))): + PyJs_Object_555_ = Js({u'after':var.get(u'true')}) + return PyJs_Object_555_ + PyJs_LogicalExpression_554_._set_name(u'LogicalExpression') + @Js + def PyJs_Literal_556_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'Literal':PyJs_Literal_556_, u'arguments':arguments}, var) + var.registers([u'node']) + if PyJsStrictEq(var.get(u'node').get(u'value'),Js(u'use strict')): + PyJs_Object_557_ = Js({u'after':var.get(u'true')}) + return PyJs_Object_557_ + PyJs_Literal_556_._set_name(u'Literal') + @Js + def PyJs_CallExpression_558_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'CallExpression':PyJs_CallExpression_558_}, var) + var.registers([u'node']) + if (var.get(u't').callprop(u'isFunction', var.get(u'node').get(u'callee')) or var.get(u'isHelper')(var.get(u'node'))): + PyJs_Object_559_ = Js({u'before':var.get(u'true'),u'after':var.get(u'true')}) + return PyJs_Object_559_ + PyJs_CallExpression_558_._set_name(u'CallExpression') + @Js + def PyJs_VariableDeclaration_560_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'VariableDeclaration':PyJs_VariableDeclaration_560_}, var) + var.registers([u'i', u'node', u'state', u'declar', u'enabled']) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(0.0)) else var.get(u"null"))) + PyJsHoisted_Printer_.func_name = u'Printer' + var.put(u'Printer', PyJsHoisted_Printer_) + pass + @Js + def PyJs_generate_582_(ast, this, arguments, var=var): + var = Scope({u'this':this, u'generate':PyJs_generate_582_, u'arguments':arguments, u'ast':ast}, var) + var.registers([u'ast']) + var.get(u"this").callprop(u'print', var.get(u'ast')) + var.get(u"this").callprop(u'_maybeAddAuxComment') + return var.get(u"this").get(u'_buf').callprop(u'get') + PyJs_generate_582_._set_name(u'generate') + var.get(u'Printer').get(u'prototype').put(u'generate', PyJs_generate_582_) + @Js + def PyJs_indent_583_(this, arguments, var=var): + var = Scope({u'this':this, u'indent':PyJs_indent_583_, u'arguments':arguments}, var) + var.registers([]) + if (var.get(u"this").get(u'format').get(u'compact') or var.get(u"this").get(u'format').get(u'concise')): + return var.get('undefined') + (var.get(u"this").put(u'_indent',Js(var.get(u"this").get(u'_indent').to_number())+Js(1))-Js(1)) + PyJs_indent_583_._set_name(u'indent') + var.get(u'Printer').get(u'prototype').put(u'indent', PyJs_indent_583_) + @Js + def PyJs_dedent_584_(this, arguments, var=var): + var = Scope({u'this':this, u'dedent':PyJs_dedent_584_, u'arguments':arguments}, var) + var.registers([]) + if (var.get(u"this").get(u'format').get(u'compact') or var.get(u"this").get(u'format').get(u'concise')): + return var.get('undefined') + (var.get(u"this").put(u'_indent',Js(var.get(u"this").get(u'_indent').to_number())-Js(1))+Js(1)) + PyJs_dedent_584_._set_name(u'dedent') + var.get(u'Printer').get(u'prototype').put(u'dedent', PyJs_dedent_584_) + @Js + def PyJs_semicolon_585_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'semicolon':PyJs_semicolon_585_}, var) + var.registers([u'force']) + var.put(u'force', (var.get(u'arguments').get(u'0') if ((var.get(u'arguments').get(u'length')>Js(0.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'0'),var.get(u'undefined'))) else Js(False))) + var.get(u"this").callprop(u'_maybeAddAuxComment') + var.get(u"this").callprop(u'_append', Js(u';'), var.get(u'force').neg()) + PyJs_semicolon_585_._set_name(u'semicolon') + var.get(u'Printer').get(u'prototype').put(u'semicolon', PyJs_semicolon_585_) + @Js + def PyJs_rightBrace_586_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'rightBrace':PyJs_rightBrace_586_}, var) + var.registers([]) + if var.get(u"this").get(u'format').get(u'minified'): + var.get(u"this").get(u'_buf').callprop(u'removeLastSemicolon') + var.get(u"this").callprop(u'token', Js(u'}')) + PyJs_rightBrace_586_._set_name(u'rightBrace') + var.get(u'Printer').get(u'prototype').put(u'rightBrace', PyJs_rightBrace_586_) + @Js + def PyJs_space_587_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'space':PyJs_space_587_}, var) + var.registers([u'force']) + var.put(u'force', (var.get(u'arguments').get(u'0') if ((var.get(u'arguments').get(u'length')>Js(0.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'0'),var.get(u'undefined'))) else Js(False))) + if var.get(u"this").get(u'format').get(u'compact'): + return var.get('undefined') + if (((var.get(u"this").get(u'_buf').callprop(u'hasContent') and var.get(u"this").callprop(u'endsWith', Js(u' ')).neg()) and var.get(u"this").callprop(u'endsWith', Js(u'\n')).neg()) or var.get(u'force')): + var.get(u"this").callprop(u'_space') + PyJs_space_587_._set_name(u'space') + var.get(u'Printer').get(u'prototype').put(u'space', PyJs_space_587_) + @Js + def PyJs_word_588_(str, this, arguments, var=var): + var = Scope({u'this':this, u'word':PyJs_word_588_, u'arguments':arguments, u'str':str}, var) + var.registers([u'str']) + if var.get(u"this").get(u'_endsWithWord'): + var.get(u"this").callprop(u'_space') + var.get(u"this").callprop(u'_maybeAddAuxComment') + var.get(u"this").callprop(u'_append', var.get(u'str')) + var.get(u"this").put(u'_endsWithWord', var.get(u'true')) + PyJs_word_588_._set_name(u'word') + var.get(u'Printer').get(u'prototype').put(u'word', PyJs_word_588_) + @Js + def PyJs_number_589_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str, u'number':PyJs_number_589_}, var) + var.registers([u'str']) + var.get(u"this").callprop(u'word', var.get(u'str')) + def PyJs_LONG_590_(var=var): + return ((((PyJsComma(Js(0.0),var.get(u'_isInteger2').get(u'default'))((+var.get(u'str'))) and var.get(u'NON_DECIMAL_LITERAL').callprop(u'test', var.get(u'str')).neg()) and var.get(u'SCIENTIFIC_NOTATION').callprop(u'test', var.get(u'str')).neg()) and var.get(u'ZERO_DECIMAL_INTEGER').callprop(u'test', var.get(u'str')).neg()) and PyJsStrictNeq(var.get(u'str').get((var.get(u'str').get(u'length')-Js(1.0))),Js(u'.'))) + var.get(u"this").put(u'_endsWithInteger', PyJs_LONG_590_()) + PyJs_number_589_._set_name(u'number') + var.get(u'Printer').get(u'prototype').put(u'number', PyJs_number_589_) + @Js + def PyJs_token_591_(str, this, arguments, var=var): + var = Scope({u'this':this, u'token':PyJs_token_591_, u'arguments':arguments, u'str':str}, var) + var.registers([u'str']) + def PyJs_LONG_592_(var=var): + return ((((PyJsStrictEq(var.get(u'str'),Js(u'--')) and var.get(u"this").callprop(u'endsWith', Js(u'!'))) or (PyJsStrictEq(var.get(u'str').get(u'0'),Js(u'+')) and var.get(u"this").callprop(u'endsWith', Js(u'+')))) or (PyJsStrictEq(var.get(u'str').get(u'0'),Js(u'-')) and var.get(u"this").callprop(u'endsWith', Js(u'-')))) or (PyJsStrictEq(var.get(u'str').get(u'0'),Js(u'.')) and var.get(u"this").get(u'_endsWithInteger'))) + if PyJs_LONG_592_(): + var.get(u"this").callprop(u'_space') + var.get(u"this").callprop(u'_maybeAddAuxComment') + var.get(u"this").callprop(u'_append', var.get(u'str')) + PyJs_token_591_._set_name(u'token') + var.get(u'Printer').get(u'prototype').put(u'token', PyJs_token_591_) + @Js + def PyJs_newline_593_(i, this, arguments, var=var): + var = Scope({u'i':i, u'this':this, u'newline':PyJs_newline_593_, u'arguments':arguments}, var) + var.registers([u'i', u'j']) + if (var.get(u"this").get(u'format').get(u'retainLines') or var.get(u"this").get(u'format').get(u'compact')): + return var.get('undefined') + if var.get(u"this").get(u'format').get(u'concise'): + var.get(u"this").callprop(u'space') + return var.get('undefined') + if var.get(u"this").callprop(u'endsWith', Js(u'\n\n')): + return var.get('undefined') + if PyJsStrictNeq(var.get(u'i',throw=False).typeof(),Js(u'number')): + var.put(u'i', Js(1.0)) + var.put(u'i', var.get(u'Math').callprop(u'min', Js(2.0), var.get(u'i'))) + if (var.get(u"this").callprop(u'endsWith', Js(u'{\n')) or var.get(u"this").callprop(u'endsWith', Js(u':\n'))): + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + if (var.get(u'i')<=Js(0.0)): + return var.get('undefined') + #for JS loop + var.put(u'j', Js(0.0)) + while (var.get(u'j')Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else Js(False))) + var.get(u"this").callprop(u'_maybeAddParen', var.get(u'str')) + var.get(u"this").callprop(u'_maybeIndent', var.get(u'str')) + if var.get(u'queue'): + var.get(u"this").get(u'_buf').callprop(u'queue', var.get(u'str')) + else: + var.get(u"this").get(u'_buf').callprop(u'append', var.get(u'str')) + var.get(u"this").put(u'_endsWithWord', Js(False)) + var.get(u"this").put(u'_endsWithInteger', Js(False)) + PyJs__append_600_._set_name(u'_append') + var.get(u'Printer').get(u'prototype').put(u'_append', PyJs__append_600_) + @Js + def PyJs__maybeIndent_601_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str, u'_maybeIndent':PyJs__maybeIndent_601_}, var) + var.registers([u'str']) + if ((var.get(u"this").get(u'_indent') and var.get(u"this").callprop(u'endsWith', Js(u'\n'))) and PyJsStrictNeq(var.get(u'str').get(u'0'),Js(u'\n'))): + var.get(u"this").get(u'_buf').callprop(u'queue', var.get(u"this").callprop(u'_getIndent')) + PyJs__maybeIndent_601_._set_name(u'_maybeIndent') + var.get(u'Printer').get(u'prototype').put(u'_maybeIndent', PyJs__maybeIndent_601_) + @Js + def PyJs__maybeAddParen_602_(str, this, arguments, var=var): + var = Scope({u'this':this, u'_maybeAddParen':PyJs__maybeAddParen_602_, u'arguments':arguments, u'str':str}, var) + var.registers([u'i', u'cha', u'str', u'parenPushNewlineState']) + var.put(u'parenPushNewlineState', var.get(u"this").get(u'_parenPushNewlineState')) + if var.get(u'parenPushNewlineState').neg(): + return var.get('undefined') + var.get(u"this").put(u'_parenPushNewlineState', var.get(u"null")) + var.put(u'i', PyJsComma(Js(0.0), Js(None))) + #for JS loop + var.put(u'i', Js(0.0)) + while ((var.get(u'i')Js(2.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'2'),var.get(u'undefined'))) else PyJs_Object_617_)) + if (var.get(u'nodes').neg() or var.get(u'nodes').get(u'length').neg()): + return var.get('undefined') + if var.get(u'opts').get(u'indent'): + var.get(u"this").callprop(u'indent') + PyJs_Object_618_ = Js({u'addNewlines':var.get(u'opts').get(u'addNewlines')}) + var.put(u'newlineOpts', PyJs_Object_618_) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else var.get(u'true'))) + if var.get(u'node').get(u'innerComments').neg(): + return var.get('undefined') + if var.get(u'indent'): + var.get(u"this").callprop(u'indent') + var.get(u"this").callprop(u'_printComments', var.get(u'node').get(u'innerComments')) + if var.get(u'indent'): + var.get(u"this").callprop(u'dedent') + PyJs_printInnerComments_623_._set_name(u'printInnerComments') + var.get(u'Printer').get(u'prototype').put(u'printInnerComments', PyJs_printInnerComments_623_) + @Js + def PyJs_printSequence_624_(nodes, parent, this, arguments, var=var): + var = Scope({u'this':this, u'nodes':nodes, u'arguments':arguments, u'parent':parent, u'printSequence':PyJs_printSequence_624_}, var) + var.registers([u'nodes', u'parent', u'opts']) + PyJs_Object_625_ = Js({}) + var.put(u'opts', (var.get(u'arguments').get(u'2') if ((var.get(u'arguments').get(u'length')>Js(2.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'2'),var.get(u'undefined'))) else PyJs_Object_625_)) + var.get(u'opts').put(u'statement', var.get(u'true')) + return var.get(u"this").callprop(u'printJoin', var.get(u'nodes'), var.get(u'parent'), var.get(u'opts')) + PyJs_printSequence_624_._set_name(u'printSequence') + var.get(u'Printer').get(u'prototype').put(u'printSequence', PyJs_printSequence_624_) + @Js + def PyJs_printList_626_(items, parent, this, arguments, var=var): + var = Scope({u'this':this, u'items':items, u'printList':PyJs_printList_626_, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'items', u'parent', u'opts']) + PyJs_Object_627_ = Js({}) + var.put(u'opts', (var.get(u'arguments').get(u'2') if ((var.get(u'arguments').get(u'length')>Js(2.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'2'),var.get(u'undefined'))) else PyJs_Object_627_)) + if (var.get(u'opts').get(u'separator')==var.get(u"null")): + var.get(u'opts').put(u'separator', var.get(u'commaSeparator')) + return var.get(u"this").callprop(u'printJoin', var.get(u'items'), var.get(u'parent'), var.get(u'opts')) + PyJs_printList_626_._set_name(u'printList') + var.get(u'Printer').get(u'prototype').put(u'printList', PyJs_printList_626_) + @Js + def PyJs__printNewline_628_(leading, node, parent, opts, this, arguments, var=var): + var = Scope({u'node':node, u'_printNewline':PyJs__printNewline_628_, u'arguments':arguments, u'parent':parent, u'this':this, u'leading':leading, u'opts':opts}, var) + var.registers([u'node', u'needs', u'parent', u'_comments2', u'leading', u'_comment', u'lines', u'_this2', u'_comments', u'_comment2', u'opts']) + var.put(u'_this2', var.get(u"this")) + if (var.get(u"this").get(u'format').get(u'retainLines') or var.get(u"this").get(u'format').get(u'compact')): + return var.get('undefined') + if var.get(u"this").get(u'format').get(u'concise'): + var.get(u"this").callprop(u'space') + return var.get('undefined') + var.put(u'lines', Js(0.0)) + if (((var.get(u'node').get(u'start')!=var.get(u"null")) and var.get(u'node').get(u'_ignoreUserWhitespace').neg()) and var.get(u"this").get(u'_whitespace')): + if var.get(u'leading'): + var.put(u'_comments', var.get(u'node').get(u'leadingComments')) + @Js + def PyJs_anonymous_629_(comment, this, arguments, var=var): + var = Scope({u'comment':comment, u'this':this, u'arguments':arguments}, var) + var.registers([u'comment']) + return (var.get(u'comment').get(u'loc').neg().neg() and var.get(u'_this2').get(u'format').callprop(u'shouldPrintComment', var.get(u'comment').get(u'value'))) + PyJs_anonymous_629_._set_name(u'anonymous') + var.put(u'_comment', (var.get(u'_comments') and PyJsComma(Js(0.0),var.get(u'_find2').get(u'default'))(var.get(u'_comments'), PyJs_anonymous_629_))) + var.put(u'lines', var.get(u"this").get(u'_whitespace').callprop(u'getNewlinesBefore', (var.get(u'_comment') or var.get(u'node')))) + else: + var.put(u'_comments2', var.get(u'node').get(u'trailingComments')) + @Js + def PyJs_anonymous_630_(comment, this, arguments, var=var): + var = Scope({u'comment':comment, u'this':this, u'arguments':arguments}, var) + var.registers([u'comment']) + return (var.get(u'comment').get(u'loc').neg().neg() and var.get(u'_this2').get(u'format').callprop(u'shouldPrintComment', var.get(u'comment').get(u'value'))) + PyJs_anonymous_630_._set_name(u'anonymous') + var.put(u'_comment2', (var.get(u'_comments2') and PyJsComma(Js(0.0),var.get(u'_findLast2').get(u'default'))(var.get(u'_comments2'), PyJs_anonymous_630_))) + var.put(u'lines', var.get(u"this").get(u'_whitespace').callprop(u'getNewlinesAfter', (var.get(u'_comment2') or var.get(u'node')))) + else: + if var.get(u'leading').neg(): + (var.put(u'lines',Js(var.get(u'lines').to_number())+Js(1))-Js(1)) + if var.get(u'opts').get(u'addNewlines'): + var.put(u'lines', (var.get(u'opts').callprop(u'addNewlines', var.get(u'leading'), var.get(u'node')) or Js(0.0)), u'+') + var.put(u'needs', var.get(u'n').get(u'needsWhitespaceAfter')) + if var.get(u'leading'): + var.put(u'needs', var.get(u'n').get(u'needsWhitespaceBefore')) + if var.get(u'needs')(var.get(u'node'), var.get(u'parent')): + (var.put(u'lines',Js(var.get(u'lines').to_number())+Js(1))-Js(1)) + if var.get(u"this").get(u'_buf').callprop(u'hasContent').neg(): + var.put(u'lines', Js(0.0)) + var.get(u"this").callprop(u'newline', var.get(u'lines')) + PyJs__printNewline_628_._set_name(u'_printNewline') + var.get(u'Printer').get(u'prototype').put(u'_printNewline', PyJs__printNewline_628_) + @Js + def PyJs__getComments_631_(leading, node, this, arguments, var=var): + var = Scope({u'node':node, u'leading':leading, u'this':this, u'arguments':arguments, u'_getComments':PyJs__getComments_631_}, var) + var.registers([u'node', u'leading']) + return ((var.get(u'node') and (var.get(u'node').get(u'leadingComments') if var.get(u'leading') else var.get(u'node').get(u'trailingComments'))) or Js([])) + PyJs__getComments_631_._set_name(u'_getComments') + var.get(u'Printer').get(u'prototype').put(u'_getComments', PyJs__getComments_631_) + @Js + def PyJs__printComment_632_(comment, this, arguments, var=var): + var = Scope({u'comment':comment, u'this':this, u'_printComment':PyJs__printComment_632_, u'arguments':arguments}, var) + var.registers([u'comment', u'val', u'indentSize', u'newlineRegex', u'offset', u'_this3']) + var.put(u'_this3', var.get(u"this")) + if var.get(u"this").get(u'format').callprop(u'shouldPrintComment', var.get(u'comment').get(u'value')).neg(): + return var.get('undefined') + if var.get(u'comment').get(u'ignore'): + return var.get('undefined') + if var.get(u"this").get(u'_printedComments').callprop(u'has', var.get(u'comment')): + return var.get('undefined') + var.get(u"this").get(u'_printedComments').callprop(u'add', var.get(u'comment')) + if (var.get(u'comment').get(u'start')!=var.get(u"null")): + if var.get(u"this").get(u'_printedCommentStarts').get(var.get(u'comment').get(u'start')): + return var.get('undefined') + var.get(u"this").get(u'_printedCommentStarts').put(var.get(u'comment').get(u'start'), var.get(u'true')) + var.get(u"this").callprop(u'newline', (var.get(u"this").get(u'_whitespace').callprop(u'getNewlinesBefore', var.get(u'comment')) if var.get(u"this").get(u'_whitespace') else Js(0.0))) + if (var.get(u"this").callprop(u'endsWith', Js(u'[')).neg() and var.get(u"this").callprop(u'endsWith', Js(u'{')).neg()): + var.get(u"this").callprop(u'space') + var.put(u'val', (((Js(u'//')+var.get(u'comment').get(u'value'))+Js(u'\n')) if PyJsStrictEq(var.get(u'comment').get(u'type'),Js(u'CommentLine')) else ((Js(u'/*')+var.get(u'comment').get(u'value'))+Js(u'*/')))) + if (PyJsStrictEq(var.get(u'comment').get(u'type'),Js(u'CommentBlock')) and var.get(u"this").get(u'format').get(u'indent').get(u'adjustMultilineComment')): + var.put(u'offset', (var.get(u'comment').get(u'loc') and var.get(u'comment').get(u'loc').get(u'start').get(u'column'))) + if var.get(u'offset'): + var.put(u'newlineRegex', var.get(u'RegExp').create(((Js(u'\\n\\s{1,')+var.get(u'offset'))+Js(u'}')), Js(u'g'))) + var.put(u'val', var.get(u'val').callprop(u'replace', var.get(u'newlineRegex'), Js(u'\n'))) + var.put(u'indentSize', var.get(u'Math').callprop(u'max', var.get(u"this").callprop(u'_getIndent').get(u'length'), var.get(u"this").get(u'_buf').callprop(u'getCurrentColumn'))) + var.put(u'val', var.get(u'val').callprop(u'replace', JsRegExp(u'/\\n(?!$)/g'), (Js(u'\n')+PyJsComma(Js(0.0),var.get(u'_repeat2').get(u'default'))(Js(u' '), var.get(u'indentSize'))))) + @Js + def PyJs_anonymous_633_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'_this3').callprop(u'_append', var.get(u'val')) + PyJs_anonymous_633_._set_name(u'anonymous') + var.get(u"this").callprop(u'withSource', Js(u'start'), var.get(u'comment').get(u'loc'), PyJs_anonymous_633_) + var.get(u"this").callprop(u'newline', ((var.get(u"this").get(u'_whitespace').callprop(u'getNewlinesAfter', var.get(u'comment')) if var.get(u"this").get(u'_whitespace') else Js(0.0))+((-Js(1.0)) if PyJsStrictEq(var.get(u'comment').get(u'type'),Js(u'CommentLine')) else Js(0.0)))) + PyJs__printComment_632_._set_name(u'_printComment') + var.get(u'Printer').get(u'prototype').put(u'_printComment', PyJs__printComment_632_) + @Js + def PyJs__printComments_634_(comments, this, arguments, var=var): + var = Scope({u'this':this, u'_printComments':PyJs__printComments_634_, u'arguments':arguments, u'comments':comments}, var) + var.registers([u'_isArray', u'_iterator', u'comments', u'_i', u'_ref', u'_comment3']) + if (var.get(u'comments').neg() or var.get(u'comments').get(u'length').neg()): + return var.get('undefined') + #for JS loop + var.put(u'_iterator', var.get(u'comments')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'_comment3', var.get(u'_ref')) + var.get(u"this").callprop(u'_printComment', var.get(u'_comment3')) + + PyJs__printComments_634_._set_name(u'_printComments') + var.get(u'Printer').get(u'prototype').put(u'_printComments', PyJs__printComments_634_) + return var.get(u'Printer') + PyJs_anonymous_579_._set_name(u'anonymous') + var.put(u'Printer', PyJs_anonymous_579_()) + var.get(u'exports').put(u'default', var.get(u'Printer')) + pass + var.put(u'_arr', Js([var.get(u'require')(Js(u'./generators/template-literals')), var.get(u'require')(Js(u'./generators/expressions')), var.get(u'require')(Js(u'./generators/statements')), var.get(u'require')(Js(u'./generators/classes')), var.get(u'require')(Js(u'./generators/methods')), var.get(u'require')(Js(u'./generators/modules')), var.get(u'require')(Js(u'./generators/types')), var.get(u'require')(Js(u'./generators/flow')), var.get(u'require')(Js(u'./generators/base')), var.get(u'require')(Js(u'./generators/jsx'))])) + #for JS loop + var.put(u'_i2', Js(0.0)) + while (var.get(u'_i2')=Js(0.0)): + while (var.get(u'index') and PyJsStrictEq(var.get(u'node').get(u'start'),var.get(u'tokens').get((var.get(u'index')-Js(1.0))).get(u'start'))): + var.put(u'index',Js(var.get(u'index').to_number())-Js(1)) + var.put(u'startToken', var.get(u'tokens').get((var.get(u'index')-Js(1.0)))) + var.put(u'endToken', var.get(u'tokens').get(var.get(u'index'))) + return var.get(u"this").callprop(u'_getNewlinesBetween', var.get(u'startToken'), var.get(u'endToken')) + PyJs_getNewlinesBefore_651_._set_name(u'getNewlinesBefore') + var.get(u'Whitespace').get(u'prototype').put(u'getNewlinesBefore', PyJs_getNewlinesBefore_651_) + @Js + def PyJs_getNewlinesAfter_653_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'getNewlinesAfter':PyJs_getNewlinesAfter_653_}, var) + var.registers([u'tokens', u'startToken', u'node', u'endToken', u'index']) + var.put(u'startToken', PyJsComma(Js(0.0), Js(None))) + var.put(u'endToken', PyJsComma(Js(0.0), Js(None))) + var.put(u'tokens', var.get(u"this").get(u'tokens')) + @Js + def PyJs_anonymous_654_(token, this, arguments, var=var): + var = Scope({u'this':this, u'token':token, u'arguments':arguments}, var) + var.registers([u'token']) + return (var.get(u'token').get(u'end')-var.get(u'node').get(u'end')) + PyJs_anonymous_654_._set_name(u'anonymous') + var.put(u'index', var.get(u"this").callprop(u'_findToken', PyJs_anonymous_654_, Js(0.0), var.get(u'tokens').get(u'length'))) + if (var.get(u'index')>=Js(0.0)): + while (var.get(u'index') and PyJsStrictEq(var.get(u'node').get(u'end'),var.get(u'tokens').get((var.get(u'index')-Js(1.0))).get(u'end'))): + var.put(u'index',Js(var.get(u'index').to_number())-Js(1)) + var.put(u'startToken', var.get(u'tokens').get(var.get(u'index'))) + var.put(u'endToken', var.get(u'tokens').get((var.get(u'index')+Js(1.0)))) + if PyJsStrictEq(var.get(u'endToken').get(u'type').get(u'label'),Js(u',')): + var.put(u'endToken', var.get(u'tokens').get((var.get(u'index')+Js(2.0)))) + if (var.get(u'endToken') and PyJsStrictEq(var.get(u'endToken').get(u'type').get(u'label'),Js(u'eof'))): + return Js(1.0) + else: + return var.get(u"this").callprop(u'_getNewlinesBetween', var.get(u'startToken'), var.get(u'endToken')) + PyJs_getNewlinesAfter_653_._set_name(u'getNewlinesAfter') + var.get(u'Whitespace').get(u'prototype').put(u'getNewlinesAfter', PyJs_getNewlinesAfter_653_) + @Js + def PyJs__getNewlinesBetween_655_(startToken, endToken, this, arguments, var=var): + var = Scope({u'this':this, u'startToken':startToken, u'arguments':arguments, u'endToken':endToken, u'_getNewlinesBetween':PyJs__getNewlinesBetween_655_}, var) + var.registers([u'end', u'startToken', u'lines', u'start', u'line', u'endToken']) + if (var.get(u'endToken').neg() or var.get(u'endToken').get(u'loc').neg()): + return Js(0.0) + var.put(u'start', (var.get(u'startToken').get(u'loc').get(u'end').get(u'line') if var.get(u'startToken') else Js(1.0))) + var.put(u'end', var.get(u'endToken').get(u'loc').get(u'start').get(u'line')) + var.put(u'lines', Js(0.0)) + #for JS loop + var.put(u'line', var.get(u'start')) + while (var.get(u'line')=var.get(u'end')): + return (-Js(1.0)) + var.put(u'middle', PyJsBshift((var.get(u'start')+var.get(u'end')),Js(1.0))) + var.put(u'match', var.get(u'test')(var.get(u"this").get(u'tokens').get(var.get(u'middle')))) + if (var.get(u'match')Js(0.0)): + return var.get(u"this").callprop(u'_findToken', var.get(u'test'), var.get(u'start'), var.get(u'middle')) + else: + if PyJsStrictEq(var.get(u'match'),Js(0.0)): + return var.get(u'middle') + return (-Js(1.0)) + PyJs__findToken_656_._set_name(u'_findToken') + var.get(u'Whitespace').get(u'prototype').put(u'_findToken', PyJs__findToken_656_) + return var.get(u'Whitespace') + PyJs_anonymous_649_._set_name(u'anonymous') + var.put(u'Whitespace', PyJs_anonymous_649_()) + var.get(u'exports').put(u'default', var.get(u'Whitespace')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_647_._set_name(u'anonymous') +PyJs_Object_657_ = Js({u'babel-runtime/helpers/classCallCheck':Js(110.0)}) +@Js +def PyJs_anonymous_658_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_interopRequireWildcard', u'visitor', u'require', u'_babelTypes', u'module', u'_babelHelperHoistVariables', u't', u'_babelHelperHoistVariables2', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_664_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_664_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_663_ = Js({}) + var.put(u'newObj', PyJs_Object_663_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_659_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'node', u'container', u'args', u'state', u'call', u'path', u'scope', u'callee']) + var.put(u'scope', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else var.get(u'path').get(u'scope'))) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'container', var.get(u't').callprop(u'functionExpression', var.get(u"null"), Js([]), var.get(u'node').get(u'body'), var.get(u'node').get(u'generator'), var.get(u'node').get(u'async'))) + var.put(u'callee', var.get(u'container')) + var.put(u'args', Js([])) + @Js + def PyJs_anonymous_660_(id, this, arguments, var=var): + var = Scope({u'this':this, u'id':id, u'arguments':arguments}, var) + var.registers([u'id']) + PyJs_Object_661_ = Js({u'id':var.get(u'id')}) + return var.get(u'scope').callprop(u'push', PyJs_Object_661_) + PyJs_anonymous_660_._set_name(u'anonymous') + PyJsComma(Js(0.0),var.get(u'_babelHelperHoistVariables2').get(u'default'))(var.get(u'path'), PyJs_anonymous_660_) + PyJs_Object_662_ = Js({u'foundThis':Js(False),u'foundArguments':Js(False)}) + var.put(u'state', PyJs_Object_662_) + var.get(u'path').callprop(u'traverse', var.get(u'visitor'), var.get(u'state')) + if var.get(u'state').get(u'foundArguments'): + var.put(u'callee', var.get(u't').callprop(u'memberExpression', var.get(u'container'), var.get(u't').callprop(u'identifier', Js(u'apply')))) + var.put(u'args', Js([])) + if var.get(u'state').get(u'foundThis'): + var.get(u'args').callprop(u'push', var.get(u't').callprop(u'thisExpression')) + if var.get(u'state').get(u'foundArguments'): + if var.get(u'state').get(u'foundThis').neg(): + var.get(u'args').callprop(u'push', var.get(u't').callprop(u'nullLiteral')) + var.get(u'args').callprop(u'push', var.get(u't').callprop(u'identifier', Js(u'arguments'))) + var.put(u'call', var.get(u't').callprop(u'callExpression', var.get(u'callee'), var.get(u'args'))) + if var.get(u'node').get(u'generator'): + var.put(u'call', var.get(u't').callprop(u'yieldExpression', var.get(u'call'), var.get(u'true'))) + return var.get(u't').callprop(u'returnStatement', var.get(u'call')) + PyJs_anonymous_659_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_659_) + var.put(u'_babelHelperHoistVariables', var.get(u'require')(Js(u'babel-helper-hoist-variables'))) + var.put(u'_babelHelperHoistVariables2', var.get(u'_interopRequireDefault')(var.get(u'_babelHelperHoistVariables'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + @Js + def PyJs_enter_666_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'enter':PyJs_enter_666_}, var) + var.registers([u'path', u'state']) + if var.get(u'path').callprop(u'isThisExpression'): + var.get(u'state').put(u'foundThis', var.get(u'true')) + PyJs_Object_667_ = Js({u'name':Js(u'arguments')}) + if var.get(u'path').callprop(u'isReferencedIdentifier', PyJs_Object_667_): + var.get(u'state').put(u'foundArguments', var.get(u'true')) + PyJs_enter_666_._set_name(u'enter') + @Js + def PyJs_Function_668_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'Function':PyJs_Function_668_, u'arguments':arguments}, var) + var.registers([u'path']) + var.get(u'path').callprop(u'skip') + PyJs_Function_668_._set_name(u'Function') + PyJs_Object_665_ = Js({u'enter':PyJs_enter_666_,u'Function':PyJs_Function_668_}) + var.put(u'visitor', PyJs_Object_665_) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_658_._set_name(u'anonymous') +PyJs_Object_669_ = Js({u'babel-helper-hoist-variables':Js(51.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_670_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'toDefineObject', u'exports', u'toComputedObjectFromClass', u'_each', u'_interopRequireWildcard', u'_babelHelperFunctionName', u'require', u'_babelTypes', u'_has2', u'_has', u'hasComputed', u'push', u'module', u'_each2', u't', u'_babelHelperFunctionName2', u'_interopRequireDefault', u'toKind', u'toClassObject']) + @Js + def PyJsHoisted_toDefineObject_(mutatorMap, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'mutatorMap':mutatorMap}, var) + var.registers([u'mutatorMap']) + @Js + def PyJs_anonymous_678_(map, this, arguments, var=var): + var = Scope({u'this':this, u'map':map, u'arguments':arguments}, var) + var.registers([u'map']) + if var.get(u'map').get(u'value'): + var.get(u'map').put(u'writable', var.get(u't').callprop(u'booleanLiteral', var.get(u'true'))) + var.get(u'map').put(u'configurable', var.get(u't').callprop(u'booleanLiteral', var.get(u'true'))) + var.get(u'map').put(u'enumerable', var.get(u't').callprop(u'booleanLiteral', var.get(u'true'))) + PyJs_anonymous_678_._set_name(u'anonymous') + PyJsComma(Js(0.0),var.get(u'_each2').get(u'default'))(var.get(u'mutatorMap'), PyJs_anonymous_678_) + return var.get(u'toClassObject')(var.get(u'mutatorMap')) + PyJsHoisted_toDefineObject_.func_name = u'toDefineObject' + var.put(u'toDefineObject', PyJsHoisted_toDefineObject_) + @Js + def PyJsHoisted_toComputedObjectFromClass_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'i', u'obj', u'objExpr', u'val', u'prop']) + var.put(u'objExpr', var.get(u't').callprop(u'arrayExpression', Js([]))) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(2.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'2'),var.get(u'undefined'))) else Js(u'var'))) + PyJs_Object_696_ = Js({u'kind':var.get(u'kind'),u'emit':var.get(u'emit')}) + var.get(u'path').callprop(u'traverse', var.get(u'visitor'), PyJs_Object_696_) + PyJs_anonymous_695_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_695_) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + @Js + def PyJs_Scope_700_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'Scope':PyJs_Scope_700_}, var) + var.registers([u'path', u'state']) + if PyJsStrictEq(var.get(u'state').get(u'kind'),Js(u'let')): + var.get(u'path').callprop(u'skip') + PyJs_Scope_700_._set_name(u'Scope') + @Js + def PyJs_Function_701_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'Function':PyJs_Function_701_, u'arguments':arguments}, var) + var.registers([u'path']) + var.get(u'path').callprop(u'skip') + PyJs_Function_701_._set_name(u'Function') + @Js + def PyJs_VariableDeclaration_702_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'VariableDeclaration':PyJs_VariableDeclaration_702_}, var) + var.registers([u'_isArray', u'_iterator', u'firstId', u'declarations', u'state', u'declar', u'_i', u'path', u'nodes', u'_ref', u'name']) + if (var.get(u'state').get(u'kind') and PyJsStrictNeq(var.get(u'path').get(u'node').get(u'kind'),var.get(u'state').get(u'kind'))): + return var.get('undefined') + var.put(u'nodes', Js([])) + var.put(u'declarations', var.get(u'path').callprop(u'get', Js(u'declarations'))) + var.put(u'firstId', PyJsComma(Js(0.0), Js(None))) + #for JS loop + var.put(u'_iterator', var.get(u'declarations')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'declar', var.get(u'_ref')) + var.put(u'firstId', var.get(u'declar').get(u'node').get(u'id')) + if var.get(u'declar').get(u'node').get(u'init'): + var.get(u'nodes').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'declar').get(u'node').get(u'id'), var.get(u'declar').get(u'node').get(u'init')))) + for PyJsTemp in var.get(u'declar').callprop(u'getBindingIdentifiers'): + var.put(u'name', PyJsTemp) + var.get(u'state').callprop(u'emit', var.get(u't').callprop(u'identifier', var.get(u'name')), var.get(u'name')) + + PyJs_Object_703_ = Js({u'left':var.get(u'path').get(u'node')}) + if var.get(u'path').get(u'parentPath').callprop(u'isFor', PyJs_Object_703_): + var.get(u'path').callprop(u'replaceWith', var.get(u'firstId')) + else: + var.get(u'path').callprop(u'replaceWithMultiple', var.get(u'nodes')) + PyJs_VariableDeclaration_702_._set_name(u'VariableDeclaration') + PyJs_Object_699_ = Js({u'Scope':PyJs_Scope_700_,u'Function':PyJs_Function_701_,u'VariableDeclaration':PyJs_VariableDeclaration_702_}) + var.put(u'visitor', PyJs_Object_699_) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_694_._set_name(u'anonymous') +PyJs_Object_704_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_705_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_interopRequireWildcard', u'require', u'_babelTypes', u'module', u't']) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_708_ = Js({}) + var.put(u'newObj', PyJs_Object_708_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_706_(callee, thisNode, args, this, arguments, var=var): + var = Scope({u'thisNode':thisNode, u'this':this, u'args':args, u'callee':callee, u'arguments':arguments}, var) + var.registers([u'thisNode', u'args', u'callee']) + PyJs_Object_707_ = Js({u'name':Js(u'arguments')}) + if ((PyJsStrictEq(var.get(u'args').get(u'length'),Js(1.0)) and var.get(u't').callprop(u'isSpreadElement', var.get(u'args').get(u'0'))) and var.get(u't').callprop(u'isIdentifier', var.get(u'args').get(u'0').get(u'argument'), PyJs_Object_707_)): + return var.get(u't').callprop(u'callExpression', var.get(u't').callprop(u'memberExpression', var.get(u'callee'), var.get(u't').callprop(u'identifier', Js(u'apply'))), Js([var.get(u'thisNode'), var.get(u'args').get(u'0').get(u'argument')])) + else: + return var.get(u't').callprop(u'callExpression', var.get(u't').callprop(u'memberExpression', var.get(u'callee'), var.get(u't').callprop(u'identifier', Js(u'call'))), Js([var.get(u'thisNode')]).callprop(u'concat', var.get(u'args'))) + PyJs_anonymous_706_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_706_) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_705_._set_name(u'anonymous') +PyJs_Object_709_ = Js({u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_710_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'pullFlag', u'_interopRequireWildcard', u'_pull', u'is', u'_babelTypes', u'module', u'_pull2', u't', u'_interopRequireDefault', u'require']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_712_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_712_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_is_(node, flag, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'flag':flag, u'arguments':arguments}, var) + var.registers([u'node', u'flag']) + return (var.get(u't').callprop(u'isRegExpLiteral', var.get(u'node')) and (var.get(u'node').get(u'flags').callprop(u'indexOf', var.get(u'flag'))>=Js(0.0))) + PyJsHoisted_is_.func_name = u'is' + var.put(u'is', PyJsHoisted_is_) + @Js + def PyJsHoisted_pullFlag_(node, flag, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'flag':flag, u'arguments':arguments}, var) + var.registers([u'node', u'flag', u'flags']) + var.put(u'flags', var.get(u'node').get(u'flags').callprop(u'split', Js(u''))) + if (var.get(u'node').get(u'flags').callprop(u'indexOf', var.get(u'flag'))Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else Js(False))) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'ReplaceSupers')) + var.get(u"this").put(u'forceSuperMemoisation', var.get(u'opts').get(u'forceSuperMemoisation')) + var.get(u"this").put(u'methodPath', var.get(u'opts').get(u'methodPath')) + var.get(u"this").put(u'methodNode', var.get(u'opts').get(u'methodNode')) + var.get(u"this").put(u'superRef', var.get(u'opts').get(u'superRef')) + var.get(u"this").put(u'isStatic', var.get(u'opts').get(u'isStatic')) + var.get(u"this").put(u'hasSuper', Js(False)) + var.get(u"this").put(u'inClass', var.get(u'inClass')) + var.get(u"this").put(u'isLoose', var.get(u'opts').get(u'isLoose')) + var.get(u"this").put(u'scope', var.get(u"this").get(u'methodPath').get(u'scope')) + var.get(u"this").put(u'file', var.get(u'opts').get(u'file')) + var.get(u"this").put(u'opts', var.get(u'opts')) + var.get(u"this").put(u'bareSupers', Js([])) + var.get(u"this").put(u'returns', Js([])) + var.get(u"this").put(u'thises', Js([])) + PyJsHoisted_ReplaceSupers_.func_name = u'ReplaceSupers' + var.put(u'ReplaceSupers', PyJsHoisted_ReplaceSupers_) + pass + @Js + def PyJs_getObjectRef_726_(this, arguments, var=var): + var = Scope({u'this':this, u'getObjectRef':PyJs_getObjectRef_726_, u'arguments':arguments}, var) + var.registers([]) + return (var.get(u"this").get(u'opts').get(u'objectRef') or var.get(u"this").get(u'opts').callprop(u'getObjectRef')) + PyJs_getObjectRef_726_._set_name(u'getObjectRef') + var.get(u'ReplaceSupers').get(u'prototype').put(u'getObjectRef', PyJs_getObjectRef_726_) + @Js + def PyJs_setSuperProperty_727_(property, value, isComputed, this, arguments, var=var): + var = Scope({u'setSuperProperty':PyJs_setSuperProperty_727_, u'this':this, u'value':value, u'arguments':arguments, u'property':property, u'isComputed':isComputed}, var) + var.registers([u'property', u'value', u'isComputed']) + def PyJs_LONG_728_(var=var): + return var.get(u't').callprop(u'callExpression', var.get(u"this").get(u'file').callprop(u'addHelper', Js(u'set')), Js([var.get(u'getPrototypeOfExpression')(var.get(u"this").callprop(u'getObjectRef'), var.get(u"this").get(u'isStatic')), (var.get(u'property') if var.get(u'isComputed') else var.get(u't').callprop(u'stringLiteral', var.get(u'property').get(u'name'))), var.get(u'value'), var.get(u't').callprop(u'thisExpression')])) + return PyJs_LONG_728_() + PyJs_setSuperProperty_727_._set_name(u'setSuperProperty') + var.get(u'ReplaceSupers').get(u'prototype').put(u'setSuperProperty', PyJs_setSuperProperty_727_) + @Js + def PyJs_getSuperProperty_729_(property, isComputed, this, arguments, var=var): + var = Scope({u'this':this, u'getSuperProperty':PyJs_getSuperProperty_729_, u'property':property, u'arguments':arguments, u'isComputed':isComputed}, var) + var.registers([u'property', u'isComputed']) + def PyJs_LONG_730_(var=var): + return var.get(u't').callprop(u'callExpression', var.get(u"this").get(u'file').callprop(u'addHelper', Js(u'get')), Js([var.get(u'getPrototypeOfExpression')(var.get(u"this").callprop(u'getObjectRef'), var.get(u"this").get(u'isStatic')), (var.get(u'property') if var.get(u'isComputed') else var.get(u't').callprop(u'stringLiteral', var.get(u'property').get(u'name'))), var.get(u't').callprop(u'thisExpression')])) + return PyJs_LONG_730_() + PyJs_getSuperProperty_729_._set_name(u'getSuperProperty') + var.get(u'ReplaceSupers').get(u'prototype').put(u'getSuperProperty', PyJs_getSuperProperty_729_) + @Js + def PyJs_replace_731_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'replace':PyJs_replace_731_}, var) + var.registers([]) + var.get(u"this").get(u'methodPath').callprop(u'traverse', var.get(u'visitor'), var.get(u"this")) + PyJs_replace_731_._set_name(u'replace') + var.get(u'ReplaceSupers').get(u'prototype').put(u'replace', PyJs_replace_731_) + @Js + def PyJs_getLooseSuperProperty_732_(id, parent, this, arguments, var=var): + var = Scope({u'this':this, u'getLooseSuperProperty':PyJs_getLooseSuperProperty_732_, u'id':id, u'parent':parent, u'arguments':arguments}, var) + var.registers([u'methodNode', u'superRef', u'id', u'parent']) + var.put(u'methodNode', var.get(u"this").get(u'methodNode')) + var.put(u'superRef', (var.get(u"this").get(u'superRef') or var.get(u't').callprop(u'identifier', Js(u'Function')))) + if PyJsStrictEq(var.get(u'parent').get(u'property'),var.get(u'id')): + return var.get('undefined') + else: + PyJs_Object_733_ = Js({u'callee':var.get(u'id')}) + if var.get(u't').callprop(u'isCallExpression', var.get(u'parent'), PyJs_Object_733_): + return var.get('undefined') + else: + if (var.get(u't').callprop(u'isMemberExpression', var.get(u'parent')) and var.get(u'methodNode').get(u'static').neg()): + return var.get(u't').callprop(u'memberExpression', var.get(u'superRef'), var.get(u't').callprop(u'identifier', Js(u'prototype'))) + else: + return var.get(u'superRef') + PyJs_getLooseSuperProperty_732_._set_name(u'getLooseSuperProperty') + var.get(u'ReplaceSupers').get(u'prototype').put(u'getLooseSuperProperty', PyJs_getLooseSuperProperty_732_) + @Js + def PyJs_looseHandle_734_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'looseHandle':PyJs_looseHandle_734_}, var) + var.registers([u'node', u'path', u'callee']) + var.put(u'node', var.get(u'path').get(u'node')) + if var.get(u'path').callprop(u'isSuper'): + return var.get(u"this").callprop(u'getLooseSuperProperty', var.get(u'node'), var.get(u'path').get(u'parent')) + else: + if var.get(u'path').callprop(u'isCallExpression'): + var.put(u'callee', var.get(u'node').get(u'callee')) + if var.get(u't').callprop(u'isMemberExpression', var.get(u'callee')).neg(): + return var.get('undefined') + if var.get(u't').callprop(u'isSuper', var.get(u'callee').get(u'object')).neg(): + return var.get('undefined') + var.get(u't').callprop(u'appendToMemberExpression', var.get(u'callee'), var.get(u't').callprop(u'identifier', Js(u'call'))) + var.get(u'node').get(u'arguments').callprop(u'unshift', var.get(u't').callprop(u'thisExpression')) + return var.get(u'true') + PyJs_looseHandle_734_._set_name(u'looseHandle') + var.get(u'ReplaceSupers').get(u'prototype').put(u'looseHandle', PyJs_looseHandle_734_) + @Js + def PyJs_specHandleAssignmentExpression_735_(ref, path, node, this, arguments, var=var): + var = Scope({u'node':node, u'specHandleAssignmentExpression':PyJs_specHandleAssignmentExpression_735_, u'this':this, u'arguments':arguments, u'path':path, u'ref':ref}, var) + var.registers([u'node', u'path', u'ref']) + if PyJsStrictEq(var.get(u'node').get(u'operator'),Js(u'=')): + return var.get(u"this").callprop(u'setSuperProperty', var.get(u'node').get(u'left').get(u'property'), var.get(u'node').get(u'right'), var.get(u'node').get(u'left').get(u'computed')) + else: + var.put(u'ref', (var.get(u'ref') or var.get(u'path').get(u'scope').callprop(u'generateUidIdentifier', Js(u'ref')))) + return Js([var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'ref'), var.get(u'node').get(u'left'))])), var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'node').get(u'left'), var.get(u't').callprop(u'binaryExpression', var.get(u'node').get(u'operator').get(u'0'), var.get(u'ref'), var.get(u'node').get(u'right'))))]) + PyJs_specHandleAssignmentExpression_735_._set_name(u'specHandleAssignmentExpression') + var.get(u'ReplaceSupers').get(u'prototype').put(u'specHandleAssignmentExpression', PyJs_specHandleAssignmentExpression_735_) + @Js + def PyJs_specHandle_736_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'specHandle':PyJs_specHandle_736_}, var) + var.registers([u'node', u'binary', u'superProperty', u'computed', u'parent', u'ref', u'args', u'path', u'property', u'callee']) + var.put(u'property', PyJsComma(Js(0.0), Js(None))) + var.put(u'computed', PyJsComma(Js(0.0), Js(None))) + var.put(u'args', PyJsComma(Js(0.0), Js(None))) + var.put(u'parent', var.get(u'path').get(u'parent')) + var.put(u'node', var.get(u'path').get(u'node')) + if var.get(u'isIllegalBareSuper')(var.get(u'node'), var.get(u'parent')): + PyJsTempException = JsToPyException(var.get(u'path').callprop(u'buildCodeFrameError', var.get(u'messages').callprop(u'get', Js(u'classesIllegalBareSuper')))) + raise PyJsTempException + if var.get(u't').callprop(u'isCallExpression', var.get(u'node')): + var.put(u'callee', var.get(u'node').get(u'callee')) + if var.get(u't').callprop(u'isSuper', var.get(u'callee')): + return var.get('undefined') + else: + if var.get(u'isMemberExpressionSuper')(var.get(u'callee')): + var.put(u'property', var.get(u'callee').get(u'property')) + var.put(u'computed', var.get(u'callee').get(u'computed')) + var.put(u'args', var.get(u'node').get(u'arguments')) + else: + if (var.get(u't').callprop(u'isMemberExpression', var.get(u'node')) and var.get(u't').callprop(u'isSuper', var.get(u'node').get(u'object'))): + var.put(u'property', var.get(u'node').get(u'property')) + var.put(u'computed', var.get(u'node').get(u'computed')) + else: + if (var.get(u't').callprop(u'isUpdateExpression', var.get(u'node')) and var.get(u'isMemberExpressionSuper')(var.get(u'node').get(u'argument'))): + var.put(u'binary', var.get(u't').callprop(u'binaryExpression', var.get(u'node').get(u'operator').get(u'0'), var.get(u'node').get(u'argument'), var.get(u't').callprop(u'numericLiteral', Js(1.0)))) + if var.get(u'node').get(u'prefix'): + return var.get(u"this").callprop(u'specHandleAssignmentExpression', var.get(u"null"), var.get(u'path'), var.get(u'binary')) + else: + var.put(u'ref', var.get(u'path').get(u'scope').callprop(u'generateUidIdentifier', Js(u'ref'))) + return var.get(u"this").callprop(u'specHandleAssignmentExpression', var.get(u'ref'), var.get(u'path'), var.get(u'binary')).callprop(u'concat', var.get(u't').callprop(u'expressionStatement', var.get(u'ref'))) + else: + if (var.get(u't').callprop(u'isAssignmentExpression', var.get(u'node')) and var.get(u'isMemberExpressionSuper')(var.get(u'node').get(u'left'))): + return var.get(u"this").callprop(u'specHandleAssignmentExpression', var.get(u"null"), var.get(u'path'), var.get(u'node')) + if var.get(u'property').neg(): + return var.get('undefined') + var.put(u'superProperty', var.get(u"this").callprop(u'getSuperProperty', var.get(u'property'), var.get(u'computed'))) + if var.get(u'args'): + return var.get(u"this").callprop(u'optimiseCall', var.get(u'superProperty'), var.get(u'args')) + else: + return var.get(u'superProperty') + PyJs_specHandle_736_._set_name(u'specHandle') + var.get(u'ReplaceSupers').get(u'prototype').put(u'specHandle', PyJs_specHandle_736_) + @Js + def PyJs_optimiseCall_737_(callee, args, this, arguments, var=var): + var = Scope({u'this':this, u'args':args, u'callee':callee, u'arguments':arguments, u'optimiseCall':PyJs_optimiseCall_737_}, var) + var.registers([u'thisNode', u'args', u'callee']) + var.put(u'thisNode', var.get(u't').callprop(u'thisExpression')) + var.get(u'thisNode').put(var.get(u'HARDCORE_THIS_REF'), var.get(u'true')) + return PyJsComma(Js(0.0),var.get(u'_babelHelperOptimiseCallExpression2').get(u'default'))(var.get(u'callee'), var.get(u'thisNode'), var.get(u'args')) + PyJs_optimiseCall_737_._set_name(u'optimiseCall') + var.get(u'ReplaceSupers').get(u'prototype').put(u'optimiseCall', PyJs_optimiseCall_737_) + return var.get(u'ReplaceSupers') + PyJs_anonymous_725_._set_name(u'anonymous') + var.put(u'ReplaceSupers', PyJs_anonymous_725_()) + var.get(u'exports').put(u'default', var.get(u'ReplaceSupers')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_714_._set_name(u'anonymous') +PyJs_Object_738_ = Js({u'babel-helper-optimise-call-expression':Js(52.0),u'babel-messages':Js(57.0),u'babel-runtime/core-js/symbol':Js(105.0),u'babel-runtime/helpers/classCallCheck':Js(110.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_739_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'_babelTemplate', u'module', u'helpers', u'_interopRequireDefault', u'_babelTemplate2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_740_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_740_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_babelTemplate', var.get(u'require')(Js(u'babel-template'))) + var.put(u'_babelTemplate2', var.get(u'_interopRequireDefault')(var.get(u'_babelTemplate'))) + pass + PyJs_Object_741_ = Js({}) + var.put(u'helpers', PyJs_Object_741_) + var.get(u'exports').put(u'default', var.get(u'helpers')) + def PyJs_LONG_742_(var=var): + return var.get(u'helpers').put(u'typeof', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (typeof Symbol === "function" && typeof Symbol.iterator === "symbol")\n ? function (obj) { return typeof obj; }\n : function (obj) {\n return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype\n ? "symbol"\n : typeof obj;\n };\n'))) + PyJs_LONG_742_() + def PyJs_LONG_743_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function () {\n var REACT_ELEMENT_TYPE = (typeof Symbol === "function" && Symbol.for && Symbol.for("react.element")) || 0xeac7;\n\n return function createRawReactElement (type, props, key, children) {\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n\n if (!props && childrenLength !== 0) {\n // If we\'re going to assign props.children, we create a new object now\n // to avoid mutating defaultProps.\n props = {};\n }\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n props.children = childArray;\n }\n\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : \'\' + key,\n ref: null,\n props: props,\n _owner: null,\n };\n };\n\n })()\n')) + var.get(u'helpers').put(u'jsx', PyJs_LONG_743_()) + def PyJs_LONG_744_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (iterable) {\n if (typeof Symbol === "function") {\n if (Symbol.asyncIterator) {\n var method = iterable[Symbol.asyncIterator];\n if (method != null) return method.call(iterable);\n }\n if (Symbol.iterator) {\n return iterable[Symbol.iterator]();\n }\n }\n throw new TypeError("Object is not async iterable");\n })\n')) + var.get(u'helpers').put(u'asyncIterator', PyJs_LONG_744_()) + def PyJs_LONG_745_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function () {\n function AwaitValue(value) {\n this.value = value;\n }\n\n function AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg)\n var value = result.value;\n if (value instanceof AwaitValue) {\n Promise.resolve(value.value).then(\n function (arg) { resume("next", arg); },\n function (arg) { resume("throw", arg); });\n } else {\n settle(result.done ? "return" : "normal", result.value);\n }\n } catch (err) {\n settle("throw", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case "return":\n front.resolve({ value: value, done: true });\n break;\n case "throw":\n front.reject(value);\n break;\n default:\n front.resolve({ value: value, done: false });\n break;\n }\n\n front = front.next;\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n // Hide "return" method if generator return is not supported\n if (typeof gen.return !== "function") {\n this.return = undefined;\n }\n }\n\n if (typeof Symbol === "function" && Symbol.asyncIterator) {\n AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; };\n }\n\n AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); };\n AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); };\n AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); };\n\n return {\n wrap: function (fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n },\n await: function (value) {\n return new AwaitValue(value);\n }\n };\n\n })()\n')) + var.get(u'helpers').put(u'asyncGenerator', PyJs_LONG_745_()) + def PyJs_LONG_746_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (inner, awaitWrap) {\n var iter = {}, waiting = false;\n\n function pump(key, value) {\n waiting = true;\n value = new Promise(function (resolve) { resolve(inner[key](value)); });\n return { done: false, value: awaitWrap(value) };\n };\n\n if (typeof Symbol === "function" && Symbol.iterator) {\n iter[Symbol.iterator] = function () { return this; };\n }\n\n iter.next = function (value) {\n if (waiting) {\n waiting = false;\n return value;\n }\n return pump("next", value);\n };\n\n if (typeof inner.throw === "function") {\n iter.throw = function (value) {\n if (waiting) {\n waiting = false;\n throw value;\n }\n return pump("throw", value);\n };\n }\n\n if (typeof inner.return === "function") {\n iter.return = function (value) {\n return pump("return", value);\n };\n }\n\n return iter;\n })\n')) + var.get(u'helpers').put(u'asyncGeneratorDelegate', PyJs_LONG_746_()) + def PyJs_LONG_747_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new Promise(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return Promise.resolve(value).then(function (value) {\n step("next", value);\n }, function (err) {\n step("throw", err);\n });\n }\n }\n\n return step("next");\n });\n };\n })\n')) + var.get(u'helpers').put(u'asyncToGenerator', PyJs_LONG_747_()) + var.get(u'helpers').put(u'classCallCheck', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError("Cannot call a class as a function");\n }\n });\n'))) + def PyJs_LONG_748_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function() {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i ++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ("value" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n })()\n')) + var.get(u'helpers').put(u'createClass', PyJs_LONG_748_()) + var.get(u'helpers').put(u'defineEnumerableProperties', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if ("value" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n return obj;\n })\n'))) + def PyJs_LONG_749_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n return obj;\n })\n')) + var.get(u'helpers').put(u'defaults', PyJs_LONG_749_()) + def PyJs_LONG_750_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (obj, key, value) {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n });\n')) + var.get(u'helpers').put(u'defineProperty', PyJs_LONG_750_()) + def PyJs_LONG_751_(var=var): + return var.get(u'helpers').put(u'extends', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n Object.assign || (function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n })\n'))) + PyJs_LONG_751_() + def PyJs_LONG_752_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if ("value" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n });\n')) + var.get(u'helpers').put(u'get', PyJs_LONG_752_()) + def PyJs_LONG_753_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (subClass, superClass) {\n if (typeof superClass !== "function" && superClass !== null) {\n throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n })\n')) + var.get(u'helpers').put(u'inherits', PyJs_LONG_753_()) + var.get(u'helpers').put(u'instanceof', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (left, right) {\n if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {\n return right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n });\n'))) + var.get(u'helpers').put(u'interopRequireDefault', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n })\n'))) + def PyJs_LONG_754_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n newObj.default = obj;\n return newObj;\n }\n })\n')) + var.get(u'helpers').put(u'interopRequireWildcard', PyJs_LONG_754_()) + var.get(u'helpers').put(u'newArrowCheck', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (innerThis, boundThis) {\n if (innerThis !== boundThis) {\n throw new TypeError("Cannot instantiate an arrow function");\n }\n });\n'))) + var.get(u'helpers').put(u'objectDestructuringEmpty', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (obj) {\n if (obj == null) throw new TypeError("Cannot destructure undefined");\n });\n'))) + var.get(u'helpers').put(u'objectWithoutProperties', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (obj, keys) {\n var target = {};\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n return target;\n })\n'))) + var.get(u'helpers').put(u'possibleConstructorReturn', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (self, call) {\n if (!self) {\n throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called");\n }\n return call && (typeof call === "object" || typeof call === "function") ? call : self;\n });\n'))) + var.get(u'helpers').put(u'selfGlobal', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n typeof global === "undefined" ? self : global\n'))) + def PyJs_LONG_755_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function set(object, property, value, receiver) {\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent !== null) {\n set(parent, property, value, receiver);\n }\n } else if ("value" in desc && desc.writable) {\n desc.value = value;\n } else {\n var setter = desc.set;\n\n if (setter !== undefined) {\n setter.call(receiver, value);\n }\n }\n\n return value;\n });\n')) + var.get(u'helpers').put(u'set', PyJs_LONG_755_()) + def PyJs_LONG_756_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function () {\n // Broken out into a separate function to avoid deoptimizations due to the try/catch for the\n // array iterator case.\n function sliceIterator(arr, i) {\n // this is an expanded form of `for...of` that properly supports abrupt completions of\n // iterators etc. variable names have been minimised to reduce the size of this massive\n // helper. sometimes spec compliancy is annoying :(\n //\n // _n = _iteratorNormalCompletion\n // _d = _didIteratorError\n // _e = _iteratorError\n // _i = _iterator\n // _s = _step\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i["return"]) _i["return"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError("Invalid attempt to destructure non-iterable instance");\n }\n };\n })();\n')) + var.get(u'helpers').put(u'slicedToArray', PyJs_LONG_756_()) + def PyJs_LONG_757_(var=var): + return PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n var _arr = [];\n for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {\n _arr.push(_step.value);\n if (i && _arr.length === i) break;\n }\n return _arr;\n } else {\n throw new TypeError("Invalid attempt to destructure non-iterable instance");\n }\n });\n')) + var.get(u'helpers').put(u'slicedToArrayLoose', PyJs_LONG_757_()) + var.get(u'helpers').put(u'taggedTemplateLiteral', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (strings, raw) {\n return Object.freeze(Object.defineProperties(strings, {\n raw: { value: Object.freeze(raw) }\n }));\n });\n'))) + var.get(u'helpers').put(u'taggedTemplateLiteralLoose', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (strings, raw) {\n strings.raw = raw;\n return strings;\n });\n'))) + var.get(u'helpers').put(u'temporalRef', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (val, name, undef) {\n if (val === undef) {\n throw new ReferenceError(name + " is not defined - temporal dead zone");\n } else {\n return val;\n }\n })\n'))) + var.get(u'helpers').put(u'temporalUndefined', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n ({})\n'))) + var.get(u'helpers').put(u'toArray', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (arr) {\n return Array.isArray(arr) ? arr : Array.from(arr);\n });\n'))) + var.get(u'helpers').put(u'toConsumableArray', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n return arr2;\n } else {\n return Array.from(arr);\n }\n });\n'))) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_739_._set_name(u'anonymous') +PyJs_Object_758_ = Js({u'babel-template':Js(221.0)}) +@Js +def PyJs_anonymous_759_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'get', u'_helpers2', u'require', u'list', u'_helpers', u'_keys2', u'_keys', u'module', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_760_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_760_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_get_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'name', u'fn']) + var.put(u'fn', var.get(u'_helpers2').get(u'default').get(var.get(u'name'))) + if var.get(u'fn').neg(): + PyJsTempException = JsToPyException(var.get(u'ReferenceError').create((Js(u'Unknown helper ')+var.get(u'name')))) + raise PyJsTempException + return var.get(u'fn')().get(u'expression') + PyJsHoisted_get_.func_name = u'get' + var.put(u'get', PyJsHoisted_get_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'list', var.get(u'undefined')) + var.put(u'_keys', var.get(u'require')(Js(u'babel-runtime/core-js/object/keys'))) + var.put(u'_keys2', var.get(u'_interopRequireDefault')(var.get(u'_keys'))) + var.get(u'exports').put(u'get', var.get(u'get')) + var.put(u'_helpers', var.get(u'require')(Js(u'./helpers'))) + var.put(u'_helpers2', var.get(u'_interopRequireDefault')(var.get(u'_helpers'))) + pass + pass + @Js + def PyJs_anonymous_761_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + return PyJsStrictNeq(var.get(u'name'),Js(u'__esModule')) + PyJs_anonymous_761_._set_name(u'anonymous') + @Js + def PyJs_anonymous_762_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + return (var.get(u'name').callprop(u'slice', Js(1.0)) if PyJsStrictEq(var.get(u'name').get(u'0'),Js(u'_')) else var.get(u'name')) + PyJs_anonymous_762_._set_name(u'anonymous') + var.put(u'list', var.get(u'exports').put(u'list', PyJsComma(Js(0.0),var.get(u'_keys2').get(u'default'))(var.get(u'_helpers2').get(u'default')).callprop(u'map', PyJs_anonymous_762_).callprop(u'filter', PyJs_anonymous_761_))) + var.get(u'exports').put(u'default', var.get(u'get')) +PyJs_anonymous_759_._set_name(u'anonymous') +PyJs_Object_763_ = Js({u'./helpers':Js(55.0),u'babel-runtime/core-js/object/keys':Js(103.0)}) +@Js +def PyJs_anonymous_764_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_stringify2', u'_interopRequireWildcard', u'get', u'require', u'parseArgs', u'MESSAGES', u'_util', u'util', u'_stringify', u'module', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_766_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_766_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_parseArgs_(args, this, arguments, var=var): + var = Scope({u'this':this, u'args':args, u'arguments':arguments}, var) + var.registers([u'args']) + @Js + def PyJs_anonymous_769_(val, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'val':val}, var) + var.registers([u'val']) + if ((var.get(u'val')!=var.get(u"null")) and var.get(u'val').get(u'inspect')): + return var.get(u'val').callprop(u'inspect') + else: + try: + return (PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'val')) or (var.get(u'val')+Js(u''))) + except PyJsException as PyJsTempException: + PyJsHolder_65_98138155 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + return var.get(u'util').callprop(u'inspect', var.get(u'val')) + finally: + if PyJsHolder_65_98138155 is not None: + var.own[u'e'] = PyJsHolder_65_98138155 + else: + del var.own[u'e'] + del PyJsHolder_65_98138155 + PyJs_anonymous_769_._set_name(u'anonymous') + return var.get(u'args').callprop(u'map', PyJs_anonymous_769_) + PyJsHoisted_parseArgs_.func_name = u'parseArgs' + var.put(u'parseArgs', PyJsHoisted_parseArgs_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_765_ = Js({}) + var.put(u'newObj', PyJs_Object_765_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_get_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'_len', u'_key', u'args', u'key', u'msg']) + #for JS loop + var.put(u'_len', var.get(u'arguments').get(u'length')) + var.put(u'args', var.get(u'Array')(((var.get(u'_len')-Js(1.0)) if (var.get(u'_len')>Js(1.0)) else Js(0.0)))) + var.put(u'_key', Js(1.0)) + while (var.get(u'_key')=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i').get(u'value')) + var.put(u'violation', var.get(u'_ref3')) + PyJsTempException = JsToPyException(var.get(u'violation').callprop(u'buildCodeFrameError', var.get(u'messages').callprop(u'get', Js(u'readOnly'), var.get(u'name')))) + raise PyJsTempException + + PyJs_Scope_775_._set_name(u'Scope') + PyJs_Object_774_ = Js({u'Scope':PyJs_Scope_775_}) + PyJs_Object_773_ = Js({u'visitor':PyJs_Object_774_}) + return PyJs_Object_773_ + PyJs_anonymous_772_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_772_) + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_771_._set_name(u'anonymous') +PyJs_Object_777_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0)}) +@Js +def PyJs_anonymous_778_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_779_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'_ref', u't']) + var.put(u't', var.get(u'_ref').get(u'types')) + @Js + def PyJs_ArrowFunctionExpression_782_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'ArrowFunctionExpression':PyJs_ArrowFunctionExpression_782_}, var) + var.registers([u'node', u'path', u'state', u'boundThis']) + if var.get(u'state').get(u'opts').get(u'spec'): + var.put(u'node', var.get(u'path').get(u'node')) + if var.get(u'node').get(u'shadow'): + return var.get('undefined') + PyJs_Object_783_ = Js({u'this':Js(False)}) + var.get(u'node').put(u'shadow', PyJs_Object_783_) + var.get(u'node').put(u'type', Js(u'FunctionExpression')) + var.put(u'boundThis', var.get(u't').callprop(u'thisExpression')) + var.get(u'boundThis').put(u'_forceShadow', var.get(u'path')) + var.get(u'path').callprop(u'ensureBlock') + var.get(u'path').callprop(u'get', Js(u'body')).callprop(u'unshiftContainer', Js(u'body'), var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'callExpression', var.get(u'state').callprop(u'addHelper', Js(u'newArrowCheck')), Js([var.get(u't').callprop(u'thisExpression'), var.get(u'boundThis')])))) + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'callExpression', var.get(u't').callprop(u'memberExpression', var.get(u'node'), var.get(u't').callprop(u'identifier', Js(u'bind'))), Js([var.get(u't').callprop(u'thisExpression')]))) + else: + var.get(u'path').callprop(u'arrowFunctionToShadowed') + PyJs_ArrowFunctionExpression_782_._set_name(u'ArrowFunctionExpression') + PyJs_Object_781_ = Js({u'ArrowFunctionExpression':PyJs_ArrowFunctionExpression_782_}) + PyJs_Object_780_ = Js({u'visitor':PyJs_Object_781_}) + return PyJs_Object_780_ + PyJs_anonymous_779_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_779_) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_778_._set_name(u'anonymous') +PyJs_Object_784_ = Js({}) +@Js +def PyJs_anonymous_785_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'module', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_792_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_792_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + @Js + def PyJs_anonymous_786_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'_ref', u't', u'statementList']) + @Js + def PyJsHoisted_statementList_(key, path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'key':key}, var) + var.registers([u'key', u'paths', u'_isArray', u'_iterator', u'func', u'_ref2', u'declar', u'_i', u'path', u'_path']) + var.put(u'paths', var.get(u'path').callprop(u'get', var.get(u'key'))) + #for JS loop + var.put(u'_iterator', var.get(u'paths')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i').get(u'value')) + var.put(u'_path', var.get(u'_ref2')) + var.put(u'func', var.get(u'_path').get(u'node')) + if var.get(u'_path').callprop(u'isFunctionDeclaration').neg(): + continue + var.put(u'declar', var.get(u't').callprop(u'variableDeclaration', Js(u'let'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'func').get(u'id'), var.get(u't').callprop(u'toExpression', var.get(u'func')))]))) + var.get(u'declar').put(u'_blockHoist', Js(2.0)) + var.get(u'func').put(u'id', var.get(u"null")) + var.get(u'_path').callprop(u'replaceWith', var.get(u'declar')) + + PyJsHoisted_statementList_.func_name = u'statementList' + var.put(u'statementList', PyJsHoisted_statementList_) + var.put(u't', var.get(u'_ref').get(u'types')) + pass + @Js + def PyJs_BlockStatement_789_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'BlockStatement':PyJs_BlockStatement_789_}, var) + var.registers([u'node', u'path', u'parent']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'parent', var.get(u'path').get(u'parent')) + PyJs_Object_790_ = Js({u'body':var.get(u'node')}) + if (var.get(u't').callprop(u'isFunction', var.get(u'parent'), PyJs_Object_790_) or var.get(u't').callprop(u'isExportDeclaration', var.get(u'parent'))): + return var.get('undefined') + var.get(u'statementList')(Js(u'body'), var.get(u'path')) + PyJs_BlockStatement_789_._set_name(u'BlockStatement') + @Js + def PyJs_SwitchCase_791_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'SwitchCase':PyJs_SwitchCase_791_, u'arguments':arguments}, var) + var.registers([u'path']) + var.get(u'statementList')(Js(u'consequent'), var.get(u'path')) + PyJs_SwitchCase_791_._set_name(u'SwitchCase') + PyJs_Object_788_ = Js({u'BlockStatement':PyJs_BlockStatement_789_,u'SwitchCase':PyJs_SwitchCase_791_}) + PyJs_Object_787_ = Js({u'visitor':PyJs_Object_788_}) + return PyJs_Object_787_ + PyJs_anonymous_786_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_786_) + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_785_._set_name(u'anonymous') +PyJs_Object_793_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0)}) +@Js +def PyJs_anonymous_794_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_symbol2', u'continuationVisitor', u'loopLabelVisitor', u'_babelTemplate', u'module', u'letReferenceFunctionVisitor', u'isVar', u'_interopRequireDefault', u'loopNodeTo', u'_extend', u'_babelTraverse', u'convertBlockScopedToVar', u'_tdz', u'BlockScoping', u'ignoreBlock', u'hoistVarDeclarationsVisitor', u'_values2', u'_extend2', u'_create2', u'buildRetCheck', u'_classCallCheck3', u'_classCallCheck2', u'_create', u'exports', u'_babelTraverse2', u'_interopRequireWildcard', u'_babelTypes', u'_symbol', u'isBlockScoped', u'loopVisitor', u'require', u'_babelTemplate2', u't', u'_values', u'letReferenceBlockVisitor']) + @Js + def PyJsHoisted_convertBlockScopedToVar_(path, node, parent, scope, this, arguments, var=var): + var = Scope({u'node':node, u'arguments':arguments, u'parent':parent, u'scope':scope, u'this':this, u'path':path}, var) + var.registers([u'node', u'name', u'moveBindingsToParent', u'i', u'binding', u'ids', u'declar', u'parent', u'parentScope', u'path', u'scope']) + var.put(u'moveBindingsToParent', (var.get(u'arguments').get(u'4') if ((var.get(u'arguments').get(u'length')>Js(4.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'4'),var.get(u'undefined'))) else Js(False))) + if var.get(u'node').neg(): + var.put(u'node', var.get(u'path').get(u'node')) + if var.get(u't').callprop(u'isFor', var.get(u'parent')).neg(): + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=Js(0.0)): + return var.get('undefined') + var.put(u'loopText', ((var.get(u'loopText')+Js(u'|'))+var.get(u'node').get(u'label').get(u'name'))) + else: + if var.get(u'state').get(u'ignoreLabeless'): + return var.get('undefined') + if var.get(u'state').get(u'inSwitchCase'): + return var.get('undefined') + if (var.get(u't').callprop(u'isBreakStatement', var.get(u'node')) and var.get(u't').callprop(u'isSwitchCase', var.get(u'parent'))): + return var.get('undefined') + var.get(u'state').put(u'hasBreakContinue', var.get(u'true')) + var.get(u'state').get(u'map').put(var.get(u'loopText'), var.get(u'node')) + var.put(u'replace', var.get(u't').callprop(u'stringLiteral', var.get(u'loopText'))) + if var.get(u'path').callprop(u'isReturnStatement'): + var.get(u'state').put(u'hasReturn', var.get(u'true')) + var.put(u'replace', var.get(u't').callprop(u'objectExpression', Js([var.get(u't').callprop(u'objectProperty', var.get(u't').callprop(u'identifier', Js(u'v')), (var.get(u'node').get(u'argument') or var.get(u'scope').callprop(u'buildUndefinedNode')))]))) + if var.get(u'replace'): + var.put(u'replace', var.get(u't').callprop(u'returnStatement', var.get(u'replace'))) + var.get(u'replace').put(var.get(u"this").get(u'LOOP_IGNORE'), var.get(u'true')) + var.get(u'path').callprop(u'skip') + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'inherits', var.get(u'replace'), var.get(u'node'))) + PyJs_BreakStatementContinueStatementReturnStatement_820_._set_name(u'BreakStatementContinueStatementReturnStatement') + PyJs_Object_816_ = Js({u'Loop':PyJs_Loop_817_,u'Function':PyJs_Function_818_,u'SwitchCase':PyJs_SwitchCase_819_,u'BreakStatement|ContinueStatement|ReturnStatement':PyJs_BreakStatementContinueStatementReturnStatement_820_}) + var.put(u'loopVisitor', PyJs_Object_816_) + @Js + def PyJs_anonymous_821_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'BlockScoping']) + @Js + def PyJsHoisted_BlockScoping_(loopPath, blockPath, parent, scope, file, this, arguments, var=var): + var = Scope({u'arguments':arguments, u'parent':parent, u'file':file, u'blockPath':blockPath, u'this':this, u'scope':scope, u'loopPath':loopPath}, var) + var.registers([u'scope', u'blockPath', u'file', u'parent', u'loopPath']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'BlockScoping')) + var.get(u"this").put(u'parent', var.get(u'parent')) + var.get(u"this").put(u'scope', var.get(u'scope')) + var.get(u"this").put(u'file', var.get(u'file')) + var.get(u"this").put(u'blockPath', var.get(u'blockPath')) + var.get(u"this").put(u'block', var.get(u'blockPath').get(u'node')) + var.get(u"this").put(u'outsideLetReferences', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.get(u"this").put(u'hasLetReferences', Js(False)) + var.get(u"this").put(u'letReferences', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.get(u"this").put(u'body', Js([])) + if var.get(u'loopPath'): + var.get(u"this").put(u'loopParent', var.get(u'loopPath').get(u'parent')) + var.get(u"this").put(u'loopLabel', (var.get(u't').callprop(u'isLabeledStatement', var.get(u"this").get(u'loopParent')) and var.get(u"this").get(u'loopParent').get(u'label'))) + var.get(u"this").put(u'loopPath', var.get(u'loopPath')) + var.get(u"this").put(u'loop', var.get(u'loopPath').get(u'node')) + PyJsHoisted_BlockScoping_.func_name = u'BlockScoping' + var.put(u'BlockScoping', PyJsHoisted_BlockScoping_) + pass + @Js + def PyJs_run_822_(this, arguments, var=var): + var = Scope({u'this':this, u'run':PyJs_run_822_, u'arguments':arguments}, var) + var.registers([u'needsClosure', u'block']) + var.put(u'block', var.get(u"this").get(u'block')) + if var.get(u'block').get(u'_letDone'): + return var.get('undefined') + var.get(u'block').put(u'_letDone', var.get(u'true')) + var.put(u'needsClosure', var.get(u"this").callprop(u'getLetReferences')) + if (var.get(u't').callprop(u'isFunction', var.get(u"this").get(u'parent')) or var.get(u't').callprop(u'isProgram', var.get(u"this").get(u'block'))): + var.get(u"this").callprop(u'updateScopeInfo') + return var.get('undefined') + if var.get(u"this").get(u'hasLetReferences').neg(): + return var.get('undefined') + if var.get(u'needsClosure'): + var.get(u"this").callprop(u'wrapClosure') + else: + var.get(u"this").callprop(u'remap') + var.get(u"this").callprop(u'updateScopeInfo') + if (var.get(u"this").get(u'loopLabel') and var.get(u't').callprop(u'isLabeledStatement', var.get(u"this").get(u'loopParent')).neg()): + return var.get(u't').callprop(u'labeledStatement', var.get(u"this").get(u'loopLabel'), var.get(u"this").get(u'loop')) + PyJs_run_822_._set_name(u'run') + var.get(u'BlockScoping').get(u'prototype').put(u'run', PyJs_run_822_) + @Js + def PyJs_updateScopeInfo_823_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'updateScopeInfo':PyJs_updateScopeInfo_823_}, var) + var.registers([u'letRefs', u'binding', u'key', u'parentScope', u'scope', u'ref']) + var.put(u'scope', var.get(u"this").get(u'scope')) + var.put(u'parentScope', var.get(u'scope').callprop(u'getFunctionParent')) + var.put(u'letRefs', var.get(u"this").get(u'letReferences')) + for PyJsTemp in var.get(u'letRefs'): + var.put(u'key', PyJsTemp) + var.put(u'ref', var.get(u'letRefs').get(var.get(u'key'))) + var.put(u'binding', var.get(u'scope').callprop(u'getBinding', var.get(u'ref').get(u'name'))) + if var.get(u'binding').neg(): + continue + if (PyJsStrictEq(var.get(u'binding').get(u'kind'),Js(u'let')) or PyJsStrictEq(var.get(u'binding').get(u'kind'),Js(u'const'))): + var.get(u'binding').put(u'kind', Js(u'var')) + var.get(u'scope').callprop(u'moveBindingTo', var.get(u'ref').get(u'name'), var.get(u'parentScope')) + PyJs_updateScopeInfo_823_._set_name(u'updateScopeInfo') + var.get(u'BlockScoping').get(u'prototype').put(u'updateScopeInfo', PyJs_updateScopeInfo_823_) + @Js + def PyJs_remap_824_(this, arguments, var=var): + var = Scope({u'this':this, u'remap':PyJs_remap_824_, u'arguments':arguments}, var) + var.registers([u'scope', u'ref', u'key', u'letRefs']) + var.put(u'letRefs', var.get(u"this").get(u'letReferences')) + var.put(u'scope', var.get(u"this").get(u'scope')) + for PyJsTemp in var.get(u'letRefs'): + var.put(u'key', PyJsTemp) + var.put(u'ref', var.get(u'letRefs').get(var.get(u'key'))) + if (var.get(u'scope').callprop(u'parentHasBinding', var.get(u'key')) or var.get(u'scope').callprop(u'hasGlobal', var.get(u'key'))): + if var.get(u'scope').callprop(u'hasOwnBinding', var.get(u'key')): + var.get(u'scope').callprop(u'rename', var.get(u'ref').get(u'name')) + if var.get(u"this").get(u'blockPath').get(u'scope').callprop(u'hasOwnBinding', var.get(u'key')): + var.get(u"this").get(u'blockPath').get(u'scope').callprop(u'rename', var.get(u'ref').get(u'name')) + PyJs_remap_824_._set_name(u'remap') + var.get(u'BlockScoping').get(u'prototype').put(u'remap', PyJs_remap_824_) + @Js + def PyJs_wrapClosure_825_(this, arguments, var=var): + var = Scope({u'this':this, u'wrapClosure':PyJs_wrapClosure_825_, u'arguments':arguments}, var) + var.registers([u'hasYield', u'name', u'call', u'args', u'hasAsync', u'ret', u'params', u'fn', u'outsideRefs', u'isSwitch', u'ref', u'id', u'block']) + var.put(u'block', var.get(u"this").get(u'block')) + var.put(u'outsideRefs', var.get(u"this").get(u'outsideLetReferences')) + if var.get(u"this").get(u'loop'): + for PyJsTemp in var.get(u'outsideRefs'): + var.put(u'name', PyJsTemp) + var.put(u'id', var.get(u'outsideRefs').get(var.get(u'name'))) + if (var.get(u"this").get(u'scope').callprop(u'hasGlobal', var.get(u'id').get(u'name')) or var.get(u"this").get(u'scope').callprop(u'parentHasBinding', var.get(u'id').get(u'name'))): + var.get(u'outsideRefs').delete(var.get(u'id').get(u'name')) + var.get(u"this").get(u'letReferences').delete(var.get(u'id').get(u'name')) + var.get(u"this").get(u'scope').callprop(u'rename', var.get(u'id').get(u'name')) + var.get(u"this").get(u'letReferences').put(var.get(u'id').get(u'name'), var.get(u'id')) + var.get(u'outsideRefs').put(var.get(u'id').get(u'name'), var.get(u'id')) + var.get(u"this").put(u'has', var.get(u"this").callprop(u'checkLoop')) + var.get(u"this").callprop(u'hoistVarDeclarations') + var.put(u'params', PyJsComma(Js(0.0),var.get(u'_values2').get(u'default'))(var.get(u'outsideRefs'))) + var.put(u'args', PyJsComma(Js(0.0),var.get(u'_values2').get(u'default'))(var.get(u'outsideRefs'))) + var.put(u'isSwitch', var.get(u"this").get(u'blockPath').callprop(u'isSwitchStatement')) + var.put(u'fn', var.get(u't').callprop(u'functionExpression', var.get(u"null"), var.get(u'params'), var.get(u't').callprop(u'blockStatement', (Js([var.get(u'block')]) if var.get(u'isSwitch') else var.get(u'block').get(u'body'))))) + var.get(u'fn').put(u'shadow', var.get(u'true')) + var.get(u"this").callprop(u'addContinuations', var.get(u'fn')) + var.put(u'ref', var.get(u'fn')) + if var.get(u"this").get(u'loop'): + var.put(u'ref', var.get(u"this").get(u'scope').callprop(u'generateUidIdentifier', Js(u'loop'))) + var.get(u"this").get(u'loopPath').callprop(u'insertBefore', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'ref'), var.get(u'fn'))]))) + var.put(u'call', var.get(u't').callprop(u'callExpression', var.get(u'ref'), var.get(u'args'))) + var.put(u'ret', var.get(u"this").get(u'scope').callprop(u'generateUidIdentifier', Js(u'ret'))) + var.put(u'hasYield', var.get(u'_babelTraverse2').get(u'default').callprop(u'hasType', var.get(u'fn').get(u'body'), var.get(u"this").get(u'scope'), Js(u'YieldExpression'), var.get(u't').get(u'FUNCTION_TYPES'))) + if var.get(u'hasYield'): + var.get(u'fn').put(u'generator', var.get(u'true')) + var.put(u'call', var.get(u't').callprop(u'yieldExpression', var.get(u'call'), var.get(u'true'))) + var.put(u'hasAsync', var.get(u'_babelTraverse2').get(u'default').callprop(u'hasType', var.get(u'fn').get(u'body'), var.get(u"this").get(u'scope'), Js(u'AwaitExpression'), var.get(u't').get(u'FUNCTION_TYPES'))) + if var.get(u'hasAsync'): + var.get(u'fn').put(u'async', var.get(u'true')) + var.put(u'call', var.get(u't').callprop(u'awaitExpression', var.get(u'call'))) + var.get(u"this").callprop(u'buildClosure', var.get(u'ret'), var.get(u'call')) + if var.get(u'isSwitch'): + var.get(u"this").get(u'blockPath').callprop(u'replaceWithMultiple', var.get(u"this").get(u'body')) + else: + var.get(u'block').put(u'body', var.get(u"this").get(u'body')) + PyJs_wrapClosure_825_._set_name(u'wrapClosure') + var.get(u'BlockScoping').get(u'prototype').put(u'wrapClosure', PyJs_wrapClosure_825_) + @Js + def PyJs_buildClosure_826_(ret, call, this, arguments, var=var): + var = Scope({u'this':this, u'buildClosure':PyJs_buildClosure_826_, u'call':call, u'arguments':arguments, u'ret':ret}, var) + var.registers([u'has', u'call', u'ret']) + var.put(u'has', var.get(u"this").get(u'has')) + if (var.get(u'has').get(u'hasReturn') or var.get(u'has').get(u'hasBreakContinue')): + var.get(u"this").callprop(u'buildHas', var.get(u'ret'), var.get(u'call')) + else: + var.get(u"this").get(u'body').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u'call'))) + PyJs_buildClosure_826_._set_name(u'buildClosure') + var.get(u'BlockScoping').get(u'prototype').put(u'buildClosure', PyJs_buildClosure_826_) + @Js + def PyJs_addContinuations_827_(fn, this, arguments, var=var): + var = Scope({u'this':this, u'addContinuations':PyJs_addContinuations_827_, u'arguments':arguments, u'fn':fn}, var) + var.registers([u'i', u'state', u'newParam', u'param', u'fn']) + PyJs_Object_829_ = Js({}) + PyJs_Object_828_ = Js({u'reassignments':PyJs_Object_829_,u'outsideReferences':var.get(u"this").get(u'outsideLetReferences')}) + var.put(u'state', PyJs_Object_828_) + var.get(u"this").get(u'scope').callprop(u'traverse', var.get(u'fn'), var.get(u'continuationVisitor'), var.get(u'state')) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(2.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'2'),var.get(u'undefined'))) else Js(u'value'))) + var.put(u'scope', var.get(u'arguments').get(u'3')) + var.put(u'mutatorMap', PyJsComma(Js(0.0), Js(None))) + if var.get(u'node').get(u'static'): + var.get(u"this").put(u'hasStaticDescriptors', var.get(u'true')) + var.put(u'mutatorMap', var.get(u"this").get(u'staticMutatorMap')) + else: + var.get(u"this").put(u'hasInstanceDescriptors', var.get(u'true')) + var.put(u'mutatorMap', var.get(u"this").get(u'instanceMutatorMap')) + var.put(u'map', var.get(u'defineMap').callprop(u'push', var.get(u'mutatorMap'), var.get(u'node'), var.get(u'kind'), var.get(u"this").get(u'file'), var.get(u'scope'))) + if var.get(u'enumerable'): + var.get(u'map').put(u'enumerable', var.get(u't').callprop(u'booleanLiteral', var.get(u'true'))) + return var.get(u'map') + PyJs_pushToMap_884_._set_name(u'pushToMap') + var.get(u'ClassTransformer').get(u'prototype').put(u'pushToMap', PyJs_pushToMap_884_) + @Js + def PyJs_constructorMeMaybe_885_(this, arguments, var=var): + var = Scope({u'this':this, u'constructorMeMaybe':PyJs_constructorMeMaybe_885_, u'arguments':arguments}, var) + var.registers([u'body', u'paths', u'_isArray', u'_iterator', u'_constructor', u'params', u'_i', u'path', u'hasConstructor', u'_ref']) + var.put(u'hasConstructor', Js(False)) + var.put(u'paths', var.get(u"this").get(u'path').callprop(u'get', Js(u'body.body'))) + #for JS loop + var.put(u'_iterator', var.get(u'paths')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'path', var.get(u'_ref')) + var.put(u'hasConstructor', var.get(u'path').callprop(u'equals', Js(u'kind'), Js(u'constructor'))) + if var.get(u'hasConstructor'): + break + + if var.get(u'hasConstructor'): + return var.get('undefined') + var.put(u'params', PyJsComma(Js(0.0), Js(None))) + var.put(u'body', PyJsComma(Js(0.0), Js(None))) + if var.get(u"this").get(u'isDerived'): + var.put(u'_constructor', var.get(u'buildDerivedConstructor')().get(u'expression')) + var.put(u'params', var.get(u'_constructor').get(u'params')) + var.put(u'body', var.get(u'_constructor').get(u'body')) + else: + var.put(u'params', Js([])) + var.put(u'body', var.get(u't').callprop(u'blockStatement', Js([]))) + var.get(u"this").get(u'path').callprop(u'get', Js(u'body')).callprop(u'unshiftContainer', Js(u'body'), var.get(u't').callprop(u'classMethod', Js(u'constructor'), var.get(u't').callprop(u'identifier', Js(u'constructor')), var.get(u'params'), var.get(u'body'))) + PyJs_constructorMeMaybe_885_._set_name(u'constructorMeMaybe') + var.get(u'ClassTransformer').get(u'prototype').put(u'constructorMeMaybe', PyJs_constructorMeMaybe_885_) + @Js + def PyJs_buildBody_886_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'buildBody':PyJs_buildBody_886_}, var) + var.registers([u'constructorBody']) + var.get(u"this").callprop(u'constructorMeMaybe') + var.get(u"this").callprop(u'pushBody') + var.get(u"this").callprop(u'verifyConstructor') + if var.get(u"this").get(u'userConstructor'): + var.put(u'constructorBody', var.get(u"this").get(u'constructorBody')) + var.get(u'constructorBody').put(u'body', var.get(u'constructorBody').get(u'body').callprop(u'concat', var.get(u"this").get(u'userConstructor').get(u'body').get(u'body'))) + var.get(u't').callprop(u'inherits', var.get(u"this").get(u'constructor'), var.get(u"this").get(u'userConstructor')) + var.get(u't').callprop(u'inherits', var.get(u'constructorBody'), var.get(u"this").get(u'userConstructor').get(u'body')) + var.get(u"this").callprop(u'pushDescriptors') + PyJs_buildBody_886_._set_name(u'buildBody') + var.get(u'ClassTransformer').get(u'prototype').put(u'buildBody', PyJs_buildBody_886_) + @Js + def PyJs_pushBody_887_(this, arguments, var=var): + var = Scope({u'this':this, u'pushBody':PyJs_pushBody_887_, u'arguments':arguments}, var) + var.registers([u'node', u'_isArray2', u'isConstructor', u'_i2', u'classBodyPaths', u'_ref2', u'replaceSupers', u'path', u'_iterator2']) + var.put(u'classBodyPaths', var.get(u"this").get(u'path').callprop(u'get', Js(u'body.body'))) + #for JS loop + var.put(u'_iterator2', var.get(u'classBodyPaths')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'path', var.get(u'_ref2')) + var.put(u'node', var.get(u'path').get(u'node')) + if var.get(u'path').callprop(u'isClassProperty'): + PyJsTempException = JsToPyException(var.get(u'path').callprop(u'buildCodeFrameError', Js(u'Missing class properties transform.'))) + raise PyJsTempException + if var.get(u'node').get(u'decorators'): + PyJsTempException = JsToPyException(var.get(u'path').callprop(u'buildCodeFrameError', Js(u'Method has decorators, put the decorator plugin before the classes one.'))) + raise PyJsTempException + if var.get(u't').callprop(u'isClassMethod', var.get(u'node')): + var.put(u'isConstructor', PyJsStrictEq(var.get(u'node').get(u'kind'),Js(u'constructor'))) + if var.get(u'isConstructor'): + var.get(u'path').callprop(u'traverse', var.get(u'verifyConstructorVisitor'), var.get(u"this")) + if (var.get(u"this").get(u'hasBareSuper').neg() and var.get(u"this").get(u'isDerived')): + PyJsTempException = JsToPyException(var.get(u'path').callprop(u'buildCodeFrameError', Js(u'missing super() call in constructor'))) + raise PyJsTempException + PyJs_Object_888_ = Js({u'forceSuperMemoisation':var.get(u'isConstructor'),u'methodPath':var.get(u'path'),u'methodNode':var.get(u'node'),u'objectRef':var.get(u"this").get(u'classRef'),u'superRef':var.get(u"this").get(u'superName'),u'isStatic':var.get(u'node').get(u'static'),u'isLoose':var.get(u"this").get(u'isLoose'),u'scope':var.get(u"this").get(u'scope'),u'file':var.get(u"this").get(u'file')}) + var.put(u'replaceSupers', var.get(u'_babelHelperReplaceSupers2').get(u'default').create(PyJs_Object_888_, var.get(u'true'))) + var.get(u'replaceSupers').callprop(u'replace') + if var.get(u'isConstructor'): + var.get(u"this").callprop(u'pushConstructor', var.get(u'replaceSupers'), var.get(u'node'), var.get(u'path')) + else: + var.get(u"this").callprop(u'pushMethod', var.get(u'node'), var.get(u'path')) + + PyJs_pushBody_887_._set_name(u'pushBody') + var.get(u'ClassTransformer').get(u'prototype').put(u'pushBody', PyJs_pushBody_887_) + @Js + def PyJs_clearDescriptors_889_(this, arguments, var=var): + var = Scope({u'this':this, u'clearDescriptors':PyJs_clearDescriptors_889_, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put(u'hasInstanceDescriptors', Js(False)) + var.get(u"this").put(u'hasStaticDescriptors', Js(False)) + PyJs_Object_890_ = Js({}) + var.get(u"this").put(u'instanceMutatorMap', PyJs_Object_890_) + PyJs_Object_891_ = Js({}) + var.get(u"this").put(u'staticMutatorMap', PyJs_Object_891_) + PyJs_clearDescriptors_889_._set_name(u'clearDescriptors') + var.get(u'ClassTransformer').get(u'prototype').put(u'clearDescriptors', PyJs_clearDescriptors_889_) + @Js + def PyJs_pushDescriptors_892_(this, arguments, var=var): + var = Scope({u'this':this, u'pushDescriptors':PyJs_pushDescriptors_892_, u'arguments':arguments}, var) + var.registers([u'body', u'i', u'args', u'lastNonNullIndex', u'staticProps', u'instanceProps', u'nullNode']) + var.get(u"this").callprop(u'pushInherits') + var.put(u'body', var.get(u"this").get(u'body')) + var.put(u'instanceProps', PyJsComma(Js(0.0), Js(None))) + var.put(u'staticProps', PyJsComma(Js(0.0), Js(None))) + if var.get(u"this").get(u'hasInstanceDescriptors'): + var.put(u'instanceProps', var.get(u'defineMap').callprop(u'toClassObject', var.get(u"this").get(u'instanceMutatorMap'))) + if var.get(u"this").get(u'hasStaticDescriptors'): + var.put(u'staticProps', var.get(u'defineMap').callprop(u'toClassObject', var.get(u"this").get(u'staticMutatorMap'))) + if (var.get(u'instanceProps') or var.get(u'staticProps')): + if var.get(u'instanceProps'): + var.put(u'instanceProps', var.get(u'defineMap').callprop(u'toComputedObjectFromClass', var.get(u'instanceProps'))) + if var.get(u'staticProps'): + var.put(u'staticProps', var.get(u'defineMap').callprop(u'toComputedObjectFromClass', var.get(u'staticProps'))) + var.put(u'nullNode', var.get(u't').callprop(u'nullLiteral')) + var.put(u'args', Js([var.get(u"this").get(u'classRef'), var.get(u'nullNode'), var.get(u'nullNode'), var.get(u'nullNode'), var.get(u'nullNode')])) + if var.get(u'instanceProps'): + var.get(u'args').put(u'1', var.get(u'instanceProps')) + if var.get(u'staticProps'): + var.get(u'args').put(u'2', var.get(u'staticProps')) + if var.get(u"this").get(u'instanceInitializersId'): + var.get(u'args').put(u'3', var.get(u"this").get(u'instanceInitializersId')) + var.get(u'body').callprop(u'unshift', var.get(u"this").callprop(u'buildObjectAssignment', var.get(u"this").get(u'instanceInitializersId'))) + if var.get(u"this").get(u'staticInitializersId'): + var.get(u'args').put(u'4', var.get(u"this").get(u'staticInitializersId')) + var.get(u'body').callprop(u'unshift', var.get(u"this").callprop(u'buildObjectAssignment', var.get(u"this").get(u'staticInitializersId'))) + var.put(u'lastNonNullIndex', Js(0.0)) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'bareSuper', var.get(u'_ref3')) + var.get(u"this").callprop(u'wrapSuperCall', var.get(u'bareSuper'), var.get(u'superRef'), var.get(u'thisRef'), var.get(u'body')) + if var.get(u'guaranteedSuperBeforeFinish'): + @Js + def PyJs_anonymous_900_(parentPath, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'parentPath':parentPath}, var) + var.registers([u'parentPath']) + if PyJsStrictEq(var.get(u'parentPath'),var.get(u'path')): + return var.get(u'true') + if (var.get(u'parentPath').callprop(u'isLoop') or var.get(u'parentPath').callprop(u'isConditional')): + var.put(u'guaranteedSuperBeforeFinish', Js(False)) + return var.get(u'true') + PyJs_anonymous_900_._set_name(u'anonymous') + var.get(u'bareSuper').callprop(u'find', PyJs_anonymous_900_) + + #for JS loop + var.put(u'_iterator4', var.get(u"this").get(u'superThises')) + var.put(u'_isArray4', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator4'))) + var.put(u'_i4', Js(0.0)) + var.put(u'_iterator4', (var.get(u'_iterator4') if var.get(u'_isArray4') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator4')))) + while 1: + pass + if var.get(u'_isArray4'): + if (var.get(u'_i4')>=var.get(u'_iterator4').get(u'length')): + break + var.put(u'_ref4', var.get(u'_iterator4').get((var.put(u'_i4',Js(var.get(u'_i4').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i4', var.get(u'_iterator4').callprop(u'next')) + if var.get(u'_i4').get(u'done'): + break + var.put(u'_ref4', var.get(u'_i4').get(u'value')) + var.put(u'thisPath', var.get(u'_ref4')) + var.get(u'thisPath').callprop(u'replaceWith', var.get(u'thisRef')) + + @Js + def PyJs_wrapReturn_901_(returnArg, this, arguments, var=var): + var = Scope({u'this':this, u'returnArg':returnArg, u'wrapReturn':PyJs_wrapReturn_901_, u'arguments':arguments}, var) + var.registers([u'returnArg']) + return var.get(u't').callprop(u'callExpression', var.get(u'_this2').get(u'file').callprop(u'addHelper', Js(u'possibleConstructorReturn')), Js([var.get(u'thisRef')]).callprop(u'concat', (var.get(u'returnArg') or Js([])))) + PyJs_wrapReturn_901_._set_name(u'wrapReturn') + var.put(u'wrapReturn', PyJs_wrapReturn_901_) + var.put(u'bodyPaths', var.get(u'body').callprop(u'get', Js(u'body'))) + if (var.get(u'bodyPaths').get(u'length') and var.get(u'bodyPaths').callprop(u'pop').callprop(u'isReturnStatement').neg()): + var.get(u'body').callprop(u'pushContainer', Js(u'body'), var.get(u't').callprop(u'returnStatement', (var.get(u'thisRef') if var.get(u'guaranteedSuperBeforeFinish') else var.get(u'wrapReturn')()))) + #for JS loop + var.put(u'_iterator5', var.get(u"this").get(u'superReturns')) + var.put(u'_isArray5', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator5'))) + var.put(u'_i5', Js(0.0)) + var.put(u'_iterator5', (var.get(u'_iterator5') if var.get(u'_isArray5') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator5')))) + while 1: + pass + if var.get(u'_isArray5'): + if (var.get(u'_i5')>=var.get(u'_iterator5').get(u'length')): + break + var.put(u'_ref5', var.get(u'_iterator5').get((var.put(u'_i5',Js(var.get(u'_i5').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i5', var.get(u'_iterator5').callprop(u'next')) + if var.get(u'_i5').get(u'done'): + break + var.put(u'_ref5', var.get(u'_i5').get(u'value')) + var.put(u'returnPath', var.get(u'_ref5')) + if var.get(u'returnPath').get(u'node').get(u'argument'): + var.put(u'ref', var.get(u'returnPath').get(u'scope').callprop(u'generateDeclaredUidIdentifier', Js(u'ret'))) + var.get(u'returnPath').callprop(u'get', Js(u'argument')).callprop(u'replaceWithMultiple', Js([var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'ref'), var.get(u'returnPath').get(u'node').get(u'argument')), var.get(u'wrapReturn')(var.get(u'ref'))])) + else: + var.get(u'returnPath').callprop(u'get', Js(u'argument')).callprop(u'replaceWith', var.get(u'wrapReturn')()) + + PyJs_verifyConstructor_899_._set_name(u'verifyConstructor') + var.get(u'ClassTransformer').get(u'prototype').put(u'verifyConstructor', PyJs_verifyConstructor_899_) + @Js + def PyJs_pushMethod_902_(node, path, this, arguments, var=var): + var = Scope({u'node':node, u'path':path, u'this':this, u'arguments':arguments, u'pushMethod':PyJs_pushMethod_902_}, var) + var.registers([u'node', u'scope', u'path']) + var.put(u'scope', (var.get(u'path').get(u'scope') if var.get(u'path') else var.get(u"this").get(u'scope'))) + if PyJsStrictEq(var.get(u'node').get(u'kind'),Js(u'method')): + if var.get(u"this").callprop(u'_processMethod', var.get(u'node'), var.get(u'scope')): + return var.get('undefined') + var.get(u"this").callprop(u'pushToMap', var.get(u'node'), Js(False), var.get(u"null"), var.get(u'scope')) + PyJs_pushMethod_902_._set_name(u'pushMethod') + var.get(u'ClassTransformer').get(u'prototype').put(u'pushMethod', PyJs_pushMethod_902_) + @Js + def PyJs__processMethod_903_(this, arguments, var=var): + var = Scope({u'this':this, u'_processMethod':PyJs__processMethod_903_, u'arguments':arguments}, var) + var.registers([]) + return Js(False) + PyJs__processMethod_903_._set_name(u'_processMethod') + var.get(u'ClassTransformer').get(u'prototype').put(u'_processMethod', PyJs__processMethod_903_) + @Js + def PyJs_pushConstructor_904_(replaceSupers, method, path, this, arguments, var=var): + var = Scope({u'this':this, u'replaceSupers':replaceSupers, u'arguments':arguments, u'path':path, u'method':method, u'pushConstructor':PyJs_pushConstructor_904_}, var) + var.registers([u'path', u'replaceSupers', u'construct', u'method']) + var.get(u"this").put(u'bareSupers', var.get(u'replaceSupers').get(u'bareSupers')) + var.get(u"this").put(u'superReturns', var.get(u'replaceSupers').get(u'returns')) + if var.get(u'path').get(u'scope').callprop(u'hasOwnBinding', var.get(u"this").get(u'classRef').get(u'name')): + var.get(u'path').get(u'scope').callprop(u'rename', var.get(u"this").get(u'classRef').get(u'name')) + var.put(u'construct', var.get(u"this").get(u'constructor')) + var.get(u"this").put(u'userConstructorPath', var.get(u'path')) + var.get(u"this").put(u'userConstructor', var.get(u'method')) + var.get(u"this").put(u'hasConstructor', var.get(u'true')) + var.get(u't').callprop(u'inheritsComments', var.get(u'construct'), var.get(u'method')) + var.get(u'construct').put(u'_ignoreUserWhitespace', var.get(u'true')) + var.get(u'construct').put(u'params', var.get(u'method').get(u'params')) + var.get(u't').callprop(u'inherits', var.get(u'construct').get(u'body'), var.get(u'method').get(u'body')) + var.get(u'construct').get(u'body').put(u'directives', var.get(u'method').get(u'body').get(u'directives')) + var.get(u"this").callprop(u'_pushConstructor') + PyJs_pushConstructor_904_._set_name(u'pushConstructor') + var.get(u'ClassTransformer').get(u'prototype').put(u'pushConstructor', PyJs_pushConstructor_904_) + @Js + def PyJs__pushConstructor_905_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'_pushConstructor':PyJs__pushConstructor_905_}, var) + var.registers([]) + if var.get(u"this").get(u'pushedConstructor'): + return var.get('undefined') + var.get(u"this").put(u'pushedConstructor', var.get(u'true')) + if (var.get(u"this").get(u'hasInstanceDescriptors') or var.get(u"this").get(u'hasStaticDescriptors')): + var.get(u"this").callprop(u'pushDescriptors') + var.get(u"this").get(u'body').callprop(u'push', var.get(u"this").get(u'constructor')) + var.get(u"this").callprop(u'pushInherits') + PyJs__pushConstructor_905_._set_name(u'_pushConstructor') + var.get(u'ClassTransformer').get(u'prototype').put(u'_pushConstructor', PyJs__pushConstructor_905_) + @Js + def PyJs_pushInherits_906_(this, arguments, var=var): + var = Scope({u'this':this, u'pushInherits':PyJs_pushInherits_906_, u'arguments':arguments}, var) + var.registers([]) + if (var.get(u"this").get(u'isDerived').neg() or var.get(u"this").get(u'pushedInherits')): + return var.get('undefined') + var.get(u"this").put(u'pushedInherits', var.get(u'true')) + var.get(u"this").get(u'body').callprop(u'unshift', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'callExpression', var.get(u"this").get(u'file').callprop(u'addHelper', Js(u'inherits')), Js([var.get(u"this").get(u'classRef'), var.get(u"this").get(u'superName')])))) + PyJs_pushInherits_906_._set_name(u'pushInherits') + var.get(u'ClassTransformer').get(u'prototype').put(u'pushInherits', PyJs_pushInherits_906_) + return var.get(u'ClassTransformer') + PyJs_anonymous_879_._set_name(u'anonymous') + var.put(u'ClassTransformer', PyJs_anonymous_879_()) + var.get(u'exports').put(u'default', var.get(u'ClassTransformer')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_865_._set_name(u'anonymous') +PyJs_Object_907_ = Js({u'babel-helper-define-map':Js(48.0),u'babel-helper-optimise-call-expression':Js(52.0),u'babel-helper-replace-supers':Js(54.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/helpers/classCallCheck':Js(110.0),u'babel-template':Js(221.0),u'babel-traverse':Js(225.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_908_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'module', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_918_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_918_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + @Js + def PyJs_anonymous_909_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'_ref', u'loose', u'pushAssign', u'getValue', u'pushMutatorDefine', u't', u'template', u'buildMutatorMapAssign', u'spec']) + @Js + def PyJsHoisted_spec_(info, this, arguments, var=var): + var = Scope({u'info':info, u'this':this, u'arguments':arguments}, var) + var.registers([u'body', u'info', u'_isArray2', u'_ref4', u'_i2', u'prop', u'state', u'computedProps', u'objId', u'key', u'_iterator2']) + var.put(u'objId', var.get(u'info').get(u'objId')) + var.put(u'body', var.get(u'info').get(u'body')) + var.put(u'computedProps', var.get(u'info').get(u'computedProps')) + var.put(u'state', var.get(u'info').get(u'state')) + #for JS loop + var.put(u'_iterator2', var.get(u'computedProps')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref4', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref4', var.get(u'_i2').get(u'value')) + var.put(u'prop', var.get(u'_ref4')) + var.put(u'key', var.get(u't').callprop(u'toComputedKey', var.get(u'prop'))) + if (PyJsStrictEq(var.get(u'prop').get(u'kind'),Js(u'get')) or PyJsStrictEq(var.get(u'prop').get(u'kind'),Js(u'set'))): + var.get(u'pushMutatorDefine')(var.get(u'info'), var.get(u'prop')) + else: + PyJs_Object_911_ = Js({u'value':Js(u'__proto__')}) + if var.get(u't').callprop(u'isStringLiteral', var.get(u'key'), PyJs_Object_911_): + var.get(u'pushAssign')(var.get(u'objId'), var.get(u'prop'), var.get(u'body')) + else: + if PyJsStrictEq(var.get(u'computedProps').get(u'length'),Js(1.0)): + return var.get(u't').callprop(u'callExpression', var.get(u'state').callprop(u'addHelper', Js(u'defineProperty')), Js([var.get(u'info').get(u'initPropExpression'), var.get(u'key'), var.get(u'getValue')(var.get(u'prop'))])) + else: + var.get(u'body').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'callExpression', var.get(u'state').callprop(u'addHelper', Js(u'defineProperty')), Js([var.get(u'objId'), var.get(u'key'), var.get(u'getValue')(var.get(u'prop'))])))) + + PyJsHoisted_spec_.func_name = u'spec' + var.put(u'spec', PyJsHoisted_spec_) + @Js + def PyJsHoisted_pushMutatorDefine_(_ref2, prop, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'_ref2':_ref2, u'prop':prop}, var) + var.registers([u'body', u'maybeMemoise', u'_ref2', u'prop', u'objId', u'key', u'scope', u'getMutatorId']) + var.put(u'objId', var.get(u'_ref2').get(u'objId')) + var.put(u'body', var.get(u'_ref2').get(u'body')) + var.put(u'getMutatorId', var.get(u'_ref2').get(u'getMutatorId')) + var.put(u'scope', var.get(u'_ref2').get(u'scope')) + var.put(u'key', (var.get(u't').callprop(u'stringLiteral', var.get(u'prop').get(u'key').get(u'name')) if (var.get(u'prop').get(u'computed').neg() and var.get(u't').callprop(u'isIdentifier', var.get(u'prop').get(u'key'))) else var.get(u'prop').get(u'key'))) + var.put(u'maybeMemoise', var.get(u'scope').callprop(u'maybeGenerateMemoised', var.get(u'key'))) + if var.get(u'maybeMemoise'): + var.get(u'body').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'maybeMemoise'), var.get(u'key')))) + var.put(u'key', var.get(u'maybeMemoise')) + PyJs_Object_910_ = Js({u'MUTATOR_MAP_REF':var.get(u'getMutatorId')(),u'KEY':var.get(u'key'),u'VALUE':var.get(u'getValue')(var.get(u'prop')),u'KIND':var.get(u't').callprop(u'identifier', var.get(u'prop').get(u'kind'))}) + var.get(u'body').get(u'push').callprop(u'apply', var.get(u'body'), var.get(u'buildMutatorMapAssign')(PyJs_Object_910_)) + PyJsHoisted_pushMutatorDefine_.func_name = u'pushMutatorDefine' + var.put(u'pushMutatorDefine', PyJsHoisted_pushMutatorDefine_) + @Js + def PyJsHoisted_loose_(info, this, arguments, var=var): + var = Scope({u'info':info, u'this':this, u'arguments':arguments}, var) + var.registers([u'info', u'_isArray', u'_iterator', u'_ref3', u'prop', u'_i']) + #for JS loop + var.put(u'_iterator', var.get(u'info').get(u'computedProps')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i').get(u'value')) + var.put(u'prop', var.get(u'_ref3')) + if (PyJsStrictEq(var.get(u'prop').get(u'kind'),Js(u'get')) or PyJsStrictEq(var.get(u'prop').get(u'kind'),Js(u'set'))): + var.get(u'pushMutatorDefine')(var.get(u'info'), var.get(u'prop')) + else: + var.get(u'pushAssign')(var.get(u'info').get(u'objId'), var.get(u'prop'), var.get(u'info').get(u'body')) + + PyJsHoisted_loose_.func_name = u'loose' + var.put(u'loose', PyJsHoisted_loose_) + @Js + def PyJsHoisted_pushAssign_(objId, prop, body, this, arguments, var=var): + var = Scope({u'body':body, u'this':this, u'objId':objId, u'arguments':arguments, u'prop':prop}, var) + var.registers([u'body', u'objId', u'prop']) + if (PyJsStrictEq(var.get(u'prop').get(u'kind'),Js(u'get')) and PyJsStrictEq(var.get(u'prop').get(u'kind'),Js(u'set'))): + var.get(u'pushMutatorDefine')(var.get(u'objId'), var.get(u'prop'), var.get(u'body')) + else: + var.get(u'body').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u't').callprop(u'memberExpression', var.get(u'objId'), var.get(u'prop').get(u'key'), (var.get(u'prop').get(u'computed') or var.get(u't').callprop(u'isLiteral', var.get(u'prop').get(u'key')))), var.get(u'getValue')(var.get(u'prop'))))) + PyJsHoisted_pushAssign_.func_name = u'pushAssign' + var.put(u'pushAssign', PyJsHoisted_pushAssign_) + @Js + def PyJsHoisted_getValue_(prop, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'prop':prop}, var) + var.registers([u'prop']) + if var.get(u't').callprop(u'isObjectProperty', var.get(u'prop')): + return var.get(u'prop').get(u'value') + else: + if var.get(u't').callprop(u'isObjectMethod', var.get(u'prop')): + return var.get(u't').callprop(u'functionExpression', var.get(u"null"), var.get(u'prop').get(u'params'), var.get(u'prop').get(u'body'), var.get(u'prop').get(u'generator'), var.get(u'prop').get(u'async')) + PyJsHoisted_getValue_.func_name = u'getValue' + var.put(u'getValue', PyJsHoisted_getValue_) + var.put(u't', var.get(u'_ref').get(u'types')) + var.put(u'template', var.get(u'_ref').get(u'template')) + var.put(u'buildMutatorMapAssign', var.get(u'template')(Js(u'\n MUTATOR_MAP_REF[KEY] = MUTATOR_MAP_REF[KEY] || {};\n MUTATOR_MAP_REF[KEY].KIND = VALUE;\n '))) + pass + pass + pass + pass + pass + @Js + def PyJs_exit_915_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'exit':PyJs_exit_915_, u'arguments':arguments}, var) + var.registers([u'body', u'_isArray4', u'_isArray3', u'initProps', u'single', u'computedProps', u'_i4', u'_i3', u'hasComputed', u'prop', u'state', u'scope', u'getMutatorId', u'node', u'parent', u'initPropExpression', u'mutatorRef', u'foundComputed', u'objId', u'path', u'_prop', u'_ref6', u'_ref5', u'callback', u'_iterator4', u'_iterator3']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'parent', var.get(u'path').get(u'parent')) + var.put(u'scope', var.get(u'path').get(u'scope')) + var.put(u'hasComputed', Js(False)) + #for JS loop + var.put(u'_iterator3', var.get(u'node').get(u'properties')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator3')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref5', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref5', var.get(u'_i3').get(u'value')) + var.put(u'prop', var.get(u'_ref5')) + var.put(u'hasComputed', PyJsStrictEq(var.get(u'prop').get(u'computed'),var.get(u'true'))) + if var.get(u'hasComputed'): + break + + if var.get(u'hasComputed').neg(): + return var.get('undefined') + var.put(u'initProps', Js([])) + var.put(u'computedProps', Js([])) + var.put(u'foundComputed', Js(False)) + #for JS loop + var.put(u'_iterator4', var.get(u'node').get(u'properties')) + var.put(u'_isArray4', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator4'))) + var.put(u'_i4', Js(0.0)) + var.put(u'_iterator4', (var.get(u'_iterator4') if var.get(u'_isArray4') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator4')))) + while 1: + pass + if var.get(u'_isArray4'): + if (var.get(u'_i4')>=var.get(u'_iterator4').get(u'length')): + break + var.put(u'_ref6', var.get(u'_iterator4').get((var.put(u'_i4',Js(var.get(u'_i4').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i4', var.get(u'_iterator4').callprop(u'next')) + if var.get(u'_i4').get(u'done'): + break + var.put(u'_ref6', var.get(u'_i4').get(u'value')) + var.put(u'_prop', var.get(u'_ref6')) + if var.get(u'_prop').get(u'computed'): + var.put(u'foundComputed', var.get(u'true')) + if var.get(u'foundComputed'): + var.get(u'computedProps').callprop(u'push', var.get(u'_prop')) + else: + var.get(u'initProps').callprop(u'push', var.get(u'_prop')) + + var.put(u'objId', var.get(u'scope').callprop(u'generateUidIdentifierBasedOnNode', var.get(u'parent'))) + var.put(u'initPropExpression', var.get(u't').callprop(u'objectExpression', var.get(u'initProps'))) + var.put(u'body', Js([])) + var.get(u'body').callprop(u'push', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'objId'), var.get(u'initPropExpression'))]))) + var.put(u'callback', var.get(u'spec')) + if var.get(u'state').get(u'opts').get(u'loose'): + var.put(u'callback', var.get(u'loose')) + var.put(u'mutatorRef', PyJsComma(Js(0.0), Js(None))) + @Js + def PyJs_getMutatorId_916_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'getMutatorId':PyJs_getMutatorId_916_}, var) + var.registers([]) + if var.get(u'mutatorRef').neg(): + var.put(u'mutatorRef', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'mutatorMap'))) + var.get(u'body').callprop(u'push', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'mutatorRef'), var.get(u't').callprop(u'objectExpression', Js([])))]))) + return var.get(u'mutatorRef') + PyJs_getMutatorId_916_._set_name(u'getMutatorId') + var.put(u'getMutatorId', PyJs_getMutatorId_916_) + PyJs_Object_917_ = Js({u'scope':var.get(u'scope'),u'objId':var.get(u'objId'),u'body':var.get(u'body'),u'computedProps':var.get(u'computedProps'),u'initPropExpression':var.get(u'initPropExpression'),u'getMutatorId':var.get(u'getMutatorId'),u'state':var.get(u'state')}) + var.put(u'single', var.get(u'callback')(PyJs_Object_917_)) + if var.get(u'mutatorRef'): + var.get(u'body').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'callExpression', var.get(u'state').callprop(u'addHelper', Js(u'defineEnumerableProperties')), Js([var.get(u'objId'), var.get(u'mutatorRef')])))) + if var.get(u'single'): + var.get(u'path').callprop(u'replaceWith', var.get(u'single')) + else: + var.get(u'body').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u'objId'))) + var.get(u'path').callprop(u'replaceWithMultiple', var.get(u'body')) + PyJs_exit_915_._set_name(u'exit') + PyJs_Object_914_ = Js({u'exit':PyJs_exit_915_}) + PyJs_Object_913_ = Js({u'ObjectExpression':PyJs_Object_914_}) + PyJs_Object_912_ = Js({u'visitor':PyJs_Object_913_}) + return PyJs_Object_912_ + PyJs_anonymous_909_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_909_) + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_908_._set_name(u'anonymous') +PyJs_Object_919_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0)}) +@Js +def PyJs_anonymous_920_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_classCallCheck2', u'require', u'module', u'_interopRequireDefault', u'_classCallCheck3', u'_getIterator3', u'_getIterator2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_950_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_950_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + @Js + def PyJs_anonymous_921_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'DestructuringTransformer', u'hasRest', u'variableDeclarationHasPattern', u't', u'_ref', u'arrayUnpackVisitor']) + @Js + def PyJsHoisted_hasRest_(pattern, this, arguments, var=var): + var = Scope({u'this':this, u'pattern':pattern, u'arguments':arguments}, var) + var.registers([u'_isArray2', u'pattern', u'_ref3', u'_i2', u'elem', u'_iterator2']) + #for JS loop + var.put(u'_iterator2', var.get(u'pattern').get(u'elements')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i2').get(u'value')) + var.put(u'elem', var.get(u'_ref3')) + if var.get(u't').callprop(u'isRestElement', var.get(u'elem')): + return var.get(u'true') + + return Js(False) + PyJsHoisted_hasRest_.func_name = u'hasRest' + var.put(u'hasRest', PyJsHoisted_hasRest_) + @Js + def PyJsHoisted_variableDeclarationHasPattern_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'_isArray', u'_iterator', u'_ref2', u'declar', u'_i']) + #for JS loop + var.put(u'_iterator', var.get(u'node').get(u'declarations')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i').get(u'value')) + var.put(u'declar', var.get(u'_ref2')) + if var.get(u't').callprop(u'isPattern', var.get(u'declar').get(u'id')): + return var.get(u'true') + + return Js(False) + PyJsHoisted_variableDeclarationHasPattern_.func_name = u'variableDeclarationHasPattern' + var.put(u'variableDeclarationHasPattern', PyJsHoisted_variableDeclarationHasPattern_) + var.put(u't', var.get(u'_ref').get(u'types')) + pass + pass + @Js + def PyJs_ReferencedIdentifier_923_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'ReferencedIdentifier':PyJs_ReferencedIdentifier_923_, u'arguments':arguments}, var) + var.registers([u'path', u'state']) + if var.get(u'state').get(u'bindings').get(var.get(u'path').get(u'node').get(u'name')): + var.get(u'state').put(u'deopt', var.get(u'true')) + var.get(u'path').callprop(u'stop') + PyJs_ReferencedIdentifier_923_._set_name(u'ReferencedIdentifier') + PyJs_Object_922_ = Js({u'ReferencedIdentifier':PyJs_ReferencedIdentifier_923_}) + var.put(u'arrayUnpackVisitor', PyJs_Object_922_) + @Js + def PyJs_anonymous_924_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'DestructuringTransformer']) + @Js + def PyJsHoisted_DestructuringTransformer_(opts, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'opts']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'DestructuringTransformer')) + var.get(u"this").put(u'blockHoist', var.get(u'opts').get(u'blockHoist')) + var.get(u"this").put(u'operator', var.get(u'opts').get(u'operator')) + PyJs_Object_925_ = Js({}) + var.get(u"this").put(u'arrays', PyJs_Object_925_) + var.get(u"this").put(u'nodes', (var.get(u'opts').get(u'nodes') or Js([]))) + var.get(u"this").put(u'scope', var.get(u'opts').get(u'scope')) + var.get(u"this").put(u'file', var.get(u'opts').get(u'file')) + var.get(u"this").put(u'kind', var.get(u'opts').get(u'kind')) + PyJsHoisted_DestructuringTransformer_.func_name = u'DestructuringTransformer' + var.put(u'DestructuringTransformer', PyJsHoisted_DestructuringTransformer_) + pass + @Js + def PyJs_buildVariableAssignment_926_(id, init, this, arguments, var=var): + var = Scope({u'this':this, u'init':init, u'buildVariableAssignment':PyJs_buildVariableAssignment_926_, u'id':id, u'arguments':arguments}, var) + var.registers([u'node', u'init', u'id', u'op']) + var.put(u'op', var.get(u"this").get(u'operator')) + if var.get(u't').callprop(u'isMemberExpression', var.get(u'id')): + var.put(u'op', Js(u'=')) + var.put(u'node', PyJsComma(Js(0.0), Js(None))) + if var.get(u'op'): + var.put(u'node', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', var.get(u'op'), var.get(u'id'), var.get(u'init')))) + else: + var.put(u'node', var.get(u't').callprop(u'variableDeclaration', var.get(u"this").get(u'kind'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'id'), var.get(u'init'))]))) + var.get(u'node').put(u'_blockHoist', var.get(u"this").get(u'blockHoist')) + return var.get(u'node') + PyJs_buildVariableAssignment_926_._set_name(u'buildVariableAssignment') + var.get(u'DestructuringTransformer').get(u'prototype').put(u'buildVariableAssignment', PyJs_buildVariableAssignment_926_) + @Js + def PyJs_buildVariableDeclaration_927_(id, init, this, arguments, var=var): + var = Scope({u'this':this, u'init':init, u'buildVariableDeclaration':PyJs_buildVariableDeclaration_927_, u'id':id, u'arguments':arguments}, var) + var.registers([u'init', u'declar', u'id']) + var.put(u'declar', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'id'), var.get(u'init'))]))) + var.get(u'declar').put(u'_blockHoist', var.get(u"this").get(u'blockHoist')) + return var.get(u'declar') + PyJs_buildVariableDeclaration_927_._set_name(u'buildVariableDeclaration') + var.get(u'DestructuringTransformer').get(u'prototype').put(u'buildVariableDeclaration', PyJs_buildVariableDeclaration_927_) + @Js + def PyJs_push_928_(id, init, this, arguments, var=var): + var = Scope({u'this':this, u'push':PyJs_push_928_, u'init':init, u'id':id, u'arguments':arguments}, var) + var.registers([u'init', u'id']) + if var.get(u't').callprop(u'isObjectPattern', var.get(u'id')): + var.get(u"this").callprop(u'pushObjectPattern', var.get(u'id'), var.get(u'init')) + else: + if var.get(u't').callprop(u'isArrayPattern', var.get(u'id')): + var.get(u"this").callprop(u'pushArrayPattern', var.get(u'id'), var.get(u'init')) + else: + if var.get(u't').callprop(u'isAssignmentPattern', var.get(u'id')): + var.get(u"this").callprop(u'pushAssignmentPattern', var.get(u'id'), var.get(u'init')) + else: + var.get(u"this").get(u'nodes').callprop(u'push', var.get(u"this").callprop(u'buildVariableAssignment', var.get(u'id'), var.get(u'init'))) + PyJs_push_928_._set_name(u'push') + var.get(u'DestructuringTransformer').get(u'prototype').put(u'push', PyJs_push_928_) + @Js + def PyJs_toArray_929_(node, count, this, arguments, var=var): + var = Scope({u'node':node, u'count':count, u'this':this, u'arguments':arguments, u'toArray':PyJs_toArray_929_}, var) + var.registers([u'node', u'count']) + if (var.get(u"this").get(u'file').get(u'opts').get(u'loose') or (var.get(u't').callprop(u'isIdentifier', var.get(u'node')) and var.get(u"this").get(u'arrays').get(var.get(u'node').get(u'name')))): + return var.get(u'node') + else: + return var.get(u"this").get(u'scope').callprop(u'toArray', var.get(u'node'), var.get(u'count')) + PyJs_toArray_929_._set_name(u'toArray') + var.get(u'DestructuringTransformer').get(u'prototype').put(u'toArray', PyJs_toArray_929_) + @Js + def PyJs_pushAssignmentPattern_930_(pattern, valueRef, this, arguments, var=var): + var = Scope({u'this':this, u'pattern':pattern, u'valueRef':valueRef, u'arguments':arguments, u'pushAssignmentPattern':PyJs_pushAssignmentPattern_930_}, var) + var.registers([u'pattern', u'tempValueDefault', u'declar', u'tempValueRef', u'tempConditional', u'valueRef', u'left']) + var.put(u'tempValueRef', var.get(u"this").get(u'scope').callprop(u'generateUidIdentifierBasedOnNode', var.get(u'valueRef'))) + var.put(u'declar', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'tempValueRef'), var.get(u'valueRef'))]))) + var.get(u'declar').put(u'_blockHoist', var.get(u"this").get(u'blockHoist')) + var.get(u"this").get(u'nodes').callprop(u'push', var.get(u'declar')) + var.put(u'tempConditional', var.get(u't').callprop(u'conditionalExpression', var.get(u't').callprop(u'binaryExpression', Js(u'==='), var.get(u'tempValueRef'), var.get(u't').callprop(u'identifier', Js(u'undefined'))), var.get(u'pattern').get(u'right'), var.get(u'tempValueRef'))) + var.put(u'left', var.get(u'pattern').get(u'left')) + if var.get(u't').callprop(u'isPattern', var.get(u'left')): + var.put(u'tempValueDefault', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'tempValueRef'), var.get(u'tempConditional')))) + var.get(u'tempValueDefault').put(u'_blockHoist', var.get(u"this").get(u'blockHoist')) + var.get(u"this").get(u'nodes').callprop(u'push', var.get(u'tempValueDefault')) + var.get(u"this").callprop(u'push', var.get(u'left'), var.get(u'tempValueRef')) + else: + var.get(u"this").get(u'nodes').callprop(u'push', var.get(u"this").callprop(u'buildVariableAssignment', var.get(u'left'), var.get(u'tempConditional'))) + PyJs_pushAssignmentPattern_930_._set_name(u'pushAssignmentPattern') + var.get(u'DestructuringTransformer').get(u'prototype').put(u'pushAssignmentPattern', PyJs_pushAssignmentPattern_930_) + @Js + def PyJs_pushObjectRest_931_(pattern, objRef, spreadProp, spreadPropIndex, this, arguments, var=var): + var = Scope({u'objRef':objRef, u'arguments':arguments, u'pushObjectRest':PyJs_pushObjectRest_931_, u'this':this, u'pattern':pattern, u'spreadProp':spreadProp, u'spreadPropIndex':spreadPropIndex}, var) + var.registers([u'keys', u'pattern', u'spreadProp', u'value', u'prop', u'objRef', u'i', u'key', u'spreadPropIndex']) + var.put(u'keys', Js([])) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=var.get(u'spreadPropIndex')): + break + if var.get(u't').callprop(u'isRestProperty', var.get(u'prop')): + continue + var.put(u'key', var.get(u'prop').get(u'key')) + if (var.get(u't').callprop(u'isIdentifier', var.get(u'key')) and var.get(u'prop').get(u'computed').neg()): + var.put(u'key', var.get(u't').callprop(u'stringLiteral', var.get(u'prop').get(u'key').get(u'name'))) + var.get(u'keys').callprop(u'push', var.get(u'key')) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + var.put(u'keys', var.get(u't').callprop(u'arrayExpression', var.get(u'keys'))) + var.put(u'value', var.get(u't').callprop(u'callExpression', var.get(u"this").get(u'file').callprop(u'addHelper', Js(u'objectWithoutProperties')), Js([var.get(u'objRef'), var.get(u'keys')]))) + var.get(u"this").get(u'nodes').callprop(u'push', var.get(u"this").callprop(u'buildVariableAssignment', var.get(u'spreadProp').get(u'argument'), var.get(u'value'))) + PyJs_pushObjectRest_931_._set_name(u'pushObjectRest') + var.get(u'DestructuringTransformer').get(u'prototype').put(u'pushObjectRest', PyJs_pushObjectRest_931_) + @Js + def PyJs_pushObjectProperty_932_(prop, propRef, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'pushObjectProperty':PyJs_pushObjectProperty_932_, u'propRef':propRef, u'prop':prop}, var) + var.registers([u'objRef', u'pattern', u'propRef', u'prop']) + if var.get(u't').callprop(u'isLiteral', var.get(u'prop').get(u'key')): + var.get(u'prop').put(u'computed', var.get(u'true')) + var.put(u'pattern', var.get(u'prop').get(u'value')) + var.put(u'objRef', var.get(u't').callprop(u'memberExpression', var.get(u'propRef'), var.get(u'prop').get(u'key'), var.get(u'prop').get(u'computed'))) + if var.get(u't').callprop(u'isPattern', var.get(u'pattern')): + var.get(u"this").callprop(u'push', var.get(u'pattern'), var.get(u'objRef')) + else: + var.get(u"this").get(u'nodes').callprop(u'push', var.get(u"this").callprop(u'buildVariableAssignment', var.get(u'pattern'), var.get(u'objRef'))) + PyJs_pushObjectProperty_932_._set_name(u'pushObjectProperty') + var.get(u'DestructuringTransformer').get(u'prototype').put(u'pushObjectProperty', PyJs_pushObjectProperty_932_) + @Js + def PyJs_pushObjectPattern_933_(pattern, objRef, this, arguments, var=var): + var = Scope({u'objRef':objRef, u'pattern':pattern, u'pushObjectPattern':PyJs_pushObjectPattern_933_, u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'pattern', u'objRef', u'temp', u'prop']) + if var.get(u'pattern').get(u'properties').get(u'length').neg(): + var.get(u"this").get(u'nodes').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'callExpression', var.get(u"this").get(u'file').callprop(u'addHelper', Js(u'objectDestructuringEmpty')), Js([var.get(u'objRef')])))) + if ((var.get(u'pattern').get(u'properties').get(u'length')>Js(1.0)) and var.get(u"this").get(u'scope').callprop(u'isStatic', var.get(u'objRef')).neg()): + var.put(u'temp', var.get(u"this").get(u'scope').callprop(u'generateUidIdentifierBasedOnNode', var.get(u'objRef'))) + var.get(u"this").get(u'nodes').callprop(u'push', var.get(u"this").callprop(u'buildVariableDeclaration', var.get(u'temp'), var.get(u'objRef'))) + var.put(u'objRef', var.get(u'temp')) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')var.get(u'arr').get(u'elements').get(u'length')): + return var.get('undefined') + if ((var.get(u'pattern').get(u'elements').get(u'length')=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref4', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref4', var.get(u'_i3').get(u'value')) + var.put(u'elem', var.get(u'_ref4')) + if var.get(u'elem').neg(): + return Js(False) + if var.get(u't').callprop(u'isMemberExpression', var.get(u'elem')): + return Js(False) + + #for JS loop + var.put(u'_iterator4', var.get(u'arr').get(u'elements')) + var.put(u'_isArray4', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator4'))) + var.put(u'_i4', Js(0.0)) + var.put(u'_iterator4', (var.get(u'_iterator4') if var.get(u'_isArray4') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator4')))) + while 1: + pass + if var.get(u'_isArray4'): + if (var.get(u'_i4')>=var.get(u'_iterator4').get(u'length')): + break + var.put(u'_ref5', var.get(u'_iterator4').get((var.put(u'_i4',Js(var.get(u'_i4').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i4', var.get(u'_iterator4').callprop(u'next')) + if var.get(u'_i4').get(u'done'): + break + var.put(u'_ref5', var.get(u'_i4').get(u'value')) + var.put(u'_elem', var.get(u'_ref5')) + if var.get(u't').callprop(u'isSpreadElement', var.get(u'_elem')): + return Js(False) + if var.get(u't').callprop(u'isCallExpression', var.get(u'_elem')): + return Js(False) + if var.get(u't').callprop(u'isMemberExpression', var.get(u'_elem')): + return Js(False) + + var.put(u'bindings', var.get(u't').callprop(u'getBindingIdentifiers', var.get(u'pattern'))) + PyJs_Object_935_ = Js({u'deopt':Js(False),u'bindings':var.get(u'bindings')}) + var.put(u'state', PyJs_Object_935_) + var.get(u"this").get(u'scope').callprop(u'traverse', var.get(u'arr'), var.get(u'arrayUnpackVisitor'), var.get(u'state')) + return var.get(u'state').get(u'deopt').neg() + PyJs_canUnpackArrayPattern_934_._set_name(u'canUnpackArrayPattern') + var.get(u'DestructuringTransformer').get(u'prototype').put(u'canUnpackArrayPattern', PyJs_canUnpackArrayPattern_934_) + @Js + def PyJs_pushUnpackedArrayPattern_936_(pattern, arr, this, arguments, var=var): + var = Scope({u'this':this, u'pattern':pattern, u'arr':arr, u'arguments':arguments, u'pushUnpackedArrayPattern':PyJs_pushUnpackedArrayPattern_936_}, var) + var.registers([u'i', u'pattern', u'arr', u'elem']) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(0.0)): + var.put(u'elemRef', var.get(u't').callprop(u'callExpression', var.get(u't').callprop(u'memberExpression', var.get(u'elemRef'), var.get(u't').callprop(u'identifier', Js(u'slice'))), Js([var.get(u't').callprop(u'numericLiteral', var.get(u'i'))]))) + var.put(u'elem', var.get(u'elem').get(u'argument')) + else: + var.put(u'elemRef', var.get(u't').callprop(u'memberExpression', var.get(u'arrayRef'), var.get(u't').callprop(u'numericLiteral', var.get(u'i')), var.get(u'true'))) + var.get(u"this").callprop(u'push', var.get(u'elem'), var.get(u'elemRef')) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + PyJs_pushArrayPattern_937_._set_name(u'pushArrayPattern') + var.get(u'DestructuringTransformer').get(u'prototype').put(u'pushArrayPattern', PyJs_pushArrayPattern_937_) + @Js + def PyJs_init_938_(pattern, ref, this, arguments, var=var): + var = Scope({u'this':this, u'pattern':pattern, u'init':PyJs_init_938_, u'ref':ref, u'arguments':arguments}, var) + var.registers([u'pattern', u'memo', u'ref']) + if (var.get(u't').callprop(u'isArrayExpression', var.get(u'ref')).neg() and var.get(u't').callprop(u'isMemberExpression', var.get(u'ref')).neg()): + var.put(u'memo', var.get(u"this").get(u'scope').callprop(u'maybeGenerateMemoised', var.get(u'ref'), var.get(u'true'))) + if var.get(u'memo'): + var.get(u"this").get(u'nodes').callprop(u'push', var.get(u"this").callprop(u'buildVariableDeclaration', var.get(u'memo'), var.get(u'ref'))) + var.put(u'ref', var.get(u'memo')) + var.get(u"this").callprop(u'push', var.get(u'pattern'), var.get(u'ref')) + return var.get(u"this").get(u'nodes') + PyJs_init_938_._set_name(u'init') + var.get(u'DestructuringTransformer').get(u'prototype').put(u'init', PyJs_init_938_) + return var.get(u'DestructuringTransformer') + PyJs_anonymous_924_._set_name(u'anonymous') + var.put(u'DestructuringTransformer', PyJs_anonymous_924_()) + @Js + def PyJs_ExportNamedDeclaration_941_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'ExportNamedDeclaration':PyJs_ExportNamedDeclaration_941_}, var) + var.registers([u'id', u'specifiers', u'path', u'name', u'declaration']) + var.put(u'declaration', var.get(u'path').callprop(u'get', Js(u'declaration'))) + if var.get(u'declaration').callprop(u'isVariableDeclaration').neg(): + return var.get('undefined') + if var.get(u'variableDeclarationHasPattern')(var.get(u'declaration').get(u'node')).neg(): + return var.get('undefined') + var.put(u'specifiers', Js([])) + for PyJsTemp in var.get(u'path').callprop(u'getOuterBindingIdentifiers', var.get(u'path')): + var.put(u'name', PyJsTemp) + var.put(u'id', var.get(u't').callprop(u'identifier', var.get(u'name'))) + var.get(u'specifiers').callprop(u'push', var.get(u't').callprop(u'exportSpecifier', var.get(u'id'), var.get(u'id'))) + var.get(u'path').callprop(u'replaceWith', var.get(u'declaration').get(u'node')) + var.get(u'path').callprop(u'insertAfter', var.get(u't').callprop(u'exportNamedDeclaration', var.get(u"null"), var.get(u'specifiers'))) + PyJs_ExportNamedDeclaration_941_._set_name(u'ExportNamedDeclaration') + @Js + def PyJs_ForXStatement_942_(path, file, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'file':file, u'ForXStatement':PyJs_ForXStatement_942_}, var) + var.registers([u'node', u'destructuring', u'file', u'temp', u'pattern', u'key', u'path', u'scope', u'nodes', u'block', u'left']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'scope', var.get(u'path').get(u'scope')) + var.put(u'left', var.get(u'node').get(u'left')) + if var.get(u't').callprop(u'isPattern', var.get(u'left')): + var.put(u'temp', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'ref'))) + var.get(u'node').put(u'left', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'temp'))]))) + var.get(u'path').callprop(u'ensureBlock') + var.get(u'node').get(u'body').get(u'body').callprop(u'unshift', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'left'), var.get(u'temp'))]))) + return var.get('undefined') + if var.get(u't').callprop(u'isVariableDeclaration', var.get(u'left')).neg(): + return var.get('undefined') + var.put(u'pattern', var.get(u'left').get(u'declarations').get(u'0').get(u'id')) + if var.get(u't').callprop(u'isPattern', var.get(u'pattern')).neg(): + return var.get('undefined') + var.put(u'key', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'ref'))) + var.get(u'node').put(u'left', var.get(u't').callprop(u'variableDeclaration', var.get(u'left').get(u'kind'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'key'), var.get(u"null"))]))) + var.put(u'nodes', Js([])) + PyJs_Object_943_ = Js({u'kind':var.get(u'left').get(u'kind'),u'file':var.get(u'file'),u'scope':var.get(u'scope'),u'nodes':var.get(u'nodes')}) + var.put(u'destructuring', var.get(u'DestructuringTransformer').create(PyJs_Object_943_)) + var.get(u'destructuring').callprop(u'init', var.get(u'pattern'), var.get(u'key')) + var.get(u'path').callprop(u'ensureBlock') + var.put(u'block', var.get(u'node').get(u'body')) + var.get(u'block').put(u'body', var.get(u'nodes').callprop(u'concat', var.get(u'block').get(u'body'))) + PyJs_ForXStatement_942_._set_name(u'ForXStatement') + @Js + def PyJs_CatchClause_944_(_ref6, file, this, arguments, var=var): + var = Scope({u'this':this, u'_ref6':_ref6, u'arguments':arguments, u'file':file, u'CatchClause':PyJs_CatchClause_944_}, var) + var.registers([u'node', u'destructuring', u'pattern', u'file', u'_ref6', u'scope', u'nodes', u'ref']) + var.put(u'node', var.get(u'_ref6').get(u'node')) + var.put(u'scope', var.get(u'_ref6').get(u'scope')) + var.put(u'pattern', var.get(u'node').get(u'param')) + if var.get(u't').callprop(u'isPattern', var.get(u'pattern')).neg(): + return var.get('undefined') + var.put(u'ref', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'ref'))) + var.get(u'node').put(u'param', var.get(u'ref')) + var.put(u'nodes', Js([])) + PyJs_Object_945_ = Js({u'kind':Js(u'let'),u'file':var.get(u'file'),u'scope':var.get(u'scope'),u'nodes':var.get(u'nodes')}) + var.put(u'destructuring', var.get(u'DestructuringTransformer').create(PyJs_Object_945_)) + var.get(u'destructuring').callprop(u'init', var.get(u'pattern'), var.get(u'ref')) + var.get(u'node').get(u'body').put(u'body', var.get(u'nodes').callprop(u'concat', var.get(u'node').get(u'body').get(u'body'))) + PyJs_CatchClause_944_._set_name(u'CatchClause') + @Js + def PyJs_AssignmentExpression_946_(path, file, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'file':file, u'AssignmentExpression':PyJs_AssignmentExpression_946_}, var) + var.registers([u'node', u'destructuring', u'file', u'path', u'scope', u'nodes', u'ref']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'scope', var.get(u'path').get(u'scope')) + if var.get(u't').callprop(u'isPattern', var.get(u'node').get(u'left')).neg(): + return var.get('undefined') + var.put(u'nodes', Js([])) + PyJs_Object_947_ = Js({u'operator':var.get(u'node').get(u'operator'),u'file':var.get(u'file'),u'scope':var.get(u'scope'),u'nodes':var.get(u'nodes')}) + var.put(u'destructuring', var.get(u'DestructuringTransformer').create(PyJs_Object_947_)) + var.put(u'ref', PyJsComma(Js(0.0), Js(None))) + if (var.get(u'path').callprop(u'isCompletionRecord') or var.get(u'path').get(u'parentPath').callprop(u'isExpressionStatement').neg()): + var.put(u'ref', var.get(u'scope').callprop(u'generateUidIdentifierBasedOnNode', var.get(u'node').get(u'right'), Js(u'ref'))) + var.get(u'nodes').callprop(u'push', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'ref'), var.get(u'node').get(u'right'))]))) + if var.get(u't').callprop(u'isArrayExpression', var.get(u'node').get(u'right')): + var.get(u'destructuring').get(u'arrays').put(var.get(u'ref').get(u'name'), var.get(u'true')) + var.get(u'destructuring').callprop(u'init', var.get(u'node').get(u'left'), (var.get(u'ref') or var.get(u'node').get(u'right'))) + if var.get(u'ref'): + var.get(u'nodes').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u'ref'))) + var.get(u'path').callprop(u'replaceWithMultiple', var.get(u'nodes')) + PyJs_AssignmentExpression_946_._set_name(u'AssignmentExpression') + @Js + def PyJs_VariableDeclaration_948_(path, file, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'file':file, u'VariableDeclaration':PyJs_VariableDeclaration_948_}, var) + var.registers([u'node', u'_isArray5', u'patternId', u'_ref7', u'parent', u'i', u'pattern', u'_i5', u'tail', u'_iterator5', u'_node', u'declar', u'nodesOut', u'file', u'path', u'destructuring', u'scope', u'nodes', u'_tail$declarations']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'scope', var.get(u'path').get(u'scope')) + var.put(u'parent', var.get(u'path').get(u'parent')) + if var.get(u't').callprop(u'isForXStatement', var.get(u'parent')): + return var.get('undefined') + if (var.get(u'parent').neg() or var.get(u'path').get(u'container').neg()): + return var.get('undefined') + if var.get(u'variableDeclarationHasPattern')(var.get(u'node')).neg(): + return var.get('undefined') + var.put(u'nodes', Js([])) + var.put(u'declar', PyJsComma(Js(0.0), Js(None))) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=var.get(u'_iterator5').get(u'length')): + break + var.put(u'_ref7', var.get(u'_iterator5').get((var.put(u'_i5',Js(var.get(u'_i5').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i5', var.get(u'_iterator5').callprop(u'next')) + if var.get(u'_i5').get(u'done'): + break + var.put(u'_ref7', var.get(u'_i5').get(u'value')) + var.put(u'_node', var.get(u'_ref7')) + var.put(u'tail', var.get(u'nodesOut').get((var.get(u'nodesOut').get(u'length')-Js(1.0)))) + if (((var.get(u'tail') and var.get(u't').callprop(u'isVariableDeclaration', var.get(u'tail'))) and var.get(u't').callprop(u'isVariableDeclaration', var.get(u'_node'))) and PyJsStrictEq(var.get(u'tail').get(u'kind'),var.get(u'_node').get(u'kind'))): + pass + var.put(u'_tail$declarations', var.get(u'tail').get(u'declarations')).get(u'push').callprop(u'apply', var.get(u'_tail$declarations'), var.get(u'_node').get(u'declarations')) + else: + var.get(u'nodesOut').callprop(u'push', var.get(u'_node')) + + if PyJsStrictEq(var.get(u'nodesOut').get(u'length'),Js(1.0)): + var.get(u'path').callprop(u'replaceWith', var.get(u'nodesOut').get(u'0')) + else: + var.get(u'path').callprop(u'replaceWithMultiple', var.get(u'nodesOut')) + PyJs_VariableDeclaration_948_._set_name(u'VariableDeclaration') + PyJs_Object_940_ = Js({u'ExportNamedDeclaration':PyJs_ExportNamedDeclaration_941_,u'ForXStatement':PyJs_ForXStatement_942_,u'CatchClause':PyJs_CatchClause_944_,u'AssignmentExpression':PyJs_AssignmentExpression_946_,u'VariableDeclaration':PyJs_VariableDeclaration_948_}) + PyJs_Object_939_ = Js({u'visitor':PyJs_Object_940_}) + return PyJs_Object_939_ + PyJs_anonymous_921_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_921_) + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_920_._set_name(u'anonymous') +PyJs_Object_951_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/helpers/classCallCheck':Js(110.0)}) +@Js +def PyJs_anonymous_952_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_create', u'exports', u'_interopRequireWildcard', u'getName', u'_babelTypes', u'module', u'_create2', u't', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'require']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_959_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_959_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_getName_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'key']) + if var.get(u't').callprop(u'isIdentifier', var.get(u'key')): + return var.get(u'key').get(u'name') + return var.get(u'key').get(u'value').callprop(u'toString') + PyJsHoisted_getName_.func_name = u'getName' + var.put(u'getName', PyJsHoisted_getName_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_958_ = Js({}) + var.put(u'newObj', PyJs_Object_958_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_create', var.get(u'require')(Js(u'babel-runtime/core-js/object/create'))) + var.put(u'_create2', var.get(u'_interopRequireDefault')(var.get(u'_create'))) + @Js + def PyJs_anonymous_953_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_ObjectExpression_956_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'ObjectExpression':PyJs_ObjectExpression_956_, u'arguments':arguments}, var) + var.registers([u'node', u'alreadySeenGetters', u'_isArray', u'plainProps', u'name', u'alreadySeenSetters', u'alreadySeenData', u'prop', u'_i', u'path', u'isDuplicate', u'_iterator', u'_ref']) + var.put(u'node', var.get(u'path').get(u'node')) + @Js + def PyJs_anonymous_957_(prop, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'prop':prop}, var) + var.registers([u'prop']) + return (var.get(u't').callprop(u'isSpreadProperty', var.get(u'prop')).neg() and var.get(u'prop').get(u'computed').neg()) + PyJs_anonymous_957_._set_name(u'anonymous') + var.put(u'plainProps', var.get(u'node').get(u'properties').callprop(u'filter', PyJs_anonymous_957_)) + var.put(u'alreadySeenData', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.put(u'alreadySeenGetters', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.put(u'alreadySeenSetters', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + #for JS loop + var.put(u'_iterator', var.get(u'plainProps')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'prop', var.get(u'_ref')) + var.put(u'name', var.get(u'getName')(var.get(u'prop').get(u'key'))) + var.put(u'isDuplicate', Js(False)) + while 1: + SWITCHED = False + CONDITION = (var.get(u'prop').get(u'kind')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'get')): + SWITCHED = True + if (var.get(u'alreadySeenData').get(var.get(u'name')) or var.get(u'alreadySeenGetters').get(var.get(u'name'))): + var.put(u'isDuplicate', var.get(u'true')) + var.get(u'alreadySeenGetters').put(var.get(u'name'), var.get(u'true')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'set')): + SWITCHED = True + if (var.get(u'alreadySeenData').get(var.get(u'name')) or var.get(u'alreadySeenSetters').get(var.get(u'name'))): + var.put(u'isDuplicate', var.get(u'true')) + var.get(u'alreadySeenSetters').put(var.get(u'name'), var.get(u'true')) + break + if True: + SWITCHED = True + if ((var.get(u'alreadySeenData').get(var.get(u'name')) or var.get(u'alreadySeenGetters').get(var.get(u'name'))) or var.get(u'alreadySeenSetters').get(var.get(u'name'))): + var.put(u'isDuplicate', var.get(u'true')) + var.get(u'alreadySeenData').put(var.get(u'name'), var.get(u'true')) + SWITCHED = True + break + if var.get(u'isDuplicate'): + var.get(u'prop').put(u'computed', var.get(u'true')) + var.get(u'prop').put(u'key', var.get(u't').callprop(u'stringLiteral', var.get(u'name'))) + + PyJs_ObjectExpression_956_._set_name(u'ObjectExpression') + PyJs_Object_955_ = Js({u'ObjectExpression':PyJs_ObjectExpression_956_}) + PyJs_Object_954_ = Js({u'visitor':PyJs_Object_955_}) + return PyJs_Object_954_ + PyJs_anonymous_953_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_953_) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_952_._set_name(u'anonymous') +PyJs_Object_960_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/core-js/object/create':Js(101.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_961_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_962_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'loose', u'messages', u'_ForOfStatementArray', u'buildForOfArray', u'buildForOfLoose', u't', u'template', u'_ref', u'buildForOf', u'spec']) + @Js + def PyJsHoisted_loose_(path, file, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'file':file}, var) + var.registers([u'node', u'iteratorKey', u'isArrayKey', u'declar', u'file', u'path', u'scope', u'id', u'loop', u'left']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'scope', var.get(u'path').get(u'scope')) + var.put(u'left', var.get(u'node').get(u'left')) + var.put(u'declar', PyJsComma(Js(0.0), Js(None))) + var.put(u'id', PyJsComma(Js(0.0), Js(None))) + if ((var.get(u't').callprop(u'isIdentifier', var.get(u'left')) or var.get(u't').callprop(u'isPattern', var.get(u'left'))) or var.get(u't').callprop(u'isMemberExpression', var.get(u'left'))): + var.put(u'id', var.get(u'left')) + else: + if var.get(u't').callprop(u'isVariableDeclaration', var.get(u'left')): + var.put(u'id', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'ref'))) + var.put(u'declar', var.get(u't').callprop(u'variableDeclaration', var.get(u'left').get(u'kind'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'left').get(u'declarations').get(u'0').get(u'id'), var.get(u'id'))]))) + else: + PyJsTempException = JsToPyException(var.get(u'file').callprop(u'buildCodeFrameError', var.get(u'left'), var.get(u'messages').callprop(u'get', Js(u'unknownForHead'), var.get(u'left').get(u'type')))) + raise PyJsTempException + var.put(u'iteratorKey', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'iterator'))) + var.put(u'isArrayKey', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'isArray'))) + PyJs_Object_969_ = Js({u'LOOP_OBJECT':var.get(u'iteratorKey'),u'IS_ARRAY':var.get(u'isArrayKey'),u'OBJECT':var.get(u'node').get(u'right'),u'INDEX':var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'i')),u'ID':var.get(u'id')}) + var.put(u'loop', var.get(u'buildForOfLoose')(PyJs_Object_969_)) + if var.get(u'declar').neg(): + var.get(u'loop').get(u'body').get(u'body').callprop(u'shift') + PyJs_Object_970_ = Js({u'declar':var.get(u'declar'),u'node':var.get(u'loop'),u'loop':var.get(u'loop')}) + return PyJs_Object_970_ + PyJsHoisted_loose_.func_name = u'loose' + var.put(u'loose', PyJsHoisted_loose_) + @Js + def PyJsHoisted__ForOfStatementArray_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'node', u'iterationValue', u'right', u'uid', u'iterationKey', u'path', u'scope', u'nodes', u'loop', u'left']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'scope', var.get(u'path').get(u'scope')) + var.put(u'nodes', Js([])) + var.put(u'right', var.get(u'node').get(u'right')) + if (var.get(u't').callprop(u'isIdentifier', var.get(u'right')).neg() or var.get(u'scope').callprop(u'hasBinding', var.get(u'right').get(u'name')).neg()): + var.put(u'uid', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'arr'))) + var.get(u'nodes').callprop(u'push', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'uid'), var.get(u'right'))]))) + var.put(u'right', var.get(u'uid')) + var.put(u'iterationKey', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'i'))) + PyJs_Object_965_ = Js({u'BODY':var.get(u'node').get(u'body'),u'KEY':var.get(u'iterationKey'),u'ARR':var.get(u'right')}) + var.put(u'loop', var.get(u'buildForOfArray')(PyJs_Object_965_)) + var.get(u't').callprop(u'inherits', var.get(u'loop'), var.get(u'node')) + var.get(u't').callprop(u'ensureBlock', var.get(u'loop')) + var.put(u'iterationValue', var.get(u't').callprop(u'memberExpression', var.get(u'right'), var.get(u'iterationKey'), var.get(u'true'))) + var.put(u'left', var.get(u'node').get(u'left')) + if var.get(u't').callprop(u'isVariableDeclaration', var.get(u'left')): + var.get(u'left').get(u'declarations').get(u'0').put(u'init', var.get(u'iterationValue')) + var.get(u'loop').get(u'body').get(u'body').callprop(u'unshift', var.get(u'left')) + else: + var.get(u'loop').get(u'body').get(u'body').callprop(u'unshift', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'left'), var.get(u'iterationValue')))) + if var.get(u'path').get(u'parentPath').callprop(u'isLabeledStatement'): + var.put(u'loop', var.get(u't').callprop(u'labeledStatement', var.get(u'path').get(u'parentPath').get(u'node').get(u'label'), var.get(u'loop'))) + var.get(u'nodes').callprop(u'push', var.get(u'loop')) + return var.get(u'nodes') + PyJsHoisted__ForOfStatementArray_.func_name = u'_ForOfStatementArray' + var.put(u'_ForOfStatementArray', PyJsHoisted__ForOfStatementArray_) + @Js + def PyJsHoisted_spec_(path, file, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'file':file}, var) + var.registers([u'node', u'stepValue', u'isLabeledParent', u'stepKey', u'file', u'parent', u'tryBody', u'declar', u'template', u'path', u'scope', u'iteratorKey', u'loop', u'left']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'scope', var.get(u'path').get(u'scope')) + var.put(u'parent', var.get(u'path').get(u'parent')) + var.put(u'left', var.get(u'node').get(u'left')) + var.put(u'declar', PyJsComma(Js(0.0), Js(None))) + var.put(u'stepKey', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'step'))) + var.put(u'stepValue', var.get(u't').callprop(u'memberExpression', var.get(u'stepKey'), var.get(u't').callprop(u'identifier', Js(u'value')))) + if ((var.get(u't').callprop(u'isIdentifier', var.get(u'left')) or var.get(u't').callprop(u'isPattern', var.get(u'left'))) or var.get(u't').callprop(u'isMemberExpression', var.get(u'left'))): + var.put(u'declar', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'left'), var.get(u'stepValue')))) + else: + if var.get(u't').callprop(u'isVariableDeclaration', var.get(u'left')): + var.put(u'declar', var.get(u't').callprop(u'variableDeclaration', var.get(u'left').get(u'kind'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'left').get(u'declarations').get(u'0').get(u'id'), var.get(u'stepValue'))]))) + else: + PyJsTempException = JsToPyException(var.get(u'file').callprop(u'buildCodeFrameError', var.get(u'left'), var.get(u'messages').callprop(u'get', Js(u'unknownForHead'), var.get(u'left').get(u'type')))) + raise PyJsTempException + var.put(u'iteratorKey', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'iterator'))) + PyJs_Object_971_ = Js({u'ITERATOR_HAD_ERROR_KEY':var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'didIteratorError')),u'ITERATOR_COMPLETION':var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'iteratorNormalCompletion')),u'ITERATOR_ERROR_KEY':var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'iteratorError')),u'ITERATOR_KEY':var.get(u'iteratorKey'),u'STEP_KEY':var.get(u'stepKey'),u'OBJECT':var.get(u'node').get(u'right'),u'BODY':var.get(u"null")}) + var.put(u'template', var.get(u'buildForOf')(PyJs_Object_971_)) + var.put(u'isLabeledParent', var.get(u't').callprop(u'isLabeledStatement', var.get(u'parent'))) + var.put(u'tryBody', var.get(u'template').get(u'3').get(u'block').get(u'body')) + var.put(u'loop', var.get(u'tryBody').get(u'0')) + if var.get(u'isLabeledParent'): + var.get(u'tryBody').put(u'0', var.get(u't').callprop(u'labeledStatement', var.get(u'parent').get(u'label'), var.get(u'loop'))) + PyJs_Object_972_ = Js({u'replaceParent':var.get(u'isLabeledParent'),u'declar':var.get(u'declar'),u'loop':var.get(u'loop'),u'node':var.get(u'template')}) + return PyJs_Object_972_ + PyJsHoisted_spec_.func_name = u'spec' + var.put(u'spec', PyJsHoisted_spec_) + var.put(u'messages', var.get(u'_ref').get(u'messages')) + var.put(u'template', var.get(u'_ref').get(u'template')) + var.put(u't', var.get(u'_ref').get(u'types')) + var.put(u'buildForOfArray', var.get(u'template')(Js(u'\n for (var KEY = 0; KEY < ARR.length; KEY++) BODY;\n '))) + def PyJs_LONG_963_(var=var): + return var.get(u'template')(Js(u'\n for (var LOOP_OBJECT = OBJECT,\n IS_ARRAY = Array.isArray(LOOP_OBJECT),\n INDEX = 0,\n LOOP_OBJECT = IS_ARRAY ? LOOP_OBJECT : LOOP_OBJECT[Symbol.iterator]();;) {\n var ID;\n if (IS_ARRAY) {\n if (INDEX >= LOOP_OBJECT.length) break;\n ID = LOOP_OBJECT[INDEX++];\n } else {\n INDEX = LOOP_OBJECT.next();\n if (INDEX.done) break;\n ID = INDEX.value;\n }\n }\n ')) + var.put(u'buildForOfLoose', PyJs_LONG_963_()) + def PyJs_LONG_964_(var=var): + return var.get(u'template')(Js(u'\n var ITERATOR_COMPLETION = true;\n var ITERATOR_HAD_ERROR_KEY = false;\n var ITERATOR_ERROR_KEY = undefined;\n try {\n for (var ITERATOR_KEY = OBJECT[Symbol.iterator](), STEP_KEY; !(ITERATOR_COMPLETION = (STEP_KEY = ITERATOR_KEY.next()).done); ITERATOR_COMPLETION = true) {\n }\n } catch (err) {\n ITERATOR_HAD_ERROR_KEY = true;\n ITERATOR_ERROR_KEY = err;\n } finally {\n try {\n if (!ITERATOR_COMPLETION && ITERATOR_KEY.return) {\n ITERATOR_KEY.return();\n }\n } finally {\n if (ITERATOR_HAD_ERROR_KEY) {\n throw ITERATOR_ERROR_KEY;\n }\n }\n }\n ')) + var.put(u'buildForOf', PyJs_LONG_964_()) + pass + @Js + def PyJs_ForOfStatement_968_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'ForOfStatement':PyJs_ForOfStatement_968_}, var) + var.registers([u'node', u'callback', u'state', u'declar', u'build', u'loop', u'path', u'block']) + if var.get(u'path').callprop(u'get', Js(u'right')).callprop(u'isArrayExpression'): + if var.get(u'path').get(u'parentPath').callprop(u'isLabeledStatement'): + return var.get(u'path').get(u'parentPath').callprop(u'replaceWithMultiple', var.get(u'_ForOfStatementArray')(var.get(u'path'))) + else: + return var.get(u'path').callprop(u'replaceWithMultiple', var.get(u'_ForOfStatementArray')(var.get(u'path'))) + var.put(u'callback', var.get(u'spec')) + if var.get(u'state').get(u'opts').get(u'loose'): + var.put(u'callback', var.get(u'loose')) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'build', var.get(u'callback')(var.get(u'path'), var.get(u'state'))) + var.put(u'declar', var.get(u'build').get(u'declar')) + var.put(u'loop', var.get(u'build').get(u'loop')) + var.put(u'block', var.get(u'loop').get(u'body')) + var.get(u'path').callprop(u'ensureBlock') + if var.get(u'declar'): + var.get(u'block').get(u'body').callprop(u'push', var.get(u'declar')) + var.get(u'block').put(u'body', var.get(u'block').get(u'body').callprop(u'concat', var.get(u'node').get(u'body').get(u'body'))) + var.get(u't').callprop(u'inherits', var.get(u'loop'), var.get(u'node')) + var.get(u't').callprop(u'inherits', var.get(u'loop').get(u'body'), var.get(u'node').get(u'body')) + if var.get(u'build').get(u'replaceParent'): + var.get(u'path').get(u'parentPath').callprop(u'replaceWithMultiple', var.get(u'build').get(u'node')) + var.get(u'path').callprop(u'remove') + else: + var.get(u'path').callprop(u'replaceWithMultiple', var.get(u'build').get(u'node')) + PyJs_ForOfStatement_968_._set_name(u'ForOfStatement') + PyJs_Object_967_ = Js({u'ForOfStatement':PyJs_ForOfStatement_968_}) + PyJs_Object_966_ = Js({u'visitor':PyJs_Object_967_}) + return PyJs_Object_966_ + pass + pass + PyJs_anonymous_962_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_962_) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_961_._set_name(u'anonymous') +PyJs_Object_973_ = Js({}) +@Js +def PyJs_anonymous_974_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'_babelHelperFunctionName', u'module', u'_babelHelperFunctionName2', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_981_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_981_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_975_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_exit_979_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'exit':PyJs_exit_979_, u'arguments':arguments}, var) + var.registers([u'path', u'replacement']) + if (PyJsStrictNeq(var.get(u'path').get(u'key'),Js(u'value')) and var.get(u'path').get(u'parentPath').callprop(u'isObjectProperty').neg()): + var.put(u'replacement', PyJsComma(Js(0.0),var.get(u'_babelHelperFunctionName2').get(u'default'))(var.get(u'path'))) + if var.get(u'replacement'): + var.get(u'path').callprop(u'replaceWith', var.get(u'replacement')) + PyJs_exit_979_._set_name(u'exit') + PyJs_Object_978_ = Js({u'exit':PyJs_exit_979_}) + @Js + def PyJs_ObjectProperty_980_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'ObjectProperty':PyJs_ObjectProperty_980_, u'arguments':arguments}, var) + var.registers([u'newNode', u'value', u'path']) + var.put(u'value', var.get(u'path').callprop(u'get', Js(u'value'))) + if var.get(u'value').callprop(u'isFunction'): + var.put(u'newNode', PyJsComma(Js(0.0),var.get(u'_babelHelperFunctionName2').get(u'default'))(var.get(u'value'))) + if var.get(u'newNode'): + var.get(u'value').callprop(u'replaceWith', var.get(u'newNode')) + PyJs_ObjectProperty_980_._set_name(u'ObjectProperty') + PyJs_Object_977_ = Js({u'ArrowFunctionExpression|FunctionExpression':PyJs_Object_978_,u'ObjectProperty':PyJs_ObjectProperty_980_}) + PyJs_Object_976_ = Js({u'visitor':PyJs_Object_977_}) + return PyJs_Object_976_ + PyJs_anonymous_975_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_975_) + var.put(u'_babelHelperFunctionName', var.get(u'require')(Js(u'babel-helper-function-name'))) + var.put(u'_babelHelperFunctionName2', var.get(u'_interopRequireDefault')(var.get(u'_babelHelperFunctionName'))) + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_974_._set_name(u'anonymous') +PyJs_Object_982_ = Js({u'babel-helper-function-name':Js(49.0)}) +@Js +def PyJs_anonymous_983_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_984_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_NumericLiteral_987_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'NumericLiteral':PyJs_NumericLiteral_987_, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'node', u'_ref']) + var.put(u'node', var.get(u'_ref').get(u'node')) + if (var.get(u'node').get(u'extra') and JsRegExp(u'/^0[ob]/i').callprop(u'test', var.get(u'node').get(u'extra').get(u'raw'))): + var.get(u'node').put(u'extra', var.get(u'undefined')) + PyJs_NumericLiteral_987_._set_name(u'NumericLiteral') + @Js + def PyJs_StringLiteral_988_(_ref2, this, arguments, var=var): + var = Scope({u'this':this, u'StringLiteral':PyJs_StringLiteral_988_, u'_ref2':_ref2, u'arguments':arguments}, var) + var.registers([u'node', u'_ref2']) + var.put(u'node', var.get(u'_ref2').get(u'node')) + if (var.get(u'node').get(u'extra') and JsRegExp(u'/\\\\[u]/gi').callprop(u'test', var.get(u'node').get(u'extra').get(u'raw'))): + var.get(u'node').put(u'extra', var.get(u'undefined')) + PyJs_StringLiteral_988_._set_name(u'StringLiteral') + PyJs_Object_986_ = Js({u'NumericLiteral':PyJs_NumericLiteral_987_,u'StringLiteral':PyJs_StringLiteral_988_}) + PyJs_Object_985_ = Js({u'visitor':PyJs_Object_986_}) + return PyJs_Object_985_ + PyJs_anonymous_984_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_984_) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_983_._set_name(u'anonymous') +PyJs_Object_989_ = Js({}) +@Js +def PyJs_anonymous_990_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_create', u'buildDefine', u'exports', u'require', u'_babelTemplate', u'module', u'_create2', u'_babelTemplate2', u'buildFactory', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1007_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1007_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_create', var.get(u'require')(Js(u'babel-runtime/core-js/object/create'))) + var.put(u'_create2', var.get(u'_interopRequireDefault')(var.get(u'_create'))) + @Js + def PyJs_anonymous_991_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'isValidRequireCall', u'amdVisitor', u'_ref', u't']) + @Js + def PyJsHoisted_isValidRequireCall_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path', u'args', u'arg']) + if var.get(u'path').callprop(u'isCallExpression').neg(): + return Js(False) + PyJs_Object_992_ = Js({u'name':Js(u'require')}) + if var.get(u'path').callprop(u'get', Js(u'callee')).callprop(u'isIdentifier', PyJs_Object_992_).neg(): + return Js(False) + if var.get(u'path').get(u'scope').callprop(u'getBinding', Js(u'require')): + return Js(False) + var.put(u'args', var.get(u'path').callprop(u'get', Js(u'arguments'))) + if PyJsStrictNeq(var.get(u'args').get(u'length'),Js(1.0)): + return Js(False) + var.put(u'arg', var.get(u'args').get(u'0')) + if var.get(u'arg').callprop(u'isStringLiteral').neg(): + return Js(False) + return var.get(u'true') + PyJsHoisted_isValidRequireCall_.func_name = u'isValidRequireCall' + var.put(u'isValidRequireCall', PyJsHoisted_isValidRequireCall_) + var.put(u't', var.get(u'_ref').get(u'types')) + pass + @Js + def PyJs_ReferencedIdentifier_994_(_ref2, this, arguments, var=var): + var = Scope({u'this':this, u'ReferencedIdentifier':PyJs_ReferencedIdentifier_994_, u'_ref2':_ref2, u'arguments':arguments}, var) + var.registers([u'node', u'scope', u'_ref2']) + var.put(u'node', var.get(u'_ref2').get(u'node')) + var.put(u'scope', var.get(u'_ref2').get(u'scope')) + if (PyJsStrictEq(var.get(u'node').get(u'name'),Js(u'exports')) and var.get(u'scope').callprop(u'getBinding', Js(u'exports')).neg()): + var.get(u"this").put(u'hasExports', var.get(u'true')) + if (PyJsStrictEq(var.get(u'node').get(u'name'),Js(u'module')) and var.get(u'scope').callprop(u'getBinding', Js(u'module')).neg()): + var.get(u"this").put(u'hasModule', var.get(u'true')) + PyJs_ReferencedIdentifier_994_._set_name(u'ReferencedIdentifier') + @Js + def PyJs_CallExpression_995_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'CallExpression':PyJs_CallExpression_995_}, var) + var.registers([u'path']) + if var.get(u'isValidRequireCall')(var.get(u'path')).neg(): + return var.get('undefined') + var.get(u"this").get(u'bareSources').callprop(u'push', var.get(u'path').get(u'node').get(u'arguments').get(u'0')) + var.get(u'path').callprop(u'remove') + PyJs_CallExpression_995_._set_name(u'CallExpression') + @Js + def PyJs_VariableDeclarator_996_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'VariableDeclarator':PyJs_VariableDeclarator_996_}, var) + var.registers([u'source', u'init', u'id', u'path']) + var.put(u'id', var.get(u'path').callprop(u'get', Js(u'id'))) + if var.get(u'id').callprop(u'isIdentifier').neg(): + return var.get('undefined') + var.put(u'init', var.get(u'path').callprop(u'get', Js(u'init'))) + if var.get(u'isValidRequireCall')(var.get(u'init')).neg(): + return var.get('undefined') + var.put(u'source', var.get(u'init').get(u'node').get(u'arguments').get(u'0')) + var.get(u"this").get(u'sourceNames').put(var.get(u'source').get(u'value'), var.get(u'true')) + var.get(u"this").get(u'sources').callprop(u'push', Js([var.get(u'id').get(u'node'), var.get(u'source')])) + var.get(u'path').callprop(u'remove') + PyJs_VariableDeclarator_996_._set_name(u'VariableDeclarator') + PyJs_Object_993_ = Js({u'ReferencedIdentifier':PyJs_ReferencedIdentifier_994_,u'CallExpression':PyJs_CallExpression_995_,u'VariableDeclarator':PyJs_VariableDeclarator_996_}) + var.put(u'amdVisitor', PyJs_Object_993_) + @Js + def PyJs_pre_998_(this, arguments, var=var): + var = Scope({u'this':this, u'pre':PyJs_pre_998_, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put(u'sources', Js([])) + var.get(u"this").put(u'sourceNames', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.get(u"this").put(u'bareSources', Js([])) + var.get(u"this").put(u'hasExports', Js(False)) + var.get(u"this").put(u'hasModule', Js(False)) + PyJs_pre_998_._set_name(u'pre') + @Js + def PyJs_exit_1001_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'exit':PyJs_exit_1001_, u'arguments':arguments}, var) + var.registers([u'node', u'moduleName', u'_this', u'factory', u'sources', u'params', u'path']) + var.put(u'_this', var.get(u"this")) + if var.get(u"this").get(u'ran'): + return var.get('undefined') + var.get(u"this").put(u'ran', var.get(u'true')) + var.get(u'path').callprop(u'traverse', var.get(u'amdVisitor'), var.get(u"this")) + @Js + def PyJs_anonymous_1002_(source, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'arguments':arguments}, var) + var.registers([u'source']) + return var.get(u'source').get(u'0') + PyJs_anonymous_1002_._set_name(u'anonymous') + var.put(u'params', var.get(u"this").get(u'sources').callprop(u'map', PyJs_anonymous_1002_)) + @Js + def PyJs_anonymous_1003_(source, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'arguments':arguments}, var) + var.registers([u'source']) + return var.get(u'source').get(u'1') + PyJs_anonymous_1003_._set_name(u'anonymous') + var.put(u'sources', var.get(u"this").get(u'sources').callprop(u'map', PyJs_anonymous_1003_)) + @Js + def PyJs_anonymous_1004_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str}, var) + var.registers([u'str']) + return var.get(u'_this').get(u'sourceNames').get(var.get(u'str').get(u'value')).neg() + PyJs_anonymous_1004_._set_name(u'anonymous') + var.put(u'sources', var.get(u'sources').callprop(u'concat', var.get(u"this").get(u'bareSources').callprop(u'filter', PyJs_anonymous_1004_))) + var.put(u'moduleName', var.get(u"this").callprop(u'getModuleName')) + if var.get(u'moduleName'): + var.put(u'moduleName', var.get(u't').callprop(u'stringLiteral', var.get(u'moduleName'))) + if var.get(u"this").get(u'hasExports'): + var.get(u'sources').callprop(u'unshift', var.get(u't').callprop(u'stringLiteral', Js(u'exports'))) + var.get(u'params').callprop(u'unshift', var.get(u't').callprop(u'identifier', Js(u'exports'))) + if var.get(u"this").get(u'hasModule'): + var.get(u'sources').callprop(u'unshift', var.get(u't').callprop(u'stringLiteral', Js(u'module'))) + var.get(u'params').callprop(u'unshift', var.get(u't').callprop(u'identifier', Js(u'module'))) + var.put(u'node', var.get(u'path').get(u'node')) + PyJs_Object_1005_ = Js({u'PARAMS':var.get(u'params'),u'BODY':var.get(u'node').get(u'body')}) + var.put(u'factory', var.get(u'buildFactory')(PyJs_Object_1005_)) + var.get(u'factory').get(u'expression').get(u'body').put(u'directives', var.get(u'node').get(u'directives')) + var.get(u'node').put(u'directives', Js([])) + PyJs_Object_1006_ = Js({u'MODULE_NAME':var.get(u'moduleName'),u'SOURCES':var.get(u'sources'),u'FACTORY':var.get(u'factory')}) + var.get(u'node').put(u'body', Js([var.get(u'buildDefine')(PyJs_Object_1006_)])) + PyJs_exit_1001_._set_name(u'exit') + PyJs_Object_1000_ = Js({u'exit':PyJs_exit_1001_}) + PyJs_Object_999_ = Js({u'Program':PyJs_Object_1000_}) + PyJs_Object_997_ = Js({u'inherits':var.get(u'require')(Js(u'babel-plugin-transform-es2015-modules-commonjs')),u'pre':PyJs_pre_998_,u'visitor':PyJs_Object_999_}) + return PyJs_Object_997_ + PyJs_anonymous_991_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_991_) + var.put(u'_babelTemplate', var.get(u'require')(Js(u'babel-template'))) + var.put(u'_babelTemplate2', var.get(u'_interopRequireDefault')(var.get(u'_babelTemplate'))) + pass + var.put(u'buildDefine', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n define(MODULE_NAME, [SOURCES], FACTORY);\n'))) + var.put(u'buildFactory', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (PARAMS) {\n BODY;\n })\n'))) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_990_._set_name(u'anonymous') +PyJs_Object_1008_ = Js({u'babel-plugin-transform-es2015-modules-commonjs':Js(73.0),u'babel-runtime/core-js/object/create':Js(101.0),u'babel-template':Js(221.0)}) +@Js +def PyJs_anonymous_1009_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_symbol2', u'_babelTemplate', u'module', u'buildLooseExportsModuleDeclaration', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'buildExportAll', u'_create2', u'_keys', u'buildExportsAssignment', u'THIS_BREAK_KEYS', u'_create', u'exports', u'_interopRequireWildcard', u'_babelTypes', u'buildRequire', u'buildExportsModuleDeclaration', u'_symbol', u'_path2', u'buildExportsFrom', u'_keys2', u'_babelTemplate2', u't', u'require']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1028_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1028_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1027_ = Js({}) + var.put(u'newObj', PyJs_Object_1027_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_keys', var.get(u'require')(Js(u'babel-runtime/core-js/object/keys'))) + var.put(u'_keys2', var.get(u'_interopRequireDefault')(var.get(u'_keys'))) + var.put(u'_create', var.get(u'require')(Js(u'babel-runtime/core-js/object/create'))) + var.put(u'_create2', var.get(u'_interopRequireDefault')(var.get(u'_create'))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_symbol', var.get(u'require')(Js(u'babel-runtime/core-js/symbol'))) + var.put(u'_symbol2', var.get(u'_interopRequireDefault')(var.get(u'_symbol'))) + @Js + def PyJs_anonymous_1010_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'reassignmentVisitor', u'REASSIGN_REMAP_SKIP']) + var.put(u'REASSIGN_REMAP_SKIP', PyJsComma(Js(0.0),var.get(u'_symbol2').get(u'default'))()) + @Js + def PyJs_ReferencedIdentifier_1012_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'ReferencedIdentifier':PyJs_ReferencedIdentifier_1012_, u'arguments':arguments}, var) + var.registers([u'property', u'remap', u'object', u'name', u'path']) + var.put(u'name', var.get(u'path').get(u'node').get(u'name')) + var.put(u'remap', var.get(u"this").get(u'remaps').get(var.get(u'name'))) + if var.get(u'remap').neg(): + return var.get('undefined') + if PyJsStrictNeq(var.get(u"this").get(u'scope').callprop(u'getBinding', var.get(u'name')),var.get(u'path').get(u'scope').callprop(u'getBinding', var.get(u'name'))): + return var.get('undefined') + PyJs_Object_1013_ = Js({u'callee':var.get(u'path').get(u'node')}) + if var.get(u'path').get(u'parentPath').callprop(u'isCallExpression', PyJs_Object_1013_): + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'sequenceExpression', Js([var.get(u't').callprop(u'numericLiteral', Js(0.0)), var.get(u'remap')]))) + else: + if (var.get(u'path').callprop(u'isJSXIdentifier') and var.get(u't').callprop(u'isMemberExpression', var.get(u'remap'))): + var.put(u'object', var.get(u'remap').get(u'object')) + var.put(u'property', var.get(u'remap').get(u'property')) + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'JSXMemberExpression', var.get(u't').callprop(u'JSXIdentifier', var.get(u'object').get(u'name')), var.get(u't').callprop(u'JSXIdentifier', var.get(u'property').get(u'name')))) + else: + var.get(u'path').callprop(u'replaceWith', var.get(u'remap')) + var.get(u"this").callprop(u'requeueInParent', var.get(u'path')) + PyJs_ReferencedIdentifier_1012_._set_name(u'ReferencedIdentifier') + @Js + def PyJs_AssignmentExpression_1014_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'AssignmentExpression':PyJs_AssignmentExpression_1014_}, var) + var.registers([u'node', u'_isArray', u'_iterator', u'name', u'exports', u'reid', u'_i', u'path', u'_ref', u'left']) + var.put(u'node', var.get(u'path').get(u'node')) + if var.get(u'node').get(var.get(u'REASSIGN_REMAP_SKIP')): + return var.get('undefined') + var.put(u'left', var.get(u'path').callprop(u'get', Js(u'left'))) + if var.get(u'left').callprop(u'isIdentifier').neg(): + return var.get('undefined') + var.put(u'name', var.get(u'left').get(u'node').get(u'name')) + var.put(u'exports', var.get(u"this").get(u'exports').get(var.get(u'name'))) + if var.get(u'exports').neg(): + return var.get('undefined') + if PyJsStrictNeq(var.get(u"this").get(u'scope').callprop(u'getBinding', var.get(u'name')),var.get(u'path').get(u'scope').callprop(u'getBinding', var.get(u'name'))): + return var.get('undefined') + var.get(u'node').put(var.get(u'REASSIGN_REMAP_SKIP'), var.get(u'true')) + #for JS loop + var.put(u'_iterator', var.get(u'exports')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'reid', var.get(u'_ref')) + var.put(u'node', var.get(u'buildExportsAssignment')(var.get(u'reid'), var.get(u'node')).get(u'expression')) + + var.get(u'path').callprop(u'replaceWith', var.get(u'node')) + var.get(u"this").callprop(u'requeueInParent', var.get(u'path')) + PyJs_AssignmentExpression_1014_._set_name(u'AssignmentExpression') + @Js + def PyJs_UpdateExpression_1015_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'UpdateExpression':PyJs_UpdateExpression_1015_}, var) + var.registers([u'node', u'exports', u'name', u'arg', u'operator', u'path', u'nodes']) + var.put(u'arg', var.get(u'path').callprop(u'get', Js(u'argument'))) + if var.get(u'arg').callprop(u'isIdentifier').neg(): + return var.get('undefined') + var.put(u'name', var.get(u'arg').get(u'node').get(u'name')) + var.put(u'exports', var.get(u"this").get(u'exports').get(var.get(u'name'))) + if var.get(u'exports').neg(): + return var.get('undefined') + if PyJsStrictNeq(var.get(u"this").get(u'scope').callprop(u'getBinding', var.get(u'name')),var.get(u'path').get(u'scope').callprop(u'getBinding', var.get(u'name'))): + return var.get('undefined') + var.put(u'node', var.get(u't').callprop(u'assignmentExpression', (var.get(u'path').get(u'node').get(u'operator').get(u'0')+Js(u'=')), var.get(u'arg').get(u'node'), var.get(u't').callprop(u'numericLiteral', Js(1.0)))) + if ((var.get(u'path').get(u'parentPath').callprop(u'isExpressionStatement') and var.get(u'path').callprop(u'isCompletionRecord').neg()) or var.get(u'path').get(u'node').get(u'prefix')): + var.get(u'path').callprop(u'replaceWith', var.get(u'node')) + var.get(u"this").callprop(u'requeueInParent', var.get(u'path')) + return var.get('undefined') + var.put(u'nodes', Js([])) + var.get(u'nodes').callprop(u'push', var.get(u'node')) + var.put(u'operator', PyJsComma(Js(0.0), Js(None))) + if PyJsStrictEq(var.get(u'path').get(u'node').get(u'operator'),Js(u'--')): + var.put(u'operator', Js(u'+')) + else: + var.put(u'operator', Js(u'-')) + var.get(u'nodes').callprop(u'push', var.get(u't').callprop(u'binaryExpression', var.get(u'operator'), var.get(u'arg').get(u'node'), var.get(u't').callprop(u'numericLiteral', Js(1.0)))) + var.get(u'path').callprop(u'replaceWithMultiple', var.get(u't').callprop(u'sequenceExpression', var.get(u'nodes'))) + PyJs_UpdateExpression_1015_._set_name(u'UpdateExpression') + PyJs_Object_1011_ = Js({u'ReferencedIdentifier':PyJs_ReferencedIdentifier_1012_,u'AssignmentExpression':PyJs_AssignmentExpression_1014_,u'UpdateExpression':PyJs_UpdateExpression_1015_}) + var.put(u'reassignmentVisitor', PyJs_Object_1011_) + @Js + def PyJs_ThisExpression_1018_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'ThisExpression':PyJs_ThisExpression_1018_, u'arguments':arguments}, var) + var.registers([u'path', u'state']) + if var.get(u"this").get(u'ranCommonJS'): + return var.get('undefined') + @Js + def PyJs_anonymous_1019_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + return (var.get(u'path').callprop(u'is', Js(u'shadow')).neg() and (var.get(u'THIS_BREAK_KEYS').callprop(u'indexOf', var.get(u'path').get(u'type'))>=Js(0.0))) + PyJs_anonymous_1019_._set_name(u'anonymous') + if (PyJsStrictNeq(var.get(u'state').get(u'opts').get(u'allowTopLevelThis'),var.get(u'true')) and var.get(u'path').callprop(u'findParent', PyJs_anonymous_1019_).neg()): + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'identifier', Js(u'undefined'))) + PyJs_ThisExpression_1018_._set_name(u'ThisExpression') + @Js + def PyJs_exit_1021_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'exit':PyJs_exit_1021_, u'arguments':arguments}, var) + var.registers([u'decl', u'addRequire', u'_isArray5', u'_isArray4', u'_isArray3', u'_isArray2', u'_isArray6', u'imports', u'_specifiers', u'ids', u'_specifier4', u'_isArray7', u'hoistedExportsNode', u'_declaration', u'_specifier2', u'_specifier3', u'specifier', u'importsEntry', u'_specifier', u'_importsEntry$specifi', u'uid', u'_iterator6', u'i', u'_source', u'_i7', u'_i6', u'_i5', u'_i4', u'hasImports', u'_i2', u'id', u'strict', u'init', u'exportNode', u'scope', u'nodes', u'defNode', u'ref', u'addTo', u'body', u'exports', u'node', u'_i3', u'requireNode', u'nonHoistedExportNames', u'_varDecl', u'varDecl', u'declarators', u'topNodes', u'buildTemplate', u'key', u'declaration', u'_id4', u'path', u'name', u'_id2', u'_id3', u'remaps', u'specifiers', u'_id', u'_imports$source', u'hasExports', u'_defNode', u'_ref6', u'_ref5', u'_ref4', u'_ref3', u'_ref2', u'maxBlockHoist', u'_ref7', u'declar', u'source', u'wildcard', u'target', u'_iterator5', u'_iterator4', u'_iterator7', u'_iterator2', u'requires', u'_iterator3', u'_path']) + @Js + def PyJsHoisted_addRequire_(source, blockHoist, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'blockHoist':blockHoist, u'arguments':arguments}, var) + var.registers([u'cached', u'varDecl', u'blockHoist', u'ref', u'source']) + var.put(u'cached', var.get(u'requires').get(var.get(u'source'))) + if var.get(u'cached'): + return var.get(u'cached') + var.put(u'ref', var.get(u'path').get(u'scope').callprop(u'generateUidIdentifier', PyJsComma(Js(0.0),var.get(u'_path2').get(u'basename'))(var.get(u'source'), PyJsComma(Js(0.0),var.get(u'_path2').get(u'extname'))(var.get(u'source'))))) + var.put(u'varDecl', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'ref'), var.get(u'buildRequire')(var.get(u't').callprop(u'stringLiteral', var.get(u'source'))).get(u'expression'))]))) + if var.get(u'imports').get(var.get(u'source')): + var.get(u'varDecl').put(u'loc', var.get(u'imports').get(var.get(u'source')).get(u'loc')) + if (PyJsStrictEq(var.get(u'blockHoist',throw=False).typeof(),Js(u'number')) and (var.get(u'blockHoist')>Js(0.0))): + var.get(u'varDecl').put(u'_blockHoist', var.get(u'blockHoist')) + var.get(u'topNodes').callprop(u'push', var.get(u'varDecl')) + return var.get(u'requires').put(var.get(u'source'), var.get(u'ref')) + PyJsHoisted_addRequire_.func_name = u'addRequire' + var.put(u'addRequire', PyJsHoisted_addRequire_) + @Js + def PyJsHoisted_addTo_(obj, key, arr, this, arguments, var=var): + var = Scope({u'this':this, u'arr':arr, u'obj':obj, u'arguments':arguments, u'key':key}, var) + var.registers([u'arr', u'obj', u'key', u'existing']) + var.put(u'existing', (var.get(u'obj').get(var.get(u'key')) or Js([]))) + var.get(u'obj').put(var.get(u'key'), var.get(u'existing').callprop(u'concat', var.get(u'arr'))) + PyJsHoisted_addTo_.func_name = u'addTo' + var.put(u'addTo', PyJsHoisted_addTo_) + var.get(u"this").put(u'ranCommonJS', var.get(u'true')) + var.put(u'strict', var.get(u"this").get(u'opts').get(u'strict').neg().neg()) + var.put(u'scope', var.get(u'path').get(u'scope')) + var.get(u'scope').callprop(u'rename', Js(u'module')) + var.get(u'scope').callprop(u'rename', Js(u'exports')) + var.get(u'scope').callprop(u'rename', Js(u'require')) + var.put(u'hasExports', Js(False)) + var.put(u'hasImports', Js(False)) + var.put(u'body', var.get(u'path').callprop(u'get', Js(u'body'))) + var.put(u'imports', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.put(u'exports', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.put(u'nonHoistedExportNames', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.put(u'topNodes', Js([])) + var.put(u'remaps', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.put(u'requires', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + pass + pass + #for JS loop + var.put(u'_iterator2', var.get(u'body')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'_path', var.get(u'_ref2')) + if var.get(u'_path').callprop(u'isExportDeclaration'): + var.put(u'hasExports', var.get(u'true')) + var.put(u'specifiers', Js([]).callprop(u'concat', var.get(u'_path').callprop(u'get', Js(u'declaration')), var.get(u'_path').callprop(u'get', Js(u'specifiers')))) + #for JS loop + var.put(u'_iterator4', var.get(u'specifiers')) + var.put(u'_isArray4', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator4'))) + var.put(u'_i4', Js(0.0)) + var.put(u'_iterator4', (var.get(u'_iterator4') if var.get(u'_isArray4') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator4')))) + while 1: + pass + if var.get(u'_isArray4'): + if (var.get(u'_i4')>=var.get(u'_iterator4').get(u'length')): + break + var.put(u'_ref4', var.get(u'_iterator4').get((var.put(u'_i4',Js(var.get(u'_i4').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i4', var.get(u'_iterator4').callprop(u'next')) + if var.get(u'_i4').get(u'done'): + break + var.put(u'_ref4', var.get(u'_i4').get(u'value')) + var.put(u'_specifier2', var.get(u'_ref4')) + var.put(u'ids', var.get(u'_specifier2').callprop(u'getBindingIdentifiers')) + if var.get(u'ids').get(u'__esModule'): + PyJsTempException = JsToPyException(var.get(u'_specifier2').callprop(u'buildCodeFrameError', Js(u'Illegal export "__esModule"'))) + raise PyJsTempException + + if var.get(u'_path').callprop(u'isImportDeclaration'): + pass + var.put(u'hasImports', var.get(u'true')) + var.put(u'key', var.get(u'_path').get(u'node').get(u'source').get(u'value')) + PyJs_Object_1022_ = Js({u'specifiers':Js([]),u'maxBlockHoist':Js(0.0),u'loc':var.get(u'_path').get(u'node').get(u'loc')}) + var.put(u'importsEntry', (var.get(u'imports').get(var.get(u'key')) or PyJs_Object_1022_)) + var.put(u'_importsEntry$specifi', var.get(u'importsEntry').get(u'specifiers')).get(u'push').callprop(u'apply', var.get(u'_importsEntry$specifi'), var.get(u'_path').get(u'node').get(u'specifiers')) + if PyJsStrictEq(var.get(u'_path').get(u'node').get(u'_blockHoist').typeof(),Js(u'number')): + var.get(u'importsEntry').put(u'maxBlockHoist', var.get(u'Math').callprop(u'max', var.get(u'_path').get(u'node').get(u'_blockHoist'), var.get(u'importsEntry').get(u'maxBlockHoist'))) + var.get(u'imports').put(var.get(u'key'), var.get(u'importsEntry')) + var.get(u'_path').callprop(u'remove') + else: + if var.get(u'_path').callprop(u'isExportDefaultDeclaration'): + var.put(u'declaration', var.get(u'_path').callprop(u'get', Js(u'declaration'))) + if var.get(u'declaration').callprop(u'isFunctionDeclaration'): + var.put(u'id', var.get(u'declaration').get(u'node').get(u'id')) + var.put(u'defNode', var.get(u't').callprop(u'identifier', Js(u'default'))) + if var.get(u'id'): + var.get(u'addTo')(var.get(u'exports'), var.get(u'id').get(u'name'), var.get(u'defNode')) + var.get(u'topNodes').callprop(u'push', var.get(u'buildExportsAssignment')(var.get(u'defNode'), var.get(u'id'))) + var.get(u'_path').callprop(u'replaceWith', var.get(u'declaration').get(u'node')) + else: + var.get(u'topNodes').callprop(u'push', var.get(u'buildExportsAssignment')(var.get(u'defNode'), var.get(u't').callprop(u'toExpression', var.get(u'declaration').get(u'node')))) + var.get(u'_path').callprop(u'remove') + else: + if var.get(u'declaration').callprop(u'isClassDeclaration'): + var.put(u'_id', var.get(u'declaration').get(u'node').get(u'id')) + var.put(u'_defNode', var.get(u't').callprop(u'identifier', Js(u'default'))) + if var.get(u'_id'): + var.get(u'addTo')(var.get(u'exports'), var.get(u'_id').get(u'name'), var.get(u'_defNode')) + var.get(u'_path').callprop(u'replaceWithMultiple', Js([var.get(u'declaration').get(u'node'), var.get(u'buildExportsAssignment')(var.get(u'_defNode'), var.get(u'_id'))])) + else: + var.get(u'_path').callprop(u'replaceWith', var.get(u'buildExportsAssignment')(var.get(u'_defNode'), var.get(u't').callprop(u'toExpression', var.get(u'declaration').get(u'node')))) + var.get(u'_path').get(u'parentPath').callprop(u'requeue', var.get(u'_path').callprop(u'get', Js(u'expression.left'))) + else: + var.get(u'_path').callprop(u'replaceWith', var.get(u'buildExportsAssignment')(var.get(u't').callprop(u'identifier', Js(u'default')), var.get(u'declaration').get(u'node'))) + var.get(u'_path').get(u'parentPath').callprop(u'requeue', var.get(u'_path').callprop(u'get', Js(u'expression.left'))) + else: + if var.get(u'_path').callprop(u'isExportNamedDeclaration'): + var.put(u'_declaration', var.get(u'_path').callprop(u'get', Js(u'declaration'))) + if var.get(u'_declaration').get(u'node'): + if var.get(u'_declaration').callprop(u'isFunctionDeclaration'): + var.put(u'_id2', var.get(u'_declaration').get(u'node').get(u'id')) + var.get(u'addTo')(var.get(u'exports'), var.get(u'_id2').get(u'name'), var.get(u'_id2')) + var.get(u'topNodes').callprop(u'push', var.get(u'buildExportsAssignment')(var.get(u'_id2'), var.get(u'_id2'))) + var.get(u'_path').callprop(u'replaceWith', var.get(u'_declaration').get(u'node')) + else: + if var.get(u'_declaration').callprop(u'isClassDeclaration'): + var.put(u'_id3', var.get(u'_declaration').get(u'node').get(u'id')) + var.get(u'addTo')(var.get(u'exports'), var.get(u'_id3').get(u'name'), var.get(u'_id3')) + var.get(u'_path').callprop(u'replaceWithMultiple', Js([var.get(u'_declaration').get(u'node'), var.get(u'buildExportsAssignment')(var.get(u'_id3'), var.get(u'_id3'))])) + var.get(u'nonHoistedExportNames').put(var.get(u'_id3').get(u'name'), var.get(u'true')) + else: + if var.get(u'_declaration').callprop(u'isVariableDeclaration'): + var.put(u'declarators', var.get(u'_declaration').callprop(u'get', Js(u'declarations'))) + #for JS loop + var.put(u'_iterator5', var.get(u'declarators')) + var.put(u'_isArray5', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator5'))) + var.put(u'_i5', Js(0.0)) + var.put(u'_iterator5', (var.get(u'_iterator5') if var.get(u'_isArray5') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator5')))) + while 1: + pass + if var.get(u'_isArray5'): + if (var.get(u'_i5')>=var.get(u'_iterator5').get(u'length')): + break + var.put(u'_ref5', var.get(u'_iterator5').get((var.put(u'_i5',Js(var.get(u'_i5').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i5', var.get(u'_iterator5').callprop(u'next')) + if var.get(u'_i5').get(u'done'): + break + var.put(u'_ref5', var.get(u'_i5').get(u'value')) + var.put(u'decl', var.get(u'_ref5')) + var.put(u'_id4', var.get(u'decl').callprop(u'get', Js(u'id'))) + var.put(u'init', var.get(u'decl').callprop(u'get', Js(u'init'))) + if var.get(u'init').get(u'node').neg(): + var.get(u'init').callprop(u'replaceWith', var.get(u't').callprop(u'identifier', Js(u'undefined'))) + if var.get(u'_id4').callprop(u'isIdentifier'): + var.get(u'addTo')(var.get(u'exports'), var.get(u'_id4').get(u'node').get(u'name'), var.get(u'_id4').get(u'node')) + var.get(u'init').callprop(u'replaceWith', var.get(u'buildExportsAssignment')(var.get(u'_id4').get(u'node'), var.get(u'init').get(u'node')).get(u'expression')) + var.get(u'nonHoistedExportNames').put(var.get(u'_id4').get(u'node').get(u'name'), var.get(u'true')) + else: + pass + + var.get(u'_path').callprop(u'replaceWith', var.get(u'_declaration').get(u'node')) + continue + var.put(u'_specifiers', var.get(u'_path').callprop(u'get', Js(u'specifiers'))) + var.put(u'nodes', Js([])) + var.put(u'_source', var.get(u'_path').get(u'node').get(u'source')) + if var.get(u'_source'): + var.put(u'ref', var.get(u'addRequire')(var.get(u'_source').get(u'value'), var.get(u'_path').get(u'node').get(u'_blockHoist'))) + #for JS loop + var.put(u'_iterator6', var.get(u'_specifiers')) + var.put(u'_isArray6', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator6'))) + var.put(u'_i6', Js(0.0)) + var.put(u'_iterator6', (var.get(u'_iterator6') if var.get(u'_isArray6') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator6')))) + while 1: + pass + if var.get(u'_isArray6'): + if (var.get(u'_i6')>=var.get(u'_iterator6').get(u'length')): + break + var.put(u'_ref6', var.get(u'_iterator6').get((var.put(u'_i6',Js(var.get(u'_i6').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i6', var.get(u'_iterator6').callprop(u'next')) + if var.get(u'_i6').get(u'done'): + break + var.put(u'_ref6', var.get(u'_i6').get(u'value')) + var.put(u'_specifier3', var.get(u'_ref6')) + if var.get(u'_specifier3').callprop(u'isExportNamespaceSpecifier'): + pass + else: + if var.get(u'_specifier3').callprop(u'isExportDefaultSpecifier'): + pass + else: + if var.get(u'_specifier3').callprop(u'isExportSpecifier'): + if PyJsStrictEq(var.get(u'_specifier3').get(u'node').get(u'local').get(u'name'),Js(u'default')): + def PyJs_LONG_1023_(var=var): + return var.get(u'topNodes').callprop(u'push', var.get(u'buildExportsFrom')(var.get(u't').callprop(u'stringLiteral', var.get(u'_specifier3').get(u'node').get(u'exported').get(u'name')), var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'callExpression', var.get(u"this").callprop(u'addHelper', Js(u'interopRequireDefault')), Js([var.get(u'ref')])), var.get(u'_specifier3').get(u'node').get(u'local')))) + PyJs_LONG_1023_() + else: + var.get(u'topNodes').callprop(u'push', var.get(u'buildExportsFrom')(var.get(u't').callprop(u'stringLiteral', var.get(u'_specifier3').get(u'node').get(u'exported').get(u'name')), var.get(u't').callprop(u'memberExpression', var.get(u'ref'), var.get(u'_specifier3').get(u'node').get(u'local')))) + var.get(u'nonHoistedExportNames').put(var.get(u'_specifier3').get(u'node').get(u'exported').get(u'name'), var.get(u'true')) + + else: + #for JS loop + var.put(u'_iterator7', var.get(u'_specifiers')) + var.put(u'_isArray7', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator7'))) + var.put(u'_i7', Js(0.0)) + var.put(u'_iterator7', (var.get(u'_iterator7') if var.get(u'_isArray7') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator7')))) + while 1: + pass + if var.get(u'_isArray7'): + if (var.get(u'_i7')>=var.get(u'_iterator7').get(u'length')): + break + var.put(u'_ref7', var.get(u'_iterator7').get((var.put(u'_i7',Js(var.get(u'_i7').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i7', var.get(u'_iterator7').callprop(u'next')) + if var.get(u'_i7').get(u'done'): + break + var.put(u'_ref7', var.get(u'_i7').get(u'value')) + var.put(u'_specifier4', var.get(u'_ref7')) + if var.get(u'_specifier4').callprop(u'isExportSpecifier'): + var.get(u'addTo')(var.get(u'exports'), var.get(u'_specifier4').get(u'node').get(u'local').get(u'name'), var.get(u'_specifier4').get(u'node').get(u'exported')) + var.get(u'nonHoistedExportNames').put(var.get(u'_specifier4').get(u'node').get(u'exported').get(u'name'), var.get(u'true')) + var.get(u'nodes').callprop(u'push', var.get(u'buildExportsAssignment')(var.get(u'_specifier4').get(u'node').get(u'exported'), var.get(u'_specifier4').get(u'node').get(u'local'))) + + var.get(u'_path').callprop(u'replaceWithMultiple', var.get(u'nodes')) + else: + if var.get(u'_path').callprop(u'isExportAllDeclaration'): + PyJs_Object_1024_ = Js({u'OBJECT':var.get(u'addRequire')(var.get(u'_path').get(u'node').get(u'source').get(u'value'), var.get(u'_path').get(u'node').get(u'_blockHoist'))}) + var.put(u'exportNode', var.get(u'buildExportAll')(PyJs_Object_1024_)) + var.get(u'exportNode').put(u'loc', var.get(u'_path').get(u'node').get(u'loc')) + var.get(u'topNodes').callprop(u'push', var.get(u'exportNode')) + var.get(u'_path').callprop(u'remove') + + for PyJsTemp in var.get(u'imports'): + var.put(u'source', PyJsTemp) + var.put(u'_imports$source', var.get(u'imports').get(var.get(u'source'))) + var.put(u'specifiers', var.get(u'_imports$source').get(u'specifiers')) + var.put(u'maxBlockHoist', var.get(u'_imports$source').get(u'maxBlockHoist')) + if var.get(u'specifiers').get(u'length'): + var.put(u'uid', var.get(u'addRequire')(var.get(u'source'), var.get(u'maxBlockHoist'))) + var.put(u'wildcard', PyJsComma(Js(0.0), Js(None))) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(0.0)): + var.get(u'varDecl').put(u'_blockHoist', var.get(u'maxBlockHoist')) + var.get(u'topNodes').callprop(u'push', var.get(u'varDecl')) + var.put(u'wildcard', var.get(u'specifier').get(u'local')) + else: + if var.get(u't').callprop(u'isImportDefaultSpecifier', var.get(u'specifier')): + var.get(u'specifiers').put(var.get(u'i'), var.get(u't').callprop(u'importSpecifier', var.get(u'specifier').get(u'local'), var.get(u't').callprop(u'identifier', Js(u'default')))) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + #for JS loop + var.put(u'_iterator3', var.get(u'specifiers')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator3')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'_specifier', var.get(u'_ref3')) + if var.get(u't').callprop(u'isImportSpecifier', var.get(u'_specifier')): + var.put(u'target', var.get(u'uid')) + if PyJsStrictEq(var.get(u'_specifier').get(u'imported').get(u'name'),Js(u'default')): + if var.get(u'wildcard'): + var.put(u'target', var.get(u'wildcard')) + else: + var.put(u'target', var.put(u'wildcard', var.get(u'path').get(u'scope').callprop(u'generateUidIdentifier', var.get(u'uid').get(u'name')))) + var.put(u'_varDecl', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'target'), var.get(u't').callprop(u'callExpression', var.get(u"this").callprop(u'addHelper', Js(u'interopRequireDefault')), Js([var.get(u'uid')])))]))) + if (var.get(u'maxBlockHoist')>Js(0.0)): + var.get(u'_varDecl').put(u'_blockHoist', var.get(u'maxBlockHoist')) + var.get(u'topNodes').callprop(u'push', var.get(u'_varDecl')) + var.get(u'remaps').put(var.get(u'_specifier').get(u'local').get(u'name'), var.get(u't').callprop(u'memberExpression', var.get(u'target'), var.get(u't').callprop(u'cloneWithoutLoc', var.get(u'_specifier').get(u'imported')))) + + else: + var.put(u'requireNode', var.get(u'buildRequire')(var.get(u't').callprop(u'stringLiteral', var.get(u'source')))) + var.get(u'requireNode').put(u'loc', var.get(u'imports').get(var.get(u'source')).get(u'loc')) + var.get(u'topNodes').callprop(u'push', var.get(u'requireNode')) + if (var.get(u'hasImports') and PyJsComma(Js(0.0),var.get(u'_keys2').get(u'default'))(var.get(u'nonHoistedExportNames')).get(u'length')): + var.put(u'hoistedExportsNode', var.get(u't').callprop(u'identifier', Js(u'undefined'))) + for PyJsTemp in var.get(u'nonHoistedExportNames'): + var.put(u'name', PyJsTemp) + var.put(u'hoistedExportsNode', var.get(u'buildExportsAssignment')(var.get(u't').callprop(u'identifier', var.get(u'name')), var.get(u'hoistedExportsNode')).get(u'expression')) + var.put(u'node', var.get(u't').callprop(u'expressionStatement', var.get(u'hoistedExportsNode'))) + var.get(u'node').put(u'_blockHoist', Js(3.0)) + var.get(u'topNodes').callprop(u'unshift', var.get(u'node')) + if (var.get(u'hasExports') and var.get(u'strict').neg()): + var.put(u'buildTemplate', var.get(u'buildExportsModuleDeclaration')) + if var.get(u"this").get(u'opts').get(u'loose'): + var.put(u'buildTemplate', var.get(u'buildLooseExportsModuleDeclaration')) + var.put(u'declar', var.get(u'buildTemplate')()) + var.get(u'declar').put(u'_blockHoist', Js(3.0)) + var.get(u'topNodes').callprop(u'unshift', var.get(u'declar')) + var.get(u'path').callprop(u'unshiftContainer', Js(u'body'), var.get(u'topNodes')) + @Js + def PyJs_requeueInParent_1026_(newPath, this, arguments, var=var): + var = Scope({u'newPath':newPath, u'this':this, u'arguments':arguments, u'requeueInParent':PyJs_requeueInParent_1026_}, var) + var.registers([u'newPath']) + return var.get(u'path').callprop(u'requeue', var.get(u'newPath')) + PyJs_requeueInParent_1026_._set_name(u'requeueInParent') + PyJs_Object_1025_ = Js({u'remaps':var.get(u'remaps'),u'scope':var.get(u'scope'),u'exports':var.get(u'exports'),u'requeueInParent':PyJs_requeueInParent_1026_}) + var.get(u'path').callprop(u'traverse', var.get(u'reassignmentVisitor'), PyJs_Object_1025_) + PyJs_exit_1021_._set_name(u'exit') + PyJs_Object_1020_ = Js({u'exit':PyJs_exit_1021_}) + PyJs_Object_1017_ = Js({u'ThisExpression':PyJs_ThisExpression_1018_,u'Program':PyJs_Object_1020_}) + PyJs_Object_1016_ = Js({u'inherits':var.get(u'require')(Js(u'babel-plugin-transform-strict-mode')),u'visitor':PyJs_Object_1017_}) + return PyJs_Object_1016_ + PyJs_anonymous_1010_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1010_) + var.put(u'_path2', var.get(u'require')(Js(u'path'))) + var.put(u'_babelTemplate', var.get(u'require')(Js(u'babel-template'))) + var.put(u'_babelTemplate2', var.get(u'_interopRequireDefault')(var.get(u'_babelTemplate'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + var.put(u'buildRequire', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n require($0);\n'))) + var.put(u'buildExportsModuleDeclaration', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n'))) + var.put(u'buildExportsFrom', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n Object.defineProperty(exports, $0, {\n enumerable: true,\n get: function () {\n return $1;\n }\n });\n'))) + var.put(u'buildLooseExportsModuleDeclaration', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n exports.__esModule = true;\n'))) + var.put(u'buildExportsAssignment', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n exports.$0 = $1;\n'))) + var.put(u'buildExportAll', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n Object.keys(OBJECT).forEach(function (key) {\n if (key === "default" || key === "__esModule") return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return OBJECT[key];\n }\n });\n });\n'))) + var.put(u'THIS_BREAK_KEYS', Js([Js(u'FunctionExpression'), Js(u'FunctionDeclaration'), Js(u'ClassProperty'), Js(u'ClassMethod'), Js(u'ObjectMethod')])) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1009_._set_name(u'anonymous') +PyJs_Object_1029_ = Js({u'babel-plugin-transform-strict-mode':Js(94.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/core-js/object/create':Js(101.0),u'babel-runtime/core-js/object/keys':Js(103.0),u'babel-runtime/core-js/symbol':Js(105.0),u'babel-template':Js(221.0),u'babel-types':Js(258.0),u'path':Js(530.0)}) +@Js +def PyJs_anonymous_1030_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_create', u'exports', u'_symbol2', u'_babelHelperHoistVariables', u'buildExportAll', u'require', u'_babelTemplate', u'module', u'_create2', u'buildTemplate', u'_symbol', u'_babelHelperHoistVariables2', u'_interopRequireDefault', u'_babelTemplate2', u'_getIterator2', u'_getIterator3']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1047_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1047_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_create', var.get(u'require')(Js(u'babel-runtime/core-js/object/create'))) + var.put(u'_create2', var.get(u'_interopRequireDefault')(var.get(u'_create'))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_symbol', var.get(u'require')(Js(u'babel-runtime/core-js/symbol'))) + var.put(u'_symbol2', var.get(u'_interopRequireDefault')(var.get(u'_symbol'))) + @Js + def PyJs_anonymous_1031_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'reassignmentVisitor', u'IGNORE_REASSIGNMENT_SYMBOL', u'_ref', u't']) + var.put(u't', var.get(u'_ref').get(u'types')) + var.put(u'IGNORE_REASSIGNMENT_SYMBOL', PyJsComma(Js(0.0),var.get(u'_symbol2').get(u'default'))()) + @Js + def PyJs_AssignmentExpressionUpdateExpression_1033_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'AssignmentExpressionUpdateExpression':PyJs_AssignmentExpressionUpdateExpression_1033_}, var) + var.registers([u'node', u'_isArray', u'_iterator', u'name', u'exportedNames', u'_ref2', u'exportedName', u'_i', u'arg', u'isPostUpdateExpression', u'path']) + if var.get(u'path').get(u'node').get(var.get(u'IGNORE_REASSIGNMENT_SYMBOL')): + return var.get('undefined') + var.get(u'path').get(u'node').put(var.get(u'IGNORE_REASSIGNMENT_SYMBOL'), var.get(u'true')) + var.put(u'arg', var.get(u'path').callprop(u'get', (Js(u'left') if var.get(u'path').callprop(u'isAssignmentExpression') else Js(u'argument')))) + if var.get(u'arg').callprop(u'isIdentifier').neg(): + return var.get('undefined') + var.put(u'name', var.get(u'arg').get(u'node').get(u'name')) + if PyJsStrictNeq(var.get(u"this").get(u'scope').callprop(u'getBinding', var.get(u'name')),var.get(u'path').get(u'scope').callprop(u'getBinding', var.get(u'name'))): + return var.get('undefined') + var.put(u'exportedNames', var.get(u"this").get(u'exports').get(var.get(u'name'))) + if var.get(u'exportedNames').neg(): + return var.get('undefined') + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'isPostUpdateExpression', (var.get(u'path').callprop(u'isUpdateExpression') and var.get(u'node').get(u'prefix').neg())) + if var.get(u'isPostUpdateExpression'): + if PyJsStrictEq(var.get(u'node').get(u'operator'),Js(u'++')): + var.put(u'node', var.get(u't').callprop(u'binaryExpression', Js(u'+'), var.get(u'node').get(u'argument'), var.get(u't').callprop(u'numericLiteral', Js(1.0)))) + else: + if PyJsStrictEq(var.get(u'node').get(u'operator'),Js(u'--')): + var.put(u'node', var.get(u't').callprop(u'binaryExpression', Js(u'-'), var.get(u'node').get(u'argument'), var.get(u't').callprop(u'numericLiteral', Js(1.0)))) + else: + var.put(u'isPostUpdateExpression', Js(False)) + #for JS loop + var.put(u'_iterator', var.get(u'exportedNames')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i').get(u'value')) + var.put(u'exportedName', var.get(u'_ref2')) + var.put(u'node', var.get(u"this").callprop(u'buildCall', var.get(u'exportedName'), var.get(u'node')).get(u'expression')) + + if var.get(u'isPostUpdateExpression'): + var.put(u'node', var.get(u't').callprop(u'sequenceExpression', Js([var.get(u'node'), var.get(u'path').get(u'node')]))) + var.get(u'path').callprop(u'replaceWith', var.get(u'node')) + PyJs_AssignmentExpressionUpdateExpression_1033_._set_name(u'AssignmentExpressionUpdateExpression') + PyJs_Object_1032_ = Js({u'AssignmentExpression|UpdateExpression':PyJs_AssignmentExpressionUpdateExpression_1033_}) + var.put(u'reassignmentVisitor', PyJs_Object_1032_) + @Js + def PyJs_ReferencedIdentifier_1036_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'ReferencedIdentifier':PyJs_ReferencedIdentifier_1036_, u'arguments':arguments}, var) + var.registers([u'path', u'state']) + if ((var.get(u'path').get(u'node').get(u'name')==Js(u'__moduleName')) and var.get(u'path').get(u'scope').callprop(u'hasBinding', Js(u'__moduleName')).neg()): + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'memberExpression', var.get(u'state').get(u'contextIdent'), var.get(u't').callprop(u'identifier', Js(u'id')))) + PyJs_ReferencedIdentifier_1036_._set_name(u'ReferencedIdentifier') + @Js + def PyJs_enter_1038_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'enter':PyJs_enter_1038_}, var) + var.registers([u'path', u'state']) + var.get(u'state').put(u'contextIdent', var.get(u'path').get(u'scope').callprop(u'generateUidIdentifier', Js(u'context'))) + PyJs_enter_1038_._set_name(u'enter') + @Js + def PyJs_exit_1039_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'exit':PyJs_exit_1039_, u'arguments':arguments}, var) + var.registers([u'_isArray7', u'specifier', u'_isArray5', u'_isArray4', u'_isArray3', u'contextIdent', u'_isArray6', u'_i3', u'_name2', u'canHoist', u'_nodes', u'sources', u'variableIds', u'path', u'id', u'_isArray2', u'setterBody', u'_source', u'_i7', u'_i6', u'_i5', u'addExportName', u'removedPaths', u'_i2', u'_specifier', u'source', u'_node', u'_declar', u'nodes', u'_ref3', u'body', u'node', u'state', u'bindingIdentifiers', u'pushModule', u'setters', u'_path3', u'exportIdent', u'_specifiers', u'exportObjRef', u'_bindingIdentifiers', u'_path2', u'beforeBody', u'target', u'specifiers', u'moduleName', u'_iterator6', u'name', u'_ref8', u'_ref7', u'_ref6', u'_ref5', u'_ref4', u'modules', u'exportNames', u'_name', u'buildExportCall', u'_i4', u'declar', u'_nodes2', u'_iterator5', u'_iterator4', u'_iterator7', u'_iterator2', u'_iterator3', u'_path']) + @Js + def PyJsHoisted_buildExportCall_(name, val, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'val':val, u'arguments':arguments}, var) + var.registers([u'name', u'val']) + return var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'callExpression', var.get(u'exportIdent'), Js([var.get(u't').callprop(u'stringLiteral', var.get(u'name')), var.get(u'val')]))) + PyJsHoisted_buildExportCall_.func_name = u'buildExportCall' + var.put(u'buildExportCall', PyJsHoisted_buildExportCall_) + @Js + def PyJsHoisted_addExportName_(key, val, this, arguments, var=var): + var = Scope({u'this':this, u'val':val, u'key':key, u'arguments':arguments}, var) + var.registers([u'val', u'key']) + var.get(u'exportNames').put(var.get(u'key'), (var.get(u'exportNames').get(var.get(u'key')) or Js([]))) + var.get(u'exportNames').get(var.get(u'key')).callprop(u'push', var.get(u'val')) + PyJsHoisted_addExportName_.func_name = u'addExportName' + var.put(u'addExportName', PyJsHoisted_addExportName_) + @Js + def PyJsHoisted_pushModule_(source, key, specifiers, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'arguments':arguments, u'key':key, u'specifiers':specifiers}, var) + var.registers([u'source', u'key', u'_modules', u'specifiers']) + PyJs_Object_1040_ = Js({u'imports':Js([]),u'exports':Js([])}) + var.put(u'_modules', var.get(u'modules').put(var.get(u'source'), (var.get(u'modules').get(var.get(u'source')) or PyJs_Object_1040_))) + var.get(u'_modules').put(var.get(u'key'), var.get(u'_modules').get(var.get(u'key')).callprop(u'concat', var.get(u'specifiers'))) + PyJsHoisted_pushModule_.func_name = u'pushModule' + var.put(u'pushModule', PyJsHoisted_pushModule_) + var.put(u'exportIdent', var.get(u'path').get(u'scope').callprop(u'generateUidIdentifier', Js(u'export'))) + var.put(u'contextIdent', var.get(u'state').get(u'contextIdent')) + var.put(u'exportNames', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.put(u'modules', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.put(u'beforeBody', Js([])) + var.put(u'setters', Js([])) + var.put(u'sources', Js([])) + var.put(u'variableIds', Js([])) + var.put(u'removedPaths', Js([])) + pass + pass + pass + var.put(u'body', var.get(u'path').callprop(u'get', Js(u'body'))) + var.put(u'canHoist', var.get(u'true')) + #for JS loop + var.put(u'_iterator2', var.get(u'body')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i2').get(u'value')) + var.put(u'_path', var.get(u'_ref3')) + if var.get(u'_path').callprop(u'isExportDeclaration'): + var.put(u'_path', var.get(u'_path').callprop(u'get', Js(u'declaration'))) + if (var.get(u'_path').callprop(u'isVariableDeclaration') and PyJsStrictNeq(var.get(u'_path').get(u'node').get(u'kind'),Js(u'var'))): + var.put(u'canHoist', Js(False)) + break + + #for JS loop + var.put(u'_iterator3', var.get(u'body')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator3')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref4', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref4', var.get(u'_i3').get(u'value')) + var.put(u'_path2', var.get(u'_ref4')) + if (var.get(u'canHoist') and var.get(u'_path2').callprop(u'isFunctionDeclaration')): + var.get(u'beforeBody').callprop(u'push', var.get(u'_path2').get(u'node')) + var.get(u'removedPaths').callprop(u'push', var.get(u'_path2')) + else: + if var.get(u'_path2').callprop(u'isImportDeclaration'): + var.put(u'_source', var.get(u'_path2').get(u'node').get(u'source').get(u'value')) + var.get(u'pushModule')(var.get(u'_source'), Js(u'imports'), var.get(u'_path2').get(u'node').get(u'specifiers')) + for PyJsTemp in var.get(u'_path2').callprop(u'getBindingIdentifiers'): + var.put(u'name', PyJsTemp) + var.get(u'_path2').get(u'scope').callprop(u'removeBinding', var.get(u'name')) + var.get(u'variableIds').callprop(u'push', var.get(u't').callprop(u'identifier', var.get(u'name'))) + var.get(u'_path2').callprop(u'remove') + else: + if var.get(u'_path2').callprop(u'isExportAllDeclaration'): + var.get(u'pushModule')(var.get(u'_path2').get(u'node').get(u'source').get(u'value'), Js(u'exports'), var.get(u'_path2').get(u'node')) + var.get(u'_path2').callprop(u'remove') + else: + if var.get(u'_path2').callprop(u'isExportDefaultDeclaration'): + var.put(u'declar', var.get(u'_path2').callprop(u'get', Js(u'declaration'))) + if (var.get(u'declar').callprop(u'isClassDeclaration') or var.get(u'declar').callprop(u'isFunctionDeclaration')): + var.put(u'id', var.get(u'declar').get(u'node').get(u'id')) + var.put(u'nodes', Js([])) + if var.get(u'id'): + var.get(u'nodes').callprop(u'push', var.get(u'declar').get(u'node')) + var.get(u'nodes').callprop(u'push', var.get(u'buildExportCall')(Js(u'default'), var.get(u'id'))) + var.get(u'addExportName')(var.get(u'id').get(u'name'), Js(u'default')) + else: + var.get(u'nodes').callprop(u'push', var.get(u'buildExportCall')(Js(u'default'), var.get(u't').callprop(u'toExpression', var.get(u'declar').get(u'node')))) + if (var.get(u'canHoist').neg() or var.get(u'declar').callprop(u'isClassDeclaration')): + var.get(u'_path2').callprop(u'replaceWithMultiple', var.get(u'nodes')) + else: + var.put(u'beforeBody', var.get(u'beforeBody').callprop(u'concat', var.get(u'nodes'))) + var.get(u'removedPaths').callprop(u'push', var.get(u'_path2')) + else: + var.get(u'_path2').callprop(u'replaceWith', var.get(u'buildExportCall')(Js(u'default'), var.get(u'declar').get(u'node'))) + else: + if var.get(u'_path2').callprop(u'isExportNamedDeclaration'): + var.put(u'_declar', var.get(u'_path2').callprop(u'get', Js(u'declaration'))) + if var.get(u'_declar').get(u'node'): + var.get(u'_path2').callprop(u'replaceWith', var.get(u'_declar')) + var.put(u'_nodes', Js([])) + var.put(u'bindingIdentifiers', PyJsComma(Js(0.0), Js(None))) + if var.get(u'_path2').callprop(u'isFunction'): + var.put(u'_node', var.get(u'_declar').get(u'node')) + var.put(u'_name', var.get(u'_node').get(u'id').get(u'name')) + if var.get(u'canHoist'): + var.get(u'addExportName')(var.get(u'_name'), var.get(u'_name')) + var.get(u'beforeBody').callprop(u'push', var.get(u'_node')) + var.get(u'beforeBody').callprop(u'push', var.get(u'buildExportCall')(var.get(u'_name'), var.get(u'_node').get(u'id'))) + var.get(u'removedPaths').callprop(u'push', var.get(u'_path2')) + else: + pass + PyJs_Object_1041_ = Js({}) + var.put(u'bindingIdentifiers', PyJsComma(PyJsComma(var.put(u'_bindingIdentifiers', PyJs_Object_1041_),var.get(u'_bindingIdentifiers').put(var.get(u'_name'), var.get(u'_node').get(u'id'))),var.get(u'_bindingIdentifiers'))) + else: + var.put(u'bindingIdentifiers', var.get(u'_declar').callprop(u'getBindingIdentifiers')) + for PyJsTemp in var.get(u'bindingIdentifiers'): + var.put(u'_name2', PyJsTemp) + var.get(u'addExportName')(var.get(u'_name2'), var.get(u'_name2')) + var.get(u'_nodes').callprop(u'push', var.get(u'buildExportCall')(var.get(u'_name2'), var.get(u't').callprop(u'identifier', var.get(u'_name2')))) + var.get(u'_path2').callprop(u'insertAfter', var.get(u'_nodes')) + else: + var.put(u'_specifiers', var.get(u'_path2').get(u'node').get(u'specifiers')) + if (var.get(u'_specifiers') and var.get(u'_specifiers').get(u'length')): + if var.get(u'_path2').get(u'node').get(u'source'): + var.get(u'pushModule')(var.get(u'_path2').get(u'node').get(u'source').get(u'value'), Js(u'exports'), var.get(u'_specifiers')) + var.get(u'_path2').callprop(u'remove') + else: + var.put(u'_nodes2', Js([])) + #for JS loop + var.put(u'_iterator7', var.get(u'_specifiers')) + var.put(u'_isArray7', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator7'))) + var.put(u'_i7', Js(0.0)) + var.put(u'_iterator7', (var.get(u'_iterator7') if var.get(u'_isArray7') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator7')))) + while 1: + pass + if var.get(u'_isArray7'): + if (var.get(u'_i7')>=var.get(u'_iterator7').get(u'length')): + break + var.put(u'_ref8', var.get(u'_iterator7').get((var.put(u'_i7',Js(var.get(u'_i7').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i7', var.get(u'_iterator7').callprop(u'next')) + if var.get(u'_i7').get(u'done'): + break + var.put(u'_ref8', var.get(u'_i7').get(u'value')) + var.put(u'_specifier', var.get(u'_ref8')) + var.get(u'_nodes2').callprop(u'push', var.get(u'buildExportCall')(var.get(u'_specifier').get(u'exported').get(u'name'), var.get(u'_specifier').get(u'local'))) + var.get(u'addExportName')(var.get(u'_specifier').get(u'local').get(u'name'), var.get(u'_specifier').get(u'exported').get(u'name')) + + var.get(u'_path2').callprop(u'replaceWithMultiple', var.get(u'_nodes2')) + + for PyJsTemp in var.get(u'modules'): + var.put(u'source', PyJsTemp) + var.put(u'specifiers', var.get(u'modules').get(var.get(u'source'))) + var.put(u'setterBody', Js([])) + var.put(u'target', var.get(u'path').get(u'scope').callprop(u'generateUidIdentifier', var.get(u'source'))) + #for JS loop + var.put(u'_iterator4', var.get(u'specifiers').get(u'imports')) + var.put(u'_isArray4', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator4'))) + var.put(u'_i4', Js(0.0)) + var.put(u'_iterator4', (var.get(u'_iterator4') if var.get(u'_isArray4') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator4')))) + while 1: + pass + if var.get(u'_isArray4'): + if (var.get(u'_i4')>=var.get(u'_iterator4').get(u'length')): + break + var.put(u'_ref5', var.get(u'_iterator4').get((var.put(u'_i4',Js(var.get(u'_i4').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i4', var.get(u'_iterator4').callprop(u'next')) + if var.get(u'_i4').get(u'done'): + break + var.put(u'_ref5', var.get(u'_i4').get(u'value')) + var.put(u'specifier', var.get(u'_ref5')) + if var.get(u't').callprop(u'isImportNamespaceSpecifier', var.get(u'specifier')): + var.get(u'setterBody').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'specifier').get(u'local'), var.get(u'target')))) + else: + if var.get(u't').callprop(u'isImportDefaultSpecifier', var.get(u'specifier')): + var.put(u'specifier', var.get(u't').callprop(u'importSpecifier', var.get(u'specifier').get(u'local'), var.get(u't').callprop(u'identifier', Js(u'default')))) + if var.get(u't').callprop(u'isImportSpecifier', var.get(u'specifier')): + var.get(u'setterBody').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'specifier').get(u'local'), var.get(u't').callprop(u'memberExpression', var.get(u'target'), var.get(u'specifier').get(u'imported'))))) + + if var.get(u'specifiers').get(u'exports').get(u'length'): + var.put(u'exportObjRef', var.get(u'path').get(u'scope').callprop(u'generateUidIdentifier', Js(u'exportObj'))) + var.get(u'setterBody').callprop(u'push', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'exportObjRef'), var.get(u't').callprop(u'objectExpression', Js([])))]))) + #for JS loop + var.put(u'_iterator5', var.get(u'specifiers').get(u'exports')) + var.put(u'_isArray5', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator5'))) + var.put(u'_i5', Js(0.0)) + var.put(u'_iterator5', (var.get(u'_iterator5') if var.get(u'_isArray5') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator5')))) + while 1: + pass + if var.get(u'_isArray5'): + if (var.get(u'_i5')>=var.get(u'_iterator5').get(u'length')): + break + var.put(u'_ref6', var.get(u'_iterator5').get((var.put(u'_i5',Js(var.get(u'_i5').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i5', var.get(u'_iterator5').callprop(u'next')) + if var.get(u'_i5').get(u'done'): + break + var.put(u'_ref6', var.get(u'_i5').get(u'value')) + var.put(u'node', var.get(u'_ref6')) + if var.get(u't').callprop(u'isExportAllDeclaration', var.get(u'node')): + PyJs_Object_1042_ = Js({u'KEY':var.get(u'path').get(u'scope').callprop(u'generateUidIdentifier', Js(u'key')),u'EXPORT_OBJ':var.get(u'exportObjRef'),u'TARGET':var.get(u'target')}) + var.get(u'setterBody').callprop(u'push', var.get(u'buildExportAll')(PyJs_Object_1042_)) + else: + if var.get(u't').callprop(u'isExportSpecifier', var.get(u'node')): + var.get(u'setterBody').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u't').callprop(u'memberExpression', var.get(u'exportObjRef'), var.get(u'node').get(u'exported')), var.get(u't').callprop(u'memberExpression', var.get(u'target'), var.get(u'node').get(u'local'))))) + else: + pass + + var.get(u'setterBody').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'callExpression', var.get(u'exportIdent'), Js([var.get(u'exportObjRef')])))) + var.get(u'sources').callprop(u'push', var.get(u't').callprop(u'stringLiteral', var.get(u'source'))) + var.get(u'setters').callprop(u'push', var.get(u't').callprop(u'functionExpression', var.get(u"null"), Js([var.get(u'target')]), var.get(u't').callprop(u'blockStatement', var.get(u'setterBody')))) + var.put(u'moduleName', var.get(u"this").callprop(u'getModuleName')) + if var.get(u'moduleName'): + var.put(u'moduleName', var.get(u't').callprop(u'stringLiteral', var.get(u'moduleName'))) + if var.get(u'canHoist'): + @Js + def PyJs_anonymous_1043_(id, this, arguments, var=var): + var = Scope({u'this':this, u'id':id, u'arguments':arguments}, var) + var.registers([u'id']) + return var.get(u'variableIds').callprop(u'push', var.get(u'id')) + PyJs_anonymous_1043_._set_name(u'anonymous') + PyJsComma(Js(0.0),var.get(u'_babelHelperHoistVariables2').get(u'default'))(var.get(u'path'), PyJs_anonymous_1043_) + if var.get(u'variableIds').get(u'length'): + @Js + def PyJs_anonymous_1044_(id, this, arguments, var=var): + var = Scope({u'this':this, u'id':id, u'arguments':arguments}, var) + var.registers([u'id']) + return var.get(u't').callprop(u'variableDeclarator', var.get(u'id')) + PyJs_anonymous_1044_._set_name(u'anonymous') + var.get(u'beforeBody').callprop(u'unshift', var.get(u't').callprop(u'variableDeclaration', Js(u'var'), var.get(u'variableIds').callprop(u'map', PyJs_anonymous_1044_))) + PyJs_Object_1045_ = Js({u'exports':var.get(u'exportNames'),u'buildCall':var.get(u'buildExportCall'),u'scope':var.get(u'path').get(u'scope')}) + var.get(u'path').callprop(u'traverse', var.get(u'reassignmentVisitor'), PyJs_Object_1045_) + #for JS loop + var.put(u'_iterator6', var.get(u'removedPaths')) + var.put(u'_isArray6', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator6'))) + var.put(u'_i6', Js(0.0)) + var.put(u'_iterator6', (var.get(u'_iterator6') if var.get(u'_isArray6') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator6')))) + while 1: + pass + if var.get(u'_isArray6'): + if (var.get(u'_i6')>=var.get(u'_iterator6').get(u'length')): + break + var.put(u'_ref7', var.get(u'_iterator6').get((var.put(u'_i6',Js(var.get(u'_i6').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i6', var.get(u'_iterator6').callprop(u'next')) + if var.get(u'_i6').get(u'done'): + break + var.put(u'_ref7', var.get(u'_i6').get(u'value')) + var.put(u'_path3', var.get(u'_ref7')) + var.get(u'_path3').callprop(u'remove') + + PyJs_Object_1046_ = Js({u'SYSTEM_REGISTER':var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'identifier', (var.get(u'state').get(u'opts').get(u'systemGlobal') or Js(u'System'))), var.get(u't').callprop(u'identifier', Js(u'register'))),u'BEFORE_BODY':var.get(u'beforeBody'),u'MODULE_NAME':var.get(u'moduleName'),u'SETTERS':var.get(u'setters'),u'SOURCES':var.get(u'sources'),u'BODY':var.get(u'path').get(u'node').get(u'body'),u'EXPORT_IDENTIFIER':var.get(u'exportIdent'),u'CONTEXT_IDENTIFIER':var.get(u'contextIdent')}) + var.get(u'path').get(u'node').put(u'body', Js([var.get(u'buildTemplate')(PyJs_Object_1046_)])) + PyJs_exit_1039_._set_name(u'exit') + PyJs_Object_1037_ = Js({u'enter':PyJs_enter_1038_,u'exit':PyJs_exit_1039_}) + PyJs_Object_1035_ = Js({u'ReferencedIdentifier':PyJs_ReferencedIdentifier_1036_,u'Program':PyJs_Object_1037_}) + PyJs_Object_1034_ = Js({u'visitor':PyJs_Object_1035_}) + return PyJs_Object_1034_ + PyJs_anonymous_1031_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1031_) + var.put(u'_babelHelperHoistVariables', var.get(u'require')(Js(u'babel-helper-hoist-variables'))) + var.put(u'_babelHelperHoistVariables2', var.get(u'_interopRequireDefault')(var.get(u'_babelHelperHoistVariables'))) + var.put(u'_babelTemplate', var.get(u'require')(Js(u'babel-template'))) + var.put(u'_babelTemplate2', var.get(u'_interopRequireDefault')(var.get(u'_babelTemplate'))) + pass + var.put(u'buildTemplate', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n SYSTEM_REGISTER(MODULE_NAME, [SOURCES], function (EXPORT_IDENTIFIER, CONTEXT_IDENTIFIER) {\n "use strict";\n BEFORE_BODY;\n return {\n setters: [SETTERS],\n execute: function () {\n BODY;\n }\n };\n });\n'))) + var.put(u'buildExportAll', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n for (var KEY in TARGET) {\n if (KEY !== "default" && KEY !== "__esModule") EXPORT_OBJ[KEY] = TARGET[KEY];\n }\n'))) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1030_._set_name(u'anonymous') +PyJs_Object_1048_ = Js({u'babel-helper-hoist-variables':Js(51.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/core-js/object/create':Js(101.0),u'babel-runtime/core-js/symbol':Js(105.0),u'babel-template':Js(221.0)}) +@Js +def PyJs_anonymous_1049_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'_babelTemplate', u'module', u'_babelTemplate2', u'buildWrapper', u'buildGlobalExport', u'_interopRequireDefault', u'buildPrerequisiteAssignment', u'_path']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1064_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1064_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_1050_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'_ref', u'isValidDefine', u't']) + @Js + def PyJsHoisted_isValidDefine_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'expr', u'args', u'path']) + if var.get(u'path').callprop(u'isExpressionStatement').neg(): + return var.get('undefined') + var.put(u'expr', var.get(u'path').callprop(u'get', Js(u'expression'))) + if var.get(u'expr').callprop(u'isCallExpression').neg(): + return Js(False) + PyJs_Object_1051_ = Js({u'name':Js(u'define')}) + if var.get(u'expr').callprop(u'get', Js(u'callee')).callprop(u'isIdentifier', PyJs_Object_1051_).neg(): + return Js(False) + var.put(u'args', var.get(u'expr').callprop(u'get', Js(u'arguments'))) + if (PyJsStrictEq(var.get(u'args').get(u'length'),Js(3.0)) and var.get(u'args').callprop(u'shift').callprop(u'isStringLiteral').neg()): + return Js(False) + if PyJsStrictNeq(var.get(u'args').get(u'length'),Js(2.0)): + return Js(False) + if var.get(u'args').callprop(u'shift').callprop(u'isArrayExpression').neg(): + return Js(False) + if var.get(u'args').callprop(u'shift').callprop(u'isFunctionExpression').neg(): + return Js(False) + return var.get(u'true') + PyJsHoisted_isValidDefine_.func_name = u'isValidDefine' + var.put(u'isValidDefine', PyJsHoisted_isValidDefine_) + var.put(u't', var.get(u'_ref').get(u'types')) + pass + @Js + def PyJs_exit_1055_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'exit':PyJs_exit_1055_, u'arguments':arguments}, var) + var.registers([u'browserGlobals', u'moduleName', u'last', u'members', u'globalName', u'args', u'browserArgs', u'commonArgs', u'amdArgs', u'state', u'call', u'func', u'globalToAssign', u'moduleNameOrBasename', u'path', u'globalExport', u'prerequisiteAssignments']) + var.put(u'last', var.get(u'path').callprop(u'get', Js(u'body')).callprop(u'pop')) + if var.get(u'isValidDefine')(var.get(u'last')).neg(): + return var.get('undefined') + var.put(u'call', var.get(u'last').get(u'node').get(u'expression')) + var.put(u'args', var.get(u'call').get(u'arguments')) + var.put(u'moduleName', (var.get(u'args').callprop(u'shift') if PyJsStrictEq(var.get(u'args').get(u'length'),Js(3.0)) else var.get(u"null"))) + var.put(u'amdArgs', var.get(u'call').get(u'arguments').get(u'0')) + var.put(u'func', var.get(u'call').get(u'arguments').get(u'1')) + PyJs_Object_1056_ = Js({}) + var.put(u'browserGlobals', (var.get(u'state').get(u'opts').get(u'globals') or PyJs_Object_1056_)) + @Js + def PyJs_anonymous_1057_(arg, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'arg':arg}, var) + var.registers([u'arg']) + if (PyJsStrictEq(var.get(u'arg').get(u'value'),Js(u'module')) or PyJsStrictEq(var.get(u'arg').get(u'value'),Js(u'exports'))): + return var.get(u't').callprop(u'identifier', var.get(u'arg').get(u'value')) + else: + return var.get(u't').callprop(u'callExpression', var.get(u't').callprop(u'identifier', Js(u'require')), Js([var.get(u'arg')])) + PyJs_anonymous_1057_._set_name(u'anonymous') + var.put(u'commonArgs', var.get(u'amdArgs').get(u'elements').callprop(u'map', PyJs_anonymous_1057_)) + @Js + def PyJs_anonymous_1058_(arg, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'arg':arg}, var) + var.registers([u'memberExpression', u'globalRef', u'arg', u'globalName', u'requireName']) + if PyJsStrictEq(var.get(u'arg').get(u'value'),Js(u'module')): + return var.get(u't').callprop(u'identifier', Js(u'mod')) + else: + if PyJsStrictEq(var.get(u'arg').get(u'value'),Js(u'exports')): + return var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'identifier', Js(u'mod')), var.get(u't').callprop(u'identifier', Js(u'exports'))) + else: + var.put(u'memberExpression', PyJsComma(Js(0.0), Js(None))) + if var.get(u'state').get(u'opts').get(u'exactGlobals'): + var.put(u'globalRef', var.get(u'browserGlobals').get(var.get(u'arg').get(u'value'))) + if var.get(u'globalRef'): + @Js + def PyJs_anonymous_1059_(accum, curr, this, arguments, var=var): + var = Scope({u'this':this, u'curr':curr, u'accum':accum, u'arguments':arguments}, var) + var.registers([u'curr', u'accum']) + return var.get(u't').callprop(u'memberExpression', var.get(u'accum'), var.get(u't').callprop(u'identifier', var.get(u'curr'))) + PyJs_anonymous_1059_._set_name(u'anonymous') + var.put(u'memberExpression', var.get(u'globalRef').callprop(u'split', Js(u'.')).callprop(u'reduce', PyJs_anonymous_1059_, var.get(u't').callprop(u'identifier', Js(u'global')))) + else: + var.put(u'memberExpression', var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'identifier', Js(u'global')), var.get(u't').callprop(u'identifier', var.get(u't').callprop(u'toIdentifier', var.get(u'arg').get(u'value'))))) + else: + var.put(u'requireName', PyJsComma(Js(0.0),var.get(u'_path').get(u'basename'))(var.get(u'arg').get(u'value'), PyJsComma(Js(0.0),var.get(u'_path').get(u'extname'))(var.get(u'arg').get(u'value')))) + var.put(u'globalName', (var.get(u'browserGlobals').get(var.get(u'requireName')) or var.get(u'requireName'))) + var.put(u'memberExpression', var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'identifier', Js(u'global')), var.get(u't').callprop(u'identifier', var.get(u't').callprop(u'toIdentifier', var.get(u'globalName'))))) + return var.get(u'memberExpression') + PyJs_anonymous_1058_._set_name(u'anonymous') + var.put(u'browserArgs', var.get(u'amdArgs').get(u'elements').callprop(u'map', PyJs_anonymous_1058_)) + var.put(u'moduleNameOrBasename', (var.get(u'moduleName').get(u'value') if var.get(u'moduleName') else var.get(u"this").get(u'file').get(u'opts').get(u'basename'))) + var.put(u'globalToAssign', var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'identifier', Js(u'global')), var.get(u't').callprop(u'identifier', var.get(u't').callprop(u'toIdentifier', var.get(u'moduleNameOrBasename'))))) + var.put(u'prerequisiteAssignments', var.get(u"null")) + if var.get(u'state').get(u'opts').get(u'exactGlobals'): + var.put(u'globalName', var.get(u'browserGlobals').get(var.get(u'moduleNameOrBasename'))) + if var.get(u'globalName'): + var.put(u'prerequisiteAssignments', Js([])) + var.put(u'members', var.get(u'globalName').callprop(u'split', Js(u'.'))) + @Js + def PyJs_anonymous_1060_(accum, curr, this, arguments, var=var): + var = Scope({u'this':this, u'curr':curr, u'accum':accum, u'arguments':arguments}, var) + var.registers([u'curr', u'accum']) + PyJs_Object_1061_ = Js({u'GLOBAL_REFERENCE':var.get(u'accum')}) + var.get(u'prerequisiteAssignments').callprop(u'push', var.get(u'buildPrerequisiteAssignment')(PyJs_Object_1061_)) + return var.get(u't').callprop(u'memberExpression', var.get(u'accum'), var.get(u't').callprop(u'identifier', var.get(u'curr'))) + PyJs_anonymous_1060_._set_name(u'anonymous') + var.put(u'globalToAssign', var.get(u'members').callprop(u'slice', Js(1.0)).callprop(u'reduce', PyJs_anonymous_1060_, var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'identifier', Js(u'global')), var.get(u't').callprop(u'identifier', var.get(u'members').get(u'0'))))) + PyJs_Object_1062_ = Js({u'BROWSER_ARGUMENTS':var.get(u'browserArgs'),u'PREREQUISITE_ASSIGNMENTS':var.get(u'prerequisiteAssignments'),u'GLOBAL_TO_ASSIGN':var.get(u'globalToAssign')}) + var.put(u'globalExport', var.get(u'buildGlobalExport')(PyJs_Object_1062_)) + PyJs_Object_1063_ = Js({u'MODULE_NAME':var.get(u'moduleName'),u'AMD_ARGUMENTS':var.get(u'amdArgs'),u'COMMON_ARGUMENTS':var.get(u'commonArgs'),u'GLOBAL_EXPORT':var.get(u'globalExport'),u'FUNC':var.get(u'func')}) + var.get(u'last').callprop(u'replaceWith', var.get(u'buildWrapper')(PyJs_Object_1063_)) + PyJs_exit_1055_._set_name(u'exit') + PyJs_Object_1054_ = Js({u'exit':PyJs_exit_1055_}) + PyJs_Object_1053_ = Js({u'Program':PyJs_Object_1054_}) + PyJs_Object_1052_ = Js({u'inherits':var.get(u'require')(Js(u'babel-plugin-transform-es2015-modules-amd')),u'visitor':PyJs_Object_1053_}) + return PyJs_Object_1052_ + PyJs_anonymous_1050_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1050_) + var.put(u'_path', var.get(u'require')(Js(u'path'))) + var.put(u'_babelTemplate', var.get(u'require')(Js(u'babel-template'))) + var.put(u'_babelTemplate2', var.get(u'_interopRequireDefault')(var.get(u'_babelTemplate'))) + pass + var.put(u'buildPrerequisiteAssignment', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n GLOBAL_REFERENCE = GLOBAL_REFERENCE || {}\n'))) + var.put(u'buildGlobalExport', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n var mod = { exports: {} };\n factory(BROWSER_ARGUMENTS);\n PREREQUISITE_ASSIGNMENTS\n GLOBAL_TO_ASSIGN = mod.exports;\n'))) + var.put(u'buildWrapper', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n (function (global, factory) {\n if (typeof define === "function" && define.amd) {\n define(MODULE_NAME, AMD_ARGUMENTS, factory);\n } else if (typeof exports !== "undefined") {\n factory(COMMON_ARGUMENTS);\n } else {\n GLOBAL_EXPORT\n }\n })(this, FUNC);\n'))) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1049_._set_name(u'anonymous') +PyJs_Object_1065_ = Js({u'babel-plugin-transform-es2015-modules-amd':Js(72.0),u'babel-template':Js(221.0),u'path':Js(530.0)}) +@Js +def PyJs_anonymous_1066_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_babelHelperReplaceSupers2', u'exports', u'_symbol2', u'require', u'module', u'_symbol', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'_babelHelperReplaceSupers']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1077_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1077_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_symbol', var.get(u'require')(Js(u'babel-runtime/core-js/symbol'))) + var.put(u'_symbol2', var.get(u'_interopRequireDefault')(var.get(u'_symbol'))) + @Js + def PyJs_anonymous_1067_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'_ref', u'Property', u't', u'CONTAINS_SUPER']) + @Js + def PyJsHoisted_Property_(path, node, scope, getObjectRef, file, this, arguments, var=var): + var = Scope({u'node':node, u'getObjectRef':getObjectRef, u'arguments':arguments, u'file':file, u'scope':scope, u'this':this, u'path':path}, var) + var.registers([u'node', u'getObjectRef', u'replaceSupers', u'file', u'scope', u'path']) + PyJs_Object_1068_ = Js({u'getObjectRef':var.get(u'getObjectRef'),u'methodNode':var.get(u'node'),u'methodPath':var.get(u'path'),u'isStatic':var.get(u'true'),u'scope':var.get(u'scope'),u'file':var.get(u'file')}) + var.put(u'replaceSupers', var.get(u'_babelHelperReplaceSupers2').get(u'default').create(PyJs_Object_1068_)) + var.get(u'replaceSupers').callprop(u'replace') + PyJsHoisted_Property_.func_name = u'Property' + var.put(u'Property', PyJsHoisted_Property_) + var.put(u't', var.get(u'_ref').get(u'types')) + pass + var.put(u'CONTAINS_SUPER', PyJsComma(Js(0.0),var.get(u'_symbol2').get(u'default'))()) + @Js + def PyJs_Super_1071_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'Super':PyJs_Super_1071_, u'arguments':arguments}, var) + var.registers([u'path', u'parentObj']) + @Js + def PyJs_anonymous_1072_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + return var.get(u'path').callprop(u'isObjectExpression') + PyJs_anonymous_1072_._set_name(u'anonymous') + var.put(u'parentObj', var.get(u'path').callprop(u'findParent', PyJs_anonymous_1072_)) + if var.get(u'parentObj'): + var.get(u'parentObj').get(u'node').put(var.get(u'CONTAINS_SUPER'), var.get(u'true')) + PyJs_Super_1071_._set_name(u'Super') + @Js + def PyJs_exit_1074_(path, file, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'exit':PyJs_exit_1074_, u'arguments':arguments, u'file':file}, var) + var.registers([u'getObjectRef', u'objectRef', u'_isArray', u'_iterator', u'file', u'propPath', u'_ref2', u'propPaths', u'_i', u'path']) + if var.get(u'path').get(u'node').get(var.get(u'CONTAINS_SUPER')).neg(): + return var.get('undefined') + var.put(u'objectRef', PyJsComma(Js(0.0), Js(None))) + @Js + def PyJs_getObjectRef_1075_(this, arguments, var=var): + var = Scope({u'this':this, u'getObjectRef':PyJs_getObjectRef_1075_, u'arguments':arguments}, var) + var.registers([]) + return var.put(u'objectRef', (var.get(u'objectRef') or var.get(u'path').get(u'scope').callprop(u'generateUidIdentifier', Js(u'obj')))) + PyJs_getObjectRef_1075_._set_name(u'getObjectRef') + var.put(u'getObjectRef', PyJs_getObjectRef_1075_) + var.put(u'propPaths', var.get(u'path').callprop(u'get', Js(u'properties'))) + #for JS loop + var.put(u'_iterator', var.get(u'propPaths')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i').get(u'value')) + var.put(u'propPath', var.get(u'_ref2')) + if var.get(u'propPath').callprop(u'isObjectProperty'): + var.put(u'propPath', var.get(u'propPath').callprop(u'get', Js(u'value'))) + var.get(u'Property')(var.get(u'propPath'), var.get(u'propPath').get(u'node'), var.get(u'path').get(u'scope'), var.get(u'getObjectRef'), var.get(u'file')) + + if var.get(u'objectRef'): + PyJs_Object_1076_ = Js({u'id':var.get(u'objectRef')}) + var.get(u'path').get(u'scope').callprop(u'push', PyJs_Object_1076_) + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'objectRef'), var.get(u'path').get(u'node'))) + PyJs_exit_1074_._set_name(u'exit') + PyJs_Object_1073_ = Js({u'exit':PyJs_exit_1074_}) + PyJs_Object_1070_ = Js({u'Super':PyJs_Super_1071_,u'ObjectExpression':PyJs_Object_1073_}) + PyJs_Object_1069_ = Js({u'visitor':PyJs_Object_1070_}) + return PyJs_Object_1069_ + PyJs_anonymous_1067_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1067_) + var.put(u'_babelHelperReplaceSupers', var.get(u'require')(Js(u'babel-helper-replace-supers'))) + var.put(u'_babelHelperReplaceSupers2', var.get(u'_interopRequireDefault')(var.get(u'_babelHelperReplaceSupers'))) + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1066_._set_name(u'anonymous') +PyJs_Object_1078_ = Js({u'babel-helper-replace-supers':Js(54.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/core-js/symbol':Js(105.0)}) +@Js +def PyJs_anonymous_1079_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_babelHelperCallDelegate', u'module', u'require', u'_babelHelperCallDelegate2', u'exports', u'_interopRequireWildcard', u'visitor', u'_babelHelperGetFunctionArity', u'_babelTypes', u'_babelHelperGetFunctionArity2', u'iifeVisitor', u'_babelTemplate', u'isSafeBinding', u'_babelTemplate2', u't', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'buildCutOff', u'hasDefaults', u'buildDefaultParam']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1081_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1081_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_isSafeBinding_(scope, node, this, arguments, var=var): + var = Scope({u'node':node, u'scope':scope, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'scope', u'kind', u'_scope$getOwnBinding']) + if var.get(u'scope').callprop(u'hasOwnBinding', var.get(u'node').get(u'name')).neg(): + return var.get(u'true') + var.put(u'_scope$getOwnBinding', var.get(u'scope').callprop(u'getOwnBinding', var.get(u'node').get(u'name'))) + var.put(u'kind', var.get(u'_scope$getOwnBinding').get(u'kind')) + return (PyJsStrictEq(var.get(u'kind'),Js(u'param')) or PyJsStrictEq(var.get(u'kind'),Js(u'local'))) + PyJsHoisted_isSafeBinding_.func_name = u'isSafeBinding' + var.put(u'isSafeBinding', PyJsHoisted_isSafeBinding_) + @Js + def PyJsHoisted_hasDefaults_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'_isArray', u'_iterator', u'param', u'_i', u'_ref']) + #for JS loop + var.put(u'_iterator', var.get(u'node').get(u'params')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'param', var.get(u'_ref')) + if var.get(u't').callprop(u'isIdentifier', var.get(u'param')).neg(): + return var.get(u'true') + + return Js(False) + PyJsHoisted_hasDefaults_.func_name = u'hasDefaults' + var.put(u'hasDefaults', PyJsHoisted_hasDefaults_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1080_ = Js({}) + var.put(u'newObj', PyJs_Object_1080_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'visitor', var.get(u'undefined')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_babelHelperGetFunctionArity', var.get(u'require')(Js(u'babel-helper-get-function-arity'))) + var.put(u'_babelHelperGetFunctionArity2', var.get(u'_interopRequireDefault')(var.get(u'_babelHelperGetFunctionArity'))) + var.put(u'_babelHelperCallDelegate', var.get(u'require')(Js(u'babel-helper-call-delegate'))) + var.put(u'_babelHelperCallDelegate2', var.get(u'_interopRequireDefault')(var.get(u'_babelHelperCallDelegate'))) + var.put(u'_babelTemplate', var.get(u'require')(Js(u'babel-template'))) + var.put(u'_babelTemplate2', var.get(u'_interopRequireDefault')(var.get(u'_babelTemplate'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + var.put(u'buildDefaultParam', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n let VARIABLE_NAME =\n ARGUMENTS.length > ARGUMENT_KEY && ARGUMENTS[ARGUMENT_KEY] !== undefined ?\n ARGUMENTS[ARGUMENT_KEY]\n :\n DEFAULT_VALUE;\n'))) + var.put(u'buildCutOff', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n let $0 = $1[$2];\n'))) + pass + pass + @Js + def PyJs_ReferencedIdentifier_1083_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'ReferencedIdentifier':PyJs_ReferencedIdentifier_1083_, u'arguments':arguments}, var) + var.registers([u'node', u'scope', u'state', u'path']) + var.put(u'scope', var.get(u'path').get(u'scope')) + var.put(u'node', var.get(u'path').get(u'node')) + if (PyJsStrictEq(var.get(u'node').get(u'name'),Js(u'eval')) or var.get(u'isSafeBinding')(var.get(u'scope'), var.get(u'node')).neg()): + var.get(u'state').put(u'iife', var.get(u'true')) + var.get(u'path').callprop(u'stop') + PyJs_ReferencedIdentifier_1083_._set_name(u'ReferencedIdentifier') + @Js + def PyJs_Scope_1084_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'Scope':PyJs_Scope_1084_}, var) + var.registers([u'path']) + var.get(u'path').callprop(u'skip') + PyJs_Scope_1084_._set_name(u'Scope') + PyJs_Object_1082_ = Js({u'ReferencedIdentifier':PyJs_ReferencedIdentifier_1083_,u'Scope':PyJs_Scope_1084_}) + var.put(u'iifeVisitor', PyJs_Object_1082_) + @Js + def PyJs_Function_1086_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'Function':PyJs_Function_1086_, u'arguments':arguments}, var) + var.registers([u'node', u'body', u'pushDefNode', u'right', u'lastNonDefaultParam', u'i', u'argsIdentifier', u'_i2', u'param', u'_param', u'state', u'declar', u'params', u'path', u'scope', u'placeholder', u'left']) + @Js + def PyJsHoisted_pushDefNode_(left, right, i, this, arguments, var=var): + var = Scope({u'i':i, u'this':this, u'right':right, u'arguments':arguments, u'left':left}, var) + var.registers([u'i', u'defNode', u'right', u'left']) + PyJs_Object_1088_ = Js({u'VARIABLE_NAME':var.get(u'left'),u'DEFAULT_VALUE':var.get(u'right'),u'ARGUMENT_KEY':var.get(u't').callprop(u'numericLiteral', var.get(u'i')),u'ARGUMENTS':var.get(u'argsIdentifier')}) + var.put(u'defNode', var.get(u'buildDefaultParam')(PyJs_Object_1088_)) + var.get(u'defNode').put(u'_blockHoist', (var.get(u'node').get(u'params').get(u'length')-var.get(u'i'))) + var.get(u'body').callprop(u'push', var.get(u'defNode')) + PyJsHoisted_pushDefNode_.func_name = u'pushDefNode' + var.put(u'pushDefNode', PyJsHoisted_pushDefNode_) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'scope', var.get(u'path').get(u'scope')) + if var.get(u'hasDefaults')(var.get(u'node')).neg(): + return var.get('undefined') + var.get(u'path').callprop(u'ensureBlock') + PyJs_Object_1087_ = Js({u'iife':Js(False),u'scope':var.get(u'scope')}) + var.put(u'state', PyJs_Object_1087_) + var.put(u'body', Js([])) + var.put(u'argsIdentifier', var.get(u't').callprop(u'identifier', Js(u'arguments'))) + var.get(u'argsIdentifier').put(u'_shadowedFunctionLiteral', var.get(u'path')) + pass + var.put(u'lastNonDefaultParam', PyJsComma(Js(0.0),var.get(u'_babelHelperGetFunctionArity2').get(u'default'))(var.get(u'node'))) + var.put(u'params', var.get(u'path').callprop(u'get', Js(u'params'))) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=var.get(u'lastNonDefaultParam')) or var.get(u'left').callprop(u'isPattern')): + var.put(u'placeholder', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'x'))) + var.get(u'placeholder').put(u'_isDefaultPlaceholder', var.get(u'true')) + var.get(u'node').get(u'params').put(var.get(u'i'), var.get(u'placeholder')) + else: + var.get(u'node').get(u'params').put(var.get(u'i'), var.get(u'left').get(u'node')) + if var.get(u'state').get(u'iife').neg(): + if (var.get(u'right').callprop(u'isIdentifier') and var.get(u'isSafeBinding')(var.get(u'scope'), var.get(u'right').get(u'node')).neg()): + var.get(u'state').put(u'iife', var.get(u'true')) + else: + var.get(u'right').callprop(u'traverse', var.get(u'iifeVisitor'), var.get(u'state')) + var.get(u'pushDefNode')(var.get(u'left').get(u'node'), var.get(u'right').get(u'node'), var.get(u'i')) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + #for JS loop + var.put(u'_i2', (var.get(u'lastNonDefaultParam')+Js(1.0))) + while (var.get(u'_i2')=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'param', var.get(u'_ref')) + if (var.get(u'param').callprop(u'isRestElement') or var.get(u'param').callprop(u'isAssignmentPattern')): + var.get(u'path').callprop(u'arrowFunctionToShadowed') + break + + PyJs_ArrowFunctionExpression_1099_._set_name(u'ArrowFunctionExpression') + PyJs_Object_1098_ = Js({u'ArrowFunctionExpression':PyJs_ArrowFunctionExpression_1099_}) + PyJs_Object_1097_ = Js({u'visitor':var.get(u'_babelTraverse').get(u'visitors').callprop(u'merge', Js([PyJs_Object_1098_, var.get(u'destructuring').get(u'visitor'), var.get(u'rest').get(u'visitor'), var.get(u'def').get(u'visitor')]))}) + return PyJs_Object_1097_ + PyJs_anonymous_1096_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1096_) + var.put(u'_babelTraverse', var.get(u'require')(Js(u'babel-traverse'))) + var.put(u'_destructuring', var.get(u'require')(Js(u'./destructuring'))) + var.put(u'destructuring', var.get(u'_interopRequireWildcard')(var.get(u'_destructuring'))) + var.put(u'_default', var.get(u'require')(Js(u'./default'))) + var.put(u'def', var.get(u'_interopRequireWildcard')(var.get(u'_default'))) + var.put(u'_rest', var.get(u'require')(Js(u'./rest'))) + var.put(u'rest', var.get(u'_interopRequireWildcard')(var.get(u'_rest'))) + pass + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1095_._set_name(u'anonymous') +PyJs_Object_1102_ = Js({u'./default':Js(77.0),u'./destructuring':Js(78.0),u'./rest':Js(80.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-traverse':Js(225.0)}) +@Js +def PyJs_anonymous_1103_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'restIndexImpure', u'exports', u'optimiseLengthGetter', u'hasRest', u'_interopRequireWildcard', u'visitor', u'require', u'_babelTypes', u'_babelTemplate', u'module', u'restIndex', u'buildRest', u'_babelTemplate2', u't', u'_interopRequireDefault', u'restLength', u'_getIterator2', u'_getIterator3', u'optimiseIndexGetter', u'memberExpressionOptimisationVisitor']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1105_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1105_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_optimiseLengthGetter_(path, argsId, offset, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'argsId':argsId, u'offset':offset}, var) + var.registers([u'path', u'argsId', u'offset']) + if var.get(u'offset'): + PyJs_Object_1121_ = Js({u'ARGUMENTS':var.get(u'argsId'),u'OFFSET':var.get(u't').callprop(u'numericLiteral', var.get(u'offset'))}) + var.get(u'path').get(u'parentPath').callprop(u'replaceWith', var.get(u'restLength')(PyJs_Object_1121_)) + else: + var.get(u'path').callprop(u'replaceWith', var.get(u'argsId')) + PyJsHoisted_optimiseLengthGetter_.func_name = u'optimiseLengthGetter' + var.put(u'optimiseLengthGetter', PyJsHoisted_optimiseLengthGetter_) + @Js + def PyJsHoisted_optimiseIndexGetter_(path, argsId, offset, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'argsId':argsId, u'offset':offset}, var) + var.registers([u'index', u'temp', u'argsId', u'offset', u'path', u'scope']) + var.put(u'index', PyJsComma(Js(0.0), Js(None))) + if var.get(u't').callprop(u'isNumericLiteral', var.get(u'path').get(u'parent').get(u'property')): + var.put(u'index', var.get(u't').callprop(u'numericLiteral', (var.get(u'path').get(u'parent').get(u'property').get(u'value')+var.get(u'offset')))) + else: + if PyJsStrictEq(var.get(u'offset'),Js(0.0)): + var.put(u'index', var.get(u'path').get(u'parent').get(u'property')) + else: + var.put(u'index', var.get(u't').callprop(u'binaryExpression', Js(u'+'), var.get(u'path').get(u'parent').get(u'property'), var.get(u't').callprop(u'numericLiteral', var.get(u'offset')))) + var.put(u'scope', var.get(u'path').get(u'scope')) + if var.get(u'scope').callprop(u'isPure', var.get(u'index')).neg(): + var.put(u'temp', var.get(u'scope').callprop(u'generateUidIdentifierBasedOnNode', var.get(u'index'))) + PyJs_Object_1118_ = Js({u'id':var.get(u'temp'),u'kind':Js(u'var')}) + var.get(u'scope').callprop(u'push', PyJs_Object_1118_) + PyJs_Object_1119_ = Js({u'ARGUMENTS':var.get(u'argsId'),u'INDEX':var.get(u'index'),u'REF':var.get(u'temp')}) + var.get(u'path').get(u'parentPath').callprop(u'replaceWith', var.get(u'restIndexImpure')(PyJs_Object_1119_)) + else: + PyJs_Object_1120_ = Js({u'ARGUMENTS':var.get(u'argsId'),u'INDEX':var.get(u'index')}) + var.get(u'path').get(u'parentPath').callprop(u'replaceWith', var.get(u'restIndex')(PyJs_Object_1120_)) + PyJsHoisted_optimiseIndexGetter_.func_name = u'optimiseIndexGetter' + var.put(u'optimiseIndexGetter', PyJsHoisted_optimiseIndexGetter_) + @Js + def PyJsHoisted_hasRest_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + return var.get(u't').callprop(u'isRestElement', var.get(u'node').get(u'params').get((var.get(u'node').get(u'params').get(u'length')-Js(1.0)))) + PyJsHoisted_hasRest_.func_name = u'hasRest' + var.put(u'hasRest', PyJsHoisted_hasRest_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1104_ = Js({}) + var.put(u'newObj', PyJs_Object_1104_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'visitor', var.get(u'undefined')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_babelTemplate', var.get(u'require')(Js(u'babel-template'))) + var.put(u'_babelTemplate2', var.get(u'_interopRequireDefault')(var.get(u'_babelTemplate'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + var.put(u'buildRest', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n for (var LEN = ARGUMENTS.length,\n ARRAY = Array(ARRAY_LEN),\n KEY = START;\n KEY < LEN;\n KEY++) {\n ARRAY[ARRAY_KEY] = ARGUMENTS[KEY];\n }\n'))) + var.put(u'restIndex', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n ARGUMENTS.length <= INDEX ? undefined : ARGUMENTS[INDEX]\n'))) + var.put(u'restIndexImpure', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n REF = INDEX, ARGUMENTS.length <= REF ? undefined : ARGUMENTS[REF]\n'))) + var.put(u'restLength', PyJsComma(Js(0.0),var.get(u'_babelTemplate2').get(u'default'))(Js(u'\n ARGUMENTS.length <= OFFSET ? 0 : ARGUMENTS.length - OFFSET\n'))) + @Js + def PyJs_Scope_1107_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'Scope':PyJs_Scope_1107_}, var) + var.registers([u'path', u'state']) + if var.get(u'path').get(u'scope').callprop(u'bindingIdentifierEquals', var.get(u'state').get(u'name'), var.get(u'state').get(u'outerBinding')).neg(): + var.get(u'path').callprop(u'skip') + PyJs_Scope_1107_._set_name(u'Scope') + @Js + def PyJs_Flow_1108_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'Flow':PyJs_Flow_1108_, u'arguments':arguments}, var) + var.registers([u'path']) + if var.get(u'path').callprop(u'isTypeCastExpression'): + return var.get('undefined') + var.get(u'path').callprop(u'skip') + PyJs_Flow_1108_._set_name(u'Flow') + @Js + def PyJs_FunctionClassProperty_1109_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'FunctionClassProperty':PyJs_FunctionClassProperty_1109_}, var) + var.registers([u'oldNoOptimise', u'state', u'path']) + var.put(u'oldNoOptimise', var.get(u'state').get(u'noOptimise')) + var.get(u'state').put(u'noOptimise', var.get(u'true')) + var.get(u'path').callprop(u'traverse', var.get(u'memberExpressionOptimisationVisitor'), var.get(u'state')) + var.get(u'state').put(u'noOptimise', var.get(u'oldNoOptimise')) + var.get(u'path').callprop(u'skip') + PyJs_FunctionClassProperty_1109_._set_name(u'FunctionClassProperty') + @Js + def PyJs_ReferencedIdentifier_1110_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'ReferencedIdentifier':PyJs_ReferencedIdentifier_1110_, u'arguments':arguments}, var) + var.registers([u'node', u'grandparentPath', u'argsOptEligible', u'state', u'call', u'parentPath', u'path']) + var.put(u'node', var.get(u'path').get(u'node')) + if PyJsStrictEq(var.get(u'node').get(u'name'),Js(u'arguments')): + var.get(u'state').put(u'deopted', var.get(u'true')) + if PyJsStrictNeq(var.get(u'node').get(u'name'),var.get(u'state').get(u'name')): + return var.get('undefined') + if var.get(u'state').get(u'noOptimise'): + var.get(u'state').put(u'deopted', var.get(u'true')) + else: + var.put(u'parentPath', var.get(u'path').get(u'parentPath')) + PyJs_Object_1111_ = Js({u'object':var.get(u'node')}) + if var.get(u'parentPath').callprop(u'isMemberExpression', PyJs_Object_1111_): + var.put(u'grandparentPath', var.get(u'parentPath').get(u'parentPath')) + def PyJs_LONG_1113_(var=var): + PyJs_Object_1112_ = Js({u'operator':Js(u'delete')}) + return (((((var.get(u'grandparentPath').callprop(u'isAssignmentExpression') and PyJsStrictEq(var.get(u'parentPath').get(u'node'),var.get(u'grandparentPath').get(u'node').get(u'left'))) or var.get(u'grandparentPath').callprop(u'isLVal')) or var.get(u'grandparentPath').callprop(u'isForXStatement')) or var.get(u'grandparentPath').callprop(u'isUpdateExpression')) or var.get(u'grandparentPath').callprop(u'isUnaryExpression', PyJs_Object_1112_)) + var.put(u'argsOptEligible', (var.get(u'state').get(u'deopted').neg() and (PyJs_LONG_1113_() or ((var.get(u'grandparentPath').callprop(u'isCallExpression') or var.get(u'grandparentPath').callprop(u'isNewExpression')) and PyJsStrictEq(var.get(u'parentPath').get(u'node'),var.get(u'grandparentPath').get(u'node').get(u'callee')))).neg())) + if var.get(u'argsOptEligible'): + if var.get(u'parentPath').get(u'node').get(u'computed'): + if var.get(u'parentPath').callprop(u'get', Js(u'property')).callprop(u'isBaseType', Js(u'number')): + PyJs_Object_1114_ = Js({u'cause':Js(u'indexGetter'),u'path':var.get(u'path')}) + var.get(u'state').get(u'candidates').callprop(u'push', PyJs_Object_1114_) + return var.get('undefined') + else: + if PyJsStrictEq(var.get(u'parentPath').get(u'node').get(u'property').get(u'name'),Js(u'length')): + PyJs_Object_1115_ = Js({u'cause':Js(u'lengthGetter'),u'path':var.get(u'path')}) + var.get(u'state').get(u'candidates').callprop(u'push', PyJs_Object_1115_) + return var.get('undefined') + if (PyJsStrictEq(var.get(u'state').get(u'offset'),Js(0.0)) and var.get(u'parentPath').callprop(u'isSpreadElement')): + var.put(u'call', var.get(u'parentPath').get(u'parentPath')) + if (var.get(u'call').callprop(u'isCallExpression') and PyJsStrictEq(var.get(u'call').get(u'node').get(u'arguments').get(u'length'),Js(1.0))): + PyJs_Object_1116_ = Js({u'cause':Js(u'argSpread'),u'path':var.get(u'path')}) + var.get(u'state').get(u'candidates').callprop(u'push', PyJs_Object_1116_) + return var.get('undefined') + var.get(u'state').get(u'references').callprop(u'push', var.get(u'path')) + PyJs_ReferencedIdentifier_1110_._set_name(u'ReferencedIdentifier') + @Js + def PyJs_BindingIdentifier_1117_(_ref, state, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'BindingIdentifier':PyJs_BindingIdentifier_1117_, u'state':state, u'arguments':arguments}, var) + var.registers([u'node', u'_ref', u'state']) + var.put(u'node', var.get(u'_ref').get(u'node')) + if PyJsStrictEq(var.get(u'node').get(u'name'),var.get(u'state').get(u'name')): + var.get(u'state').put(u'deopted', var.get(u'true')) + PyJs_BindingIdentifier_1117_._set_name(u'BindingIdentifier') + PyJs_Object_1106_ = Js({u'Scope':PyJs_Scope_1107_,u'Flow':PyJs_Flow_1108_,u'Function|ClassProperty':PyJs_FunctionClassProperty_1109_,u'ReferencedIdentifier':PyJs_ReferencedIdentifier_1110_,u'BindingIdentifier':PyJs_BindingIdentifier_1117_}) + var.put(u'memberExpressionOptimisationVisitor', PyJs_Object_1106_) + pass + pass + pass + @Js + def PyJs_Function_1123_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'Function':PyJs_Function_1123_, u'arguments':arguments}, var) + var.registers([u'node', u'arrLen', u'_isArray', u'_iterator', u'key', u'arrKey', u'_ref3', u'_ref2', u'argsId', u'len', u'start', u'state', u'rest', u'_i', u'target', u'scope', u'path', u'cause', u'loop', u'_path']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'scope', var.get(u'path').get(u'scope')) + if var.get(u'hasRest')(var.get(u'node')).neg(): + return var.get('undefined') + var.put(u'rest', var.get(u'node').get(u'params').callprop(u'pop').get(u'argument')) + var.put(u'argsId', var.get(u't').callprop(u'identifier', Js(u'arguments'))) + var.get(u'argsId').put(u'_shadowedFunctionLiteral', var.get(u'path')) + PyJs_Object_1124_ = Js({u'references':Js([]),u'offset':var.get(u'node').get(u'params').get(u'length'),u'argumentsNode':var.get(u'argsId'),u'outerBinding':var.get(u'scope').callprop(u'getBindingIdentifier', var.get(u'rest').get(u'name')),u'candidates':Js([]),u'name':var.get(u'rest').get(u'name'),u'deopted':Js(False)}) + var.put(u'state', PyJs_Object_1124_) + var.get(u'path').callprop(u'traverse', var.get(u'memberExpressionOptimisationVisitor'), var.get(u'state')) + if (var.get(u'state').get(u'deopted').neg() and var.get(u'state').get(u'references').get(u'length').neg()): + #for JS loop + var.put(u'_iterator', var.get(u'state').get(u'candidates')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i').get(u'value')) + var.put(u'_ref3', var.get(u'_ref2')) + var.put(u'_path', var.get(u'_ref3').get(u'path')) + var.put(u'cause', var.get(u'_ref3').get(u'cause')) + while 1: + SWITCHED = False + CONDITION = (var.get(u'cause')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'indexGetter')): + SWITCHED = True + var.get(u'optimiseIndexGetter')(var.get(u'_path'), var.get(u'argsId'), var.get(u'state').get(u'offset')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'lengthGetter')): + SWITCHED = True + var.get(u'optimiseLengthGetter')(var.get(u'_path'), var.get(u'argsId'), var.get(u'state').get(u'offset')) + break + if True: + SWITCHED = True + var.get(u'_path').callprop(u'replaceWith', var.get(u'argsId')) + SWITCHED = True + break + + return var.get('undefined') + @Js + def PyJs_anonymous_1125_(_ref4, this, arguments, var=var): + var = Scope({u'this':this, u'_ref4':_ref4, u'arguments':arguments}, var) + var.registers([u'path', u'_ref4']) + var.put(u'path', var.get(u'_ref4').get(u'path')) + return var.get(u'path') + PyJs_anonymous_1125_._set_name(u'anonymous') + var.get(u'state').put(u'references', var.get(u'state').get(u'references').callprop(u'concat', var.get(u'state').get(u'candidates').callprop(u'map', PyJs_anonymous_1125_))) + var.get(u'state').put(u'deopted', (var.get(u'state').get(u'deopted') or var.get(u'node').get(u'shadow').neg().neg())) + var.put(u'start', var.get(u't').callprop(u'numericLiteral', var.get(u'node').get(u'params').get(u'length'))) + var.put(u'key', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'key'))) + var.put(u'len', var.get(u'scope').callprop(u'generateUidIdentifier', Js(u'len'))) + var.put(u'arrKey', var.get(u'key')) + var.put(u'arrLen', var.get(u'len')) + if var.get(u'node').get(u'params').get(u'length'): + var.put(u'arrKey', var.get(u't').callprop(u'binaryExpression', Js(u'-'), var.get(u'key'), var.get(u'start'))) + var.put(u'arrLen', var.get(u't').callprop(u'conditionalExpression', var.get(u't').callprop(u'binaryExpression', Js(u'>'), var.get(u'len'), var.get(u'start')), var.get(u't').callprop(u'binaryExpression', Js(u'-'), var.get(u'len'), var.get(u'start')), var.get(u't').callprop(u'numericLiteral', Js(0.0)))) + PyJs_Object_1126_ = Js({u'ARGUMENTS':var.get(u'argsId'),u'ARRAY_KEY':var.get(u'arrKey'),u'ARRAY_LEN':var.get(u'arrLen'),u'START':var.get(u'start'),u'ARRAY':var.get(u'rest'),u'KEY':var.get(u'key'),u'LEN':var.get(u'len')}) + var.put(u'loop', var.get(u'buildRest')(PyJs_Object_1126_)) + if var.get(u'state').get(u'deopted'): + var.get(u'loop').put(u'_blockHoist', (var.get(u'node').get(u'params').get(u'length')+Js(1.0))) + var.get(u'node').get(u'body').get(u'body').callprop(u'unshift', var.get(u'loop')) + else: + var.get(u'loop').put(u'_blockHoist', Js(1.0)) + var.put(u'target', var.get(u'path').callprop(u'getEarliestCommonAncestorFrom', var.get(u'state').get(u'references')).callprop(u'getStatementParent')) + @Js + def PyJs_anonymous_1127_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + if var.get(u'path').callprop(u'isLoop'): + var.put(u'target', var.get(u'path')) + else: + return var.get(u'path').callprop(u'isFunction') + PyJs_anonymous_1127_._set_name(u'anonymous') + var.get(u'target').callprop(u'findParent', PyJs_anonymous_1127_) + var.get(u'target').callprop(u'insertBefore', var.get(u'loop')) + PyJs_Function_1123_._set_name(u'Function') + PyJs_Object_1122_ = Js({u'Function':PyJs_Function_1123_}) + var.put(u'visitor', var.get(u'exports').put(u'visitor', PyJs_Object_1122_)) +PyJs_anonymous_1103_._set_name(u'anonymous') +PyJs_Object_1128_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-template':Js(221.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_1129_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_interopRequireWildcard', u'require', u'_babelTypes', u'module', u't']) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1135_ = Js({}) + var.put(u'newObj', PyJs_Object_1135_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_1130_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_ObjectMethod_1133_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'ObjectMethod':PyJs_ObjectMethod_1133_}, var) + var.registers([u'node', u'path', u'func']) + var.put(u'node', var.get(u'path').get(u'node')) + if PyJsStrictEq(var.get(u'node').get(u'kind'),Js(u'method')): + var.put(u'func', var.get(u't').callprop(u'functionExpression', var.get(u"null"), var.get(u'node').get(u'params'), var.get(u'node').get(u'body'), var.get(u'node').get(u'generator'), var.get(u'node').get(u'async'))) + var.get(u'func').put(u'returnType', var.get(u'node').get(u'returnType')) + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'objectProperty', var.get(u'node').get(u'key'), var.get(u'func'), var.get(u'node').get(u'computed'))) + PyJs_ObjectMethod_1133_._set_name(u'ObjectMethod') + @Js + def PyJs_ObjectProperty_1134_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'ObjectProperty':PyJs_ObjectProperty_1134_, u'arguments':arguments}, var) + var.registers([u'node', u'_ref']) + var.put(u'node', var.get(u'_ref').get(u'node')) + if var.get(u'node').get(u'shorthand'): + var.get(u'node').put(u'shorthand', Js(False)) + PyJs_ObjectProperty_1134_._set_name(u'ObjectProperty') + PyJs_Object_1132_ = Js({u'ObjectMethod':PyJs_ObjectMethod_1133_,u'ObjectProperty':PyJs_ObjectProperty_1134_}) + PyJs_Object_1131_ = Js({u'visitor':PyJs_Object_1132_}) + return PyJs_Object_1131_ + PyJs_anonymous_1130_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1130_) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1129_._set_name(u'anonymous') +PyJs_Object_1136_ = Js({u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_1137_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'module', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1146_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1146_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + @Js + def PyJs_anonymous_1138_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'_ref', u'hasSpread', u't', u'getSpreadLiteral', u'build']) + @Js + def PyJsHoisted_hasSpread_(nodes, this, arguments, var=var): + var = Scope({u'this':this, u'nodes':nodes, u'arguments':arguments}, var) + var.registers([u'i', u'nodes']) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i').get(u'value')) + var.put(u'prop', var.get(u'_ref2')) + if var.get(u't').callprop(u'isSpreadElement', var.get(u'prop')): + var.get(u'push')() + var.get(u'nodes').callprop(u'push', var.get(u'getSpreadLiteral')(var.get(u'prop'), var.get(u'scope'), var.get(u'state'))) + else: + var.get(u'_props').callprop(u'push', var.get(u'prop')) + + var.get(u'push')() + return var.get(u'nodes') + PyJsHoisted_build_.func_name = u'build' + var.put(u'build', PyJsHoisted_build_) + @Js + def PyJsHoisted_getSpreadLiteral_(spread, scope, state, this, arguments, var=var): + var = Scope({u'this':this, u'scope':scope, u'state':state, u'spread':spread, u'arguments':arguments}, var) + var.registers([u'scope', u'state', u'spread']) + PyJs_Object_1139_ = Js({u'name':Js(u'arguments')}) + if (var.get(u'state').get(u'opts').get(u'loose') and var.get(u't').callprop(u'isIdentifier', var.get(u'spread').get(u'argument'), PyJs_Object_1139_).neg()): + return var.get(u'spread').get(u'argument') + else: + return var.get(u'scope').callprop(u'toArray', var.get(u'spread').get(u'argument'), var.get(u'true')) + PyJsHoisted_getSpreadLiteral_.func_name = u'getSpreadLiteral' + var.put(u'getSpreadLiteral', PyJsHoisted_getSpreadLiteral_) + var.put(u't', var.get(u'_ref').get(u'types')) + pass + pass + pass + @Js + def PyJs_ArrayExpression_1142_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'ArrayExpression':PyJs_ArrayExpression_1142_}, var) + var.registers([u'node', u'elements', u'state', u'path', u'scope', u'nodes', u'first']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'scope', var.get(u'path').get(u'scope')) + var.put(u'elements', var.get(u'node').get(u'elements')) + if var.get(u'hasSpread')(var.get(u'elements')).neg(): + return var.get('undefined') + var.put(u'nodes', var.get(u'build')(var.get(u'elements'), var.get(u'scope'), var.get(u'state'))) + var.put(u'first', var.get(u'nodes').callprop(u'shift')) + if var.get(u't').callprop(u'isArrayExpression', var.get(u'first')).neg(): + var.get(u'nodes').callprop(u'unshift', var.get(u'first')) + var.put(u'first', var.get(u't').callprop(u'arrayExpression', Js([]))) + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'callExpression', var.get(u't').callprop(u'memberExpression', var.get(u'first'), var.get(u't').callprop(u'identifier', Js(u'concat'))), var.get(u'nodes'))) + PyJs_ArrayExpression_1142_._set_name(u'ArrayExpression') + @Js + def PyJs_CallExpression_1143_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'CallExpression':PyJs_CallExpression_1143_}, var) + var.registers([u'node', u'temp', u'contextLiteral', u'args', u'calleePath', u'state', u'path', u'scope', u'nodes', u'callee', u'first']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'scope', var.get(u'path').get(u'scope')) + var.put(u'args', var.get(u'node').get(u'arguments')) + if var.get(u'hasSpread')(var.get(u'args')).neg(): + return var.get('undefined') + var.put(u'calleePath', var.get(u'path').callprop(u'get', Js(u'callee'))) + if var.get(u'calleePath').callprop(u'isSuper'): + return var.get('undefined') + var.put(u'contextLiteral', var.get(u't').callprop(u'identifier', Js(u'undefined'))) + var.get(u'node').put(u'arguments', Js([])) + var.put(u'nodes', PyJsComma(Js(0.0), Js(None))) + if (PyJsStrictEq(var.get(u'args').get(u'length'),Js(1.0)) and PyJsStrictEq(var.get(u'args').get(u'0').get(u'argument').get(u'name'),Js(u'arguments'))): + var.put(u'nodes', Js([var.get(u'args').get(u'0').get(u'argument')])) + else: + var.put(u'nodes', var.get(u'build')(var.get(u'args'), var.get(u'scope'), var.get(u'state'))) + var.put(u'first', var.get(u'nodes').callprop(u'shift')) + if var.get(u'nodes').get(u'length'): + var.get(u'node').get(u'arguments').callprop(u'push', var.get(u't').callprop(u'callExpression', var.get(u't').callprop(u'memberExpression', var.get(u'first'), var.get(u't').callprop(u'identifier', Js(u'concat'))), var.get(u'nodes'))) + else: + var.get(u'node').get(u'arguments').callprop(u'push', var.get(u'first')) + var.put(u'callee', var.get(u'node').get(u'callee')) + if var.get(u'calleePath').callprop(u'isMemberExpression'): + var.put(u'temp', var.get(u'scope').callprop(u'maybeGenerateMemoised', var.get(u'callee').get(u'object'))) + if var.get(u'temp'): + var.get(u'callee').put(u'object', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'temp'), var.get(u'callee').get(u'object'))) + var.put(u'contextLiteral', var.get(u'temp')) + else: + var.put(u'contextLiteral', var.get(u'callee').get(u'object')) + var.get(u't').callprop(u'appendToMemberExpression', var.get(u'callee'), var.get(u't').callprop(u'identifier', Js(u'apply'))) + else: + var.get(u'node').put(u'callee', var.get(u't').callprop(u'memberExpression', var.get(u'node').get(u'callee'), var.get(u't').callprop(u'identifier', Js(u'apply')))) + if var.get(u't').callprop(u'isSuper', var.get(u'contextLiteral')): + var.put(u'contextLiteral', var.get(u't').callprop(u'thisExpression')) + var.get(u'node').get(u'arguments').callprop(u'unshift', var.get(u'contextLiteral')) + PyJs_CallExpression_1143_._set_name(u'CallExpression') + @Js + def PyJs_NewExpression_1144_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'NewExpression':PyJs_NewExpression_1144_}, var) + var.registers([u'node', u'args', u'state', u'context', u'path', u'scope', u'nodes']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'scope', var.get(u'path').get(u'scope')) + var.put(u'args', var.get(u'node').get(u'arguments')) + if var.get(u'hasSpread')(var.get(u'args')).neg(): + return var.get('undefined') + var.put(u'nodes', var.get(u'build')(var.get(u'args'), var.get(u'scope'), var.get(u'state'))) + var.put(u'context', var.get(u't').callprop(u'arrayExpression', Js([var.get(u't').callprop(u'nullLiteral')]))) + var.put(u'args', var.get(u't').callprop(u'callExpression', var.get(u't').callprop(u'memberExpression', var.get(u'context'), var.get(u't').callprop(u'identifier', Js(u'concat'))), var.get(u'nodes'))) + def PyJs_LONG_1145_(var=var): + return var.get(u't').callprop(u'callExpression', var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'identifier', Js(u'Function')), var.get(u't').callprop(u'identifier', Js(u'prototype'))), var.get(u't').callprop(u'identifier', Js(u'bind'))), var.get(u't').callprop(u'identifier', Js(u'apply'))), Js([var.get(u'node').get(u'callee'), var.get(u'args')])) + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'newExpression', PyJs_LONG_1145_(), Js([]))) + PyJs_NewExpression_1144_._set_name(u'NewExpression') + PyJs_Object_1141_ = Js({u'ArrayExpression':PyJs_ArrayExpression_1142_,u'CallExpression':PyJs_CallExpression_1143_,u'NewExpression':PyJs_NewExpression_1144_}) + PyJs_Object_1140_ = Js({u'visitor':PyJs_Object_1141_}) + return PyJs_Object_1140_ + PyJs_anonymous_1138_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1138_) + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1137_._set_name(u'anonymous') +PyJs_Object_1147_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0)}) +@Js +def PyJs_anonymous_1148_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'regex', u'exports', u'_babelHelperRegex', u'_interopRequireWildcard', u'require', u'_babelTypes', u'module', u't']) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1153_ = Js({}) + var.put(u'newObj', PyJs_Object_1153_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_1149_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_RegExpLiteral_1152_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'RegExpLiteral':PyJs_RegExpLiteral_1152_}, var) + var.registers([u'node', u'path']) + var.put(u'node', var.get(u'path').get(u'node')) + if var.get(u'regex').callprop(u'is', var.get(u'node'), Js(u'y')).neg(): + return var.get('undefined') + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'newExpression', var.get(u't').callprop(u'identifier', Js(u'RegExp')), Js([var.get(u't').callprop(u'stringLiteral', var.get(u'node').get(u'pattern')), var.get(u't').callprop(u'stringLiteral', var.get(u'node').get(u'flags'))]))) + PyJs_RegExpLiteral_1152_._set_name(u'RegExpLiteral') + PyJs_Object_1151_ = Js({u'RegExpLiteral':PyJs_RegExpLiteral_1152_}) + PyJs_Object_1150_ = Js({u'visitor':PyJs_Object_1151_}) + return PyJs_Object_1150_ + PyJs_anonymous_1149_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1149_) + var.put(u'_babelHelperRegex', var.get(u'require')(Js(u'babel-helper-regex'))) + var.put(u'regex', var.get(u'_interopRequireWildcard')(var.get(u'_babelHelperRegex'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1148_._set_name(u'anonymous') +PyJs_Object_1154_ = Js({u'babel-helper-regex':Js(53.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_1155_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'module', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1163_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1163_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + @Js + def PyJs_anonymous_1156_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'_ref', u'isString', u'buildBinaryExpression', u't']) + @Js + def PyJsHoisted_isString_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + return (var.get(u't').callprop(u'isLiteral', var.get(u'node')) and PyJsStrictEq(var.get(u'node').get(u'value').typeof(),Js(u'string'))) + PyJsHoisted_isString_.func_name = u'isString' + var.put(u'isString', PyJsHoisted_isString_) + @Js + def PyJsHoisted_buildBinaryExpression_(left, right, this, arguments, var=var): + var = Scope({u'this':this, u'right':right, u'arguments':arguments, u'left':left}, var) + var.registers([u'right', u'left']) + return var.get(u't').callprop(u'binaryExpression', Js(u'+'), var.get(u'left'), var.get(u'right')) + PyJsHoisted_buildBinaryExpression_.func_name = u'buildBinaryExpression' + var.put(u'buildBinaryExpression', PyJsHoisted_buildBinaryExpression_) + var.put(u't', var.get(u'_ref').get(u'types')) + pass + pass + @Js + def PyJs_TaggedTemplateExpression_1159_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'TaggedTemplateExpression':PyJs_TaggedTemplateExpression_1159_, u'arguments':arguments}, var) + var.registers([u'node', u'_isArray', u'_iterator', u'templateObject', u'templateName', u'args', u'_ref2', u'elem', u'raw', u'quasi', u'state', u'_i', u'path', u'strings']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'quasi', var.get(u'node').get(u'quasi')) + var.put(u'args', Js([])) + var.put(u'strings', Js([])) + var.put(u'raw', Js([])) + #for JS loop + var.put(u'_iterator', var.get(u'quasi').get(u'quasis')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i').get(u'value')) + var.put(u'elem', var.get(u'_ref2')) + var.get(u'strings').callprop(u'push', var.get(u't').callprop(u'stringLiteral', var.get(u'elem').get(u'value').get(u'cooked'))) + var.get(u'raw').callprop(u'push', var.get(u't').callprop(u'stringLiteral', var.get(u'elem').get(u'value').get(u'raw'))) + + var.put(u'strings', var.get(u't').callprop(u'arrayExpression', var.get(u'strings'))) + var.put(u'raw', var.get(u't').callprop(u'arrayExpression', var.get(u'raw'))) + var.put(u'templateName', Js(u'taggedTemplateLiteral')) + if var.get(u'state').get(u'opts').get(u'loose'): + var.put(u'templateName', Js(u'Loose'), u'+') + var.put(u'templateObject', var.get(u'state').get(u'file').callprop(u'addTemplateObject', var.get(u'templateName'), var.get(u'strings'), var.get(u'raw'))) + var.get(u'args').callprop(u'push', var.get(u'templateObject')) + var.put(u'args', var.get(u'args').callprop(u'concat', var.get(u'quasi').get(u'expressions'))) + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'callExpression', var.get(u'node').get(u'tag'), var.get(u'args'))) + PyJs_TaggedTemplateExpression_1159_._set_name(u'TaggedTemplateExpression') + @Js + def PyJs_TemplateLiteral_1160_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'TemplateLiteral':PyJs_TemplateLiteral_1160_, u'arguments':arguments}, var) + var.registers([u'node', u'_ref4', u'_isArray3', u'_isArray2', u'expr', u'_i3', u'_ref3', u'_i2', u'elem', u'state', u'path', u'nodes', u'root', u'expressions', u'_iterator3', u'_iterator2']) + var.put(u'nodes', Js([])) + var.put(u'expressions', var.get(u'path').callprop(u'get', Js(u'expressions'))) + #for JS loop + var.put(u'_iterator2', var.get(u'path').get(u'node').get(u'quasis')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i2').get(u'value')) + var.put(u'elem', var.get(u'_ref3')) + var.get(u'nodes').callprop(u'push', var.get(u't').callprop(u'stringLiteral', var.get(u'elem').get(u'value').get(u'cooked'))) + var.put(u'expr', var.get(u'expressions').callprop(u'shift')) + if var.get(u'expr'): + if ((var.get(u'state').get(u'opts').get(u'spec') and var.get(u'expr').callprop(u'isBaseType', Js(u'string')).neg()) and var.get(u'expr').callprop(u'isBaseType', Js(u'number')).neg()): + var.get(u'nodes').callprop(u'push', var.get(u't').callprop(u'callExpression', var.get(u't').callprop(u'identifier', Js(u'String')), Js([var.get(u'expr').get(u'node')]))) + else: + var.get(u'nodes').callprop(u'push', var.get(u'expr').get(u'node')) + + @Js + def PyJs_anonymous_1161_(n, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'n':n}, var) + var.registers([u'n']) + PyJs_Object_1162_ = Js({u'value':Js(u'')}) + return var.get(u't').callprop(u'isLiteral', var.get(u'n'), PyJs_Object_1162_).neg() + PyJs_anonymous_1161_._set_name(u'anonymous') + var.put(u'nodes', var.get(u'nodes').callprop(u'filter', PyJs_anonymous_1161_)) + if (var.get(u'isString')(var.get(u'nodes').get(u'0')).neg() and var.get(u'isString')(var.get(u'nodes').get(u'1')).neg()): + var.get(u'nodes').callprop(u'unshift', var.get(u't').callprop(u'stringLiteral', Js(u''))) + if (var.get(u'nodes').get(u'length')>Js(1.0)): + var.put(u'root', var.get(u'buildBinaryExpression')(var.get(u'nodes').callprop(u'shift'), var.get(u'nodes').callprop(u'shift'))) + #for JS loop + var.put(u'_iterator3', var.get(u'nodes')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator3')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref4', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref4', var.get(u'_i3').get(u'value')) + var.put(u'node', var.get(u'_ref4')) + var.put(u'root', var.get(u'buildBinaryExpression')(var.get(u'root'), var.get(u'node'))) + + var.get(u'path').callprop(u'replaceWith', var.get(u'root')) + else: + var.get(u'path').callprop(u'replaceWith', var.get(u'nodes').get(u'0')) + PyJs_TemplateLiteral_1160_._set_name(u'TemplateLiteral') + PyJs_Object_1158_ = Js({u'TaggedTemplateExpression':PyJs_TaggedTemplateExpression_1159_,u'TemplateLiteral':PyJs_TemplateLiteral_1160_}) + PyJs_Object_1157_ = Js({u'visitor':PyJs_Object_1158_}) + return PyJs_Object_1157_ + PyJs_anonymous_1156_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1156_) + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1155_._set_name(u'anonymous') +PyJs_Object_1164_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0)}) +@Js +def PyJs_anonymous_1165_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_symbol2', u'require', u'module', u'_symbol', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1172_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1172_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_symbol', var.get(u'require')(Js(u'babel-runtime/core-js/symbol'))) + var.put(u'_symbol2', var.get(u'_interopRequireDefault')(var.get(u'_symbol'))) + @Js + def PyJs_anonymous_1166_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'IGNORE', u'_ref', u't']) + var.put(u't', var.get(u'_ref').get(u'types')) + var.put(u'IGNORE', PyJsComma(Js(0.0),var.get(u'_symbol2').get(u'default'))()) + @Js + def PyJs_Scope_1169_(_ref2, this, arguments, var=var): + var = Scope({u'this':this, u'Scope':PyJs_Scope_1169_, u'_ref2':_ref2, u'arguments':arguments}, var) + var.registers([u'scope', u'_ref2']) + var.put(u'scope', var.get(u'_ref2').get(u'scope')) + if var.get(u'scope').callprop(u'getBinding', Js(u'Symbol')).neg(): + return var.get('undefined') + var.get(u'scope').callprop(u'rename', Js(u'Symbol')) + PyJs_Scope_1169_._set_name(u'Scope') + @Js + def PyJs_UnaryExpression_1170_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'UnaryExpression':PyJs_UnaryExpression_1170_, u'arguments':arguments}, var) + var.registers([u'node', u'parent', u'opposite', u'unary', u'call', u'undefLiteral', u'path']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'parent', var.get(u'path').get(u'parent')) + if var.get(u'node').get(var.get(u'IGNORE')): + return var.get('undefined') + @Js + def PyJs_anonymous_1171_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + return (var.get(u'path').get(u'node') and var.get(u'path').get(u'node').get(u'_generated').neg().neg()) + PyJs_anonymous_1171_._set_name(u'anonymous') + if var.get(u'path').callprop(u'find', PyJs_anonymous_1171_): + return var.get('undefined') + if (var.get(u'path').get(u'parentPath').callprop(u'isBinaryExpression') and (var.get(u't').get(u'EQUALITY_BINARY_OPERATORS').callprop(u'indexOf', var.get(u'parent').get(u'operator'))>=Js(0.0))): + var.put(u'opposite', var.get(u'path').callprop(u'getOpposite')) + if ((var.get(u'opposite').callprop(u'isLiteral') and PyJsStrictNeq(var.get(u'opposite').get(u'node').get(u'value'),Js(u'symbol'))) and PyJsStrictNeq(var.get(u'opposite').get(u'node').get(u'value'),Js(u'object'))): + return var.get('undefined') + if PyJsStrictEq(var.get(u'node').get(u'operator'),Js(u'typeof')): + var.put(u'call', var.get(u't').callprop(u'callExpression', var.get(u"this").callprop(u'addHelper', Js(u'typeof')), Js([var.get(u'node').get(u'argument')]))) + if var.get(u'path').callprop(u'get', Js(u'argument')).callprop(u'isIdentifier'): + var.put(u'undefLiteral', var.get(u't').callprop(u'stringLiteral', Js(u'undefined'))) + var.put(u'unary', var.get(u't').callprop(u'unaryExpression', Js(u'typeof'), var.get(u'node').get(u'argument'))) + var.get(u'unary').put(var.get(u'IGNORE'), var.get(u'true')) + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'conditionalExpression', var.get(u't').callprop(u'binaryExpression', Js(u'==='), var.get(u'unary'), var.get(u'undefLiteral')), var.get(u'undefLiteral'), var.get(u'call'))) + else: + var.get(u'path').callprop(u'replaceWith', var.get(u'call')) + PyJs_UnaryExpression_1170_._set_name(u'UnaryExpression') + PyJs_Object_1168_ = Js({u'Scope':PyJs_Scope_1169_,u'UnaryExpression':PyJs_UnaryExpression_1170_}) + PyJs_Object_1167_ = Js({u'visitor':PyJs_Object_1168_}) + return PyJs_Object_1167_ + PyJs_anonymous_1166_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1166_) + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1165_._set_name(u'anonymous') +PyJs_Object_1173_ = Js({u'babel-runtime/core-js/symbol':Js(105.0)}) +@Js +def PyJs_anonymous_1174_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_regexpuCore', u'regex', u'exports', u'_interopRequireWildcard', u'require', u'_babelHelperRegex', u'module', u'_interopRequireDefault', u'_regexpuCore2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1180_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1180_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1179_ = Js({}) + var.put(u'newObj', PyJs_Object_1179_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_1175_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_RegExpLiteral_1178_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'RegExpLiteral':PyJs_RegExpLiteral_1178_, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'node', u'_ref']) + var.put(u'node', var.get(u'_ref').get(u'node')) + if var.get(u'regex').callprop(u'is', var.get(u'node'), Js(u'u')).neg(): + return var.get('undefined') + var.get(u'node').put(u'pattern', PyJsComma(Js(0.0),var.get(u'_regexpuCore2').get(u'default'))(var.get(u'node').get(u'pattern'), var.get(u'node').get(u'flags'))) + var.get(u'regex').callprop(u'pullFlag', var.get(u'node'), Js(u'u')) + PyJs_RegExpLiteral_1178_._set_name(u'RegExpLiteral') + PyJs_Object_1177_ = Js({u'RegExpLiteral':PyJs_RegExpLiteral_1178_}) + PyJs_Object_1176_ = Js({u'visitor':PyJs_Object_1177_}) + return PyJs_Object_1176_ + PyJs_anonymous_1175_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1175_) + var.put(u'_regexpuCore', var.get(u'require')(Js(u'regexpu-core'))) + var.put(u'_regexpuCore2', var.get(u'_interopRequireDefault')(var.get(u'_regexpuCore'))) + var.put(u'_babelHelperRegex', var.get(u'require')(Js(u'babel-helper-regex'))) + var.put(u'regex', var.get(u'_interopRequireWildcard')(var.get(u'_babelHelperRegex'))) + pass + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1174_._set_name(u'anonymous') +PyJs_Object_1181_ = Js({u'babel-helper-regex':Js(53.0),u'regexpu-core':Js(504.0)}) +@Js +def PyJs_anonymous_1182_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'module', u'meta', u'_assert', u'_interopRequireDefault', u'loc', u'_typeof2', u'_typeof3', u'_stringify2', u'getDeclError', u'leap', u'Emitter', u'isValidCompletion', u'exports', u'_babelTypes', u'_interopRequireWildcard', u'_assert2', u'catchParamVisitor', u'_util', u'util', u'_meta', u'require', u'hasOwn', u'_stringify', u't', u'_leap', u'Ep']) + @Js + def PyJsHoisted_loc_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'numericLiteral', (-Js(1.0))) + PyJsHoisted_loc_.func_name = u'loc' + var.put(u'loc', PyJsHoisted_loc_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1183_ = Js({}) + var.put(u'newObj', PyJs_Object_1183_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_isValidCompletion_(record, this, arguments, var=var): + var = Scope({u'this':this, u'record':record, u'arguments':arguments}, var) + var.registers([u'record', u'type']) + var.put(u'type', var.get(u'record').get(u'type')) + if PyJsStrictEq(var.get(u'type'),Js(u'normal')): + return var.get(u'hasOwn').callprop(u'call', var.get(u'record'), Js(u'target')).neg() + if (PyJsStrictEq(var.get(u'type'),Js(u'break')) or PyJsStrictEq(var.get(u'type'),Js(u'continue'))): + return (var.get(u'hasOwn').callprop(u'call', var.get(u'record'), Js(u'value')).neg() and var.get(u't').callprop(u'isLiteral', var.get(u'record').get(u'target'))) + if (PyJsStrictEq(var.get(u'type'),Js(u'return')) or PyJsStrictEq(var.get(u'type'),Js(u'throw'))): + return (var.get(u'hasOwn').callprop(u'call', var.get(u'record'), Js(u'value')) and var.get(u'hasOwn').callprop(u'call', var.get(u'record'), Js(u'target')).neg()) + return Js(False) + PyJsHoisted_isValidCompletion_.func_name = u'isValidCompletion' + var.put(u'isValidCompletion', PyJsHoisted_isValidCompletion_) + @Js + def PyJsHoisted_getDeclError_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + return var.get(u'Error').create(((Js(u'all declarations should have been transformed into ')+Js(u'assignments before the Exploder began its work: '))+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'node')))) + PyJsHoisted_getDeclError_.func_name = u'getDeclError' + var.put(u'getDeclError', PyJsHoisted_getDeclError_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1184_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1184_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_Emitter_(contextId, this, arguments, var=var): + var = Scope({u'this':this, u'contextId':contextId, u'arguments':arguments}, var) + var.registers([u'contextId']) + var.get(u'_assert2').get(u'default').callprop(u'ok', var.get(u"this").instanceof(var.get(u'Emitter'))) + var.get(u't').callprop(u'assertIdentifier', var.get(u'contextId')) + var.get(u"this").put(u'nextTempId', Js(0.0)) + var.get(u"this").put(u'contextId', var.get(u'contextId')) + var.get(u"this").put(u'listing', Js([])) + var.get(u"this").put(u'marked', Js([var.get(u'true')])) + var.get(u"this").put(u'finalLoc', var.get(u'loc')()) + var.get(u"this").put(u'tryEntries', Js([])) + var.get(u"this").put(u'leapManager', var.get(u'leap').get(u'LeapManager').create(var.get(u"this"))) + PyJsHoisted_Emitter_.func_name = u'Emitter' + var.put(u'Emitter', PyJsHoisted_Emitter_) + Js(u'use strict') + var.put(u'_typeof2', var.get(u'require')(Js(u'babel-runtime/helpers/typeof'))) + var.put(u'_typeof3', var.get(u'_interopRequireDefault')(var.get(u'_typeof2'))) + var.put(u'_stringify', var.get(u'require')(Js(u'babel-runtime/core-js/json/stringify'))) + var.put(u'_stringify2', var.get(u'_interopRequireDefault')(var.get(u'_stringify'))) + var.put(u'_assert', var.get(u'require')(Js(u'assert'))) + var.put(u'_assert2', var.get(u'_interopRequireDefault')(var.get(u'_assert'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + var.put(u'_leap', var.get(u'require')(Js(u'./leap'))) + var.put(u'leap', var.get(u'_interopRequireWildcard')(var.get(u'_leap'))) + var.put(u'_meta', var.get(u'require')(Js(u'./meta'))) + var.put(u'meta', var.get(u'_interopRequireWildcard')(var.get(u'_meta'))) + var.put(u'_util', var.get(u'require')(Js(u'./util'))) + var.put(u'util', var.get(u'_interopRequireWildcard')(var.get(u'_util'))) + pass + pass + var.put(u'hasOwn', var.get(u'Object').get(u'prototype').get(u'hasOwnProperty')) + pass + var.put(u'Ep', var.get(u'Emitter').get(u'prototype')) + var.get(u'exports').put(u'Emitter', var.get(u'Emitter')) + pass + @Js + def PyJs_anonymous_1185_(loc, this, arguments, var=var): + var = Scope({u'this':this, u'loc':loc, u'arguments':arguments}, var) + var.registers([u'index', u'loc']) + var.get(u't').callprop(u'assertLiteral', var.get(u'loc')) + var.put(u'index', var.get(u"this").get(u'listing').get(u'length')) + if PyJsStrictEq(var.get(u'loc').get(u'value'),(-Js(1.0))): + var.get(u'loc').put(u'value', var.get(u'index')) + else: + var.get(u'_assert2').get(u'default').callprop(u'strictEqual', var.get(u'loc').get(u'value'), var.get(u'index')) + var.get(u"this").get(u'marked').put(var.get(u'index'), var.get(u'true')) + return var.get(u'loc') + PyJs_anonymous_1185_._set_name(u'anonymous') + var.get(u'Ep').put(u'mark', PyJs_anonymous_1185_) + @Js + def PyJs_anonymous_1186_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u't').callprop(u'isExpression', var.get(u'node')): + var.put(u'node', var.get(u't').callprop(u'expressionStatement', var.get(u'node'))) + var.get(u't').callprop(u'assertStatement', var.get(u'node')) + var.get(u"this").get(u'listing').callprop(u'push', var.get(u'node')) + PyJs_anonymous_1186_._set_name(u'anonymous') + var.get(u'Ep').put(u'emit', PyJs_anonymous_1186_) + @Js + def PyJs_anonymous_1187_(lhs, rhs, this, arguments, var=var): + var = Scope({u'this':this, u'rhs':rhs, u'lhs':lhs, u'arguments':arguments}, var) + var.registers([u'rhs', u'lhs']) + var.get(u"this").callprop(u'emit', var.get(u"this").callprop(u'assign', var.get(u'lhs'), var.get(u'rhs'))) + return var.get(u'lhs') + PyJs_anonymous_1187_._set_name(u'anonymous') + var.get(u'Ep').put(u'emitAssign', PyJs_anonymous_1187_) + @Js + def PyJs_anonymous_1188_(lhs, rhs, this, arguments, var=var): + var = Scope({u'this':this, u'rhs':rhs, u'lhs':lhs, u'arguments':arguments}, var) + var.registers([u'rhs', u'lhs']) + return var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'lhs'), var.get(u'rhs'))) + PyJs_anonymous_1188_._set_name(u'anonymous') + var.get(u'Ep').put(u'assign', PyJs_anonymous_1188_) + @Js + def PyJs_anonymous_1189_(name, computed, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'name':name, u'computed':computed}, var) + var.registers([u'name', u'computed']) + return var.get(u't').callprop(u'memberExpression', var.get(u"this").get(u'contextId'), (var.get(u't').callprop(u'stringLiteral', var.get(u'name')) if var.get(u'computed') else var.get(u't').callprop(u'identifier', var.get(u'name'))), var.get(u'computed').neg().neg()) + PyJs_anonymous_1189_._set_name(u'anonymous') + var.get(u'Ep').put(u'contextProperty', PyJs_anonymous_1189_) + @Js + def PyJs_anonymous_1190_(rval, this, arguments, var=var): + var = Scope({u'this':this, u'rval':rval, u'arguments':arguments}, var) + var.registers([u'rval']) + if var.get(u'rval'): + var.get(u"this").callprop(u'setReturnValue', var.get(u'rval')) + var.get(u"this").callprop(u'jump', var.get(u"this").get(u'finalLoc')) + PyJs_anonymous_1190_._set_name(u'anonymous') + var.get(u'Ep').put(u'stop', PyJs_anonymous_1190_) + @Js + def PyJs_anonymous_1191_(valuePath, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'valuePath':valuePath}, var) + var.registers([u'valuePath']) + var.get(u't').callprop(u'assertExpression', var.get(u'valuePath').get(u'value')) + var.get(u"this").callprop(u'emitAssign', var.get(u"this").callprop(u'contextProperty', Js(u'rval')), var.get(u"this").callprop(u'explodeExpression', var.get(u'valuePath'))) + PyJs_anonymous_1191_._set_name(u'anonymous') + var.get(u'Ep').put(u'setReturnValue', PyJs_anonymous_1191_) + @Js + def PyJs_anonymous_1192_(tryLoc, assignee, this, arguments, var=var): + var = Scope({u'this':this, u'assignee':assignee, u'tryLoc':tryLoc, u'arguments':arguments}, var) + var.registers([u'assignee', u'catchCall', u'tryLoc']) + var.get(u't').callprop(u'assertLiteral', var.get(u'tryLoc')) + var.put(u'catchCall', var.get(u't').callprop(u'callExpression', var.get(u"this").callprop(u'contextProperty', Js(u'catch'), var.get(u'true')), Js([var.get(u'tryLoc')]))) + if var.get(u'assignee'): + var.get(u"this").callprop(u'emitAssign', var.get(u'assignee'), var.get(u'catchCall')) + else: + var.get(u"this").callprop(u'emit', var.get(u'catchCall')) + PyJs_anonymous_1192_._set_name(u'anonymous') + var.get(u'Ep').put(u'clearPendingException', PyJs_anonymous_1192_) + @Js + def PyJs_anonymous_1193_(toLoc, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'toLoc':toLoc}, var) + var.registers([u'toLoc']) + var.get(u"this").callprop(u'emitAssign', var.get(u"this").callprop(u'contextProperty', Js(u'next')), var.get(u'toLoc')) + var.get(u"this").callprop(u'emit', var.get(u't').callprop(u'breakStatement')) + PyJs_anonymous_1193_._set_name(u'anonymous') + var.get(u'Ep').put(u'jump', PyJs_anonymous_1193_) + @Js + def PyJs_anonymous_1194_(test, toLoc, this, arguments, var=var): + var = Scope({u'test':test, u'this':this, u'arguments':arguments, u'toLoc':toLoc}, var) + var.registers([u'test', u'toLoc']) + var.get(u't').callprop(u'assertExpression', var.get(u'test')) + var.get(u't').callprop(u'assertLiteral', var.get(u'toLoc')) + var.get(u"this").callprop(u'emit', var.get(u't').callprop(u'ifStatement', var.get(u'test'), var.get(u't').callprop(u'blockStatement', Js([var.get(u"this").callprop(u'assign', var.get(u"this").callprop(u'contextProperty', Js(u'next')), var.get(u'toLoc')), var.get(u't').callprop(u'breakStatement')])))) + PyJs_anonymous_1194_._set_name(u'anonymous') + var.get(u'Ep').put(u'jumpIf', PyJs_anonymous_1194_) + @Js + def PyJs_anonymous_1195_(test, toLoc, this, arguments, var=var): + var = Scope({u'test':test, u'this':this, u'arguments':arguments, u'toLoc':toLoc}, var) + var.registers([u'test', u'negatedTest', u'toLoc']) + var.get(u't').callprop(u'assertExpression', var.get(u'test')) + var.get(u't').callprop(u'assertLiteral', var.get(u'toLoc')) + var.put(u'negatedTest', PyJsComma(Js(0.0), Js(None))) + if (var.get(u't').callprop(u'isUnaryExpression', var.get(u'test')) and PyJsStrictEq(var.get(u'test').get(u'operator'),Js(u'!'))): + var.put(u'negatedTest', var.get(u'test').get(u'argument')) + else: + var.put(u'negatedTest', var.get(u't').callprop(u'unaryExpression', Js(u'!'), var.get(u'test'))) + var.get(u"this").callprop(u'emit', var.get(u't').callprop(u'ifStatement', var.get(u'negatedTest'), var.get(u't').callprop(u'blockStatement', Js([var.get(u"this").callprop(u'assign', var.get(u"this").callprop(u'contextProperty', Js(u'next')), var.get(u'toLoc')), var.get(u't').callprop(u'breakStatement')])))) + PyJs_anonymous_1195_._set_name(u'anonymous') + var.get(u'Ep').put(u'jumpIfNot', PyJs_anonymous_1195_) + @Js + def PyJs_anonymous_1196_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this").callprop(u'contextProperty', (Js(u't')+(var.get(u"this").put(u'nextTempId',Js(var.get(u"this").get(u'nextTempId').to_number())+Js(1))-Js(1)))) + PyJs_anonymous_1196_._set_name(u'anonymous') + var.get(u'Ep').put(u'makeTempVar', PyJs_anonymous_1196_) + @Js + def PyJs_anonymous_1197_(id, this, arguments, var=var): + var = Scope({u'this':this, u'id':id, u'arguments':arguments}, var) + var.registers([u'id']) + return var.get(u't').callprop(u'functionExpression', (var.get(u'id') or var.get(u"null")), Js([var.get(u"this").get(u'contextId')]), var.get(u't').callprop(u'blockStatement', Js([var.get(u"this").callprop(u'getDispatchLoop')])), Js(False), Js(False)) + PyJs_anonymous_1197_._set_name(u'anonymous') + var.get(u'Ep').put(u'getContextFunction', PyJs_anonymous_1197_) + @Js + def PyJs_anonymous_1198_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'current', u'self', u'alreadyEnded', u'cases']) + var.put(u'self', var.get(u"this")) + var.put(u'cases', Js([])) + var.put(u'current', PyJsComma(Js(0.0), Js(None))) + var.put(u'alreadyEnded', Js(False)) + @Js + def PyJs_anonymous_1199_(stmt, i, this, arguments, var=var): + var = Scope({u'i':i, u'this':this, u'arguments':arguments, u'stmt':stmt}, var) + var.registers([u'i', u'stmt']) + if var.get(u'self').get(u'marked').callprop(u'hasOwnProperty', var.get(u'i')): + var.get(u'cases').callprop(u'push', var.get(u't').callprop(u'switchCase', var.get(u't').callprop(u'numericLiteral', var.get(u'i')), var.put(u'current', Js([])))) + var.put(u'alreadyEnded', Js(False)) + if var.get(u'alreadyEnded').neg(): + var.get(u'current').callprop(u'push', var.get(u'stmt')) + if var.get(u't').callprop(u'isCompletionStatement', var.get(u'stmt')): + var.put(u'alreadyEnded', var.get(u'true')) + PyJs_anonymous_1199_._set_name(u'anonymous') + var.get(u'self').get(u'listing').callprop(u'forEach', PyJs_anonymous_1199_) + var.get(u"this").get(u'finalLoc').put(u'value', var.get(u"this").get(u'listing').get(u'length')) + var.get(u'cases').callprop(u'push', var.get(u't').callprop(u'switchCase', var.get(u"this").get(u'finalLoc'), Js([])), var.get(u't').callprop(u'switchCase', var.get(u't').callprop(u'stringLiteral', Js(u'end')), Js([var.get(u't').callprop(u'returnStatement', var.get(u't').callprop(u'callExpression', var.get(u"this").callprop(u'contextProperty', Js(u'stop')), Js([])))]))) + return var.get(u't').callprop(u'whileStatement', var.get(u't').callprop(u'numericLiteral', Js(1.0)), var.get(u't').callprop(u'switchStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u"this").callprop(u'contextProperty', Js(u'prev')), var.get(u"this").callprop(u'contextProperty', Js(u'next'))), var.get(u'cases'))) + PyJs_anonymous_1198_._set_name(u'anonymous') + var.get(u'Ep').put(u'getDispatchLoop', PyJs_anonymous_1198_) + @Js + def PyJs_anonymous_1200_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'lastLocValue']) + if PyJsStrictEq(var.get(u"this").get(u'tryEntries').get(u'length'),Js(0.0)): + return var.get(u"null") + var.put(u'lastLocValue', Js(0.0)) + @Js + def PyJs_anonymous_1201_(tryEntry, this, arguments, var=var): + var = Scope({u'this':this, u'tryEntry':tryEntry, u'arguments':arguments}, var) + var.registers([u'locs', u'tryEntry', u'thisLocValue', u'ce', u'fe']) + var.put(u'thisLocValue', var.get(u'tryEntry').get(u'firstLoc').get(u'value')) + var.get(u'_assert2').get(u'default').callprop(u'ok', (var.get(u'thisLocValue')>=var.get(u'lastLocValue')), Js(u'try entries out of order')) + var.put(u'lastLocValue', var.get(u'thisLocValue')) + var.put(u'ce', var.get(u'tryEntry').get(u'catchEntry')) + var.put(u'fe', var.get(u'tryEntry').get(u'finallyEntry')) + var.put(u'locs', Js([var.get(u'tryEntry').get(u'firstLoc'), (var.get(u'ce').get(u'firstLoc') if var.get(u'ce') else var.get(u"null"))])) + if var.get(u'fe'): + var.get(u'locs').put(u'2', var.get(u'fe').get(u'firstLoc')) + var.get(u'locs').put(u'3', var.get(u'fe').get(u'afterLoc')) + return var.get(u't').callprop(u'arrayExpression', var.get(u'locs')) + PyJs_anonymous_1201_._set_name(u'anonymous') + return var.get(u't').callprop(u'arrayExpression', var.get(u"this").get(u'tryEntries').callprop(u'map', PyJs_anonymous_1201_)) + PyJs_anonymous_1200_._set_name(u'anonymous') + var.get(u'Ep').put(u'getTryLocsList', PyJs_anonymous_1200_) + @Js + def PyJs_anonymous_1202_(path, ignoreResult, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'ignoreResult':ignoreResult, u'arguments':arguments}, var) + var.registers([u'node', u'path', u'self', u'ignoreResult']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'self', var.get(u"this")) + var.get(u't').callprop(u'assertNode', var.get(u'node')) + if var.get(u't').callprop(u'isDeclaration', var.get(u'node')): + PyJsTempException = JsToPyException(var.get(u'getDeclError')(var.get(u'node'))) + raise PyJsTempException + if var.get(u't').callprop(u'isStatement', var.get(u'node')): + return var.get(u'self').callprop(u'explodeStatement', var.get(u'path')) + if var.get(u't').callprop(u'isExpression', var.get(u'node')): + return var.get(u'self').callprop(u'explodeExpression', var.get(u'path'), var.get(u'ignoreResult')) + while 1: + SWITCHED = False + CONDITION = (var.get(u'node').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'Program')): + SWITCHED = True + return var.get(u'path').callprop(u'get', Js(u'body')).callprop(u'map', var.get(u'self').get(u'explodeStatement'), var.get(u'self')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'VariableDeclarator')): + SWITCHED = True + PyJsTempException = JsToPyException(var.get(u'getDeclError')(var.get(u'node'))) + raise PyJsTempException + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'Property')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'SwitchCase')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'CatchClause')): + SWITCHED = True + PyJsTempException = JsToPyException(var.get(u'Error').create((var.get(u'node').get(u'type')+Js(u' nodes should be handled by their parents')))) + raise PyJsTempException + if True: + SWITCHED = True + PyJsTempException = JsToPyException(var.get(u'Error').create((Js(u'unknown Node of type ')+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'node').get(u'type'))))) + raise PyJsTempException + SWITCHED = True + break + PyJs_anonymous_1202_._set_name(u'anonymous') + var.get(u'Ep').put(u'explode', PyJs_anonymous_1202_) + pass + @Js + def PyJs_anonymous_1203_(path, labelId, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'labelId':labelId}, var) + var.registers([u'head', u'labelId', u'_ret', u'self', u'after', u'stmt', u'path', u'before']) + var.put(u'stmt', var.get(u'path').get(u'node')) + var.put(u'self', var.get(u"this")) + var.put(u'before', PyJsComma(Js(0.0), Js(None))) + var.put(u'after', PyJsComma(Js(0.0), Js(None))) + var.put(u'head', PyJsComma(Js(0.0), Js(None))) + var.get(u't').callprop(u'assertStatement', var.get(u'stmt')) + if var.get(u'labelId'): + var.get(u't').callprop(u'assertIdentifier', var.get(u'labelId')) + else: + var.put(u'labelId', var.get(u"null")) + if var.get(u't').callprop(u'isBlockStatement', var.get(u'stmt')): + @Js + def PyJs_anonymous_1204_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + var.get(u'self').callprop(u'explodeStatement', var.get(u'path')) + PyJs_anonymous_1204_._set_name(u'anonymous') + var.get(u'path').callprop(u'get', Js(u'body')).callprop(u'forEach', PyJs_anonymous_1204_) + return var.get('undefined') + if var.get(u'meta').callprop(u'containsLeap', var.get(u'stmt')).neg(): + var.get(u'self').callprop(u'emit', var.get(u'stmt')) + return var.get('undefined') + @Js + def PyJs_anonymous_1205_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'catchLoc', u'catchEntry', u'c', u'tryEntry', u'keyInfoTmpVar', u'discriminant', u'i', u'keyIterNextFn', u'finallyLoc', u'update', u'defaultLoc', u'caseLocs', u'disc', u'test', u'cases', u'finallyEntry', u'elseLoc', u'handler', u'condition', u'first']) + while 1: + SWITCHED = False + CONDITION = (var.get(u'stmt').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ExpressionStatement')): + SWITCHED = True + var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'expression')), var.get(u'true')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'LabeledStatement')): + SWITCHED = True + var.put(u'after', var.get(u'loc')()) + @Js + def PyJs_anonymous_1206_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'self').callprop(u'explodeStatement', var.get(u'path').callprop(u'get', Js(u'body')), var.get(u'stmt').get(u'label')) + PyJs_anonymous_1206_._set_name(u'anonymous') + var.get(u'self').get(u'leapManager').callprop(u'withEntry', var.get(u'leap').get(u'LabeledEntry').create(var.get(u'after'), var.get(u'stmt').get(u'label')), PyJs_anonymous_1206_) + var.get(u'self').callprop(u'mark', var.get(u'after')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'WhileStatement')): + SWITCHED = True + var.put(u'before', var.get(u'loc')()) + var.put(u'after', var.get(u'loc')()) + var.get(u'self').callprop(u'mark', var.get(u'before')) + var.get(u'self').callprop(u'jumpIfNot', var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'test'))), var.get(u'after')) + @Js + def PyJs_anonymous_1207_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'self').callprop(u'explodeStatement', var.get(u'path').callprop(u'get', Js(u'body'))) + PyJs_anonymous_1207_._set_name(u'anonymous') + var.get(u'self').get(u'leapManager').callprop(u'withEntry', var.get(u'leap').get(u'LoopEntry').create(var.get(u'after'), var.get(u'before'), var.get(u'labelId')), PyJs_anonymous_1207_) + var.get(u'self').callprop(u'jump', var.get(u'before')) + var.get(u'self').callprop(u'mark', var.get(u'after')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'DoWhileStatement')): + SWITCHED = True + var.put(u'first', var.get(u'loc')()) + var.put(u'test', var.get(u'loc')()) + var.put(u'after', var.get(u'loc')()) + var.get(u'self').callprop(u'mark', var.get(u'first')) + @Js + def PyJs_anonymous_1208_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'self').callprop(u'explode', var.get(u'path').callprop(u'get', Js(u'body'))) + PyJs_anonymous_1208_._set_name(u'anonymous') + var.get(u'self').get(u'leapManager').callprop(u'withEntry', var.get(u'leap').get(u'LoopEntry').create(var.get(u'after'), var.get(u'test'), var.get(u'labelId')), PyJs_anonymous_1208_) + var.get(u'self').callprop(u'mark', var.get(u'test')) + var.get(u'self').callprop(u'jumpIf', var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'test'))), var.get(u'first')) + var.get(u'self').callprop(u'mark', var.get(u'after')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ForStatement')): + SWITCHED = True + var.put(u'head', var.get(u'loc')()) + var.put(u'update', var.get(u'loc')()) + var.put(u'after', var.get(u'loc')()) + if var.get(u'stmt').get(u'init'): + var.get(u'self').callprop(u'explode', var.get(u'path').callprop(u'get', Js(u'init')), var.get(u'true')) + var.get(u'self').callprop(u'mark', var.get(u'head')) + if var.get(u'stmt').get(u'test'): + var.get(u'self').callprop(u'jumpIfNot', var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'test'))), var.get(u'after')) + else: + pass + @Js + def PyJs_anonymous_1209_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'self').callprop(u'explodeStatement', var.get(u'path').callprop(u'get', Js(u'body'))) + PyJs_anonymous_1209_._set_name(u'anonymous') + var.get(u'self').get(u'leapManager').callprop(u'withEntry', var.get(u'leap').get(u'LoopEntry').create(var.get(u'after'), var.get(u'update'), var.get(u'labelId')), PyJs_anonymous_1209_) + var.get(u'self').callprop(u'mark', var.get(u'update')) + if var.get(u'stmt').get(u'update'): + var.get(u'self').callprop(u'explode', var.get(u'path').callprop(u'get', Js(u'update')), var.get(u'true')) + var.get(u'self').callprop(u'jump', var.get(u'head')) + var.get(u'self').callprop(u'mark', var.get(u'after')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'TypeCastExpression')): + SWITCHED = True + PyJs_Object_1210_ = Js({u'v':var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'expression')))}) + return PyJs_Object_1210_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ForInStatement')): + SWITCHED = True + var.put(u'head', var.get(u'loc')()) + var.put(u'after', var.get(u'loc')()) + var.put(u'keyIterNextFn', var.get(u'self').callprop(u'makeTempVar')) + var.get(u'self').callprop(u'emitAssign', var.get(u'keyIterNextFn'), var.get(u't').callprop(u'callExpression', var.get(u'util').callprop(u'runtimeProperty', Js(u'keys')), Js([var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'right')))]))) + var.get(u'self').callprop(u'mark', var.get(u'head')) + var.put(u'keyInfoTmpVar', var.get(u'self').callprop(u'makeTempVar')) + var.get(u'self').callprop(u'jumpIf', var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'keyInfoTmpVar'), var.get(u't').callprop(u'callExpression', var.get(u'keyIterNextFn'), Js([]))), var.get(u't').callprop(u'identifier', Js(u'done')), Js(False)), var.get(u'after')) + var.get(u'self').callprop(u'emitAssign', var.get(u'stmt').get(u'left'), var.get(u't').callprop(u'memberExpression', var.get(u'keyInfoTmpVar'), var.get(u't').callprop(u'identifier', Js(u'value')), Js(False))) + @Js + def PyJs_anonymous_1211_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'self').callprop(u'explodeStatement', var.get(u'path').callprop(u'get', Js(u'body'))) + PyJs_anonymous_1211_._set_name(u'anonymous') + var.get(u'self').get(u'leapManager').callprop(u'withEntry', var.get(u'leap').get(u'LoopEntry').create(var.get(u'after'), var.get(u'head'), var.get(u'labelId')), PyJs_anonymous_1211_) + var.get(u'self').callprop(u'jump', var.get(u'head')) + var.get(u'self').callprop(u'mark', var.get(u'after')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'BreakStatement')): + SWITCHED = True + PyJs_Object_1212_ = Js({u'type':Js(u'break'),u'target':var.get(u'self').get(u'leapManager').callprop(u'getBreakLoc', var.get(u'stmt').get(u'label'))}) + var.get(u'self').callprop(u'emitAbruptCompletion', PyJs_Object_1212_) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ContinueStatement')): + SWITCHED = True + PyJs_Object_1213_ = Js({u'type':Js(u'continue'),u'target':var.get(u'self').get(u'leapManager').callprop(u'getContinueLoc', var.get(u'stmt').get(u'label'))}) + var.get(u'self').callprop(u'emitAbruptCompletion', PyJs_Object_1213_) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'SwitchStatement')): + SWITCHED = True + var.put(u'disc', var.get(u'self').callprop(u'emitAssign', var.get(u'self').callprop(u'makeTempVar'), var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'discriminant'))))) + var.put(u'after', var.get(u'loc')()) + var.put(u'defaultLoc', var.get(u'loc')()) + var.put(u'condition', var.get(u'defaultLoc')) + var.put(u'caseLocs', Js([])) + var.put(u'cases', (var.get(u'stmt').get(u'cases') or Js([]))) + #for JS loop + var.put(u'i', (var.get(u'cases').get(u'length')-Js(1.0))) + while (var.get(u'i')>=Js(0.0)): + try: + var.put(u'c', var.get(u'cases').get(var.get(u'i'))) + var.get(u't').callprop(u'assertSwitchCase', var.get(u'c')) + if var.get(u'c').get(u'test'): + var.put(u'condition', var.get(u't').callprop(u'conditionalExpression', var.get(u't').callprop(u'binaryExpression', Js(u'==='), var.get(u'disc'), var.get(u'c').get(u'test')), var.get(u'caseLocs').put(var.get(u'i'), var.get(u'loc')()), var.get(u'condition'))) + else: + var.get(u'caseLocs').put(var.get(u'i'), var.get(u'defaultLoc')) + finally: + var.put(u'i',Js(var.get(u'i').to_number())-Js(1)) + var.put(u'discriminant', var.get(u'path').callprop(u'get', Js(u'discriminant'))) + var.get(u'discriminant').callprop(u'replaceWith', var.get(u'condition')) + var.get(u'self').callprop(u'jump', var.get(u'self').callprop(u'explodeExpression', var.get(u'discriminant'))) + @Js + def PyJs_anonymous_1214_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_anonymous_1215_(casePath, this, arguments, var=var): + var = Scope({u'this':this, u'casePath':casePath, u'arguments':arguments}, var) + var.registers([u'i', u'casePath']) + var.put(u'i', var.get(u'casePath').get(u'key')) + var.get(u'self').callprop(u'mark', var.get(u'caseLocs').get(var.get(u'i'))) + @Js + def PyJs_anonymous_1216_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + var.get(u'self').callprop(u'explodeStatement', var.get(u'path')) + PyJs_anonymous_1216_._set_name(u'anonymous') + var.get(u'casePath').callprop(u'get', Js(u'consequent')).callprop(u'forEach', PyJs_anonymous_1216_) + PyJs_anonymous_1215_._set_name(u'anonymous') + var.get(u'path').callprop(u'get', Js(u'cases')).callprop(u'forEach', PyJs_anonymous_1215_) + PyJs_anonymous_1214_._set_name(u'anonymous') + var.get(u'self').get(u'leapManager').callprop(u'withEntry', var.get(u'leap').get(u'SwitchEntry').create(var.get(u'after')), PyJs_anonymous_1214_) + var.get(u'self').callprop(u'mark', var.get(u'after')) + if PyJsStrictEq(var.get(u'defaultLoc').get(u'value'),(-Js(1.0))): + var.get(u'self').callprop(u'mark', var.get(u'defaultLoc')) + var.get(u'_assert2').get(u'default').callprop(u'strictEqual', var.get(u'after').get(u'value'), var.get(u'defaultLoc').get(u'value')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'IfStatement')): + SWITCHED = True + var.put(u'elseLoc', (var.get(u'stmt').get(u'alternate') and var.get(u'loc')())) + var.put(u'after', var.get(u'loc')()) + var.get(u'self').callprop(u'jumpIfNot', var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'test'))), (var.get(u'elseLoc') or var.get(u'after'))) + var.get(u'self').callprop(u'explodeStatement', var.get(u'path').callprop(u'get', Js(u'consequent'))) + if var.get(u'elseLoc'): + var.get(u'self').callprop(u'jump', var.get(u'after')) + var.get(u'self').callprop(u'mark', var.get(u'elseLoc')) + var.get(u'self').callprop(u'explodeStatement', var.get(u'path').callprop(u'get', Js(u'alternate'))) + var.get(u'self').callprop(u'mark', var.get(u'after')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ReturnStatement')): + SWITCHED = True + PyJs_Object_1217_ = Js({u'type':Js(u'return'),u'value':var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'argument')))}) + var.get(u'self').callprop(u'emitAbruptCompletion', PyJs_Object_1217_) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'WithStatement')): + SWITCHED = True + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'WithStatement not supported in generator functions.'))) + raise PyJsTempException + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'TryStatement')): + SWITCHED = True + var.put(u'after', var.get(u'loc')()) + var.put(u'handler', var.get(u'stmt').get(u'handler')) + var.put(u'catchLoc', (var.get(u'handler') and var.get(u'loc')())) + var.put(u'catchEntry', (var.get(u'catchLoc') and var.get(u'leap').get(u'CatchEntry').create(var.get(u'catchLoc'), var.get(u'handler').get(u'param')))) + var.put(u'finallyLoc', (var.get(u'stmt').get(u'finalizer') and var.get(u'loc')())) + var.put(u'finallyEntry', (var.get(u'finallyLoc') and var.get(u'leap').get(u'FinallyEntry').create(var.get(u'finallyLoc'), var.get(u'after')))) + var.put(u'tryEntry', var.get(u'leap').get(u'TryEntry').create(var.get(u'self').callprop(u'getUnmarkedCurrentLoc'), var.get(u'catchEntry'), var.get(u'finallyEntry'))) + var.get(u'self').get(u'tryEntries').callprop(u'push', var.get(u'tryEntry')) + var.get(u'self').callprop(u'updateContextPrevLoc', var.get(u'tryEntry').get(u'firstLoc')) + @Js + def PyJs_anonymous_1218_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'self').callprop(u'explodeStatement', var.get(u'path').callprop(u'get', Js(u'block'))) + if var.get(u'catchLoc'): + @Js + def PyJs_anonymous_1219_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'bodyPath', u'safeParam']) + if var.get(u'finallyLoc'): + var.get(u'self').callprop(u'jump', var.get(u'finallyLoc')) + else: + var.get(u'self').callprop(u'jump', var.get(u'after')) + var.get(u'self').callprop(u'updateContextPrevLoc', var.get(u'self').callprop(u'mark', var.get(u'catchLoc'))) + var.put(u'bodyPath', var.get(u'path').callprop(u'get', Js(u'handler.body'))) + var.put(u'safeParam', var.get(u'self').callprop(u'makeTempVar')) + var.get(u'self').callprop(u'clearPendingException', var.get(u'tryEntry').get(u'firstLoc'), var.get(u'safeParam')) + PyJs_Object_1220_ = Js({u'safeParam':var.get(u'safeParam'),u'catchParamName':var.get(u'handler').get(u'param').get(u'name')}) + var.get(u'bodyPath').callprop(u'traverse', var.get(u'catchParamVisitor'), PyJs_Object_1220_) + @Js + def PyJs_anonymous_1221_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'self').callprop(u'explodeStatement', var.get(u'bodyPath')) + PyJs_anonymous_1221_._set_name(u'anonymous') + var.get(u'self').get(u'leapManager').callprop(u'withEntry', var.get(u'catchEntry'), PyJs_anonymous_1221_) + PyJs_anonymous_1219_._set_name(u'anonymous') + PyJs_anonymous_1219_() + if var.get(u'finallyLoc'): + var.get(u'self').callprop(u'updateContextPrevLoc', var.get(u'self').callprop(u'mark', var.get(u'finallyLoc'))) + @Js + def PyJs_anonymous_1222_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'self').callprop(u'explodeStatement', var.get(u'path').callprop(u'get', Js(u'finalizer'))) + PyJs_anonymous_1222_._set_name(u'anonymous') + var.get(u'self').get(u'leapManager').callprop(u'withEntry', var.get(u'finallyEntry'), PyJs_anonymous_1222_) + var.get(u'self').callprop(u'emit', var.get(u't').callprop(u'returnStatement', var.get(u't').callprop(u'callExpression', var.get(u'self').callprop(u'contextProperty', Js(u'finish')), Js([var.get(u'finallyEntry').get(u'firstLoc')])))) + PyJs_anonymous_1218_._set_name(u'anonymous') + var.get(u'self').get(u'leapManager').callprop(u'withEntry', var.get(u'tryEntry'), PyJs_anonymous_1218_) + var.get(u'self').callprop(u'mark', var.get(u'after')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ThrowStatement')): + SWITCHED = True + var.get(u'self').callprop(u'emit', var.get(u't').callprop(u'throwStatement', var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'argument'))))) + break + if True: + SWITCHED = True + PyJsTempException = JsToPyException(var.get(u'Error').create((Js(u'unknown Statement of type ')+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'stmt').get(u'type'))))) + raise PyJsTempException + SWITCHED = True + break + PyJs_anonymous_1205_._set_name(u'anonymous') + var.put(u'_ret', PyJs_anonymous_1205_()) + if PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'_ret',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'_ret'))),Js(u'object')): + return var.get(u'_ret').get(u'v') + PyJs_anonymous_1203_._set_name(u'anonymous') + var.get(u'Ep').put(u'explodeStatement', PyJs_anonymous_1203_) + @Js + def PyJs_Identifier_1224_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'Identifier':PyJs_Identifier_1224_, u'arguments':arguments}, var) + var.registers([u'path', u'state']) + if (PyJsStrictEq(var.get(u'path').get(u'node').get(u'name'),var.get(u'state').get(u'catchParamName')) and var.get(u'util').callprop(u'isReference', var.get(u'path'))): + var.get(u'path').callprop(u'replaceWith', var.get(u'state').get(u'safeParam')) + PyJs_Identifier_1224_._set_name(u'Identifier') + @Js + def PyJs_Scope_1225_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'Scope':PyJs_Scope_1225_}, var) + var.registers([u'path', u'state']) + if var.get(u'path').get(u'scope').callprop(u'hasOwnBinding', var.get(u'state').get(u'catchParamName')): + var.get(u'path').callprop(u'skip') + PyJs_Scope_1225_._set_name(u'Scope') + PyJs_Object_1223_ = Js({u'Identifier':PyJs_Identifier_1224_,u'Scope':PyJs_Scope_1225_}) + var.put(u'catchParamVisitor', PyJs_Object_1223_) + @Js + def PyJs_anonymous_1226_(record, this, arguments, var=var): + var = Scope({u'this':this, u'record':record, u'arguments':arguments}, var) + var.registers([u'record', u'abruptArgs']) + if var.get(u'isValidCompletion')(var.get(u'record')).neg(): + var.get(u'_assert2').get(u'default').callprop(u'ok', Js(False), (Js(u'invalid completion record: ')+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'record')))) + var.get(u'_assert2').get(u'default').callprop(u'notStrictEqual', var.get(u'record').get(u'type'), Js(u'normal'), Js(u'normal completions are not abrupt')) + var.put(u'abruptArgs', Js([var.get(u't').callprop(u'stringLiteral', var.get(u'record').get(u'type'))])) + if (PyJsStrictEq(var.get(u'record').get(u'type'),Js(u'break')) or PyJsStrictEq(var.get(u'record').get(u'type'),Js(u'continue'))): + var.get(u't').callprop(u'assertLiteral', var.get(u'record').get(u'target')) + var.get(u'abruptArgs').put(u'1', var.get(u'record').get(u'target')) + else: + if (PyJsStrictEq(var.get(u'record').get(u'type'),Js(u'return')) or PyJsStrictEq(var.get(u'record').get(u'type'),Js(u'throw'))): + if var.get(u'record').get(u'value'): + var.get(u't').callprop(u'assertExpression', var.get(u'record').get(u'value')) + var.get(u'abruptArgs').put(u'1', var.get(u'record').get(u'value')) + var.get(u"this").callprop(u'emit', var.get(u't').callprop(u'returnStatement', var.get(u't').callprop(u'callExpression', var.get(u"this").callprop(u'contextProperty', Js(u'abrupt')), var.get(u'abruptArgs')))) + PyJs_anonymous_1226_._set_name(u'anonymous') + var.get(u'Ep').put(u'emitAbruptCompletion', PyJs_anonymous_1226_) + pass + @Js + def PyJs_anonymous_1227_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'numericLiteral', var.get(u"this").get(u'listing').get(u'length')) + PyJs_anonymous_1227_._set_name(u'anonymous') + var.get(u'Ep').put(u'getUnmarkedCurrentLoc', PyJs_anonymous_1227_) + @Js + def PyJs_anonymous_1228_(loc, this, arguments, var=var): + var = Scope({u'this':this, u'loc':loc, u'arguments':arguments}, var) + var.registers([u'loc']) + if var.get(u'loc'): + var.get(u't').callprop(u'assertLiteral', var.get(u'loc')) + if PyJsStrictEq(var.get(u'loc').get(u'value'),(-Js(1.0))): + var.get(u'loc').put(u'value', var.get(u"this").get(u'listing').get(u'length')) + else: + var.get(u'_assert2').get(u'default').callprop(u'strictEqual', var.get(u'loc').get(u'value'), var.get(u"this").get(u'listing').get(u'length')) + else: + var.put(u'loc', var.get(u"this").callprop(u'getUnmarkedCurrentLoc')) + var.get(u"this").callprop(u'emitAssign', var.get(u"this").callprop(u'contextProperty', Js(u'prev')), var.get(u'loc')) + PyJs_anonymous_1228_._set_name(u'anonymous') + var.get(u'Ep').put(u'updateContextPrevLoc', PyJs_anonymous_1228_) + @Js + def PyJs_anonymous_1229_(path, ignoreResult, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'ignoreResult':ignoreResult, u'arguments':arguments}, var) + var.registers([u'finish', u'ignoreResult', u'expr', u'self', u'after', u'_ret3', u'result', u'hasLeapingChildren', u'path', u'explodeViaTempVar']) + @Js + def PyJsHoisted_explodeViaTempVar_(tempVar, childPath, ignoreChildResult, this, arguments, var=var): + var = Scope({u'this':this, u'ignoreChildResult':ignoreChildResult, u'childPath':childPath, u'tempVar':tempVar, u'arguments':arguments}, var) + var.registers([u'childPath', u'ignoreChildResult', u'result', u'tempVar']) + var.get(u'_assert2').get(u'default').callprop(u'ok', (var.get(u'ignoreChildResult').neg() or var.get(u'tempVar').neg()), (Js(u'Ignoring the result of a child expression but forcing it to ')+Js(u'be assigned to a temporary variable?'))) + var.put(u'result', var.get(u'self').callprop(u'explodeExpression', var.get(u'childPath'), var.get(u'ignoreChildResult'))) + if var.get(u'ignoreChildResult'): + pass + else: + if (var.get(u'tempVar') or (var.get(u'hasLeapingChildren') and var.get(u't').callprop(u'isLiteral', var.get(u'result')).neg())): + var.put(u'result', var.get(u'self').callprop(u'emitAssign', (var.get(u'tempVar') or var.get(u'self').callprop(u'makeTempVar')), var.get(u'result'))) + return var.get(u'result') + PyJsHoisted_explodeViaTempVar_.func_name = u'explodeViaTempVar' + var.put(u'explodeViaTempVar', PyJsHoisted_explodeViaTempVar_) + @Js + def PyJsHoisted_finish_(expr, this, arguments, var=var): + var = Scope({u'this':this, u'expr':expr, u'arguments':arguments}, var) + var.registers([u'expr']) + var.get(u't').callprop(u'assertExpression', var.get(u'expr')) + if var.get(u'ignoreResult'): + var.get(u'self').callprop(u'emit', var.get(u'expr')) + else: + return var.get(u'expr') + PyJsHoisted_finish_.func_name = u'finish' + var.put(u'finish', PyJsHoisted_finish_) + var.put(u'expr', var.get(u'path').get(u'node')) + if var.get(u'expr'): + var.get(u't').callprop(u'assertExpression', var.get(u'expr')) + else: + return var.get(u'expr') + var.put(u'self', var.get(u"this")) + var.put(u'result', PyJsComma(Js(0.0), Js(None))) + var.put(u'after', PyJsComma(Js(0.0), Js(None))) + pass + if var.get(u'meta').callprop(u'containsLeap', var.get(u'expr')).neg(): + return var.get(u'finish')(var.get(u'expr')) + var.put(u'hasLeapingChildren', var.get(u'meta').get(u'containsLeap').callprop(u'onlyChildren', var.get(u'expr'))) + pass + @Js + def PyJs_anonymous_1230_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'argsPath', u'_result', u'hasLeapingArgs', u'calleePath', u'lastIndex', u'newProperty', u'newObject', u'arg', u'test', u'newCallee', u'newArgs', u'elseLoc', u'left']) + while 1: + SWITCHED = False + CONDITION = (var.get(u'expr').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'MemberExpression')): + SWITCHED = True + PyJs_Object_1231_ = Js({u'v':var.get(u'finish')(var.get(u't').callprop(u'memberExpression', var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'object'))), (var.get(u'explodeViaTempVar')(var.get(u"null"), var.get(u'path').callprop(u'get', Js(u'property'))) if var.get(u'expr').get(u'computed') else var.get(u'expr').get(u'property')), var.get(u'expr').get(u'computed')))}) + return PyJs_Object_1231_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'CallExpression')): + SWITCHED = True + var.put(u'calleePath', var.get(u'path').callprop(u'get', Js(u'callee'))) + var.put(u'argsPath', var.get(u'path').callprop(u'get', Js(u'arguments'))) + var.put(u'newCallee', PyJsComma(Js(0.0), Js(None))) + var.put(u'newArgs', Js([])) + var.put(u'hasLeapingArgs', Js(False)) + @Js + def PyJs_anonymous_1232_(argPath, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'argPath':argPath}, var) + var.registers([u'argPath']) + var.put(u'hasLeapingArgs', (var.get(u'hasLeapingArgs') or var.get(u'meta').callprop(u'containsLeap', var.get(u'argPath').get(u'node')))) + PyJs_anonymous_1232_._set_name(u'anonymous') + var.get(u'argsPath').callprop(u'forEach', PyJs_anonymous_1232_) + if var.get(u't').callprop(u'isMemberExpression', var.get(u'calleePath').get(u'node')): + if var.get(u'hasLeapingArgs'): + var.put(u'newObject', var.get(u'explodeViaTempVar')(var.get(u'self').callprop(u'makeTempVar'), var.get(u'calleePath').callprop(u'get', Js(u'object')))) + var.put(u'newProperty', (var.get(u'explodeViaTempVar')(var.get(u"null"), var.get(u'calleePath').callprop(u'get', Js(u'property'))) if var.get(u'calleePath').get(u'node').get(u'computed') else var.get(u'calleePath').get(u'node').get(u'property'))) + var.get(u'newArgs').callprop(u'unshift', var.get(u'newObject')) + var.put(u'newCallee', var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'memberExpression', var.get(u'newObject'), var.get(u'newProperty'), var.get(u'calleePath').get(u'node').get(u'computed')), var.get(u't').callprop(u'identifier', Js(u'call')), Js(False))) + else: + var.put(u'newCallee', var.get(u'self').callprop(u'explodeExpression', var.get(u'calleePath'))) + else: + var.put(u'newCallee', var.get(u'self').callprop(u'explodeExpression', var.get(u'calleePath'))) + if var.get(u't').callprop(u'isMemberExpression', var.get(u'newCallee')): + var.put(u'newCallee', var.get(u't').callprop(u'sequenceExpression', Js([var.get(u't').callprop(u'numericLiteral', Js(0.0)), var.get(u'newCallee')]))) + @Js + def PyJs_anonymous_1233_(argPath, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'argPath':argPath}, var) + var.registers([u'argPath']) + var.get(u'newArgs').callprop(u'push', var.get(u'explodeViaTempVar')(var.get(u"null"), var.get(u'argPath'))) + PyJs_anonymous_1233_._set_name(u'anonymous') + var.get(u'argsPath').callprop(u'forEach', PyJs_anonymous_1233_) + PyJs_Object_1234_ = Js({u'v':var.get(u'finish')(var.get(u't').callprop(u'callExpression', var.get(u'newCallee'), var.get(u'newArgs')))}) + return PyJs_Object_1234_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'NewExpression')): + SWITCHED = True + @Js + def PyJs_anonymous_1236_(argPath, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'argPath':argPath}, var) + var.registers([u'argPath']) + return var.get(u'explodeViaTempVar')(var.get(u"null"), var.get(u'argPath')) + PyJs_anonymous_1236_._set_name(u'anonymous') + PyJs_Object_1235_ = Js({u'v':var.get(u'finish')(var.get(u't').callprop(u'newExpression', var.get(u'explodeViaTempVar')(var.get(u"null"), var.get(u'path').callprop(u'get', Js(u'callee'))), var.get(u'path').callprop(u'get', Js(u'arguments')).callprop(u'map', PyJs_anonymous_1236_)))}) + return PyJs_Object_1235_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ObjectExpression')): + SWITCHED = True + @Js + def PyJs_anonymous_1238_(propPath, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'propPath':propPath}, var) + var.registers([u'propPath']) + if var.get(u'propPath').callprop(u'isObjectProperty'): + return var.get(u't').callprop(u'objectProperty', var.get(u'propPath').get(u'node').get(u'key'), var.get(u'explodeViaTempVar')(var.get(u"null"), var.get(u'propPath').callprop(u'get', Js(u'value'))), var.get(u'propPath').get(u'node').get(u'computed')) + else: + return var.get(u'propPath').get(u'node') + PyJs_anonymous_1238_._set_name(u'anonymous') + PyJs_Object_1237_ = Js({u'v':var.get(u'finish')(var.get(u't').callprop(u'objectExpression', var.get(u'path').callprop(u'get', Js(u'properties')).callprop(u'map', PyJs_anonymous_1238_)))}) + return PyJs_Object_1237_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ArrayExpression')): + SWITCHED = True + @Js + def PyJs_anonymous_1240_(elemPath, this, arguments, var=var): + var = Scope({u'this':this, u'elemPath':elemPath, u'arguments':arguments}, var) + var.registers([u'elemPath']) + return var.get(u'explodeViaTempVar')(var.get(u"null"), var.get(u'elemPath')) + PyJs_anonymous_1240_._set_name(u'anonymous') + PyJs_Object_1239_ = Js({u'v':var.get(u'finish')(var.get(u't').callprop(u'arrayExpression', var.get(u'path').callprop(u'get', Js(u'elements')).callprop(u'map', PyJs_anonymous_1240_)))}) + return PyJs_Object_1239_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'SequenceExpression')): + SWITCHED = True + var.put(u'lastIndex', (var.get(u'expr').get(u'expressions').get(u'length')-Js(1.0))) + @Js + def PyJs_anonymous_1241_(exprPath, this, arguments, var=var): + var = Scope({u'exprPath':exprPath, u'this':this, u'arguments':arguments}, var) + var.registers([u'exprPath']) + if PyJsStrictEq(var.get(u'exprPath').get(u'key'),var.get(u'lastIndex')): + var.put(u'result', var.get(u'self').callprop(u'explodeExpression', var.get(u'exprPath'), var.get(u'ignoreResult'))) + else: + var.get(u'self').callprop(u'explodeExpression', var.get(u'exprPath'), var.get(u'true')) + PyJs_anonymous_1241_._set_name(u'anonymous') + var.get(u'path').callprop(u'get', Js(u'expressions')).callprop(u'forEach', PyJs_anonymous_1241_) + PyJs_Object_1242_ = Js({u'v':var.get(u'result')}) + return PyJs_Object_1242_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'LogicalExpression')): + SWITCHED = True + var.put(u'after', var.get(u'loc')()) + if var.get(u'ignoreResult').neg(): + var.put(u'result', var.get(u'self').callprop(u'makeTempVar')) + var.put(u'left', var.get(u'explodeViaTempVar')(var.get(u'result'), var.get(u'path').callprop(u'get', Js(u'left')))) + if PyJsStrictEq(var.get(u'expr').get(u'operator'),Js(u'&&')): + var.get(u'self').callprop(u'jumpIfNot', var.get(u'left'), var.get(u'after')) + else: + var.get(u'_assert2').get(u'default').callprop(u'strictEqual', var.get(u'expr').get(u'operator'), Js(u'||')) + var.get(u'self').callprop(u'jumpIf', var.get(u'left'), var.get(u'after')) + var.get(u'explodeViaTempVar')(var.get(u'result'), var.get(u'path').callprop(u'get', Js(u'right')), var.get(u'ignoreResult')) + var.get(u'self').callprop(u'mark', var.get(u'after')) + PyJs_Object_1243_ = Js({u'v':var.get(u'result')}) + return PyJs_Object_1243_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ConditionalExpression')): + SWITCHED = True + var.put(u'elseLoc', var.get(u'loc')()) + var.put(u'after', var.get(u'loc')()) + var.put(u'test', var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'test')))) + var.get(u'self').callprop(u'jumpIfNot', var.get(u'test'), var.get(u'elseLoc')) + if var.get(u'ignoreResult').neg(): + var.put(u'result', var.get(u'self').callprop(u'makeTempVar')) + var.get(u'explodeViaTempVar')(var.get(u'result'), var.get(u'path').callprop(u'get', Js(u'consequent')), var.get(u'ignoreResult')) + var.get(u'self').callprop(u'jump', var.get(u'after')) + var.get(u'self').callprop(u'mark', var.get(u'elseLoc')) + var.get(u'explodeViaTempVar')(var.get(u'result'), var.get(u'path').callprop(u'get', Js(u'alternate')), var.get(u'ignoreResult')) + var.get(u'self').callprop(u'mark', var.get(u'after')) + PyJs_Object_1244_ = Js({u'v':var.get(u'result')}) + return PyJs_Object_1244_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'UnaryExpression')): + SWITCHED = True + PyJs_Object_1245_ = Js({u'v':var.get(u'finish')(var.get(u't').callprop(u'unaryExpression', var.get(u'expr').get(u'operator'), var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'argument'))), var.get(u'expr').get(u'prefix').neg().neg()))}) + return PyJs_Object_1245_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'BinaryExpression')): + SWITCHED = True + PyJs_Object_1246_ = Js({u'v':var.get(u'finish')(var.get(u't').callprop(u'binaryExpression', var.get(u'expr').get(u'operator'), var.get(u'explodeViaTempVar')(var.get(u"null"), var.get(u'path').callprop(u'get', Js(u'left'))), var.get(u'explodeViaTempVar')(var.get(u"null"), var.get(u'path').callprop(u'get', Js(u'right')))))}) + return PyJs_Object_1246_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'AssignmentExpression')): + SWITCHED = True + PyJs_Object_1247_ = Js({u'v':var.get(u'finish')(var.get(u't').callprop(u'assignmentExpression', var.get(u'expr').get(u'operator'), var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'left'))), var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'right')))))}) + return PyJs_Object_1247_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'UpdateExpression')): + SWITCHED = True + PyJs_Object_1248_ = Js({u'v':var.get(u'finish')(var.get(u't').callprop(u'updateExpression', var.get(u'expr').get(u'operator'), var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'argument'))), var.get(u'expr').get(u'prefix')))}) + return PyJs_Object_1248_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'YieldExpression')): + SWITCHED = True + var.put(u'after', var.get(u'loc')()) + var.put(u'arg', (var.get(u'expr').get(u'argument') and var.get(u'self').callprop(u'explodeExpression', var.get(u'path').callprop(u'get', Js(u'argument'))))) + if (var.get(u'arg') and var.get(u'expr').get(u'delegate')): + var.put(u'_result', var.get(u'self').callprop(u'makeTempVar')) + var.get(u'self').callprop(u'emit', var.get(u't').callprop(u'returnStatement', var.get(u't').callprop(u'callExpression', var.get(u'self').callprop(u'contextProperty', Js(u'delegateYield')), Js([var.get(u'arg'), var.get(u't').callprop(u'stringLiteral', var.get(u'_result').get(u'property').get(u'name')), var.get(u'after')])))) + var.get(u'self').callprop(u'mark', var.get(u'after')) + PyJs_Object_1249_ = Js({u'v':var.get(u'_result')}) + return PyJs_Object_1249_ + var.get(u'self').callprop(u'emitAssign', var.get(u'self').callprop(u'contextProperty', Js(u'next')), var.get(u'after')) + var.get(u'self').callprop(u'emit', var.get(u't').callprop(u'returnStatement', (var.get(u'arg') or var.get(u"null")))) + var.get(u'self').callprop(u'mark', var.get(u'after')) + PyJs_Object_1250_ = Js({u'v':var.get(u'self').callprop(u'contextProperty', Js(u'sent'))}) + return PyJs_Object_1250_ + if True: + SWITCHED = True + PyJsTempException = JsToPyException(var.get(u'Error').create((Js(u'unknown Expression of type ')+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'expr').get(u'type'))))) + raise PyJsTempException + SWITCHED = True + break + PyJs_anonymous_1230_._set_name(u'anonymous') + var.put(u'_ret3', PyJs_anonymous_1230_()) + if PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'_ret3',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'_ret3'))),Js(u'object')): + return var.get(u'_ret3').get(u'v') + PyJs_anonymous_1229_._set_name(u'anonymous') + var.get(u'Ep').put(u'explodeExpression', PyJs_anonymous_1229_) +PyJs_anonymous_1182_._set_name(u'anonymous') +PyJs_Object_1251_ = Js({u'./leap':Js(90.0),u'./meta':Js(91.0),u'./util':Js(92.0),u'assert':Js(524.0),u'babel-runtime/core-js/json/stringify':Js(97.0),u'babel-runtime/helpers/typeof':Js(114.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_1252_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'module', u'exports', u'_interopRequireWildcard', u'require', u'_babelTypes', u'hasOwn', u'_keys2', u'_keys', u't', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1254_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1254_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1253_ = Js({}) + var.put(u'newObj', PyJs_Object_1253_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.put(u'_keys', var.get(u'require')(Js(u'babel-runtime/core-js/object/keys'))) + var.put(u'_keys2', var.get(u'_interopRequireDefault')(var.get(u'_keys'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + var.put(u'hasOwn', var.get(u'Object').get(u'prototype').get(u'hasOwnProperty')) + @Js + def PyJs_anonymous_1255_(funPath, this, arguments, var=var): + var = Scope({u'this':this, u'funPath':funPath, u'arguments':arguments}, var) + var.registers([u'varDeclToExpr', u'funPath', u'paramNames', u'declarations', u'vars']) + @Js + def PyJsHoisted_varDeclToExpr_(vdec, includeIdentifiers, this, arguments, var=var): + var = Scope({u'this':this, u'vdec':vdec, u'arguments':arguments, u'includeIdentifiers':includeIdentifiers}, var) + var.registers([u'exprs', u'vdec', u'includeIdentifiers']) + var.get(u't').callprop(u'assertVariableDeclaration', var.get(u'vdec')) + var.put(u'exprs', Js([])) + @Js + def PyJs_anonymous_1257_(dec, this, arguments, var=var): + var = Scope({u'this':this, u'dec':dec, u'arguments':arguments}, var) + var.registers([u'dec']) + var.get(u'vars').put(var.get(u'dec').get(u'id').get(u'name'), var.get(u't').callprop(u'identifier', var.get(u'dec').get(u'id').get(u'name'))) + if var.get(u'dec').get(u'init'): + var.get(u'exprs').callprop(u'push', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'dec').get(u'id'), var.get(u'dec').get(u'init'))) + else: + if var.get(u'includeIdentifiers'): + var.get(u'exprs').callprop(u'push', var.get(u'dec').get(u'id')) + PyJs_anonymous_1257_._set_name(u'anonymous') + var.get(u'vdec').get(u'declarations').callprop(u'forEach', PyJs_anonymous_1257_) + if PyJsStrictEq(var.get(u'exprs').get(u'length'),Js(0.0)): + return var.get(u"null") + if PyJsStrictEq(var.get(u'exprs').get(u'length'),Js(1.0)): + return var.get(u'exprs').get(u'0') + return var.get(u't').callprop(u'sequenceExpression', var.get(u'exprs')) + PyJsHoisted_varDeclToExpr_.func_name = u'varDeclToExpr' + var.put(u'varDeclToExpr', PyJsHoisted_varDeclToExpr_) + var.get(u't').callprop(u'assertFunction', var.get(u'funPath').get(u'node')) + PyJs_Object_1256_ = Js({}) + var.put(u'vars', PyJs_Object_1256_) + pass + @Js + def PyJs_exit_1260_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'exit':PyJs_exit_1260_, u'arguments':arguments}, var) + var.registers([u'expr', u'path']) + var.put(u'expr', var.get(u'varDeclToExpr')(var.get(u'path').get(u'node'), Js(False))) + if PyJsStrictEq(var.get(u'expr'),var.get(u"null")): + var.get(u'path').callprop(u'remove') + else: + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'expressionStatement', var.get(u'expr'))) + var.get(u'path').callprop(u'skip') + PyJs_exit_1260_._set_name(u'exit') + PyJs_Object_1259_ = Js({u'exit':PyJs_exit_1260_}) + @Js + def PyJs_ForStatement_1261_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'ForStatement':PyJs_ForStatement_1261_}, var) + var.registers([u'path', u'init']) + var.put(u'init', var.get(u'path').get(u'node').get(u'init')) + if var.get(u't').callprop(u'isVariableDeclaration', var.get(u'init')): + var.get(u'path').callprop(u'get', Js(u'init')).callprop(u'replaceWith', var.get(u'varDeclToExpr')(var.get(u'init'), Js(False))) + PyJs_ForStatement_1261_._set_name(u'ForStatement') + @Js + def PyJs_ForXStatement_1262_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'ForXStatement':PyJs_ForXStatement_1262_}, var) + var.registers([u'path', u'left']) + var.put(u'left', var.get(u'path').callprop(u'get', Js(u'left'))) + if var.get(u'left').callprop(u'isVariableDeclaration'): + var.get(u'left').callprop(u'replaceWith', var.get(u'varDeclToExpr')(var.get(u'left').get(u'node'), var.get(u'true'))) + PyJs_ForXStatement_1262_._set_name(u'ForXStatement') + @Js + def PyJs_FunctionDeclaration_1263_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'FunctionDeclaration':PyJs_FunctionDeclaration_1263_}, var) + var.registers([u'node', u'assignment', u'path']) + var.put(u'node', var.get(u'path').get(u'node')) + var.get(u'vars').put(var.get(u'node').get(u'id').get(u'name'), var.get(u'node').get(u'id')) + var.put(u'assignment', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'node').get(u'id'), var.get(u't').callprop(u'functionExpression', var.get(u'node').get(u'id'), var.get(u'node').get(u'params'), var.get(u'node').get(u'body'), var.get(u'node').get(u'generator'), var.get(u'node').get(u'expression'))))) + if var.get(u'path').get(u'parentPath').callprop(u'isBlockStatement'): + var.get(u'path').get(u'parentPath').callprop(u'unshiftContainer', Js(u'body'), var.get(u'assignment')) + var.get(u'path').callprop(u'remove') + else: + var.get(u'path').callprop(u'replaceWith', var.get(u'assignment')) + var.get(u'path').callprop(u'skip') + PyJs_FunctionDeclaration_1263_._set_name(u'FunctionDeclaration') + @Js + def PyJs_FunctionExpression_1264_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'FunctionExpression':PyJs_FunctionExpression_1264_, u'arguments':arguments}, var) + var.registers([u'path']) + var.get(u'path').callprop(u'skip') + PyJs_FunctionExpression_1264_._set_name(u'FunctionExpression') + PyJs_Object_1258_ = Js({u'VariableDeclaration':PyJs_Object_1259_,u'ForStatement':PyJs_ForStatement_1261_,u'ForXStatement':PyJs_ForXStatement_1262_,u'FunctionDeclaration':PyJs_FunctionDeclaration_1263_,u'FunctionExpression':PyJs_FunctionExpression_1264_}) + var.get(u'funPath').callprop(u'get', Js(u'body')).callprop(u'traverse', PyJs_Object_1258_) + PyJs_Object_1265_ = Js({}) + var.put(u'paramNames', PyJs_Object_1265_) + @Js + def PyJs_anonymous_1266_(paramPath, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'paramPath':paramPath}, var) + var.registers([u'param', u'paramPath']) + var.put(u'param', var.get(u'paramPath').get(u'node')) + if var.get(u't').callprop(u'isIdentifier', var.get(u'param')): + var.get(u'paramNames').put(var.get(u'param').get(u'name'), var.get(u'param')) + else: + pass + PyJs_anonymous_1266_._set_name(u'anonymous') + var.get(u'funPath').callprop(u'get', Js(u'params')).callprop(u'forEach', PyJs_anonymous_1266_) + var.put(u'declarations', Js([])) + @Js + def PyJs_anonymous_1267_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + if var.get(u'hasOwn').callprop(u'call', var.get(u'paramNames'), var.get(u'name')).neg(): + var.get(u'declarations').callprop(u'push', var.get(u't').callprop(u'variableDeclarator', var.get(u'vars').get(var.get(u'name')), var.get(u"null"))) + PyJs_anonymous_1267_._set_name(u'anonymous') + PyJsComma(Js(0.0),var.get(u'_keys2').get(u'default'))(var.get(u'vars')).callprop(u'forEach', PyJs_anonymous_1267_) + if PyJsStrictEq(var.get(u'declarations').get(u'length'),Js(0.0)): + return var.get(u"null") + return var.get(u't').callprop(u'variableDeclaration', Js(u'var'), var.get(u'declarations')) + PyJs_anonymous_1255_._set_name(u'anonymous') + var.get(u'exports').put(u'hoist', PyJs_anonymous_1255_) +PyJs_anonymous_1252_._set_name(u'anonymous') +PyJs_Object_1268_ = Js({u'babel-runtime/core-js/object/keys':Js(103.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_1269_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_1270_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'require')(Js(u'./visit')) + PyJs_anonymous_1270_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1270_) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1269_._set_name(u'anonymous') +PyJs_Object_1271_ = Js({u'./visit':Js(93.0)}) +@Js +def PyJs_anonymous_1272_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'CatchEntry', u'LabeledEntry', u'SwitchEntry', u'module', u'TryEntry', u'_interopRequireWildcard', u'LMp', u'_assert2', u'require', u'_babelTypes', u'exports', u'_util', u'LeapManager', u't', u'_assert', u'FunctionEntry', u'_interopRequireDefault', u'Entry', u'LoopEntry', u'FinallyEntry']) + @Js + def PyJsHoisted_CatchEntry_(firstLoc, paramId, this, arguments, var=var): + var = Scope({u'firstLoc':firstLoc, u'this':this, u'paramId':paramId, u'arguments':arguments}, var) + var.registers([u'firstLoc', u'paramId']) + var.get(u'Entry').callprop(u'call', var.get(u"this")) + var.get(u't').callprop(u'assertLiteral', var.get(u'firstLoc')) + var.get(u't').callprop(u'assertIdentifier', var.get(u'paramId')) + var.get(u"this").put(u'firstLoc', var.get(u'firstLoc')) + var.get(u"this").put(u'paramId', var.get(u'paramId')) + PyJsHoisted_CatchEntry_.func_name = u'CatchEntry' + var.put(u'CatchEntry', PyJsHoisted_CatchEntry_) + @Js + def PyJsHoisted_LabeledEntry_(breakLoc, label, this, arguments, var=var): + var = Scope({u'this':this, u'breakLoc':breakLoc, u'arguments':arguments, u'label':label}, var) + var.registers([u'breakLoc', u'label']) + var.get(u'Entry').callprop(u'call', var.get(u"this")) + var.get(u't').callprop(u'assertLiteral', var.get(u'breakLoc')) + var.get(u't').callprop(u'assertIdentifier', var.get(u'label')) + var.get(u"this").put(u'breakLoc', var.get(u'breakLoc')) + var.get(u"this").put(u'label', var.get(u'label')) + PyJsHoisted_LabeledEntry_.func_name = u'LabeledEntry' + var.put(u'LabeledEntry', PyJsHoisted_LabeledEntry_) + @Js + def PyJsHoisted_SwitchEntry_(breakLoc, this, arguments, var=var): + var = Scope({u'this':this, u'breakLoc':breakLoc, u'arguments':arguments}, var) + var.registers([u'breakLoc']) + var.get(u'Entry').callprop(u'call', var.get(u"this")) + var.get(u't').callprop(u'assertLiteral', var.get(u'breakLoc')) + var.get(u"this").put(u'breakLoc', var.get(u'breakLoc')) + PyJsHoisted_SwitchEntry_.func_name = u'SwitchEntry' + var.put(u'SwitchEntry', PyJsHoisted_SwitchEntry_) + @Js + def PyJsHoisted_TryEntry_(firstLoc, catchEntry, finallyEntry, this, arguments, var=var): + var = Scope({u'firstLoc':firstLoc, u'catchEntry':catchEntry, u'this':this, u'arguments':arguments, u'finallyEntry':finallyEntry}, var) + var.registers([u'firstLoc', u'catchEntry', u'finallyEntry']) + var.get(u'Entry').callprop(u'call', var.get(u"this")) + var.get(u't').callprop(u'assertLiteral', var.get(u'firstLoc')) + if var.get(u'catchEntry'): + var.get(u'_assert2').get(u'default').callprop(u'ok', var.get(u'catchEntry').instanceof(var.get(u'CatchEntry'))) + else: + var.put(u'catchEntry', var.get(u"null")) + if var.get(u'finallyEntry'): + var.get(u'_assert2').get(u'default').callprop(u'ok', var.get(u'finallyEntry').instanceof(var.get(u'FinallyEntry'))) + else: + var.put(u'finallyEntry', var.get(u"null")) + var.get(u'_assert2').get(u'default').callprop(u'ok', (var.get(u'catchEntry') or var.get(u'finallyEntry'))) + var.get(u"this").put(u'firstLoc', var.get(u'firstLoc')) + var.get(u"this").put(u'catchEntry', var.get(u'catchEntry')) + var.get(u"this").put(u'finallyEntry', var.get(u'finallyEntry')) + PyJsHoisted_TryEntry_.func_name = u'TryEntry' + var.put(u'TryEntry', PyJsHoisted_TryEntry_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1273_ = Js({}) + var.put(u'newObj', PyJs_Object_1273_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_LeapManager_(emitter, this, arguments, var=var): + var = Scope({u'this':this, u'emitter':emitter, u'arguments':arguments}, var) + var.registers([u'Emitter', u'emitter']) + var.get(u'_assert2').get(u'default').callprop(u'ok', var.get(u"this").instanceof(var.get(u'LeapManager'))) + var.put(u'Emitter', var.get(u'require')(Js(u'./emit')).get(u'Emitter')) + var.get(u'_assert2').get(u'default').callprop(u'ok', var.get(u'emitter').instanceof(var.get(u'Emitter'))) + var.get(u"this").put(u'emitter', var.get(u'emitter')) + var.get(u"this").put(u'entryStack', Js([var.get(u'FunctionEntry').create(var.get(u'emitter').get(u'finalLoc'))])) + PyJsHoisted_LeapManager_.func_name = u'LeapManager' + var.put(u'LeapManager', PyJsHoisted_LeapManager_) + @Js + def PyJsHoisted_FunctionEntry_(returnLoc, this, arguments, var=var): + var = Scope({u'this':this, u'returnLoc':returnLoc, u'arguments':arguments}, var) + var.registers([u'returnLoc']) + var.get(u'Entry').callprop(u'call', var.get(u"this")) + var.get(u't').callprop(u'assertLiteral', var.get(u'returnLoc')) + var.get(u"this").put(u'returnLoc', var.get(u'returnLoc')) + PyJsHoisted_FunctionEntry_.func_name = u'FunctionEntry' + var.put(u'FunctionEntry', PyJsHoisted_FunctionEntry_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1274_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1274_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_Entry_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'_assert2').get(u'default').callprop(u'ok', var.get(u"this").instanceof(var.get(u'Entry'))) + PyJsHoisted_Entry_.func_name = u'Entry' + var.put(u'Entry', PyJsHoisted_Entry_) + @Js + def PyJsHoisted_LoopEntry_(breakLoc, continueLoc, label, this, arguments, var=var): + var = Scope({u'continueLoc':continueLoc, u'breakLoc':breakLoc, u'this':this, u'arguments':arguments, u'label':label}, var) + var.registers([u'continueLoc', u'breakLoc', u'label']) + var.get(u'Entry').callprop(u'call', var.get(u"this")) + var.get(u't').callprop(u'assertLiteral', var.get(u'breakLoc')) + var.get(u't').callprop(u'assertLiteral', var.get(u'continueLoc')) + if var.get(u'label'): + var.get(u't').callprop(u'assertIdentifier', var.get(u'label')) + else: + var.put(u'label', var.get(u"null")) + var.get(u"this").put(u'breakLoc', var.get(u'breakLoc')) + var.get(u"this").put(u'continueLoc', var.get(u'continueLoc')) + var.get(u"this").put(u'label', var.get(u'label')) + PyJsHoisted_LoopEntry_.func_name = u'LoopEntry' + var.put(u'LoopEntry', PyJsHoisted_LoopEntry_) + @Js + def PyJsHoisted_FinallyEntry_(firstLoc, afterLoc, this, arguments, var=var): + var = Scope({u'firstLoc':firstLoc, u'this':this, u'afterLoc':afterLoc, u'arguments':arguments}, var) + var.registers([u'firstLoc', u'afterLoc']) + var.get(u'Entry').callprop(u'call', var.get(u"this")) + var.get(u't').callprop(u'assertLiteral', var.get(u'firstLoc')) + var.get(u't').callprop(u'assertLiteral', var.get(u'afterLoc')) + var.get(u"this").put(u'firstLoc', var.get(u'firstLoc')) + var.get(u"this").put(u'afterLoc', var.get(u'afterLoc')) + PyJsHoisted_FinallyEntry_.func_name = u'FinallyEntry' + var.put(u'FinallyEntry', PyJsHoisted_FinallyEntry_) + Js(u'use strict') + var.put(u'_assert', var.get(u'require')(Js(u'assert'))) + var.put(u'_assert2', var.get(u'_interopRequireDefault')(var.get(u'_assert'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + var.put(u'_util', var.get(u'require')(Js(u'util'))) + pass + pass + pass + pass + PyJsComma(Js(0.0),var.get(u'_util').get(u'inherits'))(var.get(u'FunctionEntry'), var.get(u'Entry')) + var.get(u'exports').put(u'FunctionEntry', var.get(u'FunctionEntry')) + pass + PyJsComma(Js(0.0),var.get(u'_util').get(u'inherits'))(var.get(u'LoopEntry'), var.get(u'Entry')) + var.get(u'exports').put(u'LoopEntry', var.get(u'LoopEntry')) + pass + PyJsComma(Js(0.0),var.get(u'_util').get(u'inherits'))(var.get(u'SwitchEntry'), var.get(u'Entry')) + var.get(u'exports').put(u'SwitchEntry', var.get(u'SwitchEntry')) + pass + PyJsComma(Js(0.0),var.get(u'_util').get(u'inherits'))(var.get(u'TryEntry'), var.get(u'Entry')) + var.get(u'exports').put(u'TryEntry', var.get(u'TryEntry')) + pass + PyJsComma(Js(0.0),var.get(u'_util').get(u'inherits'))(var.get(u'CatchEntry'), var.get(u'Entry')) + var.get(u'exports').put(u'CatchEntry', var.get(u'CatchEntry')) + pass + PyJsComma(Js(0.0),var.get(u'_util').get(u'inherits'))(var.get(u'FinallyEntry'), var.get(u'Entry')) + var.get(u'exports').put(u'FinallyEntry', var.get(u'FinallyEntry')) + pass + PyJsComma(Js(0.0),var.get(u'_util').get(u'inherits'))(var.get(u'LabeledEntry'), var.get(u'Entry')) + var.get(u'exports').put(u'LabeledEntry', var.get(u'LabeledEntry')) + pass + var.put(u'LMp', var.get(u'LeapManager').get(u'prototype')) + var.get(u'exports').put(u'LeapManager', var.get(u'LeapManager')) + @Js + def PyJs_anonymous_1275_(entry, callback, this, arguments, var=var): + var = Scope({u'this':this, u'entry':entry, u'arguments':arguments, u'callback':callback}, var) + var.registers([u'entry', u'popped', u'callback']) + var.get(u'_assert2').get(u'default').callprop(u'ok', var.get(u'entry').instanceof(var.get(u'Entry'))) + var.get(u"this").get(u'entryStack').callprop(u'push', var.get(u'entry')) + try: + var.get(u'callback').callprop(u'call', var.get(u"this").get(u'emitter')) + finally: + var.put(u'popped', var.get(u"this").get(u'entryStack').callprop(u'pop')) + var.get(u'_assert2').get(u'default').callprop(u'strictEqual', var.get(u'popped'), var.get(u'entry')) + PyJs_anonymous_1275_._set_name(u'anonymous') + var.get(u'LMp').put(u'withEntry', PyJs_anonymous_1275_) + @Js + def PyJs_anonymous_1276_(property, label, this, arguments, var=var): + var = Scope({u'this':this, u'property':property, u'arguments':arguments, u'label':label}, var) + var.registers([u'i', u'entry', u'property', u'label', u'loc']) + #for JS loop + var.put(u'i', (var.get(u"this").get(u'entryStack').get(u'length')-Js(1.0))) + while (var.get(u'i')>=Js(0.0)): + try: + var.put(u'entry', var.get(u"this").get(u'entryStack').get(var.get(u'i'))) + var.put(u'loc', var.get(u'entry').get(var.get(u'property'))) + if var.get(u'loc'): + if var.get(u'label'): + if (var.get(u'entry').get(u'label') and PyJsStrictEq(var.get(u'entry').get(u'label').get(u'name'),var.get(u'label').get(u'name'))): + return var.get(u'loc') + else: + if var.get(u'entry').instanceof(var.get(u'LabeledEntry')): + pass + else: + return var.get(u'loc') + finally: + var.put(u'i',Js(var.get(u'i').to_number())-Js(1)) + return var.get(u"null") + PyJs_anonymous_1276_._set_name(u'anonymous') + var.get(u'LMp').put(u'_findLeapLocation', PyJs_anonymous_1276_) + @Js + def PyJs_anonymous_1277_(label, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'label':label}, var) + var.registers([u'label']) + return var.get(u"this").callprop(u'_findLeapLocation', Js(u'breakLoc'), var.get(u'label')) + PyJs_anonymous_1277_._set_name(u'anonymous') + var.get(u'LMp').put(u'getBreakLoc', PyJs_anonymous_1277_) + @Js + def PyJs_anonymous_1278_(label, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'label':label}, var) + var.registers([u'label']) + return var.get(u"this").callprop(u'_findLeapLocation', Js(u'continueLoc'), var.get(u'label')) + PyJs_anonymous_1278_._set_name(u'anonymous') + var.get(u'LMp').put(u'getContinueLoc', PyJs_anonymous_1278_) +PyJs_anonymous_1272_._set_name(u'anonymous') +PyJs_Object_1279_ = Js({u'./emit':Js(87.0),u'assert':Js(524.0),u'babel-types':Js(258.0),u'util':Js(534.0)}) +@Js +def PyJs_anonymous_1280_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'module', u'sideEffectTypes', u'opaqueTypes', u'_interopRequireWildcard', u'leapTypes', u'_assert2', u'require', u'_babelTypes', u'm', u'exports', u'hasOwn', u'makePredicate', u't', u'_assert', u'_interopRequireDefault', u'type']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1282_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1282_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_makePredicate_(propertyName, knownTypes, this, arguments, var=var): + var = Scope({u'this':this, u'propertyName':propertyName, u'arguments':arguments, u'knownTypes':knownTypes}, var) + var.registers([u'predicate', u'onlyChildren', u'propertyName', u'knownTypes']) + @Js + def PyJsHoisted_predicate_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'meta']) + var.get(u't').callprop(u'assertNode', var.get(u'node')) + var.put(u'meta', var.get(u'm')(var.get(u'node'))) + if var.get(u'hasOwn').callprop(u'call', var.get(u'meta'), var.get(u'propertyName')): + return var.get(u'meta').get(var.get(u'propertyName')) + if var.get(u'hasOwn').callprop(u'call', var.get(u'opaqueTypes'), var.get(u'node').get(u'type')): + return var.get(u'meta').put(var.get(u'propertyName'), Js(False)) + if var.get(u'hasOwn').callprop(u'call', var.get(u'knownTypes'), var.get(u'node').get(u'type')): + return var.get(u'meta').put(var.get(u'propertyName'), var.get(u'true')) + return var.get(u'meta').put(var.get(u'propertyName'), var.get(u'onlyChildren')(var.get(u'node'))) + PyJsHoisted_predicate_.func_name = u'predicate' + var.put(u'predicate', PyJsHoisted_predicate_) + @Js + def PyJsHoisted_onlyChildren_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'keys', u'i', u'result', u'key', u'child', u'check']) + @Js + def PyJsHoisted_check_(child, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'child':child}, var) + var.registers([u'child']) + if var.get(u'result'): + pass + else: + if var.get(u'Array').callprop(u'isArray', var.get(u'child')): + var.get(u'child').callprop(u'some', var.get(u'check')) + else: + if var.get(u't').callprop(u'isNode', var.get(u'child')): + var.get(u'_assert2').get(u'default').callprop(u'strictEqual', var.get(u'result'), Js(False)) + var.put(u'result', var.get(u'predicate')(var.get(u'child'))) + return var.get(u'result') + PyJsHoisted_check_.func_name = u'check' + var.put(u'check', PyJsHoisted_check_) + var.get(u't').callprop(u'assertNode', var.get(u'node')) + var.put(u'result', Js(False)) + pass + var.put(u'keys', var.get(u't').get(u'VISITOR_KEYS').get(var.get(u'node').get(u'type'))) + if var.get(u'keys'): + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(0.0)): + var.get(u'bodyBlockPath').get(u'node').put(u'body', var.get(u'innerBody')) + var.put(u'outerFnExpr', var.get(u'getOuterFnExpr')(var.get(u'path'))) + var.get(u't').callprop(u'assertIdentifier', var.get(u'node').get(u'id')) + var.put(u'innerFnId', var.get(u't').callprop(u'identifier', (var.get(u'node').get(u'id').get(u'name')+Js(u'$')))) + var.put(u'vars', PyJsComma(Js(0.0),var.get(u'_hoist').get(u'hoist'))(var.get(u'path'))) + var.put(u'didRenameArguments', var.get(u'renameArguments')(var.get(u'path'), var.get(u'argsId'))) + if var.get(u'didRenameArguments'): + var.put(u'vars', (var.get(u'vars') or var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([])))) + var.get(u'vars').get(u'declarations').callprop(u'push', var.get(u't').callprop(u'variableDeclarator', var.get(u'argsId'), var.get(u't').callprop(u'identifier', Js(u'arguments')))) + var.put(u'emitter', var.get(u'_emit').get(u'Emitter').create(var.get(u'contextId'))) + var.get(u'emitter').callprop(u'explode', var.get(u'path').callprop(u'get', Js(u'body'))) + if (var.get(u'vars') and (var.get(u'vars').get(u'declarations').get(u'length')>Js(0.0))): + var.get(u'outerBody').callprop(u'push', var.get(u'vars')) + var.put(u'wrapArgs', Js([var.get(u'emitter').callprop(u'getContextFunction', var.get(u'innerFnId')), (var.get(u'outerFnExpr') if var.get(u'node').get(u'generator') else var.get(u't').callprop(u'nullLiteral')), var.get(u't').callprop(u'thisExpression')])) + var.put(u'tryLocsList', var.get(u'emitter').callprop(u'getTryLocsList')) + if var.get(u'tryLocsList'): + var.get(u'wrapArgs').callprop(u'push', var.get(u'tryLocsList')) + var.put(u'wrapCall', var.get(u't').callprop(u'callExpression', var.get(u'util').callprop(u'runtimeProperty', (Js(u'async') if var.get(u'node').get(u'async') else Js(u'wrap'))), var.get(u'wrapArgs'))) + var.get(u'outerBody').callprop(u'push', var.get(u't').callprop(u'returnStatement', var.get(u'wrapCall'))) + var.get(u'node').put(u'body', var.get(u't').callprop(u'blockStatement', var.get(u'outerBody'))) + var.put(u'wasGeneratorFunction', var.get(u'node').get(u'generator')) + if var.get(u'wasGeneratorFunction'): + var.get(u'node').put(u'generator', Js(False)) + if var.get(u'node').get(u'async'): + var.get(u'node').put(u'async', Js(False)) + if (var.get(u'wasGeneratorFunction') and var.get(u't').callprop(u'isExpression', var.get(u'node'))): + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'callExpression', var.get(u'util').callprop(u'runtimeProperty', Js(u'mark')), Js([var.get(u'node')]))) + var.get(u'path').callprop(u'requeue') + PyJs_exit_1296_._set_name(u'exit') + PyJs_Object_1295_ = Js({u'exit':PyJs_exit_1296_}) + PyJs_Object_1294_ = Js({u'Function':PyJs_Object_1295_}) + var.get(u'exports').put(u'visitor', PyJs_Object_1294_) + pass + pass + pass + @Js + def PyJs_FunctionExpressionFunctionDeclaration_1303_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'FunctionExpressionFunctionDeclaration':PyJs_FunctionExpressionFunctionDeclaration_1303_}, var) + var.registers([u'path']) + var.get(u'path').callprop(u'skip') + PyJs_FunctionExpressionFunctionDeclaration_1303_._set_name(u'FunctionExpressionFunctionDeclaration') + @Js + def PyJs_Identifier_1304_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'Identifier':PyJs_Identifier_1304_, u'arguments':arguments}, var) + var.registers([u'path', u'state']) + if (PyJsStrictEq(var.get(u'path').get(u'node').get(u'name'),Js(u'arguments')) and var.get(u'util').callprop(u'isReference', var.get(u'path'))): + var.get(u'path').callprop(u'replaceWith', var.get(u'state').get(u'argsId')) + var.get(u'state').put(u'didRenameArguments', var.get(u'true')) + PyJs_Identifier_1304_._set_name(u'Identifier') + PyJs_Object_1302_ = Js({u'FunctionExpression|FunctionDeclaration':PyJs_FunctionExpressionFunctionDeclaration_1303_,u'Identifier':PyJs_Identifier_1304_}) + var.put(u'argumentsVisitor', PyJs_Object_1302_) + @Js + def PyJs_MetaProperty_1306_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'MetaProperty':PyJs_MetaProperty_1306_, u'arguments':arguments}, var) + var.registers([u'node', u'path']) + var.put(u'node', var.get(u'path').get(u'node')) + if (PyJsStrictEq(var.get(u'node').get(u'meta').get(u'name'),Js(u'function')) and PyJsStrictEq(var.get(u'node').get(u'property').get(u'name'),Js(u'sent'))): + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'memberExpression', var.get(u"this").get(u'context'), var.get(u't').callprop(u'identifier', Js(u'_sent')))) + PyJs_MetaProperty_1306_._set_name(u'MetaProperty') + PyJs_Object_1305_ = Js({u'MetaProperty':PyJs_MetaProperty_1306_}) + var.put(u'functionSentVisitor', PyJs_Object_1305_) + @Js + def PyJs_Function_1308_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'Function':PyJs_Function_1308_, u'arguments':arguments}, var) + var.registers([u'path']) + var.get(u'path').callprop(u'skip') + PyJs_Function_1308_._set_name(u'Function') + @Js + def PyJs_AwaitExpression_1309_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'AwaitExpression':PyJs_AwaitExpression_1309_}, var) + var.registers([u'path', u'argument']) + var.put(u'argument', var.get(u'path').get(u'node').get(u'argument')) + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'yieldExpression', var.get(u't').callprop(u'callExpression', var.get(u'util').callprop(u'runtimeProperty', Js(u'awrap')), Js([var.get(u'argument')])), Js(False))) + PyJs_AwaitExpression_1309_._set_name(u'AwaitExpression') + PyJs_Object_1307_ = Js({u'Function':PyJs_Function_1308_,u'AwaitExpression':PyJs_AwaitExpression_1309_}) + var.put(u'awaitVisitor', PyJs_Object_1307_) +PyJs_anonymous_1291_._set_name(u'anonymous') +PyJs_Object_1310_ = Js({u'./emit':Js(87.0),u'./hoist':Js(88.0),u'./util':Js(92.0),u'assert':Js(524.0),u'babel-types':Js(258.0),u'private':Js(500.0)}) +@Js +def PyJs_anonymous_1311_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_interopRequireWildcard', u'require', u'_babelTypes', u'module', u't', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1317_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1317_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1316_ = Js({}) + var.put(u'newObj', PyJs_Object_1316_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + @Js + def PyJs_anonymous_1312_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_Program_1315_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'Program':PyJs_Program_1315_, u'arguments':arguments}, var) + var.registers([u'node', u'_isArray', u'_iterator', u'directive', u'state', u'_i', u'path', u'_ref']) + if (PyJsStrictEq(var.get(u'state').get(u'opts').get(u'strict'),Js(False)) or PyJsStrictEq(var.get(u'state').get(u'opts').get(u'strictMode'),Js(False))): + return var.get('undefined') + var.put(u'node', var.get(u'path').get(u'node')) + #for JS loop + var.put(u'_iterator', var.get(u'node').get(u'directives')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'directive', var.get(u'_ref')) + if PyJsStrictEq(var.get(u'directive').get(u'value').get(u'value'),Js(u'use strict')): + return var.get('undefined') + + var.get(u'path').callprop(u'unshiftContainer', Js(u'directives'), var.get(u't').callprop(u'directive', var.get(u't').callprop(u'directiveLiteral', Js(u'use strict')))) + PyJs_Program_1315_._set_name(u'Program') + PyJs_Object_1314_ = Js({u'Program':PyJs_Program_1315_}) + PyJs_Object_1313_ = Js({u'visitor':PyJs_Object_1314_}) + return PyJs_Object_1313_ + PyJs_anonymous_1312_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1312_) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1311_._set_name(u'anonymous') +PyJs_Object_1318_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_1319_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_babelPluginTransformEs2015ModulesCommonjs', u'_babelPluginTransformEs2015ComputedProperties', u'_babelPluginTransformEs2015BlockScopedFunctions2', u'_babelPluginTransformEs2015ForOf2', u'_babelPluginTransformEs2015ModulesUmd', u'_babelPluginTransformEs2015ArrowFunctions', u'_babelPluginTransformEs2015TypeofSymbol', u'exports', u'module', u'_interopRequireDefault', u'_babelPluginTransformEs2015ForOf', u'_babelPluginTransformEs2015BlockScoping', u'_babelPluginTransformEs2015Parameters2', u'_babelPluginTransformEs2015TemplateLiterals', u'_babelPluginTransformEs2015ComputedProperties2', u'_babelPluginTransformEs2015Spread', u'_babelPluginCheckEs2015Constants', u'_babelPluginTransformEs2015Destructuring', u'_babelPluginTransformEs2015DuplicateKeys2', u'_babelPluginTransformEs2015ModulesCommonjs2', u'_babelPluginTransformEs2015TemplateLiterals2', u'_babelPluginTransformEs2015Parameters', u'_babelPluginCheckEs2015Constants2', u'_babelPluginTransformEs2015StickyRegex2', u'_babelPluginTransformEs2015BlockScopedFunctions', u'_babelPluginTransformEs2015ShorthandProperties2', u'_babelPluginTransformRegenerator', u'_babelPluginTransformEs2015ModulesSystemjs', u'_babelPluginTransformEs2015DuplicateKeys', u'_babelPluginTransformEs2015ModulesAmd2', u'_babelPluginTransformEs2015FunctionName', u'_babelPluginTransformEs2015ObjectSuper2', u'_babelPluginTransformEs2015Destructuring2', u'_babelPluginTransformEs2015ShorthandProperties', u'_babelPluginTransformEs2015StickyRegex', u'_babelPluginTransformEs2015ModulesAmd', u'_babelPluginTransformEs2015ModulesUmd2', u'_babelPluginTransformEs2015Classes2', u'preset', u'_babelPluginTransformEs2015ObjectSuper', u'_babelPluginTransformEs2015TypeofSymbol2', u'_babelPluginTransformEs2015UnicodeRegex', u'_babelPluginTransformEs2015Classes', u'_babelPluginTransformEs2015Literals2', u'_babelPluginTransformEs2015ModulesSystemjs2', u'_babelPluginTransformEs2015Literals', u'_babelPluginTransformEs2015UnicodeRegex2', u'_babelPluginTransformEs2015FunctionName2', u'_babelPluginTransformEs2015BlockScoping2', u'_babelPluginTransformRegenerator2', u'oldConfig', u'_babelPluginTransformEs2015Spread2', u'require', u'_babelPluginTransformEs2015ArrowFunctions2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1320_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1320_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_preset_(context, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'context':context}, var) + var.registers([u'optsLoose', u'moduleTypes', u'loose', u'modules', u'context', u'spec', u'opts']) + PyJs_Object_1321_ = Js({}) + var.put(u'opts', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else PyJs_Object_1321_)) + var.put(u'moduleTypes', Js([Js(u'commonjs'), Js(u'amd'), Js(u'umd'), Js(u'systemjs')])) + var.put(u'loose', Js(False)) + var.put(u'modules', Js(u'commonjs')) + var.put(u'spec', Js(False)) + if PyJsStrictNeq(var.get(u'opts'),var.get(u'undefined')): + if PyJsStrictNeq(var.get(u'opts').get(u'loose'),var.get(u'undefined')): + var.put(u'loose', var.get(u'opts').get(u'loose')) + if PyJsStrictNeq(var.get(u'opts').get(u'modules'),var.get(u'undefined')): + var.put(u'modules', var.get(u'opts').get(u'modules')) + if PyJsStrictNeq(var.get(u'opts').get(u'spec'),var.get(u'undefined')): + var.put(u'spec', var.get(u'opts').get(u'spec')) + if PyJsStrictNeq(var.get(u'loose',throw=False).typeof(),Js(u'boolean')): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u"Preset es2015 'loose' option must be a boolean."))) + raise PyJsTempException + if PyJsStrictNeq(var.get(u'spec',throw=False).typeof(),Js(u'boolean')): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u"Preset es2015 'spec' option must be a boolean."))) + raise PyJsTempException + if (PyJsStrictNeq(var.get(u'modules'),Js(False)) and PyJsStrictEq(var.get(u'moduleTypes').callprop(u'indexOf', var.get(u'modules')),(-Js(1.0)))): + PyJsTempException = JsToPyException(var.get(u'Error').create((Js(u"Preset es2015 'modules' option must be 'false' to indicate no modules\n")+Js(u"or a module type which be be one of: 'commonjs' (default), 'amd', 'umd', 'systemjs'")))) + raise PyJsTempException + PyJs_Object_1322_ = Js({u'loose':var.get(u'loose')}) + var.put(u'optsLoose', PyJs_Object_1322_) + def PyJs_LONG_1327_(var=var): + PyJs_Object_1324_ = Js({u'loose':var.get(u'loose'),u'spec':var.get(u'spec')}) + PyJs_Object_1325_ = Js({u'spec':var.get(u'spec')}) + PyJs_Object_1326_ = Js({u'async':Js(False),u'asyncGenerators':Js(False)}) + return Js([Js([var.get(u'_babelPluginTransformEs2015TemplateLiterals2').get(u'default'), PyJs_Object_1324_]), var.get(u'_babelPluginTransformEs2015Literals2').get(u'default'), var.get(u'_babelPluginTransformEs2015FunctionName2').get(u'default'), Js([var.get(u'_babelPluginTransformEs2015ArrowFunctions2').get(u'default'), PyJs_Object_1325_]), var.get(u'_babelPluginTransformEs2015BlockScopedFunctions2').get(u'default'), Js([var.get(u'_babelPluginTransformEs2015Classes2').get(u'default'), var.get(u'optsLoose')]), var.get(u'_babelPluginTransformEs2015ObjectSuper2').get(u'default'), var.get(u'_babelPluginTransformEs2015ShorthandProperties2').get(u'default'), var.get(u'_babelPluginTransformEs2015DuplicateKeys2').get(u'default'), Js([var.get(u'_babelPluginTransformEs2015ComputedProperties2').get(u'default'), var.get(u'optsLoose')]), Js([var.get(u'_babelPluginTransformEs2015ForOf2').get(u'default'), var.get(u'optsLoose')]), var.get(u'_babelPluginTransformEs2015StickyRegex2').get(u'default'), var.get(u'_babelPluginTransformEs2015UnicodeRegex2').get(u'default'), var.get(u'_babelPluginCheckEs2015Constants2').get(u'default'), Js([var.get(u'_babelPluginTransformEs2015Spread2').get(u'default'), var.get(u'optsLoose')]), var.get(u'_babelPluginTransformEs2015Parameters2').get(u'default'), Js([var.get(u'_babelPluginTransformEs2015Destructuring2').get(u'default'), var.get(u'optsLoose')]), var.get(u'_babelPluginTransformEs2015BlockScoping2').get(u'default'), var.get(u'_babelPluginTransformEs2015TypeofSymbol2').get(u'default'), (PyJsStrictEq(var.get(u'modules'),Js(u'commonjs')) and Js([var.get(u'_babelPluginTransformEs2015ModulesCommonjs2').get(u'default'), var.get(u'optsLoose')])), (PyJsStrictEq(var.get(u'modules'),Js(u'systemjs')) and Js([var.get(u'_babelPluginTransformEs2015ModulesSystemjs2').get(u'default'), var.get(u'optsLoose')])), (PyJsStrictEq(var.get(u'modules'),Js(u'amd')) and Js([var.get(u'_babelPluginTransformEs2015ModulesAmd2').get(u'default'), var.get(u'optsLoose')])), (PyJsStrictEq(var.get(u'modules'),Js(u'umd')) and Js([var.get(u'_babelPluginTransformEs2015ModulesUmd2').get(u'default'), var.get(u'optsLoose')])), Js([var.get(u'_babelPluginTransformRegenerator2').get(u'default'), PyJs_Object_1326_])]).callprop(u'filter', var.get(u'Boolean')) + PyJs_Object_1323_ = Js({u'plugins':PyJs_LONG_1327_()}) + return PyJs_Object_1323_ + PyJsHoisted_preset_.func_name = u'preset' + var.put(u'preset', PyJsHoisted_preset_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_babelPluginTransformEs2015TemplateLiterals', var.get(u'require')(Js(u'babel-plugin-transform-es2015-template-literals'))) + var.put(u'_babelPluginTransformEs2015TemplateLiterals2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015TemplateLiterals'))) + var.put(u'_babelPluginTransformEs2015Literals', var.get(u'require')(Js(u'babel-plugin-transform-es2015-literals'))) + var.put(u'_babelPluginTransformEs2015Literals2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015Literals'))) + var.put(u'_babelPluginTransformEs2015FunctionName', var.get(u'require')(Js(u'babel-plugin-transform-es2015-function-name'))) + var.put(u'_babelPluginTransformEs2015FunctionName2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015FunctionName'))) + var.put(u'_babelPluginTransformEs2015ArrowFunctions', var.get(u'require')(Js(u'babel-plugin-transform-es2015-arrow-functions'))) + var.put(u'_babelPluginTransformEs2015ArrowFunctions2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015ArrowFunctions'))) + var.put(u'_babelPluginTransformEs2015BlockScopedFunctions', var.get(u'require')(Js(u'babel-plugin-transform-es2015-block-scoped-functions'))) + var.put(u'_babelPluginTransformEs2015BlockScopedFunctions2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015BlockScopedFunctions'))) + var.put(u'_babelPluginTransformEs2015Classes', var.get(u'require')(Js(u'babel-plugin-transform-es2015-classes'))) + var.put(u'_babelPluginTransformEs2015Classes2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015Classes'))) + var.put(u'_babelPluginTransformEs2015ObjectSuper', var.get(u'require')(Js(u'babel-plugin-transform-es2015-object-super'))) + var.put(u'_babelPluginTransformEs2015ObjectSuper2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015ObjectSuper'))) + var.put(u'_babelPluginTransformEs2015ShorthandProperties', var.get(u'require')(Js(u'babel-plugin-transform-es2015-shorthand-properties'))) + var.put(u'_babelPluginTransformEs2015ShorthandProperties2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015ShorthandProperties'))) + var.put(u'_babelPluginTransformEs2015DuplicateKeys', var.get(u'require')(Js(u'babel-plugin-transform-es2015-duplicate-keys'))) + var.put(u'_babelPluginTransformEs2015DuplicateKeys2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015DuplicateKeys'))) + var.put(u'_babelPluginTransformEs2015ComputedProperties', var.get(u'require')(Js(u'babel-plugin-transform-es2015-computed-properties'))) + var.put(u'_babelPluginTransformEs2015ComputedProperties2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015ComputedProperties'))) + var.put(u'_babelPluginTransformEs2015ForOf', var.get(u'require')(Js(u'babel-plugin-transform-es2015-for-of'))) + var.put(u'_babelPluginTransformEs2015ForOf2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015ForOf'))) + var.put(u'_babelPluginTransformEs2015StickyRegex', var.get(u'require')(Js(u'babel-plugin-transform-es2015-sticky-regex'))) + var.put(u'_babelPluginTransformEs2015StickyRegex2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015StickyRegex'))) + var.put(u'_babelPluginTransformEs2015UnicodeRegex', var.get(u'require')(Js(u'babel-plugin-transform-es2015-unicode-regex'))) + var.put(u'_babelPluginTransformEs2015UnicodeRegex2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015UnicodeRegex'))) + var.put(u'_babelPluginCheckEs2015Constants', var.get(u'require')(Js(u'babel-plugin-check-es2015-constants'))) + var.put(u'_babelPluginCheckEs2015Constants2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginCheckEs2015Constants'))) + var.put(u'_babelPluginTransformEs2015Spread', var.get(u'require')(Js(u'babel-plugin-transform-es2015-spread'))) + var.put(u'_babelPluginTransformEs2015Spread2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015Spread'))) + var.put(u'_babelPluginTransformEs2015Parameters', var.get(u'require')(Js(u'babel-plugin-transform-es2015-parameters'))) + var.put(u'_babelPluginTransformEs2015Parameters2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015Parameters'))) + var.put(u'_babelPluginTransformEs2015Destructuring', var.get(u'require')(Js(u'babel-plugin-transform-es2015-destructuring'))) + var.put(u'_babelPluginTransformEs2015Destructuring2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015Destructuring'))) + var.put(u'_babelPluginTransformEs2015BlockScoping', var.get(u'require')(Js(u'babel-plugin-transform-es2015-block-scoping'))) + var.put(u'_babelPluginTransformEs2015BlockScoping2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015BlockScoping'))) + var.put(u'_babelPluginTransformEs2015TypeofSymbol', var.get(u'require')(Js(u'babel-plugin-transform-es2015-typeof-symbol'))) + var.put(u'_babelPluginTransformEs2015TypeofSymbol2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015TypeofSymbol'))) + var.put(u'_babelPluginTransformEs2015ModulesCommonjs', var.get(u'require')(Js(u'babel-plugin-transform-es2015-modules-commonjs'))) + var.put(u'_babelPluginTransformEs2015ModulesCommonjs2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015ModulesCommonjs'))) + var.put(u'_babelPluginTransformEs2015ModulesSystemjs', var.get(u'require')(Js(u'babel-plugin-transform-es2015-modules-systemjs'))) + var.put(u'_babelPluginTransformEs2015ModulesSystemjs2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015ModulesSystemjs'))) + var.put(u'_babelPluginTransformEs2015ModulesAmd', var.get(u'require')(Js(u'babel-plugin-transform-es2015-modules-amd'))) + var.put(u'_babelPluginTransformEs2015ModulesAmd2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015ModulesAmd'))) + var.put(u'_babelPluginTransformEs2015ModulesUmd', var.get(u'require')(Js(u'babel-plugin-transform-es2015-modules-umd'))) + var.put(u'_babelPluginTransformEs2015ModulesUmd2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformEs2015ModulesUmd'))) + var.put(u'_babelPluginTransformRegenerator', var.get(u'require')(Js(u'babel-plugin-transform-regenerator'))) + var.put(u'_babelPluginTransformRegenerator2', var.get(u'_interopRequireDefault')(var.get(u'_babelPluginTransformRegenerator'))) + pass + pass + PyJs_Object_1328_ = Js({}) + var.put(u'oldConfig', var.get(u'preset')(PyJs_Object_1328_)) + var.get(u'exports').put(u'default', var.get(u'oldConfig')) + PyJs_Object_1329_ = Js({u'configurable':var.get(u'true'),u'writable':var.get(u'true'),u'enumerable':Js(False),u'value':var.get(u'preset')}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'oldConfig'), Js(u'buildPreset'), PyJs_Object_1329_) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1319_._set_name(u'anonymous') +PyJs_Object_1330_ = Js({u'babel-plugin-check-es2015-constants':Js(58.0),u'babel-plugin-transform-es2015-arrow-functions':Js(59.0),u'babel-plugin-transform-es2015-block-scoped-functions':Js(60.0),u'babel-plugin-transform-es2015-block-scoping':Js(61.0),u'babel-plugin-transform-es2015-classes':Js(63.0),u'babel-plugin-transform-es2015-computed-properties':Js(66.0),u'babel-plugin-transform-es2015-destructuring':Js(67.0),u'babel-plugin-transform-es2015-duplicate-keys':Js(68.0),u'babel-plugin-transform-es2015-for-of':Js(69.0),u'babel-plugin-transform-es2015-function-name':Js(70.0),u'babel-plugin-transform-es2015-literals':Js(71.0),u'babel-plugin-transform-es2015-modules-amd':Js(72.0),u'babel-plugin-transform-es2015-modules-commonjs':Js(73.0),u'babel-plugin-transform-es2015-modules-systemjs':Js(74.0),u'babel-plugin-transform-es2015-modules-umd':Js(75.0),u'babel-plugin-transform-es2015-object-super':Js(76.0),u'babel-plugin-transform-es2015-parameters':Js(79.0),u'babel-plugin-transform-es2015-shorthand-properties':Js(81.0),u'babel-plugin-transform-es2015-spread':Js(82.0),u'babel-plugin-transform-es2015-sticky-regex':Js(83.0),u'babel-plugin-transform-es2015-template-literals':Js(84.0),u'babel-plugin-transform-es2015-typeof-symbol':Js(85.0),u'babel-plugin-transform-es2015-unicode-regex':Js(86.0),u'babel-plugin-transform-regenerator':Js(89.0)}) +@Js +def PyJs_anonymous_1331_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1332_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/get-iterator')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1332_) +PyJs_anonymous_1331_._set_name(u'anonymous') +PyJs_Object_1333_ = Js({u'core-js/library/fn/get-iterator':Js(115.0)}) +@Js +def PyJs_anonymous_1334_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1335_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/json/stringify')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1335_) +PyJs_anonymous_1334_._set_name(u'anonymous') +PyJs_Object_1336_ = Js({u'core-js/library/fn/json/stringify':Js(116.0)}) +@Js +def PyJs_anonymous_1337_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1338_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/map')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1338_) +PyJs_anonymous_1337_._set_name(u'anonymous') +PyJs_Object_1339_ = Js({u'core-js/library/fn/map':Js(117.0)}) +@Js +def PyJs_anonymous_1340_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1341_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/number/max-safe-integer')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1341_) +PyJs_anonymous_1340_._set_name(u'anonymous') +PyJs_Object_1342_ = Js({u'core-js/library/fn/number/max-safe-integer':Js(118.0)}) +@Js +def PyJs_anonymous_1343_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1344_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/object/assign')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1344_) +PyJs_anonymous_1343_._set_name(u'anonymous') +PyJs_Object_1345_ = Js({u'core-js/library/fn/object/assign':Js(119.0)}) +@Js +def PyJs_anonymous_1346_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1347_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/object/create')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1347_) +PyJs_anonymous_1346_._set_name(u'anonymous') +PyJs_Object_1348_ = Js({u'core-js/library/fn/object/create':Js(120.0)}) +@Js +def PyJs_anonymous_1349_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1350_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/object/get-own-property-symbols')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1350_) +PyJs_anonymous_1349_._set_name(u'anonymous') +PyJs_Object_1351_ = Js({u'core-js/library/fn/object/get-own-property-symbols':Js(121.0)}) +@Js +def PyJs_anonymous_1352_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1353_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/object/keys')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1353_) +PyJs_anonymous_1352_._set_name(u'anonymous') +PyJs_Object_1354_ = Js({u'core-js/library/fn/object/keys':Js(122.0)}) +@Js +def PyJs_anonymous_1355_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1356_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/object/set-prototype-of')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1356_) +PyJs_anonymous_1355_._set_name(u'anonymous') +PyJs_Object_1357_ = Js({u'core-js/library/fn/object/set-prototype-of':Js(123.0)}) +@Js +def PyJs_anonymous_1358_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1359_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/symbol')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1359_) +PyJs_anonymous_1358_._set_name(u'anonymous') +PyJs_Object_1360_ = Js({u'core-js/library/fn/symbol':Js(125.0)}) +@Js +def PyJs_anonymous_1361_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1362_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/symbol/for')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1362_) +PyJs_anonymous_1361_._set_name(u'anonymous') +PyJs_Object_1363_ = Js({u'core-js/library/fn/symbol/for':Js(124.0)}) +@Js +def PyJs_anonymous_1364_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1365_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/symbol/iterator')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1365_) +PyJs_anonymous_1364_._set_name(u'anonymous') +PyJs_Object_1366_ = Js({u'core-js/library/fn/symbol/iterator':Js(126.0)}) +@Js +def PyJs_anonymous_1367_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1368_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/weak-map')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1368_) +PyJs_anonymous_1367_._set_name(u'anonymous') +PyJs_Object_1369_ = Js({u'core-js/library/fn/weak-map':Js(127.0)}) +@Js +def PyJs_anonymous_1370_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1371_ = Js({u'default':var.get(u'require')(Js(u'core-js/library/fn/weak-set')),u'__esModule':var.get(u'true')}) + var.get(u'module').put(u'exports', PyJs_Object_1371_) +PyJs_anonymous_1370_._set_name(u'anonymous') +PyJs_Object_1372_ = Js({u'core-js/library/fn/weak-set':Js(128.0)}) +@Js +def PyJs_anonymous_1373_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_1374_(instance, Constructor, this, arguments, var=var): + var = Scope({u'this':this, u'instance':instance, u'arguments':arguments, u'Constructor':Constructor}, var) + var.registers([u'instance', u'Constructor']) + if var.get(u'instance').instanceof(var.get(u'Constructor')).neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Cannot call a class as a function'))) + raise PyJsTempException + PyJs_anonymous_1374_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1374_) +PyJs_anonymous_1373_._set_name(u'anonymous') +PyJs_Object_1375_ = Js({}) +@Js +def PyJs_anonymous_1376_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_create', u'_typeof2', u'_typeof3', u'_setPrototypeOf', u'require', u'exports', u'module', u'_create2', u'_setPrototypeOf2', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1377_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1377_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_setPrototypeOf', var.get(u'require')(Js(u'../core-js/object/set-prototype-of'))) + var.put(u'_setPrototypeOf2', var.get(u'_interopRequireDefault')(var.get(u'_setPrototypeOf'))) + var.put(u'_create', var.get(u'require')(Js(u'../core-js/object/create'))) + var.put(u'_create2', var.get(u'_interopRequireDefault')(var.get(u'_create'))) + var.put(u'_typeof2', var.get(u'require')(Js(u'../helpers/typeof'))) + var.put(u'_typeof3', var.get(u'_interopRequireDefault')(var.get(u'_typeof2'))) + pass + @Js + def PyJs_anonymous_1378_(subClass, superClass, this, arguments, var=var): + var = Scope({u'this':this, u'superClass':superClass, u'subClass':subClass, u'arguments':arguments}, var) + var.registers([u'superClass', u'subClass']) + if (PyJsStrictNeq(var.get(u'superClass',throw=False).typeof(),Js(u'function')) and PyJsStrictNeq(var.get(u'superClass'),var.get(u"null"))): + PyJsTempException = JsToPyException(var.get(u'TypeError').create((Js(u'Super expression must either be null or a function, not ')+(Js(u'undefined') if PyJsStrictEq(var.get(u'superClass',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'superClass')))))) + raise PyJsTempException + PyJs_Object_1380_ = Js({u'value':var.get(u'subClass'),u'enumerable':Js(False),u'writable':var.get(u'true'),u'configurable':var.get(u'true')}) + PyJs_Object_1379_ = Js({u'constructor':PyJs_Object_1380_}) + var.get(u'subClass').put(u'prototype', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))((var.get(u'superClass') and var.get(u'superClass').get(u'prototype')), PyJs_Object_1379_)) + if var.get(u'superClass'): + (PyJsComma(Js(0.0),var.get(u'_setPrototypeOf2').get(u'default'))(var.get(u'subClass'), var.get(u'superClass')) if var.get(u'_setPrototypeOf2').get(u'default') else var.get(u'subClass').put(u'__proto__', var.get(u'superClass'))) + PyJs_anonymous_1378_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1378_) +PyJs_anonymous_1376_._set_name(u'anonymous') +PyJs_Object_1381_ = Js({u'../core-js/object/create':Js(101.0),u'../core-js/object/set-prototype-of':Js(104.0),u'../helpers/typeof':Js(114.0)}) +@Js +def PyJs_anonymous_1382_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_1383_(obj, keys, this, arguments, var=var): + var = Scope({u'keys':keys, u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'i', u'keys', u'obj', u'target']) + PyJs_Object_1384_ = Js({}) + var.put(u'target', PyJs_Object_1384_) + for PyJsTemp in var.get(u'obj'): + var.put(u'i', PyJsTemp) + if (var.get(u'keys').callprop(u'indexOf', var.get(u'i'))>=Js(0.0)): + continue + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'i')).neg(): + continue + var.get(u'target').put(var.get(u'i'), var.get(u'obj').get(var.get(u'i'))) + return var.get(u'target') + PyJs_anonymous_1383_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1383_) +PyJs_anonymous_1382_._set_name(u'anonymous') +PyJs_Object_1385_ = Js({}) +@Js +def PyJs_anonymous_1386_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_typeof2', u'_typeof3', u'require', u'exports', u'module', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1387_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1387_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_typeof2', var.get(u'require')(Js(u'../helpers/typeof'))) + var.put(u'_typeof3', var.get(u'_interopRequireDefault')(var.get(u'_typeof2'))) + pass + @Js + def PyJs_anonymous_1388_(self, call, this, arguments, var=var): + var = Scope({u'this':this, u'self':self, u'call':call, u'arguments':arguments}, var) + var.registers([u'self', u'call']) + if var.get(u'self').neg(): + PyJsTempException = JsToPyException(var.get(u'ReferenceError').create(Js(u"this hasn't been initialised - super() hasn't been called"))) + raise PyJsTempException + return (var.get(u'call') if (var.get(u'call') and (PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'call',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'call'))),Js(u'object')) or PyJsStrictEq(var.get(u'call',throw=False).typeof(),Js(u'function')))) else var.get(u'self')) + PyJs_anonymous_1388_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1388_) +PyJs_anonymous_1386_._set_name(u'anonymous') +PyJs_Object_1389_ = Js({u'../helpers/typeof':Js(114.0)}) +@Js +def PyJs_anonymous_1390_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_symbol2', u'_iterator', u'require', u'module', u'_typeof', u'_symbol', u'_interopRequireDefault', u'_iterator2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1393_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1393_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_iterator', var.get(u'require')(Js(u'../core-js/symbol/iterator'))) + var.put(u'_iterator2', var.get(u'_interopRequireDefault')(var.get(u'_iterator'))) + var.put(u'_symbol', var.get(u'require')(Js(u'../core-js/symbol'))) + var.put(u'_symbol2', var.get(u'_interopRequireDefault')(var.get(u'_symbol'))) + @Js + def PyJs_anonymous_1391_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + return var.get(u'obj',throw=False).typeof() + PyJs_anonymous_1391_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1392_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + return (Js(u'symbol') if (((var.get(u'obj') and PyJsStrictEq(var.get(u'_symbol2').get(u'default').typeof(),Js(u'function'))) and PyJsStrictEq(var.get(u'obj').get(u'constructor'),var.get(u'_symbol2').get(u'default'))) and PyJsStrictNeq(var.get(u'obj'),var.get(u'_symbol2').get(u'default').get(u'prototype'))) else var.get(u'obj',throw=False).typeof()) + PyJs_anonymous_1392_._set_name(u'anonymous') + var.put(u'_typeof', (PyJs_anonymous_1391_ if (PyJsStrictEq(var.get(u'_symbol2').get(u'default').typeof(),Js(u'function')) and PyJsStrictEq(var.get(u'_iterator2').get(u'default').typeof(),Js(u'symbol'))) else PyJs_anonymous_1392_)) + pass + @Js + def PyJs_anonymous_1394_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + return (Js(u'undefined') if PyJsStrictEq(var.get(u'obj',throw=False).typeof(),Js(u'undefined')) else var.get(u'_typeof')(var.get(u'obj'))) + PyJs_anonymous_1394_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1395_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + def PyJs_LONG_1396_(var=var): + return (Js(u'symbol') if (((var.get(u'obj') and PyJsStrictEq(var.get(u'_symbol2').get(u'default').typeof(),Js(u'function'))) and PyJsStrictEq(var.get(u'obj').get(u'constructor'),var.get(u'_symbol2').get(u'default'))) and PyJsStrictNeq(var.get(u'obj'),var.get(u'_symbol2').get(u'default').get(u'prototype'))) else (Js(u'undefined') if PyJsStrictEq(var.get(u'obj',throw=False).typeof(),Js(u'undefined')) else var.get(u'_typeof')(var.get(u'obj')))) + return PyJs_LONG_1396_() + PyJs_anonymous_1395_._set_name(u'anonymous') + var.get(u'exports').put(u'default', (PyJs_anonymous_1394_ if (PyJsStrictEq(var.get(u'_symbol2').get(u'default').typeof(),Js(u'function')) and PyJsStrictEq(var.get(u'_typeof')(var.get(u'_iterator2').get(u'default')),Js(u'symbol'))) else PyJs_anonymous_1395_)) +PyJs_anonymous_1390_._set_name(u'anonymous') +PyJs_Object_1397_ = Js({u'../core-js/symbol':Js(105.0),u'../core-js/symbol/iterator':Js(107.0)}) +@Js +def PyJs_anonymous_1398_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'../modules/web.dom.iterable')) + var.get(u'require')(Js(u'../modules/es6.string.iterator')) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'../modules/core.get-iterator'))) +PyJs_anonymous_1398_._set_name(u'anonymous') +PyJs_Object_1399_ = Js({u'../modules/core.get-iterator':Js(204.0),u'../modules/es6.string.iterator':Js(213.0),u'../modules/web.dom.iterable':Js(220.0)}) +@Js +def PyJs_anonymous_1400_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'core', u'require', u'exports', u'module', u'$JSON']) + var.put(u'core', var.get(u'require')(Js(u'../../modules/_core'))) + PyJs_Object_1401_ = Js({u'stringify':var.get(u'JSON').get(u'stringify')}) + var.put(u'$JSON', (var.get(u'core').get(u'JSON') or var.get(u'core').put(u'JSON', PyJs_Object_1401_))) + @Js + def PyJs_stringify_1402_(it, this, arguments, var=var): + var = Scope({u'this':this, u'stringify':PyJs_stringify_1402_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return var.get(u'$JSON').get(u'stringify').callprop(u'apply', var.get(u'$JSON'), var.get(u'arguments')) + PyJs_stringify_1402_._set_name(u'stringify') + var.get(u'module').put(u'exports', PyJs_stringify_1402_) +PyJs_anonymous_1400_._set_name(u'anonymous') +PyJs_Object_1403_ = Js({u'../../modules/_core':Js(144.0)}) +@Js +def PyJs_anonymous_1404_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'../modules/es6.object.to-string')) + var.get(u'require')(Js(u'../modules/es6.string.iterator')) + var.get(u'require')(Js(u'../modules/web.dom.iterable')) + var.get(u'require')(Js(u'../modules/es6.map')) + var.get(u'require')(Js(u'../modules/es7.map.to-json')) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'../modules/_core')).get(u'Map')) +PyJs_anonymous_1404_._set_name(u'anonymous') +PyJs_Object_1405_ = Js({u'../modules/_core':Js(144.0),u'../modules/es6.map':Js(206.0),u'../modules/es6.object.to-string':Js(212.0),u'../modules/es6.string.iterator':Js(213.0),u'../modules/es7.map.to-json':Js(217.0),u'../modules/web.dom.iterable':Js(220.0)}) +@Js +def PyJs_anonymous_1406_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'../../modules/es6.number.max-safe-integer')) + var.get(u'module').put(u'exports', Js(9007199254740991)) +PyJs_anonymous_1406_._set_name(u'anonymous') +PyJs_Object_1407_ = Js({u'../../modules/es6.number.max-safe-integer':Js(207.0)}) +@Js +def PyJs_anonymous_1408_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'../../modules/es6.object.assign')) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'../../modules/_core')).get(u'Object').get(u'assign')) +PyJs_anonymous_1408_._set_name(u'anonymous') +PyJs_Object_1409_ = Js({u'../../modules/_core':Js(144.0),u'../../modules/es6.object.assign':Js(208.0)}) +@Js +def PyJs_anonymous_1410_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module', u'$Object']) + var.get(u'require')(Js(u'../../modules/es6.object.create')) + var.put(u'$Object', var.get(u'require')(Js(u'../../modules/_core')).get(u'Object')) + @Js + def PyJs_create_1411_(P, D, this, arguments, var=var): + var = Scope({u'this':this, u'P':P, u'create':PyJs_create_1411_, u'D':D, u'arguments':arguments}, var) + var.registers([u'P', u'D']) + return var.get(u'$Object').callprop(u'create', var.get(u'P'), var.get(u'D')) + PyJs_create_1411_._set_name(u'create') + var.get(u'module').put(u'exports', PyJs_create_1411_) +PyJs_anonymous_1410_._set_name(u'anonymous') +PyJs_Object_1412_ = Js({u'../../modules/_core':Js(144.0),u'../../modules/es6.object.create':Js(209.0)}) +@Js +def PyJs_anonymous_1413_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'../../modules/es6.symbol')) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'../../modules/_core')).get(u'Object').get(u'getOwnPropertySymbols')) +PyJs_anonymous_1413_._set_name(u'anonymous') +PyJs_Object_1414_ = Js({u'../../modules/_core':Js(144.0),u'../../modules/es6.symbol':Js(214.0)}) +@Js +def PyJs_anonymous_1415_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'../../modules/es6.object.keys')) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'../../modules/_core')).get(u'Object').get(u'keys')) +PyJs_anonymous_1415_._set_name(u'anonymous') +PyJs_Object_1416_ = Js({u'../../modules/_core':Js(144.0),u'../../modules/es6.object.keys':Js(210.0)}) +@Js +def PyJs_anonymous_1417_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'../../modules/es6.object.set-prototype-of')) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'../../modules/_core')).get(u'Object').get(u'setPrototypeOf')) +PyJs_anonymous_1417_._set_name(u'anonymous') +PyJs_Object_1418_ = Js({u'../../modules/_core':Js(144.0),u'../../modules/es6.object.set-prototype-of':Js(211.0)}) +@Js +def PyJs_anonymous_1419_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'../../modules/es6.symbol')) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'../../modules/_core')).get(u'Symbol').get(u'for')) +PyJs_anonymous_1419_._set_name(u'anonymous') +PyJs_Object_1420_ = Js({u'../../modules/_core':Js(144.0),u'../../modules/es6.symbol':Js(214.0)}) +@Js +def PyJs_anonymous_1421_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'../../modules/es6.symbol')) + var.get(u'require')(Js(u'../../modules/es6.object.to-string')) + var.get(u'require')(Js(u'../../modules/es7.symbol.async-iterator')) + var.get(u'require')(Js(u'../../modules/es7.symbol.observable')) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'../../modules/_core')).get(u'Symbol')) +PyJs_anonymous_1421_._set_name(u'anonymous') +PyJs_Object_1422_ = Js({u'../../modules/_core':Js(144.0),u'../../modules/es6.object.to-string':Js(212.0),u'../../modules/es6.symbol':Js(214.0),u'../../modules/es7.symbol.async-iterator':Js(218.0),u'../../modules/es7.symbol.observable':Js(219.0)}) +@Js +def PyJs_anonymous_1423_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'../../modules/es6.string.iterator')) + var.get(u'require')(Js(u'../../modules/web.dom.iterable')) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'../../modules/_wks-ext')).callprop(u'f', Js(u'iterator'))) +PyJs_anonymous_1423_._set_name(u'anonymous') +PyJs_Object_1424_ = Js({u'../../modules/_wks-ext':Js(201.0),u'../../modules/es6.string.iterator':Js(213.0),u'../../modules/web.dom.iterable':Js(220.0)}) +@Js +def PyJs_anonymous_1425_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'../modules/es6.object.to-string')) + var.get(u'require')(Js(u'../modules/web.dom.iterable')) + var.get(u'require')(Js(u'../modules/es6.weak-map')) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'../modules/_core')).get(u'WeakMap')) +PyJs_anonymous_1425_._set_name(u'anonymous') +PyJs_Object_1426_ = Js({u'../modules/_core':Js(144.0),u'../modules/es6.object.to-string':Js(212.0),u'../modules/es6.weak-map':Js(215.0),u'../modules/web.dom.iterable':Js(220.0)}) +@Js +def PyJs_anonymous_1427_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'../modules/es6.object.to-string')) + var.get(u'require')(Js(u'../modules/web.dom.iterable')) + var.get(u'require')(Js(u'../modules/es6.weak-set')) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'../modules/_core')).get(u'WeakSet')) +PyJs_anonymous_1427_._set_name(u'anonymous') +PyJs_Object_1428_ = Js({u'../modules/_core':Js(144.0),u'../modules/es6.object.to-string':Js(212.0),u'../modules/es6.weak-set':Js(216.0),u'../modules/web.dom.iterable':Js(220.0)}) +@Js +def PyJs_anonymous_1429_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_1430_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + if (var.get(u'it',throw=False).typeof()!=Js(u'function')): + PyJsTempException = JsToPyException(var.get(u'TypeError')((var.get(u'it')+Js(u' is not a function!')))) + raise PyJsTempException + return var.get(u'it') + PyJs_anonymous_1430_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1430_) +PyJs_anonymous_1429_._set_name(u'anonymous') +PyJs_Object_1431_ = Js({}) +@Js +def PyJs_anonymous_1432_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_1433_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJs_anonymous_1433_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1433_) +PyJs_anonymous_1432_._set_name(u'anonymous') +PyJs_Object_1434_ = Js({}) +@Js +def PyJs_anonymous_1435_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_1436_(it, Constructor, name, forbiddenField, this, arguments, var=var): + var = Scope({u'name':name, u'Constructor':Constructor, u'this':this, u'arguments':arguments, u'it':it, u'forbiddenField':forbiddenField}, var) + var.registers([u'forbiddenField', u'it', u'name', u'Constructor']) + if (var.get(u'it').instanceof(var.get(u'Constructor')).neg() or (PyJsStrictNeq(var.get(u'forbiddenField'),var.get(u'undefined')) and var.get(u'it').contains(var.get(u'forbiddenField')))): + PyJsTempException = JsToPyException(var.get(u'TypeError')((var.get(u'name')+Js(u': incorrect invocation!')))) + raise PyJsTempException + return var.get(u'it') + PyJs_anonymous_1436_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1436_) +PyJs_anonymous_1435_._set_name(u'anonymous') +PyJs_Object_1437_ = Js({}) +@Js +def PyJs_anonymous_1438_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'isObject', u'module']) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + @Js + def PyJs_anonymous_1439_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + if var.get(u'isObject')(var.get(u'it')).neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError')((var.get(u'it')+Js(u' is not an object!')))) + raise PyJsTempException + return var.get(u'it') + PyJs_anonymous_1439_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1439_) +PyJs_anonymous_1438_._set_name(u'anonymous') +PyJs_Object_1440_ = Js({u'./_is-object':Js(162.0)}) +@Js +def PyJs_anonymous_1441_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'forOf', u'exports', u'module']) + var.put(u'forOf', var.get(u'require')(Js(u'./_for-of'))) + @Js + def PyJs_anonymous_1442_(iter, ITERATOR, this, arguments, var=var): + var = Scope({u'this':this, u'ITERATOR':ITERATOR, u'iter':iter, u'arguments':arguments}, var) + var.registers([u'ITERATOR', u'result', u'iter']) + var.put(u'result', Js([])) + var.get(u'forOf')(var.get(u'iter'), Js(False), var.get(u'result').get(u'push'), var.get(u'result'), var.get(u'ITERATOR')) + return var.get(u'result') + PyJs_anonymous_1442_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1442_) +PyJs_anonymous_1441_._set_name(u'anonymous') +PyJs_Object_1443_ = Js({u'./_for-of':Js(153.0)}) +@Js +def PyJs_anonymous_1444_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'toLength', u'require', u'toIndex', u'module', u'toIObject']) + var.put(u'toIObject', var.get(u'require')(Js(u'./_to-iobject'))) + var.put(u'toLength', var.get(u'require')(Js(u'./_to-length'))) + var.put(u'toIndex', var.get(u'require')(Js(u'./_to-index'))) + @Js + def PyJs_anonymous_1445_(IS_INCLUDES, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'IS_INCLUDES':IS_INCLUDES}, var) + var.registers([u'IS_INCLUDES']) + @Js + def PyJs_anonymous_1446_(PyJsArg_2474686973_, el, fromIndex, this, arguments, var=var): + var = Scope({u'this':this, u'el':el, u'$this':PyJsArg_2474686973_, u'arguments':arguments, u'fromIndex':fromIndex}, var) + var.registers([u'el', u'index', u'$this', u'value', u'fromIndex', u'length', u'O']) + var.put(u'O', var.get(u'toIObject')(var.get(u'$this'))) + var.put(u'length', var.get(u'toLength')(var.get(u'O').get(u'length'))) + var.put(u'index', var.get(u'toIndex')(var.get(u'fromIndex'), var.get(u'length'))) + if (var.get(u'IS_INCLUDES') and (var.get(u'el')!=var.get(u'el'))): + while (var.get(u'length')>var.get(u'index')): + var.put(u'value', var.get(u'O').get((var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1)))) + if (var.get(u'value')!=var.get(u'value')): + return var.get(u'true') + else: + #for JS loop + + while (var.get(u'length')>var.get(u'index')): + try: + if (var.get(u'IS_INCLUDES') or var.get(u'O').contains(var.get(u'index'))): + if PyJsStrictEq(var.get(u'O').get(var.get(u'index')),var.get(u'el')): + return ((var.get(u'IS_INCLUDES') or var.get(u'index')) or Js(0.0)) + finally: + (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1)) + return (var.get(u'IS_INCLUDES').neg() and (-Js(1.0))) + PyJs_anonymous_1446_._set_name(u'anonymous') + return PyJs_anonymous_1446_ + PyJs_anonymous_1445_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1445_) +PyJs_anonymous_1444_._set_name(u'anonymous') +PyJs_Object_1447_ = Js({u'./_to-index':Js(193.0),u'./_to-iobject':Js(195.0),u'./_to-length':Js(196.0)}) +@Js +def PyJs_anonymous_1448_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'toLength', u'IObject', u'toObject', u'ctx', u'module', u'asc', u'require']) + var.put(u'ctx', var.get(u'require')(Js(u'./_ctx'))) + var.put(u'IObject', var.get(u'require')(Js(u'./_iobject'))) + var.put(u'toObject', var.get(u'require')(Js(u'./_to-object'))) + var.put(u'toLength', var.get(u'require')(Js(u'./_to-length'))) + var.put(u'asc', var.get(u'require')(Js(u'./_array-species-create'))) + @Js + def PyJs_anonymous_1449_(TYPE, PyJsArg_24637265617465_, this, arguments, var=var): + var = Scope({u'this':this, u'TYPE':TYPE, u'arguments':arguments, u'$create':PyJsArg_24637265617465_}, var) + var.registers([u'IS_FIND_INDEX', u'IS_SOME', u'IS_MAP', u'$create', u'NO_HOLES', u'IS_EVERY', u'IS_FILTER', u'TYPE', u'create']) + var.put(u'IS_MAP', (var.get(u'TYPE')==Js(1.0))) + var.put(u'IS_FILTER', (var.get(u'TYPE')==Js(2.0))) + var.put(u'IS_SOME', (var.get(u'TYPE')==Js(3.0))) + var.put(u'IS_EVERY', (var.get(u'TYPE')==Js(4.0))) + var.put(u'IS_FIND_INDEX', (var.get(u'TYPE')==Js(6.0))) + var.put(u'NO_HOLES', ((var.get(u'TYPE')==Js(5.0)) or var.get(u'IS_FIND_INDEX'))) + var.put(u'create', (var.get(u'$create') or var.get(u'asc'))) + @Js + def PyJs_anonymous_1450_(PyJsArg_2474686973_, callbackfn, that, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'callbackfn':callbackfn, u'$this':PyJsArg_2474686973_, u'that':that}, var) + var.registers([u'index', u'callbackfn', u'val', u'f', u'res', u'self', u'that', u'$this', u'O', u'length', u'result']) + var.put(u'O', var.get(u'toObject')(var.get(u'$this'))) + var.put(u'self', var.get(u'IObject')(var.get(u'O'))) + var.put(u'f', var.get(u'ctx')(var.get(u'callbackfn'), var.get(u'that'), Js(3.0))) + var.put(u'length', var.get(u'toLength')(var.get(u'self').get(u'length'))) + var.put(u'index', Js(0.0)) + var.put(u'result', (var.get(u'create')(var.get(u'$this'), var.get(u'length')) if var.get(u'IS_MAP') else (var.get(u'create')(var.get(u'$this'), Js(0.0)) if var.get(u'IS_FILTER') else var.get(u'undefined')))) + #for JS loop + + while (var.get(u'length')>var.get(u'index')): + try: + if (var.get(u'NO_HOLES') or var.get(u'self').contains(var.get(u'index'))): + var.put(u'val', var.get(u'self').get(var.get(u'index'))) + var.put(u'res', var.get(u'f')(var.get(u'val'), var.get(u'index'), var.get(u'O'))) + if var.get(u'TYPE'): + if var.get(u'IS_MAP'): + var.get(u'result').put(var.get(u'index'), var.get(u'res')) + else: + if var.get(u'res'): + while 1: + SWITCHED = False + CONDITION = (var.get(u'TYPE')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + return var.get(u'true') + if SWITCHED or PyJsStrictEq(CONDITION, Js(5.0)): + SWITCHED = True + return var.get(u'val') + if SWITCHED or PyJsStrictEq(CONDITION, Js(6.0)): + SWITCHED = True + return var.get(u'index') + if SWITCHED or PyJsStrictEq(CONDITION, Js(2.0)): + SWITCHED = True + var.get(u'result').callprop(u'push', var.get(u'val')) + SWITCHED = True + break + else: + if var.get(u'IS_EVERY'): + return Js(False) + finally: + (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1)) + return ((-Js(1.0)) if var.get(u'IS_FIND_INDEX') else (var.get(u'IS_EVERY') if (var.get(u'IS_SOME') or var.get(u'IS_EVERY')) else var.get(u'result'))) + PyJs_anonymous_1450_._set_name(u'anonymous') + return PyJs_anonymous_1450_ + PyJs_anonymous_1449_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1449_) +PyJs_anonymous_1448_._set_name(u'anonymous') +PyJs_Object_1451_ = Js({u'./_array-species-create':Js(137.0),u'./_ctx':Js(145.0),u'./_iobject':Js(159.0),u'./_to-length':Js(196.0),u'./_to-object':Js(197.0)}) +@Js +def PyJs_anonymous_1452_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'isArray', u'exports', u'require', u'module', u'SPECIES', u'isObject']) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'isArray', var.get(u'require')(Js(u'./_is-array'))) + var.put(u'SPECIES', var.get(u'require')(Js(u'./_wks'))(Js(u'species'))) + @Js + def PyJs_anonymous_1453_(original, this, arguments, var=var): + var = Scope({u'this':this, u'original':original, u'arguments':arguments}, var) + var.registers([u'C', u'original']) + pass + if var.get(u'isArray')(var.get(u'original')): + var.put(u'C', var.get(u'original').get(u'constructor')) + if ((var.get(u'C',throw=False).typeof()==Js(u'function')) and (PyJsStrictEq(var.get(u'C'),var.get(u'Array')) or var.get(u'isArray')(var.get(u'C').get(u'prototype')))): + var.put(u'C', var.get(u'undefined')) + if var.get(u'isObject')(var.get(u'C')): + var.put(u'C', var.get(u'C').get(var.get(u'SPECIES'))) + if PyJsStrictEq(var.get(u'C'),var.get(u"null")): + var.put(u'C', var.get(u'undefined')) + return (var.get(u'Array') if PyJsStrictEq(var.get(u'C'),var.get(u'undefined')) else var.get(u'C')) + PyJs_anonymous_1453_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1453_) +PyJs_anonymous_1452_._set_name(u'anonymous') +PyJs_Object_1454_ = Js({u'./_is-array':Js(161.0),u'./_is-object':Js(162.0),u'./_wks':Js(202.0)}) +@Js +def PyJs_anonymous_1455_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'speciesConstructor', u'require', u'exports', u'module']) + var.put(u'speciesConstructor', var.get(u'require')(Js(u'./_array-species-constructor'))) + @Js + def PyJs_anonymous_1456_(original, length, this, arguments, var=var): + var = Scope({u'this':this, u'length':length, u'original':original, u'arguments':arguments}, var) + var.registers([u'length', u'original']) + return var.get(u'speciesConstructor')(var.get(u'original')).create(var.get(u'length')) + PyJs_anonymous_1456_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1456_) +PyJs_anonymous_1455_._set_name(u'anonymous') +PyJs_Object_1457_ = Js({u'./_array-species-constructor':Js(136.0)}) +@Js +def PyJs_anonymous_1458_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'cof', u'module', u'tryGet', u'TAG', u'ARG']) + var.put(u'cof', var.get(u'require')(Js(u'./_cof'))) + var.put(u'TAG', var.get(u'require')(Js(u'./_wks'))(Js(u'toStringTag'))) + @Js + def PyJs_anonymous_1459_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'arguments') + PyJs_anonymous_1459_._set_name(u'anonymous') + var.put(u'ARG', (var.get(u'cof')(PyJs_anonymous_1459_())==Js(u'Arguments'))) + @Js + def PyJs_anonymous_1460_(it, key, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'key':key, u'arguments':arguments}, var) + var.registers([u'it', u'key']) + try: + return var.get(u'it').get(var.get(u'key')) + except PyJsException as PyJsTempException: + PyJsHolder_65_48759406 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + pass + finally: + if PyJsHolder_65_48759406 is not None: + var.own[u'e'] = PyJsHolder_65_48759406 + else: + del var.own[u'e'] + del PyJsHolder_65_48759406 + PyJs_anonymous_1460_._set_name(u'anonymous') + var.put(u'tryGet', PyJs_anonymous_1460_) + @Js + def PyJs_anonymous_1461_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'B', u'T', u'O', u'it']) + pass + def PyJs_LONG_1462_(var=var): + return (Js(u'Null') if PyJsStrictEq(var.get(u'it'),var.get(u"null")) else (var.get(u'T') if (var.put(u'T', var.get(u'tryGet')(var.put(u'O', var.get(u'Object')(var.get(u'it'))), var.get(u'TAG'))).typeof()==Js(u'string')) else (var.get(u'cof')(var.get(u'O')) if var.get(u'ARG') else (Js(u'Arguments') if ((var.put(u'B', var.get(u'cof')(var.get(u'O')))==Js(u'Object')) and (var.get(u'O').get(u'callee').typeof()==Js(u'function'))) else var.get(u'B'))))) + return (Js(u'Undefined') if PyJsStrictEq(var.get(u'it'),var.get(u'undefined')) else PyJs_LONG_1462_()) + PyJs_anonymous_1461_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1461_) +PyJs_anonymous_1458_._set_name(u'anonymous') +PyJs_Object_1463_ = Js({u'./_cof':Js(139.0),u'./_wks':Js(202.0)}) +@Js +def PyJs_anonymous_1464_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'toString', u'exports', u'module']) + PyJs_Object_1465_ = Js({}) + var.put(u'toString', PyJs_Object_1465_.get(u'toString')) + @Js + def PyJs_anonymous_1466_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return var.get(u'toString').callprop(u'call', var.get(u'it')).callprop(u'slice', Js(8.0), (-Js(1.0))) + PyJs_anonymous_1466_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1466_) +PyJs_anonymous_1464_._set_name(u'anonymous') +PyJs_Object_1467_ = Js({}) +@Js +def PyJs_anonymous_1468_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'fastKey', u'exports', u'forOf', u'anInstance', u'defined', u'$iterDefine', u'create', u'ctx', u'module', u'setSpecies', u'getEntry', u'step', u'redefineAll', u'DESCRIPTORS', u'require', u'dP', u'SIZE']) + Js(u'use strict') + var.put(u'dP', var.get(u'require')(Js(u'./_object-dp')).get(u'f')) + var.put(u'create', var.get(u'require')(Js(u'./_object-create'))) + var.put(u'redefineAll', var.get(u'require')(Js(u'./_redefine-all'))) + var.put(u'ctx', var.get(u'require')(Js(u'./_ctx'))) + var.put(u'anInstance', var.get(u'require')(Js(u'./_an-instance'))) + var.put(u'defined', var.get(u'require')(Js(u'./_defined'))) + var.put(u'forOf', var.get(u'require')(Js(u'./_for-of'))) + var.put(u'$iterDefine', var.get(u'require')(Js(u'./_iter-define'))) + var.put(u'step', var.get(u'require')(Js(u'./_iter-step'))) + var.put(u'setSpecies', var.get(u'require')(Js(u'./_set-species'))) + var.put(u'DESCRIPTORS', var.get(u'require')(Js(u'./_descriptors'))) + var.put(u'fastKey', var.get(u'require')(Js(u'./_meta')).get(u'fastKey')) + var.put(u'SIZE', (Js(u'_s') if var.get(u'DESCRIPTORS') else Js(u'size'))) + @Js + def PyJs_anonymous_1469_(that, key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key, u'that':that}, var) + var.registers([u'index', u'that', u'key', u'entry']) + var.put(u'index', var.get(u'fastKey')(var.get(u'key'))) + if PyJsStrictNeq(var.get(u'index'),Js(u'F')): + return var.get(u'that').get(u'_i').get(var.get(u'index')) + #for JS loop + var.put(u'entry', var.get(u'that').get(u'_f')) + while var.get(u'entry'): + try: + if (var.get(u'entry').get(u'k')==var.get(u'key')): + return var.get(u'entry') + finally: + var.put(u'entry', var.get(u'entry').get(u'n')) + PyJs_anonymous_1469_._set_name(u'anonymous') + var.put(u'getEntry', PyJs_anonymous_1469_) + @Js + def PyJs_anonymous_1471_(wrapper, NAME, IS_MAP, ADDER, this, arguments, var=var): + var = Scope({u'ADDER':ADDER, u'this':this, u'arguments':arguments, u'IS_MAP':IS_MAP, u'wrapper':wrapper, u'NAME':NAME}, var) + var.registers([u'ADDER', u'C', u'NAME', u'wrapper', u'IS_MAP']) + @Js + def PyJs_anonymous_1472_(that, iterable, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'iterable':iterable, u'that':that}, var) + var.registers([u'iterable', u'that']) + var.get(u'anInstance')(var.get(u'that'), var.get(u'C'), var.get(u'NAME'), Js(u'_i')) + var.get(u'that').put(u'_i', var.get(u'create')(var.get(u"null"))) + var.get(u'that').put(u'_f', var.get(u'undefined')) + var.get(u'that').put(u'_l', var.get(u'undefined')) + var.get(u'that').put(var.get(u'SIZE'), Js(0.0)) + if (var.get(u'iterable')!=var.get(u'undefined')): + var.get(u'forOf')(var.get(u'iterable'), var.get(u'IS_MAP'), var.get(u'that').get(var.get(u'ADDER')), var.get(u'that')) + PyJs_anonymous_1472_._set_name(u'anonymous') + var.put(u'C', var.get(u'wrapper')(PyJs_anonymous_1472_)) + @Js + def PyJs_clear_1474_(this, arguments, var=var): + var = Scope({u'this':this, u'clear':PyJs_clear_1474_, u'arguments':arguments}, var) + var.registers([u'entry', u'data', u'that']) + #for JS loop + var.put(u'that', var.get(u"this")) + var.put(u'data', var.get(u'that').get(u'_i')) + var.put(u'entry', var.get(u'that').get(u'_f')) + while var.get(u'entry'): + try: + var.get(u'entry').put(u'r', var.get(u'true')) + if var.get(u'entry').get(u'p'): + var.get(u'entry').put(u'p', var.get(u'entry').get(u'p').put(u'n', var.get(u'undefined'))) + var.get(u'data').delete(var.get(u'entry').get(u'i')) + finally: + var.put(u'entry', var.get(u'entry').get(u'n')) + var.get(u'that').put(u'_f', var.get(u'that').put(u'_l', var.get(u'undefined'))) + var.get(u'that').put(var.get(u'SIZE'), Js(0.0)) + PyJs_clear_1474_._set_name(u'clear') + @Js + def PyJs_anonymous_1475_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'prev', u'entry', u'next', u'key', u'that']) + var.put(u'that', var.get(u"this")) + var.put(u'entry', var.get(u'getEntry')(var.get(u'that'), var.get(u'key'))) + if var.get(u'entry'): + var.put(u'next', var.get(u'entry').get(u'n')) + var.put(u'prev', var.get(u'entry').get(u'p')) + var.get(u'that').get(u'_i').delete(var.get(u'entry').get(u'i')) + var.get(u'entry').put(u'r', var.get(u'true')) + if var.get(u'prev'): + var.get(u'prev').put(u'n', var.get(u'next')) + if var.get(u'next'): + var.get(u'next').put(u'p', var.get(u'prev')) + if (var.get(u'that').get(u'_f')==var.get(u'entry')): + var.get(u'that').put(u'_f', var.get(u'next')) + if (var.get(u'that').get(u'_l')==var.get(u'entry')): + var.get(u'that').put(u'_l', var.get(u'prev')) + (var.get(u'that').put(var.get(u'SIZE'),Js(var.get(u'that').get(var.get(u'SIZE')).to_number())-Js(1))+Js(1)) + return var.get(u'entry').neg().neg() + PyJs_anonymous_1475_._set_name(u'anonymous') + @Js + def PyJs_forEach_1476_(callbackfn, this, arguments, var=var): + var = Scope({u'this':this, u'callbackfn':callbackfn, u'arguments':arguments, u'forEach':PyJs_forEach_1476_}, var) + var.registers([u'entry', u'callbackfn', u'f']) + var.get(u'anInstance')(var.get(u"this"), var.get(u'C'), Js(u'forEach')) + var.put(u'f', var.get(u'ctx')(var.get(u'callbackfn'), (var.get(u'arguments').get(u'1') if (var.get(u'arguments').get(u'length')>Js(1.0)) else var.get(u'undefined')), Js(3.0))) + while var.put(u'entry', (var.get(u'entry').get(u'n') if var.get(u'entry') else var.get(u"this").get(u'_f'))): + var.get(u'f')(var.get(u'entry').get(u'v'), var.get(u'entry').get(u'k'), var.get(u"this")) + while (var.get(u'entry') and var.get(u'entry').get(u'r')): + var.put(u'entry', var.get(u'entry').get(u'p')) + PyJs_forEach_1476_._set_name(u'forEach') + @Js + def PyJs_has_1477_(key, this, arguments, var=var): + var = Scope({u'this':this, u'has':PyJs_has_1477_, u'arguments':arguments, u'key':key}, var) + var.registers([u'key']) + return var.get(u'getEntry')(var.get(u"this"), var.get(u'key')).neg().neg() + PyJs_has_1477_._set_name(u'has') + PyJs_Object_1473_ = Js({u'clear':PyJs_clear_1474_,u'delete':PyJs_anonymous_1475_,u'forEach':PyJs_forEach_1476_,u'has':PyJs_has_1477_}) + var.get(u'redefineAll')(var.get(u'C').get(u'prototype'), PyJs_Object_1473_) + if var.get(u'DESCRIPTORS'): + @Js + def PyJs_anonymous_1479_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'defined')(var.get(u"this").get(var.get(u'SIZE'))) + PyJs_anonymous_1479_._set_name(u'anonymous') + PyJs_Object_1478_ = Js({u'get':PyJs_anonymous_1479_}) + var.get(u'dP')(var.get(u'C').get(u'prototype'), Js(u'size'), PyJs_Object_1478_) + return var.get(u'C') + PyJs_anonymous_1471_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1480_(that, key, value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value, u'key':key, u'that':that}, var) + var.registers([u'index', u'that', u'value', u'key', u'entry', u'prev']) + var.put(u'entry', var.get(u'getEntry')(var.get(u'that'), var.get(u'key'))) + if var.get(u'entry'): + var.get(u'entry').put(u'v', var.get(u'value')) + else: + PyJs_Object_1481_ = Js({u'i':var.put(u'index', var.get(u'fastKey')(var.get(u'key'), var.get(u'true'))),u'k':var.get(u'key'),u'v':var.get(u'value'),u'p':var.put(u'prev', var.get(u'that').get(u'_l')),u'n':var.get(u'undefined'),u'r':Js(False)}) + var.get(u'that').put(u'_l', var.put(u'entry', PyJs_Object_1481_)) + if var.get(u'that').get(u'_f').neg(): + var.get(u'that').put(u'_f', var.get(u'entry')) + if var.get(u'prev'): + var.get(u'prev').put(u'n', var.get(u'entry')) + (var.get(u'that').put(var.get(u'SIZE'),Js(var.get(u'that').get(var.get(u'SIZE')).to_number())+Js(1))-Js(1)) + if PyJsStrictNeq(var.get(u'index'),Js(u'F')): + var.get(u'that').get(u'_i').put(var.get(u'index'), var.get(u'entry')) + return var.get(u'that') + PyJs_anonymous_1480_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1482_(C, NAME, IS_MAP, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'C':C, u'NAME':NAME, u'IS_MAP':IS_MAP}, var) + var.registers([u'C', u'NAME', u'IS_MAP']) + @Js + def PyJs_anonymous_1483_(iterated, kind, this, arguments, var=var): + var = Scope({u'this':this, u'kind':kind, u'arguments':arguments, u'iterated':iterated}, var) + var.registers([u'kind', u'iterated']) + var.get(u"this").put(u'_t', var.get(u'iterated')) + var.get(u"this").put(u'_k', var.get(u'kind')) + var.get(u"this").put(u'_l', var.get(u'undefined')) + PyJs_anonymous_1483_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1484_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'entry', u'kind', u'that']) + var.put(u'that', var.get(u"this")) + var.put(u'kind', var.get(u'that').get(u'_k')) + var.put(u'entry', var.get(u'that').get(u'_l')) + while (var.get(u'entry') and var.get(u'entry').get(u'r')): + var.put(u'entry', var.get(u'entry').get(u'p')) + if (var.get(u'that').get(u'_t').neg() or var.get(u'that').put(u'_l', var.put(u'entry', (var.get(u'entry').get(u'n') if var.get(u'entry') else var.get(u'that').get(u'_t').get(u'_f')))).neg()): + var.get(u'that').put(u'_t', var.get(u'undefined')) + return var.get(u'step')(Js(1.0)) + if (var.get(u'kind')==Js(u'keys')): + return var.get(u'step')(Js(0.0), var.get(u'entry').get(u'k')) + if (var.get(u'kind')==Js(u'values')): + return var.get(u'step')(Js(0.0), var.get(u'entry').get(u'v')) + return var.get(u'step')(Js(0.0), Js([var.get(u'entry').get(u'k'), var.get(u'entry').get(u'v')])) + PyJs_anonymous_1484_._set_name(u'anonymous') + var.get(u'$iterDefine')(var.get(u'C'), var.get(u'NAME'), PyJs_anonymous_1483_, PyJs_anonymous_1484_, (Js(u'entries') if var.get(u'IS_MAP') else Js(u'values')), var.get(u'IS_MAP').neg(), var.get(u'true')) + var.get(u'setSpecies')(var.get(u'NAME')) + PyJs_anonymous_1482_._set_name(u'anonymous') + PyJs_Object_1470_ = Js({u'getConstructor':PyJs_anonymous_1471_,u'def':PyJs_anonymous_1480_,u'getEntry':var.get(u'getEntry'),u'setStrong':PyJs_anonymous_1482_}) + var.get(u'module').put(u'exports', PyJs_Object_1470_) +PyJs_anonymous_1468_._set_name(u'anonymous') +PyJs_Object_1485_ = Js({u'./_an-instance':Js(131.0),u'./_ctx':Js(145.0),u'./_defined':Js(146.0),u'./_descriptors':Js(147.0),u'./_for-of':Js(153.0),u'./_iter-define':Js(165.0),u'./_iter-step':Js(166.0),u'./_meta':Js(170.0),u'./_object-create':Js(172.0),u'./_object-dp':Js(173.0),u'./_redefine-all':Js(185.0),u'./_set-species':Js(188.0)}) +@Js +def PyJs_anonymous_1486_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'from', u'require', u'classof', u'exports', u'module']) + var.put(u'classof', var.get(u'require')(Js(u'./_classof'))) + var.put(u'from', var.get(u'require')(Js(u'./_array-from-iterable'))) + @Js + def PyJs_anonymous_1487_(NAME, this, arguments, var=var): + var = Scope({u'this':this, u'NAME':NAME, u'arguments':arguments}, var) + var.registers([u'NAME']) + @Js + def PyJs_toJSON_1488_(this, arguments, var=var): + var = Scope({u'this':this, u'toJSON':PyJs_toJSON_1488_, u'arguments':arguments}, var) + var.registers([]) + if (var.get(u'classof')(var.get(u"this"))!=var.get(u'NAME')): + PyJsTempException = JsToPyException(var.get(u'TypeError')((var.get(u'NAME')+Js(u"#toJSON isn't generic")))) + raise PyJsTempException + return var.get(u'from')(var.get(u"this")) + PyJs_toJSON_1488_._set_name(u'toJSON') + return PyJs_toJSON_1488_ + PyJs_anonymous_1487_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1487_) +PyJs_anonymous_1486_._set_name(u'anonymous') +PyJs_Object_1489_ = Js({u'./_array-from-iterable':Js(133.0),u'./_classof':Js(138.0)}) +@Js +def PyJs_anonymous_1490_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'forOf', u'findUncaughtFrozen', u'createArrayMethod', u'anInstance', u'require', u'arrayFindIndex', u'module', u'id', u'$has', u'anObject', u'uncaughtFrozenStore', u'UncaughtFrozenStore', u'redefineAll', u'getWeak', u'isObject', u'arrayFind']) + Js(u'use strict') + var.put(u'redefineAll', var.get(u'require')(Js(u'./_redefine-all'))) + var.put(u'getWeak', var.get(u'require')(Js(u'./_meta')).get(u'getWeak')) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'anInstance', var.get(u'require')(Js(u'./_an-instance'))) + var.put(u'forOf', var.get(u'require')(Js(u'./_for-of'))) + var.put(u'createArrayMethod', var.get(u'require')(Js(u'./_array-methods'))) + var.put(u'$has', var.get(u'require')(Js(u'./_has'))) + var.put(u'arrayFind', var.get(u'createArrayMethod')(Js(5.0))) + var.put(u'arrayFindIndex', var.get(u'createArrayMethod')(Js(6.0))) + var.put(u'id', Js(0.0)) + @Js + def PyJs_anonymous_1491_(that, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'that':that}, var) + var.registers([u'that']) + return (var.get(u'that').get(u'_l') or var.get(u'that').put(u'_l', var.get(u'UncaughtFrozenStore').create())) + PyJs_anonymous_1491_._set_name(u'anonymous') + var.put(u'uncaughtFrozenStore', PyJs_anonymous_1491_) + @Js + def PyJs_anonymous_1492_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put(u'a', Js([])) + PyJs_anonymous_1492_._set_name(u'anonymous') + var.put(u'UncaughtFrozenStore', PyJs_anonymous_1492_) + @Js + def PyJs_anonymous_1493_(store, key, this, arguments, var=var): + var = Scope({u'this':this, u'key':key, u'store':store, u'arguments':arguments}, var) + var.registers([u'key', u'store']) + @Js + def PyJs_anonymous_1494_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return PyJsStrictEq(var.get(u'it').get(u'0'),var.get(u'key')) + PyJs_anonymous_1494_._set_name(u'anonymous') + return var.get(u'arrayFind')(var.get(u'store').get(u'a'), PyJs_anonymous_1494_) + PyJs_anonymous_1493_._set_name(u'anonymous') + var.put(u'findUncaughtFrozen', PyJs_anonymous_1493_) + @Js + def PyJs_anonymous_1496_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'entry', u'key']) + var.put(u'entry', var.get(u'findUncaughtFrozen')(var.get(u"this"), var.get(u'key'))) + if var.get(u'entry'): + return var.get(u'entry').get(u'1') + PyJs_anonymous_1496_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1497_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'key']) + return var.get(u'findUncaughtFrozen')(var.get(u"this"), var.get(u'key')).neg().neg() + PyJs_anonymous_1497_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1498_(key, value, this, arguments, var=var): + var = Scope({u'this':this, u'value':value, u'key':key, u'arguments':arguments}, var) + var.registers([u'entry', u'value', u'key']) + var.put(u'entry', var.get(u'findUncaughtFrozen')(var.get(u"this"), var.get(u'key'))) + if var.get(u'entry'): + var.get(u'entry').put(u'1', var.get(u'value')) + else: + var.get(u"this").get(u'a').callprop(u'push', Js([var.get(u'key'), var.get(u'value')])) + PyJs_anonymous_1498_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1499_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'index', u'key']) + @Js + def PyJs_anonymous_1500_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return PyJsStrictEq(var.get(u'it').get(u'0'),var.get(u'key')) + PyJs_anonymous_1500_._set_name(u'anonymous') + var.put(u'index', var.get(u'arrayFindIndex')(var.get(u"this").get(u'a'), PyJs_anonymous_1500_)) + if (~var.get(u'index')): + var.get(u"this").get(u'a').callprop(u'splice', var.get(u'index'), Js(1.0)) + return (~var.get(u'index')).neg().neg() + PyJs_anonymous_1499_._set_name(u'anonymous') + PyJs_Object_1495_ = Js({u'get':PyJs_anonymous_1496_,u'has':PyJs_anonymous_1497_,u'set':PyJs_anonymous_1498_,u'delete':PyJs_anonymous_1499_}) + var.get(u'UncaughtFrozenStore').put(u'prototype', PyJs_Object_1495_) + @Js + def PyJs_anonymous_1502_(wrapper, NAME, IS_MAP, ADDER, this, arguments, var=var): + var = Scope({u'ADDER':ADDER, u'this':this, u'arguments':arguments, u'IS_MAP':IS_MAP, u'wrapper':wrapper, u'NAME':NAME}, var) + var.registers([u'ADDER', u'C', u'NAME', u'wrapper', u'IS_MAP']) + @Js + def PyJs_anonymous_1503_(that, iterable, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'iterable':iterable, u'that':that}, var) + var.registers([u'iterable', u'that']) + var.get(u'anInstance')(var.get(u'that'), var.get(u'C'), var.get(u'NAME'), Js(u'_i')) + var.get(u'that').put(u'_i', (var.put(u'id',Js(var.get(u'id').to_number())+Js(1))-Js(1))) + var.get(u'that').put(u'_l', var.get(u'undefined')) + if (var.get(u'iterable')!=var.get(u'undefined')): + var.get(u'forOf')(var.get(u'iterable'), var.get(u'IS_MAP'), var.get(u'that').get(var.get(u'ADDER')), var.get(u'that')) + PyJs_anonymous_1503_._set_name(u'anonymous') + var.put(u'C', var.get(u'wrapper')(PyJs_anonymous_1503_)) + @Js + def PyJs_anonymous_1505_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'data', u'key']) + if var.get(u'isObject')(var.get(u'key')).neg(): + return Js(False) + var.put(u'data', var.get(u'getWeak')(var.get(u'key'))) + if PyJsStrictEq(var.get(u'data'),var.get(u'true')): + return var.get(u'uncaughtFrozenStore')(var.get(u"this")).callprop(u'delete', var.get(u'key')) + return ((var.get(u'data') and var.get(u'$has')(var.get(u'data'), var.get(u"this").get(u'_i'))) and var.get(u'data').delete(var.get(u"this").get(u'_i'))) + PyJs_anonymous_1505_._set_name(u'anonymous') + @Js + def PyJs_has_1506_(key, this, arguments, var=var): + var = Scope({u'this':this, u'has':PyJs_has_1506_, u'arguments':arguments, u'key':key}, var) + var.registers([u'data', u'key']) + if var.get(u'isObject')(var.get(u'key')).neg(): + return Js(False) + var.put(u'data', var.get(u'getWeak')(var.get(u'key'))) + if PyJsStrictEq(var.get(u'data'),var.get(u'true')): + return var.get(u'uncaughtFrozenStore')(var.get(u"this")).callprop(u'has', var.get(u'key')) + return (var.get(u'data') and var.get(u'$has')(var.get(u'data'), var.get(u"this").get(u'_i'))) + PyJs_has_1506_._set_name(u'has') + PyJs_Object_1504_ = Js({u'delete':PyJs_anonymous_1505_,u'has':PyJs_has_1506_}) + var.get(u'redefineAll')(var.get(u'C').get(u'prototype'), PyJs_Object_1504_) + return var.get(u'C') + PyJs_anonymous_1502_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1507_(that, key, value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value, u'key':key, u'that':that}, var) + var.registers([u'data', u'value', u'key', u'that']) + var.put(u'data', var.get(u'getWeak')(var.get(u'anObject')(var.get(u'key')), var.get(u'true'))) + if PyJsStrictEq(var.get(u'data'),var.get(u'true')): + var.get(u'uncaughtFrozenStore')(var.get(u'that')).callprop(u'set', var.get(u'key'), var.get(u'value')) + else: + var.get(u'data').put(var.get(u'that').get(u'_i'), var.get(u'value')) + return var.get(u'that') + PyJs_anonymous_1507_._set_name(u'anonymous') + PyJs_Object_1501_ = Js({u'getConstructor':PyJs_anonymous_1502_,u'def':PyJs_anonymous_1507_,u'ufstore':var.get(u'uncaughtFrozenStore')}) + var.get(u'module').put(u'exports', PyJs_Object_1501_) +PyJs_anonymous_1490_._set_name(u'anonymous') +PyJs_Object_1508_ = Js({u'./_an-instance':Js(131.0),u'./_an-object':Js(132.0),u'./_array-methods':Js(135.0),u'./_for-of':Js(153.0),u'./_has':Js(155.0),u'./_is-object':Js(162.0),u'./_meta':Js(170.0),u'./_redefine-all':Js(185.0)}) +@Js +def PyJs_anonymous_1509_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'fails', u'forOf', u'hide', u'anInstance', u'$export', u'setToStringTag', u'global', u'require', u'module', u'DESCRIPTORS', u'meta', u'redefineAll', u'each', u'isObject', u'dP']) + Js(u'use strict') + var.put(u'global', var.get(u'require')(Js(u'./_global'))) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'meta', var.get(u'require')(Js(u'./_meta'))) + var.put(u'fails', var.get(u'require')(Js(u'./_fails'))) + var.put(u'hide', var.get(u'require')(Js(u'./_hide'))) + var.put(u'redefineAll', var.get(u'require')(Js(u'./_redefine-all'))) + var.put(u'forOf', var.get(u'require')(Js(u'./_for-of'))) + var.put(u'anInstance', var.get(u'require')(Js(u'./_an-instance'))) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'setToStringTag', var.get(u'require')(Js(u'./_set-to-string-tag'))) + var.put(u'dP', var.get(u'require')(Js(u'./_object-dp')).get(u'f')) + var.put(u'each', var.get(u'require')(Js(u'./_array-methods'))(Js(0.0))) + var.put(u'DESCRIPTORS', var.get(u'require')(Js(u'./_descriptors'))) + @Js + def PyJs_anonymous_1510_(NAME, wrapper, methods, common, IS_MAP, IS_WEAK, this, arguments, var=var): + var = Scope({u'NAME':NAME, u'this':this, u'arguments':arguments, u'IS_MAP':IS_MAP, u'wrapper':wrapper, u'IS_WEAK':IS_WEAK, u'common':common, u'methods':methods}, var) + var.registers([u'C', u'wrapper', u'NAME', u'proto', u'IS_MAP', u'O', u'common', u'Base', u'IS_WEAK', u'ADDER', u'methods']) + var.put(u'Base', var.get(u'global').get(var.get(u'NAME'))) + var.put(u'C', var.get(u'Base')) + var.put(u'ADDER', (Js(u'set') if var.get(u'IS_MAP') else Js(u'add'))) + var.put(u'proto', (var.get(u'C') and var.get(u'C').get(u'prototype'))) + PyJs_Object_1511_ = Js({}) + var.put(u'O', PyJs_Object_1511_) + @Js + def PyJs_anonymous_1512_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'C').create().callprop(u'entries').callprop(u'next') + PyJs_anonymous_1512_._set_name(u'anonymous') + if ((var.get(u'DESCRIPTORS').neg() or (var.get(u'C',throw=False).typeof()!=Js(u'function'))) or (var.get(u'IS_WEAK') or (var.get(u'proto').get(u'forEach') and var.get(u'fails')(PyJs_anonymous_1512_).neg())).neg()): + var.put(u'C', var.get(u'common').callprop(u'getConstructor', var.get(u'wrapper'), var.get(u'NAME'), var.get(u'IS_MAP'), var.get(u'ADDER'))) + var.get(u'redefineAll')(var.get(u'C').get(u'prototype'), var.get(u'methods')) + var.get(u'meta').put(u'NEED', var.get(u'true')) + else: + @Js + def PyJs_anonymous_1513_(target, iterable, this, arguments, var=var): + var = Scope({u'this':this, u'target':target, u'iterable':iterable, u'arguments':arguments}, var) + var.registers([u'target', u'iterable']) + var.get(u'anInstance')(var.get(u'target'), var.get(u'C'), var.get(u'NAME'), Js(u'_c')) + var.get(u'target').put(u'_c', var.get(u'Base').create()) + if (var.get(u'iterable')!=var.get(u'undefined')): + var.get(u'forOf')(var.get(u'iterable'), var.get(u'IS_MAP'), var.get(u'target').get(var.get(u'ADDER')), var.get(u'target')) + PyJs_anonymous_1513_._set_name(u'anonymous') + var.put(u'C', var.get(u'wrapper')(PyJs_anonymous_1513_)) + @Js + def PyJs_anonymous_1514_(KEY, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'KEY':KEY}, var) + var.registers([u'IS_ADDER', u'KEY']) + var.put(u'IS_ADDER', ((var.get(u'KEY')==Js(u'add')) or (var.get(u'KEY')==Js(u'set')))) + if (var.get(u'proto').contains(var.get(u'KEY')) and (var.get(u'IS_WEAK') and (var.get(u'KEY')==Js(u'clear'))).neg()): + @Js + def PyJs_anonymous_1515_(a, b, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'b':b, u'arguments':arguments}, var) + var.registers([u'a', u'b', u'result']) + var.get(u'anInstance')(var.get(u"this"), var.get(u'C'), var.get(u'KEY')) + if ((var.get(u'IS_ADDER').neg() and var.get(u'IS_WEAK')) and var.get(u'isObject')(var.get(u'a')).neg()): + return (var.get(u'undefined') if (var.get(u'KEY')==Js(u'get')) else Js(False)) + var.put(u'result', var.get(u"this").get(u'_c').callprop(var.get(u'KEY'), (Js(0.0) if PyJsStrictEq(var.get(u'a'),Js(0.0)) else var.get(u'a')), var.get(u'b'))) + return (var.get(u"this") if var.get(u'IS_ADDER') else var.get(u'result')) + PyJs_anonymous_1515_._set_name(u'anonymous') + var.get(u'hide')(var.get(u'C').get(u'prototype'), var.get(u'KEY'), PyJs_anonymous_1515_) + PyJs_anonymous_1514_._set_name(u'anonymous') + var.get(u'each')(Js(u'add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON').callprop(u'split', Js(u',')), PyJs_anonymous_1514_) + if var.get(u'proto').contains(Js(u'size')): + @Js + def PyJs_anonymous_1517_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this").get(u'_c').get(u'size') + PyJs_anonymous_1517_._set_name(u'anonymous') + PyJs_Object_1516_ = Js({u'get':PyJs_anonymous_1517_}) + var.get(u'dP')(var.get(u'C').get(u'prototype'), Js(u'size'), PyJs_Object_1516_) + var.get(u'setToStringTag')(var.get(u'C'), var.get(u'NAME')) + var.get(u'O').put(var.get(u'NAME'), var.get(u'C')) + var.get(u'$export')(((var.get(u'$export').get(u'G')+var.get(u'$export').get(u'W'))+var.get(u'$export').get(u'F')), var.get(u'O')) + if var.get(u'IS_WEAK').neg(): + var.get(u'common').callprop(u'setStrong', var.get(u'C'), var.get(u'NAME'), var.get(u'IS_MAP')) + return var.get(u'C') + PyJs_anonymous_1510_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1510_) +PyJs_anonymous_1509_._set_name(u'anonymous') +PyJs_Object_1518_ = Js({u'./_an-instance':Js(131.0),u'./_array-methods':Js(135.0),u'./_descriptors':Js(147.0),u'./_export':Js(151.0),u'./_fails':Js(152.0),u'./_for-of':Js(153.0),u'./_global':Js(154.0),u'./_hide':Js(156.0),u'./_is-object':Js(162.0),u'./_meta':Js(170.0),u'./_object-dp':Js(173.0),u'./_redefine-all':Js(185.0),u'./_set-to-string-tag':Js(189.0)}) +@Js +def PyJs_anonymous_1519_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'core', u'require', u'exports', u'module']) + PyJs_Object_1520_ = Js({u'version':Js(u'2.4.0')}) + var.put(u'core', var.get(u'module').put(u'exports', PyJs_Object_1520_)) + if (var.get(u'__e',throw=False).typeof()==Js(u'number')): + var.put(u'__e', var.get(u'core')) +PyJs_anonymous_1519_._set_name(u'anonymous') +PyJs_Object_1521_ = Js({}) +@Js +def PyJs_anonymous_1522_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'aFunction', u'require', u'exports', u'module']) + var.put(u'aFunction', var.get(u'require')(Js(u'./_a-function'))) + @Js + def PyJs_anonymous_1523_(fn, that, length, this, arguments, var=var): + var = Scope({u'this':this, u'length':length, u'arguments':arguments, u'fn':fn, u'that':that}, var) + var.registers([u'length', u'fn', u'that']) + var.get(u'aFunction')(var.get(u'fn')) + if PyJsStrictEq(var.get(u'that'),var.get(u'undefined')): + return var.get(u'fn') + while 1: + SWITCHED = False + CONDITION = (var.get(u'length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(1.0)): + SWITCHED = True + @Js + def PyJs_anonymous_1524_(a, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'arguments':arguments}, var) + var.registers([u'a']) + return var.get(u'fn').callprop(u'call', var.get(u'that'), var.get(u'a')) + PyJs_anonymous_1524_._set_name(u'anonymous') + return PyJs_anonymous_1524_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(2.0)): + SWITCHED = True + @Js + def PyJs_anonymous_1525_(a, b, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'b':b, u'arguments':arguments}, var) + var.registers([u'a', u'b']) + return var.get(u'fn').callprop(u'call', var.get(u'that'), var.get(u'a'), var.get(u'b')) + PyJs_anonymous_1525_._set_name(u'anonymous') + return PyJs_anonymous_1525_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + @Js + def PyJs_anonymous_1526_(a, b, c, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'c':c, u'b':b, u'arguments':arguments}, var) + var.registers([u'a', u'c', u'b']) + return var.get(u'fn').callprop(u'call', var.get(u'that'), var.get(u'a'), var.get(u'b'), var.get(u'c')) + PyJs_anonymous_1526_._set_name(u'anonymous') + return PyJs_anonymous_1526_ + SWITCHED = True + break + @Js + def PyJs_anonymous_1527_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'fn').callprop(u'apply', var.get(u'that'), var.get(u'arguments')) + PyJs_anonymous_1527_._set_name(u'anonymous') + return PyJs_anonymous_1527_ + PyJs_anonymous_1523_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1523_) +PyJs_anonymous_1522_._set_name(u'anonymous') +PyJs_Object_1528_ = Js({u'./_a-function':Js(129.0)}) +@Js +def PyJs_anonymous_1529_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_1530_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + if (var.get(u'it')==var.get(u'undefined')): + PyJsTempException = JsToPyException(var.get(u'TypeError')((Js(u"Can't call method on ")+var.get(u'it')))) + raise PyJsTempException + return var.get(u'it') + PyJs_anonymous_1530_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1530_) +PyJs_anonymous_1529_._set_name(u'anonymous') +PyJs_Object_1531_ = Js({}) +@Js +def PyJs_anonymous_1532_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_1533_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_1534_ = Js({}) + @Js + def PyJs_anonymous_1536_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return Js(7.0) + PyJs_anonymous_1536_._set_name(u'anonymous') + PyJs_Object_1535_ = Js({u'get':PyJs_anonymous_1536_}) + return (var.get(u'Object').callprop(u'defineProperty', PyJs_Object_1534_, Js(u'a'), PyJs_Object_1535_).get(u'a')!=Js(7.0)) + PyJs_anonymous_1533_._set_name(u'anonymous') + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./_fails'))(PyJs_anonymous_1533_).neg()) +PyJs_anonymous_1532_._set_name(u'anonymous') +PyJs_Object_1537_ = Js({u'./_fails':Js(152.0)}) +@Js +def PyJs_anonymous_1538_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'is', u'module', u'isObject', u'document', u'require']) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'document', var.get(u'require')(Js(u'./_global')).get(u'document')) + var.put(u'is', (var.get(u'isObject')(var.get(u'document')) and var.get(u'isObject')(var.get(u'document').get(u'createElement')))) + @Js + def PyJs_anonymous_1539_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + PyJs_Object_1540_ = Js({}) + return (var.get(u'document').callprop(u'createElement', var.get(u'it')) if var.get(u'is') else PyJs_Object_1540_) + PyJs_anonymous_1539_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1539_) +PyJs_anonymous_1538_._set_name(u'anonymous') +PyJs_Object_1541_ = Js({u'./_global':Js(154.0),u'./_is-object':Js(162.0)}) +@Js +def PyJs_anonymous_1542_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'module').put(u'exports', Js(u'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf').callprop(u'split', Js(u','))) +PyJs_anonymous_1542_._set_name(u'anonymous') +PyJs_Object_1543_ = Js({}) +@Js +def PyJs_anonymous_1544_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'pIE', u'module', u'gOPS', u'getKeys']) + var.put(u'getKeys', var.get(u'require')(Js(u'./_object-keys'))) + var.put(u'gOPS', var.get(u'require')(Js(u'./_object-gops'))) + var.put(u'pIE', var.get(u'require')(Js(u'./_object-pie'))) + @Js + def PyJs_anonymous_1545_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'getSymbols', u'i', u'it', u'symbols', u'isEnum', u'result', u'key']) + var.put(u'result', var.get(u'getKeys')(var.get(u'it'))) + var.put(u'getSymbols', var.get(u'gOPS').get(u'f')) + if var.get(u'getSymbols'): + var.put(u'symbols', var.get(u'getSymbols')(var.get(u'it'))) + var.put(u'isEnum', var.get(u'pIE').get(u'f')) + var.put(u'i', Js(0.0)) + while (var.get(u'symbols').get(u'length')>var.get(u'i')): + if var.get(u'isEnum').callprop(u'call', var.get(u'it'), var.put(u'key', var.get(u'symbols').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1))))): + var.get(u'result').callprop(u'push', var.get(u'key')) + return var.get(u'result') + PyJs_anonymous_1545_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1545_) +PyJs_anonymous_1544_._set_name(u'anonymous') +PyJs_Object_1546_ = Js({u'./_object-gops':Js(178.0),u'./_object-keys':Js(181.0),u'./_object-pie':Js(182.0)}) +@Js +def PyJs_anonymous_1547_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'core', u'exports', u'hide', u'$export', u'require', u'global', u'ctx', u'module', u'PROTOTYPE']) + var.put(u'global', var.get(u'require')(Js(u'./_global'))) + var.put(u'core', var.get(u'require')(Js(u'./_core'))) + var.put(u'ctx', var.get(u'require')(Js(u'./_ctx'))) + var.put(u'hide', var.get(u'require')(Js(u'./_hide'))) + var.put(u'PROTOTYPE', Js(u'prototype')) + @Js + def PyJs_anonymous_1548_(type, name, source, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'type':type, u'name':name, u'arguments':arguments}, var) + var.registers([u'IS_STATIC', u'IS_WRAP', u'exports', u'IS_GLOBAL', u'target', u'expProto', u'name', u'source', u'IS_PROTO', u'key', u'own', u'IS_FORCED', u'type', u'IS_BIND', u'out']) + var.put(u'IS_FORCED', (var.get(u'type')&var.get(u'$export').get(u'F'))) + var.put(u'IS_GLOBAL', (var.get(u'type')&var.get(u'$export').get(u'G'))) + var.put(u'IS_STATIC', (var.get(u'type')&var.get(u'$export').get(u'S'))) + var.put(u'IS_PROTO', (var.get(u'type')&var.get(u'$export').get(u'P'))) + var.put(u'IS_BIND', (var.get(u'type')&var.get(u'$export').get(u'B'))) + var.put(u'IS_WRAP', (var.get(u'type')&var.get(u'$export').get(u'W'))) + PyJs_Object_1549_ = Js({}) + var.put(u'exports', (var.get(u'core') if var.get(u'IS_GLOBAL') else (var.get(u'core').get(var.get(u'name')) or var.get(u'core').put(var.get(u'name'), PyJs_Object_1549_)))) + var.put(u'expProto', var.get(u'exports').get(var.get(u'PROTOTYPE'))) + PyJs_Object_1550_ = Js({}) + var.put(u'target', (var.get(u'global') if var.get(u'IS_GLOBAL') else (var.get(u'global').get(var.get(u'name')) if var.get(u'IS_STATIC') else (var.get(u'global').get(var.get(u'name')) or PyJs_Object_1550_).get(var.get(u'PROTOTYPE'))))) + if var.get(u'IS_GLOBAL'): + var.put(u'source', var.get(u'name')) + for PyJsTemp in var.get(u'source'): + var.put(u'key', PyJsTemp) + var.put(u'own', ((var.get(u'IS_FORCED').neg() and var.get(u'target')) and PyJsStrictNeq(var.get(u'target').get(var.get(u'key')),var.get(u'undefined')))) + if (var.get(u'own') and var.get(u'exports').contains(var.get(u'key'))): + continue + var.put(u'out', (var.get(u'target').get(var.get(u'key')) if var.get(u'own') else var.get(u'source').get(var.get(u'key')))) + def PyJs_LONG_1553_(var=var): + @Js + def PyJs_anonymous_1551_(C, this, arguments, var=var): + var = Scope({u'this':this, u'C':C, u'arguments':arguments}, var) + var.registers([u'C', u'F']) + @Js + def PyJs_anonymous_1552_(a, b, c, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'c':c, u'b':b, u'arguments':arguments}, var) + var.registers([u'a', u'c', u'b']) + if var.get(u"this").instanceof(var.get(u'C')): + while 1: + SWITCHED = False + CONDITION = (var.get(u'arguments').get(u'length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(0.0)): + SWITCHED = True + return var.get(u'C').create() + if SWITCHED or PyJsStrictEq(CONDITION, Js(1.0)): + SWITCHED = True + return var.get(u'C').create(var.get(u'a')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(2.0)): + SWITCHED = True + return var.get(u'C').create(var.get(u'a'), var.get(u'b')) + SWITCHED = True + break + return var.get(u'C').create(var.get(u'a'), var.get(u'b'), var.get(u'c')) + return var.get(u'C').callprop(u'apply', var.get(u"this"), var.get(u'arguments')) + PyJs_anonymous_1552_._set_name(u'anonymous') + var.put(u'F', PyJs_anonymous_1552_) + var.get(u'F').put(var.get(u'PROTOTYPE'), var.get(u'C').get(var.get(u'PROTOTYPE'))) + return var.get(u'F') + PyJs_anonymous_1551_._set_name(u'anonymous') + return (var.get(u'ctx')(var.get(u'out'), var.get(u'global')) if (var.get(u'IS_BIND') and var.get(u'own')) else (PyJs_anonymous_1551_(var.get(u'out')) if (var.get(u'IS_WRAP') and (var.get(u'target').get(var.get(u'key'))==var.get(u'out'))) else (var.get(u'ctx')(var.get(u'Function').get(u'call'), var.get(u'out')) if (var.get(u'IS_PROTO') and (var.get(u'out',throw=False).typeof()==Js(u'function'))) else var.get(u'out')))) + var.get(u'exports').put(var.get(u'key'), (var.get(u'source').get(var.get(u'key')) if (var.get(u'IS_GLOBAL') and (var.get(u'target').get(var.get(u'key')).typeof()!=Js(u'function'))) else PyJs_LONG_1553_())) + if var.get(u'IS_PROTO'): + PyJs_Object_1554_ = Js({}) + (var.get(u'exports').get(u'virtual') or var.get(u'exports').put(u'virtual', PyJs_Object_1554_)).put(var.get(u'key'), var.get(u'out')) + if (((var.get(u'type')&var.get(u'$export').get(u'R')) and var.get(u'expProto')) and var.get(u'expProto').get(var.get(u'key')).neg()): + var.get(u'hide')(var.get(u'expProto'), var.get(u'key'), var.get(u'out')) + PyJs_anonymous_1548_._set_name(u'anonymous') + var.put(u'$export', PyJs_anonymous_1548_) + var.get(u'$export').put(u'F', Js(1.0)) + var.get(u'$export').put(u'G', Js(2.0)) + var.get(u'$export').put(u'S', Js(4.0)) + var.get(u'$export').put(u'P', Js(8.0)) + var.get(u'$export').put(u'B', Js(16.0)) + var.get(u'$export').put(u'W', Js(32.0)) + var.get(u'$export').put(u'U', Js(64.0)) + var.get(u'$export').put(u'R', Js(128.0)) + var.get(u'module').put(u'exports', var.get(u'$export')) +PyJs_anonymous_1547_._set_name(u'anonymous') +PyJs_Object_1555_ = Js({u'./_core':Js(144.0),u'./_ctx':Js(145.0),u'./_global':Js(154.0),u'./_hide':Js(156.0)}) +@Js +def PyJs_anonymous_1556_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_1557_(PyJsArg_65786563_, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'exec':PyJsArg_65786563_}, var) + var.registers([u'exec']) + try: + return var.get(u'exec')().neg().neg() + except PyJsException as PyJsTempException: + PyJsHolder_65_66067223 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + return var.get(u'true') + finally: + if PyJsHolder_65_66067223 is not None: + var.own[u'e'] = PyJsHolder_65_66067223 + else: + del var.own[u'e'] + del PyJsHolder_65_66067223 + PyJs_anonymous_1557_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1557_) +PyJs_anonymous_1556_._set_name(u'anonymous') +PyJs_Object_1558_ = Js({}) +@Js +def PyJs_anonymous_1559_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'getIterFn', u'RETURN', u'require', u'ctx', u'module', u'BREAK', u'toLength', u'call', u'isArrayIter', u'anObject']) + var.put(u'ctx', var.get(u'require')(Js(u'./_ctx'))) + var.put(u'call', var.get(u'require')(Js(u'./_iter-call'))) + var.put(u'isArrayIter', var.get(u'require')(Js(u'./_is-array-iter'))) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + var.put(u'toLength', var.get(u'require')(Js(u'./_to-length'))) + var.put(u'getIterFn', var.get(u'require')(Js(u'./core.get-iterator-method'))) + PyJs_Object_1560_ = Js({}) + var.put(u'BREAK', PyJs_Object_1560_) + PyJs_Object_1561_ = Js({}) + var.put(u'RETURN', PyJs_Object_1561_) + @Js + def PyJs_anonymous_1562_(iterable, entries, fn, that, ITERATOR, this, arguments, var=var): + var = Scope({u'iterable':iterable, u'ITERATOR':ITERATOR, u'that':that, u'this':this, u'entries':entries, u'fn':fn, u'arguments':arguments}, var) + var.registers([u'iterFn', u'index', u'ITERATOR', u'iterator', u'f', u'that', u'step', u'length', u'result', u'entries', u'fn', u'iterable']) + @Js + def PyJs_anonymous_1563_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'iterable') + PyJs_anonymous_1563_._set_name(u'anonymous') + var.put(u'iterFn', (PyJs_anonymous_1563_ if var.get(u'ITERATOR') else var.get(u'getIterFn')(var.get(u'iterable')))) + var.put(u'f', var.get(u'ctx')(var.get(u'fn'), var.get(u'that'), (Js(2.0) if var.get(u'entries') else Js(1.0)))) + var.put(u'index', Js(0.0)) + if (var.get(u'iterFn',throw=False).typeof()!=Js(u'function')): + PyJsTempException = JsToPyException(var.get(u'TypeError')((var.get(u'iterable')+Js(u' is not iterable!')))) + raise PyJsTempException + if var.get(u'isArrayIter')(var.get(u'iterFn')): + #for JS loop + var.put(u'length', var.get(u'toLength')(var.get(u'iterable').get(u'length'))) + while (var.get(u'length')>var.get(u'index')): + try: + var.put(u'result', (var.get(u'f')(var.get(u'anObject')(var.put(u'step', var.get(u'iterable').get(var.get(u'index')))).get(u'0'), var.get(u'step').get(u'1')) if var.get(u'entries') else var.get(u'f')(var.get(u'iterable').get(var.get(u'index'))))) + if (PyJsStrictEq(var.get(u'result'),var.get(u'BREAK')) or PyJsStrictEq(var.get(u'result'),var.get(u'RETURN'))): + return var.get(u'result') + finally: + (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1)) + else: + #for JS loop + var.put(u'iterator', var.get(u'iterFn').callprop(u'call', var.get(u'iterable'))) + while var.put(u'step', var.get(u'iterator').callprop(u'next')).get(u'done').neg(): + var.put(u'result', var.get(u'call')(var.get(u'iterator'), var.get(u'f'), var.get(u'step').get(u'value'), var.get(u'entries'))) + if (PyJsStrictEq(var.get(u'result'),var.get(u'BREAK')) or PyJsStrictEq(var.get(u'result'),var.get(u'RETURN'))): + return var.get(u'result') + + PyJs_anonymous_1562_._set_name(u'anonymous') + var.put(u'exports', var.get(u'module').put(u'exports', PyJs_anonymous_1562_)) + var.get(u'exports').put(u'BREAK', var.get(u'BREAK')) + var.get(u'exports').put(u'RETURN', var.get(u'RETURN')) +PyJs_anonymous_1559_._set_name(u'anonymous') +PyJs_Object_1564_ = Js({u'./_an-object':Js(132.0),u'./_ctx':Js(145.0),u'./_is-array-iter':Js(160.0),u'./_iter-call':Js(163.0),u'./_to-length':Js(196.0),u'./core.get-iterator-method':Js(203.0)}) +@Js +def PyJs_anonymous_1565_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'global', u'exports', u'module']) + var.put(u'global', var.get(u'module').put(u'exports', (var.get(u'window') if ((var.get(u'window',throw=False).typeof()!=Js(u'undefined')) and (var.get(u'window').get(u'Math')==var.get(u'Math'))) else (var.get(u'self') if ((var.get(u'self',throw=False).typeof()!=Js(u'undefined')) and (var.get(u'self').get(u'Math')==var.get(u'Math'))) else var.get(u'Function')(Js(u'return this'))())))) + if (var.get(u'__g',throw=False).typeof()==Js(u'number')): + var.put(u'__g', var.get(u'global')) +PyJs_anonymous_1565_._set_name(u'anonymous') +PyJs_Object_1566_ = Js({}) +@Js +def PyJs_anonymous_1567_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'hasOwnProperty', u'module']) + PyJs_Object_1568_ = Js({}) + var.put(u'hasOwnProperty', PyJs_Object_1568_.get(u'hasOwnProperty')) + @Js + def PyJs_anonymous_1569_(it, key, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'key':key, u'arguments':arguments}, var) + var.registers([u'it', u'key']) + return var.get(u'hasOwnProperty').callprop(u'call', var.get(u'it'), var.get(u'key')) + PyJs_anonymous_1569_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1569_) +PyJs_anonymous_1567_._set_name(u'anonymous') +PyJs_Object_1570_ = Js({}) +@Js +def PyJs_anonymous_1571_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'module', u'require', u'exports', u'createDesc', u'dP']) + var.put(u'dP', var.get(u'require')(Js(u'./_object-dp'))) + var.put(u'createDesc', var.get(u'require')(Js(u'./_property-desc'))) + @Js + def PyJs_anonymous_1572_(object, key, value, this, arguments, var=var): + var = Scope({u'this':this, u'object':object, u'value':value, u'key':key, u'arguments':arguments}, var) + var.registers([u'object', u'value', u'key']) + return var.get(u'dP').callprop(u'f', var.get(u'object'), var.get(u'key'), var.get(u'createDesc')(Js(1.0), var.get(u'value'))) + PyJs_anonymous_1572_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1573_(object, key, value, this, arguments, var=var): + var = Scope({u'this':this, u'object':object, u'value':value, u'key':key, u'arguments':arguments}, var) + var.registers([u'object', u'value', u'key']) + var.get(u'object').put(var.get(u'key'), var.get(u'value')) + return var.get(u'object') + PyJs_anonymous_1573_._set_name(u'anonymous') + var.get(u'module').put(u'exports', (PyJs_anonymous_1572_ if var.get(u'require')(Js(u'./_descriptors')) else PyJs_anonymous_1573_)) +PyJs_anonymous_1571_._set_name(u'anonymous') +PyJs_Object_1574_ = Js({u'./_descriptors':Js(147.0),u'./_object-dp':Js(173.0),u'./_property-desc':Js(184.0)}) +@Js +def PyJs_anonymous_1575_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'module').put(u'exports', (var.get(u'require')(Js(u'./_global')).get(u'document') and var.get(u'document').get(u'documentElement'))) +PyJs_anonymous_1575_._set_name(u'anonymous') +PyJs_Object_1576_ = Js({u'./_global':Js(154.0)}) +@Js +def PyJs_anonymous_1577_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_1578_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_anonymous_1580_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return Js(7.0) + PyJs_anonymous_1580_._set_name(u'anonymous') + PyJs_Object_1579_ = Js({u'get':PyJs_anonymous_1580_}) + return (var.get(u'Object').callprop(u'defineProperty', var.get(u'require')(Js(u'./_dom-create'))(Js(u'div')), Js(u'a'), PyJs_Object_1579_).get(u'a')!=Js(7.0)) + PyJs_anonymous_1578_._set_name(u'anonymous') + var.get(u'module').put(u'exports', (var.get(u'require')(Js(u'./_descriptors')).neg() and var.get(u'require')(Js(u'./_fails'))(PyJs_anonymous_1578_).neg())) +PyJs_anonymous_1577_._set_name(u'anonymous') +PyJs_Object_1581_ = Js({u'./_descriptors':Js(147.0),u'./_dom-create':Js(148.0),u'./_fails':Js(152.0)}) +@Js +def PyJs_anonymous_1582_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module', u'cof']) + var.put(u'cof', var.get(u'require')(Js(u'./_cof'))) + @Js + def PyJs_anonymous_1583_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return (var.get(u'it').callprop(u'split', Js(u'')) if (var.get(u'cof')(var.get(u'it'))==Js(u'String')) else var.get(u'Object')(var.get(u'it'))) + PyJs_anonymous_1583_._set_name(u'anonymous') + var.get(u'module').put(u'exports', (var.get(u'Object') if var.get(u'Object')(Js(u'z')).callprop(u'propertyIsEnumerable', Js(0.0)) else PyJs_anonymous_1583_)) +PyJs_anonymous_1582_._set_name(u'anonymous') +PyJs_Object_1584_ = Js({u'./_cof':Js(139.0)}) +@Js +def PyJs_anonymous_1585_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'ITERATOR', u'ArrayProto', u'require', u'module', u'Iterators']) + var.put(u'Iterators', var.get(u'require')(Js(u'./_iterators'))) + var.put(u'ITERATOR', var.get(u'require')(Js(u'./_wks'))(Js(u'iterator'))) + var.put(u'ArrayProto', var.get(u'Array').get(u'prototype')) + @Js + def PyJs_anonymous_1586_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return (PyJsStrictNeq(var.get(u'it'),var.get(u'undefined')) and (PyJsStrictEq(var.get(u'Iterators').get(u'Array'),var.get(u'it')) or PyJsStrictEq(var.get(u'ArrayProto').get(var.get(u'ITERATOR')),var.get(u'it')))) + PyJs_anonymous_1586_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1586_) +PyJs_anonymous_1585_._set_name(u'anonymous') +PyJs_Object_1587_ = Js({u'./_iterators':Js(167.0),u'./_wks':Js(202.0)}) +@Js +def PyJs_anonymous_1588_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module', u'cof']) + var.put(u'cof', var.get(u'require')(Js(u'./_cof'))) + @Js + def PyJs_isArray_1589_(arg, this, arguments, var=var): + var = Scope({u'this':this, u'isArray':PyJs_isArray_1589_, u'arguments':arguments, u'arg':arg}, var) + var.registers([u'arg']) + return (var.get(u'cof')(var.get(u'arg'))==Js(u'Array')) + PyJs_isArray_1589_._set_name(u'isArray') + var.get(u'module').put(u'exports', (var.get(u'Array').get(u'isArray') or PyJs_isArray_1589_)) +PyJs_anonymous_1588_._set_name(u'anonymous') +PyJs_Object_1590_ = Js({u'./_cof':Js(139.0)}) +@Js +def PyJs_anonymous_1591_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_1592_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return (PyJsStrictNeq(var.get(u'it'),var.get(u"null")) if PyJsStrictEq(var.get(u'it',throw=False).typeof(),Js(u'object')) else PyJsStrictEq(var.get(u'it',throw=False).typeof(),Js(u'function'))) + PyJs_anonymous_1592_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1592_) +PyJs_anonymous_1591_._set_name(u'anonymous') +PyJs_Object_1593_ = Js({}) +@Js +def PyJs_anonymous_1594_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'anObject', u'exports', u'module']) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + @Js + def PyJs_anonymous_1595_(iterator, fn, value, entries, this, arguments, var=var): + var = Scope({u'fn':fn, u'iterator':iterator, u'entries':entries, u'this':this, u'value':value, u'arguments':arguments}, var) + var.registers([u'fn', u'value', u'iterator', u'ret', u'entries']) + try: + return (var.get(u'fn')(var.get(u'anObject')(var.get(u'value')).get(u'0'), var.get(u'value').get(u'1')) if var.get(u'entries') else var.get(u'fn')(var.get(u'value'))) + except PyJsException as PyJsTempException: + PyJsHolder_65_64523188 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + var.put(u'ret', var.get(u'iterator').get(u'return')) + if PyJsStrictNeq(var.get(u'ret'),var.get(u'undefined')): + var.get(u'anObject')(var.get(u'ret').callprop(u'call', var.get(u'iterator'))) + PyJsTempException = JsToPyException(var.get(u'e')) + raise PyJsTempException + finally: + if PyJsHolder_65_64523188 is not None: + var.own[u'e'] = PyJsHolder_65_64523188 + else: + del var.own[u'e'] + del PyJsHolder_65_64523188 + PyJs_anonymous_1595_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1595_) +PyJs_anonymous_1594_._set_name(u'anonymous') +PyJs_Object_1596_ = Js({u'./_an-object':Js(132.0)}) +@Js +def PyJs_anonymous_1597_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'setToStringTag', u'exports', u'IteratorPrototype', u'create', u'module', u'descriptor', u'require']) + Js(u'use strict') + var.put(u'create', var.get(u'require')(Js(u'./_object-create'))) + var.put(u'descriptor', var.get(u'require')(Js(u'./_property-desc'))) + var.put(u'setToStringTag', var.get(u'require')(Js(u'./_set-to-string-tag'))) + PyJs_Object_1598_ = Js({}) + var.put(u'IteratorPrototype', PyJs_Object_1598_) + @Js + def PyJs_anonymous_1599_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this") + PyJs_anonymous_1599_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_hide'))(var.get(u'IteratorPrototype'), var.get(u'require')(Js(u'./_wks'))(Js(u'iterator')), PyJs_anonymous_1599_) + @Js + def PyJs_anonymous_1600_(Constructor, NAME, next, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'next':next, u'NAME':NAME, u'Constructor':Constructor}, var) + var.registers([u'next', u'NAME', u'Constructor']) + PyJs_Object_1601_ = Js({u'next':var.get(u'descriptor')(Js(1.0), var.get(u'next'))}) + var.get(u'Constructor').put(u'prototype', var.get(u'create')(var.get(u'IteratorPrototype'), PyJs_Object_1601_)) + var.get(u'setToStringTag')(var.get(u'Constructor'), (var.get(u'NAME')+Js(u' Iterator'))) + PyJs_anonymous_1600_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1600_) +PyJs_anonymous_1597_._set_name(u'anonymous') +PyJs_Object_1602_ = Js({u'./_hide':Js(156.0),u'./_object-create':Js(172.0),u'./_property-desc':Js(184.0),u'./_set-to-string-tag':Js(189.0),u'./_wks':Js(202.0)}) +@Js +def PyJs_anonymous_1603_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'returnThis', u'$iterCreate', u'redefine', u'hide', u'ITERATOR', u'KEYS', u'$export', u'setToStringTag', u'BUGGY', u'require', u'LIBRARY', u'getPrototypeOf', u'Iterators', u'VALUES', u'module', u'has', u'FF_ITERATOR', u'exports']) + Js(u'use strict') + var.put(u'LIBRARY', var.get(u'require')(Js(u'./_library'))) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'redefine', var.get(u'require')(Js(u'./_redefine'))) + var.put(u'hide', var.get(u'require')(Js(u'./_hide'))) + var.put(u'has', var.get(u'require')(Js(u'./_has'))) + var.put(u'Iterators', var.get(u'require')(Js(u'./_iterators'))) + var.put(u'$iterCreate', var.get(u'require')(Js(u'./_iter-create'))) + var.put(u'setToStringTag', var.get(u'require')(Js(u'./_set-to-string-tag'))) + var.put(u'getPrototypeOf', var.get(u'require')(Js(u'./_object-gpo'))) + var.put(u'ITERATOR', var.get(u'require')(Js(u'./_wks'))(Js(u'iterator'))) + var.put(u'BUGGY', (Js([]).get(u'keys') and Js([]).callprop(u'keys').contains(Js(u'next'))).neg()) + var.put(u'FF_ITERATOR', Js(u'@@iterator')) + var.put(u'KEYS', Js(u'keys')) + var.put(u'VALUES', Js(u'values')) + @Js + def PyJs_anonymous_1604_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this") + PyJs_anonymous_1604_._set_name(u'anonymous') + var.put(u'returnThis', PyJs_anonymous_1604_) + @Js + def PyJs_anonymous_1605_(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED, this, arguments, var=var): + var = Scope({u'FORCED':FORCED, u'NAME':NAME, u'DEFAULT':DEFAULT, u'Constructor':Constructor, u'next':next, u'this':this, u'Base':Base, u'arguments':arguments, u'IS_SET':IS_SET}, var) + var.registers([u'DEF_VALUES', u'Base', u'$entries', u'methods', u'$default', u'proto', u'DEFAULT', u'IteratorPrototype', u'Constructor', u'getMethod', u'next', u'IS_SET', u'$anyNative', u'TAG', u'key', u'VALUES_BUG', u'$native', u'FORCED', u'NAME']) + var.get(u'$iterCreate')(var.get(u'Constructor'), var.get(u'NAME'), var.get(u'next')) + @Js + def PyJs_anonymous_1606_(kind, this, arguments, var=var): + var = Scope({u'this':this, u'kind':kind, u'arguments':arguments}, var) + var.registers([u'kind']) + if (var.get(u'BUGGY').neg() and var.get(u'proto').contains(var.get(u'kind'))): + return var.get(u'proto').get(var.get(u'kind')) + while 1: + SWITCHED = False + CONDITION = (var.get(u'kind')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'KEYS')): + SWITCHED = True + @Js + def PyJs_keys_1607_(this, arguments, var=var): + var = Scope({u'this':this, u'keys':PyJs_keys_1607_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'Constructor').create(var.get(u"this"), var.get(u'kind')) + PyJs_keys_1607_._set_name(u'keys') + return PyJs_keys_1607_ + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'VALUES')): + SWITCHED = True + @Js + def PyJs_values_1608_(this, arguments, var=var): + var = Scope({u'this':this, u'values':PyJs_values_1608_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'Constructor').create(var.get(u"this"), var.get(u'kind')) + PyJs_values_1608_._set_name(u'values') + return PyJs_values_1608_ + SWITCHED = True + break + @Js + def PyJs_entries_1609_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'entries':PyJs_entries_1609_}, var) + var.registers([]) + return var.get(u'Constructor').create(var.get(u"this"), var.get(u'kind')) + PyJs_entries_1609_._set_name(u'entries') + return PyJs_entries_1609_ + PyJs_anonymous_1606_._set_name(u'anonymous') + var.put(u'getMethod', PyJs_anonymous_1606_) + var.put(u'TAG', (var.get(u'NAME')+Js(u' Iterator'))) + var.put(u'DEF_VALUES', (var.get(u'DEFAULT')==var.get(u'VALUES'))) + var.put(u'VALUES_BUG', Js(False)) + var.put(u'proto', var.get(u'Base').get(u'prototype')) + var.put(u'$native', ((var.get(u'proto').get(var.get(u'ITERATOR')) or var.get(u'proto').get(var.get(u'FF_ITERATOR'))) or (var.get(u'DEFAULT') and var.get(u'proto').get(var.get(u'DEFAULT'))))) + var.put(u'$default', (var.get(u'$native') or var.get(u'getMethod')(var.get(u'DEFAULT')))) + var.put(u'$entries', ((var.get(u'$default') if var.get(u'DEF_VALUES').neg() else var.get(u'getMethod')(Js(u'entries'))) if var.get(u'DEFAULT') else var.get(u'undefined'))) + var.put(u'$anyNative', ((var.get(u'proto').get(u'entries') or var.get(u'$native')) if (var.get(u'NAME')==Js(u'Array')) else var.get(u'$native'))) + if var.get(u'$anyNative'): + var.put(u'IteratorPrototype', var.get(u'getPrototypeOf')(var.get(u'$anyNative').callprop(u'call', var.get(u'Base').create()))) + if PyJsStrictNeq(var.get(u'IteratorPrototype'),var.get(u'Object').get(u'prototype')): + var.get(u'setToStringTag')(var.get(u'IteratorPrototype'), var.get(u'TAG'), var.get(u'true')) + if (var.get(u'LIBRARY').neg() and var.get(u'has')(var.get(u'IteratorPrototype'), var.get(u'ITERATOR')).neg()): + var.get(u'hide')(var.get(u'IteratorPrototype'), var.get(u'ITERATOR'), var.get(u'returnThis')) + if ((var.get(u'DEF_VALUES') and var.get(u'$native')) and PyJsStrictNeq(var.get(u'$native').get(u'name'),var.get(u'VALUES'))): + var.put(u'VALUES_BUG', var.get(u'true')) + @Js + def PyJs_values_1610_(this, arguments, var=var): + var = Scope({u'this':this, u'values':PyJs_values_1610_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'$native').callprop(u'call', var.get(u"this")) + PyJs_values_1610_._set_name(u'values') + var.put(u'$default', PyJs_values_1610_) + if ((var.get(u'LIBRARY').neg() or var.get(u'FORCED')) and ((var.get(u'BUGGY') or var.get(u'VALUES_BUG')) or var.get(u'proto').get(var.get(u'ITERATOR')).neg())): + var.get(u'hide')(var.get(u'proto'), var.get(u'ITERATOR'), var.get(u'$default')) + var.get(u'Iterators').put(var.get(u'NAME'), var.get(u'$default')) + var.get(u'Iterators').put(var.get(u'TAG'), var.get(u'returnThis')) + if var.get(u'DEFAULT'): + PyJs_Object_1611_ = Js({u'values':(var.get(u'$default') if var.get(u'DEF_VALUES') else var.get(u'getMethod')(var.get(u'VALUES'))),u'keys':(var.get(u'$default') if var.get(u'IS_SET') else var.get(u'getMethod')(var.get(u'KEYS'))),u'entries':var.get(u'$entries')}) + var.put(u'methods', PyJs_Object_1611_) + if var.get(u'FORCED'): + for PyJsTemp in var.get(u'methods'): + var.put(u'key', PyJsTemp) + if var.get(u'proto').contains(var.get(u'key')).neg(): + var.get(u'redefine')(var.get(u'proto'), var.get(u'key'), var.get(u'methods').get(var.get(u'key'))) + else: + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*(var.get(u'BUGGY') or var.get(u'VALUES_BUG')))), var.get(u'NAME'), var.get(u'methods')) + return var.get(u'methods') + PyJs_anonymous_1605_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1605_) +PyJs_anonymous_1603_._set_name(u'anonymous') +PyJs_Object_1612_ = Js({u'./_export':Js(151.0),u'./_has':Js(155.0),u'./_hide':Js(156.0),u'./_iter-create':Js(164.0),u'./_iterators':Js(167.0),u'./_library':Js(169.0),u'./_object-gpo':Js(179.0),u'./_redefine':Js(186.0),u'./_set-to-string-tag':Js(189.0),u'./_wks':Js(202.0)}) +@Js +def PyJs_anonymous_1613_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_1614_(done, value, this, arguments, var=var): + var = Scope({u'this':this, u'done':done, u'arguments':arguments, u'value':value}, var) + var.registers([u'done', u'value']) + PyJs_Object_1615_ = Js({u'value':var.get(u'value'),u'done':var.get(u'done').neg().neg()}) + return PyJs_Object_1615_ + PyJs_anonymous_1614_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1614_) +PyJs_anonymous_1613_._set_name(u'anonymous') +PyJs_Object_1616_ = Js({}) +@Js +def PyJs_anonymous_1617_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1618_ = Js({}) + var.get(u'module').put(u'exports', PyJs_Object_1618_) +PyJs_anonymous_1617_._set_name(u'anonymous') +PyJs_Object_1619_ = Js({}) +@Js +def PyJs_anonymous_1620_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'toIObject', u'exports', u'module', u'getKeys']) + var.put(u'getKeys', var.get(u'require')(Js(u'./_object-keys'))) + var.put(u'toIObject', var.get(u'require')(Js(u'./_to-iobject'))) + @Js + def PyJs_anonymous_1621_(object, el, this, arguments, var=var): + var = Scope({u'this':this, u'el':el, u'object':object, u'arguments':arguments}, var) + var.registers([u'index', u'el', u'keys', u'object', u'O', u'length', u'key']) + var.put(u'O', var.get(u'toIObject')(var.get(u'object'))) + var.put(u'keys', var.get(u'getKeys')(var.get(u'O'))) + var.put(u'length', var.get(u'keys').get(u'length')) + var.put(u'index', Js(0.0)) + while (var.get(u'length')>var.get(u'index')): + if PyJsStrictEq(var.get(u'O').get(var.put(u'key', var.get(u'keys').get((var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1))))),var.get(u'el')): + return var.get(u'key') + PyJs_anonymous_1621_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1621_) +PyJs_anonymous_1620_._set_name(u'anonymous') +PyJs_Object_1622_ = Js({u'./_object-keys':Js(181.0),u'./_to-iobject':Js(195.0)}) +@Js +def PyJs_anonymous_1623_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'module').put(u'exports', var.get(u'true')) +PyJs_anonymous_1623_._set_name(u'anonymous') +PyJs_Object_1624_ = Js({}) +@Js +def PyJs_anonymous_1625_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'fastKey', u'FREEZE', u'getWeak', u'require', u'isExtensible', u'exports', u'module', u'id', u'setMeta', u'META', u'meta', u'onFreeze', u'has', u'setDesc', u'isObject']) + var.put(u'META', var.get(u'require')(Js(u'./_uid'))(Js(u'meta'))) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'has', var.get(u'require')(Js(u'./_has'))) + var.put(u'setDesc', var.get(u'require')(Js(u'./_object-dp')).get(u'f')) + var.put(u'id', Js(0.0)) + @Js + def PyJs_anonymous_1626_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'true') + PyJs_anonymous_1626_._set_name(u'anonymous') + var.put(u'isExtensible', (var.get(u'Object').get(u'isExtensible') or PyJs_anonymous_1626_)) + @Js + def PyJs_anonymous_1627_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_1628_ = Js({}) + return var.get(u'isExtensible')(var.get(u'Object').callprop(u'preventExtensions', PyJs_Object_1628_)) + PyJs_anonymous_1627_._set_name(u'anonymous') + var.put(u'FREEZE', var.get(u'require')(Js(u'./_fails'))(PyJs_anonymous_1627_).neg()) + @Js + def PyJs_anonymous_1629_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + PyJs_Object_1632_ = Js({}) + PyJs_Object_1631_ = Js({u'i':(Js(u'O')+var.put(u'id',Js(var.get(u'id').to_number())+Js(1))),u'w':PyJs_Object_1632_}) + PyJs_Object_1630_ = Js({u'value':PyJs_Object_1631_}) + var.get(u'setDesc')(var.get(u'it'), var.get(u'META'), PyJs_Object_1630_) + PyJs_anonymous_1629_._set_name(u'anonymous') + var.put(u'setMeta', PyJs_anonymous_1629_) + @Js + def PyJs_anonymous_1633_(it, create, this, arguments, var=var): + var = Scope({u'this':this, u'create':create, u'it':it, u'arguments':arguments}, var) + var.registers([u'create', u'it']) + if var.get(u'isObject')(var.get(u'it')).neg(): + return (var.get(u'it') if (var.get(u'it',throw=False).typeof()==Js(u'symbol')) else ((Js(u'S') if (var.get(u'it',throw=False).typeof()==Js(u'string')) else Js(u'P'))+var.get(u'it'))) + if var.get(u'has')(var.get(u'it'), var.get(u'META')).neg(): + if var.get(u'isExtensible')(var.get(u'it')).neg(): + return Js(u'F') + if var.get(u'create').neg(): + return Js(u'E') + var.get(u'setMeta')(var.get(u'it')) + return var.get(u'it').get(var.get(u'META')).get(u'i') + PyJs_anonymous_1633_._set_name(u'anonymous') + var.put(u'fastKey', PyJs_anonymous_1633_) + @Js + def PyJs_anonymous_1634_(it, create, this, arguments, var=var): + var = Scope({u'this':this, u'create':create, u'it':it, u'arguments':arguments}, var) + var.registers([u'create', u'it']) + if var.get(u'has')(var.get(u'it'), var.get(u'META')).neg(): + if var.get(u'isExtensible')(var.get(u'it')).neg(): + return var.get(u'true') + if var.get(u'create').neg(): + return Js(False) + var.get(u'setMeta')(var.get(u'it')) + return var.get(u'it').get(var.get(u'META')).get(u'w') + PyJs_anonymous_1634_._set_name(u'anonymous') + var.put(u'getWeak', PyJs_anonymous_1634_) + @Js + def PyJs_anonymous_1635_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + if (((var.get(u'FREEZE') and var.get(u'meta').get(u'NEED')) and var.get(u'isExtensible')(var.get(u'it'))) and var.get(u'has')(var.get(u'it'), var.get(u'META')).neg()): + var.get(u'setMeta')(var.get(u'it')) + return var.get(u'it') + PyJs_anonymous_1635_._set_name(u'anonymous') + var.put(u'onFreeze', PyJs_anonymous_1635_) + PyJs_Object_1636_ = Js({u'KEY':var.get(u'META'),u'NEED':Js(False),u'fastKey':var.get(u'fastKey'),u'getWeak':var.get(u'getWeak'),u'onFreeze':var.get(u'onFreeze')}) + var.put(u'meta', var.get(u'module').put(u'exports', PyJs_Object_1636_)) +PyJs_anonymous_1625_._set_name(u'anonymous') +PyJs_Object_1637_ = Js({u'./_fails':Js(152.0),u'./_has':Js(155.0),u'./_is-object':Js(162.0),u'./_object-dp':Js(173.0),u'./_uid':Js(199.0)}) +@Js +def PyJs_anonymous_1638_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'IObject', u'$assign', u'toObject', u'pIE', u'module', u'gOPS', u'getKeys', u'require']) + Js(u'use strict') + var.put(u'getKeys', var.get(u'require')(Js(u'./_object-keys'))) + var.put(u'gOPS', var.get(u'require')(Js(u'./_object-gops'))) + var.put(u'pIE', var.get(u'require')(Js(u'./_object-pie'))) + var.put(u'toObject', var.get(u'require')(Js(u'./_to-object'))) + var.put(u'IObject', var.get(u'require')(Js(u'./_iobject'))) + var.put(u'$assign', var.get(u'Object').get(u'assign')) + @Js + def PyJs_assign_1639_(target, source, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'assign':PyJs_assign_1639_, u'target':target, u'arguments':arguments}, var) + var.registers([u'index', u'target', u'getSymbols', u'keys', u'j', u'S', u'isEnum', u'aLen', u'T', u'key', u'length', u'source']) + var.put(u'T', var.get(u'toObject')(var.get(u'target'))) + var.put(u'aLen', var.get(u'arguments').get(u'length')) + var.put(u'index', Js(1.0)) + var.put(u'getSymbols', var.get(u'gOPS').get(u'f')) + var.put(u'isEnum', var.get(u'pIE').get(u'f')) + while (var.get(u'aLen')>var.get(u'index')): + var.put(u'S', var.get(u'IObject')(var.get(u'arguments').get((var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1))))) + var.put(u'keys', (var.get(u'getKeys')(var.get(u'S')).callprop(u'concat', var.get(u'getSymbols')(var.get(u'S'))) if var.get(u'getSymbols') else var.get(u'getKeys')(var.get(u'S')))) + var.put(u'length', var.get(u'keys').get(u'length')) + var.put(u'j', Js(0.0)) + while (var.get(u'length')>var.get(u'j')): + if var.get(u'isEnum').callprop(u'call', var.get(u'S'), var.put(u'key', var.get(u'keys').get((var.put(u'j',Js(var.get(u'j').to_number())+Js(1))-Js(1))))): + var.get(u'T').put(var.get(u'key'), var.get(u'S').get(var.get(u'key'))) + return var.get(u'T') + PyJs_assign_1639_._set_name(u'assign') + @Js + def PyJs_anonymous_1640_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'A', u'S', u'B', u'K']) + PyJs_Object_1641_ = Js({}) + var.put(u'A', PyJs_Object_1641_) + PyJs_Object_1642_ = Js({}) + var.put(u'B', PyJs_Object_1642_) + var.put(u'S', var.get(u'Symbol')()) + var.put(u'K', Js(u'abcdefghijklmnopqrst')) + var.get(u'A').put(var.get(u'S'), Js(7.0)) + @Js + def PyJs_anonymous_1643_(k, this, arguments, var=var): + var = Scope({u'this':this, u'k':k, u'arguments':arguments}, var) + var.registers([u'k']) + var.get(u'B').put(var.get(u'k'), var.get(u'k')) + PyJs_anonymous_1643_._set_name(u'anonymous') + var.get(u'K').callprop(u'split', Js(u'')).callprop(u'forEach', PyJs_anonymous_1643_) + PyJs_Object_1644_ = Js({}) + PyJs_Object_1645_ = Js({}) + return ((var.get(u'$assign')(PyJs_Object_1644_, var.get(u'A')).get(var.get(u'S'))!=Js(7.0)) or (var.get(u'Object').callprop(u'keys', var.get(u'$assign')(PyJs_Object_1645_, var.get(u'B'))).callprop(u'join', Js(u''))!=var.get(u'K'))) + PyJs_anonymous_1640_._set_name(u'anonymous') + var.get(u'module').put(u'exports', (PyJs_assign_1639_ if (var.get(u'$assign').neg() or var.get(u'require')(Js(u'./_fails'))(PyJs_anonymous_1640_)) else var.get(u'$assign'))) +PyJs_anonymous_1638_._set_name(u'anonymous') +PyJs_Object_1646_ = Js({u'./_fails':Js(152.0),u'./_iobject':Js(159.0),u'./_object-gops':Js(178.0),u'./_object-keys':Js(181.0),u'./_object-pie':Js(182.0),u'./_to-object':Js(197.0)}) +@Js +def PyJs_anonymous_1647_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'dPs', u'require', u'enumBugKeys', u'module', u'IE_PROTO', u'anObject', u'createDict', u'PROTOTYPE', u'Empty']) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + var.put(u'dPs', var.get(u'require')(Js(u'./_object-dps'))) + var.put(u'enumBugKeys', var.get(u'require')(Js(u'./_enum-bug-keys'))) + var.put(u'IE_PROTO', var.get(u'require')(Js(u'./_shared-key'))(Js(u'IE_PROTO'))) + @Js + def PyJs_anonymous_1648_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJs_anonymous_1648_._set_name(u'anonymous') + var.put(u'Empty', PyJs_anonymous_1648_) + var.put(u'PROTOTYPE', Js(u'prototype')) + @Js + def PyJs_anonymous_1649_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'lt', u'gt', u'iframeDocument', u'iframe']) + var.put(u'iframe', var.get(u'require')(Js(u'./_dom-create'))(Js(u'iframe'))) + var.put(u'i', var.get(u'enumBugKeys').get(u'length')) + var.put(u'lt', Js(u'<')) + var.put(u'gt', Js(u'>')) + var.get(u'iframe').get(u'style').put(u'display', Js(u'none')) + var.get(u'require')(Js(u'./_html')).callprop(u'appendChild', var.get(u'iframe')) + var.get(u'iframe').put(u'src', Js(u'javascript:')) + var.put(u'iframeDocument', var.get(u'iframe').get(u'contentWindow').get(u'document')) + var.get(u'iframeDocument').callprop(u'open') + var.get(u'iframeDocument').callprop(u'write', ((((((var.get(u'lt')+Js(u'script'))+var.get(u'gt'))+Js(u'document.F=Object'))+var.get(u'lt'))+Js(u'/script'))+var.get(u'gt'))) + var.get(u'iframeDocument').callprop(u'close') + var.put(u'createDict', var.get(u'iframeDocument').get(u'F')) + while (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)): + var.get(u'createDict').get(var.get(u'PROTOTYPE')).delete(var.get(u'enumBugKeys').get(var.get(u'i'))) + return var.get(u'createDict')() + PyJs_anonymous_1649_._set_name(u'anonymous') + var.put(u'createDict', PyJs_anonymous_1649_) + @Js + def PyJs_create_1650_(O, Properties, this, arguments, var=var): + var = Scope({u'this':this, u'create':PyJs_create_1650_, u'Properties':Properties, u'O':O, u'arguments':arguments}, var) + var.registers([u'result', u'O', u'Properties']) + pass + if PyJsStrictNeq(var.get(u'O'),var.get(u"null")): + var.get(u'Empty').put(var.get(u'PROTOTYPE'), var.get(u'anObject')(var.get(u'O'))) + var.put(u'result', var.get(u'Empty').create()) + var.get(u'Empty').put(var.get(u'PROTOTYPE'), var.get(u"null")) + var.get(u'result').put(var.get(u'IE_PROTO'), var.get(u'O')) + else: + var.put(u'result', var.get(u'createDict')()) + return (var.get(u'result') if PyJsStrictEq(var.get(u'Properties'),var.get(u'undefined')) else var.get(u'dPs')(var.get(u'result'), var.get(u'Properties'))) + PyJs_create_1650_._set_name(u'create') + var.get(u'module').put(u'exports', (var.get(u'Object').get(u'create') or PyJs_create_1650_)) +PyJs_anonymous_1647_._set_name(u'anonymous') +PyJs_Object_1651_ = Js({u'./_an-object':Js(132.0),u'./_dom-create':Js(148.0),u'./_enum-bug-keys':Js(149.0),u'./_html':Js(157.0),u'./_object-dps':Js(174.0),u'./_shared-key':Js(190.0)}) +@Js +def PyJs_anonymous_1652_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'toPrimitive', u'module', u'anObject', u'IE8_DOM_DEFINE', u'dP']) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + var.put(u'IE8_DOM_DEFINE', var.get(u'require')(Js(u'./_ie8-dom-define'))) + var.put(u'toPrimitive', var.get(u'require')(Js(u'./_to-primitive'))) + var.put(u'dP', var.get(u'Object').get(u'defineProperty')) + @Js + def PyJs_defineProperty_1653_(O, P, Attributes, this, arguments, var=var): + var = Scope({u'this':this, u'O':O, u'P':P, u'arguments':arguments, u'defineProperty':PyJs_defineProperty_1653_, u'Attributes':Attributes}, var) + var.registers([u'P', u'O', u'Attributes']) + var.get(u'anObject')(var.get(u'O')) + var.put(u'P', var.get(u'toPrimitive')(var.get(u'P'), var.get(u'true'))) + var.get(u'anObject')(var.get(u'Attributes')) + if var.get(u'IE8_DOM_DEFINE'): + try: + return var.get(u'dP')(var.get(u'O'), var.get(u'P'), var.get(u'Attributes')) + except PyJsException as PyJsTempException: + PyJsHolder_65_75205354 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + pass + finally: + if PyJsHolder_65_75205354 is not None: + var.own[u'e'] = PyJsHolder_65_75205354 + else: + del var.own[u'e'] + del PyJsHolder_65_75205354 + if (var.get(u'Attributes').contains(Js(u'get')) or var.get(u'Attributes').contains(Js(u'set'))): + PyJsTempException = JsToPyException(var.get(u'TypeError')(Js(u'Accessors not supported!'))) + raise PyJsTempException + if var.get(u'Attributes').contains(Js(u'value')): + var.get(u'O').put(var.get(u'P'), var.get(u'Attributes').get(u'value')) + return var.get(u'O') + PyJs_defineProperty_1653_._set_name(u'defineProperty') + var.get(u'exports').put(u'f', (var.get(u'Object').get(u'defineProperty') if var.get(u'require')(Js(u'./_descriptors')) else PyJs_defineProperty_1653_)) +PyJs_anonymous_1652_._set_name(u'anonymous') +PyJs_Object_1654_ = Js({u'./_an-object':Js(132.0),u'./_descriptors':Js(147.0),u'./_ie8-dom-define':Js(158.0),u'./_to-primitive':Js(198.0)}) +@Js +def PyJs_anonymous_1655_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'module', u'getKeys', u'anObject', u'dP']) + var.put(u'dP', var.get(u'require')(Js(u'./_object-dp'))) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + var.put(u'getKeys', var.get(u'require')(Js(u'./_object-keys'))) + @Js + def PyJs_defineProperties_1656_(O, Properties, this, arguments, var=var): + var = Scope({u'this':this, u'defineProperties':PyJs_defineProperties_1656_, u'Properties':Properties, u'O':O, u'arguments':arguments}, var) + var.registers([u'P', u'keys', u'O', u'i', u'length', u'Properties']) + var.get(u'anObject')(var.get(u'O')) + var.put(u'keys', var.get(u'getKeys')(var.get(u'Properties'))) + var.put(u'length', var.get(u'keys').get(u'length')) + var.put(u'i', Js(0.0)) + while (var.get(u'length')>var.get(u'i')): + var.get(u'dP').callprop(u'f', var.get(u'O'), var.put(u'P', var.get(u'keys').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)))), var.get(u'Properties').get(var.get(u'P'))) + return var.get(u'O') + PyJs_defineProperties_1656_._set_name(u'defineProperties') + var.get(u'module').put(u'exports', (var.get(u'Object').get(u'defineProperties') if var.get(u'require')(Js(u'./_descriptors')) else PyJs_defineProperties_1656_)) +PyJs_anonymous_1655_._set_name(u'anonymous') +PyJs_Object_1657_ = Js({u'./_an-object':Js(132.0),u'./_descriptors':Js(147.0),u'./_object-dp':Js(173.0),u'./_object-keys':Js(181.0)}) +@Js +def PyJs_anonymous_1658_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'toPrimitive', u'module', u'pIE', u'toIObject', u'IE8_DOM_DEFINE', u'gOPD', u'has', u'createDesc']) + var.put(u'pIE', var.get(u'require')(Js(u'./_object-pie'))) + var.put(u'createDesc', var.get(u'require')(Js(u'./_property-desc'))) + var.put(u'toIObject', var.get(u'require')(Js(u'./_to-iobject'))) + var.put(u'toPrimitive', var.get(u'require')(Js(u'./_to-primitive'))) + var.put(u'has', var.get(u'require')(Js(u'./_has'))) + var.put(u'IE8_DOM_DEFINE', var.get(u'require')(Js(u'./_ie8-dom-define'))) + var.put(u'gOPD', var.get(u'Object').get(u'getOwnPropertyDescriptor')) + @Js + def PyJs_getOwnPropertyDescriptor_1659_(O, P, this, arguments, var=var): + var = Scope({u'this':this, u'P':P, u'getOwnPropertyDescriptor':PyJs_getOwnPropertyDescriptor_1659_, u'arguments':arguments, u'O':O}, var) + var.registers([u'P', u'O']) + var.put(u'O', var.get(u'toIObject')(var.get(u'O'))) + var.put(u'P', var.get(u'toPrimitive')(var.get(u'P'), var.get(u'true'))) + if var.get(u'IE8_DOM_DEFINE'): + try: + return var.get(u'gOPD')(var.get(u'O'), var.get(u'P')) + except PyJsException as PyJsTempException: + PyJsHolder_65_6934147 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + pass + finally: + if PyJsHolder_65_6934147 is not None: + var.own[u'e'] = PyJsHolder_65_6934147 + else: + del var.own[u'e'] + del PyJsHolder_65_6934147 + if var.get(u'has')(var.get(u'O'), var.get(u'P')): + return var.get(u'createDesc')(var.get(u'pIE').get(u'f').callprop(u'call', var.get(u'O'), var.get(u'P')).neg(), var.get(u'O').get(var.get(u'P'))) + PyJs_getOwnPropertyDescriptor_1659_._set_name(u'getOwnPropertyDescriptor') + var.get(u'exports').put(u'f', (var.get(u'gOPD') if var.get(u'require')(Js(u'./_descriptors')) else PyJs_getOwnPropertyDescriptor_1659_)) +PyJs_anonymous_1658_._set_name(u'anonymous') +PyJs_Object_1660_ = Js({u'./_descriptors':Js(147.0),u'./_has':Js(155.0),u'./_ie8-dom-define':Js(158.0),u'./_object-pie':Js(182.0),u'./_property-desc':Js(184.0),u'./_to-iobject':Js(195.0),u'./_to-primitive':Js(198.0)}) +@Js +def PyJs_anonymous_1661_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'getWindowNames', u'windowNames', u'gOPN', u'toString', u'module', u'toIObject']) + var.put(u'toIObject', var.get(u'require')(Js(u'./_to-iobject'))) + var.put(u'gOPN', var.get(u'require')(Js(u'./_object-gopn')).get(u'f')) + PyJs_Object_1662_ = Js({}) + var.put(u'toString', PyJs_Object_1662_.get(u'toString')) + var.put(u'windowNames', (var.get(u'Object').callprop(u'getOwnPropertyNames', var.get(u'window')) if (((var.get(u'window',throw=False).typeof()==Js(u'object')) and var.get(u'window')) and var.get(u'Object').get(u'getOwnPropertyNames')) else Js([]))) + @Js + def PyJs_anonymous_1663_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + try: + return var.get(u'gOPN')(var.get(u'it')) + except PyJsException as PyJsTempException: + PyJsHolder_65_72290655 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + return var.get(u'windowNames').callprop(u'slice') + finally: + if PyJsHolder_65_72290655 is not None: + var.own[u'e'] = PyJsHolder_65_72290655 + else: + del var.own[u'e'] + del PyJsHolder_65_72290655 + PyJs_anonymous_1663_._set_name(u'anonymous') + var.put(u'getWindowNames', PyJs_anonymous_1663_) + @Js + def PyJs_getOwnPropertyNames_1664_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'getOwnPropertyNames':PyJs_getOwnPropertyNames_1664_, u'arguments':arguments}, var) + var.registers([u'it']) + return (var.get(u'getWindowNames')(var.get(u'it')) if (var.get(u'windowNames') and (var.get(u'toString').callprop(u'call', var.get(u'it'))==Js(u'[object Window]'))) else var.get(u'gOPN')(var.get(u'toIObject')(var.get(u'it')))) + PyJs_getOwnPropertyNames_1664_._set_name(u'getOwnPropertyNames') + var.get(u'module').get(u'exports').put(u'f', PyJs_getOwnPropertyNames_1664_) +PyJs_anonymous_1661_._set_name(u'anonymous') +PyJs_Object_1665_ = Js({u'./_object-gopn':Js(177.0),u'./_to-iobject':Js(195.0)}) +@Js +def PyJs_anonymous_1666_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'hiddenKeys', u'require', u'$keys', u'module']) + var.put(u'$keys', var.get(u'require')(Js(u'./_object-keys-internal'))) + var.put(u'hiddenKeys', var.get(u'require')(Js(u'./_enum-bug-keys')).callprop(u'concat', Js(u'length'), Js(u'prototype'))) + @Js + def PyJs_getOwnPropertyNames_1667_(O, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'O':O, u'getOwnPropertyNames':PyJs_getOwnPropertyNames_1667_}, var) + var.registers([u'O']) + return var.get(u'$keys')(var.get(u'O'), var.get(u'hiddenKeys')) + PyJs_getOwnPropertyNames_1667_._set_name(u'getOwnPropertyNames') + var.get(u'exports').put(u'f', (var.get(u'Object').get(u'getOwnPropertyNames') or PyJs_getOwnPropertyNames_1667_)) +PyJs_anonymous_1666_._set_name(u'anonymous') +PyJs_Object_1668_ = Js({u'./_enum-bug-keys':Js(149.0),u'./_object-keys-internal':Js(180.0)}) +@Js +def PyJs_anonymous_1669_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'exports').put(u'f', var.get(u'Object').get(u'getOwnPropertySymbols')) +PyJs_anonymous_1669_._set_name(u'anonymous') +PyJs_Object_1670_ = Js({}) +@Js +def PyJs_anonymous_1671_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'toObject', u'module', u'IE_PROTO', u'ObjectProto', u'has', u'require']) + var.put(u'has', var.get(u'require')(Js(u'./_has'))) + var.put(u'toObject', var.get(u'require')(Js(u'./_to-object'))) + var.put(u'IE_PROTO', var.get(u'require')(Js(u'./_shared-key'))(Js(u'IE_PROTO'))) + var.put(u'ObjectProto', var.get(u'Object').get(u'prototype')) + @Js + def PyJs_anonymous_1672_(O, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'O':O}, var) + var.registers([u'O']) + var.put(u'O', var.get(u'toObject')(var.get(u'O'))) + if var.get(u'has')(var.get(u'O'), var.get(u'IE_PROTO')): + return var.get(u'O').get(var.get(u'IE_PROTO')) + if ((var.get(u'O').get(u'constructor').typeof()==Js(u'function')) and var.get(u'O').instanceof(var.get(u'O').get(u'constructor'))): + return var.get(u'O').get(u'constructor').get(u'prototype') + return (var.get(u'ObjectProto') if var.get(u'O').instanceof(var.get(u'Object')) else var.get(u"null")) + PyJs_anonymous_1672_._set_name(u'anonymous') + var.get(u'module').put(u'exports', (var.get(u'Object').get(u'getPrototypeOf') or PyJs_anonymous_1672_)) +PyJs_anonymous_1671_._set_name(u'anonymous') +PyJs_Object_1673_ = Js({u'./_has':Js(155.0),u'./_shared-key':Js(190.0),u'./_to-object':Js(197.0)}) +@Js +def PyJs_anonymous_1674_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'module', u'IE_PROTO', u'toIObject', u'arrayIndexOf', u'has']) + var.put(u'has', var.get(u'require')(Js(u'./_has'))) + var.put(u'toIObject', var.get(u'require')(Js(u'./_to-iobject'))) + var.put(u'arrayIndexOf', var.get(u'require')(Js(u'./_array-includes'))(Js(False))) + var.put(u'IE_PROTO', var.get(u'require')(Js(u'./_shared-key'))(Js(u'IE_PROTO'))) + @Js + def PyJs_anonymous_1675_(object, names, this, arguments, var=var): + var = Scope({u'this':this, u'object':object, u'names':names, u'arguments':arguments}, var) + var.registers([u'i', u'object', u'O', u'result', u'key', u'names']) + var.put(u'O', var.get(u'toIObject')(var.get(u'object'))) + var.put(u'i', Js(0.0)) + var.put(u'result', Js([])) + for PyJsTemp in var.get(u'O'): + var.put(u'key', PyJsTemp) + if (var.get(u'key')!=var.get(u'IE_PROTO')): + (var.get(u'has')(var.get(u'O'), var.get(u'key')) and var.get(u'result').callprop(u'push', var.get(u'key'))) + while (var.get(u'names').get(u'length')>var.get(u'i')): + if var.get(u'has')(var.get(u'O'), var.put(u'key', var.get(u'names').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1))))): + ((~var.get(u'arrayIndexOf')(var.get(u'result'), var.get(u'key'))) or var.get(u'result').callprop(u'push', var.get(u'key'))) + return var.get(u'result') + PyJs_anonymous_1675_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1675_) +PyJs_anonymous_1674_._set_name(u'anonymous') +PyJs_Object_1676_ = Js({u'./_array-includes':Js(134.0),u'./_has':Js(155.0),u'./_shared-key':Js(190.0),u'./_to-iobject':Js(195.0)}) +@Js +def PyJs_anonymous_1677_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'enumBugKeys', u'$keys', u'module']) + var.put(u'$keys', var.get(u'require')(Js(u'./_object-keys-internal'))) + var.put(u'enumBugKeys', var.get(u'require')(Js(u'./_enum-bug-keys'))) + @Js + def PyJs_keys_1678_(O, this, arguments, var=var): + var = Scope({u'this':this, u'keys':PyJs_keys_1678_, u'arguments':arguments, u'O':O}, var) + var.registers([u'O']) + return var.get(u'$keys')(var.get(u'O'), var.get(u'enumBugKeys')) + PyJs_keys_1678_._set_name(u'keys') + var.get(u'module').put(u'exports', (var.get(u'Object').get(u'keys') or PyJs_keys_1678_)) +PyJs_anonymous_1677_._set_name(u'anonymous') +PyJs_Object_1679_ = Js({u'./_enum-bug-keys':Js(149.0),u'./_object-keys-internal':Js(180.0)}) +@Js +def PyJs_anonymous_1680_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1681_ = Js({}) + var.get(u'exports').put(u'f', PyJs_Object_1681_.get(u'propertyIsEnumerable')) +PyJs_anonymous_1680_._set_name(u'anonymous') +PyJs_Object_1682_ = Js({}) +@Js +def PyJs_anonymous_1683_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'core', u'fails', u'$export', u'require', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'core', var.get(u'require')(Js(u'./_core'))) + var.put(u'fails', var.get(u'require')(Js(u'./_fails'))) + @Js + def PyJs_anonymous_1684_(KEY, PyJsArg_65786563_, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'KEY':KEY, u'exec':PyJsArg_65786563_}, var) + var.registers([u'KEY', u'exp', u'fn', u'exec']) + PyJs_Object_1685_ = Js({}) + var.put(u'fn', ((var.get(u'core').get(u'Object') or PyJs_Object_1685_).get(var.get(u'KEY')) or var.get(u'Object').get(var.get(u'KEY')))) + PyJs_Object_1686_ = Js({}) + var.put(u'exp', PyJs_Object_1686_) + var.get(u'exp').put(var.get(u'KEY'), var.get(u'exec')(var.get(u'fn'))) + @Js + def PyJs_anonymous_1687_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'fn')(Js(1.0)) + PyJs_anonymous_1687_._set_name(u'anonymous') + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*var.get(u'fails')(PyJs_anonymous_1687_))), Js(u'Object'), var.get(u'exp')) + PyJs_anonymous_1684_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1684_) +PyJs_anonymous_1683_._set_name(u'anonymous') +PyJs_Object_1688_ = Js({u'./_core':Js(144.0),u'./_export':Js(151.0),u'./_fails':Js(152.0)}) +@Js +def PyJs_anonymous_1689_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_1690_(bitmap, value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value, u'bitmap':bitmap}, var) + var.registers([u'value', u'bitmap']) + PyJs_Object_1691_ = Js({u'enumerable':(var.get(u'bitmap')&Js(1.0)).neg(),u'configurable':(var.get(u'bitmap')&Js(2.0)).neg(),u'writable':(var.get(u'bitmap')&Js(4.0)).neg(),u'value':var.get(u'value')}) + return PyJs_Object_1691_ + PyJs_anonymous_1690_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1690_) +PyJs_anonymous_1689_._set_name(u'anonymous') +PyJs_Object_1692_ = Js({}) +@Js +def PyJs_anonymous_1693_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'hide', u'exports', u'module']) + var.put(u'hide', var.get(u'require')(Js(u'./_hide'))) + @Js + def PyJs_anonymous_1694_(target, src, safe, this, arguments, var=var): + var = Scope({u'this':this, u'src':src, u'safe':safe, u'target':target, u'arguments':arguments}, var) + var.registers([u'src', u'safe', u'target', u'key']) + for PyJsTemp in var.get(u'src'): + var.put(u'key', PyJsTemp) + if (var.get(u'safe') and var.get(u'target').get(var.get(u'key'))): + var.get(u'target').put(var.get(u'key'), var.get(u'src').get(var.get(u'key'))) + else: + var.get(u'hide')(var.get(u'target'), var.get(u'key'), var.get(u'src').get(var.get(u'key'))) + return var.get(u'target') + PyJs_anonymous_1694_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1694_) +PyJs_anonymous_1693_._set_name(u'anonymous') +PyJs_Object_1695_ = Js({u'./_hide':Js(156.0)}) +@Js +def PyJs_anonymous_1696_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./_hide'))) +PyJs_anonymous_1696_._set_name(u'anonymous') +PyJs_Object_1697_ = Js({u'./_hide':Js(156.0)}) +@Js +def PyJs_anonymous_1698_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'module', u'check', u'anObject', u'isObject']) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + @Js + def PyJs_anonymous_1699_(O, proto, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'O':O, u'proto':proto}, var) + var.registers([u'O', u'proto']) + var.get(u'anObject')(var.get(u'O')) + if (var.get(u'isObject')(var.get(u'proto')).neg() and PyJsStrictNeq(var.get(u'proto'),var.get(u"null"))): + PyJsTempException = JsToPyException(var.get(u'TypeError')((var.get(u'proto')+Js(u": can't set as prototype!")))) + raise PyJsTempException + PyJs_anonymous_1699_._set_name(u'anonymous') + var.put(u'check', PyJs_anonymous_1699_) + PyJs_Object_1701_ = Js({}) + @Js + def PyJs_anonymous_1702_(test, buggy, set, this, arguments, var=var): + var = Scope({u'test':test, u'this':this, u'buggy':buggy, u'set':set, u'arguments':arguments}, var) + var.registers([u'test', u'buggy', u'set']) + try: + var.put(u'set', var.get(u'require')(Js(u'./_ctx'))(var.get(u'Function').get(u'call'), var.get(u'require')(Js(u'./_object-gopd')).callprop(u'f', var.get(u'Object').get(u'prototype'), Js(u'__proto__')).get(u'set'), Js(2.0))) + var.get(u'set')(var.get(u'test'), Js([])) + var.put(u'buggy', var.get(u'test').instanceof(var.get(u'Array')).neg()) + except PyJsException as PyJsTempException: + PyJsHolder_65_30361003 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + var.put(u'buggy', var.get(u'true')) + finally: + if PyJsHolder_65_30361003 is not None: + var.own[u'e'] = PyJsHolder_65_30361003 + else: + del var.own[u'e'] + del PyJsHolder_65_30361003 + @Js + def PyJs_setPrototypeOf_1703_(O, proto, this, arguments, var=var): + var = Scope({u'this':this, u'setPrototypeOf':PyJs_setPrototypeOf_1703_, u'arguments':arguments, u'O':O, u'proto':proto}, var) + var.registers([u'O', u'proto']) + var.get(u'check')(var.get(u'O'), var.get(u'proto')) + if var.get(u'buggy'): + var.get(u'O').put(u'__proto__', var.get(u'proto')) + else: + var.get(u'set')(var.get(u'O'), var.get(u'proto')) + return var.get(u'O') + PyJs_setPrototypeOf_1703_._set_name(u'setPrototypeOf') + return PyJs_setPrototypeOf_1703_ + PyJs_anonymous_1702_._set_name(u'anonymous') + PyJs_Object_1704_ = Js({}) + PyJs_Object_1700_ = Js({u'set':(var.get(u'Object').get(u'setPrototypeOf') or (PyJs_anonymous_1702_(PyJs_Object_1701_, Js(False)) if PyJs_Object_1704_.contains(Js(u'__proto__')) else var.get(u'undefined'))),u'check':var.get(u'check')}) + var.get(u'module').put(u'exports', PyJs_Object_1700_) +PyJs_anonymous_1698_._set_name(u'anonymous') +PyJs_Object_1705_ = Js({u'./_an-object':Js(132.0),u'./_ctx':Js(145.0),u'./_is-object':Js(162.0),u'./_object-gopd':Js(175.0)}) +@Js +def PyJs_anonymous_1706_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'core', u'exports', u'DESCRIPTORS', u'require', u'global', u'module', u'SPECIES', u'dP']) + Js(u'use strict') + var.put(u'global', var.get(u'require')(Js(u'./_global'))) + var.put(u'core', var.get(u'require')(Js(u'./_core'))) + var.put(u'dP', var.get(u'require')(Js(u'./_object-dp'))) + var.put(u'DESCRIPTORS', var.get(u'require')(Js(u'./_descriptors'))) + var.put(u'SPECIES', var.get(u'require')(Js(u'./_wks'))(Js(u'species'))) + @Js + def PyJs_anonymous_1707_(KEY, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'KEY':KEY}, var) + var.registers([u'C', u'KEY']) + var.put(u'C', (var.get(u'core').get(var.get(u'KEY')) if (var.get(u'core').get(var.get(u'KEY')).typeof()==Js(u'function')) else var.get(u'global').get(var.get(u'KEY')))) + if ((var.get(u'DESCRIPTORS') and var.get(u'C')) and var.get(u'C').get(var.get(u'SPECIES')).neg()): + @Js + def PyJs_anonymous_1709_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this") + PyJs_anonymous_1709_._set_name(u'anonymous') + PyJs_Object_1708_ = Js({u'configurable':var.get(u'true'),u'get':PyJs_anonymous_1709_}) + var.get(u'dP').callprop(u'f', var.get(u'C'), var.get(u'SPECIES'), PyJs_Object_1708_) + PyJs_anonymous_1707_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1707_) +PyJs_anonymous_1706_._set_name(u'anonymous') +PyJs_Object_1710_ = Js({u'./_core':Js(144.0),u'./_descriptors':Js(147.0),u'./_global':Js(154.0),u'./_object-dp':Js(173.0),u'./_wks':Js(202.0)}) +@Js +def PyJs_anonymous_1711_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'module', u'TAG', u'has', u'def']) + var.put(u'def', var.get(u'require')(Js(u'./_object-dp')).get(u'f')) + var.put(u'has', var.get(u'require')(Js(u'./_has'))) + var.put(u'TAG', var.get(u'require')(Js(u'./_wks'))(Js(u'toStringTag'))) + @Js + def PyJs_anonymous_1712_(it, tag, stat, this, arguments, var=var): + var = Scope({u'this':this, u'stat':stat, u'tag':tag, u'it':it, u'arguments':arguments}, var) + var.registers([u'stat', u'tag', u'it']) + if (var.get(u'it') and var.get(u'has')(var.put(u'it', (var.get(u'it') if var.get(u'stat') else var.get(u'it').get(u'prototype'))), var.get(u'TAG')).neg()): + PyJs_Object_1713_ = Js({u'configurable':var.get(u'true'),u'value':var.get(u'tag')}) + var.get(u'def')(var.get(u'it'), var.get(u'TAG'), PyJs_Object_1713_) + PyJs_anonymous_1712_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1712_) +PyJs_anonymous_1711_._set_name(u'anonymous') +PyJs_Object_1714_ = Js({u'./_has':Js(155.0),u'./_object-dp':Js(173.0),u'./_wks':Js(202.0)}) +@Js +def PyJs_anonymous_1715_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'shared', u'require', u'exports', u'uid', u'module']) + var.put(u'shared', var.get(u'require')(Js(u'./_shared'))(Js(u'keys'))) + var.put(u'uid', var.get(u'require')(Js(u'./_uid'))) + @Js + def PyJs_anonymous_1716_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'key']) + return (var.get(u'shared').get(var.get(u'key')) or var.get(u'shared').put(var.get(u'key'), var.get(u'uid')(var.get(u'key')))) + PyJs_anonymous_1716_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1716_) +PyJs_anonymous_1715_._set_name(u'anonymous') +PyJs_Object_1717_ = Js({u'./_shared':Js(191.0),u'./_uid':Js(199.0)}) +@Js +def PyJs_anonymous_1718_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'global', u'module', u'SHARED', u'store']) + var.put(u'global', var.get(u'require')(Js(u'./_global'))) + var.put(u'SHARED', Js(u'__core-js_shared__')) + PyJs_Object_1719_ = Js({}) + var.put(u'store', (var.get(u'global').get(var.get(u'SHARED')) or var.get(u'global').put(var.get(u'SHARED'), PyJs_Object_1719_))) + @Js + def PyJs_anonymous_1720_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'key']) + PyJs_Object_1721_ = Js({}) + return (var.get(u'store').get(var.get(u'key')) or var.get(u'store').put(var.get(u'key'), PyJs_Object_1721_)) + PyJs_anonymous_1720_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1720_) +PyJs_anonymous_1718_._set_name(u'anonymous') +PyJs_Object_1722_ = Js({u'./_global':Js(154.0)}) +@Js +def PyJs_anonymous_1723_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'defined', u'toInteger', u'exports', u'require', u'module']) + var.put(u'toInteger', var.get(u'require')(Js(u'./_to-integer'))) + var.put(u'defined', var.get(u'require')(Js(u'./_defined'))) + @Js + def PyJs_anonymous_1724_(TO_STRING, this, arguments, var=var): + var = Scope({u'TO_STRING':TO_STRING, u'this':this, u'arguments':arguments}, var) + var.registers([u'TO_STRING']) + @Js + def PyJs_anonymous_1725_(that, pos, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'pos':pos, u'that':that}, var) + var.registers([u'a', u'b', u'that', u'i', u'l', u'pos', u's']) + var.put(u's', var.get(u'String')(var.get(u'defined')(var.get(u'that')))) + var.put(u'i', var.get(u'toInteger')(var.get(u'pos'))) + var.put(u'l', var.get(u's').get(u'length')) + if ((var.get(u'i')=var.get(u'l'))): + return (Js(u'') if var.get(u'TO_STRING') else var.get(u'undefined')) + var.put(u'a', var.get(u's').callprop(u'charCodeAt', var.get(u'i'))) + def PyJs_LONG_1726_(var=var): + return ((var.get(u's').callprop(u'charAt', var.get(u'i')) if var.get(u'TO_STRING') else var.get(u'a')) if (((((var.get(u'a')Js(56319))) or PyJsStrictEq((var.get(u'i')+Js(1.0)),var.get(u'l'))) or (var.put(u'b', var.get(u's').callprop(u'charCodeAt', (var.get(u'i')+Js(1.0))))Js(57343))) else (var.get(u's').callprop(u'slice', var.get(u'i'), (var.get(u'i')+Js(2.0))) if var.get(u'TO_STRING') else ((((var.get(u'a')-Js(55296))<Js(0.0)) else var.get(u'ceil'))(var.get(u'it'))) + PyJs_anonymous_1732_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1732_) +PyJs_anonymous_1731_._set_name(u'anonymous') +PyJs_Object_1733_ = Js({}) +@Js +def PyJs_anonymous_1734_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'defined', u'require', u'exports', u'module', u'IObject']) + var.put(u'IObject', var.get(u'require')(Js(u'./_iobject'))) + var.put(u'defined', var.get(u'require')(Js(u'./_defined'))) + @Js + def PyJs_anonymous_1735_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return var.get(u'IObject')(var.get(u'defined')(var.get(u'it'))) + PyJs_anonymous_1735_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1735_) +PyJs_anonymous_1734_._set_name(u'anonymous') +PyJs_Object_1736_ = Js({u'./_defined':Js(146.0),u'./_iobject':Js(159.0)}) +@Js +def PyJs_anonymous_1737_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'toInteger', u'exports', u'require', u'module', u'min']) + var.put(u'toInteger', var.get(u'require')(Js(u'./_to-integer'))) + var.put(u'min', var.get(u'Math').get(u'min')) + @Js + def PyJs_anonymous_1738_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return (var.get(u'min')(var.get(u'toInteger')(var.get(u'it')), Js(9007199254740991)) if (var.get(u'it')>Js(0.0)) else Js(0.0)) + PyJs_anonymous_1738_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1738_) +PyJs_anonymous_1737_._set_name(u'anonymous') +PyJs_Object_1739_ = Js({u'./_to-integer':Js(194.0)}) +@Js +def PyJs_anonymous_1740_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'defined', u'require', u'exports', u'module']) + var.put(u'defined', var.get(u'require')(Js(u'./_defined'))) + @Js + def PyJs_anonymous_1741_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return var.get(u'Object')(var.get(u'defined')(var.get(u'it'))) + PyJs_anonymous_1741_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1741_) +PyJs_anonymous_1740_._set_name(u'anonymous') +PyJs_Object_1742_ = Js({u'./_defined':Js(146.0)}) +@Js +def PyJs_anonymous_1743_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'isObject', u'module']) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + @Js + def PyJs_anonymous_1744_(it, S, this, arguments, var=var): + var = Scope({u'this':this, u'S':S, u'it':it, u'arguments':arguments}, var) + var.registers([u'S', u'val', u'fn', u'it']) + if var.get(u'isObject')(var.get(u'it')).neg(): + return var.get(u'it') + pass + if ((var.get(u'S') and (var.put(u'fn', var.get(u'it').get(u'toString')).typeof()==Js(u'function'))) and var.get(u'isObject')(var.put(u'val', var.get(u'fn').callprop(u'call', var.get(u'it')))).neg()): + return var.get(u'val') + if ((var.put(u'fn', var.get(u'it').get(u'valueOf')).typeof()==Js(u'function')) and var.get(u'isObject')(var.put(u'val', var.get(u'fn').callprop(u'call', var.get(u'it')))).neg()): + return var.get(u'val') + if ((var.get(u'S').neg() and (var.put(u'fn', var.get(u'it').get(u'toString')).typeof()==Js(u'function'))) and var.get(u'isObject')(var.put(u'val', var.get(u'fn').callprop(u'call', var.get(u'it')))).neg()): + return var.get(u'val') + PyJsTempException = JsToPyException(var.get(u'TypeError')(Js(u"Can't convert object to primitive value"))) + raise PyJsTempException + PyJs_anonymous_1744_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1744_) +PyJs_anonymous_1743_._set_name(u'anonymous') +PyJs_Object_1745_ = Js({u'./_is-object':Js(162.0)}) +@Js +def PyJs_anonymous_1746_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'px', u'require', u'id', u'module']) + var.put(u'id', Js(0.0)) + var.put(u'px', var.get(u'Math').callprop(u'random')) + @Js + def PyJs_anonymous_1747_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'key']) + return Js(u'Symbol(').callprop(u'concat', (Js(u'') if PyJsStrictEq(var.get(u'key'),var.get(u'undefined')) else var.get(u'key')), Js(u')_'), (var.put(u'id',Js(var.get(u'id').to_number())+Js(1))+var.get(u'px')).callprop(u'toString', Js(36.0))) + PyJs_anonymous_1747_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1747_) +PyJs_anonymous_1746_._set_name(u'anonymous') +PyJs_Object_1748_ = Js({}) +@Js +def PyJs_anonymous_1749_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'core', u'exports', u'wksExt', u'require', u'global', u'LIBRARY', u'module', u'defineProperty']) + var.put(u'global', var.get(u'require')(Js(u'./_global'))) + var.put(u'core', var.get(u'require')(Js(u'./_core'))) + var.put(u'LIBRARY', var.get(u'require')(Js(u'./_library'))) + var.put(u'wksExt', var.get(u'require')(Js(u'./_wks-ext'))) + var.put(u'defineProperty', var.get(u'require')(Js(u'./_object-dp')).get(u'f')) + @Js + def PyJs_anonymous_1750_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'name', u'$Symbol']) + PyJs_Object_1751_ = Js({}) + PyJs_Object_1752_ = Js({}) + var.put(u'$Symbol', (var.get(u'core').get(u'Symbol') or var.get(u'core').put(u'Symbol', (PyJs_Object_1751_ if var.get(u'LIBRARY') else (var.get(u'global').get(u'Symbol') or PyJs_Object_1752_))))) + if ((var.get(u'name').callprop(u'charAt', Js(0.0))!=Js(u'_')) and var.get(u'$Symbol').contains(var.get(u'name')).neg()): + PyJs_Object_1753_ = Js({u'value':var.get(u'wksExt').callprop(u'f', var.get(u'name'))}) + var.get(u'defineProperty')(var.get(u'$Symbol'), var.get(u'name'), PyJs_Object_1753_) + PyJs_anonymous_1750_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1750_) +PyJs_anonymous_1749_._set_name(u'anonymous') +PyJs_Object_1754_ = Js({u'./_core':Js(144.0),u'./_global':Js(154.0),u'./_library':Js(169.0),u'./_object-dp':Js(173.0),u'./_wks-ext':Js(201.0)}) +@Js +def PyJs_anonymous_1755_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'exports').put(u'f', var.get(u'require')(Js(u'./_wks'))) +PyJs_anonymous_1755_._set_name(u'anonymous') +PyJs_Object_1756_ = Js({u'./_wks':Js(202.0)}) +@Js +def PyJs_anonymous_1757_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'uid', u'Symbol', u'module', u'$exports', u'require', u'store', u'USE_SYMBOL']) + var.put(u'store', var.get(u'require')(Js(u'./_shared'))(Js(u'wks'))) + var.put(u'uid', var.get(u'require')(Js(u'./_uid'))) + var.put(u'Symbol', var.get(u'require')(Js(u'./_global')).get(u'Symbol')) + var.put(u'USE_SYMBOL', (var.get(u'Symbol',throw=False).typeof()==Js(u'function'))) + @Js + def PyJs_anonymous_1758_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + return (var.get(u'store').get(var.get(u'name')) or var.get(u'store').put(var.get(u'name'), ((var.get(u'USE_SYMBOL') and var.get(u'Symbol').get(var.get(u'name'))) or (var.get(u'Symbol') if var.get(u'USE_SYMBOL') else var.get(u'uid'))((Js(u'Symbol.')+var.get(u'name')))))) + PyJs_anonymous_1758_._set_name(u'anonymous') + var.put(u'$exports', var.get(u'module').put(u'exports', PyJs_anonymous_1758_)) + var.get(u'$exports').put(u'store', var.get(u'store')) +PyJs_anonymous_1757_._set_name(u'anonymous') +PyJs_Object_1759_ = Js({u'./_global':Js(154.0),u'./_shared':Js(191.0),u'./_uid':Js(199.0)}) +@Js +def PyJs_anonymous_1760_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'ITERATOR', u'require', u'module', u'Iterators', u'classof']) + var.put(u'classof', var.get(u'require')(Js(u'./_classof'))) + var.put(u'ITERATOR', var.get(u'require')(Js(u'./_wks'))(Js(u'iterator'))) + var.put(u'Iterators', var.get(u'require')(Js(u'./_iterators'))) + @Js + def PyJs_anonymous_1761_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + if (var.get(u'it')!=var.get(u'undefined')): + return ((var.get(u'it').get(var.get(u'ITERATOR')) or var.get(u'it').get(u'@@iterator')) or var.get(u'Iterators').get(var.get(u'classof')(var.get(u'it')))) + PyJs_anonymous_1761_._set_name(u'anonymous') + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./_core')).put(u'getIteratorMethod', PyJs_anonymous_1761_)) +PyJs_anonymous_1760_._set_name(u'anonymous') +PyJs_Object_1762_ = Js({u'./_classof':Js(138.0),u'./_core':Js(144.0),u'./_iterators':Js(167.0),u'./_wks':Js(202.0)}) +@Js +def PyJs_anonymous_1763_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'anObject', u'exports', u'module', u'get']) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + var.put(u'get', var.get(u'require')(Js(u'./core.get-iterator-method'))) + @Js + def PyJs_anonymous_1764_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'iterFn', u'it']) + var.put(u'iterFn', var.get(u'get')(var.get(u'it'))) + if (var.get(u'iterFn',throw=False).typeof()!=Js(u'function')): + PyJsTempException = JsToPyException(var.get(u'TypeError')((var.get(u'it')+Js(u' is not iterable!')))) + raise PyJsTempException + return var.get(u'anObject')(var.get(u'iterFn').callprop(u'call', var.get(u'it'))) + PyJs_anonymous_1764_._set_name(u'anonymous') + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./_core')).put(u'getIterator', PyJs_anonymous_1764_)) +PyJs_anonymous_1763_._set_name(u'anonymous') +PyJs_Object_1765_ = Js({u'./_an-object':Js(132.0),u'./_core':Js(144.0),u'./core.get-iterator-method':Js(203.0)}) +@Js +def PyJs_anonymous_1766_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'module', u'addToUnscopables', u'Iterators', u'step', u'toIObject']) + Js(u'use strict') + var.put(u'addToUnscopables', var.get(u'require')(Js(u'./_add-to-unscopables'))) + var.put(u'step', var.get(u'require')(Js(u'./_iter-step'))) + var.put(u'Iterators', var.get(u'require')(Js(u'./_iterators'))) + var.put(u'toIObject', var.get(u'require')(Js(u'./_to-iobject'))) + @Js + def PyJs_anonymous_1767_(iterated, kind, this, arguments, var=var): + var = Scope({u'this':this, u'kind':kind, u'arguments':arguments, u'iterated':iterated}, var) + var.registers([u'kind', u'iterated']) + var.get(u"this").put(u'_t', var.get(u'toIObject')(var.get(u'iterated'))) + var.get(u"this").put(u'_i', Js(0.0)) + var.get(u"this").put(u'_k', var.get(u'kind')) + PyJs_anonymous_1767_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1768_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'index', u'kind', u'O']) + var.put(u'O', var.get(u"this").get(u'_t')) + var.put(u'kind', var.get(u"this").get(u'_k')) + var.put(u'index', (var.get(u"this").put(u'_i',Js(var.get(u"this").get(u'_i').to_number())+Js(1))-Js(1))) + if (var.get(u'O').neg() or (var.get(u'index')>=var.get(u'O').get(u'length'))): + var.get(u"this").put(u'_t', var.get(u'undefined')) + return var.get(u'step')(Js(1.0)) + if (var.get(u'kind')==Js(u'keys')): + return var.get(u'step')(Js(0.0), var.get(u'index')) + if (var.get(u'kind')==Js(u'values')): + return var.get(u'step')(Js(0.0), var.get(u'O').get(var.get(u'index'))) + return var.get(u'step')(Js(0.0), Js([var.get(u'index'), var.get(u'O').get(var.get(u'index'))])) + PyJs_anonymous_1768_._set_name(u'anonymous') + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./_iter-define'))(var.get(u'Array'), Js(u'Array'), PyJs_anonymous_1767_, PyJs_anonymous_1768_, Js(u'values'))) + var.get(u'Iterators').put(u'Arguments', var.get(u'Iterators').get(u'Array')) + var.get(u'addToUnscopables')(Js(u'keys')) + var.get(u'addToUnscopables')(Js(u'values')) + var.get(u'addToUnscopables')(Js(u'entries')) +PyJs_anonymous_1766_._set_name(u'anonymous') +PyJs_Object_1769_ = Js({u'./_add-to-unscopables':Js(130.0),u'./_iter-define':Js(165.0),u'./_iter-step':Js(166.0),u'./_iterators':Js(167.0),u'./_to-iobject':Js(195.0)}) +@Js +def PyJs_anonymous_1770_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'strong', u'exports', u'module']) + Js(u'use strict') + var.put(u'strong', var.get(u'require')(Js(u'./_collection-strong'))) + @Js + def PyJs_anonymous_1771_(get, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':get}, var) + var.registers([u'get']) + @Js + def PyJs_Map_1772_(this, arguments, var=var): + var = Scope({u'this':this, u'Map':PyJs_Map_1772_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'get')(var.get(u"this"), (var.get(u'arguments').get(u'0') if (var.get(u'arguments').get(u'length')>Js(0.0)) else var.get(u'undefined'))) + PyJs_Map_1772_._set_name(u'Map') + return PyJs_Map_1772_ + PyJs_anonymous_1771_._set_name(u'anonymous') + @Js + def PyJs_get_1774_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key, u'get':PyJs_get_1774_}, var) + var.registers([u'entry', u'key']) + var.put(u'entry', var.get(u'strong').callprop(u'getEntry', var.get(u"this"), var.get(u'key'))) + return (var.get(u'entry') and var.get(u'entry').get(u'v')) + PyJs_get_1774_._set_name(u'get') + @Js + def PyJs_set_1775_(key, value, this, arguments, var=var): + var = Scope({u'this':this, u'set':PyJs_set_1775_, u'value':value, u'key':key, u'arguments':arguments}, var) + var.registers([u'value', u'key']) + return var.get(u'strong').callprop(u'def', var.get(u"this"), (Js(0.0) if PyJsStrictEq(var.get(u'key'),Js(0.0)) else var.get(u'key')), var.get(u'value')) + PyJs_set_1775_._set_name(u'set') + PyJs_Object_1773_ = Js({u'get':PyJs_get_1774_,u'set':PyJs_set_1775_}) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./_collection'))(Js(u'Map'), PyJs_anonymous_1771_, PyJs_Object_1773_, var.get(u'strong'), var.get(u'true'))) +PyJs_anonymous_1770_._set_name(u'anonymous') +PyJs_Object_1776_ = Js({u'./_collection':Js(143.0),u'./_collection-strong':Js(140.0)}) +@Js +def PyJs_anonymous_1777_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'$export', u'require', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + PyJs_Object_1778_ = Js({u'MAX_SAFE_INTEGER':Js(9007199254740991)}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Number'), PyJs_Object_1778_) +PyJs_anonymous_1777_._set_name(u'anonymous') +PyJs_Object_1779_ = Js({u'./_export':Js(151.0)}) +@Js +def PyJs_anonymous_1780_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'$export', u'require', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + PyJs_Object_1781_ = Js({u'assign':var.get(u'require')(Js(u'./_object-assign'))}) + var.get(u'$export')((var.get(u'$export').get(u'S')+var.get(u'$export').get(u'F')), Js(u'Object'), PyJs_Object_1781_) +PyJs_anonymous_1780_._set_name(u'anonymous') +PyJs_Object_1782_ = Js({u'./_export':Js(151.0),u'./_object-assign':Js(171.0)}) +@Js +def PyJs_anonymous_1783_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'$export', u'require', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + PyJs_Object_1784_ = Js({u'create':var.get(u'require')(Js(u'./_object-create'))}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Object'), PyJs_Object_1784_) +PyJs_anonymous_1783_._set_name(u'anonymous') +PyJs_Object_1785_ = Js({u'./_export':Js(151.0),u'./_object-create':Js(172.0)}) +@Js +def PyJs_anonymous_1786_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'toObject', u'require', u'$keys', u'module']) + var.put(u'toObject', var.get(u'require')(Js(u'./_to-object'))) + var.put(u'$keys', var.get(u'require')(Js(u'./_object-keys'))) + @Js + def PyJs_anonymous_1787_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_keys_1788_(it, this, arguments, var=var): + var = Scope({u'this':this, u'keys':PyJs_keys_1788_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return var.get(u'$keys')(var.get(u'toObject')(var.get(u'it'))) + PyJs_keys_1788_._set_name(u'keys') + return PyJs_keys_1788_ + PyJs_anonymous_1787_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_object-sap'))(Js(u'keys'), PyJs_anonymous_1787_) +PyJs_anonymous_1786_._set_name(u'anonymous') +PyJs_Object_1789_ = Js({u'./_object-keys':Js(181.0),u'./_object-sap':Js(183.0),u'./_to-object':Js(197.0)}) +@Js +def PyJs_anonymous_1790_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'$export', u'require', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + PyJs_Object_1791_ = Js({u'setPrototypeOf':var.get(u'require')(Js(u'./_set-proto')).get(u'set')}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Object'), PyJs_Object_1791_) +PyJs_anonymous_1790_._set_name(u'anonymous') +PyJs_Object_1792_ = Js({u'./_export':Js(151.0),u'./_set-proto':Js(187.0)}) +@Js +def PyJs_anonymous_1793_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + pass +PyJs_anonymous_1793_._set_name(u'anonymous') +PyJs_Object_1794_ = Js({}) +@Js +def PyJs_anonymous_1795_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'$at', u'require', u'exports', u'module']) + Js(u'use strict') + var.put(u'$at', var.get(u'require')(Js(u'./_string-at'))(var.get(u'true'))) + @Js + def PyJs_anonymous_1796_(iterated, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'iterated':iterated}, var) + var.registers([u'iterated']) + var.get(u"this").put(u'_t', var.get(u'String')(var.get(u'iterated'))) + var.get(u"this").put(u'_i', Js(0.0)) + PyJs_anonymous_1796_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1797_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'index', u'O', u'point']) + var.put(u'O', var.get(u"this").get(u'_t')) + var.put(u'index', var.get(u"this").get(u'_i')) + if (var.get(u'index')>=var.get(u'O').get(u'length')): + PyJs_Object_1798_ = Js({u'value':var.get(u'undefined'),u'done':var.get(u'true')}) + return PyJs_Object_1798_ + var.put(u'point', var.get(u'$at')(var.get(u'O'), var.get(u'index'))) + var.get(u"this").put(u'_i', var.get(u'point').get(u'length'), u'+') + PyJs_Object_1799_ = Js({u'value':var.get(u'point'),u'done':Js(False)}) + return PyJs_Object_1799_ + PyJs_anonymous_1797_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_iter-define'))(var.get(u'String'), Js(u'String'), PyJs_anonymous_1796_, PyJs_anonymous_1797_) +PyJs_anonymous_1795_._set_name(u'anonymous') +PyJs_Object_1800_ = Js({u'./_iter-define':Js(165.0),u'./_string-at':Js(192.0)}) +@Js +def PyJs_anonymous_1801_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_create', u'redefine', u'uid', u'setter', u'global', u'$keys', u'$create', u'$JSON', u'$getOwnPropertySymbols', u'META', u'toIObject', u'$defineProperty', u'wrap', u'wks', u'PROTOTYPE', u'$propertyIsEnumerable', u'ObjectProto', u'OPSymbols', u'$export', u'gOPNExt', u'$DP', u'toPrimitive', u'$GOPD', u'gOPN', u'isEnum', u'keyOf', u'shared', u'gOPD', u'has', u'isArray', u'exports', u'wksExt', u'$fails', u'TO_PRIMITIVE', u'setToStringTag', u'enumKeys', u'SymbolRegistry', u'$defineProperties', u'anObject', u'module', u'$getOwnPropertyDescriptor', u'AllSymbols', u'USE_NATIVE', u'symbols', u'setSymbolDesc', u'i', u'DESCRIPTORS', u'require', u'$getOwnPropertyNames', u'$Symbol', u'_stringify', u'wksDefine', u'HIDDEN', u'isSymbol', u'createDesc', u'dP', u'QObject']) + Js(u'use strict') + var.put(u'global', var.get(u'require')(Js(u'./_global'))) + var.put(u'has', var.get(u'require')(Js(u'./_has'))) + var.put(u'DESCRIPTORS', var.get(u'require')(Js(u'./_descriptors'))) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'redefine', var.get(u'require')(Js(u'./_redefine'))) + var.put(u'META', var.get(u'require')(Js(u'./_meta')).get(u'KEY')) + var.put(u'$fails', var.get(u'require')(Js(u'./_fails'))) + var.put(u'shared', var.get(u'require')(Js(u'./_shared'))) + var.put(u'setToStringTag', var.get(u'require')(Js(u'./_set-to-string-tag'))) + var.put(u'uid', var.get(u'require')(Js(u'./_uid'))) + var.put(u'wks', var.get(u'require')(Js(u'./_wks'))) + var.put(u'wksExt', var.get(u'require')(Js(u'./_wks-ext'))) + var.put(u'wksDefine', var.get(u'require')(Js(u'./_wks-define'))) + var.put(u'keyOf', var.get(u'require')(Js(u'./_keyof'))) + var.put(u'enumKeys', var.get(u'require')(Js(u'./_enum-keys'))) + var.put(u'isArray', var.get(u'require')(Js(u'./_is-array'))) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + var.put(u'toIObject', var.get(u'require')(Js(u'./_to-iobject'))) + var.put(u'toPrimitive', var.get(u'require')(Js(u'./_to-primitive'))) + var.put(u'createDesc', var.get(u'require')(Js(u'./_property-desc'))) + var.put(u'_create', var.get(u'require')(Js(u'./_object-create'))) + var.put(u'gOPNExt', var.get(u'require')(Js(u'./_object-gopn-ext'))) + var.put(u'$GOPD', var.get(u'require')(Js(u'./_object-gopd'))) + var.put(u'$DP', var.get(u'require')(Js(u'./_object-dp'))) + var.put(u'$keys', var.get(u'require')(Js(u'./_object-keys'))) + var.put(u'gOPD', var.get(u'$GOPD').get(u'f')) + var.put(u'dP', var.get(u'$DP').get(u'f')) + var.put(u'gOPN', var.get(u'gOPNExt').get(u'f')) + var.put(u'$Symbol', var.get(u'global').get(u'Symbol')) + var.put(u'$JSON', var.get(u'global').get(u'JSON')) + var.put(u'_stringify', (var.get(u'$JSON') and var.get(u'$JSON').get(u'stringify'))) + var.put(u'PROTOTYPE', Js(u'prototype')) + var.put(u'HIDDEN', var.get(u'wks')(Js(u'_hidden'))) + var.put(u'TO_PRIMITIVE', var.get(u'wks')(Js(u'toPrimitive'))) + PyJs_Object_1802_ = Js({}) + var.put(u'isEnum', PyJs_Object_1802_.get(u'propertyIsEnumerable')) + var.put(u'SymbolRegistry', var.get(u'shared')(Js(u'symbol-registry'))) + var.put(u'AllSymbols', var.get(u'shared')(Js(u'symbols'))) + var.put(u'OPSymbols', var.get(u'shared')(Js(u'op-symbols'))) + var.put(u'ObjectProto', var.get(u'Object').get(var.get(u'PROTOTYPE'))) + var.put(u'USE_NATIVE', (var.get(u'$Symbol',throw=False).typeof()==Js(u'function'))) + var.put(u'QObject', var.get(u'global').get(u'QObject')) + var.put(u'setter', ((var.get(u'QObject').neg() or var.get(u'QObject').get(var.get(u'PROTOTYPE')).neg()) or var.get(u'QObject').get(var.get(u'PROTOTYPE')).get(u'findChild').neg())) + @Js + def PyJs_anonymous_1803_(it, key, D, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'it':it, u'key':key, u'D':D}, var) + var.registers([u'protoDesc', u'it', u'key', u'D']) + var.put(u'protoDesc', var.get(u'gOPD')(var.get(u'ObjectProto'), var.get(u'key'))) + if var.get(u'protoDesc'): + var.get(u'ObjectProto').delete(var.get(u'key')) + var.get(u'dP')(var.get(u'it'), var.get(u'key'), var.get(u'D')) + if (var.get(u'protoDesc') and PyJsStrictNeq(var.get(u'it'),var.get(u'ObjectProto'))): + var.get(u'dP')(var.get(u'ObjectProto'), var.get(u'key'), var.get(u'protoDesc')) + PyJs_anonymous_1803_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1804_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_1805_ = Js({}) + @Js + def PyJs_anonymous_1807_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_1808_ = Js({u'value':Js(7.0)}) + return var.get(u'dP')(var.get(u"this"), Js(u'a'), PyJs_Object_1808_).get(u'a') + PyJs_anonymous_1807_._set_name(u'anonymous') + PyJs_Object_1806_ = Js({u'get':PyJs_anonymous_1807_}) + return (var.get(u'_create')(var.get(u'dP')(PyJs_Object_1805_, Js(u'a'), PyJs_Object_1806_)).get(u'a')!=Js(7.0)) + PyJs_anonymous_1804_._set_name(u'anonymous') + var.put(u'setSymbolDesc', (PyJs_anonymous_1803_ if (var.get(u'DESCRIPTORS') and var.get(u'$fails')(PyJs_anonymous_1804_)) else var.get(u'dP'))) + @Js + def PyJs_anonymous_1809_(tag, this, arguments, var=var): + var = Scope({u'this':this, u'tag':tag, u'arguments':arguments}, var) + var.registers([u'tag', u'sym']) + var.put(u'sym', var.get(u'AllSymbols').put(var.get(u'tag'), var.get(u'_create')(var.get(u'$Symbol').get(var.get(u'PROTOTYPE'))))) + var.get(u'sym').put(u'_k', var.get(u'tag')) + return var.get(u'sym') + PyJs_anonymous_1809_._set_name(u'anonymous') + var.put(u'wrap', PyJs_anonymous_1809_) + @Js + def PyJs_anonymous_1810_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return (var.get(u'it',throw=False).typeof()==Js(u'symbol')) + PyJs_anonymous_1810_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1811_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return var.get(u'it').instanceof(var.get(u'$Symbol')) + PyJs_anonymous_1811_._set_name(u'anonymous') + var.put(u'isSymbol', (PyJs_anonymous_1810_ if (var.get(u'USE_NATIVE') and (var.get(u'$Symbol').get(u'iterator').typeof()==Js(u'symbol'))) else PyJs_anonymous_1811_)) + @Js + def PyJs_defineProperty_1812_(it, key, D, this, arguments, var=var): + var = Scope({u'D':D, u'this':this, u'it':it, u'arguments':arguments, u'key':key, u'defineProperty':PyJs_defineProperty_1812_}, var) + var.registers([u'it', u'key', u'D']) + if PyJsStrictEq(var.get(u'it'),var.get(u'ObjectProto')): + var.get(u'$defineProperty')(var.get(u'OPSymbols'), var.get(u'key'), var.get(u'D')) + var.get(u'anObject')(var.get(u'it')) + var.put(u'key', var.get(u'toPrimitive')(var.get(u'key'), var.get(u'true'))) + var.get(u'anObject')(var.get(u'D')) + if var.get(u'has')(var.get(u'AllSymbols'), var.get(u'key')): + if var.get(u'D').get(u'enumerable').neg(): + if var.get(u'has')(var.get(u'it'), var.get(u'HIDDEN')).neg(): + PyJs_Object_1813_ = Js({}) + var.get(u'dP')(var.get(u'it'), var.get(u'HIDDEN'), var.get(u'createDesc')(Js(1.0), PyJs_Object_1813_)) + var.get(u'it').get(var.get(u'HIDDEN')).put(var.get(u'key'), var.get(u'true')) + else: + if (var.get(u'has')(var.get(u'it'), var.get(u'HIDDEN')) and var.get(u'it').get(var.get(u'HIDDEN')).get(var.get(u'key'))): + var.get(u'it').get(var.get(u'HIDDEN')).put(var.get(u'key'), Js(False)) + PyJs_Object_1814_ = Js({u'enumerable':var.get(u'createDesc')(Js(0.0), Js(False))}) + var.put(u'D', var.get(u'_create')(var.get(u'D'), PyJs_Object_1814_)) + return var.get(u'setSymbolDesc')(var.get(u'it'), var.get(u'key'), var.get(u'D')) + return var.get(u'dP')(var.get(u'it'), var.get(u'key'), var.get(u'D')) + PyJs_defineProperty_1812_._set_name(u'defineProperty') + var.put(u'$defineProperty', PyJs_defineProperty_1812_) + @Js + def PyJs_defineProperties_1815_(it, P, this, arguments, var=var): + var = Scope({u'this':this, u'P':P, u'it':it, u'defineProperties':PyJs_defineProperties_1815_, u'arguments':arguments}, var) + var.registers([u'P', u'keys', u'l', u'it', u'i', u'key']) + var.get(u'anObject')(var.get(u'it')) + var.put(u'keys', var.get(u'enumKeys')(var.put(u'P', var.get(u'toIObject')(var.get(u'P'))))) + var.put(u'i', Js(0.0)) + var.put(u'l', var.get(u'keys').get(u'length')) + while (var.get(u'l')>var.get(u'i')): + var.get(u'$defineProperty')(var.get(u'it'), var.put(u'key', var.get(u'keys').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)))), var.get(u'P').get(var.get(u'key'))) + return var.get(u'it') + PyJs_defineProperties_1815_._set_name(u'defineProperties') + var.put(u'$defineProperties', PyJs_defineProperties_1815_) + @Js + def PyJs_create_1816_(it, P, this, arguments, var=var): + var = Scope({u'this':this, u'P':P, u'create':PyJs_create_1816_, u'it':it, u'arguments':arguments}, var) + var.registers([u'P', u'it']) + return (var.get(u'_create')(var.get(u'it')) if PyJsStrictEq(var.get(u'P'),var.get(u'undefined')) else var.get(u'$defineProperties')(var.get(u'_create')(var.get(u'it')), var.get(u'P'))) + PyJs_create_1816_._set_name(u'create') + var.put(u'$create', PyJs_create_1816_) + @Js + def PyJs_propertyIsEnumerable_1817_(key, this, arguments, var=var): + var = Scope({u'this':this, u'propertyIsEnumerable':PyJs_propertyIsEnumerable_1817_, u'arguments':arguments, u'key':key}, var) + var.registers([u'E', u'key']) + var.put(u'E', var.get(u'isEnum').callprop(u'call', var.get(u"this"), var.put(u'key', var.get(u'toPrimitive')(var.get(u'key'), var.get(u'true'))))) + if ((PyJsStrictEq(var.get(u"this"),var.get(u'ObjectProto')) and var.get(u'has')(var.get(u'AllSymbols'), var.get(u'key'))) and var.get(u'has')(var.get(u'OPSymbols'), var.get(u'key')).neg()): + return Js(False) + return (var.get(u'E') if (((var.get(u'E') or var.get(u'has')(var.get(u"this"), var.get(u'key')).neg()) or var.get(u'has')(var.get(u'AllSymbols'), var.get(u'key')).neg()) or (var.get(u'has')(var.get(u"this"), var.get(u'HIDDEN')) and var.get(u"this").get(var.get(u'HIDDEN')).get(var.get(u'key')))) else var.get(u'true')) + PyJs_propertyIsEnumerable_1817_._set_name(u'propertyIsEnumerable') + var.put(u'$propertyIsEnumerable', PyJs_propertyIsEnumerable_1817_) + @Js + def PyJs_getOwnPropertyDescriptor_1818_(it, key, this, arguments, var=var): + var = Scope({u'this':this, u'getOwnPropertyDescriptor':PyJs_getOwnPropertyDescriptor_1818_, u'it':it, u'key':key, u'arguments':arguments}, var) + var.registers([u'D', u'key', u'it']) + var.put(u'it', var.get(u'toIObject')(var.get(u'it'))) + var.put(u'key', var.get(u'toPrimitive')(var.get(u'key'), var.get(u'true'))) + if ((PyJsStrictEq(var.get(u'it'),var.get(u'ObjectProto')) and var.get(u'has')(var.get(u'AllSymbols'), var.get(u'key'))) and var.get(u'has')(var.get(u'OPSymbols'), var.get(u'key')).neg()): + return var.get('undefined') + var.put(u'D', var.get(u'gOPD')(var.get(u'it'), var.get(u'key'))) + if ((var.get(u'D') and var.get(u'has')(var.get(u'AllSymbols'), var.get(u'key'))) and (var.get(u'has')(var.get(u'it'), var.get(u'HIDDEN')) and var.get(u'it').get(var.get(u'HIDDEN')).get(var.get(u'key'))).neg()): + var.get(u'D').put(u'enumerable', var.get(u'true')) + return var.get(u'D') + PyJs_getOwnPropertyDescriptor_1818_._set_name(u'getOwnPropertyDescriptor') + var.put(u'$getOwnPropertyDescriptor', PyJs_getOwnPropertyDescriptor_1818_) + @Js + def PyJs_getOwnPropertyNames_1819_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'getOwnPropertyNames':PyJs_getOwnPropertyNames_1819_, u'arguments':arguments}, var) + var.registers([u'i', u'it', u'names', u'key', u'result']) + var.put(u'names', var.get(u'gOPN')(var.get(u'toIObject')(var.get(u'it')))) + var.put(u'result', Js([])) + var.put(u'i', Js(0.0)) + while (var.get(u'names').get(u'length')>var.get(u'i')): + if ((var.get(u'has')(var.get(u'AllSymbols'), var.put(u'key', var.get(u'names').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1))))).neg() and (var.get(u'key')!=var.get(u'HIDDEN'))) and (var.get(u'key')!=var.get(u'META'))): + var.get(u'result').callprop(u'push', var.get(u'key')) + return var.get(u'result') + PyJs_getOwnPropertyNames_1819_._set_name(u'getOwnPropertyNames') + var.put(u'$getOwnPropertyNames', PyJs_getOwnPropertyNames_1819_) + @Js + def PyJs_getOwnPropertySymbols_1820_(it, this, arguments, var=var): + var = Scope({u'this':this, u'getOwnPropertySymbols':PyJs_getOwnPropertySymbols_1820_, u'it':it, u'arguments':arguments}, var) + var.registers([u'i', u'it', u'names', u'key', u'IS_OP', u'result']) + var.put(u'IS_OP', PyJsStrictEq(var.get(u'it'),var.get(u'ObjectProto'))) + var.put(u'names', var.get(u'gOPN')((var.get(u'OPSymbols') if var.get(u'IS_OP') else var.get(u'toIObject')(var.get(u'it'))))) + var.put(u'result', Js([])) + var.put(u'i', Js(0.0)) + while (var.get(u'names').get(u'length')>var.get(u'i')): + if (var.get(u'has')(var.get(u'AllSymbols'), var.put(u'key', var.get(u'names').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1))))) and (var.get(u'has')(var.get(u'ObjectProto'), var.get(u'key')) if var.get(u'IS_OP') else var.get(u'true'))): + var.get(u'result').callprop(u'push', var.get(u'AllSymbols').get(var.get(u'key'))) + return var.get(u'result') + PyJs_getOwnPropertySymbols_1820_._set_name(u'getOwnPropertySymbols') + var.put(u'$getOwnPropertySymbols', PyJs_getOwnPropertySymbols_1820_) + if var.get(u'USE_NATIVE').neg(): + @Js + def PyJs_Symbol_1821_(this, arguments, var=var): + var = Scope({u'this':this, u'Symbol':PyJs_Symbol_1821_, u'arguments':arguments}, var) + var.registers([u'$set', u'tag']) + if var.get(u"this").instanceof(var.get(u'$Symbol')): + PyJsTempException = JsToPyException(var.get(u'TypeError')(Js(u'Symbol is not a constructor!'))) + raise PyJsTempException + var.put(u'tag', var.get(u'uid')((var.get(u'arguments').get(u'0') if (var.get(u'arguments').get(u'length')>Js(0.0)) else var.get(u'undefined')))) + @Js + def PyJs_anonymous_1822_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + if PyJsStrictEq(var.get(u"this"),var.get(u'ObjectProto')): + var.get(u'$set').callprop(u'call', var.get(u'OPSymbols'), var.get(u'value')) + if (var.get(u'has')(var.get(u"this"), var.get(u'HIDDEN')) and var.get(u'has')(var.get(u"this").get(var.get(u'HIDDEN')), var.get(u'tag'))): + var.get(u"this").get(var.get(u'HIDDEN')).put(var.get(u'tag'), Js(False)) + var.get(u'setSymbolDesc')(var.get(u"this"), var.get(u'tag'), var.get(u'createDesc')(Js(1.0), var.get(u'value'))) + PyJs_anonymous_1822_._set_name(u'anonymous') + var.put(u'$set', PyJs_anonymous_1822_) + if (var.get(u'DESCRIPTORS') and var.get(u'setter')): + PyJs_Object_1823_ = Js({u'configurable':var.get(u'true'),u'set':var.get(u'$set')}) + var.get(u'setSymbolDesc')(var.get(u'ObjectProto'), var.get(u'tag'), PyJs_Object_1823_) + return var.get(u'wrap')(var.get(u'tag')) + PyJs_Symbol_1821_._set_name(u'Symbol') + var.put(u'$Symbol', PyJs_Symbol_1821_) + @Js + def PyJs_toString_1824_(this, arguments, var=var): + var = Scope({u'this':this, u'toString':PyJs_toString_1824_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this").get(u'_k') + PyJs_toString_1824_._set_name(u'toString') + var.get(u'redefine')(var.get(u'$Symbol').get(var.get(u'PROTOTYPE')), Js(u'toString'), PyJs_toString_1824_) + var.get(u'$GOPD').put(u'f', var.get(u'$getOwnPropertyDescriptor')) + var.get(u'$DP').put(u'f', var.get(u'$defineProperty')) + var.get(u'require')(Js(u'./_object-gopn')).put(u'f', var.get(u'gOPNExt').put(u'f', var.get(u'$getOwnPropertyNames'))) + var.get(u'require')(Js(u'./_object-pie')).put(u'f', var.get(u'$propertyIsEnumerable')) + var.get(u'require')(Js(u'./_object-gops')).put(u'f', var.get(u'$getOwnPropertySymbols')) + if (var.get(u'DESCRIPTORS') and var.get(u'require')(Js(u'./_library')).neg()): + var.get(u'redefine')(var.get(u'ObjectProto'), Js(u'propertyIsEnumerable'), var.get(u'$propertyIsEnumerable'), var.get(u'true')) + @Js + def PyJs_anonymous_1825_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + return var.get(u'wrap')(var.get(u'wks')(var.get(u'name'))) + PyJs_anonymous_1825_._set_name(u'anonymous') + var.get(u'wksExt').put(u'f', PyJs_anonymous_1825_) + PyJs_Object_1826_ = Js({u'Symbol':var.get(u'$Symbol')}) + var.get(u'$export')(((var.get(u'$export').get(u'G')+var.get(u'$export').get(u'W'))+(var.get(u'$export').get(u'F')*var.get(u'USE_NATIVE').neg())), PyJs_Object_1826_) + #for JS loop + var.put(u'symbols', Js(u'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables').callprop(u'split', Js(u','))) + var.put(u'i', Js(0.0)) + while (var.get(u'symbols').get(u'length')>var.get(u'i')): + var.get(u'wks')(var.get(u'symbols').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)))) + + #for JS loop + var.put(u'symbols', var.get(u'$keys')(var.get(u'wks').get(u'store'))) + var.put(u'i', Js(0.0)) + while (var.get(u'symbols').get(u'length')>var.get(u'i')): + var.get(u'wksDefine')(var.get(u'symbols').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)))) + + @Js + def PyJs_anonymous_1828_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'key']) + return (var.get(u'SymbolRegistry').get(var.get(u'key')) if var.get(u'has')(var.get(u'SymbolRegistry'), var.put(u'key', Js(u''), u'+')) else var.get(u'SymbolRegistry').put(var.get(u'key'), var.get(u'$Symbol')(var.get(u'key')))) + PyJs_anonymous_1828_._set_name(u'anonymous') + @Js + def PyJs_keyFor_1829_(key, this, arguments, var=var): + var = Scope({u'this':this, u'keyFor':PyJs_keyFor_1829_, u'arguments':arguments, u'key':key}, var) + var.registers([u'key']) + if var.get(u'isSymbol')(var.get(u'key')): + return var.get(u'keyOf')(var.get(u'SymbolRegistry'), var.get(u'key')) + PyJsTempException = JsToPyException(var.get(u'TypeError')((var.get(u'key')+Js(u' is not a symbol!')))) + raise PyJsTempException + PyJs_keyFor_1829_._set_name(u'keyFor') + @Js + def PyJs_anonymous_1830_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.put(u'setter', var.get(u'true')) + PyJs_anonymous_1830_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1831_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.put(u'setter', Js(False)) + PyJs_anonymous_1831_._set_name(u'anonymous') + PyJs_Object_1827_ = Js({u'for':PyJs_anonymous_1828_,u'keyFor':PyJs_keyFor_1829_,u'useSetter':PyJs_anonymous_1830_,u'useSimple':PyJs_anonymous_1831_}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*var.get(u'USE_NATIVE').neg())), Js(u'Symbol'), PyJs_Object_1827_) + PyJs_Object_1832_ = Js({u'create':var.get(u'$create'),u'defineProperty':var.get(u'$defineProperty'),u'defineProperties':var.get(u'$defineProperties'),u'getOwnPropertyDescriptor':var.get(u'$getOwnPropertyDescriptor'),u'getOwnPropertyNames':var.get(u'$getOwnPropertyNames'),u'getOwnPropertySymbols':var.get(u'$getOwnPropertySymbols')}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*var.get(u'USE_NATIVE').neg())), Js(u'Object'), PyJs_Object_1832_) + @Js + def PyJs_anonymous_1833_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'S']) + var.put(u'S', var.get(u'$Symbol')()) + PyJs_Object_1834_ = Js({u'a':var.get(u'S')}) + return (((var.get(u'_stringify')(Js([var.get(u'S')]))!=Js(u'[null]')) or (var.get(u'_stringify')(PyJs_Object_1834_)!=Js(u'{}'))) or (var.get(u'_stringify')(var.get(u'Object')(var.get(u'S')))!=Js(u'{}'))) + PyJs_anonymous_1833_._set_name(u'anonymous') + @Js + def PyJs_stringify_1836_(it, this, arguments, var=var): + var = Scope({u'this':this, u'stringify':PyJs_stringify_1836_, u'it':it, u'arguments':arguments}, var) + var.registers([u'i', u'replacer', u'args', u'it', u'$replacer']) + if (PyJsStrictEq(var.get(u'it'),var.get(u'undefined')) or var.get(u'isSymbol')(var.get(u'it'))): + return var.get('undefined') + var.put(u'args', Js([var.get(u'it')])) + var.put(u'i', Js(1.0)) + while (var.get(u'arguments').get(u'length')>var.get(u'i')): + var.get(u'args').callprop(u'push', var.get(u'arguments').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)))) + var.put(u'replacer', var.get(u'args').get(u'1')) + if (var.get(u'replacer',throw=False).typeof()==Js(u'function')): + var.put(u'$replacer', var.get(u'replacer')) + if (var.get(u'$replacer') or var.get(u'isArray')(var.get(u'replacer')).neg()): + @Js + def PyJs_anonymous_1837_(key, value, this, arguments, var=var): + var = Scope({u'this':this, u'value':value, u'key':key, u'arguments':arguments}, var) + var.registers([u'value', u'key']) + if var.get(u'$replacer'): + var.put(u'value', var.get(u'$replacer').callprop(u'call', var.get(u"this"), var.get(u'key'), var.get(u'value'))) + if var.get(u'isSymbol')(var.get(u'value')).neg(): + return var.get(u'value') + PyJs_anonymous_1837_._set_name(u'anonymous') + var.put(u'replacer', PyJs_anonymous_1837_) + var.get(u'args').put(u'1', var.get(u'replacer')) + return var.get(u'_stringify').callprop(u'apply', var.get(u'$JSON'), var.get(u'args')) + PyJs_stringify_1836_._set_name(u'stringify') + PyJs_Object_1835_ = Js({u'stringify':PyJs_stringify_1836_}) + (var.get(u'$JSON') and var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*(var.get(u'USE_NATIVE').neg() or var.get(u'$fails')(PyJs_anonymous_1833_)))), Js(u'JSON'), PyJs_Object_1835_)) + (var.get(u'$Symbol').get(var.get(u'PROTOTYPE')).get(var.get(u'TO_PRIMITIVE')) or var.get(u'require')(Js(u'./_hide'))(var.get(u'$Symbol').get(var.get(u'PROTOTYPE')), var.get(u'TO_PRIMITIVE'), var.get(u'$Symbol').get(var.get(u'PROTOTYPE')).get(u'valueOf'))) + var.get(u'setToStringTag')(var.get(u'$Symbol'), Js(u'Symbol')) + var.get(u'setToStringTag')(var.get(u'Math'), Js(u'Math'), var.get(u'true')) + var.get(u'setToStringTag')(var.get(u'global').get(u'JSON'), Js(u'JSON'), var.get(u'true')) +PyJs_anonymous_1801_._set_name(u'anonymous') +PyJs_Object_1838_ = Js({u'./_an-object':Js(132.0),u'./_descriptors':Js(147.0),u'./_enum-keys':Js(150.0),u'./_export':Js(151.0),u'./_fails':Js(152.0),u'./_global':Js(154.0),u'./_has':Js(155.0),u'./_hide':Js(156.0),u'./_is-array':Js(161.0),u'./_keyof':Js(168.0),u'./_library':Js(169.0),u'./_meta':Js(170.0),u'./_object-create':Js(172.0),u'./_object-dp':Js(173.0),u'./_object-gopd':Js(175.0),u'./_object-gopn':Js(177.0),u'./_object-gopn-ext':Js(176.0),u'./_object-gops':Js(178.0),u'./_object-keys':Js(181.0),u'./_object-pie':Js(182.0),u'./_property-desc':Js(184.0),u'./_redefine':Js(186.0),u'./_set-to-string-tag':Js(189.0),u'./_shared':Js(191.0),u'./_to-iobject':Js(195.0),u'./_to-primitive':Js(198.0),u'./_uid':Js(199.0),u'./_wks':Js(202.0),u'./_wks-define':Js(200.0),u'./_wks-ext':Js(201.0)}) +@Js +def PyJs_anonymous_1839_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'tmp', u'redefine', u'InternalMap', u'methods', u'$WeakMap', u'require', u'isExtensible', u'weak', u'exports', u'wrapper', u'isObject', u'meta', u'module', u'each', u'uncaughtFrozenStore', u'getWeak', u'assign']) + Js(u'use strict') + var.put(u'each', var.get(u'require')(Js(u'./_array-methods'))(Js(0.0))) + var.put(u'redefine', var.get(u'require')(Js(u'./_redefine'))) + var.put(u'meta', var.get(u'require')(Js(u'./_meta'))) + var.put(u'assign', var.get(u'require')(Js(u'./_object-assign'))) + var.put(u'weak', var.get(u'require')(Js(u'./_collection-weak'))) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'getWeak', var.get(u'meta').get(u'getWeak')) + var.put(u'isExtensible', var.get(u'Object').get(u'isExtensible')) + var.put(u'uncaughtFrozenStore', var.get(u'weak').get(u'ufstore')) + PyJs_Object_1840_ = Js({}) + var.put(u'tmp', PyJs_Object_1840_) + @Js + def PyJs_anonymous_1841_(get, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':get}, var) + var.registers([u'get']) + @Js + def PyJs_WeakMap_1842_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'WeakMap':PyJs_WeakMap_1842_}, var) + var.registers([]) + return var.get(u'get')(var.get(u"this"), (var.get(u'arguments').get(u'0') if (var.get(u'arguments').get(u'length')>Js(0.0)) else var.get(u'undefined'))) + PyJs_WeakMap_1842_._set_name(u'WeakMap') + return PyJs_WeakMap_1842_ + PyJs_anonymous_1841_._set_name(u'anonymous') + var.put(u'wrapper', PyJs_anonymous_1841_) + @Js + def PyJs_get_1844_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key, u'get':PyJs_get_1844_}, var) + var.registers([u'data', u'key']) + if var.get(u'isObject')(var.get(u'key')): + var.put(u'data', var.get(u'getWeak')(var.get(u'key'))) + if PyJsStrictEq(var.get(u'data'),var.get(u'true')): + return var.get(u'uncaughtFrozenStore')(var.get(u"this")).callprop(u'get', var.get(u'key')) + return (var.get(u'data').get(var.get(u"this").get(u'_i')) if var.get(u'data') else var.get(u'undefined')) + PyJs_get_1844_._set_name(u'get') + @Js + def PyJs_set_1845_(key, value, this, arguments, var=var): + var = Scope({u'this':this, u'set':PyJs_set_1845_, u'value':value, u'key':key, u'arguments':arguments}, var) + var.registers([u'value', u'key']) + return var.get(u'weak').callprop(u'def', var.get(u"this"), var.get(u'key'), var.get(u'value')) + PyJs_set_1845_._set_name(u'set') + PyJs_Object_1843_ = Js({u'get':PyJs_get_1844_,u'set':PyJs_set_1845_}) + var.put(u'methods', PyJs_Object_1843_) + var.put(u'$WeakMap', var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./_collection'))(Js(u'WeakMap'), var.get(u'wrapper'), var.get(u'methods'), var.get(u'weak'), var.get(u'true'), var.get(u'true')))) + if (var.get(u'$WeakMap').create().callprop(u'set', (var.get(u'Object').get(u'freeze') or var.get(u'Object'))(var.get(u'tmp')), Js(7.0)).callprop(u'get', var.get(u'tmp'))!=Js(7.0)): + var.put(u'InternalMap', var.get(u'weak').callprop(u'getConstructor', var.get(u'wrapper'))) + var.get(u'assign')(var.get(u'InternalMap').get(u'prototype'), var.get(u'methods')) + var.get(u'meta').put(u'NEED', var.get(u'true')) + @Js + def PyJs_anonymous_1846_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'method', u'key', u'proto']) + var.put(u'proto', var.get(u'$WeakMap').get(u'prototype')) + var.put(u'method', var.get(u'proto').get(var.get(u'key'))) + @Js + def PyJs_anonymous_1847_(a, b, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'b':b, u'arguments':arguments}, var) + var.registers([u'a', u'b', u'result']) + if (var.get(u'isObject')(var.get(u'a')) and var.get(u'isExtensible')(var.get(u'a')).neg()): + if var.get(u"this").get(u'_f').neg(): + var.get(u"this").put(u'_f', var.get(u'InternalMap').create()) + var.put(u'result', var.get(u"this").get(u'_f').callprop(var.get(u'key'), var.get(u'a'), var.get(u'b'))) + return (var.get(u"this") if (var.get(u'key')==Js(u'set')) else var.get(u'result')) + return var.get(u'method').callprop(u'call', var.get(u"this"), var.get(u'a'), var.get(u'b')) + PyJs_anonymous_1847_._set_name(u'anonymous') + var.get(u'redefine')(var.get(u'proto'), var.get(u'key'), PyJs_anonymous_1847_) + PyJs_anonymous_1846_._set_name(u'anonymous') + var.get(u'each')(Js([Js(u'delete'), Js(u'has'), Js(u'get'), Js(u'set')]), PyJs_anonymous_1846_) +PyJs_anonymous_1839_._set_name(u'anonymous') +PyJs_Object_1848_ = Js({u'./_array-methods':Js(135.0),u'./_collection':Js(143.0),u'./_collection-weak':Js(142.0),u'./_is-object':Js(162.0),u'./_meta':Js(170.0),u'./_object-assign':Js(171.0),u'./_redefine':Js(186.0)}) +@Js +def PyJs_anonymous_1849_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'weak', u'exports', u'module']) + Js(u'use strict') + var.put(u'weak', var.get(u'require')(Js(u'./_collection-weak'))) + @Js + def PyJs_anonymous_1850_(get, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':get}, var) + var.registers([u'get']) + @Js + def PyJs_WeakSet_1851_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'WeakSet':PyJs_WeakSet_1851_}, var) + var.registers([]) + return var.get(u'get')(var.get(u"this"), (var.get(u'arguments').get(u'0') if (var.get(u'arguments').get(u'length')>Js(0.0)) else var.get(u'undefined'))) + PyJs_WeakSet_1851_._set_name(u'WeakSet') + return PyJs_WeakSet_1851_ + PyJs_anonymous_1850_._set_name(u'anonymous') + @Js + def PyJs_add_1853_(value, this, arguments, var=var): + var = Scope({u'this':this, u'add':PyJs_add_1853_, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return var.get(u'weak').callprop(u'def', var.get(u"this"), var.get(u'value'), var.get(u'true')) + PyJs_add_1853_._set_name(u'add') + PyJs_Object_1852_ = Js({u'add':PyJs_add_1853_}) + var.get(u'require')(Js(u'./_collection'))(Js(u'WeakSet'), PyJs_anonymous_1850_, PyJs_Object_1852_, var.get(u'weak'), Js(False), var.get(u'true')) +PyJs_anonymous_1849_._set_name(u'anonymous') +PyJs_Object_1854_ = Js({u'./_collection':Js(143.0),u'./_collection-weak':Js(142.0)}) +@Js +def PyJs_anonymous_1855_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'$export', u'require', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + PyJs_Object_1856_ = Js({u'toJSON':var.get(u'require')(Js(u'./_collection-to-json'))(Js(u'Map'))}) + var.get(u'$export')((var.get(u'$export').get(u'P')+var.get(u'$export').get(u'R')), Js(u'Map'), PyJs_Object_1856_) +PyJs_anonymous_1855_._set_name(u'anonymous') +PyJs_Object_1857_ = Js({u'./_collection-to-json':Js(141.0),u'./_export':Js(151.0)}) +@Js +def PyJs_anonymous_1858_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'./_wks-define'))(Js(u'asyncIterator')) +PyJs_anonymous_1858_._set_name(u'anonymous') +PyJs_Object_1859_ = Js({u'./_wks-define':Js(200.0)}) +@Js +def PyJs_anonymous_1860_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'require')(Js(u'./_wks-define'))(Js(u'observable')) +PyJs_anonymous_1860_._set_name(u'anonymous') +PyJs_Object_1861_ = Js({u'./_wks-define':Js(200.0)}) +@Js +def PyJs_anonymous_1862_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'TO_STRING_TAG', u'exports', u'hide', u'NAME', u'proto', u'i', u'require', u'global', u'Collection', u'Iterators', u'collections', u'module']) + var.get(u'require')(Js(u'./es6.array.iterator')) + var.put(u'global', var.get(u'require')(Js(u'./_global'))) + var.put(u'hide', var.get(u'require')(Js(u'./_hide'))) + var.put(u'Iterators', var.get(u'require')(Js(u'./_iterators'))) + var.put(u'TO_STRING_TAG', var.get(u'require')(Js(u'./_wks'))(Js(u'toStringTag'))) + #for JS loop + var.put(u'collections', Js([Js(u'NodeList'), Js(u'DOMTokenList'), Js(u'MediaList'), Js(u'StyleSheetList'), Js(u'CSSRuleList')])) + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(1.0)): + return var.get(u'program').get(u'body') + else: + return var.get(u'program').get(u'body').get(u'0') + PyJsHoisted_useTemplate_.func_name = u'useTemplate' + var.put(u'useTemplate', PyJsHoisted_useTemplate_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1872_ = Js({}) + var.put(u'newObj', PyJs_Object_1872_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_symbol', var.get(u'require')(Js(u'babel-runtime/core-js/symbol'))) + var.put(u'_symbol2', var.get(u'_interopRequireDefault')(var.get(u'_symbol'))) + @Js + def PyJs_anonymous_1865_(code, opts, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'_getAst', u'code', u'stack', u'opts']) + var.put(u'stack', PyJsComma(Js(0.0), Js(None))) + try: + PyJsTempException = JsToPyException(var.get(u'Error').create()) + raise PyJsTempException + except PyJsException as PyJsTempException: + PyJsHolder_6572726f72_58122749 = var.own.get(u'error') + var.force_own_put(u'error', PyExceptionToJs(PyJsTempException)) + try: + if var.get(u'error').get(u'stack'): + var.put(u'stack', var.get(u'error').get(u'stack').callprop(u'split', Js(u'\n')).callprop(u'slice', Js(1.0)).callprop(u'join', Js(u'\n'))) + finally: + if PyJsHolder_6572726f72_58122749 is not None: + var.own[u'error'] = PyJsHolder_6572726f72_58122749 + else: + del var.own[u'error'] + del PyJsHolder_6572726f72_58122749 + PyJs_Object_1866_ = Js({u'allowReturnOutsideFunction':var.get(u'true'),u'allowSuperOutsideMethod':var.get(u'true'),u'preserveComments':Js(False)}) + var.put(u'opts', PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(PyJs_Object_1866_, var.get(u'opts'))) + @Js + def PyJs_getAst_1867_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'getAst':PyJs_getAst_1867_}, var) + var.registers([u'ast']) + var.put(u'ast', PyJsComma(Js(0.0), Js(None))) + try: + var.put(u'ast', var.get(u'babylon').callprop(u'parse', var.get(u'code'), var.get(u'opts'))) + PyJs_Object_1868_ = Js({u'preserveComments':var.get(u'opts').get(u'preserveComments')}) + var.put(u'ast', var.get(u'_babelTraverse2').get(u'default').callprop(u'removeProperties', var.get(u'ast'), PyJs_Object_1868_)) + @Js + def PyJs_anonymous_1869_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u'node').put(var.get(u'FROM_TEMPLATE'), var.get(u'true')) + PyJs_anonymous_1869_._set_name(u'anonymous') + var.get(u'_babelTraverse2').get(u'default').callprop(u'cheap', var.get(u'ast'), PyJs_anonymous_1869_) + except PyJsException as PyJsTempException: + PyJsHolder_657272_43794349 = var.own.get(u'err') + var.force_own_put(u'err', PyExceptionToJs(PyJsTempException)) + try: + var.get(u'err').put(u'stack', ((var.get(u'err').get(u'stack')+Js(u'from\n'))+var.get(u'stack'))) + PyJsTempException = JsToPyException(var.get(u'err')) + raise PyJsTempException + finally: + if PyJsHolder_657272_43794349 is not None: + var.own[u'err'] = PyJsHolder_657272_43794349 + else: + del var.own[u'err'] + del PyJsHolder_657272_43794349 + @Js + def PyJs_getAst_1870_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'getAst':PyJs_getAst_1870_}, var) + var.registers([]) + return var.get(u'ast') + PyJs_getAst_1870_._set_name(u'getAst') + var.put(u'_getAst', PyJs_getAst_1870_) + return var.get(u'ast') + PyJs_getAst_1867_._set_name(u'getAst') + var.put(u'_getAst', PyJs_getAst_1867_) + @Js + def PyJs_anonymous_1871_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'_len', u'_key', u'args']) + #for JS loop + var.put(u'_len', var.get(u'arguments').get(u'length')) + var.put(u'args', var.get(u'Array')(var.get(u'_len'))) + var.put(u'_key', Js(0.0)) + while (var.get(u'_key')=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'key', var.get(u'_ref')) + if var.get(u'node').get(var.get(u'key')): + return var.get(u'true') + + return Js(False) + PyJs_shouldVisit_1886_._set_name(u'shouldVisit') + var.get(u'TraversalContext').get(u'prototype').put(u'shouldVisit', PyJs_shouldVisit_1886_) + @Js + def PyJs_create_1887_(node, obj, key, listKey, this, arguments, var=var): + var = Scope({u'node':node, u'obj':obj, u'arguments':arguments, u'key':key, u'this':this, u'listKey':listKey, u'create':PyJs_create_1887_}, var) + var.registers([u'node', u'listKey', u'obj', u'key']) + PyJs_Object_1888_ = Js({u'parentPath':var.get(u"this").get(u'parentPath'),u'parent':var.get(u'node'),u'container':var.get(u'obj'),u'key':var.get(u'key'),u'listKey':var.get(u'listKey')}) + return var.get(u'_path3').get(u'default').callprop(u'get', PyJs_Object_1888_) + PyJs_create_1887_._set_name(u'create') + var.get(u'TraversalContext').get(u'prototype').put(u'create', PyJs_create_1887_) + @Js + def PyJs_maybeQueue_1889_(path, notPriority, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'maybeQueue':PyJs_maybeQueue_1889_, u'notPriority':notPriority, u'arguments':arguments}, var) + var.registers([u'path', u'notPriority']) + if var.get(u"this").get(u'trap'): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'Infinite cycle detected'))) + raise PyJsTempException + if var.get(u"this").get(u'queue'): + if var.get(u'notPriority'): + var.get(u"this").get(u'queue').callprop(u'push', var.get(u'path')) + else: + var.get(u"this").get(u'priorityQueue').callprop(u'push', var.get(u'path')) + PyJs_maybeQueue_1889_._set_name(u'maybeQueue') + var.get(u'TraversalContext').get(u'prototype').put(u'maybeQueue', PyJs_maybeQueue_1889_) + @Js + def PyJs_visitMultiple_1890_(container, parent, listKey, this, arguments, var=var): + var = Scope({u'visitMultiple':PyJs_visitMultiple_1890_, u'container':container, u'parent':parent, u'this':this, u'listKey':listKey, u'arguments':arguments}, var) + var.registers([u'node', u'container', u'parent', u'listKey', u'queue', u'key']) + if PyJsStrictEq(var.get(u'container').get(u'length'),Js(0.0)): + return Js(False) + var.put(u'queue', Js([])) + #for JS loop + var.put(u'key', Js(0.0)) + while (var.get(u'key')=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'path', var.get(u'_ref2')) + var.get(u'path').callprop(u'resync') + if (PyJsStrictEq(var.get(u'path').get(u'contexts').get(u'length'),Js(0.0)) or PyJsStrictNeq(var.get(u'path').get(u'contexts').get((var.get(u'path').get(u'contexts').get(u'length')-Js(1.0))),var.get(u"this"))): + var.get(u'path').callprop(u'pushContext', var.get(u"this")) + if PyJsStrictEq(var.get(u'path').get(u'key'),var.get(u"null")): + continue + if (var.get(u'testing') and (var.get(u'queue').get(u'length')>=Js(10000.0))): + var.get(u"this").put(u'trap', var.get(u'true')) + if (var.get(u'visited').callprop(u'indexOf', var.get(u'path').get(u'node'))>=Js(0.0)): + continue + var.get(u'visited').callprop(u'push', var.get(u'path').get(u'node')) + if var.get(u'path').callprop(u'visit'): + var.put(u'stop', var.get(u'true')) + break + if var.get(u"this").get(u'priorityQueue').get(u'length'): + var.put(u'stop', var.get(u"this").callprop(u'visitQueue', var.get(u"this").get(u'priorityQueue'))) + var.get(u"this").put(u'priorityQueue', Js([])) + var.get(u"this").put(u'queue', var.get(u'queue')) + if var.get(u'stop'): + break + + #for JS loop + var.put(u'_iterator3', var.get(u'queue')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator3')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'_path', var.get(u'_ref3')) + var.get(u'_path').callprop(u'popContext') + + var.get(u"this").put(u'queue', var.get(u"null")) + return var.get(u'stop') + PyJs_visitQueue_1892_._set_name(u'visitQueue') + var.get(u'TraversalContext').get(u'prototype').put(u'visitQueue', PyJs_visitQueue_1892_) + @Js + def PyJs_visit_1893_(node, key, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'visit':PyJs_visit_1893_, u'arguments':arguments, u'key':key}, var) + var.registers([u'node', u'nodes', u'key']) + var.put(u'nodes', var.get(u'node').get(var.get(u'key'))) + if var.get(u'nodes').neg(): + return Js(False) + if var.get(u'Array').callprop(u'isArray', var.get(u'nodes')): + return var.get(u"this").callprop(u'visitMultiple', var.get(u'nodes'), var.get(u'node'), var.get(u'key')) + else: + return var.get(u"this").callprop(u'visitSingle', var.get(u'node'), var.get(u'key')) + PyJs_visit_1893_._set_name(u'visit') + var.get(u'TraversalContext').get(u'prototype').put(u'visit', PyJs_visit_1893_) + return var.get(u'TraversalContext') + PyJs_anonymous_1885_._set_name(u'anonymous') + var.put(u'TraversalContext', PyJs_anonymous_1885_()) + var.get(u'exports').put(u'default', var.get(u'TraversalContext')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) + PyJs_anonymous_1882_._set_name(u'anonymous') + PyJs_anonymous_1882_.callprop(u'call', var.get(u"this"), var.get(u'require')(Js(u'_process'))) +PyJs_anonymous_1881_._set_name(u'anonymous') +PyJs_Object_1894_ = Js({u'./path':Js(232.0),u'_process':Js(531.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/helpers/classCallCheck':Js(110.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_1895_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'Hub', u'require', u'module', u'_interopRequireDefault', u'_classCallCheck3', u'_classCallCheck2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1896_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1896_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + pass + @Js + def PyJs_Hub_1897_(file, options, this, arguments, var=var): + var = Scope({u'this':this, u'Hub':PyJs_Hub_1897_, u'options':options, u'file':file, u'arguments':arguments}, var) + var.registers([u'options', u'file']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'Hub')) + var.get(u"this").put(u'file', var.get(u'file')) + var.get(u"this").put(u'options', var.get(u'options')) + PyJs_Hub_1897_._set_name(u'Hub') + var.put(u'Hub', PyJs_Hub_1897_) + var.get(u'exports').put(u'default', var.get(u'Hub')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1895_._set_name(u'anonymous') +PyJs_Object_1898_ = Js({u'babel-runtime/helpers/classCallCheck':Js(110.0)}) +@Js +def PyJs_anonymous_1899_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'traverse', u'_context', u'_scope', u'module', u'_hub', u'_interopRequireDefault', u'_cache', u'_getIterator2', u'_getIterator3', u'_context2', u'_visitors', u'cache', u'hasBlacklistedType', u'_babelMessages', u'exports', u'_interopRequireWildcard', u'_babelTypes', u'_includes2', u'visitors', u'_includes', u'require', u'messages', u't', u'_path']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1907_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1907_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_traverse_(parent, opts, scope, state, parentPath, this, arguments, var=var): + var = Scope({u'state':state, u'arguments':arguments, u'parent':parent, u'parentPath':parentPath, u'this':this, u'scope':scope, u'opts':opts}, var) + var.registers([u'scope', u'state', u'opts', u'parent', u'parentPath']) + if var.get(u'parent').neg(): + return var.get('undefined') + if var.get(u'opts').neg(): + PyJs_Object_1908_ = Js({}) + var.put(u'opts', PyJs_Object_1908_) + if (var.get(u'opts').get(u'noScope').neg() and var.get(u'scope').neg()): + if (PyJsStrictNeq(var.get(u'parent').get(u'type'),Js(u'Program')) and PyJsStrictNeq(var.get(u'parent').get(u'type'),Js(u'File'))): + PyJsTempException = JsToPyException(var.get(u'Error').create(var.get(u'messages').callprop(u'get', Js(u'traverseNeedsParent'), var.get(u'parent').get(u'type')))) + raise PyJsTempException + var.get(u'visitors').callprop(u'explode', var.get(u'opts')) + var.get(u'traverse').callprop(u'node', var.get(u'parent'), var.get(u'opts'), var.get(u'scope'), var.get(u'state'), var.get(u'parentPath')) + PyJsHoisted_traverse_.func_name = u'traverse' + var.put(u'traverse', PyJsHoisted_traverse_) + @Js + def PyJsHoisted_hasBlacklistedType_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments}, var) + var.registers([u'path', u'state']) + if PyJsStrictEq(var.get(u'path').get(u'node').get(u'type'),var.get(u'state').get(u'type')): + var.get(u'state').put(u'has', var.get(u'true')) + var.get(u'path').callprop(u'stop') + PyJsHoisted_hasBlacklistedType_.func_name = u'hasBlacklistedType' + var.put(u'hasBlacklistedType', PyJsHoisted_hasBlacklistedType_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1906_ = Js({}) + var.put(u'newObj', PyJs_Object_1906_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'visitors', var.get(u'exports').put(u'Hub', var.get(u'exports').put(u'Scope', var.get(u'exports').put(u'NodePath', var.get(u'undefined'))))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_path', var.get(u'require')(Js(u'./path'))) + @Js + def PyJs_get_1901_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_1901_}, var) + var.registers([]) + return var.get(u'_interopRequireDefault')(var.get(u'_path')).get(u'default') + PyJs_get_1901_._set_name(u'get') + PyJs_Object_1900_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_1901_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'NodePath'), PyJs_Object_1900_) + var.put(u'_scope', var.get(u'require')(Js(u'./scope'))) + @Js + def PyJs_get_1903_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_1903_}, var) + var.registers([]) + return var.get(u'_interopRequireDefault')(var.get(u'_scope')).get(u'default') + PyJs_get_1903_._set_name(u'get') + PyJs_Object_1902_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_1903_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'Scope'), PyJs_Object_1902_) + var.put(u'_hub', var.get(u'require')(Js(u'./hub'))) + @Js + def PyJs_get_1905_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_1905_}, var) + var.registers([]) + return var.get(u'_interopRequireDefault')(var.get(u'_hub')).get(u'default') + PyJs_get_1905_._set_name(u'get') + PyJs_Object_1904_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_1905_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'Hub'), PyJs_Object_1904_) + var.get(u'exports').put(u'default', var.get(u'traverse')) + var.put(u'_context', var.get(u'require')(Js(u'./context'))) + var.put(u'_context2', var.get(u'_interopRequireDefault')(var.get(u'_context'))) + var.put(u'_visitors', var.get(u'require')(Js(u'./visitors'))) + var.put(u'visitors', var.get(u'_interopRequireWildcard')(var.get(u'_visitors'))) + var.put(u'_babelMessages', var.get(u'require')(Js(u'babel-messages'))) + var.put(u'messages', var.get(u'_interopRequireWildcard')(var.get(u'_babelMessages'))) + var.put(u'_includes', var.get(u'require')(Js(u'lodash/includes'))) + var.put(u'_includes2', var.get(u'_interopRequireDefault')(var.get(u'_includes'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + var.put(u'_cache', var.get(u'require')(Js(u'./cache'))) + var.put(u'cache', var.get(u'_interopRequireWildcard')(var.get(u'_cache'))) + pass + pass + var.get(u'exports').put(u'visitors', var.get(u'visitors')) + pass + var.get(u'traverse').put(u'visitors', var.get(u'visitors')) + var.get(u'traverse').put(u'verify', var.get(u'visitors').get(u'verify')) + var.get(u'traverse').put(u'explode', var.get(u'visitors').get(u'explode')) + var.get(u'traverse').put(u'NodePath', var.get(u'require')(Js(u'./path'))) + var.get(u'traverse').put(u'Scope', var.get(u'require')(Js(u'./scope'))) + var.get(u'traverse').put(u'Hub', var.get(u'require')(Js(u'./hub'))) + @Js + def PyJs_anonymous_1909_(node, enter, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'enter':enter}, var) + var.registers([u'node', u'enter']) + return var.get(u't').callprop(u'traverseFast', var.get(u'node'), var.get(u'enter')) + PyJs_anonymous_1909_._set_name(u'anonymous') + var.get(u'traverse').put(u'cheap', PyJs_anonymous_1909_) + @Js + def PyJs_anonymous_1910_(node, opts, scope, state, parentPath, skipKeys, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'state':state, u'skipKeys':skipKeys, u'parentPath':parentPath, u'scope':scope, u'opts':opts, u'arguments':arguments}, var) + var.registers([u'key', u'node', u'_isArray', u'_iterator', u'context', u'keys', u'state', u'skipKeys', u'_i', u'parentPath', u'scope', u'_ref', u'opts']) + var.put(u'keys', var.get(u't').get(u'VISITOR_KEYS').get(var.get(u'node').get(u'type'))) + if var.get(u'keys').neg(): + return var.get('undefined') + var.put(u'context', var.get(u'_context2').get(u'default').create(var.get(u'scope'), var.get(u'opts'), var.get(u'state'), var.get(u'parentPath'))) + #for JS loop + var.put(u'_iterator', var.get(u'keys')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'key', var.get(u'_ref')) + if (var.get(u'skipKeys') and var.get(u'skipKeys').get(var.get(u'key'))): + continue + if var.get(u'context').callprop(u'visit', var.get(u'node'), var.get(u'key')): + return var.get('undefined') + + PyJs_anonymous_1910_._set_name(u'anonymous') + var.get(u'traverse').put(u'node', PyJs_anonymous_1910_) + @Js + def PyJs_anonymous_1911_(node, opts, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'node', u'opts']) + var.get(u't').callprop(u'removeProperties', var.get(u'node'), var.get(u'opts')) + var.get(u'cache').get(u'path').callprop(u'delete', var.get(u'node')) + PyJs_anonymous_1911_._set_name(u'anonymous') + var.get(u'traverse').put(u'clearNode', PyJs_anonymous_1911_) + @Js + def PyJs_anonymous_1912_(tree, opts, this, arguments, var=var): + var = Scope({u'this':this, u'tree':tree, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'tree', u'opts']) + var.get(u't').callprop(u'traverseFast', var.get(u'tree'), var.get(u'traverse').get(u'clearNode'), var.get(u'opts')) + return var.get(u'tree') + PyJs_anonymous_1912_._set_name(u'anonymous') + var.get(u'traverse').put(u'removeProperties', PyJs_anonymous_1912_) + pass + @Js + def PyJs_anonymous_1913_(tree, scope, type, blacklistTypes, this, arguments, var=var): + var = Scope({u'arguments':arguments, u'type':type, u'this':this, u'scope':scope, u'tree':tree, u'blacklistTypes':blacklistTypes}, var) + var.registers([u'scope', u'state', u'tree', u'blacklistTypes', u'type']) + if PyJsComma(Js(0.0),var.get(u'_includes2').get(u'default'))(var.get(u'blacklistTypes'), var.get(u'tree').get(u'type')): + return Js(False) + if PyJsStrictEq(var.get(u'tree').get(u'type'),var.get(u'type')): + return var.get(u'true') + PyJs_Object_1914_ = Js({u'has':Js(False),u'type':var.get(u'type')}) + var.put(u'state', PyJs_Object_1914_) + PyJs_Object_1915_ = Js({u'blacklist':var.get(u'blacklistTypes'),u'enter':var.get(u'hasBlacklistedType')}) + var.get(u'traverse')(var.get(u'tree'), PyJs_Object_1915_, var.get(u'scope'), var.get(u'state')) + return var.get(u'state').get(u'has') + PyJs_anonymous_1913_._set_name(u'anonymous') + var.get(u'traverse').put(u'hasType', PyJs_anonymous_1913_) + @Js + def PyJs_anonymous_1916_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'cache').callprop(u'clear') + PyJs_anonymous_1916_._set_name(u'anonymous') + var.get(u'traverse').put(u'clearCache', PyJs_anonymous_1916_) + @Js + def PyJs_anonymous_1917_(source, destination, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'destination':destination, u'arguments':arguments}, var) + var.registers([u'source', u'destination']) + if var.get(u'cache').get(u'path').callprop(u'has', var.get(u'source')): + var.get(u'cache').get(u'path').callprop(u'set', var.get(u'destination'), var.get(u'cache').get(u'path').callprop(u'get', var.get(u'source'))) + PyJs_anonymous_1917_._set_name(u'anonymous') + var.get(u'traverse').put(u'copyCache', PyJs_anonymous_1917_) +PyJs_anonymous_1899_._set_name(u'anonymous') +PyJs_Object_1918_ = Js({u'./cache':Js(222.0),u'./context':Js(223.0),u'./hub':Js(224.0),u'./path':Js(232.0),u'./scope':Js(244.0),u'./visitors':Js(246.0),u'babel-messages':Js(57.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-types':Js(258.0),u'lodash/includes':Js(456.0)}) +@Js +def PyJs_anonymous_1919_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'findParent', u'_interopRequireWildcard', u'_index', u'require', u'_babelTypes', u'getAncestry', u'inShadow', u'module', u'inType', u'getStatementParent', u'getEarliestCommonAncestorFrom', u't', u'_index2', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'find', u'getDeepestCommonAncestorFrom', u'getFunctionParent']) + @Js + def PyJsHoisted_inType_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'_isArray3', u'_ref3', u'_i3', u'path', u'type', u'_iterator3']) + var.put(u'path', var.get(u"this")) + while var.get(u'path'): + #for JS loop + var.put(u'_iterator3', var.get(u'arguments')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator3')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'type', var.get(u'_ref3')) + if PyJsStrictEq(var.get(u'path').get(u'node').get(u'type'),var.get(u'type')): + return var.get(u'true') + + var.put(u'path', var.get(u'path').get(u'parentPath')) + return Js(False) + PyJsHoisted_inType_.func_name = u'inType' + var.put(u'inType', PyJsHoisted_inType_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1920_ = Js({}) + var.put(u'newObj', PyJs_Object_1920_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_findParent_(callback, this, arguments, var=var): + var = Scope({u'this':this, u'callback':callback, u'arguments':arguments}, var) + var.registers([u'path', u'callback']) + var.put(u'path', var.get(u"this")) + while var.put(u'path', var.get(u'path').get(u'parentPath')): + if var.get(u'callback')(var.get(u'path')): + return var.get(u'path') + return var.get(u"null") + PyJsHoisted_findParent_.func_name = u'findParent' + var.put(u'findParent', PyJsHoisted_findParent_) + @Js + def PyJsHoisted_getAncestry_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'path', u'paths']) + var.put(u'path', var.get(u"this")) + var.put(u'paths', Js([])) + while 1: + var.get(u'paths').callprop(u'push', var.get(u'path')) + if not var.put(u'path', var.get(u'path').get(u'parentPath')): + break + return var.get(u'paths') + PyJsHoisted_getAncestry_.func_name = u'getAncestry' + var.put(u'getAncestry', PyJsHoisted_getAncestry_) + @Js + def PyJsHoisted_getStatementParent_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'path']) + var.put(u'path', var.get(u"this")) + while 1: + if var.get(u'Array').callprop(u'isArray', var.get(u'path').get(u'container')): + return var.get(u'path') + if not var.put(u'path', var.get(u'path').get(u'parentPath')): + break + PyJsHoisted_getStatementParent_.func_name = u'getStatementParent' + var.put(u'getStatementParent', PyJsHoisted_getStatementParent_) + @Js + def PyJsHoisted_getEarliestCommonAncestorFrom_(paths, this, arguments, var=var): + var = Scope({u'this':this, u'paths':paths, u'arguments':arguments}, var) + var.registers([u'paths']) + @Js + def PyJs_anonymous_1923_(deepest, i, ancestries, this, arguments, var=var): + var = Scope({u'i':i, u'this':this, u'deepest':deepest, u'arguments':arguments, u'ancestries':ancestries}, var) + var.registers([u'_isArray', u'_iterator', u'keys', u'i', u'ancestry', u'earliestKeyIndex', u'deepest', u'_i', u'currentKeyIndex', u'path', u'_ref', u'earliest', u'ancestries']) + var.put(u'earliest', PyJsComma(Js(0.0), Js(None))) + var.put(u'keys', var.get(u't').get(u'VISITOR_KEYS').get(var.get(u'deepest').get(u'type'))) + #for JS loop + var.put(u'_iterator', var.get(u'ancestries')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'ancestry', var.get(u'_ref')) + var.put(u'path', var.get(u'ancestry').get((var.get(u'i')+Js(1.0)))) + if var.get(u'earliest').neg(): + var.put(u'earliest', var.get(u'path')) + continue + if (var.get(u'path').get(u'listKey') and PyJsStrictEq(var.get(u'earliest').get(u'listKey'),var.get(u'path').get(u'listKey'))): + if (var.get(u'path').get(u'key')var.get(u'currentKeyIndex')): + var.put(u'earliest', var.get(u'path')) + + return var.get(u'earliest') + PyJs_anonymous_1923_._set_name(u'anonymous') + return var.get(u"this").callprop(u'getDeepestCommonAncestorFrom', var.get(u'paths'), PyJs_anonymous_1923_) + PyJsHoisted_getEarliestCommonAncestorFrom_.func_name = u'getEarliestCommonAncestorFrom' + var.put(u'getEarliestCommonAncestorFrom', PyJsHoisted_getEarliestCommonAncestorFrom_) + @Js + def PyJsHoisted_getFunctionParent_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_anonymous_1922_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + return (var.get(u'path').callprop(u'isFunction') or var.get(u'path').callprop(u'isProgram')) + PyJs_anonymous_1922_._set_name(u'anonymous') + return var.get(u"this").callprop(u'findParent', PyJs_anonymous_1922_) + PyJsHoisted_getFunctionParent_.func_name = u'getFunctionParent' + var.put(u'getFunctionParent', PyJsHoisted_getFunctionParent_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1921_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1921_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_find_(callback, this, arguments, var=var): + var = Scope({u'this':this, u'callback':callback, u'arguments':arguments}, var) + var.registers([u'path', u'callback']) + var.put(u'path', var.get(u"this")) + while 1: + if var.get(u'callback')(var.get(u'path')): + return var.get(u'path') + if not var.put(u'path', var.get(u'path').get(u'parentPath')): + break + return var.get(u"null") + PyJsHoisted_find_.func_name = u'find' + var.put(u'find', PyJsHoisted_find_) + @Js + def PyJsHoisted_getDeepestCommonAncestorFrom_(paths, filter, this, arguments, var=var): + var = Scope({u'filter':filter, u'paths':paths, u'this':this, u'arguments':arguments}, var) + var.registers([u'paths', u'minDepth', u'_isArray2', u'_this', u'i', u'lastCommonIndex', u'_i2', u'_ref2', u'filter', u'ancestry', u'ancestries', u'lastCommon', u'shouldMatch', u'_iterator2', u'first']) + var.put(u'_this', var.get(u"this")) + if var.get(u'paths').get(u'length').neg(): + return var.get(u"this") + if PyJsStrictEq(var.get(u'paths').get(u'length'),Js(1.0)): + return var.get(u'paths').get(u'0') + var.put(u'minDepth', var.get(u'Infinity')) + var.put(u'lastCommonIndex', PyJsComma(Js(0.0), Js(None))) + var.put(u'lastCommon', PyJsComma(Js(0.0), Js(None))) + @Js + def PyJs_anonymous_1924_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path', u'ancestry']) + var.put(u'ancestry', Js([])) + while 1: + var.get(u'ancestry').callprop(u'unshift', var.get(u'path')) + if not (var.put(u'path', var.get(u'path').get(u'parentPath')) and PyJsStrictNeq(var.get(u'path'),var.get(u'_this'))): + break + if (var.get(u'ancestry').get(u'length')=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'ancestry', var.get(u'_ref2')) + if PyJsStrictNeq(var.get(u'ancestry').get(var.get(u'i')),var.get(u'shouldMatch')): + raise JS_BREAK_LABEL_64657074684c6f6f70("Breaked") + + var.put(u'lastCommonIndex', var.get(u'i')) + var.put(u'lastCommon', var.get(u'shouldMatch')) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + except JS_CONTINUE_LABEL_64657074684c6f6f70: + pass + except JS_BREAK_LABEL_64657074684c6f6f70: + pass + if var.get(u'lastCommon'): + if var.get(u'filter'): + return var.get(u'filter')(var.get(u'lastCommon'), var.get(u'lastCommonIndex'), var.get(u'ancestries')) + else: + return var.get(u'lastCommon') + else: + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u"Couldn't find intersection"))) + raise PyJsTempException + PyJsHoisted_getDeepestCommonAncestorFrom_.func_name = u'getDeepestCommonAncestorFrom' + var.put(u'getDeepestCommonAncestorFrom', PyJsHoisted_getDeepestCommonAncestorFrom_) + @Js + def PyJsHoisted_inShadow_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'shadow', u'parentFn', u'key']) + @Js + def PyJs_anonymous_1925_(p, this, arguments, var=var): + var = Scope({u'this':this, u'p':p, u'arguments':arguments}, var) + var.registers([u'p']) + return var.get(u'p').callprop(u'isFunction') + PyJs_anonymous_1925_._set_name(u'anonymous') + var.put(u'parentFn', (var.get(u"this") if var.get(u"this").callprop(u'isFunction') else var.get(u"this").callprop(u'findParent', PyJs_anonymous_1925_))) + if var.get(u'parentFn').neg(): + return var.get('undefined') + if (var.get(u'parentFn').callprop(u'isFunctionExpression') or var.get(u'parentFn').callprop(u'isFunctionDeclaration')): + var.put(u'shadow', var.get(u'parentFn').get(u'node').get(u'shadow')) + if (var.get(u'shadow') and (var.get(u'key').neg() or PyJsStrictNeq(var.get(u'shadow').get(var.get(u'key')),Js(False)))): + return var.get(u'parentFn') + else: + if var.get(u'parentFn').callprop(u'isArrowFunctionExpression'): + return var.get(u'parentFn') + return var.get(u"null") + PyJsHoisted_inShadow_.func_name = u'inShadow' + var.put(u'inShadow', PyJsHoisted_inShadow_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.get(u'exports').put(u'findParent', var.get(u'findParent')) + var.get(u'exports').put(u'find', var.get(u'find')) + var.get(u'exports').put(u'getFunctionParent', var.get(u'getFunctionParent')) + var.get(u'exports').put(u'getStatementParent', var.get(u'getStatementParent')) + var.get(u'exports').put(u'getEarliestCommonAncestorFrom', var.get(u'getEarliestCommonAncestorFrom')) + var.get(u'exports').put(u'getDeepestCommonAncestorFrom', var.get(u'getDeepestCommonAncestorFrom')) + var.get(u'exports').put(u'getAncestry', var.get(u'getAncestry')) + var.get(u'exports').put(u'inType', var.get(u'inType')) + var.get(u'exports').put(u'inShadow', var.get(u'inShadow')) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + var.put(u'_index', var.get(u'require')(Js(u'./index'))) + var.put(u'_index2', var.get(u'_interopRequireDefault')(var.get(u'_index'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass +PyJs_anonymous_1919_._set_name(u'anonymous') +PyJs_Object_1926_ = Js({u'./index':Js(232.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_1927_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'addComments', u'module', u'shareCommentsWithSiblings', u'addComment']) + @Js + def PyJsHoisted_addComments_(type, comments, this, arguments, var=var): + var = Scope({u'this':this, u'type':type, u'arguments':arguments, u'comments':comments}, var) + var.registers([u'node', u'type', u'comments', u'key']) + if var.get(u'comments').neg(): + return var.get('undefined') + var.put(u'node', var.get(u"this").get(u'node')) + if var.get(u'node').neg(): + return var.get('undefined') + var.put(u'key', (var.get(u'type')+Js(u'Comments'))) + if var.get(u'node').get(var.get(u'key')): + var.get(u'node').put(var.get(u'key'), var.get(u'node').get(var.get(u'key')).callprop(u'concat', var.get(u'comments'))) + else: + var.get(u'node').put(var.get(u'key'), var.get(u'comments')) + PyJsHoisted_addComments_.func_name = u'addComments' + var.put(u'addComments', PyJsHoisted_addComments_) + @Js + def PyJsHoisted_addComment_(type, content, line, this, arguments, var=var): + var = Scope({u'content':content, u'this':this, u'line':line, u'type':type, u'arguments':arguments}, var) + var.registers([u'content', u'line', u'type']) + PyJs_Object_1928_ = Js({u'type':(Js(u'CommentLine') if var.get(u'line') else Js(u'CommentBlock')),u'value':var.get(u'content')}) + var.get(u"this").callprop(u'addComments', var.get(u'type'), Js([PyJs_Object_1928_])) + PyJsHoisted_addComment_.func_name = u'addComment' + var.put(u'addComment', PyJsHoisted_addComment_) + @Js + def PyJsHoisted_shareCommentsWithSiblings_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'leading', u'prev', u'trailing', u'next']) + var.put(u'node', var.get(u"this").get(u'node')) + if var.get(u'node').neg(): + return var.get('undefined') + var.put(u'trailing', var.get(u'node').get(u'trailingComments')) + var.put(u'leading', var.get(u'node').get(u'leadingComments')) + if (var.get(u'trailing').neg() and var.get(u'leading').neg()): + return var.get('undefined') + var.put(u'prev', var.get(u"this").callprop(u'getSibling', (var.get(u"this").get(u'key')-Js(1.0)))) + var.put(u'next', var.get(u"this").callprop(u'getSibling', (var.get(u"this").get(u'key')+Js(1.0)))) + if var.get(u'prev').get(u'node').neg(): + var.put(u'prev', var.get(u'next')) + if var.get(u'next').get(u'node').neg(): + var.put(u'next', var.get(u'prev')) + var.get(u'prev').callprop(u'addComments', Js(u'trailing'), var.get(u'leading')) + var.get(u'next').callprop(u'addComments', Js(u'leading'), var.get(u'trailing')) + PyJsHoisted_shareCommentsWithSiblings_.func_name = u'shareCommentsWithSiblings' + var.put(u'shareCommentsWithSiblings', PyJsHoisted_shareCommentsWithSiblings_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'shareCommentsWithSiblings', var.get(u'shareCommentsWithSiblings')) + var.get(u'exports').put(u'addComment', var.get(u'addComment')) + var.get(u'exports').put(u'addComments', var.get(u'addComments')) + pass + pass + pass +PyJs_anonymous_1927_._set_name(u'anonymous') +PyJs_Object_1929_ = Js({}) +@Js +def PyJs_anonymous_1930_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_getQueueContexts', u'pushContext', u'skip', u'module', u'resync', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'skipKey', u'_call', u'popContext', u'visit', u'setKey', u'call', u'exports', u'_resyncParent', u'_resyncRemoved', u'isBlacklisted', u'stop', u'_resyncList', u'_resyncKey', u'_index2', u'setContext', u'_index', u'setup', u'setScope', u'requeue', u'require']) + @Js + def PyJsHoisted_popContext_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").get(u'contexts').callprop(u'pop') + var.get(u"this").callprop(u'setContext', var.get(u"this").get(u'contexts').get((var.get(u"this").get(u'contexts').get(u'length')-Js(1.0)))) + PyJsHoisted_popContext_.func_name = u'popContext' + var.put(u'popContext', PyJsHoisted_popContext_) + @Js + def PyJsHoisted_setup_(parentPath, container, listKey, key, this, arguments, var=var): + var = Scope({u'container':container, u'arguments':arguments, u'key':key, u'parentPath':parentPath, u'this':this, u'listKey':listKey}, var) + var.registers([u'listKey', u'container', u'key', u'parentPath']) + var.get(u"this").put(u'inList', var.get(u'listKey').neg().neg()) + var.get(u"this").put(u'listKey', var.get(u'listKey')) + var.get(u"this").put(u'parentKey', (var.get(u'listKey') or var.get(u'key'))) + var.get(u"this").put(u'container', var.get(u'container')) + var.get(u"this").put(u'parentPath', (var.get(u'parentPath') or var.get(u"this").get(u'parentPath'))) + var.get(u"this").callprop(u'setKey', var.get(u'key')) + PyJsHoisted_setup_.func_name = u'setup' + var.put(u'setup', PyJsHoisted_setup_) + @Js + def PyJsHoisted_requeue_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'_isArray2', u'contexts', u'_i2', u'_ref2', u'context', u'pathToQueue', u'_iterator2']) + var.put(u'pathToQueue', (var.get(u'arguments').get(u'0') if ((var.get(u'arguments').get(u'length')>Js(0.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'0'),var.get(u'undefined'))) else var.get(u"this"))) + if var.get(u'pathToQueue').get(u'removed'): + return var.get('undefined') + var.put(u'contexts', var.get(u"this").get(u'contexts')) + #for JS loop + var.put(u'_iterator2', var.get(u'contexts')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'context', var.get(u'_ref2')) + var.get(u'context').callprop(u'maybeQueue', var.get(u'pathToQueue')) + + PyJsHoisted_requeue_.func_name = u'requeue' + var.put(u'requeue', PyJsHoisted_requeue_) + @Js + def PyJsHoisted__resyncParent_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if var.get(u"this").get(u'parentPath'): + var.get(u"this").put(u'parent', var.get(u"this").get(u'parentPath').get(u'node')) + PyJsHoisted__resyncParent_.func_name = u'_resyncParent' + var.put(u'_resyncParent', PyJsHoisted__resyncParent_) + @Js + def PyJsHoisted__resyncRemoved_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if (((var.get(u"this").get(u'key')==var.get(u"null")) or var.get(u"this").get(u'container').neg()) or PyJsStrictNeq(var.get(u"this").get(u'container').get(var.get(u"this").get(u'key')),var.get(u"this").get(u'node'))): + var.get(u"this").callprop(u'_markRemoved') + PyJsHoisted__resyncRemoved_.func_name = u'_resyncRemoved' + var.put(u'_resyncRemoved', PyJsHoisted__resyncRemoved_) + @Js + def PyJsHoisted_skip_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put(u'shouldSkip', var.get(u'true')) + PyJsHoisted_skip_.func_name = u'skip' + var.put(u'skip', PyJsHoisted_skip_) + @Js + def PyJsHoisted_resync_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if var.get(u"this").get(u'removed'): + return var.get('undefined') + var.get(u"this").callprop(u'_resyncParent') + var.get(u"this").callprop(u'_resyncList') + var.get(u"this").callprop(u'_resyncKey') + PyJsHoisted_resync_.func_name = u'resync' + var.put(u'resync', PyJsHoisted_resync_) + @Js + def PyJsHoisted_isBlacklisted_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'blacklist']) + var.put(u'blacklist', var.get(u"this").get(u'opts').get(u'blacklist')) + return (var.get(u'blacklist') and (var.get(u'blacklist').callprop(u'indexOf', var.get(u"this").get(u'node').get(u'type'))>(-Js(1.0)))) + PyJsHoisted_isBlacklisted_.func_name = u'isBlacklisted' + var.put(u'isBlacklisted', PyJsHoisted_isBlacklisted_) + @Js + def PyJsHoisted_visit_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if var.get(u"this").get(u'node').neg(): + return Js(False) + if var.get(u"this").callprop(u'isBlacklisted'): + return Js(False) + if (var.get(u"this").get(u'opts').get(u'shouldSkip') and var.get(u"this").get(u'opts').callprop(u'shouldSkip', var.get(u"this"))): + return Js(False) + if (var.get(u"this").callprop(u'call', Js(u'enter')) or var.get(u"this").get(u'shouldSkip')): + @Js + def PyJs_anonymous_1933_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return Js(u'Skip...') + PyJs_anonymous_1933_._set_name(u'anonymous') + var.get(u"this").callprop(u'debug', PyJs_anonymous_1933_) + return var.get(u"this").get(u'shouldStop') + @Js + def PyJs_anonymous_1934_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return Js(u'Recursing into...') + PyJs_anonymous_1934_._set_name(u'anonymous') + var.get(u"this").callprop(u'debug', PyJs_anonymous_1934_) + var.get(u'_index2').get(u'default').callprop(u'node', var.get(u"this").get(u'node'), var.get(u"this").get(u'opts'), var.get(u"this").get(u'scope'), var.get(u"this").get(u'state'), var.get(u"this"), var.get(u"this").get(u'skipKeys')) + var.get(u"this").callprop(u'call', Js(u'exit')) + return var.get(u"this").get(u'shouldStop') + PyJsHoisted_visit_.func_name = u'visit' + var.put(u'visit', PyJsHoisted_visit_) + @Js + def PyJsHoisted__resyncList_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'newContainer']) + if (var.get(u"this").get(u'parent').neg() or var.get(u"this").get(u'inList').neg()): + return var.get('undefined') + var.put(u'newContainer', var.get(u"this").get(u'parent').get(var.get(u"this").get(u'listKey'))) + if PyJsStrictEq(var.get(u"this").get(u'container'),var.get(u'newContainer')): + return var.get('undefined') + var.get(u"this").put(u'container', (var.get(u'newContainer') or var.get(u"null"))) + PyJsHoisted__resyncList_.func_name = u'_resyncList' + var.put(u'_resyncList', PyJsHoisted__resyncList_) + @Js + def PyJsHoisted_stop_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put(u'shouldStop', var.get(u'true')) + var.get(u"this").put(u'shouldSkip', var.get(u'true')) + PyJsHoisted_stop_.func_name = u'stop' + var.put(u'stop', PyJsHoisted_stop_) + @Js + def PyJsHoisted__resyncKey_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'key']) + if var.get(u"this").get(u'container').neg(): + return var.get('undefined') + if PyJsStrictEq(var.get(u"this").get(u'node'),var.get(u"this").get(u'container').get(var.get(u"this").get(u'key'))): + return var.get('undefined') + if var.get(u'Array').callprop(u'isArray', var.get(u"this").get(u'container')): + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'fn', var.get(u'_ref')) + if var.get(u'fn').neg(): + continue + var.put(u'node', var.get(u"this").get(u'node')) + if var.get(u'node').neg(): + return var.get(u'true') + var.put(u'ret', var.get(u'fn').callprop(u'call', var.get(u"this").get(u'state'), var.get(u"this"), var.get(u"this").get(u'state'))) + if var.get(u'ret'): + PyJsTempException = JsToPyException(var.get(u'Error').create((Js(u'Unexpected return value from visitor method ')+var.get(u'fn')))) + raise PyJsTempException + if PyJsStrictNeq(var.get(u"this").get(u'node'),var.get(u'node')): + return var.get(u'true') + if ((var.get(u"this").get(u'shouldStop') or var.get(u"this").get(u'shouldSkip')) or var.get(u"this").get(u'removed')): + return var.get(u'true') + + return Js(False) + PyJsHoisted__call_.func_name = u'_call' + var.put(u'_call', PyJsHoisted__call_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.get(u'exports').put(u'call', var.get(u'call')) + var.get(u'exports').put(u'_call', var.get(u'_call')) + var.get(u'exports').put(u'isBlacklisted', var.get(u'isBlacklisted')) + var.get(u'exports').put(u'visit', var.get(u'visit')) + var.get(u'exports').put(u'skip', var.get(u'skip')) + var.get(u'exports').put(u'skipKey', var.get(u'skipKey')) + var.get(u'exports').put(u'stop', var.get(u'stop')) + var.get(u'exports').put(u'setScope', var.get(u'setScope')) + var.get(u'exports').put(u'setContext', var.get(u'setContext')) + var.get(u'exports').put(u'resync', var.get(u'resync')) + var.get(u'exports').put(u'_resyncParent', var.get(u'_resyncParent')) + var.get(u'exports').put(u'_resyncKey', var.get(u'_resyncKey')) + var.get(u'exports').put(u'_resyncList', var.get(u'_resyncList')) + var.get(u'exports').put(u'_resyncRemoved', var.get(u'_resyncRemoved')) + var.get(u'exports').put(u'popContext', var.get(u'popContext')) + var.get(u'exports').put(u'pushContext', var.get(u'pushContext')) + var.get(u'exports').put(u'setup', var.get(u'setup')) + var.get(u'exports').put(u'setKey', var.get(u'setKey')) + var.get(u'exports').put(u'requeue', var.get(u'requeue')) + var.get(u'exports').put(u'_getQueueContexts', var.get(u'_getQueueContexts')) + var.put(u'_index', var.get(u'require')(Js(u'../index'))) + var.put(u'_index2', var.get(u'_interopRequireDefault')(var.get(u'_index'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass +PyJs_anonymous_1930_._set_name(u'anonymous') +PyJs_Object_1936_ = Js({u'../index':Js(225.0),u'babel-runtime/core-js/get-iterator':Js(96.0)}) +@Js +def PyJs_anonymous_1937_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'arrowFunctionToShadowed', u'_interopRequireWildcard', u'toComputedKey', u'_babelTypes', u'module', u't', u'ensureBlock', u'require']) + @Js + def PyJsHoisted_toComputedKey_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'key']) + var.put(u'node', var.get(u"this").get(u'node')) + var.put(u'key', PyJsComma(Js(0.0), Js(None))) + if var.get(u"this").callprop(u'isMemberExpression'): + var.put(u'key', var.get(u'node').get(u'property')) + else: + if (var.get(u"this").callprop(u'isProperty') or var.get(u"this").callprop(u'isMethod')): + var.put(u'key', var.get(u'node').get(u'key')) + else: + PyJsTempException = JsToPyException(var.get(u'ReferenceError').create(Js(u'todo'))) + raise PyJsTempException + if var.get(u'node').get(u'computed').neg(): + if var.get(u't').callprop(u'isIdentifier', var.get(u'key')): + var.put(u'key', var.get(u't').callprop(u'stringLiteral', var.get(u'key').get(u'name'))) + return var.get(u'key') + PyJsHoisted_toComputedKey_.func_name = u'toComputedKey' + var.put(u'toComputedKey', PyJsHoisted_toComputedKey_) + @Js + def PyJsHoisted_arrowFunctionToShadowed_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u"this").callprop(u'isArrowFunctionExpression').neg(): + return var.get('undefined') + var.get(u"this").callprop(u'ensureBlock') + var.put(u'node', var.get(u"this").get(u'node')) + var.get(u'node').put(u'expression', Js(False)) + var.get(u'node').put(u'type', Js(u'FunctionExpression')) + var.get(u'node').put(u'shadow', (var.get(u'node').get(u'shadow') or var.get(u'true'))) + PyJsHoisted_arrowFunctionToShadowed_.func_name = u'arrowFunctionToShadowed' + var.put(u'arrowFunctionToShadowed', PyJsHoisted_arrowFunctionToShadowed_) + @Js + def PyJsHoisted_ensureBlock_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'ensureBlock', var.get(u"this").get(u'node')) + PyJsHoisted_ensureBlock_.func_name = u'ensureBlock' + var.put(u'ensureBlock', PyJsHoisted_ensureBlock_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1938_ = Js({}) + var.put(u'newObj', PyJs_Object_1938_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'toComputedKey', var.get(u'toComputedKey')) + var.get(u'exports').put(u'ensureBlock', var.get(u'ensureBlock')) + var.get(u'exports').put(u'arrowFunctionToShadowed', var.get(u'arrowFunctionToShadowed')) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + pass + pass +PyJs_anonymous_1937_._set_name(u'anonymous') +PyJs_Object_1939_ = Js({u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_1940_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_1941_ = Js({}) + @Js + def PyJs_anonymous_1942_(PyJsArg_676c6f62616c_, this, arguments, var=var): + var = Scope({u'this':this, u'global':PyJsArg_676c6f62616c_, u'arguments':arguments}, var) + var.registers([u'_typeof2', u'_typeof3', u'_map', u'INVALID_METHODS', u'VALID_CALLEES', u'evaluateTruthy', u'global', u'evaluate', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'_map2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1943_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1943_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_evaluate_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'deoptPath', u'evaluate', u'value', u'_evaluate', u'confident', u'deopt', u'seen']) + @Js + def PyJsHoisted_evaluate_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'node', u'item', u'path', u'val', u'existing']) + var.put(u'node', var.get(u'path').get(u'node')) + if var.get(u'seen').callprop(u'has', var.get(u'node')): + var.put(u'existing', var.get(u'seen').callprop(u'get', var.get(u'node'))) + if var.get(u'existing').get(u'resolved'): + return var.get(u'existing').get(u'value') + else: + var.get(u'deopt')(var.get(u'path')) + return var.get('undefined') + else: + PyJs_Object_1945_ = Js({u'resolved':Js(False)}) + var.put(u'item', PyJs_Object_1945_) + var.get(u'seen').callprop(u'set', var.get(u'node'), var.get(u'item')) + var.put(u'val', var.get(u'_evaluate')(var.get(u'path'))) + if var.get(u'confident'): + var.get(u'item').put(u'resolved', var.get(u'true')) + var.get(u'item').put(u'value', var.get(u'val')) + return var.get(u'val') + PyJsHoisted_evaluate_.func_name = u'evaluate' + var.put(u'evaluate', PyJsHoisted_evaluate_) + @Js + def PyJsHoisted_deopt_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + if var.get(u'confident').neg(): + return var.get('undefined') + var.put(u'deoptPath', var.get(u'path')) + var.put(u'confident', Js(False)) + PyJsHoisted_deopt_.func_name = u'deopt' + var.put(u'deopt', PyJsHoisted_deopt_) + @Js + def PyJsHoisted__evaluate_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'resolved', u'arr', u'right', u'_isArray3', u'_isArray2', u'leftConfident', u'binding', u'argument', u'_ref2', u'_object', u'_value2', u'arg', u'_ref', u'_exprs', u'_iterator', u'_right', u'_i3', u'_i2', u'prop', u'_i', u'props', u'wasConfident', u'type', u'_left', u'node', u'_type', u'args', u'func', u'testResult', u'object', u'elems', u'_value', u'_elem', u'key', u'path', u'_isArray', u'context', u'obj', u'left', u'valuePath', u'i', u'expr', u'keyPath', u'_ref3', u'elem', u'rightConfident', u'exprs', u'str', u'_property', u'property', u'callee', u'_iterator3', u'_iterator2']) + if var.get(u'confident').neg(): + return var.get('undefined') + var.put(u'node', var.get(u'path').get(u'node')) + if var.get(u'path').callprop(u'isSequenceExpression'): + var.put(u'exprs', var.get(u'path').callprop(u'get', Js(u'expressions'))) + return var.get(u'evaluate')(var.get(u'exprs').get((var.get(u'exprs').get(u'length')-Js(1.0)))) + if ((var.get(u'path').callprop(u'isStringLiteral') or var.get(u'path').callprop(u'isNumericLiteral')) or var.get(u'path').callprop(u'isBooleanLiteral')): + return var.get(u'node').get(u'value') + if var.get(u'path').callprop(u'isNullLiteral'): + return var.get(u"null") + if var.get(u'path').callprop(u'isTemplateLiteral'): + var.put(u'str', Js(u'')) + var.put(u'i', Js(0.0)) + var.put(u'_exprs', var.get(u'path').callprop(u'get', Js(u'expressions'))) + #for JS loop + var.put(u'_iterator', var.get(u'node').get(u'quasis')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'elem', var.get(u'_ref')) + if var.get(u'confident').neg(): + break + var.put(u'str', var.get(u'elem').get(u'value').get(u'cooked'), u'+') + var.put(u'expr', var.get(u'_exprs').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)))) + if var.get(u'expr'): + var.put(u'str', var.get(u'String')(var.get(u'evaluate')(var.get(u'expr'))), u'+') + + if var.get(u'confident').neg(): + return var.get('undefined') + return var.get(u'str') + if var.get(u'path').callprop(u'isConditionalExpression'): + var.put(u'testResult', var.get(u'evaluate')(var.get(u'path').callprop(u'get', Js(u'test')))) + if var.get(u'confident').neg(): + return var.get('undefined') + if var.get(u'testResult'): + return var.get(u'evaluate')(var.get(u'path').callprop(u'get', Js(u'consequent'))) + else: + return var.get(u'evaluate')(var.get(u'path').callprop(u'get', Js(u'alternate'))) + if var.get(u'path').callprop(u'isExpressionWrapper'): + return var.get(u'evaluate')(var.get(u'path').callprop(u'get', Js(u'expression'))) + PyJs_Object_1946_ = Js({u'callee':var.get(u'node')}) + if (var.get(u'path').callprop(u'isMemberExpression') and var.get(u'path').get(u'parentPath').callprop(u'isCallExpression', PyJs_Object_1946_).neg()): + var.put(u'property', var.get(u'path').callprop(u'get', Js(u'property'))) + var.put(u'object', var.get(u'path').callprop(u'get', Js(u'object'))) + if (var.get(u'object').callprop(u'isLiteral') and var.get(u'property').callprop(u'isIdentifier')): + var.put(u'_value', var.get(u'object').get(u'node').get(u'value')) + var.put(u'type', (Js(u'undefined') if PyJsStrictEq(var.get(u'_value',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'_value')))) + if (PyJsStrictEq(var.get(u'type'),Js(u'number')) or PyJsStrictEq(var.get(u'type'),Js(u'string'))): + return var.get(u'_value').get(var.get(u'property').get(u'node').get(u'name')) + if var.get(u'path').callprop(u'isReferencedIdentifier'): + var.put(u'binding', var.get(u'path').get(u'scope').callprop(u'getBinding', var.get(u'node').get(u'name'))) + if (var.get(u'binding') and (var.get(u'binding').get(u'constantViolations').get(u'length')>Js(0.0))): + return var.get(u'deopt')(var.get(u'binding').get(u'path')) + if (var.get(u'binding') and var.get(u'binding').get(u'hasValue')): + return var.get(u'binding').get(u'value') + else: + if PyJsStrictEq(var.get(u'node').get(u'name'),Js(u'undefined')): + return var.get(u'undefined') + else: + if PyJsStrictEq(var.get(u'node').get(u'name'),Js(u'Infinity')): + return var.get(u'Infinity') + else: + if PyJsStrictEq(var.get(u'node').get(u'name'),Js(u'NaN')): + return var.get(u'NaN') + var.put(u'resolved', var.get(u'path').callprop(u'resolve')) + if PyJsStrictEq(var.get(u'resolved'),var.get(u'path')): + return var.get(u'deopt')(var.get(u'path')) + else: + return var.get(u'evaluate')(var.get(u'resolved')) + PyJs_Object_1947_ = Js({u'prefix':var.get(u'true')}) + if var.get(u'path').callprop(u'isUnaryExpression', PyJs_Object_1947_): + if PyJsStrictEq(var.get(u'node').get(u'operator'),Js(u'void')): + return var.get(u'undefined') + var.put(u'argument', var.get(u'path').callprop(u'get', Js(u'argument'))) + if (PyJsStrictEq(var.get(u'node').get(u'operator'),Js(u'typeof')) and (var.get(u'argument').callprop(u'isFunction') or var.get(u'argument').callprop(u'isClass'))): + return Js(u'function') + var.put(u'arg', var.get(u'evaluate')(var.get(u'argument'))) + if var.get(u'confident').neg(): + return var.get('undefined') + while 1: + SWITCHED = False + CONDITION = (var.get(u'node').get(u'operator')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'!')): + SWITCHED = True + return var.get(u'arg').neg() + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'+')): + SWITCHED = True + return (+var.get(u'arg')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'-')): + SWITCHED = True + return (-var.get(u'arg')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'~')): + SWITCHED = True + return (~var.get(u'arg')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'typeof')): + SWITCHED = True + return (Js(u'undefined') if PyJsStrictEq(var.get(u'arg',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'arg'))) + SWITCHED = True + break + if var.get(u'path').callprop(u'isArrayExpression'): + var.put(u'arr', Js([])) + var.put(u'elems', var.get(u'path').callprop(u'get', Js(u'elements'))) + #for JS loop + var.put(u'_iterator2', var.get(u'elems')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'_elem', var.get(u'_ref2')) + var.put(u'_elem', var.get(u'_elem').callprop(u'evaluate')) + if var.get(u'_elem').get(u'confident'): + var.get(u'arr').callprop(u'push', var.get(u'_elem').get(u'value')) + else: + return var.get(u'deopt')(var.get(u'_elem')) + + return var.get(u'arr') + if var.get(u'path').callprop(u'isObjectExpression'): + PyJs_Object_1948_ = Js({}) + var.put(u'obj', PyJs_Object_1948_) + var.put(u'props', var.get(u'path').callprop(u'get', Js(u'properties'))) + #for JS loop + var.put(u'_iterator3', var.get(u'props')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator3')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'prop', var.get(u'_ref3')) + if (var.get(u'prop').callprop(u'isObjectMethod') or var.get(u'prop').callprop(u'isSpreadProperty')): + return var.get(u'deopt')(var.get(u'prop')) + var.put(u'keyPath', var.get(u'prop').callprop(u'get', Js(u'key'))) + var.put(u'key', var.get(u'keyPath')) + if var.get(u'prop').get(u'node').get(u'computed'): + var.put(u'key', var.get(u'key').callprop(u'evaluate')) + if var.get(u'key').get(u'confident').neg(): + return var.get(u'deopt')(var.get(u'keyPath')) + var.put(u'key', var.get(u'key').get(u'value')) + else: + if var.get(u'key').callprop(u'isIdentifier'): + var.put(u'key', var.get(u'key').get(u'node').get(u'name')) + else: + var.put(u'key', var.get(u'key').get(u'node').get(u'value')) + var.put(u'valuePath', var.get(u'prop').callprop(u'get', Js(u'value'))) + var.put(u'_value2', var.get(u'valuePath').callprop(u'evaluate')) + if var.get(u'_value2').get(u'confident').neg(): + return var.get(u'deopt')(var.get(u'valuePath')) + var.put(u'_value2', var.get(u'_value2').get(u'value')) + var.get(u'obj').put(var.get(u'key'), var.get(u'_value2')) + + return var.get(u'obj') + if var.get(u'path').callprop(u'isLogicalExpression'): + var.put(u'wasConfident', var.get(u'confident')) + var.put(u'left', var.get(u'evaluate')(var.get(u'path').callprop(u'get', Js(u'left')))) + var.put(u'leftConfident', var.get(u'confident')) + var.put(u'confident', var.get(u'wasConfident')) + var.put(u'right', var.get(u'evaluate')(var.get(u'path').callprop(u'get', Js(u'right')))) + var.put(u'rightConfident', var.get(u'confident')) + var.put(u'confident', (var.get(u'leftConfident') and var.get(u'rightConfident'))) + while 1: + SWITCHED = False + CONDITION = (var.get(u'node').get(u'operator')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'||')): + SWITCHED = True + if (var.get(u'left') and var.get(u'leftConfident')): + var.put(u'confident', var.get(u'true')) + return var.get(u'left') + if var.get(u'confident').neg(): + return var.get('undefined') + return (var.get(u'left') or var.get(u'right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'&&')): + SWITCHED = True + if ((var.get(u'left').neg() and var.get(u'leftConfident')) or (var.get(u'right').neg() and var.get(u'rightConfident'))): + var.put(u'confident', var.get(u'true')) + if var.get(u'confident').neg(): + return var.get('undefined') + return (var.get(u'left') and var.get(u'right')) + SWITCHED = True + break + if var.get(u'path').callprop(u'isBinaryExpression'): + var.put(u'_left', var.get(u'evaluate')(var.get(u'path').callprop(u'get', Js(u'left')))) + if var.get(u'confident').neg(): + return var.get('undefined') + var.put(u'_right', var.get(u'evaluate')(var.get(u'path').callprop(u'get', Js(u'right')))) + if var.get(u'confident').neg(): + return var.get('undefined') + while 1: + SWITCHED = False + CONDITION = (var.get(u'node').get(u'operator')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'-')): + SWITCHED = True + return (var.get(u'_left')-var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'+')): + SWITCHED = True + return (var.get(u'_left')+var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'/')): + SWITCHED = True + return (var.get(u'_left')/var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'*')): + SWITCHED = True + return (var.get(u'_left')*var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'%')): + SWITCHED = True + return (var.get(u'_left')%var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'**')): + SWITCHED = True + return var.get(u'Math').callprop(u'pow', var.get(u'_left'), var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'<')): + SWITCHED = True + return (var.get(u'_left')')): + SWITCHED = True + return (var.get(u'_left')>var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'<=')): + SWITCHED = True + return (var.get(u'_left')<=var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'>=')): + SWITCHED = True + return (var.get(u'_left')>=var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'==')): + SWITCHED = True + return (var.get(u'_left')==var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'!=')): + SWITCHED = True + return (var.get(u'_left')!=var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'===')): + SWITCHED = True + return PyJsStrictEq(var.get(u'_left'),var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'!==')): + SWITCHED = True + return PyJsStrictNeq(var.get(u'_left'),var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'|')): + SWITCHED = True + return (var.get(u'_left')|var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'&')): + SWITCHED = True + return (var.get(u'_left')&var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'^')): + SWITCHED = True + return (var.get(u'_left')^var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'<<')): + SWITCHED = True + return (var.get(u'_left')<>')): + SWITCHED = True + return (var.get(u'_left')>>var.get(u'_right')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'>>>')): + SWITCHED = True + return PyJsBshift(var.get(u'_left'),var.get(u'_right')) + SWITCHED = True + break + if var.get(u'path').callprop(u'isCallExpression'): + var.put(u'callee', var.get(u'path').callprop(u'get', Js(u'callee'))) + var.put(u'context', PyJsComma(Js(0.0), Js(None))) + var.put(u'func', PyJsComma(Js(0.0), Js(None))) + if ((var.get(u'callee').callprop(u'isIdentifier') and var.get(u'path').get(u'scope').callprop(u'getBinding', var.get(u'callee').get(u'node').get(u'name'), var.get(u'true')).neg()) and (var.get(u'VALID_CALLEES').callprop(u'indexOf', var.get(u'callee').get(u'node').get(u'name'))>=Js(0.0))): + var.put(u'func', var.get(u'global').get(var.get(u'node').get(u'callee').get(u'name'))) + if var.get(u'callee').callprop(u'isMemberExpression'): + var.put(u'_object', var.get(u'callee').callprop(u'get', Js(u'object'))) + var.put(u'_property', var.get(u'callee').callprop(u'get', Js(u'property'))) + if (((var.get(u'_object').callprop(u'isIdentifier') and var.get(u'_property').callprop(u'isIdentifier')) and (var.get(u'VALID_CALLEES').callprop(u'indexOf', var.get(u'_object').get(u'node').get(u'name'))>=Js(0.0))) and (var.get(u'INVALID_METHODS').callprop(u'indexOf', var.get(u'_property').get(u'node').get(u'name'))=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'part', var.get(u'_ref')) + if PyJsStrictEq(var.get(u'part'),Js(u'.')): + var.put(u'path', var.get(u'path').get(u'parentPath')) + else: + if var.get(u'Array').callprop(u'isArray', var.get(u'path')): + var.put(u'path', var.get(u'path').get(var.get(u'part'))) + else: + var.put(u'path', var.get(u'path').callprop(u'get', var.get(u'part'), var.get(u'context'))) + + return var.get(u'path') + PyJsHoisted__getPattern_.func_name = u'_getPattern' + var.put(u'_getPattern', PyJsHoisted__getPattern_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.get(u'exports').put(u'getStatementParent', var.get(u'getStatementParent')) + var.get(u'exports').put(u'getOpposite', var.get(u'getOpposite')) + var.get(u'exports').put(u'getCompletionRecords', var.get(u'getCompletionRecords')) + var.get(u'exports').put(u'getSibling', var.get(u'getSibling')) + var.get(u'exports').put(u'get', var.get(u'get')) + var.get(u'exports').put(u'_getKey', var.get(u'_getKey')) + var.get(u'exports').put(u'_getPattern', var.get(u'_getPattern')) + var.get(u'exports').put(u'getBindingIdentifiers', var.get(u'getBindingIdentifiers')) + var.get(u'exports').put(u'getOuterBindingIdentifiers', var.get(u'getOuterBindingIdentifiers')) + var.put(u'_index', var.get(u'require')(Js(u'./index'))) + var.put(u'_index2', var.get(u'_interopRequireDefault')(var.get(u'_index'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass +PyJs_anonymous_1950_._set_name(u'anonymous') +PyJs_Object_1958_ = Js({u'./index':Js(232.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_1959_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'module', u'_scope', u'_ret', u'_invariant2', u'_virtualTypes', u'_ret2', u'_loop2', u'_interopRequireDefault', u'_cache', u'_getIterator2', u'_getIterator3', u'virtualTypes', u'_iterator', u'_debug', u'_i', u'_classCallCheck3', u'_classCallCheck2', u'type', u'NodePath', u'exports', u'_assign', u'_interopRequireWildcard', u'_babelTypes', u'_debug3', u'_debug2', u'_index2', u'_loop', u'_assign2', u'_isArray', u'_index', u'require', u'_ref2', u't', u'_scope2', u'_invariant']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1961_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1961_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1960_ = Js({}) + var.put(u'newObj', PyJs_Object_1960_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.put(u'_virtualTypes', var.get(u'require')(Js(u'./lib/virtual-types'))) + var.put(u'virtualTypes', var.get(u'_interopRequireWildcard')(var.get(u'_virtualTypes'))) + var.put(u'_debug2', var.get(u'require')(Js(u'debug'))) + var.put(u'_debug3', var.get(u'_interopRequireDefault')(var.get(u'_debug2'))) + var.put(u'_invariant', var.get(u'require')(Js(u'invariant'))) + var.put(u'_invariant2', var.get(u'_interopRequireDefault')(var.get(u'_invariant'))) + var.put(u'_index', var.get(u'require')(Js(u'../index'))) + var.put(u'_index2', var.get(u'_interopRequireDefault')(var.get(u'_index'))) + var.put(u'_assign', var.get(u'require')(Js(u'lodash/assign'))) + var.put(u'_assign2', var.get(u'_interopRequireDefault')(var.get(u'_assign'))) + var.put(u'_scope', var.get(u'require')(Js(u'../scope'))) + var.put(u'_scope2', var.get(u'_interopRequireDefault')(var.get(u'_scope'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + var.put(u'_cache', var.get(u'require')(Js(u'../cache'))) + pass + pass + var.put(u'_debug', PyJsComma(Js(0.0),var.get(u'_debug3').get(u'default'))(Js(u'babel'))) + @Js + def PyJs_anonymous_1962_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'NodePath']) + @Js + def PyJsHoisted_NodePath_(hub, parent, this, arguments, var=var): + var = Scope({u'this':this, u'parent':parent, u'hub':hub, u'arguments':arguments}, var) + var.registers([u'parent', u'hub']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'NodePath')) + var.get(u"this").put(u'parent', var.get(u'parent')) + var.get(u"this").put(u'hub', var.get(u'hub')) + var.get(u"this").put(u'contexts', Js([])) + PyJs_Object_1963_ = Js({}) + var.get(u"this").put(u'data', PyJs_Object_1963_) + var.get(u"this").put(u'shouldSkip', Js(False)) + var.get(u"this").put(u'shouldStop', Js(False)) + var.get(u"this").put(u'removed', Js(False)) + var.get(u"this").put(u'state', var.get(u"null")) + var.get(u"this").put(u'opts', var.get(u"null")) + var.get(u"this").put(u'skipKeys', var.get(u"null")) + var.get(u"this").put(u'parentPath', var.get(u"null")) + var.get(u"this").put(u'context', var.get(u"null")) + var.get(u"this").put(u'container', var.get(u"null")) + var.get(u"this").put(u'listKey', var.get(u"null")) + var.get(u"this").put(u'inList', Js(False)) + var.get(u"this").put(u'parentKey', var.get(u"null")) + var.get(u"this").put(u'key', var.get(u"null")) + var.get(u"this").put(u'node', var.get(u"null")) + var.get(u"this").put(u'scope', var.get(u"null")) + var.get(u"this").put(u'type', var.get(u"null")) + var.get(u"this").put(u'typeAnnotation', var.get(u"null")) + PyJsHoisted_NodePath_.func_name = u'NodePath' + var.put(u'NodePath', PyJsHoisted_NodePath_) + pass + @Js + def PyJs_get_1964_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments, u'get':PyJs_get_1964_}, var) + var.registers([u'paths', u'container', u'hub', u'parent', u'i', u'listKey', u'targetNode', u'key', u'parentPath', u'path', u'pathCheck', u'_ref']) + var.put(u'hub', var.get(u'_ref').get(u'hub')) + var.put(u'parentPath', var.get(u'_ref').get(u'parentPath')) + var.put(u'parent', var.get(u'_ref').get(u'parent')) + var.put(u'container', var.get(u'_ref').get(u'container')) + var.put(u'listKey', var.get(u'_ref').get(u'listKey')) + var.put(u'key', var.get(u'_ref').get(u'key')) + if (var.get(u'hub').neg() and var.get(u'parentPath')): + var.put(u'hub', var.get(u'parentPath').get(u'hub')) + PyJsComma(Js(0.0),var.get(u'_invariant2').get(u'default'))(var.get(u'parent'), Js(u'To get a node path the parent needs to exist')) + var.put(u'targetNode', var.get(u'container').get(var.get(u'key'))) + var.put(u'paths', (var.get(u'_cache').get(u'path').callprop(u'get', var.get(u'parent')) or Js([]))) + if var.get(u'_cache').get(u'path').callprop(u'has', var.get(u'parent')).neg(): + var.get(u'_cache').get(u'path').callprop(u'set', var.get(u'parent'), var.get(u'paths')) + var.put(u'path', PyJsComma(Js(0.0), Js(None))) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else var.get(u'SyntaxError'))) + return var.get(u"this").get(u'hub').get(u'file').callprop(u'buildCodeFrameError', var.get(u"this").get(u'node'), var.get(u'msg'), var.get(u'Error')) + PyJs_buildCodeFrameError_1968_._set_name(u'buildCodeFrameError') + var.get(u'NodePath').get(u'prototype').put(u'buildCodeFrameError', PyJs_buildCodeFrameError_1968_) + @Js + def PyJs_traverse_1969_(visitor, state, this, arguments, var=var): + var = Scope({u'this':this, u'visitor':visitor, u'state':state, u'arguments':arguments, u'traverse':PyJs_traverse_1969_}, var) + var.registers([u'visitor', u'state']) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(var.get(u"this").get(u'node'), var.get(u'visitor'), var.get(u"this").get(u'scope'), var.get(u'state'), var.get(u"this")) + PyJs_traverse_1969_._set_name(u'traverse') + var.get(u'NodePath').get(u'prototype').put(u'traverse', PyJs_traverse_1969_) + @Js + def PyJs_mark_1970_(type, message, this, arguments, var=var): + var = Scope({u'this':this, u'message':message, u'type':type, u'arguments':arguments, u'mark':PyJs_mark_1970_}, var) + var.registers([u'message', u'type']) + PyJs_Object_1971_ = Js({u'type':var.get(u'type'),u'message':var.get(u'message'),u'loc':var.get(u"this").get(u'node').get(u'loc')}) + var.get(u"this").get(u'hub').get(u'file').get(u'metadata').get(u'marked').callprop(u'push', PyJs_Object_1971_) + PyJs_mark_1970_._set_name(u'mark') + var.get(u'NodePath').get(u'prototype').put(u'mark', PyJs_mark_1970_) + @Js + def PyJs_set_1972_(key, node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'set':PyJs_set_1972_, u'arguments':arguments, u'key':key}, var) + var.registers([u'node', u'key']) + var.get(u't').callprop(u'validate', var.get(u"this").get(u'node'), var.get(u'key'), var.get(u'node')) + var.get(u"this").get(u'node').put(var.get(u'key'), var.get(u'node')) + PyJs_set_1972_._set_name(u'set') + var.get(u'NodePath').get(u'prototype').put(u'set', PyJs_set_1972_) + @Js + def PyJs_getPathLocation_1973_(this, arguments, var=var): + var = Scope({u'this':this, u'getPathLocation':PyJs_getPathLocation_1973_, u'arguments':arguments}, var) + var.registers([u'path', u'parts', u'key']) + var.put(u'parts', Js([])) + var.put(u'path', var.get(u"this")) + while 1: + var.put(u'key', var.get(u'path').get(u'key')) + if var.get(u'path').get(u'inList'): + var.put(u'key', (((var.get(u'path').get(u'listKey')+Js(u'['))+var.get(u'key'))+Js(u']'))) + var.get(u'parts').callprop(u'unshift', var.get(u'key')) + if not var.put(u'path', var.get(u'path').get(u'parentPath')): + break + return var.get(u'parts').callprop(u'join', Js(u'.')) + PyJs_getPathLocation_1973_._set_name(u'getPathLocation') + var.get(u'NodePath').get(u'prototype').put(u'getPathLocation', PyJs_getPathLocation_1973_) + @Js + def PyJs_debug_1974_(buildMessage, this, arguments, var=var): + var = Scope({u'this':this, u'buildMessage':buildMessage, u'arguments':arguments, u'debug':PyJs_debug_1974_}, var) + var.registers([u'buildMessage']) + if var.get(u'_debug').get(u'enabled').neg(): + return var.get('undefined') + var.get(u'_debug')(((((var.get(u"this").callprop(u'getPathLocation')+Js(u' '))+var.get(u"this").get(u'type'))+Js(u': '))+var.get(u'buildMessage')())) + PyJs_debug_1974_._set_name(u'debug') + var.get(u'NodePath').get(u'prototype').put(u'debug', PyJs_debug_1974_) + return var.get(u'NodePath') + PyJs_anonymous_1962_._set_name(u'anonymous') + var.put(u'NodePath', PyJs_anonymous_1962_()) + var.get(u'exports').put(u'default', var.get(u'NodePath')) + PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(var.get(u'NodePath').get(u'prototype'), var.get(u'require')(Js(u'./ancestry'))) + PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(var.get(u'NodePath').get(u'prototype'), var.get(u'require')(Js(u'./inference'))) + PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(var.get(u'NodePath').get(u'prototype'), var.get(u'require')(Js(u'./replacement'))) + PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(var.get(u'NodePath').get(u'prototype'), var.get(u'require')(Js(u'./evaluation'))) + PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(var.get(u'NodePath').get(u'prototype'), var.get(u'require')(Js(u'./conversion'))) + PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(var.get(u'NodePath').get(u'prototype'), var.get(u'require')(Js(u'./introspection'))) + PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(var.get(u'NodePath').get(u'prototype'), var.get(u'require')(Js(u'./context'))) + PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(var.get(u'NodePath').get(u'prototype'), var.get(u'require')(Js(u'./removal'))) + PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(var.get(u'NodePath').get(u'prototype'), var.get(u'require')(Js(u'./modification'))) + PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(var.get(u'NodePath').get(u'prototype'), var.get(u'require')(Js(u'./family'))) + PyJsComma(Js(0.0),var.get(u'_assign2').get(u'default'))(var.get(u'NodePath').get(u'prototype'), var.get(u'require')(Js(u'./comments'))) + @Js + def PyJs__loop2_1975_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'_loop2':PyJs__loop2_1975_}, var) + var.registers([u'typeKey', u'type']) + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + return Js(u'break') + var.put(u'_ref2', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + return Js(u'break') + var.put(u'_ref2', var.get(u'_i').get(u'value')) + var.put(u'type', var.get(u'_ref2')) + var.put(u'typeKey', (Js(u'is')+var.get(u'type'))) + @Js + def PyJs_anonymous_1976_(opts, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'opts']) + return var.get(u't').callprop(var.get(u'typeKey'), var.get(u"this").get(u'node'), var.get(u'opts')) + PyJs_anonymous_1976_._set_name(u'anonymous') + var.get(u'NodePath').get(u'prototype').put(var.get(u'typeKey'), PyJs_anonymous_1976_) + @Js + def PyJs_anonymous_1977_(opts, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'opts']) + if var.get(u"this").callprop(var.get(u'typeKey'), var.get(u'opts')).neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create((Js(u'Expected node path of type ')+var.get(u'type')))) + raise PyJsTempException + PyJs_anonymous_1977_._set_name(u'anonymous') + var.get(u'NodePath').get(u'prototype').put((Js(u'assert')+var.get(u'type')), PyJs_anonymous_1977_) + PyJs__loop2_1975_._set_name(u'_loop2') + var.put(u'_loop2', PyJs__loop2_1975_) + #for JS loop + var.put(u'_iterator', var.get(u't').get(u'TYPES')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + var.put(u'_ret2', var.get(u'_loop2')()) + if PyJsStrictEq(var.get(u'_ret2'),Js(u'break')): + break + + @Js + def PyJs__loop_1978_(type, this, arguments, var=var): + var = Scope({u'this':this, u'_loop':PyJs__loop_1978_, u'type':type, u'arguments':arguments}, var) + var.registers([u'virtualType', u'type']) + if PyJsStrictEq(var.get(u'type').get(u'0'),Js(u'_')): + return Js(u'continue') + if (var.get(u't').get(u'TYPES').callprop(u'indexOf', var.get(u'type'))=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'type2', var.get(u'_ref')) + if (var.get(u't').callprop(u'isAnyTypeAnnotation', var.get(u'type2')) or var.get(u'_isBaseType')(var.get(u'name'), var.get(u'type2'), var.get(u'true'))): + return var.get(u'true') + + return Js(False) + else: + return var.get(u'_isBaseType')(var.get(u'name'), var.get(u'type'), var.get(u'true')) + PyJsHoisted_couldBeBaseType_.func_name = u'couldBeBaseType' + var.put(u'couldBeBaseType', PyJsHoisted_couldBeBaseType_) + @Js + def PyJsHoisted_getTypeAnnotation_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'type']) + if var.get(u"this").get(u'typeAnnotation'): + return var.get(u"this").get(u'typeAnnotation') + var.put(u'type', (var.get(u"this").callprop(u'_getTypeAnnotation') or var.get(u't').callprop(u'anyTypeAnnotation'))) + if var.get(u't').callprop(u'isTypeAnnotation', var.get(u'type')): + var.put(u'type', var.get(u'type').get(u'typeAnnotation')) + return var.get(u"this").put(u'typeAnnotation', var.get(u'type')) + PyJsHoisted_getTypeAnnotation_.func_name = u'getTypeAnnotation' + var.put(u'getTypeAnnotation', PyJsHoisted_getTypeAnnotation_) + @Js + def PyJsHoisted_isBaseType_(baseName, soft, this, arguments, var=var): + var = Scope({u'this':this, u'baseName':baseName, u'soft':soft, u'arguments':arguments}, var) + var.registers([u'baseName', u'soft']) + return var.get(u'_isBaseType')(var.get(u'baseName'), var.get(u"this").callprop(u'getTypeAnnotation'), var.get(u'soft')) + PyJsHoisted_isBaseType_.func_name = u'isBaseType' + var.put(u'isBaseType', PyJsHoisted_isBaseType_) + @Js + def PyJsHoisted_baseTypeStrictlyMatches_(right, this, arguments, var=var): + var = Scope({u'this':this, u'right':right, u'arguments':arguments}, var) + var.registers([u'right', u'left']) + var.put(u'left', var.get(u"this").callprop(u'getTypeAnnotation')) + var.put(u'right', var.get(u'right').callprop(u'getTypeAnnotation')) + if (var.get(u't').callprop(u'isAnyTypeAnnotation', var.get(u'left')).neg() and var.get(u't').callprop(u'isFlowBaseAnnotation', var.get(u'left'))): + return PyJsStrictEq(var.get(u'right').get(u'type'),var.get(u'left').get(u'type')) + PyJsHoisted_baseTypeStrictlyMatches_.func_name = u'baseTypeStrictlyMatches' + var.put(u'baseTypeStrictlyMatches', PyJsHoisted_baseTypeStrictlyMatches_) + @Js + def PyJsHoisted__getTypeAnnotation_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'declarParent', u'inferer', u'declar']) + var.put(u'node', var.get(u"this").get(u'node')) + if var.get(u'node').neg(): + if (PyJsStrictEq(var.get(u"this").get(u'key'),Js(u'init')) and var.get(u"this").get(u'parentPath').callprop(u'isVariableDeclarator')): + var.put(u'declar', var.get(u"this").get(u'parentPath').get(u'parentPath')) + var.put(u'declarParent', var.get(u'declar').get(u'parentPath')) + if (PyJsStrictEq(var.get(u'declar').get(u'key'),Js(u'left')) and var.get(u'declarParent').callprop(u'isForInStatement')): + return var.get(u't').callprop(u'stringTypeAnnotation') + if (PyJsStrictEq(var.get(u'declar').get(u'key'),Js(u'left')) and var.get(u'declarParent').callprop(u'isForOfStatement')): + return var.get(u't').callprop(u'anyTypeAnnotation') + return var.get(u't').callprop(u'voidTypeAnnotation') + else: + return var.get('undefined') + if var.get(u'node').get(u'typeAnnotation'): + return var.get(u'node').get(u'typeAnnotation') + var.put(u'inferer', var.get(u'inferers').get(var.get(u'node').get(u'type'))) + if var.get(u'inferer'): + return var.get(u'inferer').callprop(u'call', var.get(u"this"), var.get(u'node')) + var.put(u'inferer', var.get(u'inferers').get(var.get(u"this").get(u'parentPath').get(u'type'))) + if (var.get(u'inferer') and var.get(u'inferer').get(u'validParent')): + return var.get(u"this").get(u'parentPath').callprop(u'getTypeAnnotation') + PyJsHoisted__getTypeAnnotation_.func_name = u'_getTypeAnnotation' + var.put(u'_getTypeAnnotation', PyJsHoisted__getTypeAnnotation_) + @Js + def PyJsHoisted_isGenericType_(genericName, this, arguments, var=var): + var = Scope({u'this':this, u'genericName':genericName, u'arguments':arguments}, var) + var.registers([u'genericName', u'type']) + var.put(u'type', var.get(u"this").callprop(u'getTypeAnnotation')) + PyJs_Object_1984_ = Js({u'name':var.get(u'genericName')}) + return (var.get(u't').callprop(u'isGenericTypeAnnotation', var.get(u'type')) and var.get(u't').callprop(u'isIdentifier', var.get(u'type').get(u'id'), PyJs_Object_1984_)) + PyJsHoisted_isGenericType_.func_name = u'isGenericType' + var.put(u'isGenericType', PyJsHoisted_isGenericType_) + @Js + def PyJsHoisted__isBaseType_(baseName, type, soft, this, arguments, var=var): + var = Scope({u'this':this, u'soft':soft, u'baseName':baseName, u'type':type, u'arguments':arguments}, var) + var.registers([u'soft', u'baseName', u'type']) + if PyJsStrictEq(var.get(u'baseName'),Js(u'string')): + return var.get(u't').callprop(u'isStringTypeAnnotation', var.get(u'type')) + else: + if PyJsStrictEq(var.get(u'baseName'),Js(u'number')): + return var.get(u't').callprop(u'isNumberTypeAnnotation', var.get(u'type')) + else: + if PyJsStrictEq(var.get(u'baseName'),Js(u'boolean')): + return var.get(u't').callprop(u'isBooleanTypeAnnotation', var.get(u'type')) + else: + if PyJsStrictEq(var.get(u'baseName'),Js(u'any')): + return var.get(u't').callprop(u'isAnyTypeAnnotation', var.get(u'type')) + else: + if PyJsStrictEq(var.get(u'baseName'),Js(u'mixed')): + return var.get(u't').callprop(u'isMixedTypeAnnotation', var.get(u'type')) + else: + if PyJsStrictEq(var.get(u'baseName'),Js(u'empty')): + return var.get(u't').callprop(u'isEmptyTypeAnnotation', var.get(u'type')) + else: + if PyJsStrictEq(var.get(u'baseName'),Js(u'void')): + return var.get(u't').callprop(u'isVoidTypeAnnotation', var.get(u'type')) + else: + if var.get(u'soft'): + return Js(False) + else: + PyJsTempException = JsToPyException(var.get(u'Error').create((Js(u'Unknown base type ')+var.get(u'baseName')))) + raise PyJsTempException + PyJsHoisted__isBaseType_.func_name = u'_isBaseType' + var.put(u'_isBaseType', PyJsHoisted__isBaseType_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1983_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1983_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.get(u'exports').put(u'getTypeAnnotation', var.get(u'getTypeAnnotation')) + var.get(u'exports').put(u'_getTypeAnnotation', var.get(u'_getTypeAnnotation')) + var.get(u'exports').put(u'isBaseType', var.get(u'isBaseType')) + var.get(u'exports').put(u'couldBeBaseType', var.get(u'couldBeBaseType')) + var.get(u'exports').put(u'baseTypeStrictlyMatches', var.get(u'baseTypeStrictlyMatches')) + var.get(u'exports').put(u'isGenericType', var.get(u'isGenericType')) + var.put(u'_inferers', var.get(u'require')(Js(u'./inferers'))) + var.put(u'inferers', var.get(u'_interopRequireWildcard')(var.get(u'_inferers'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass +PyJs_anonymous_1981_._set_name(u'anonymous') +PyJs_Object_1985_ = Js({u'./inferers':Js(235.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_1986_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'getConditionalAnnotation', u'_interopRequireWildcard', u'getParentConditionalPath', u'require', u'_babelTypes', u'module', u'inferAnnotationFromBinaryExpression', u't', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'getTypeAnnotationBindingConstantViolations', u'getConstantViolationsBefore']) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_1988_ = Js({}) + var.put(u'newObj', PyJs_Object_1988_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_getParentConditionalPath_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path', u'parentPath']) + var.put(u'parentPath', PyJsComma(Js(0.0), Js(None))) + while var.put(u'parentPath', var.get(u'path').get(u'parentPath')): + if (var.get(u'parentPath').callprop(u'isIfStatement') or var.get(u'parentPath').callprop(u'isConditionalExpression')): + if PyJsStrictEq(var.get(u'path').get(u'key'),Js(u'test')): + return var.get('undefined') + else: + return var.get(u'parentPath') + else: + var.put(u'path', var.get(u'parentPath')) + PyJsHoisted_getParentConditionalPath_.func_name = u'getParentConditionalPath' + var.put(u'getParentConditionalPath', PyJsHoisted_getParentConditionalPath_) + @Js + def PyJsHoisted_inferAnnotationFromBinaryExpression_(name, path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'name':name, u'arguments':arguments}, var) + var.registers([u'right', u'target', u'typeValue', u'typeofPath', u'typePath', u'name', u'operator', u'path', u'left']) + var.put(u'operator', var.get(u'path').get(u'node').get(u'operator')) + var.put(u'right', var.get(u'path').callprop(u'get', Js(u'right')).callprop(u'resolve')) + var.put(u'left', var.get(u'path').callprop(u'get', Js(u'left')).callprop(u'resolve')) + var.put(u'target', PyJsComma(Js(0.0), Js(None))) + PyJs_Object_1993_ = Js({u'name':var.get(u'name')}) + if var.get(u'left').callprop(u'isIdentifier', PyJs_Object_1993_): + var.put(u'target', var.get(u'right')) + else: + PyJs_Object_1994_ = Js({u'name':var.get(u'name')}) + if var.get(u'right').callprop(u'isIdentifier', PyJs_Object_1994_): + var.put(u'target', var.get(u'left')) + if var.get(u'target'): + if PyJsStrictEq(var.get(u'operator'),Js(u'===')): + return var.get(u'target').callprop(u'getTypeAnnotation') + else: + if (var.get(u't').get(u'BOOLEAN_NUMBER_BINARY_OPERATORS').callprop(u'indexOf', var.get(u'operator'))>=Js(0.0)): + return var.get(u't').callprop(u'numberTypeAnnotation') + else: + return var.get('undefined') + else: + if PyJsStrictNeq(var.get(u'operator'),Js(u'===')): + return var.get('undefined') + var.put(u'typeofPath', PyJsComma(Js(0.0), Js(None))) + var.put(u'typePath', PyJsComma(Js(0.0), Js(None))) + PyJs_Object_1995_ = Js({u'operator':Js(u'typeof')}) + if var.get(u'left').callprop(u'isUnaryExpression', PyJs_Object_1995_): + var.put(u'typeofPath', var.get(u'left')) + var.put(u'typePath', var.get(u'right')) + else: + PyJs_Object_1996_ = Js({u'operator':Js(u'typeof')}) + if var.get(u'right').callprop(u'isUnaryExpression', PyJs_Object_1996_): + var.put(u'typeofPath', var.get(u'right')) + var.put(u'typePath', var.get(u'left')) + if (var.get(u'typePath').neg() and var.get(u'typeofPath').neg()): + return var.get('undefined') + var.put(u'typePath', var.get(u'typePath').callprop(u'resolve')) + if var.get(u'typePath').callprop(u'isLiteral').neg(): + return var.get('undefined') + var.put(u'typeValue', var.get(u'typePath').get(u'node').get(u'value')) + if PyJsStrictNeq(var.get(u'typeValue',throw=False).typeof(),Js(u'string')): + return var.get('undefined') + PyJs_Object_1997_ = Js({u'name':var.get(u'name')}) + if var.get(u'typeofPath').callprop(u'get', Js(u'argument')).callprop(u'isIdentifier', PyJs_Object_1997_).neg(): + return var.get('undefined') + return var.get(u't').callprop(u'createTypeAnnotationBasedOnTypeof', var.get(u'typePath').get(u'node').get(u'value')) + PyJsHoisted_inferAnnotationFromBinaryExpression_.func_name = u'inferAnnotationFromBinaryExpression' + var.put(u'inferAnnotationFromBinaryExpression', PyJsHoisted_inferAnnotationFromBinaryExpression_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_1989_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_1989_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_getConstantViolationsBefore_(binding, path, functions, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'functions':functions, u'binding':binding, u'arguments':arguments}, var) + var.registers([u'path', u'violations', u'binding', u'functions']) + var.put(u'violations', var.get(u'binding').get(u'constantViolations').callprop(u'slice')) + var.get(u'violations').callprop(u'unshift', var.get(u'binding').get(u'path')) + @Js + def PyJs_anonymous_1992_(violation, this, arguments, var=var): + var = Scope({u'violation':violation, u'this':this, u'arguments':arguments}, var) + var.registers([u'status', u'violation']) + var.put(u'violation', var.get(u'violation').callprop(u'resolve')) + var.put(u'status', var.get(u'violation').callprop(u'_guessExecutionStatusRelativeTo', var.get(u'path'))) + if (var.get(u'functions') and PyJsStrictEq(var.get(u'status'),Js(u'function'))): + var.get(u'functions').callprop(u'push', var.get(u'violation')) + return PyJsStrictEq(var.get(u'status'),Js(u'before')) + PyJs_anonymous_1992_._set_name(u'anonymous') + return var.get(u'violations').callprop(u'filter', PyJs_anonymous_1992_) + PyJsHoisted_getConstantViolationsBefore_.func_name = u'getConstantViolationsBefore' + var.put(u'getConstantViolationsBefore', PyJsHoisted_getConstantViolationsBefore_) + @Js + def PyJsHoisted_getConditionalAnnotation_(path, name, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'name':name, u'arguments':arguments}, var) + var.registers([u'paths', u'name', u'test', u'path', u'ifStatement', u'type', u'types', u'_path']) + var.put(u'ifStatement', var.get(u'getParentConditionalPath')(var.get(u'path'))) + if var.get(u'ifStatement').neg(): + return var.get('undefined') + var.put(u'test', var.get(u'ifStatement').callprop(u'get', Js(u'test'))) + var.put(u'paths', Js([var.get(u'test')])) + var.put(u'types', Js([])) + while 1: + var.put(u'_path', var.get(u'paths').callprop(u'shift').callprop(u'resolve')) + if var.get(u'_path').callprop(u'isLogicalExpression'): + var.get(u'paths').callprop(u'push', var.get(u'_path').callprop(u'get', Js(u'left'))) + var.get(u'paths').callprop(u'push', var.get(u'_path').callprop(u'get', Js(u'right'))) + if var.get(u'_path').callprop(u'isBinaryExpression'): + var.put(u'type', var.get(u'inferAnnotationFromBinaryExpression')(var.get(u'name'), var.get(u'_path'))) + if var.get(u'type'): + var.get(u'types').callprop(u'push', var.get(u'type')) + if not var.get(u'paths').get(u'length'): + break + if var.get(u'types').get(u'length'): + PyJs_Object_1998_ = Js({u'typeAnnotation':var.get(u't').callprop(u'createUnionTypeAnnotation', var.get(u'types')),u'ifStatement':var.get(u'ifStatement')}) + return PyJs_Object_1998_ + else: + return var.get(u'getConditionalAnnotation')(var.get(u'ifStatement'), var.get(u'name')) + PyJsHoisted_getConditionalAnnotation_.func_name = u'getConditionalAnnotation' + var.put(u'getConditionalAnnotation', PyJsHoisted_getConditionalAnnotation_) + @Js + def PyJsHoisted_getTypeAnnotationBindingConstantViolations_(path, name, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'name':name, u'arguments':arguments}, var) + var.registers([u'_isArray', u'_iterator', u'name', u'violation', u'binding', u'functionConstantViolations', u'_i', u'types', u'path', u'_ref', u'testType', u'constantViolations']) + var.put(u'binding', var.get(u'path').get(u'scope').callprop(u'getBinding', var.get(u'name'))) + var.put(u'types', Js([])) + var.get(u'path').put(u'typeAnnotation', var.get(u't').callprop(u'unionTypeAnnotation', var.get(u'types'))) + var.put(u'functionConstantViolations', Js([])) + var.put(u'constantViolations', var.get(u'getConstantViolationsBefore')(var.get(u'binding'), var.get(u'path'), var.get(u'functionConstantViolations'))) + var.put(u'testType', var.get(u'getConditionalAnnotation')(var.get(u'path'), var.get(u'name'))) + if var.get(u'testType'): + @Js + def PyJs_anonymous_1990_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'testConstantViolations']) + var.put(u'testConstantViolations', var.get(u'getConstantViolationsBefore')(var.get(u'binding'), var.get(u'testType').get(u'ifStatement'))) + @Js + def PyJs_anonymous_1991_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + return (var.get(u'testConstantViolations').callprop(u'indexOf', var.get(u'path'))=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'violation', var.get(u'_ref')) + var.get(u'types').callprop(u'push', var.get(u'violation').callprop(u'getTypeAnnotation')) + + if var.get(u'types').get(u'length'): + return var.get(u't').callprop(u'createUnionTypeAnnotation', var.get(u'types')) + PyJsHoisted_getTypeAnnotationBindingConstantViolations_.func_name = u'getTypeAnnotationBindingConstantViolations' + var.put(u'getTypeAnnotationBindingConstantViolations', PyJsHoisted_getTypeAnnotationBindingConstantViolations_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + @Js + def PyJs_anonymous_1987_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'binding']) + if var.get(u"this").callprop(u'isReferenced').neg(): + return var.get('undefined') + var.put(u'binding', var.get(u"this").get(u'scope').callprop(u'getBinding', var.get(u'node').get(u'name'))) + if var.get(u'binding'): + if var.get(u'binding').get(u'identifier').get(u'typeAnnotation'): + return var.get(u'binding').get(u'identifier').get(u'typeAnnotation') + else: + return var.get(u'getTypeAnnotationBindingConstantViolations')(var.get(u"this"), var.get(u'node').get(u'name')) + if PyJsStrictEq(var.get(u'node').get(u'name'),Js(u'undefined')): + return var.get(u't').callprop(u'voidTypeAnnotation') + else: + if (PyJsStrictEq(var.get(u'node').get(u'name'),Js(u'NaN')) or PyJsStrictEq(var.get(u'node').get(u'name'),Js(u'Infinity'))): + return var.get(u't').callprop(u'numberTypeAnnotation') + else: + if PyJsStrictEq(var.get(u'node').get(u'name'),Js(u'arguments')): + pass + PyJs_anonymous_1987_._set_name(u'anonymous') + var.get(u'exports').put(u'default', PyJs_anonymous_1987_) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + pass + pass + pass + pass + pass + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_1986_._set_name(u'anonymous') +PyJs_Object_1999_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_2000_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'CallExpression', u'UpdateExpression', u'module', u'ObjectExpression', u'_interopRequireDefault', u'resolveCall', u'RegExpLiteral', u'ArrayExpression', u'Func', u'AssignmentExpression', u'exports', u'_interopRequireWildcard', u'RestElement', u'_babelTypes', u'NullLiteral', u'TypeCastExpression', u'SequenceExpression', u'BinaryExpression', u'BooleanLiteral', u'ConditionalExpression', u'UnaryExpression', u'NewExpression', u'require', u'StringLiteral', u'NumericLiteral', u'TaggedTemplateExpression', u't', u'_infererReference', u'TemplateLiteral', u'LogicalExpression', u'VariableDeclarator']) + @Js + def PyJsHoisted_CallExpression_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'resolveCall')(var.get(u"this").callprop(u'get', Js(u'callee'))) + PyJsHoisted_CallExpression_.func_name = u'CallExpression' + var.put(u'CallExpression', PyJsHoisted_CallExpression_) + @Js + def PyJsHoisted_UpdateExpression_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'operator', u'node']) + var.put(u'operator', var.get(u'node').get(u'operator')) + if (PyJsStrictEq(var.get(u'operator'),Js(u'++')) or PyJsStrictEq(var.get(u'operator'),Js(u'--'))): + return var.get(u't').callprop(u'numberTypeAnnotation') + PyJsHoisted_UpdateExpression_.func_name = u'UpdateExpression' + var.put(u'UpdateExpression', PyJsHoisted_UpdateExpression_) + @Js + def PyJsHoisted_ObjectExpression_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'genericTypeAnnotation', var.get(u't').callprop(u'identifier', Js(u'Object'))) + PyJsHoisted_ObjectExpression_.func_name = u'ObjectExpression' + var.put(u'ObjectExpression', PyJsHoisted_ObjectExpression_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2004_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2004_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_resolveCall_(callee, this, arguments, var=var): + var = Scope({u'this':this, u'callee':callee, u'arguments':arguments}, var) + var.registers([u'callee']) + var.put(u'callee', var.get(u'callee').callprop(u'resolve')) + if var.get(u'callee').callprop(u'isFunction'): + if var.get(u'callee').callprop(u'is', Js(u'async')): + if var.get(u'callee').callprop(u'is', Js(u'generator')): + return var.get(u't').callprop(u'genericTypeAnnotation', var.get(u't').callprop(u'identifier', Js(u'AsyncIterator'))) + else: + return var.get(u't').callprop(u'genericTypeAnnotation', var.get(u't').callprop(u'identifier', Js(u'Promise'))) + else: + if var.get(u'callee').get(u'node').get(u'returnType'): + return var.get(u'callee').get(u'node').get(u'returnType') + else: + pass + PyJsHoisted_resolveCall_.func_name = u'resolveCall' + var.put(u'resolveCall', PyJsHoisted_resolveCall_) + @Js + def PyJsHoisted_RegExpLiteral_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'genericTypeAnnotation', var.get(u't').callprop(u'identifier', Js(u'RegExp'))) + PyJsHoisted_RegExpLiteral_.func_name = u'RegExpLiteral' + var.put(u'RegExpLiteral', PyJsHoisted_RegExpLiteral_) + @Js + def PyJsHoisted_ArrayExpression_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'genericTypeAnnotation', var.get(u't').callprop(u'identifier', Js(u'Array'))) + PyJsHoisted_ArrayExpression_.func_name = u'ArrayExpression' + var.put(u'ArrayExpression', PyJsHoisted_ArrayExpression_) + @Js + def PyJsHoisted_Func_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'genericTypeAnnotation', var.get(u't').callprop(u'identifier', Js(u'Function'))) + PyJsHoisted_Func_.func_name = u'Func' + var.put(u'Func', PyJsHoisted_Func_) + @Js + def PyJsHoisted_AssignmentExpression_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this").callprop(u'get', Js(u'right')).callprop(u'getTypeAnnotation') + PyJsHoisted_AssignmentExpression_.func_name = u'AssignmentExpression' + var.put(u'AssignmentExpression', PyJsHoisted_AssignmentExpression_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_2003_ = Js({}) + var.put(u'newObj', PyJs_Object_2003_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_RestElement_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'ArrayExpression')() + PyJsHoisted_RestElement_.func_name = u'RestElement' + var.put(u'RestElement', PyJsHoisted_RestElement_) + @Js + def PyJsHoisted_NullLiteral_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'nullLiteralTypeAnnotation') + PyJsHoisted_NullLiteral_.func_name = u'NullLiteral' + var.put(u'NullLiteral', PyJsHoisted_NullLiteral_) + @Js + def PyJsHoisted_TypeCastExpression_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + return var.get(u'node').get(u'typeAnnotation') + PyJsHoisted_TypeCastExpression_.func_name = u'TypeCastExpression' + var.put(u'TypeCastExpression', PyJsHoisted_TypeCastExpression_) + @Js + def PyJsHoisted_SequenceExpression_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this").callprop(u'get', Js(u'expressions')).callprop(u'pop').callprop(u'getTypeAnnotation') + PyJsHoisted_SequenceExpression_.func_name = u'SequenceExpression' + var.put(u'SequenceExpression', PyJsHoisted_SequenceExpression_) + @Js + def PyJsHoisted_BinaryExpression_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'operator', u'node', u'right', u'left']) + var.put(u'operator', var.get(u'node').get(u'operator')) + if (var.get(u't').get(u'NUMBER_BINARY_OPERATORS').callprop(u'indexOf', var.get(u'operator'))>=Js(0.0)): + return var.get(u't').callprop(u'numberTypeAnnotation') + else: + if (var.get(u't').get(u'BOOLEAN_BINARY_OPERATORS').callprop(u'indexOf', var.get(u'operator'))>=Js(0.0)): + return var.get(u't').callprop(u'booleanTypeAnnotation') + else: + if PyJsStrictEq(var.get(u'operator'),Js(u'+')): + var.put(u'right', var.get(u"this").callprop(u'get', Js(u'right'))) + var.put(u'left', var.get(u"this").callprop(u'get', Js(u'left'))) + if (var.get(u'left').callprop(u'isBaseType', Js(u'number')) and var.get(u'right').callprop(u'isBaseType', Js(u'number'))): + return var.get(u't').callprop(u'numberTypeAnnotation') + else: + if (var.get(u'left').callprop(u'isBaseType', Js(u'string')) or var.get(u'right').callprop(u'isBaseType', Js(u'string'))): + return var.get(u't').callprop(u'stringTypeAnnotation') + return var.get(u't').callprop(u'unionTypeAnnotation', Js([var.get(u't').callprop(u'stringTypeAnnotation'), var.get(u't').callprop(u'numberTypeAnnotation')])) + PyJsHoisted_BinaryExpression_.func_name = u'BinaryExpression' + var.put(u'BinaryExpression', PyJsHoisted_BinaryExpression_) + @Js + def PyJsHoisted_BooleanLiteral_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'booleanTypeAnnotation') + PyJsHoisted_BooleanLiteral_.func_name = u'BooleanLiteral' + var.put(u'BooleanLiteral', PyJsHoisted_BooleanLiteral_) + @Js + def PyJsHoisted_ConditionalExpression_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'createUnionTypeAnnotation', Js([var.get(u"this").callprop(u'get', Js(u'consequent')).callprop(u'getTypeAnnotation'), var.get(u"this").callprop(u'get', Js(u'alternate')).callprop(u'getTypeAnnotation')])) + PyJsHoisted_ConditionalExpression_.func_name = u'ConditionalExpression' + var.put(u'ConditionalExpression', PyJsHoisted_ConditionalExpression_) + @Js + def PyJsHoisted_UnaryExpression_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'operator', u'node']) + var.put(u'operator', var.get(u'node').get(u'operator')) + if PyJsStrictEq(var.get(u'operator'),Js(u'void')): + return var.get(u't').callprop(u'voidTypeAnnotation') + else: + if (var.get(u't').get(u'NUMBER_UNARY_OPERATORS').callprop(u'indexOf', var.get(u'operator'))>=Js(0.0)): + return var.get(u't').callprop(u'numberTypeAnnotation') + else: + if (var.get(u't').get(u'STRING_UNARY_OPERATORS').callprop(u'indexOf', var.get(u'operator'))>=Js(0.0)): + return var.get(u't').callprop(u'stringTypeAnnotation') + else: + if (var.get(u't').get(u'BOOLEAN_UNARY_OPERATORS').callprop(u'indexOf', var.get(u'operator'))>=Js(0.0)): + return var.get(u't').callprop(u'booleanTypeAnnotation') + PyJsHoisted_UnaryExpression_.func_name = u'UnaryExpression' + var.put(u'UnaryExpression', PyJsHoisted_UnaryExpression_) + @Js + def PyJsHoisted_NewExpression_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u"this").callprop(u'get', Js(u'callee')).callprop(u'isIdentifier'): + return var.get(u't').callprop(u'genericTypeAnnotation', var.get(u'node').get(u'callee')) + PyJsHoisted_NewExpression_.func_name = u'NewExpression' + var.put(u'NewExpression', PyJsHoisted_NewExpression_) + @Js + def PyJsHoisted_StringLiteral_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'stringTypeAnnotation') + PyJsHoisted_StringLiteral_.func_name = u'StringLiteral' + var.put(u'StringLiteral', PyJsHoisted_StringLiteral_) + @Js + def PyJsHoisted_NumericLiteral_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'numberTypeAnnotation') + PyJsHoisted_NumericLiteral_.func_name = u'NumericLiteral' + var.put(u'NumericLiteral', PyJsHoisted_NumericLiteral_) + @Js + def PyJsHoisted_TaggedTemplateExpression_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'resolveCall')(var.get(u"this").callprop(u'get', Js(u'tag'))) + PyJsHoisted_TaggedTemplateExpression_.func_name = u'TaggedTemplateExpression' + var.put(u'TaggedTemplateExpression', PyJsHoisted_TaggedTemplateExpression_) + @Js + def PyJsHoisted_TemplateLiteral_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'stringTypeAnnotation') + PyJsHoisted_TemplateLiteral_.func_name = u'TemplateLiteral' + var.put(u'TemplateLiteral', PyJsHoisted_TemplateLiteral_) + @Js + def PyJsHoisted_LogicalExpression_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u't').callprop(u'createUnionTypeAnnotation', Js([var.get(u"this").callprop(u'get', Js(u'left')).callprop(u'getTypeAnnotation'), var.get(u"this").callprop(u'get', Js(u'right')).callprop(u'getTypeAnnotation')])) + PyJsHoisted_LogicalExpression_.func_name = u'LogicalExpression' + var.put(u'LogicalExpression', PyJsHoisted_LogicalExpression_) + @Js + def PyJsHoisted_VariableDeclarator_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'id']) + var.put(u'id', var.get(u"this").callprop(u'get', Js(u'id'))) + if var.get(u'id').callprop(u'isIdentifier'): + return var.get(u"this").callprop(u'get', Js(u'init')).callprop(u'getTypeAnnotation') + else: + return var.get('undefined') + PyJsHoisted_VariableDeclarator_.func_name = u'VariableDeclarator' + var.put(u'VariableDeclarator', PyJsHoisted_VariableDeclarator_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'ClassDeclaration', var.get(u'exports').put(u'ClassExpression', var.get(u'exports').put(u'FunctionDeclaration', var.get(u'exports').put(u'ArrowFunctionExpression', var.get(u'exports').put(u'FunctionExpression', var.get(u'exports').put(u'Identifier', var.get(u'undefined'))))))) + var.put(u'_infererReference', var.get(u'require')(Js(u'./inferer-reference'))) + @Js + def PyJs_get_2002_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2002_}, var) + var.registers([]) + return var.get(u'_interopRequireDefault')(var.get(u'_infererReference')).get(u'default') + PyJs_get_2002_._set_name(u'get') + PyJs_Object_2001_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2002_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'Identifier'), PyJs_Object_2001_) + var.get(u'exports').put(u'VariableDeclarator', var.get(u'VariableDeclarator')) + var.get(u'exports').put(u'TypeCastExpression', var.get(u'TypeCastExpression')) + var.get(u'exports').put(u'NewExpression', var.get(u'NewExpression')) + var.get(u'exports').put(u'TemplateLiteral', var.get(u'TemplateLiteral')) + var.get(u'exports').put(u'UnaryExpression', var.get(u'UnaryExpression')) + var.get(u'exports').put(u'BinaryExpression', var.get(u'BinaryExpression')) + var.get(u'exports').put(u'LogicalExpression', var.get(u'LogicalExpression')) + var.get(u'exports').put(u'ConditionalExpression', var.get(u'ConditionalExpression')) + var.get(u'exports').put(u'SequenceExpression', var.get(u'SequenceExpression')) + var.get(u'exports').put(u'AssignmentExpression', var.get(u'AssignmentExpression')) + var.get(u'exports').put(u'UpdateExpression', var.get(u'UpdateExpression')) + var.get(u'exports').put(u'StringLiteral', var.get(u'StringLiteral')) + var.get(u'exports').put(u'NumericLiteral', var.get(u'NumericLiteral')) + var.get(u'exports').put(u'BooleanLiteral', var.get(u'BooleanLiteral')) + var.get(u'exports').put(u'NullLiteral', var.get(u'NullLiteral')) + var.get(u'exports').put(u'RegExpLiteral', var.get(u'RegExpLiteral')) + var.get(u'exports').put(u'ObjectExpression', var.get(u'ObjectExpression')) + var.get(u'exports').put(u'ArrayExpression', var.get(u'ArrayExpression')) + var.get(u'exports').put(u'RestElement', var.get(u'RestElement')) + var.get(u'exports').put(u'CallExpression', var.get(u'CallExpression')) + var.get(u'exports').put(u'TaggedTemplateExpression', var.get(u'TaggedTemplateExpression')) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + pass + pass + var.get(u'TypeCastExpression').put(u'validParent', var.get(u'true')) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + var.get(u'RestElement').put(u'validParent', var.get(u'true')) + pass + var.get(u'exports').put(u'FunctionExpression', var.get(u'Func')) + var.get(u'exports').put(u'ArrowFunctionExpression', var.get(u'Func')) + var.get(u'exports').put(u'FunctionDeclaration', var.get(u'Func')) + var.get(u'exports').put(u'ClassExpression', var.get(u'Func')) + var.get(u'exports').put(u'ClassDeclaration', var.get(u'Func')) + pass + pass + pass +PyJs_anonymous_2000_._set_name(u'anonymous') +PyJs_Object_2005_ = Js({u'./inferer-reference':Js(234.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_2006_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_resolve', u'is', u'exports', u'module', u'isnt', u'canSwapBetweenExpressionAndStatement', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'referencesImport', u'_typeof2', u'_typeof3', u'canHaveVariableDeclarationOrExpression', u'isStatementOrBlock', u't', u'has', u'_guessExecutionStatusRelativeTo', u'_includes', u'isStatic', u'isCompletionRecord', u'_interopRequireWildcard', u'_babelTypes', u'_includes2', u'equals', u'isNodeType', u'_guessExecutionStatusRelativeToDifferentFunctions', u'resolve', u'willIMaybeExecuteBefore', u'require', u'matchesPattern', u'getSource']) + @Js + def PyJsHoisted__resolve_(dangerous, resolved, this, arguments, var=var): + var = Scope({u'resolved':resolved, u'dangerous':dangerous, u'this':this, u'arguments':arguments}, var) + var.registers([u'resolved', u'dangerous', u'_isArray3', u'target', u'_this', u'_ret', u'_i3', u'binding', u'elems', u'prop', u'match', u'key', u'props', u'targetKey', u'elem', u'targetName', u'_ref3', u'_iterator3']) + var.put(u'_this', var.get(u"this")) + if (var.get(u'resolved') and (var.get(u'resolved').callprop(u'indexOf', var.get(u"this"))>=Js(0.0))): + return var.get('undefined') + var.put(u'resolved', (var.get(u'resolved') or Js([]))) + var.get(u'resolved').callprop(u'push', var.get(u"this")) + if var.get(u"this").callprop(u'isVariableDeclarator'): + if var.get(u"this").callprop(u'get', Js(u'id')).callprop(u'isIdentifier'): + return var.get(u"this").callprop(u'get', Js(u'init')).callprop(u'resolve', var.get(u'dangerous'), var.get(u'resolved')) + else: + pass + else: + if var.get(u"this").callprop(u'isReferencedIdentifier'): + var.put(u'binding', var.get(u"this").get(u'scope').callprop(u'getBinding', var.get(u"this").get(u'node').get(u'name'))) + if var.get(u'binding').neg(): + return var.get('undefined') + if var.get(u'binding').get(u'constant').neg(): + return var.get('undefined') + if PyJsStrictEq(var.get(u'binding').get(u'kind'),Js(u'module')): + return var.get('undefined') + if PyJsStrictNeq(var.get(u'binding').get(u'path'),var.get(u"this")): + @Js + def PyJs_anonymous_2010_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'ret']) + var.put(u'ret', var.get(u'binding').get(u'path').callprop(u'resolve', var.get(u'dangerous'), var.get(u'resolved'))) + @Js + def PyJs_anonymous_2011_(parent, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'parent']) + return PyJsStrictEq(var.get(u'parent').get(u'node'),var.get(u'ret').get(u'node')) + PyJs_anonymous_2011_._set_name(u'anonymous') + if var.get(u'_this').callprop(u'find', PyJs_anonymous_2011_): + PyJs_Object_2012_ = Js({u'v':PyJsComma(Js(0.0), Js(None))}) + return PyJs_Object_2012_ + PyJs_Object_2013_ = Js({u'v':var.get(u'ret')}) + return PyJs_Object_2013_ + PyJs_anonymous_2010_._set_name(u'anonymous') + var.put(u'_ret', PyJs_anonymous_2010_()) + if PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'_ret',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'_ret'))),Js(u'object')): + return var.get(u'_ret').get(u'v') + else: + if var.get(u"this").callprop(u'isTypeCastExpression'): + return var.get(u"this").callprop(u'get', Js(u'expression')).callprop(u'resolve', var.get(u'dangerous'), var.get(u'resolved')) + else: + if (var.get(u'dangerous') and var.get(u"this").callprop(u'isMemberExpression')): + var.put(u'targetKey', var.get(u"this").callprop(u'toComputedKey')) + if var.get(u't').callprop(u'isLiteral', var.get(u'targetKey')).neg(): + return var.get('undefined') + var.put(u'targetName', var.get(u'targetKey').get(u'value')) + var.put(u'target', var.get(u"this").callprop(u'get', Js(u'object')).callprop(u'resolve', var.get(u'dangerous'), var.get(u'resolved'))) + if var.get(u'target').callprop(u'isObjectExpression'): + var.put(u'props', var.get(u'target').callprop(u'get', Js(u'properties'))) + #for JS loop + var.put(u'_iterator3', var.get(u'props')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator3')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'prop', var.get(u'_ref3')) + if var.get(u'prop').callprop(u'isProperty').neg(): + continue + var.put(u'key', var.get(u'prop').callprop(u'get', Js(u'key'))) + PyJs_Object_2014_ = Js({u'name':var.get(u'targetName')}) + var.put(u'match', (var.get(u'prop').callprop(u'isnt', Js(u'computed')) and var.get(u'key').callprop(u'isIdentifier', PyJs_Object_2014_))) + PyJs_Object_2015_ = Js({u'value':var.get(u'targetName')}) + var.put(u'match', (var.get(u'match') or var.get(u'key').callprop(u'isLiteral', PyJs_Object_2015_))) + if var.get(u'match'): + return var.get(u'prop').callprop(u'get', Js(u'value')).callprop(u'resolve', var.get(u'dangerous'), var.get(u'resolved')) + + else: + if (var.get(u'target').callprop(u'isArrayExpression') and var.get(u'isNaN')((+var.get(u'targetName'))).neg()): + var.put(u'elems', var.get(u'target').callprop(u'get', Js(u'elements'))) + var.put(u'elem', var.get(u'elems').get(var.get(u'targetName'))) + if var.get(u'elem'): + return var.get(u'elem').callprop(u'resolve', var.get(u'dangerous'), var.get(u'resolved')) + PyJsHoisted__resolve_.func_name = u'_resolve' + var.put(u'_resolve', PyJsHoisted__resolve_) + @Js + def PyJsHoisted_isStatic_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this").get(u'scope').callprop(u'isStatic', var.get(u"this").get(u'node')) + PyJsHoisted_isStatic_.func_name = u'isStatic' + var.put(u'isStatic', PyJsHoisted_isStatic_) + @Js + def PyJsHoisted_isCompletionRecord_(allowInsideFunction, this, arguments, var=var): + var = Scope({u'this':this, u'allowInsideFunction':allowInsideFunction, u'arguments':arguments}, var) + var.registers([u'path', u'allowInsideFunction', u'container', u'first']) + var.put(u'path', var.get(u"this")) + var.put(u'first', var.get(u'true')) + while 1: + var.put(u'container', var.get(u'path').get(u'container')) + if (var.get(u'path').callprop(u'isFunction') and var.get(u'first').neg()): + return var.get(u'allowInsideFunction').neg().neg() + var.put(u'first', Js(False)) + if (var.get(u'Array').callprop(u'isArray', var.get(u'container')) and PyJsStrictNeq(var.get(u'path').get(u'key'),(var.get(u'container').get(u'length')-Js(1.0)))): + return Js(False) + if not (var.put(u'path', var.get(u'path').get(u'parentPath')) and var.get(u'path').callprop(u'isProgram').neg()): + break + return var.get(u'true') + PyJsHoisted_isCompletionRecord_.func_name = u'isCompletionRecord' + var.put(u'isCompletionRecord', PyJsHoisted_isCompletionRecord_) + @Js + def PyJsHoisted_willIMaybeExecuteBefore_(target, this, arguments, var=var): + var = Scope({u'this':this, u'target':target, u'arguments':arguments}, var) + var.registers([u'target']) + return PyJsStrictNeq(var.get(u"this").callprop(u'_guessExecutionStatusRelativeTo', var.get(u'target')),Js(u'after')) + PyJsHoisted_willIMaybeExecuteBefore_.func_name = u'willIMaybeExecuteBefore' + var.put(u'willIMaybeExecuteBefore', PyJsHoisted_willIMaybeExecuteBefore_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_2007_ = Js({}) + var.put(u'newObj', PyJs_Object_2007_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_canHaveVariableDeclarationOrExpression_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return ((PyJsStrictEq(var.get(u"this").get(u'key'),Js(u'init')) or PyJsStrictEq(var.get(u"this").get(u'key'),Js(u'left'))) and var.get(u"this").get(u'parentPath').callprop(u'isFor')) + PyJsHoisted_canHaveVariableDeclarationOrExpression_.func_name = u'canHaveVariableDeclarationOrExpression' + var.put(u'canHaveVariableDeclarationOrExpression', PyJsHoisted_canHaveVariableDeclarationOrExpression_) + @Js + def PyJsHoisted__guessExecutionStatusRelativeTo_(target, this, arguments, var=var): + var = Scope({u'this':this, u'target':target, u'arguments':arguments}, var) + var.registers([u'status', u'targetKeyPosition', u'target', u'selfIndex', u'selfPath', u'commonPath', u'targetRelationship', u'selfRelationship', u'selfFuncParent', u'selfPaths', u'targetFuncParent', u'targetPaths', u'selfKeyPosition', u'targetIndex']) + var.put(u'targetFuncParent', var.get(u'target').get(u'scope').callprop(u'getFunctionParent')) + var.put(u'selfFuncParent', var.get(u"this").get(u'scope').callprop(u'getFunctionParent')) + if PyJsStrictNeq(var.get(u'targetFuncParent').get(u'node'),var.get(u'selfFuncParent').get(u'node')): + var.put(u'status', var.get(u"this").callprop(u'_guessExecutionStatusRelativeToDifferentFunctions', var.get(u'targetFuncParent'))) + if var.get(u'status'): + return var.get(u'status') + else: + var.put(u'target', var.get(u'targetFuncParent').get(u'path')) + var.put(u'targetPaths', var.get(u'target').callprop(u'getAncestry')) + if (var.get(u'targetPaths').callprop(u'indexOf', var.get(u"this"))>=Js(0.0)): + return Js(u'after') + var.put(u'selfPaths', var.get(u"this").callprop(u'getAncestry')) + var.put(u'commonPath', PyJsComma(Js(0.0), Js(None))) + var.put(u'targetIndex', PyJsComma(Js(0.0), Js(None))) + var.put(u'selfIndex', PyJsComma(Js(0.0), Js(None))) + #for JS loop + var.put(u'selfIndex', Js(0.0)) + while (var.get(u'selfIndex')=Js(0.0)): + var.put(u'commonPath', var.get(u'selfPath')) + break + finally: + (var.put(u'selfIndex',Js(var.get(u'selfIndex').to_number())+Js(1))-Js(1)) + if var.get(u'commonPath').neg(): + return Js(u'before') + var.put(u'targetRelationship', var.get(u'targetPaths').get((var.get(u'targetIndex')-Js(1.0)))) + var.put(u'selfRelationship', var.get(u'selfPaths').get((var.get(u'selfIndex')-Js(1.0)))) + if (var.get(u'targetRelationship').neg() or var.get(u'selfRelationship').neg()): + return Js(u'before') + if (var.get(u'targetRelationship').get(u'listKey') and PyJsStrictEq(var.get(u'targetRelationship').get(u'container'),var.get(u'selfRelationship').get(u'container'))): + return (Js(u'before') if (var.get(u'targetRelationship').get(u'key')>var.get(u'selfRelationship').get(u'key')) else Js(u'after')) + var.put(u'targetKeyPosition', var.get(u't').get(u'VISITOR_KEYS').get(var.get(u'targetRelationship').get(u'type')).callprop(u'indexOf', var.get(u'targetRelationship').get(u'key'))) + var.put(u'selfKeyPosition', var.get(u't').get(u'VISITOR_KEYS').get(var.get(u'selfRelationship').get(u'type')).callprop(u'indexOf', var.get(u'selfRelationship').get(u'key'))) + return (Js(u'before') if (var.get(u'targetKeyPosition')>var.get(u'selfKeyPosition')) else Js(u'after')) + PyJsHoisted__guessExecutionStatusRelativeTo_.func_name = u'_guessExecutionStatusRelativeTo' + var.put(u'_guessExecutionStatusRelativeTo', PyJsHoisted__guessExecutionStatusRelativeTo_) + @Js + def PyJsHoisted_equals_(key, value, this, arguments, var=var): + var = Scope({u'this':this, u'value':value, u'key':key, u'arguments':arguments}, var) + var.registers([u'value', u'key']) + return PyJsStrictEq(var.get(u"this").get(u'node').get(var.get(u'key')),var.get(u'value')) + PyJsHoisted_equals_.func_name = u'equals' + var.put(u'equals', PyJsHoisted_equals_) + @Js + def PyJsHoisted_isNodeType_(type, this, arguments, var=var): + var = Scope({u'this':this, u'type':type, u'arguments':arguments}, var) + var.registers([u'type']) + return var.get(u't').callprop(u'isType', var.get(u"this").get(u'type'), var.get(u'type')) + PyJsHoisted_isNodeType_.func_name = u'isNodeType' + var.put(u'isNodeType', PyJsHoisted_isNodeType_) + @Js + def PyJsHoisted_isStatementOrBlock_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if (var.get(u"this").get(u'parentPath').callprop(u'isLabeledStatement') or var.get(u't').callprop(u'isBlockStatement', var.get(u"this").get(u'container'))): + return Js(False) + else: + return PyJsComma(Js(0.0),var.get(u'_includes2').get(u'default'))(var.get(u't').get(u'STATEMENT_OR_BLOCK_KEYS'), var.get(u"this").get(u'key')) + PyJsHoisted_isStatementOrBlock_.func_name = u'isStatementOrBlock' + var.put(u'isStatementOrBlock', PyJsHoisted_isStatementOrBlock_) + @Js + def PyJsHoisted_isnt_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'key']) + return var.get(u"this").callprop(u'has', var.get(u'key')).neg() + PyJsHoisted_isnt_.func_name = u'isnt' + var.put(u'isnt', PyJsHoisted_isnt_) + @Js + def PyJsHoisted_resolve_(dangerous, resolved, this, arguments, var=var): + var = Scope({u'resolved':resolved, u'dangerous':dangerous, u'this':this, u'arguments':arguments}, var) + var.registers([u'resolved', u'dangerous']) + return (var.get(u"this").callprop(u'_resolve', var.get(u'dangerous'), var.get(u'resolved')) or var.get(u"this")) + PyJsHoisted_resolve_.func_name = u'resolve' + var.put(u'resolve', PyJsHoisted_resolve_) + @Js + def PyJsHoisted_matchesPattern_(pattern, allowPartial, this, arguments, var=var): + var = Scope({u'this':this, u'pattern':pattern, u'arguments':arguments, u'allowPartial':allowPartial}, var) + var.registers([u'node', u'search', u'i', u'pattern', u'allowPartial', u'matches', u'parts']) + @Js + def PyJsHoisted_matches_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'part', u'name']) + var.put(u'part', var.get(u'parts').get(var.get(u'i'))) + return (PyJsStrictEq(var.get(u'part'),Js(u'*')) or PyJsStrictEq(var.get(u'name'),var.get(u'part'))) + PyJsHoisted_matches_.func_name = u'matches' + var.put(u'matches', PyJsHoisted_matches_) + if var.get(u"this").callprop(u'isMemberExpression').neg(): + return Js(False) + var.put(u'parts', var.get(u'pattern').callprop(u'split', Js(u'.'))) + var.put(u'search', Js([var.get(u"this").get(u'node')])) + var.put(u'i', Js(0.0)) + pass + while var.get(u'search').get(u'length'): + var.put(u'node', var.get(u'search').callprop(u'shift')) + if (var.get(u'allowPartial') and PyJsStrictEq(var.get(u'i'),var.get(u'parts').get(u'length'))): + return var.get(u'true') + if var.get(u't').callprop(u'isIdentifier', var.get(u'node')): + if var.get(u'matches')(var.get(u'node').get(u'name')).neg(): + return Js(False) + else: + if var.get(u't').callprop(u'isLiteral', var.get(u'node')): + if var.get(u'matches')(var.get(u'node').get(u'value')).neg(): + return Js(False) + else: + if var.get(u't').callprop(u'isMemberExpression', var.get(u'node')): + if (var.get(u'node').get(u'computed') and var.get(u't').callprop(u'isLiteral', var.get(u'node').get(u'property')).neg()): + return Js(False) + else: + var.get(u'search').callprop(u'unshift', var.get(u'node').get(u'property')) + var.get(u'search').callprop(u'unshift', var.get(u'node').get(u'object')) + continue + else: + if var.get(u't').callprop(u'isThisExpression', var.get(u'node')): + if var.get(u'matches')(Js(u'this')).neg(): + return Js(False) + else: + return Js(False) + if (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))>var.get(u'parts').get(u'length')): + return Js(False) + return PyJsStrictEq(var.get(u'i'),var.get(u'parts').get(u'length')) + PyJsHoisted_matchesPattern_.func_name = u'matchesPattern' + var.put(u'matchesPattern', PyJsHoisted_matchesPattern_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2008_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2008_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_getSource_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.put(u'node', var.get(u"this").get(u'node')) + if var.get(u'node').get(u'end'): + return var.get(u"this").get(u'hub').get(u'file').get(u'code').callprop(u'slice', var.get(u'node').get(u'start'), var.get(u'node').get(u'end')) + else: + return Js(u'') + PyJsHoisted_getSource_.func_name = u'getSource' + var.put(u'getSource', PyJsHoisted_getSource_) + @Js + def PyJsHoisted_has_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'key', u'val']) + var.put(u'val', (var.get(u"this").get(u'node') and var.get(u"this").get(u'node').get(var.get(u'key')))) + if (var.get(u'val') and var.get(u'Array').callprop(u'isArray', var.get(u'val'))): + return var.get(u'val').get(u'length').neg().neg() + else: + return var.get(u'val').neg().neg() + PyJsHoisted_has_.func_name = u'has' + var.put(u'has', PyJsHoisted_has_) + @Js + def PyJsHoisted_referencesImport_(moduleSource, importName, this, arguments, var=var): + var = Scope({u'importName':importName, u'this':this, u'moduleSource':moduleSource, u'arguments':arguments}, var) + var.registers([u'importName', u'path', u'moduleSource', u'binding', u'parent']) + if var.get(u"this").callprop(u'isReferencedIdentifier').neg(): + return Js(False) + var.put(u'binding', var.get(u"this").get(u'scope').callprop(u'getBinding', var.get(u"this").get(u'node').get(u'name'))) + if (var.get(u'binding').neg() or PyJsStrictNeq(var.get(u'binding').get(u'kind'),Js(u'module'))): + return Js(False) + var.put(u'path', var.get(u'binding').get(u'path')) + var.put(u'parent', var.get(u'path').get(u'parentPath')) + if var.get(u'parent').callprop(u'isImportDeclaration').neg(): + return Js(False) + if PyJsStrictEq(var.get(u'parent').get(u'node').get(u'source').get(u'value'),var.get(u'moduleSource')): + if var.get(u'importName').neg(): + return var.get(u'true') + else: + return Js(False) + if (var.get(u'path').callprop(u'isImportDefaultSpecifier') and PyJsStrictEq(var.get(u'importName'),Js(u'default'))): + return var.get(u'true') + if (var.get(u'path').callprop(u'isImportNamespaceSpecifier') and PyJsStrictEq(var.get(u'importName'),Js(u'*'))): + return var.get(u'true') + if (var.get(u'path').callprop(u'isImportSpecifier') and PyJsStrictEq(var.get(u'path').get(u'node').get(u'imported').get(u'name'),var.get(u'importName'))): + return var.get(u'true') + return Js(False) + PyJsHoisted_referencesImport_.func_name = u'referencesImport' + var.put(u'referencesImport', PyJsHoisted_referencesImport_) + @Js + def PyJsHoisted__guessExecutionStatusRelativeToDifferentFunctions_(targetFuncParent, this, arguments, var=var): + var = Scope({u'this':this, u'targetFuncParent':targetFuncParent, u'arguments':arguments}, var) + var.registers([u'status', u'targetFuncPath', u'referencePaths', u'_iterator', u'_isArray2', u'binding', u'_isArray', u'_i2', u'childOfFunction', u'targetFuncParent', u'_i', u'_path', u'path', u'_ref', u'_ref2', u'allStatus', u'_iterator2']) + var.put(u'targetFuncPath', var.get(u'targetFuncParent').get(u'path')) + if var.get(u'targetFuncPath').callprop(u'isFunctionDeclaration').neg(): + return var.get('undefined') + var.put(u'binding', var.get(u'targetFuncPath').get(u'scope').callprop(u'getBinding', var.get(u'targetFuncPath').get(u'node').get(u'id').get(u'name'))) + if var.get(u'binding').get(u'references').neg(): + return Js(u'before') + var.put(u'referencePaths', var.get(u'binding').get(u'referencePaths')) + #for JS loop + var.put(u'_iterator', var.get(u'referencePaths')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'path', var.get(u'_ref')) + if (PyJsStrictNeq(var.get(u'path').get(u'key'),Js(u'callee')) or var.get(u'path').get(u'parentPath').callprop(u'isCallExpression').neg()): + return var.get('undefined') + + var.put(u'allStatus', PyJsComma(Js(0.0), Js(None))) + #for JS loop + var.put(u'_iterator2', var.get(u'referencePaths')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'_path', var.get(u'_ref2')) + @Js + def PyJs_anonymous_2009_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + return PyJsStrictEq(var.get(u'path').get(u'node'),var.get(u'targetFuncPath').get(u'node')) + PyJs_anonymous_2009_._set_name(u'anonymous') + var.put(u'childOfFunction', var.get(u'_path').callprop(u'find', PyJs_anonymous_2009_).neg().neg()) + if var.get(u'childOfFunction'): + continue + var.put(u'status', var.get(u"this").callprop(u'_guessExecutionStatusRelativeTo', var.get(u'_path'))) + if var.get(u'allStatus'): + if PyJsStrictNeq(var.get(u'allStatus'),var.get(u'status')): + return var.get('undefined') + else: + var.put(u'allStatus', var.get(u'status')) + + return var.get(u'allStatus') + PyJsHoisted__guessExecutionStatusRelativeToDifferentFunctions_.func_name = u'_guessExecutionStatusRelativeToDifferentFunctions' + var.put(u'_guessExecutionStatusRelativeToDifferentFunctions', PyJsHoisted__guessExecutionStatusRelativeToDifferentFunctions_) + @Js + def PyJsHoisted_canSwapBetweenExpressionAndStatement_(replacement, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'replacement':replacement}, var) + var.registers([u'replacement']) + if (PyJsStrictNeq(var.get(u"this").get(u'key'),Js(u'body')) or var.get(u"this").get(u'parentPath').callprop(u'isArrowFunctionExpression').neg()): + return Js(False) + if var.get(u"this").callprop(u'isExpression'): + return var.get(u't').callprop(u'isBlockStatement', var.get(u'replacement')) + else: + if var.get(u"this").callprop(u'isBlockStatement'): + return var.get(u't').callprop(u'isExpression', var.get(u'replacement')) + return Js(False) + PyJsHoisted_canSwapBetweenExpressionAndStatement_.func_name = u'canSwapBetweenExpressionAndStatement' + var.put(u'canSwapBetweenExpressionAndStatement', PyJsHoisted_canSwapBetweenExpressionAndStatement_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.get(u'exports').put(u'is', var.get(u'undefined')) + var.put(u'_typeof2', var.get(u'require')(Js(u'babel-runtime/helpers/typeof'))) + var.put(u'_typeof3', var.get(u'_interopRequireDefault')(var.get(u'_typeof2'))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.get(u'exports').put(u'matchesPattern', var.get(u'matchesPattern')) + var.get(u'exports').put(u'has', var.get(u'has')) + var.get(u'exports').put(u'isStatic', var.get(u'isStatic')) + var.get(u'exports').put(u'isnt', var.get(u'isnt')) + var.get(u'exports').put(u'equals', var.get(u'equals')) + var.get(u'exports').put(u'isNodeType', var.get(u'isNodeType')) + var.get(u'exports').put(u'canHaveVariableDeclarationOrExpression', var.get(u'canHaveVariableDeclarationOrExpression')) + var.get(u'exports').put(u'canSwapBetweenExpressionAndStatement', var.get(u'canSwapBetweenExpressionAndStatement')) + var.get(u'exports').put(u'isCompletionRecord', var.get(u'isCompletionRecord')) + var.get(u'exports').put(u'isStatementOrBlock', var.get(u'isStatementOrBlock')) + var.get(u'exports').put(u'referencesImport', var.get(u'referencesImport')) + var.get(u'exports').put(u'getSource', var.get(u'getSource')) + var.get(u'exports').put(u'willIMaybeExecuteBefore', var.get(u'willIMaybeExecuteBefore')) + var.get(u'exports').put(u'_guessExecutionStatusRelativeTo', var.get(u'_guessExecutionStatusRelativeTo')) + var.get(u'exports').put(u'_guessExecutionStatusRelativeToDifferentFunctions', var.get(u'_guessExecutionStatusRelativeToDifferentFunctions')) + var.get(u'exports').put(u'resolve', var.get(u'resolve')) + var.get(u'exports').put(u'_resolve', var.get(u'_resolve')) + var.put(u'_includes', var.get(u'require')(Js(u'lodash/includes'))) + var.put(u'_includes2', var.get(u'_interopRequireDefault')(var.get(u'_includes'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + pass + pass + pass + var.put(u'is', var.get(u'exports').put(u'is', var.get(u'has'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass +PyJs_anonymous_2006_._set_name(u'anonymous') +PyJs_Object_2016_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/helpers/typeof':Js(114.0),u'babel-types':Js(258.0),u'lodash/includes':Js(456.0)}) +@Js +def PyJs_anonymous_2017_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_classCallCheck2', u'PathHoister', u'_interopRequireWildcard', u'require', u'_babelTypes', u'module', u'referenceVisitor', u't', u'_interopRequireDefault', u'_classCallCheck3', u'_getIterator3', u'_getIterator2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2019_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2019_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_2018_ = Js({}) + var.put(u'newObj', PyJs_Object_2018_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + @Js + def PyJs_ReferencedIdentifier_2021_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'ReferencedIdentifier':PyJs_ReferencedIdentifier_2021_, u'arguments':arguments}, var) + var.registers([u'_isArray', u'_iterator', u'binding', u'violationPath', u'state', u'_i', u'path', u'_ref']) + if (var.get(u'path').callprop(u'isJSXIdentifier') and var.get(u'_babelTypes').get(u'react').callprop(u'isCompatTag', var.get(u'path').get(u'node').get(u'name'))): + return var.get('undefined') + var.put(u'binding', var.get(u'path').get(u'scope').callprop(u'getBinding', var.get(u'path').get(u'node').get(u'name'))) + if var.get(u'binding').neg(): + return var.get('undefined') + if PyJsStrictNeq(var.get(u'binding'),var.get(u'state').get(u'scope').callprop(u'getBinding', var.get(u'path').get(u'node').get(u'name'))): + return var.get('undefined') + if var.get(u'binding').get(u'constant'): + var.get(u'state').get(u'bindings').put(var.get(u'path').get(u'node').get(u'name'), var.get(u'binding')) + else: + #for JS loop + var.put(u'_iterator', var.get(u'binding').get(u'constantViolations')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'violationPath', var.get(u'_ref')) + var.get(u'state').put(u'breakOnScopePaths', var.get(u'state').get(u'breakOnScopePaths').callprop(u'concat', var.get(u'violationPath').callprop(u'getAncestry'))) + + PyJs_ReferencedIdentifier_2021_._set_name(u'ReferencedIdentifier') + PyJs_Object_2020_ = Js({u'ReferencedIdentifier':PyJs_ReferencedIdentifier_2021_}) + var.put(u'referenceVisitor', PyJs_Object_2020_) + @Js + def PyJs_anonymous_2022_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'PathHoister']) + @Js + def PyJsHoisted_PathHoister_(path, scope, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'scope':scope}, var) + var.registers([u'path', u'scope']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'PathHoister')) + var.get(u"this").put(u'breakOnScopePaths', Js([])) + PyJs_Object_2023_ = Js({}) + var.get(u"this").put(u'bindings', PyJs_Object_2023_) + var.get(u"this").put(u'scopes', Js([])) + var.get(u"this").put(u'scope', var.get(u'scope')) + var.get(u"this").put(u'path', var.get(u'path')) + PyJsHoisted_PathHoister_.func_name = u'PathHoister' + var.put(u'PathHoister', PyJsHoisted_PathHoister_) + pass + @Js + def PyJs_isCompatibleScope_2024_(scope, this, arguments, var=var): + var = Scope({u'this':this, u'scope':scope, u'arguments':arguments, u'isCompatibleScope':PyJs_isCompatibleScope_2024_}, var) + var.registers([u'scope', u'binding', u'key']) + for PyJsTemp in var.get(u"this").get(u'bindings'): + var.put(u'key', PyJsTemp) + var.put(u'binding', var.get(u"this").get(u'bindings').get(var.get(u'key'))) + if var.get(u'scope').callprop(u'bindingIdentifierEquals', var.get(u'key'), var.get(u'binding').get(u'identifier')).neg(): + return Js(False) + return var.get(u'true') + PyJs_isCompatibleScope_2024_._set_name(u'isCompatibleScope') + var.get(u'PathHoister').get(u'prototype').put(u'isCompatibleScope', PyJs_isCompatibleScope_2024_) + @Js + def PyJs_getCompatibleScopes_2025_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'getCompatibleScopes':PyJs_getCompatibleScopes_2025_}, var) + var.registers([u'scope']) + var.put(u'scope', var.get(u"this").get(u'path').get(u'scope')) + while 1: + if var.get(u"this").callprop(u'isCompatibleScope', var.get(u'scope')): + var.get(u"this").get(u'scopes').callprop(u'push', var.get(u'scope')) + else: + break + if (var.get(u"this").get(u'breakOnScopePaths').callprop(u'indexOf', var.get(u'scope').get(u'path'))>=Js(0.0)): + break + if not var.put(u'scope', var.get(u'scope').get(u'parent')): + break + PyJs_getCompatibleScopes_2025_._set_name(u'getCompatibleScopes') + var.get(u'PathHoister').get(u'prototype').put(u'getCompatibleScopes', PyJs_getCompatibleScopes_2025_) + @Js + def PyJs_getAttachmentPath_2026_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'getAttachmentPath':PyJs_getAttachmentPath_2026_}, var) + var.registers([u'path', u'binding', u'name', u'targetScope']) + var.put(u'path', var.get(u"this").callprop(u'_getAttachmentPath')) + if var.get(u'path').neg(): + return var.get('undefined') + var.put(u'targetScope', var.get(u'path').get(u'scope')) + if PyJsStrictEq(var.get(u'targetScope').get(u'path'),var.get(u'path')): + var.put(u'targetScope', var.get(u'path').get(u'scope').get(u'parent')) + if (var.get(u'targetScope').get(u'path').callprop(u'isProgram') or var.get(u'targetScope').get(u'path').callprop(u'isFunction')): + for PyJsTemp in var.get(u"this").get(u'bindings'): + var.put(u'name', PyJsTemp) + if var.get(u'targetScope').callprop(u'hasOwnBinding', var.get(u'name')).neg(): + continue + var.put(u'binding', var.get(u"this").get(u'bindings').get(var.get(u'name'))) + if PyJsStrictEq(var.get(u'binding').get(u'kind'),Js(u'param')): + continue + if (var.get(u'binding').get(u'path').callprop(u'getStatementParent').get(u'key')>var.get(u'path').get(u'key')): + return var.get('undefined') + return var.get(u'path') + PyJs_getAttachmentPath_2026_._set_name(u'getAttachmentPath') + var.get(u'PathHoister').get(u'prototype').put(u'getAttachmentPath', PyJs_getAttachmentPath_2026_) + @Js + def PyJs__getAttachmentPath_2027_(this, arguments, var=var): + var = Scope({u'this':this, u'_getAttachmentPath':PyJs__getAttachmentPath_2027_, u'arguments':arguments}, var) + var.registers([u'scopes', u'scope']) + var.put(u'scopes', var.get(u"this").get(u'scopes')) + var.put(u'scope', var.get(u'scopes').callprop(u'pop')) + if var.get(u'scope').neg(): + return var.get('undefined') + if var.get(u'scope').get(u'path').callprop(u'isFunction'): + if var.get(u"this").callprop(u'hasOwnParamBindings', var.get(u'scope')): + if PyJsStrictEq(var.get(u"this").get(u'scope'),var.get(u'scope')): + return var.get('undefined') + return var.get(u'scope').get(u'path').callprop(u'get', Js(u'body')).callprop(u'get', Js(u'body')).get(u'0') + else: + return var.get(u"this").callprop(u'getNextScopeStatementParent') + else: + if var.get(u'scope').get(u'path').callprop(u'isProgram'): + return var.get(u"this").callprop(u'getNextScopeStatementParent') + PyJs__getAttachmentPath_2027_._set_name(u'_getAttachmentPath') + var.get(u'PathHoister').get(u'prototype').put(u'_getAttachmentPath', PyJs__getAttachmentPath_2027_) + @Js + def PyJs_getNextScopeStatementParent_2028_(this, arguments, var=var): + var = Scope({u'this':this, u'getNextScopeStatementParent':PyJs_getNextScopeStatementParent_2028_, u'arguments':arguments}, var) + var.registers([u'scope']) + var.put(u'scope', var.get(u"this").get(u'scopes').callprop(u'pop')) + if var.get(u'scope'): + return var.get(u'scope').get(u'path').callprop(u'getStatementParent') + PyJs_getNextScopeStatementParent_2028_._set_name(u'getNextScopeStatementParent') + var.get(u'PathHoister').get(u'prototype').put(u'getNextScopeStatementParent', PyJs_getNextScopeStatementParent_2028_) + @Js + def PyJs_hasOwnParamBindings_2029_(scope, this, arguments, var=var): + var = Scope({u'this':this, u'scope':scope, u'arguments':arguments, u'hasOwnParamBindings':PyJs_hasOwnParamBindings_2029_}, var) + var.registers([u'scope', u'binding', u'name']) + for PyJsTemp in var.get(u"this").get(u'bindings'): + var.put(u'name', PyJsTemp) + if var.get(u'scope').callprop(u'hasOwnBinding', var.get(u'name')).neg(): + continue + var.put(u'binding', var.get(u"this").get(u'bindings').get(var.get(u'name'))) + if PyJsStrictEq(var.get(u'binding').get(u'kind'),Js(u'param')): + return var.get(u'true') + return Js(False) + PyJs_hasOwnParamBindings_2029_._set_name(u'hasOwnParamBindings') + var.get(u'PathHoister').get(u'prototype').put(u'hasOwnParamBindings', PyJs_hasOwnParamBindings_2029_) + @Js + def PyJs_run_2030_(this, arguments, var=var): + var = Scope({u'this':this, u'run':PyJs_run_2030_, u'arguments':arguments}, var) + var.registers([u'node', u'attachTo', u'uid', u'parent']) + var.put(u'node', var.get(u"this").get(u'path').get(u'node')) + if var.get(u'node').get(u'_hoisted'): + return var.get('undefined') + var.get(u'node').put(u'_hoisted', var.get(u'true')) + var.get(u"this").get(u'path').callprop(u'traverse', var.get(u'referenceVisitor'), var.get(u"this")) + var.get(u"this").callprop(u'getCompatibleScopes') + var.put(u'attachTo', var.get(u"this").callprop(u'getAttachmentPath')) + if var.get(u'attachTo').neg(): + return var.get('undefined') + if PyJsStrictEq(var.get(u'attachTo').callprop(u'getFunctionParent'),var.get(u"this").get(u'path').callprop(u'getFunctionParent')): + return var.get('undefined') + var.put(u'uid', var.get(u'attachTo').get(u'scope').callprop(u'generateUidIdentifier', Js(u'ref'))) + var.get(u'attachTo').callprop(u'insertBefore', Js([var.get(u't').callprop(u'variableDeclaration', Js(u'var'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u'uid'), var.get(u"this").get(u'path').get(u'node'))]))])) + var.put(u'parent', var.get(u"this").get(u'path').get(u'parentPath')) + if (var.get(u'parent').callprop(u'isJSXElement') and PyJsStrictEq(var.get(u"this").get(u'path').get(u'container'),var.get(u'parent').get(u'node').get(u'children'))): + var.put(u'uid', var.get(u't').callprop(u'JSXExpressionContainer', var.get(u'uid'))) + var.get(u"this").get(u'path').callprop(u'replaceWith', var.get(u'uid')) + PyJs_run_2030_._set_name(u'run') + var.get(u'PathHoister').get(u'prototype').put(u'run', PyJs_run_2030_) + return var.get(u'PathHoister') + PyJs_anonymous_2022_._set_name(u'anonymous') + var.put(u'PathHoister', PyJs_anonymous_2022_()) + var.get(u'exports').put(u'default', var.get(u'PathHoister')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_2017_._set_name(u'anonymous') +PyJs_Object_2031_ = Js({u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/helpers/classCallCheck':Js(110.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_2032_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'hooks', u'require', u'exports', u'module']) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + @Js + def PyJs_anonymous_2033_(self, parent, this, arguments, var=var): + var = Scope({u'this':this, u'self':self, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'self', u'parent']) + if (PyJsStrictEq(var.get(u'self').get(u'key'),Js(u'body')) and var.get(u'parent').callprop(u'isArrowFunctionExpression')): + var.get(u'self').callprop(u'replaceWith', var.get(u'self').get(u'scope').callprop(u'buildUndefinedNode')) + return var.get(u'true') + PyJs_anonymous_2033_._set_name(u'anonymous') + @Js + def PyJs_anonymous_2034_(self, parent, this, arguments, var=var): + var = Scope({u'this':this, u'self':self, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'self', u'removeParent', u'parent']) + var.put(u'removeParent', Js(False)) + var.put(u'removeParent', (var.get(u'removeParent') or (PyJsStrictEq(var.get(u'self').get(u'key'),Js(u'test')) and (var.get(u'parent').callprop(u'isWhile') or var.get(u'parent').callprop(u'isSwitchCase'))))) + var.put(u'removeParent', (var.get(u'removeParent') or (PyJsStrictEq(var.get(u'self').get(u'key'),Js(u'declaration')) and var.get(u'parent').callprop(u'isExportDeclaration')))) + var.put(u'removeParent', (var.get(u'removeParent') or (PyJsStrictEq(var.get(u'self').get(u'key'),Js(u'body')) and var.get(u'parent').callprop(u'isLabeledStatement')))) + var.put(u'removeParent', (var.get(u'removeParent') or ((PyJsStrictEq(var.get(u'self').get(u'listKey'),Js(u'declarations')) and var.get(u'parent').callprop(u'isVariableDeclaration')) and PyJsStrictEq(var.get(u'parent').get(u'node').get(u'declarations').get(u'length'),Js(1.0))))) + var.put(u'removeParent', (var.get(u'removeParent') or (PyJsStrictEq(var.get(u'self').get(u'key'),Js(u'expression')) and var.get(u'parent').callprop(u'isExpressionStatement')))) + if var.get(u'removeParent'): + var.get(u'parent').callprop(u'remove') + return var.get(u'true') + PyJs_anonymous_2034_._set_name(u'anonymous') + @Js + def PyJs_anonymous_2035_(self, parent, this, arguments, var=var): + var = Scope({u'this':this, u'self':self, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'self', u'parent']) + if (var.get(u'parent').callprop(u'isSequenceExpression') and PyJsStrictEq(var.get(u'parent').get(u'node').get(u'expressions').get(u'length'),Js(1.0))): + var.get(u'parent').callprop(u'replaceWith', var.get(u'parent').get(u'node').get(u'expressions').get(u'0')) + return var.get(u'true') + PyJs_anonymous_2035_._set_name(u'anonymous') + @Js + def PyJs_anonymous_2036_(self, parent, this, arguments, var=var): + var = Scope({u'this':this, u'self':self, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'self', u'parent']) + if var.get(u'parent').callprop(u'isBinary'): + if PyJsStrictEq(var.get(u'self').get(u'key'),Js(u'left')): + var.get(u'parent').callprop(u'replaceWith', var.get(u'parent').get(u'node').get(u'right')) + else: + var.get(u'parent').callprop(u'replaceWith', var.get(u'parent').get(u'node').get(u'left')) + return var.get(u'true') + PyJs_anonymous_2036_._set_name(u'anonymous') + @Js + def PyJs_anonymous_2037_(self, parent, this, arguments, var=var): + var = Scope({u'this':this, u'self':self, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'self', u'parent']) + if ((var.get(u'parent').callprop(u'isIfStatement') and (PyJsStrictEq(var.get(u'self').get(u'key'),Js(u'consequent')) or PyJsStrictEq(var.get(u'self').get(u'key'),Js(u'alternate')))) or (var.get(u'parent').callprop(u'isLoop') and PyJsStrictEq(var.get(u'self').get(u'key'),Js(u'body')))): + PyJs_Object_2038_ = Js({u'type':Js(u'BlockStatement'),u'body':Js([])}) + var.get(u'self').callprop(u'replaceWith', PyJs_Object_2038_) + return var.get(u'true') + PyJs_anonymous_2037_._set_name(u'anonymous') + var.put(u'hooks', var.get(u'exports').put(u'hooks', Js([PyJs_anonymous_2033_, PyJs_anonymous_2034_, PyJs_anonymous_2035_, PyJs_anonymous_2036_, PyJs_anonymous_2037_]))) +PyJs_anonymous_2032_._set_name(u'anonymous') +PyJs_Object_2039_ = Js({}) +@Js +def PyJs_anonymous_2040_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'Referenced', u'ReferencedIdentifier', u'Pure', u'_interopRequireWildcard', u'require', u'_babelTypes', u'Flow', u'module', u'ReferencedMemberExpression', u'BlockScoped', u'Generated', u'User', u't', u'Statement', u'Var', u'Scope', u'Expression', u'BindingIdentifier']) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_2042_ = Js({}) + var.put(u'newObj', PyJs_Object_2042_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + def PyJs_LONG_2041_(var=var): + return var.get(u'exports').put(u'Var', var.get(u'exports').put(u'BlockScoped', var.get(u'exports').put(u'Referenced', var.get(u'exports').put(u'Scope', var.get(u'exports').put(u'Expression', var.get(u'exports').put(u'Statement', var.get(u'exports').put(u'BindingIdentifier', var.get(u'exports').put(u'ReferencedMemberExpression', var.get(u'exports').put(u'ReferencedIdentifier', var.get(u'undefined')))))))))) + var.get(u'exports').put(u'Flow', var.get(u'exports').put(u'Pure', var.get(u'exports').put(u'Generated', var.get(u'exports').put(u'User', PyJs_LONG_2041_())))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + @Js + def PyJs_checkPath_2044_(_ref, opts, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'checkPath':PyJs_checkPath_2044_, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'node', u'_ref', u'opts', u'parent']) + var.put(u'node', var.get(u'_ref').get(u'node')) + var.put(u'parent', var.get(u'_ref').get(u'parent')) + if (var.get(u't').callprop(u'isIdentifier', var.get(u'node'), var.get(u'opts')).neg() and var.get(u't').callprop(u'isJSXMemberExpression', var.get(u'parent'), var.get(u'opts')).neg()): + if var.get(u't').callprop(u'isJSXIdentifier', var.get(u'node'), var.get(u'opts')): + if var.get(u'_babelTypes').get(u'react').callprop(u'isCompatTag', var.get(u'node').get(u'name')): + return Js(False) + else: + return Js(False) + return var.get(u't').callprop(u'isReferenced', var.get(u'node'), var.get(u'parent')) + PyJs_checkPath_2044_._set_name(u'checkPath') + PyJs_Object_2043_ = Js({u'types':Js([Js(u'Identifier'), Js(u'JSXIdentifier')]),u'checkPath':PyJs_checkPath_2044_}) + var.put(u'ReferencedIdentifier', var.get(u'exports').put(u'ReferencedIdentifier', PyJs_Object_2043_)) + @Js + def PyJs_checkPath_2046_(_ref2, this, arguments, var=var): + var = Scope({u'this':this, u'checkPath':PyJs_checkPath_2046_, u'_ref2':_ref2, u'arguments':arguments}, var) + var.registers([u'node', u'_ref2', u'parent']) + var.put(u'node', var.get(u'_ref2').get(u'node')) + var.put(u'parent', var.get(u'_ref2').get(u'parent')) + return (var.get(u't').callprop(u'isMemberExpression', var.get(u'node')) and var.get(u't').callprop(u'isReferenced', var.get(u'node'), var.get(u'parent'))) + PyJs_checkPath_2046_._set_name(u'checkPath') + PyJs_Object_2045_ = Js({u'types':Js([Js(u'MemberExpression')]),u'checkPath':PyJs_checkPath_2046_}) + var.put(u'ReferencedMemberExpression', var.get(u'exports').put(u'ReferencedMemberExpression', PyJs_Object_2045_)) + @Js + def PyJs_checkPath_2048_(_ref3, this, arguments, var=var): + var = Scope({u'this':this, u'checkPath':PyJs_checkPath_2048_, u'_ref3':_ref3, u'arguments':arguments}, var) + var.registers([u'node', u'_ref3', u'parent']) + var.put(u'node', var.get(u'_ref3').get(u'node')) + var.put(u'parent', var.get(u'_ref3').get(u'parent')) + return (var.get(u't').callprop(u'isIdentifier', var.get(u'node')) and var.get(u't').callprop(u'isBinding', var.get(u'node'), var.get(u'parent'))) + PyJs_checkPath_2048_._set_name(u'checkPath') + PyJs_Object_2047_ = Js({u'types':Js([Js(u'Identifier')]),u'checkPath':PyJs_checkPath_2048_}) + var.put(u'BindingIdentifier', var.get(u'exports').put(u'BindingIdentifier', PyJs_Object_2047_)) + @Js + def PyJs_checkPath_2050_(_ref4, this, arguments, var=var): + var = Scope({u'this':this, u'_ref4':_ref4, u'checkPath':PyJs_checkPath_2050_, u'arguments':arguments}, var) + var.registers([u'node', u'_ref4', u'parent']) + var.put(u'node', var.get(u'_ref4').get(u'node')) + var.put(u'parent', var.get(u'_ref4').get(u'parent')) + if var.get(u't').callprop(u'isStatement', var.get(u'node')): + if var.get(u't').callprop(u'isVariableDeclaration', var.get(u'node')): + PyJs_Object_2051_ = Js({u'left':var.get(u'node')}) + if var.get(u't').callprop(u'isForXStatement', var.get(u'parent'), PyJs_Object_2051_): + return Js(False) + PyJs_Object_2052_ = Js({u'init':var.get(u'node')}) + if var.get(u't').callprop(u'isForStatement', var.get(u'parent'), PyJs_Object_2052_): + return Js(False) + return var.get(u'true') + else: + return Js(False) + PyJs_checkPath_2050_._set_name(u'checkPath') + PyJs_Object_2049_ = Js({u'types':Js([Js(u'Statement')]),u'checkPath':PyJs_checkPath_2050_}) + var.put(u'Statement', var.get(u'exports').put(u'Statement', PyJs_Object_2049_)) + @Js + def PyJs_checkPath_2054_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'checkPath':PyJs_checkPath_2054_, u'arguments':arguments}, var) + var.registers([u'path']) + if var.get(u'path').callprop(u'isIdentifier'): + return var.get(u'path').callprop(u'isReferencedIdentifier') + else: + return var.get(u't').callprop(u'isExpression', var.get(u'path').get(u'node')) + PyJs_checkPath_2054_._set_name(u'checkPath') + PyJs_Object_2053_ = Js({u'types':Js([Js(u'Expression')]),u'checkPath':PyJs_checkPath_2054_}) + var.put(u'Expression', var.get(u'exports').put(u'Expression', PyJs_Object_2053_)) + @Js + def PyJs_checkPath_2056_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'checkPath':PyJs_checkPath_2056_, u'arguments':arguments}, var) + var.registers([u'path']) + return var.get(u't').callprop(u'isScope', var.get(u'path').get(u'node'), var.get(u'path').get(u'parent')) + PyJs_checkPath_2056_._set_name(u'checkPath') + PyJs_Object_2055_ = Js({u'types':Js([Js(u'Scopable')]),u'checkPath':PyJs_checkPath_2056_}) + var.put(u'Scope', var.get(u'exports').put(u'Scope', PyJs_Object_2055_)) + @Js + def PyJs_checkPath_2058_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'checkPath':PyJs_checkPath_2058_, u'arguments':arguments}, var) + var.registers([u'path']) + return var.get(u't').callprop(u'isReferenced', var.get(u'path').get(u'node'), var.get(u'path').get(u'parent')) + PyJs_checkPath_2058_._set_name(u'checkPath') + PyJs_Object_2057_ = Js({u'checkPath':PyJs_checkPath_2058_}) + var.put(u'Referenced', var.get(u'exports').put(u'Referenced', PyJs_Object_2057_)) + @Js + def PyJs_checkPath_2060_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'checkPath':PyJs_checkPath_2060_, u'arguments':arguments}, var) + var.registers([u'path']) + return var.get(u't').callprop(u'isBlockScoped', var.get(u'path').get(u'node')) + PyJs_checkPath_2060_._set_name(u'checkPath') + PyJs_Object_2059_ = Js({u'checkPath':PyJs_checkPath_2060_}) + var.put(u'BlockScoped', var.get(u'exports').put(u'BlockScoped', PyJs_Object_2059_)) + @Js + def PyJs_checkPath_2062_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'checkPath':PyJs_checkPath_2062_, u'arguments':arguments}, var) + var.registers([u'path']) + return var.get(u't').callprop(u'isVar', var.get(u'path').get(u'node')) + PyJs_checkPath_2062_._set_name(u'checkPath') + PyJs_Object_2061_ = Js({u'types':Js([Js(u'VariableDeclaration')]),u'checkPath':PyJs_checkPath_2062_}) + var.put(u'Var', var.get(u'exports').put(u'Var', PyJs_Object_2061_)) + @Js + def PyJs_checkPath_2064_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'checkPath':PyJs_checkPath_2064_, u'arguments':arguments}, var) + var.registers([u'path']) + return (var.get(u'path').get(u'node') and var.get(u'path').get(u'node').get(u'loc').neg().neg()) + PyJs_checkPath_2064_._set_name(u'checkPath') + PyJs_Object_2063_ = Js({u'checkPath':PyJs_checkPath_2064_}) + var.put(u'User', var.get(u'exports').put(u'User', PyJs_Object_2063_)) + @Js + def PyJs_checkPath_2066_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'checkPath':PyJs_checkPath_2066_, u'arguments':arguments}, var) + var.registers([u'path']) + return var.get(u'path').callprop(u'isUser').neg() + PyJs_checkPath_2066_._set_name(u'checkPath') + PyJs_Object_2065_ = Js({u'checkPath':PyJs_checkPath_2066_}) + var.put(u'Generated', var.get(u'exports').put(u'Generated', PyJs_Object_2065_)) + @Js + def PyJs_checkPath_2068_(path, opts, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'checkPath':PyJs_checkPath_2068_, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'path', u'opts']) + return var.get(u'path').get(u'scope').callprop(u'isPure', var.get(u'path').get(u'node'), var.get(u'opts')) + PyJs_checkPath_2068_._set_name(u'checkPath') + PyJs_Object_2067_ = Js({u'checkPath':PyJs_checkPath_2068_}) + var.put(u'Pure', var.get(u'exports').put(u'Pure', PyJs_Object_2067_)) + @Js + def PyJs_checkPath_2070_(_ref5, this, arguments, var=var): + var = Scope({u'this':this, u'_ref5':_ref5, u'checkPath':PyJs_checkPath_2070_, u'arguments':arguments}, var) + var.registers([u'node', u'_ref5']) + var.put(u'node', var.get(u'_ref5').get(u'node')) + if var.get(u't').callprop(u'isFlow', var.get(u'node')): + return var.get(u'true') + else: + if var.get(u't').callprop(u'isImportDeclaration', var.get(u'node')): + return (PyJsStrictEq(var.get(u'node').get(u'importKind'),Js(u'type')) or PyJsStrictEq(var.get(u'node').get(u'importKind'),Js(u'typeof'))) + else: + if var.get(u't').callprop(u'isExportDeclaration', var.get(u'node')): + return PyJsStrictEq(var.get(u'node').get(u'exportKind'),Js(u'type')) + else: + return Js(False) + PyJs_checkPath_2070_._set_name(u'checkPath') + PyJs_Object_2069_ = Js({u'types':Js([Js(u'Flow'), Js(u'ImportDeclaration'), Js(u'ExportDeclaration')]),u'checkPath':PyJs_checkPath_2070_}) + var.put(u'Flow', var.get(u'exports').put(u'Flow', PyJs_Object_2069_)) +PyJs_anonymous_2040_._set_name(u'anonymous') +PyJs_Object_2071_ = Js({u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_2072_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_hoister', u'updateSiblingKeys', u'_verifyNodeList', u'_interopRequireDefault', u'_cache', u'_getIterator2', u'_getIterator3', u'_maybePopFromStatements', u'_typeof2', u'_typeof3', u'_interopRequireWildcard', u'unshiftContainer', u'insertAfter', u'exports', u'pushContainer', u'insertBefore', u'_babelTypes', u'hoist', u'module', u'_index2', u'_index', u'require', u'_containerInsert', u'_containerInsertBefore', u't', u'_containerInsertAfter', u'_hoister2']) + @Js + def PyJsHoisted_pushContainer_(listKey, nodes, this, arguments, var=var): + var = Scope({u'this':this, u'listKey':listKey, u'nodes':nodes, u'arguments':arguments}, var) + var.registers([u'path', u'listKey', u'container', u'nodes']) + var.get(u"this").callprop(u'_assertUnremoved') + var.put(u'nodes', var.get(u"this").callprop(u'_verifyNodeList', var.get(u'nodes'))) + var.put(u'container', var.get(u"this").get(u'node').get(var.get(u'listKey'))) + PyJs_Object_2078_ = Js({u'parentPath':var.get(u"this"),u'parent':var.get(u"this").get(u'node'),u'container':var.get(u'container'),u'listKey':var.get(u'listKey'),u'key':var.get(u'container').get(u'length')}) + var.put(u'path', var.get(u'_index2').get(u'default').callprop(u'get', PyJs_Object_2078_)) + return var.get(u'path').callprop(u'replaceWithMultiple', var.get(u'nodes')) + PyJsHoisted_pushContainer_.func_name = u'pushContainer' + var.put(u'pushContainer', PyJsHoisted_pushContainer_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_2073_ = Js({}) + var.put(u'newObj', PyJs_Object_2073_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_insertBefore_(nodes, this, arguments, var=var): + var = Scope({u'this':this, u'nodes':nodes, u'arguments':arguments}, var) + var.registers([u'nodes']) + var.get(u"this").callprop(u'_assertUnremoved') + var.put(u'nodes', var.get(u"this").callprop(u'_verifyNodeList', var.get(u'nodes'))) + if (var.get(u"this").get(u'parentPath').callprop(u'isExpressionStatement') or var.get(u"this").get(u'parentPath').callprop(u'isLabeledStatement')): + return var.get(u"this").get(u'parentPath').callprop(u'insertBefore', var.get(u'nodes')) + else: + if (var.get(u"this").callprop(u'isNodeType', Js(u'Expression')) or (var.get(u"this").get(u'parentPath').callprop(u'isForStatement') and PyJsStrictEq(var.get(u"this").get(u'key'),Js(u'init')))): + if var.get(u"this").get(u'node'): + var.get(u'nodes').callprop(u'push', var.get(u"this").get(u'node')) + var.get(u"this").callprop(u'replaceExpressionWithStatements', var.get(u'nodes')) + else: + var.get(u"this").callprop(u'_maybePopFromStatements', var.get(u'nodes')) + if var.get(u'Array').callprop(u'isArray', var.get(u"this").get(u'container')): + return var.get(u"this").callprop(u'_containerInsertBefore', var.get(u'nodes')) + else: + if var.get(u"this").callprop(u'isStatementOrBlock'): + if var.get(u"this").get(u'node'): + var.get(u'nodes').callprop(u'push', var.get(u"this").get(u'node')) + var.get(u"this").callprop(u'_replaceWith', var.get(u't').callprop(u'blockStatement', var.get(u'nodes'))) + else: + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u"We don't know what to do with this node type. We were previously a Statement but we can't fit in here?"))) + raise PyJsTempException + return Js([var.get(u"this")]) + PyJsHoisted_insertBefore_.func_name = u'insertBefore' + var.put(u'insertBefore', PyJsHoisted_insertBefore_) + @Js + def PyJsHoisted__containerInsert_(PyJsArg_66726f6d_, nodes, this, arguments, var=var): + var = Scope({u'this':this, u'nodes':nodes, u'from':PyJsArg_66726f6d_, u'arguments':arguments}, var) + var.registers([u'node', u'paths', u'_isArray', u'context', u'_iterator', u'_isArray2', u'to', u'i', u'_i2', u'_ref2', u'contexts', u'from', u'_i', u'path', u'_ref', u'_iterator2', u'nodes', u'_path']) + var.get(u"this").callprop(u'updateSiblingKeys', var.get(u'from'), var.get(u'nodes').get(u'length')) + var.put(u'paths', Js([])) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'_path', var.get(u'_ref')) + var.get(u'_path').callprop(u'setScope') + @Js + def PyJs_anonymous_2076_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return Js(u'Inserted.') + PyJs_anonymous_2076_._set_name(u'anonymous') + var.get(u'_path').callprop(u'debug', PyJs_anonymous_2076_) + #for JS loop + var.put(u'_iterator2', var.get(u'contexts')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'context', var.get(u'_ref2')) + var.get(u'context').callprop(u'maybeQueue', var.get(u'_path'), var.get(u'true')) + + + return var.get(u'paths') + PyJsHoisted__containerInsert_.func_name = u'_containerInsert' + var.put(u'_containerInsert', PyJsHoisted__containerInsert_) + @Js + def PyJsHoisted_unshiftContainer_(listKey, nodes, this, arguments, var=var): + var = Scope({u'this':this, u'listKey':listKey, u'nodes':nodes, u'arguments':arguments}, var) + var.registers([u'path', u'listKey', u'nodes']) + var.get(u"this").callprop(u'_assertUnremoved') + var.put(u'nodes', var.get(u"this").callprop(u'_verifyNodeList', var.get(u'nodes'))) + PyJs_Object_2077_ = Js({u'parentPath':var.get(u"this"),u'parent':var.get(u"this").get(u'node'),u'container':var.get(u"this").get(u'node').get(var.get(u'listKey')),u'listKey':var.get(u'listKey'),u'key':Js(0.0)}) + var.put(u'path', var.get(u'_index2').get(u'default').callprop(u'get', PyJs_Object_2077_)) + return var.get(u'path').callprop(u'insertBefore', var.get(u'nodes')) + PyJsHoisted_unshiftContainer_.func_name = u'unshiftContainer' + var.put(u'unshiftContainer', PyJsHoisted_unshiftContainer_) + @Js + def PyJsHoisted__containerInsertBefore_(nodes, this, arguments, var=var): + var = Scope({u'this':this, u'nodes':nodes, u'arguments':arguments}, var) + var.registers([u'nodes']) + return var.get(u"this").callprop(u'_containerInsert', var.get(u"this").get(u'key'), var.get(u'nodes')) + PyJsHoisted__containerInsertBefore_.func_name = u'_containerInsertBefore' + var.put(u'_containerInsertBefore', PyJsHoisted__containerInsertBefore_) + @Js + def PyJsHoisted_updateSiblingKeys_(fromIndex, incrementBy, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'fromIndex':fromIndex, u'incrementBy':incrementBy}, var) + var.registers([u'i', u'paths', u'incrementBy', u'fromIndex', u'path']) + if var.get(u"this").get(u'parent').neg(): + return var.get('undefined') + var.put(u'paths', var.get(u'_cache').get(u'path').callprop(u'get', var.get(u"this").get(u'parent'))) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=var.get(u'fromIndex')): + var.get(u'path').put(u'key', var.get(u'incrementBy'), u'+') + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + PyJsHoisted_updateSiblingKeys_.func_name = u'updateSiblingKeys' + var.put(u'updateSiblingKeys', PyJsHoisted_updateSiblingKeys_) + @Js + def PyJsHoisted__verifyNodeList_(nodes, this, arguments, var=var): + var = Scope({u'this':this, u'nodes':nodes, u'arguments':arguments}, var) + var.registers([u'i', u'node', u'nodes', u'type', u'msg']) + if var.get(u'nodes').neg(): + return Js([]) + if PyJsStrictNeq(var.get(u'nodes').get(u'constructor'),var.get(u'Array')): + var.put(u'nodes', Js([var.get(u'nodes')])) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(0.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'0'),var.get(u'undefined'))) else var.get(u"this").get(u'scope'))) + var.put(u'hoister', var.get(u'_hoister2').get(u'default').create(var.get(u"this"), var.get(u'scope'))) + return var.get(u'hoister').callprop(u'run') + PyJsHoisted_hoist_.func_name = u'hoist' + var.put(u'hoist', PyJsHoisted_hoist_) + @Js + def PyJsHoisted__containerInsertAfter_(nodes, this, arguments, var=var): + var = Scope({u'this':this, u'nodes':nodes, u'arguments':arguments}, var) + var.registers([u'nodes']) + return var.get(u"this").callprop(u'_containerInsert', (var.get(u"this").get(u'key')+Js(1.0)), var.get(u'nodes')) + PyJsHoisted__containerInsertAfter_.func_name = u'_containerInsertAfter' + var.put(u'_containerInsertAfter', PyJsHoisted__containerInsertAfter_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2074_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2074_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__maybePopFromStatements_(nodes, this, arguments, var=var): + var = Scope({u'this':this, u'nodes':nodes, u'arguments':arguments}, var) + var.registers([u'nodes', u'last', u'isIdentifier']) + var.put(u'last', var.get(u'nodes').get((var.get(u'nodes').get(u'length')-Js(1.0)))) + var.put(u'isIdentifier', (var.get(u't').callprop(u'isIdentifier', var.get(u'last')) or (var.get(u't').callprop(u'isExpressionStatement', var.get(u'last')) and var.get(u't').callprop(u'isIdentifier', var.get(u'last').get(u'expression'))))) + if (var.get(u'isIdentifier') and var.get(u"this").callprop(u'isCompletionRecord').neg()): + var.get(u'nodes').callprop(u'pop') + PyJsHoisted__maybePopFromStatements_.func_name = u'_maybePopFromStatements' + var.put(u'_maybePopFromStatements', PyJsHoisted__maybePopFromStatements_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_typeof2', var.get(u'require')(Js(u'babel-runtime/helpers/typeof'))) + var.put(u'_typeof3', var.get(u'_interopRequireDefault')(var.get(u'_typeof2'))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.get(u'exports').put(u'insertBefore', var.get(u'insertBefore')) + var.get(u'exports').put(u'_containerInsert', var.get(u'_containerInsert')) + var.get(u'exports').put(u'_containerInsertBefore', var.get(u'_containerInsertBefore')) + var.get(u'exports').put(u'_containerInsertAfter', var.get(u'_containerInsertAfter')) + var.get(u'exports').put(u'_maybePopFromStatements', var.get(u'_maybePopFromStatements')) + var.get(u'exports').put(u'insertAfter', var.get(u'insertAfter')) + var.get(u'exports').put(u'updateSiblingKeys', var.get(u'updateSiblingKeys')) + var.get(u'exports').put(u'_verifyNodeList', var.get(u'_verifyNodeList')) + var.get(u'exports').put(u'unshiftContainer', var.get(u'unshiftContainer')) + var.get(u'exports').put(u'pushContainer', var.get(u'pushContainer')) + var.get(u'exports').put(u'hoist', var.get(u'hoist')) + var.put(u'_cache', var.get(u'require')(Js(u'../cache'))) + var.put(u'_hoister', var.get(u'require')(Js(u'./lib/hoister'))) + var.put(u'_hoister2', var.get(u'_interopRequireDefault')(var.get(u'_hoister'))) + var.put(u'_index', var.get(u'require')(Js(u'./index'))) + var.put(u'_index2', var.get(u'_interopRequireDefault')(var.get(u'_index'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass +PyJs_anonymous_2072_._set_name(u'anonymous') +PyJs_Object_2079_ = Js({u'../cache':Js(222.0),u'./index':Js(232.0),u'./lib/hoister':Js(237.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/helpers/typeof':Js(114.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_2080_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_assertUnremoved', u'exports', u'require', u'remove', u'_remove', u'_markRemoved', u'module', u'_removalHooks', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'_callRemovalHooks']) + @Js + def PyJsHoisted__assertUnremoved_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if var.get(u"this").get(u'removed'): + PyJsTempException = JsToPyException(var.get(u"this").callprop(u'buildCodeFrameError', Js(u'NodePath has been removed so is read-only.'))) + raise PyJsTempException + PyJsHoisted__assertUnremoved_.func_name = u'_assertUnremoved' + var.put(u'_assertUnremoved', PyJsHoisted__assertUnremoved_) + @Js + def PyJsHoisted_remove_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop(u'_assertUnremoved') + var.get(u"this").callprop(u'resync') + if var.get(u"this").callprop(u'_callRemovalHooks'): + var.get(u"this").callprop(u'_markRemoved') + return var.get('undefined') + var.get(u"this").callprop(u'shareCommentsWithSiblings') + var.get(u"this").callprop(u'_remove') + var.get(u"this").callprop(u'_markRemoved') + PyJsHoisted_remove_.func_name = u'remove' + var.put(u'remove', PyJsHoisted_remove_) + @Js + def PyJsHoisted__remove_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if var.get(u'Array').callprop(u'isArray', var.get(u"this").get(u'container')): + var.get(u"this").get(u'container').callprop(u'splice', var.get(u"this").get(u'key'), Js(1.0)) + var.get(u"this").callprop(u'updateSiblingKeys', var.get(u"this").get(u'key'), (-Js(1.0))) + else: + var.get(u"this").callprop(u'_replaceWith', var.get(u"null")) + PyJsHoisted__remove_.func_name = u'_remove' + var.put(u'_remove', PyJsHoisted__remove_) + @Js + def PyJsHoisted__markRemoved_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put(u'shouldSkip', var.get(u'true')) + var.get(u"this").put(u'removed', var.get(u'true')) + var.get(u"this").put(u'node', var.get(u"null")) + PyJsHoisted__markRemoved_.func_name = u'_markRemoved' + var.put(u'_markRemoved', PyJsHoisted__markRemoved_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2081_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2081_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__callRemovalHooks_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'fn', u'_isArray', u'_iterator', u'_ref', u'_i']) + #for JS loop + var.put(u'_iterator', var.get(u'_removalHooks').get(u'hooks')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'fn', var.get(u'_ref')) + if var.get(u'fn')(var.get(u"this"), var.get(u"this").get(u'parentPath')): + return var.get(u'true') + + PyJsHoisted__callRemovalHooks_.func_name = u'_callRemovalHooks' + var.put(u'_callRemovalHooks', PyJsHoisted__callRemovalHooks_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.get(u'exports').put(u'remove', var.get(u'remove')) + var.get(u'exports').put(u'_callRemovalHooks', var.get(u'_callRemovalHooks')) + var.get(u'exports').put(u'_remove', var.get(u'_remove')) + var.get(u'exports').put(u'_markRemoved', var.get(u'_markRemoved')) + var.get(u'exports').put(u'_assertUnremoved', var.get(u'_assertUnremoved')) + var.put(u'_removalHooks', var.get(u'require')(Js(u'./lib/removal-hooks'))) + pass + pass + pass + pass + pass + pass +PyJs_anonymous_2080_._set_name(u'anonymous') +PyJs_Object_2082_ = Js({u'./lib/removal-hooks':Js(238.0),u'babel-runtime/core-js/get-iterator':Js(96.0)}) +@Js +def PyJs_anonymous_2083_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'replaceExpressionWithStatements', u'module', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'replaceInline', u'replaceWithSourceString', u'_babelCodeFrame2', u'_replaceWith', u'_babylon', u'hoistVariablesVisitor', u'exports', u'_babelTypes', u'_interopRequireWildcard', u'replaceWith', u'_babelCodeFrame', u'_index4', u'_index2', u'_index3', u'_index', u'require', u't', u'replaceWithMultiple']) + @Js + def PyJsHoisted_replaceExpressionWithStatements_(nodes, this, arguments, var=var): + var = Scope({u'this':this, u'nodes':nodes, u'arguments':arguments}, var) + var.registers([u'container', u'_isArray2', u'toSequenceExpression', u'completionRecords', u'_i2', u'_ref2', u'exprs', u'uid', u'path', u'nodes', u'callee', u'loop', u'_iterator2']) + var.get(u"this").callprop(u'resync') + var.put(u'toSequenceExpression', var.get(u't').callprop(u'toSequenceExpression', var.get(u'nodes'), var.get(u"this").get(u'scope'))) + if var.get(u't').callprop(u'isSequenceExpression', var.get(u'toSequenceExpression')): + var.put(u'exprs', var.get(u'toSequenceExpression').get(u'expressions')) + if ((var.get(u'exprs').get(u'length')>=Js(2.0)) and var.get(u"this").get(u'parentPath').callprop(u'isExpressionStatement')): + var.get(u"this").callprop(u'_maybePopFromStatements', var.get(u'exprs')) + if PyJsStrictEq(var.get(u'exprs').get(u'length'),Js(1.0)): + var.get(u"this").callprop(u'replaceWith', var.get(u'exprs').get(u'0')) + else: + var.get(u"this").callprop(u'replaceWith', var.get(u'toSequenceExpression')) + else: + if var.get(u'toSequenceExpression'): + var.get(u"this").callprop(u'replaceWith', var.get(u'toSequenceExpression')) + else: + var.put(u'container', var.get(u't').callprop(u'functionExpression', var.get(u"null"), Js([]), var.get(u't').callprop(u'blockStatement', var.get(u'nodes')))) + var.get(u'container').put(u'shadow', var.get(u'true')) + var.get(u"this").callprop(u'replaceWith', var.get(u't').callprop(u'callExpression', var.get(u'container'), Js([]))) + var.get(u"this").callprop(u'traverse', var.get(u'hoistVariablesVisitor')) + var.put(u'completionRecords', var.get(u"this").callprop(u'get', Js(u'callee')).callprop(u'getCompletionRecords')) + #for JS loop + var.put(u'_iterator2', var.get(u'completionRecords')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'path', var.get(u'_ref2')) + if var.get(u'path').callprop(u'isExpressionStatement').neg(): + continue + @Js + def PyJs_anonymous_2091_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + return var.get(u'path').callprop(u'isLoop') + PyJs_anonymous_2091_._set_name(u'anonymous') + var.put(u'loop', var.get(u'path').callprop(u'findParent', PyJs_anonymous_2091_)) + if var.get(u'loop'): + var.put(u'callee', var.get(u"this").callprop(u'get', Js(u'callee'))) + var.put(u'uid', var.get(u'callee').get(u'scope').callprop(u'generateDeclaredUidIdentifier', Js(u'ret'))) + var.get(u'callee').callprop(u'get', Js(u'body')).callprop(u'pushContainer', Js(u'body'), var.get(u't').callprop(u'returnStatement', var.get(u'uid'))) + var.get(u'path').callprop(u'get', Js(u'expression')).callprop(u'replaceWith', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'uid'), var.get(u'path').get(u'node').get(u'expression'))) + else: + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'returnStatement', var.get(u'path').get(u'node').get(u'expression'))) + + return var.get(u"this").get(u'node') + PyJsHoisted_replaceExpressionWithStatements_.func_name = u'replaceExpressionWithStatements' + var.put(u'replaceExpressionWithStatements', PyJsHoisted_replaceExpressionWithStatements_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_2084_ = Js({}) + var.put(u'newObj', PyJs_Object_2084_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_replaceWith_(replacement, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'replacement':replacement}, var) + var.registers([u'oldNode', u'replacement']) + var.get(u"this").callprop(u'resync') + if var.get(u"this").get(u'removed'): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u"You can't replace this node, we've already removed it"))) + raise PyJsTempException + if var.get(u'replacement').instanceof(var.get(u'_index4').get(u'default')): + var.put(u'replacement', var.get(u'replacement').get(u'node')) + if var.get(u'replacement').neg(): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'You passed `path.replaceWith()` a falsy node, use `path.remove()` instead'))) + raise PyJsTempException + if PyJsStrictEq(var.get(u"this").get(u'node'),var.get(u'replacement')): + return var.get('undefined') + if (var.get(u"this").callprop(u'isProgram') and var.get(u't').callprop(u'isProgram', var.get(u'replacement')).neg()): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'You can only replace a Program root node with another Program node'))) + raise PyJsTempException + if var.get(u'Array').callprop(u'isArray', var.get(u'replacement')): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u"Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`"))) + raise PyJsTempException + if PyJsStrictEq(var.get(u'replacement',throw=False).typeof(),Js(u'string')): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u"Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`"))) + raise PyJsTempException + if (var.get(u"this").callprop(u'isNodeType', Js(u'Statement')) and var.get(u't').callprop(u'isExpression', var.get(u'replacement'))): + if (var.get(u"this").callprop(u'canHaveVariableDeclarationOrExpression').neg() and var.get(u"this").callprop(u'canSwapBetweenExpressionAndStatement', var.get(u'replacement')).neg()): + var.put(u'replacement', var.get(u't').callprop(u'expressionStatement', var.get(u'replacement'))) + if (var.get(u"this").callprop(u'isNodeType', Js(u'Expression')) and var.get(u't').callprop(u'isStatement', var.get(u'replacement'))): + if (var.get(u"this").callprop(u'canHaveVariableDeclarationOrExpression').neg() and var.get(u"this").callprop(u'canSwapBetweenExpressionAndStatement', var.get(u'replacement')).neg()): + return var.get(u"this").callprop(u'replaceExpressionWithStatements', Js([var.get(u'replacement')])) + var.put(u'oldNode', var.get(u"this").get(u'node')) + if var.get(u'oldNode'): + var.get(u't').callprop(u'inheritsComments', var.get(u'replacement'), var.get(u'oldNode')) + var.get(u't').callprop(u'removeComments', var.get(u'oldNode')) + var.get(u"this").callprop(u'_replaceWith', var.get(u'replacement')) + var.get(u"this").put(u'type', var.get(u'replacement').get(u'type')) + var.get(u"this").callprop(u'setScope') + var.get(u"this").callprop(u'requeue') + PyJsHoisted_replaceWith_.func_name = u'replaceWith' + var.put(u'replaceWith', PyJsHoisted_replaceWith_) + @Js + def PyJsHoisted__replaceWith_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u"this").get(u'container').neg(): + PyJsTempException = JsToPyException(var.get(u'ReferenceError').create(Js(u'Container is falsy'))) + raise PyJsTempException + if var.get(u"this").get(u'inList'): + var.get(u't').callprop(u'validate', var.get(u"this").get(u'parent'), var.get(u"this").get(u'key'), Js([var.get(u'node')])) + else: + var.get(u't').callprop(u'validate', var.get(u"this").get(u'parent'), var.get(u"this").get(u'key'), var.get(u'node')) + @Js + def PyJs_anonymous_2090_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return (Js(u'Replace with ')+(var.get(u'node') and var.get(u'node').get(u'type'))) + PyJs_anonymous_2090_._set_name(u'anonymous') + var.get(u"this").callprop(u'debug', PyJs_anonymous_2090_) + var.get(u"this").put(u'node', var.get(u"this").get(u'container').put(var.get(u"this").get(u'key'), var.get(u'node'))) + PyJsHoisted__replaceWith_.func_name = u'_replaceWith' + var.put(u'_replaceWith', PyJsHoisted__replaceWith_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2085_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2085_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_replaceInline_(nodes, this, arguments, var=var): + var = Scope({u'this':this, u'nodes':nodes, u'arguments':arguments}, var) + var.registers([u'nodes']) + var.get(u"this").callprop(u'resync') + if var.get(u'Array').callprop(u'isArray', var.get(u'nodes')): + if var.get(u'Array').callprop(u'isArray', var.get(u"this").get(u'container')): + var.put(u'nodes', var.get(u"this").callprop(u'_verifyNodeList', var.get(u'nodes'))) + var.get(u"this").callprop(u'_containerInsertAfter', var.get(u'nodes')) + return var.get(u"this").callprop(u'remove') + else: + return var.get(u"this").callprop(u'replaceWithMultiple', var.get(u'nodes')) + else: + return var.get(u"this").callprop(u'replaceWith', var.get(u'nodes')) + PyJsHoisted_replaceInline_.func_name = u'replaceInline' + var.put(u'replaceInline', PyJsHoisted_replaceInline_) + @Js + def PyJsHoisted_replaceWithMultiple_(nodes, this, arguments, var=var): + var = Scope({u'this':this, u'nodes':nodes, u'arguments':arguments}, var) + var.registers([u'nodes']) + var.get(u"this").callprop(u'resync') + var.put(u'nodes', var.get(u"this").callprop(u'_verifyNodeList', var.get(u'nodes'))) + var.get(u't').callprop(u'inheritLeadingComments', var.get(u'nodes').get(u'0'), var.get(u"this").get(u'node')) + var.get(u't').callprop(u'inheritTrailingComments', var.get(u'nodes').get((var.get(u'nodes').get(u'length')-Js(1.0))), var.get(u"this").get(u'node')) + var.get(u"this").put(u'node', var.get(u"this").get(u'container').put(var.get(u"this").get(u'key'), var.get(u"null"))) + var.get(u"this").callprop(u'insertAfter', var.get(u'nodes')) + if var.get(u"this").get(u'node'): + var.get(u"this").callprop(u'requeue') + else: + var.get(u"this").callprop(u'remove') + PyJsHoisted_replaceWithMultiple_.func_name = u'replaceWithMultiple' + var.put(u'replaceWithMultiple', PyJsHoisted_replaceWithMultiple_) + @Js + def PyJsHoisted_replaceWithSourceString_(replacement, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'replacement':replacement}, var) + var.registers([u'loc', u'replacement']) + var.get(u"this").callprop(u'resync') + try: + var.put(u'replacement', ((Js(u'(')+var.get(u'replacement'))+Js(u')'))) + var.put(u'replacement', PyJsComma(Js(0.0),var.get(u'_babylon').get(u'parse'))(var.get(u'replacement'))) + except PyJsException as PyJsTempException: + PyJsHolder_657272_62521723 = var.own.get(u'err') + var.force_own_put(u'err', PyExceptionToJs(PyJsTempException)) + try: + var.put(u'loc', var.get(u'err').get(u'loc')) + if var.get(u'loc'): + var.get(u'err').put(u'message', Js(u' - make sure this is an expression.'), u'+') + var.get(u'err').put(u'message', (Js(u'\n')+PyJsComma(Js(0.0),var.get(u'_babelCodeFrame2').get(u'default'))(var.get(u'replacement'), var.get(u'loc').get(u'line'), (var.get(u'loc').get(u'column')+Js(1.0)))), u'+') + PyJsTempException = JsToPyException(var.get(u'err')) + raise PyJsTempException + finally: + if PyJsHolder_657272_62521723 is not None: + var.own[u'err'] = PyJsHolder_657272_62521723 + else: + del var.own[u'err'] + del PyJsHolder_657272_62521723 + var.put(u'replacement', var.get(u'replacement').get(u'program').get(u'body').get(u'0').get(u'expression')) + var.get(u'_index2').get(u'default').callprop(u'removeProperties', var.get(u'replacement')) + return var.get(u"this").callprop(u'replaceWith', var.get(u'replacement')) + PyJsHoisted_replaceWithSourceString_.func_name = u'replaceWithSourceString' + var.put(u'replaceWithSourceString', PyJsHoisted_replaceWithSourceString_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.get(u'exports').put(u'replaceWithMultiple', var.get(u'replaceWithMultiple')) + var.get(u'exports').put(u'replaceWithSourceString', var.get(u'replaceWithSourceString')) + var.get(u'exports').put(u'replaceWith', var.get(u'replaceWith')) + var.get(u'exports').put(u'_replaceWith', var.get(u'_replaceWith')) + var.get(u'exports').put(u'replaceExpressionWithStatements', var.get(u'replaceExpressionWithStatements')) + var.get(u'exports').put(u'replaceInline', var.get(u'replaceInline')) + var.put(u'_babelCodeFrame', var.get(u'require')(Js(u'babel-code-frame'))) + var.put(u'_babelCodeFrame2', var.get(u'_interopRequireDefault')(var.get(u'_babelCodeFrame'))) + var.put(u'_index', var.get(u'require')(Js(u'../index'))) + var.put(u'_index2', var.get(u'_interopRequireDefault')(var.get(u'_index'))) + var.put(u'_index3', var.get(u'require')(Js(u'./index'))) + var.put(u'_index4', var.get(u'_interopRequireDefault')(var.get(u'_index3'))) + var.put(u'_babylon', var.get(u'require')(Js(u'babylon'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + @Js + def PyJs_Function_2087_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'Function':PyJs_Function_2087_, u'arguments':arguments}, var) + var.registers([u'path']) + var.get(u'path').callprop(u'skip') + PyJs_Function_2087_._set_name(u'Function') + @Js + def PyJs_VariableDeclaration_2088_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'VariableDeclaration':PyJs_VariableDeclaration_2088_}, var) + var.registers([u'_isArray', u'_iterator', u'key', u'exprs', u'declar', u'_i', u'path', u'bindings', u'_ref']) + if PyJsStrictNeq(var.get(u'path').get(u'node').get(u'kind'),Js(u'var')): + return var.get('undefined') + var.put(u'bindings', var.get(u'path').callprop(u'getBindingIdentifiers')) + for PyJsTemp in var.get(u'bindings'): + var.put(u'key', PyJsTemp) + PyJs_Object_2089_ = Js({u'id':var.get(u'bindings').get(var.get(u'key'))}) + var.get(u'path').get(u'scope').callprop(u'push', PyJs_Object_2089_) + var.put(u'exprs', Js([])) + #for JS loop + var.put(u'_iterator', var.get(u'path').get(u'node').get(u'declarations')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'declar', var.get(u'_ref')) + if var.get(u'declar').get(u'init'): + var.get(u'exprs').callprop(u'push', var.get(u't').callprop(u'expressionStatement', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'declar').get(u'id'), var.get(u'declar').get(u'init')))) + + var.get(u'path').callprop(u'replaceWithMultiple', var.get(u'exprs')) + PyJs_VariableDeclaration_2088_._set_name(u'VariableDeclaration') + PyJs_Object_2086_ = Js({u'Function':PyJs_Function_2087_,u'VariableDeclaration':PyJs_VariableDeclaration_2088_}) + var.put(u'hoistVariablesVisitor', PyJs_Object_2086_) + pass + pass + pass + pass + pass + pass +PyJs_anonymous_2083_._set_name(u'anonymous') +PyJs_Object_2092_ = Js({u'../index':Js(225.0),u'./index':Js(232.0),u'babel-code-frame':Js(4.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-types':Js(258.0),u'babylon':Js(262.0)}) +@Js +def PyJs_anonymous_2093_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'Binding', u'module', u'_interopRequireDefault', u'_classCallCheck3', u'_classCallCheck2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2094_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2094_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + pass + @Js + def PyJs_anonymous_2095_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'Binding']) + @Js + def PyJsHoisted_Binding_(_ref, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'arguments':arguments}, var) + var.registers([u'kind', u'existing', u'path', u'scope', u'_ref', u'identifier']) + var.put(u'existing', var.get(u'_ref').get(u'existing')) + var.put(u'identifier', var.get(u'_ref').get(u'identifier')) + var.put(u'scope', var.get(u'_ref').get(u'scope')) + var.put(u'path', var.get(u'_ref').get(u'path')) + var.put(u'kind', var.get(u'_ref').get(u'kind')) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'Binding')) + var.get(u"this").put(u'identifier', var.get(u'identifier')) + var.get(u"this").put(u'scope', var.get(u'scope')) + var.get(u"this").put(u'path', var.get(u'path')) + var.get(u"this").put(u'kind', var.get(u'kind')) + var.get(u"this").put(u'constantViolations', Js([])) + var.get(u"this").put(u'constant', var.get(u'true')) + var.get(u"this").put(u'referencePaths', Js([])) + var.get(u"this").put(u'referenced', Js(False)) + var.get(u"this").put(u'references', Js(0.0)) + var.get(u"this").callprop(u'clearValue') + if var.get(u'existing'): + var.get(u"this").put(u'constantViolations', Js([]).callprop(u'concat', var.get(u'existing').get(u'path'), var.get(u'existing').get(u'constantViolations'), var.get(u"this").get(u'constantViolations'))) + PyJsHoisted_Binding_.func_name = u'Binding' + var.put(u'Binding', PyJsHoisted_Binding_) + pass + @Js + def PyJs_deoptValue_2096_(this, arguments, var=var): + var = Scope({u'this':this, u'deoptValue':PyJs_deoptValue_2096_, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop(u'clearValue') + var.get(u"this").put(u'hasDeoptedValue', var.get(u'true')) + PyJs_deoptValue_2096_._set_name(u'deoptValue') + var.get(u'Binding').get(u'prototype').put(u'deoptValue', PyJs_deoptValue_2096_) + @Js + def PyJs_setValue_2097_(value, this, arguments, var=var): + var = Scope({u'this':this, u'setValue':PyJs_setValue_2097_, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + if var.get(u"this").get(u'hasDeoptedValue'): + return var.get('undefined') + var.get(u"this").put(u'hasValue', var.get(u'true')) + var.get(u"this").put(u'value', var.get(u'value')) + PyJs_setValue_2097_._set_name(u'setValue') + var.get(u'Binding').get(u'prototype').put(u'setValue', PyJs_setValue_2097_) + @Js + def PyJs_clearValue_2098_(this, arguments, var=var): + var = Scope({u'this':this, u'clearValue':PyJs_clearValue_2098_, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put(u'hasDeoptedValue', Js(False)) + var.get(u"this").put(u'hasValue', Js(False)) + var.get(u"this").put(u'value', var.get(u"null")) + PyJs_clearValue_2098_._set_name(u'clearValue') + var.get(u'Binding').get(u'prototype').put(u'clearValue', PyJs_clearValue_2098_) + @Js + def PyJs_reassign_2099_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'reassign':PyJs_reassign_2099_}, var) + var.registers([u'path']) + var.get(u"this").put(u'constant', Js(False)) + if PyJsStrictNeq(var.get(u"this").get(u'constantViolations').callprop(u'indexOf', var.get(u'path')),(-Js(1.0))): + return var.get('undefined') + var.get(u"this").get(u'constantViolations').callprop(u'push', var.get(u'path')) + PyJs_reassign_2099_._set_name(u'reassign') + var.get(u'Binding').get(u'prototype').put(u'reassign', PyJs_reassign_2099_) + @Js + def PyJs_reference_2100_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'reference':PyJs_reference_2100_}, var) + var.registers([u'path']) + if PyJsStrictNeq(var.get(u"this").get(u'referencePaths').callprop(u'indexOf', var.get(u'path')),(-Js(1.0))): + return var.get('undefined') + var.get(u"this").put(u'referenced', var.get(u'true')) + (var.get(u"this").put(u'references',Js(var.get(u"this").get(u'references').to_number())+Js(1))-Js(1)) + var.get(u"this").get(u'referencePaths').callprop(u'push', var.get(u'path')) + PyJs_reference_2100_._set_name(u'reference') + var.get(u'Binding').get(u'prototype').put(u'reference', PyJs_reference_2100_) + @Js + def PyJs_dereference_2101_(this, arguments, var=var): + var = Scope({u'this':this, u'dereference':PyJs_dereference_2101_, u'arguments':arguments}, var) + var.registers([]) + (var.get(u"this").put(u'references',Js(var.get(u"this").get(u'references').to_number())-Js(1))+Js(1)) + var.get(u"this").put(u'referenced', var.get(u"this").get(u'references').neg().neg()) + PyJs_dereference_2101_._set_name(u'dereference') + var.get(u'Binding').get(u'prototype').put(u'dereference', PyJs_dereference_2101_) + return var.get(u'Binding') + PyJs_anonymous_2095_._set_name(u'anonymous') + var.put(u'Binding', PyJs_anonymous_2095_()) + var.get(u'exports').put(u'default', var.get(u'Binding')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_2093_._set_name(u'anonymous') +PyJs_Object_2102_ = Js({u'babel-runtime/helpers/classCallCheck':Js(110.0)}) +@Js +def PyJs_anonymous_2103_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_binding3', u'_binding2', u'uid', u'_defaults', u'module', u'Scope', u'_interopRequireDefault', u'_cache', u'_getIterator2', u'_getIterator3', u'_renamer2', u'_create2', u'_keys', u'_globals2', u't', u'_classCallCheck3', u'_classCallCheck2', u'_babelMessages', u'_create', u'_renamer', u'exports', u'_interopRequireWildcard', u'_babelTypes', u'_includes2', u'_globals', u'_keys2', u'collectorVisitor', u'_index2', u'_defaults2', u'_repeat2', u'getCache', u'_map2', u'_map', u'_crawlCallsCount', u'require', u'_index', u'messages', u'_repeat', u'_includes']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2105_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2105_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_getCache_(path, parentScope, self, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'self':self, u'arguments':arguments, u'parentScope':parentScope}, var) + var.registers([u'scopes', u'_isArray', u'_iterator', u'self', u'parentScope', u'_i', u'path', u'scope', u'_ref']) + var.put(u'scopes', (var.get(u'_cache').get(u'scope').callprop(u'get', var.get(u'path').get(u'node')) or Js([]))) + #for JS loop + var.put(u'_iterator', var.get(u'scopes')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'scope', var.get(u'_ref')) + if (PyJsStrictEq(var.get(u'scope').get(u'parent'),var.get(u'parentScope')) and PyJsStrictEq(var.get(u'scope').get(u'path'),var.get(u'path'))): + return var.get(u'scope') + + var.get(u'scopes').callprop(u'push', var.get(u'self')) + if var.get(u'_cache').get(u'scope').callprop(u'has', var.get(u'path').get(u'node')).neg(): + var.get(u'_cache').get(u'scope').callprop(u'set', var.get(u'path').get(u'node'), var.get(u'scopes')) + PyJsHoisted_getCache_.func_name = u'getCache' + var.put(u'getCache', PyJsHoisted_getCache_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_2104_ = Js({}) + var.put(u'newObj', PyJs_Object_2104_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_keys', var.get(u'require')(Js(u'babel-runtime/core-js/object/keys'))) + var.put(u'_keys2', var.get(u'_interopRequireDefault')(var.get(u'_keys'))) + var.put(u'_create', var.get(u'require')(Js(u'babel-runtime/core-js/object/create'))) + var.put(u'_create2', var.get(u'_interopRequireDefault')(var.get(u'_create'))) + var.put(u'_map', var.get(u'require')(Js(u'babel-runtime/core-js/map'))) + var.put(u'_map2', var.get(u'_interopRequireDefault')(var.get(u'_map'))) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_includes', var.get(u'require')(Js(u'lodash/includes'))) + var.put(u'_includes2', var.get(u'_interopRequireDefault')(var.get(u'_includes'))) + var.put(u'_repeat', var.get(u'require')(Js(u'lodash/repeat'))) + var.put(u'_repeat2', var.get(u'_interopRequireDefault')(var.get(u'_repeat'))) + var.put(u'_renamer', var.get(u'require')(Js(u'./lib/renamer'))) + var.put(u'_renamer2', var.get(u'_interopRequireDefault')(var.get(u'_renamer'))) + var.put(u'_index', var.get(u'require')(Js(u'../index'))) + var.put(u'_index2', var.get(u'_interopRequireDefault')(var.get(u'_index'))) + var.put(u'_defaults', var.get(u'require')(Js(u'lodash/defaults'))) + var.put(u'_defaults2', var.get(u'_interopRequireDefault')(var.get(u'_defaults'))) + var.put(u'_babelMessages', var.get(u'require')(Js(u'babel-messages'))) + var.put(u'messages', var.get(u'_interopRequireWildcard')(var.get(u'_babelMessages'))) + var.put(u'_binding2', var.get(u'require')(Js(u'./binding'))) + var.put(u'_binding3', var.get(u'_interopRequireDefault')(var.get(u'_binding2'))) + var.put(u'_globals', var.get(u'require')(Js(u'globals'))) + var.put(u'_globals2', var.get(u'_interopRequireDefault')(var.get(u'_globals'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + var.put(u'_cache', var.get(u'require')(Js(u'../cache'))) + pass + pass + var.put(u'_crawlCallsCount', Js(0.0)) + pass + @Js + def PyJs_For_2107_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'For':PyJs_For_2107_}, var) + var.registers([u'_isArray2', u'_i2', u'_ref2', u'declar', u'key', u'path', u'_iterator2']) + #for JS loop + var.put(u'_iterator2', var.get(u't').get(u'FOR_INIT_KEYS')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'key', var.get(u'_ref2')) + var.put(u'declar', var.get(u'path').callprop(u'get', var.get(u'key'))) + if var.get(u'declar').callprop(u'isVar'): + var.get(u'path').get(u'scope').callprop(u'getFunctionParent').callprop(u'registerBinding', Js(u'var'), var.get(u'declar')) + + PyJs_For_2107_._set_name(u'For') + @Js + def PyJs_Declaration_2108_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'Declaration':PyJs_Declaration_2108_}, var) + var.registers([u'path']) + if var.get(u'path').callprop(u'isBlockScoped'): + return var.get('undefined') + if (var.get(u'path').callprop(u'isExportDeclaration') and var.get(u'path').callprop(u'get', Js(u'declaration')).callprop(u'isDeclaration')): + return var.get('undefined') + var.get(u'path').get(u'scope').callprop(u'getFunctionParent').callprop(u'registerDeclaration', var.get(u'path')) + PyJs_Declaration_2108_._set_name(u'Declaration') + @Js + def PyJs_ReferencedIdentifier_2109_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'ReferencedIdentifier':PyJs_ReferencedIdentifier_2109_, u'arguments':arguments}, var) + var.registers([u'path', u'state']) + var.get(u'state').get(u'references').callprop(u'push', var.get(u'path')) + PyJs_ReferencedIdentifier_2109_._set_name(u'ReferencedIdentifier') + @Js + def PyJs_ForXStatement_2110_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'ForXStatement':PyJs_ForXStatement_2110_}, var) + var.registers([u'path', u'state', u'left']) + var.put(u'left', var.get(u'path').callprop(u'get', Js(u'left'))) + if (var.get(u'left').callprop(u'isPattern') or var.get(u'left').callprop(u'isIdentifier')): + var.get(u'state').get(u'constantViolations').callprop(u'push', var.get(u'left')) + PyJs_ForXStatement_2110_._set_name(u'ForXStatement') + @Js + def PyJs_exit_2112_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'exit':PyJs_exit_2112_, u'arguments':arguments}, var) + var.registers([u'node', u'decl', u'_isArray3', u'name', u'_i3', u'binding', u'ids', u'declar', u'_binding', u'path', u'scope', u'_id', u'_ref3', u'_iterator3']) + var.put(u'node', var.get(u'path').get(u'node')) + var.put(u'scope', var.get(u'path').get(u'scope')) + var.put(u'declar', var.get(u'node').get(u'declaration')) + if (var.get(u't').callprop(u'isClassDeclaration', var.get(u'declar')) or var.get(u't').callprop(u'isFunctionDeclaration', var.get(u'declar'))): + var.put(u'_id', var.get(u'declar').get(u'id')) + if var.get(u'_id').neg(): + return var.get('undefined') + var.put(u'binding', var.get(u'scope').callprop(u'getBinding', var.get(u'_id').get(u'name'))) + if var.get(u'binding'): + var.get(u'binding').callprop(u'reference', var.get(u'path')) + else: + if var.get(u't').callprop(u'isVariableDeclaration', var.get(u'declar')): + #for JS loop + var.put(u'_iterator3', var.get(u'declar').get(u'declarations')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator3')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'decl', var.get(u'_ref3')) + var.put(u'ids', var.get(u't').callprop(u'getBindingIdentifiers', var.get(u'decl'))) + for PyJsTemp in var.get(u'ids'): + var.put(u'name', PyJsTemp) + var.put(u'_binding', var.get(u'scope').callprop(u'getBinding', var.get(u'name'))) + if var.get(u'_binding'): + var.get(u'_binding').callprop(u'reference', var.get(u'path')) + + PyJs_exit_2112_._set_name(u'exit') + PyJs_Object_2111_ = Js({u'exit':PyJs_exit_2112_}) + @Js + def PyJs_LabeledStatement_2113_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'LabeledStatement':PyJs_LabeledStatement_2113_, u'arguments':arguments}, var) + var.registers([u'path']) + var.get(u'path').get(u'scope').callprop(u'getProgramParent').callprop(u'addGlobal', var.get(u'path').get(u'node')) + var.get(u'path').get(u'scope').callprop(u'getBlockParent').callprop(u'registerDeclaration', var.get(u'path')) + PyJs_LabeledStatement_2113_._set_name(u'LabeledStatement') + @Js + def PyJs_AssignmentExpression_2114_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'AssignmentExpression':PyJs_AssignmentExpression_2114_}, var) + var.registers([u'path', u'state']) + var.get(u'state').get(u'assignments').callprop(u'push', var.get(u'path')) + PyJs_AssignmentExpression_2114_._set_name(u'AssignmentExpression') + @Js + def PyJs_UpdateExpression_2115_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'UpdateExpression':PyJs_UpdateExpression_2115_}, var) + var.registers([u'path', u'state']) + var.get(u'state').get(u'constantViolations').callprop(u'push', var.get(u'path').callprop(u'get', Js(u'argument'))) + PyJs_UpdateExpression_2115_._set_name(u'UpdateExpression') + @Js + def PyJs_UnaryExpression_2116_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'UnaryExpression':PyJs_UnaryExpression_2116_, u'arguments':arguments}, var) + var.registers([u'path', u'state']) + if PyJsStrictEq(var.get(u'path').get(u'node').get(u'operator'),Js(u'delete')): + var.get(u'state').get(u'constantViolations').callprop(u'push', var.get(u'path').callprop(u'get', Js(u'argument'))) + PyJs_UnaryExpression_2116_._set_name(u'UnaryExpression') + @Js + def PyJs_BlockScoped_2117_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'BlockScoped':PyJs_BlockScoped_2117_}, var) + var.registers([u'scope', u'path']) + var.put(u'scope', var.get(u'path').get(u'scope')) + if PyJsStrictEq(var.get(u'scope').get(u'path'),var.get(u'path')): + var.put(u'scope', var.get(u'scope').get(u'parent')) + var.get(u'scope').callprop(u'getBlockParent').callprop(u'registerDeclaration', var.get(u'path')) + PyJs_BlockScoped_2117_._set_name(u'BlockScoped') + @Js + def PyJs_ClassDeclaration_2118_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'ClassDeclaration':PyJs_ClassDeclaration_2118_, u'arguments':arguments}, var) + var.registers([u'path', u'id', u'name']) + var.put(u'id', var.get(u'path').get(u'node').get(u'id')) + if var.get(u'id').neg(): + return var.get('undefined') + var.put(u'name', var.get(u'id').get(u'name')) + var.get(u'path').get(u'scope').get(u'bindings').put(var.get(u'name'), var.get(u'path').get(u'scope').callprop(u'getBinding', var.get(u'name'))) + PyJs_ClassDeclaration_2118_._set_name(u'ClassDeclaration') + @Js + def PyJs_Block_2119_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'Block':PyJs_Block_2119_}, var) + var.registers([u'paths', u'_isArray4', u'bodyPath', u'_ref4', u'_i4', u'path', u'_iterator4']) + var.put(u'paths', var.get(u'path').callprop(u'get', Js(u'body'))) + #for JS loop + var.put(u'_iterator4', var.get(u'paths')) + var.put(u'_isArray4', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator4'))) + var.put(u'_i4', Js(0.0)) + var.put(u'_iterator4', (var.get(u'_iterator4') if var.get(u'_isArray4') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator4')))) + while 1: + pass + if var.get(u'_isArray4'): + if (var.get(u'_i4')>=var.get(u'_iterator4').get(u'length')): + break + var.put(u'_ref4', var.get(u'_iterator4').get((var.put(u'_i4',Js(var.get(u'_i4').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i4', var.get(u'_iterator4').callprop(u'next')) + if var.get(u'_i4').get(u'done'): + break + var.put(u'_ref4', var.get(u'_i4').get(u'value')) + var.put(u'bodyPath', var.get(u'_ref4')) + if var.get(u'bodyPath').callprop(u'isFunctionDeclaration'): + var.get(u'path').get(u'scope').callprop(u'getBlockParent').callprop(u'registerDeclaration', var.get(u'bodyPath')) + + PyJs_Block_2119_._set_name(u'Block') + PyJs_Object_2106_ = Js({u'For':PyJs_For_2107_,u'Declaration':PyJs_Declaration_2108_,u'ReferencedIdentifier':PyJs_ReferencedIdentifier_2109_,u'ForXStatement':PyJs_ForXStatement_2110_,u'ExportDeclaration':PyJs_Object_2111_,u'LabeledStatement':PyJs_LabeledStatement_2113_,u'AssignmentExpression':PyJs_AssignmentExpression_2114_,u'UpdateExpression':PyJs_UpdateExpression_2115_,u'UnaryExpression':PyJs_UnaryExpression_2116_,u'BlockScoped':PyJs_BlockScoped_2117_,u'ClassDeclaration':PyJs_ClassDeclaration_2118_,u'Block':PyJs_Block_2119_}) + var.put(u'collectorVisitor', PyJs_Object_2106_) + var.put(u'uid', Js(0.0)) + @Js + def PyJs_anonymous_2120_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'Scope']) + @Js + def PyJsHoisted_Scope_(path, parentScope, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'parentScope':parentScope}, var) + var.registers([u'cached', u'path', u'parentScope']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'Scope')) + if (var.get(u'parentScope') and PyJsStrictEq(var.get(u'parentScope').get(u'block'),var.get(u'path').get(u'node'))): + return var.get(u'parentScope') + var.put(u'cached', var.get(u'getCache')(var.get(u'path'), var.get(u'parentScope'), var.get(u"this"))) + if var.get(u'cached'): + return var.get(u'cached') + var.get(u"this").put(u'uid', (var.put(u'uid',Js(var.get(u'uid').to_number())+Js(1))-Js(1))) + var.get(u"this").put(u'parent', var.get(u'parentScope')) + var.get(u"this").put(u'hub', var.get(u'path').get(u'hub')) + var.get(u"this").put(u'parentBlock', var.get(u'path').get(u'parent')) + var.get(u"this").put(u'block', var.get(u'path').get(u'node')) + var.get(u"this").put(u'path', var.get(u'path')) + var.get(u"this").put(u'labels', var.get(u'_map2').get(u'default').create()) + PyJsHoisted_Scope_.func_name = u'Scope' + var.put(u'Scope', PyJsHoisted_Scope_) + pass + @Js + def PyJs_traverse_2121_(node, opts, state, this, arguments, var=var): + var = Scope({u'node':node, u'traverse':PyJs_traverse_2121_, u'this':this, u'state':state, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'node', u'state', u'opts']) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(var.get(u'node'), var.get(u'opts'), var.get(u"this"), var.get(u'state'), var.get(u"this").get(u'path')) + PyJs_traverse_2121_._set_name(u'traverse') + var.get(u'Scope').get(u'prototype').put(u'traverse', PyJs_traverse_2121_) + @Js + def PyJs_generateDeclaredUidIdentifier_2122_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'generateDeclaredUidIdentifier':PyJs_generateDeclaredUidIdentifier_2122_}, var) + var.registers([u'name', u'id']) + var.put(u'name', (var.get(u'arguments').get(u'0') if ((var.get(u'arguments').get(u'length')>Js(0.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'0'),var.get(u'undefined'))) else Js(u'temp'))) + var.put(u'id', var.get(u"this").callprop(u'generateUidIdentifier', var.get(u'name'))) + PyJs_Object_2123_ = Js({u'id':var.get(u'id')}) + var.get(u"this").callprop(u'push', PyJs_Object_2123_) + return var.get(u'id') + PyJs_generateDeclaredUidIdentifier_2122_._set_name(u'generateDeclaredUidIdentifier') + var.get(u'Scope').get(u'prototype').put(u'generateDeclaredUidIdentifier', PyJs_generateDeclaredUidIdentifier_2122_) + @Js + def PyJs_generateUidIdentifier_2124_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'generateUidIdentifier':PyJs_generateUidIdentifier_2124_}, var) + var.registers([u'name']) + var.put(u'name', (var.get(u'arguments').get(u'0') if ((var.get(u'arguments').get(u'length')>Js(0.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'0'),var.get(u'undefined'))) else Js(u'temp'))) + return var.get(u't').callprop(u'identifier', var.get(u"this").callprop(u'generateUid', var.get(u'name'))) + PyJs_generateUidIdentifier_2124_._set_name(u'generateUidIdentifier') + var.get(u'Scope').get(u'prototype').put(u'generateUidIdentifier', PyJs_generateUidIdentifier_2124_) + @Js + def PyJs_generateUid_2125_(this, arguments, var=var): + var = Scope({u'this':this, u'generateUid':PyJs_generateUid_2125_, u'arguments':arguments}, var) + var.registers([u'i', u'program', u'name', u'uid']) + var.put(u'name', (var.get(u'arguments').get(u'0') if ((var.get(u'arguments').get(u'length')>Js(0.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'0'),var.get(u'undefined'))) else Js(u'temp'))) + var.put(u'name', var.get(u't').callprop(u'toIdentifier', var.get(u'name')).callprop(u'replace', JsRegExp(u'/^_+/'), Js(u'')).callprop(u'replace', JsRegExp(u'/[0-9]+$/g'), Js(u''))) + var.put(u'uid', PyJsComma(Js(0.0), Js(None))) + var.put(u'i', Js(0.0)) + while 1: + var.put(u'uid', var.get(u"this").callprop(u'_generateUid', var.get(u'name'), var.get(u'i'))) + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + if not (((var.get(u"this").callprop(u'hasLabel', var.get(u'uid')) or var.get(u"this").callprop(u'hasBinding', var.get(u'uid'))) or var.get(u"this").callprop(u'hasGlobal', var.get(u'uid'))) or var.get(u"this").callprop(u'hasReference', var.get(u'uid'))): + break + var.put(u'program', var.get(u"this").callprop(u'getProgramParent')) + var.get(u'program').get(u'references').put(var.get(u'uid'), var.get(u'true')) + var.get(u'program').get(u'uids').put(var.get(u'uid'), var.get(u'true')) + return var.get(u'uid') + PyJs_generateUid_2125_._set_name(u'generateUid') + var.get(u'Scope').get(u'prototype').put(u'generateUid', PyJs_generateUid_2125_) + @Js + def PyJs__generateUid_2126_(name, i, this, arguments, var=var): + var = Scope({u'i':i, u'this':this, u'_generateUid':PyJs__generateUid_2126_, u'name':name, u'arguments':arguments}, var) + var.registers([u'i', u'id', u'name']) + var.put(u'id', var.get(u'name')) + if (var.get(u'i')>Js(1.0)): + var.put(u'id', var.get(u'i'), u'+') + return (Js(u'_')+var.get(u'id')) + PyJs__generateUid_2126_._set_name(u'_generateUid') + var.get(u'Scope').get(u'prototype').put(u'_generateUid', PyJs__generateUid_2126_) + @Js + def PyJs_generateUidIdentifierBasedOnNode_2127_(parent, defaultName, this, arguments, var=var): + var = Scope({u'this':this, u'defaultName':defaultName, u'generateUidIdentifierBasedOnNode':PyJs_generateUidIdentifierBasedOnNode_2127_, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent', u'defaultName', u'add', u'parts', u'id']) + var.put(u'node', var.get(u'parent')) + if var.get(u't').callprop(u'isAssignmentExpression', var.get(u'parent')): + var.put(u'node', var.get(u'parent').get(u'left')) + else: + if var.get(u't').callprop(u'isVariableDeclarator', var.get(u'parent')): + var.put(u'node', var.get(u'parent').get(u'id')) + else: + if (var.get(u't').callprop(u'isObjectProperty', var.get(u'node')) or var.get(u't').callprop(u'isObjectMethod', var.get(u'node'))): + var.put(u'node', var.get(u'node').get(u'key')) + var.put(u'parts', Js([])) + @Js + def PyJs_add_2128_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'add':PyJs_add_2128_, u'arguments':arguments}, var) + var.registers([u'node', u'specifier', u'_isArray5', u'_isArray6', u'_i6', u'_ref5', u'prop', u'_ref6', u'_iterator5', u'_iterator6', u'_i5']) + if var.get(u't').callprop(u'isModuleDeclaration', var.get(u'node')): + if var.get(u'node').get(u'source'): + var.get(u'add')(var.get(u'node').get(u'source')) + else: + if (var.get(u'node').get(u'specifiers') and var.get(u'node').get(u'specifiers').get(u'length')): + #for JS loop + var.put(u'_iterator5', var.get(u'node').get(u'specifiers')) + var.put(u'_isArray5', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator5'))) + var.put(u'_i5', Js(0.0)) + var.put(u'_iterator5', (var.get(u'_iterator5') if var.get(u'_isArray5') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator5')))) + while 1: + pass + if var.get(u'_isArray5'): + if (var.get(u'_i5')>=var.get(u'_iterator5').get(u'length')): + break + var.put(u'_ref5', var.get(u'_iterator5').get((var.put(u'_i5',Js(var.get(u'_i5').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i5', var.get(u'_iterator5').callprop(u'next')) + if var.get(u'_i5').get(u'done'): + break + var.put(u'_ref5', var.get(u'_i5').get(u'value')) + var.put(u'specifier', var.get(u'_ref5')) + var.get(u'add')(var.get(u'specifier')) + + else: + if var.get(u'node').get(u'declaration'): + var.get(u'add')(var.get(u'node').get(u'declaration')) + else: + if var.get(u't').callprop(u'isModuleSpecifier', var.get(u'node')): + var.get(u'add')(var.get(u'node').get(u'local')) + else: + if var.get(u't').callprop(u'isMemberExpression', var.get(u'node')): + var.get(u'add')(var.get(u'node').get(u'object')) + var.get(u'add')(var.get(u'node').get(u'property')) + else: + if var.get(u't').callprop(u'isIdentifier', var.get(u'node')): + var.get(u'parts').callprop(u'push', var.get(u'node').get(u'name')) + else: + if var.get(u't').callprop(u'isLiteral', var.get(u'node')): + var.get(u'parts').callprop(u'push', var.get(u'node').get(u'value')) + else: + if var.get(u't').callprop(u'isCallExpression', var.get(u'node')): + var.get(u'add')(var.get(u'node').get(u'callee')) + else: + if (var.get(u't').callprop(u'isObjectExpression', var.get(u'node')) or var.get(u't').callprop(u'isObjectPattern', var.get(u'node'))): + #for JS loop + var.put(u'_iterator6', var.get(u'node').get(u'properties')) + var.put(u'_isArray6', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator6'))) + var.put(u'_i6', Js(0.0)) + var.put(u'_iterator6', (var.get(u'_iterator6') if var.get(u'_isArray6') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator6')))) + while 1: + pass + if var.get(u'_isArray6'): + if (var.get(u'_i6')>=var.get(u'_iterator6').get(u'length')): + break + var.put(u'_ref6', var.get(u'_iterator6').get((var.put(u'_i6',Js(var.get(u'_i6').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i6', var.get(u'_iterator6').callprop(u'next')) + if var.get(u'_i6').get(u'done'): + break + var.put(u'_ref6', var.get(u'_i6').get(u'value')) + var.put(u'prop', var.get(u'_ref6')) + var.get(u'add')((var.get(u'prop').get(u'key') or var.get(u'prop').get(u'argument'))) + + PyJs_add_2128_._set_name(u'add') + var.put(u'add', PyJs_add_2128_) + var.get(u'add')(var.get(u'node')) + var.put(u'id', var.get(u'parts').callprop(u'join', Js(u'$'))) + var.put(u'id', ((var.get(u'id').callprop(u'replace', JsRegExp(u'/^_/'), Js(u'')) or var.get(u'defaultName')) or Js(u'ref'))) + return var.get(u"this").callprop(u'generateUidIdentifier', var.get(u'id').callprop(u'slice', Js(0.0), Js(20.0))) + PyJs_generateUidIdentifierBasedOnNode_2127_._set_name(u'generateUidIdentifierBasedOnNode') + var.get(u'Scope').get(u'prototype').put(u'generateUidIdentifierBasedOnNode', PyJs_generateUidIdentifierBasedOnNode_2127_) + @Js + def PyJs_isStatic_2129_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'isStatic':PyJs_isStatic_2129_, u'arguments':arguments}, var) + var.registers([u'node', u'binding']) + if (var.get(u't').callprop(u'isThisExpression', var.get(u'node')) or var.get(u't').callprop(u'isSuper', var.get(u'node'))): + return var.get(u'true') + if var.get(u't').callprop(u'isIdentifier', var.get(u'node')): + var.put(u'binding', var.get(u"this").callprop(u'getBinding', var.get(u'node').get(u'name'))) + if var.get(u'binding'): + return var.get(u'binding').get(u'constant') + else: + return var.get(u"this").callprop(u'hasBinding', var.get(u'node').get(u'name')) + return Js(False) + PyJs_isStatic_2129_._set_name(u'isStatic') + var.get(u'Scope').get(u'prototype').put(u'isStatic', PyJs_isStatic_2129_) + @Js + def PyJs_maybeGenerateMemoised_2130_(node, dontPush, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'maybeGenerateMemoised':PyJs_maybeGenerateMemoised_2130_, u'dontPush':dontPush, u'arguments':arguments}, var) + var.registers([u'node', u'dontPush', u'_id2']) + if var.get(u"this").callprop(u'isStatic', var.get(u'node')): + return var.get(u"null") + else: + var.put(u'_id2', var.get(u"this").callprop(u'generateUidIdentifierBasedOnNode', var.get(u'node'))) + if var.get(u'dontPush').neg(): + PyJs_Object_2131_ = Js({u'id':var.get(u'_id2')}) + var.get(u"this").callprop(u'push', PyJs_Object_2131_) + return var.get(u'_id2') + PyJs_maybeGenerateMemoised_2130_._set_name(u'maybeGenerateMemoised') + var.get(u'Scope').get(u'prototype').put(u'maybeGenerateMemoised', PyJs_maybeGenerateMemoised_2130_) + @Js + def PyJs_checkBlockScopedCollisions_2132_(local, kind, name, id, this, arguments, var=var): + var = Scope({u'kind':kind, u'name':name, u'this':this, u'checkBlockScopedCollisions':PyJs_checkBlockScopedCollisions_2132_, u'local':local, u'id':id, u'arguments':arguments}, var) + var.registers([u'id', u'duplicate', u'local', u'kind', u'name']) + if PyJsStrictEq(var.get(u'kind'),Js(u'param')): + return var.get('undefined') + if (PyJsStrictEq(var.get(u'kind'),Js(u'hoisted')) and PyJsStrictEq(var.get(u'local').get(u'kind'),Js(u'let'))): + return var.get('undefined') + var.put(u'duplicate', Js(False)) + if var.get(u'duplicate').neg(): + var.put(u'duplicate', (((PyJsStrictEq(var.get(u'kind'),Js(u'let')) or PyJsStrictEq(var.get(u'local').get(u'kind'),Js(u'let'))) or PyJsStrictEq(var.get(u'local').get(u'kind'),Js(u'const'))) or PyJsStrictEq(var.get(u'local').get(u'kind'),Js(u'module')))) + if var.get(u'duplicate').neg(): + var.put(u'duplicate', (PyJsStrictEq(var.get(u'local').get(u'kind'),Js(u'param')) and (PyJsStrictEq(var.get(u'kind'),Js(u'let')) or PyJsStrictEq(var.get(u'kind'),Js(u'const'))))) + if var.get(u'duplicate'): + PyJsTempException = JsToPyException(var.get(u"this").get(u'hub').get(u'file').callprop(u'buildCodeFrameError', var.get(u'id'), var.get(u'messages').callprop(u'get', Js(u'scopeDuplicateDeclaration'), var.get(u'name')), var.get(u'TypeError'))) + raise PyJsTempException + PyJs_checkBlockScopedCollisions_2132_._set_name(u'checkBlockScopedCollisions') + var.get(u'Scope').get(u'prototype').put(u'checkBlockScopedCollisions', PyJs_checkBlockScopedCollisions_2132_) + @Js + def PyJs_rename_2133_(oldName, newName, block, this, arguments, var=var): + var = Scope({u'rename':PyJs_rename_2133_, u'newName':newName, u'this':this, u'oldName':oldName, u'block':block, u'arguments':arguments}, var) + var.registers([u'newName', u'binding', u'oldName', u'block']) + var.put(u'binding', var.get(u"this").callprop(u'getBinding', var.get(u'oldName'))) + if var.get(u'binding'): + var.put(u'newName', (var.get(u'newName') or var.get(u"this").callprop(u'generateUidIdentifier', var.get(u'oldName')).get(u'name'))) + return var.get(u'_renamer2').get(u'default').create(var.get(u'binding'), var.get(u'oldName'), var.get(u'newName')).callprop(u'rename', var.get(u'block')) + PyJs_rename_2133_._set_name(u'rename') + var.get(u'Scope').get(u'prototype').put(u'rename', PyJs_rename_2133_) + @Js + def PyJs__renameFromMap_2134_(map, oldName, newName, value, this, arguments, var=var): + var = Scope({u'map':map, u'_renameFromMap':PyJs__renameFromMap_2134_, u'oldName':oldName, u'newName':newName, u'this':this, u'value':value, u'arguments':arguments}, var) + var.registers([u'newName', u'map', u'oldName', u'value']) + if var.get(u'map').get(var.get(u'oldName')): + var.get(u'map').put(var.get(u'newName'), var.get(u'value')) + var.get(u'map').put(var.get(u'oldName'), var.get(u"null")) + PyJs__renameFromMap_2134_._set_name(u'_renameFromMap') + var.get(u'Scope').get(u'prototype').put(u'_renameFromMap', PyJs__renameFromMap_2134_) + @Js + def PyJs_dump_2135_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'dump':PyJs_dump_2135_}, var) + var.registers([u'scope', u'binding', u'name', u'sep']) + var.put(u'sep', PyJsComma(Js(0.0),var.get(u'_repeat2').get(u'default'))(Js(u'-'), Js(60.0))) + var.get(u'console').callprop(u'log', var.get(u'sep')) + var.put(u'scope', var.get(u"this")) + while 1: + var.get(u'console').callprop(u'log', Js(u'#'), var.get(u'scope').get(u'block').get(u'type')) + for PyJsTemp in var.get(u'scope').get(u'bindings'): + var.put(u'name', PyJsTemp) + var.put(u'binding', var.get(u'scope').get(u'bindings').get(var.get(u'name'))) + PyJs_Object_2136_ = Js({u'constant':var.get(u'binding').get(u'constant'),u'references':var.get(u'binding').get(u'references'),u'violations':var.get(u'binding').get(u'constantViolations').get(u'length'),u'kind':var.get(u'binding').get(u'kind')}) + var.get(u'console').callprop(u'log', Js(u' -'), var.get(u'name'), PyJs_Object_2136_) + if not var.put(u'scope', var.get(u'scope').get(u'parent')): + break + var.get(u'console').callprop(u'log', var.get(u'sep')) + PyJs_dump_2135_._set_name(u'dump') + var.get(u'Scope').get(u'prototype').put(u'dump', PyJs_dump_2135_) + @Js + def PyJs_toArray_2137_(node, i, this, arguments, var=var): + var = Scope({u'node':node, u'i':i, u'this':this, u'arguments':arguments, u'toArray':PyJs_toArray_2137_}, var) + var.registers([u'node', u'helperName', u'i', u'args', u'binding', u'file']) + var.put(u'file', var.get(u"this").get(u'hub').get(u'file')) + if var.get(u't').callprop(u'isIdentifier', var.get(u'node')): + var.put(u'binding', var.get(u"this").callprop(u'getBinding', var.get(u'node').get(u'name'))) + if ((var.get(u'binding') and var.get(u'binding').get(u'constant')) and var.get(u'binding').get(u'path').callprop(u'isGenericType', Js(u'Array'))): + return var.get(u'node') + if var.get(u't').callprop(u'isArrayExpression', var.get(u'node')): + return var.get(u'node') + PyJs_Object_2138_ = Js({u'name':Js(u'arguments')}) + if var.get(u't').callprop(u'isIdentifier', var.get(u'node'), PyJs_Object_2138_): + def PyJs_LONG_2139_(var=var): + return var.get(u't').callprop(u'callExpression', var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'memberExpression', var.get(u't').callprop(u'identifier', Js(u'Array')), var.get(u't').callprop(u'identifier', Js(u'prototype'))), var.get(u't').callprop(u'identifier', Js(u'slice'))), var.get(u't').callprop(u'identifier', Js(u'call'))), Js([var.get(u'node')])) + return PyJs_LONG_2139_() + var.put(u'helperName', Js(u'toArray')) + var.put(u'args', Js([var.get(u'node')])) + if PyJsStrictEq(var.get(u'i'),var.get(u'true')): + var.put(u'helperName', Js(u'toConsumableArray')) + else: + if var.get(u'i'): + var.get(u'args').callprop(u'push', var.get(u't').callprop(u'numericLiteral', var.get(u'i'))) + var.put(u'helperName', Js(u'slicedToArray')) + return var.get(u't').callprop(u'callExpression', var.get(u'file').callprop(u'addHelper', var.get(u'helperName')), var.get(u'args')) + PyJs_toArray_2137_._set_name(u'toArray') + var.get(u'Scope').get(u'prototype').put(u'toArray', PyJs_toArray_2137_) + @Js + def PyJs_hasLabel_2140_(name, this, arguments, var=var): + var = Scope({u'this':this, u'hasLabel':PyJs_hasLabel_2140_, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + return var.get(u"this").callprop(u'getLabel', var.get(u'name')).neg().neg() + PyJs_hasLabel_2140_._set_name(u'hasLabel') + var.get(u'Scope').get(u'prototype').put(u'hasLabel', PyJs_hasLabel_2140_) + @Js + def PyJs_getLabel_2141_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'getLabel':PyJs_getLabel_2141_, u'arguments':arguments}, var) + var.registers([u'name']) + return var.get(u"this").get(u'labels').callprop(u'get', var.get(u'name')) + PyJs_getLabel_2141_._set_name(u'getLabel') + var.get(u'Scope').get(u'prototype').put(u'getLabel', PyJs_getLabel_2141_) + @Js + def PyJs_registerLabel_2142_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'registerLabel':PyJs_registerLabel_2142_}, var) + var.registers([u'path']) + var.get(u"this").get(u'labels').callprop(u'set', var.get(u'path').get(u'node').get(u'label').get(u'name'), var.get(u'path')) + PyJs_registerLabel_2142_._set_name(u'registerLabel') + var.get(u'Scope').get(u'prototype').put(u'registerLabel', PyJs_registerLabel_2142_) + @Js + def PyJs_registerDeclaration_2143_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'registerDeclaration':PyJs_registerDeclaration_2143_}, var) + var.registers([u'_isArray7', u'specifiers', u'_ref8', u'_i8', u'_i7', u'declarations', u'_isArray8', u'_ref7', u'declar', u'_iterator8', u'path', u'specifier', u'_declar', u'_iterator7']) + if var.get(u'path').callprop(u'isLabeledStatement'): + var.get(u"this").callprop(u'registerLabel', var.get(u'path')) + else: + if var.get(u'path').callprop(u'isFunctionDeclaration'): + var.get(u"this").callprop(u'registerBinding', Js(u'hoisted'), var.get(u'path').callprop(u'get', Js(u'id')), var.get(u'path')) + else: + if var.get(u'path').callprop(u'isVariableDeclaration'): + var.put(u'declarations', var.get(u'path').callprop(u'get', Js(u'declarations'))) + #for JS loop + var.put(u'_iterator7', var.get(u'declarations')) + var.put(u'_isArray7', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator7'))) + var.put(u'_i7', Js(0.0)) + var.put(u'_iterator7', (var.get(u'_iterator7') if var.get(u'_isArray7') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator7')))) + while 1: + pass + if var.get(u'_isArray7'): + if (var.get(u'_i7')>=var.get(u'_iterator7').get(u'length')): + break + var.put(u'_ref7', var.get(u'_iterator7').get((var.put(u'_i7',Js(var.get(u'_i7').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i7', var.get(u'_iterator7').callprop(u'next')) + if var.get(u'_i7').get(u'done'): + break + var.put(u'_ref7', var.get(u'_i7').get(u'value')) + var.put(u'declar', var.get(u'_ref7')) + var.get(u"this").callprop(u'registerBinding', var.get(u'path').get(u'node').get(u'kind'), var.get(u'declar')) + + else: + if var.get(u'path').callprop(u'isClassDeclaration'): + var.get(u"this").callprop(u'registerBinding', Js(u'let'), var.get(u'path')) + else: + if var.get(u'path').callprop(u'isImportDeclaration'): + var.put(u'specifiers', var.get(u'path').callprop(u'get', Js(u'specifiers'))) + #for JS loop + var.put(u'_iterator8', var.get(u'specifiers')) + var.put(u'_isArray8', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator8'))) + var.put(u'_i8', Js(0.0)) + var.put(u'_iterator8', (var.get(u'_iterator8') if var.get(u'_isArray8') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator8')))) + while 1: + pass + if var.get(u'_isArray8'): + if (var.get(u'_i8')>=var.get(u'_iterator8').get(u'length')): + break + var.put(u'_ref8', var.get(u'_iterator8').get((var.put(u'_i8',Js(var.get(u'_i8').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i8', var.get(u'_iterator8').callprop(u'next')) + if var.get(u'_i8').get(u'done'): + break + var.put(u'_ref8', var.get(u'_i8').get(u'value')) + var.put(u'specifier', var.get(u'_ref8')) + var.get(u"this").callprop(u'registerBinding', Js(u'module'), var.get(u'specifier')) + + else: + if var.get(u'path').callprop(u'isExportDeclaration'): + var.put(u'_declar', var.get(u'path').callprop(u'get', Js(u'declaration'))) + if ((var.get(u'_declar').callprop(u'isClassDeclaration') or var.get(u'_declar').callprop(u'isFunctionDeclaration')) or var.get(u'_declar').callprop(u'isVariableDeclaration')): + var.get(u"this").callprop(u'registerDeclaration', var.get(u'_declar')) + else: + var.get(u"this").callprop(u'registerBinding', Js(u'unknown'), var.get(u'path')) + PyJs_registerDeclaration_2143_._set_name(u'registerDeclaration') + var.get(u'Scope').get(u'prototype').put(u'registerDeclaration', PyJs_registerDeclaration_2143_) + @Js + def PyJs_buildUndefinedNode_2144_(this, arguments, var=var): + var = Scope({u'this':this, u'buildUndefinedNode':PyJs_buildUndefinedNode_2144_, u'arguments':arguments}, var) + var.registers([]) + if var.get(u"this").callprop(u'hasBinding', Js(u'undefined')): + return var.get(u't').callprop(u'unaryExpression', Js(u'void'), var.get(u't').callprop(u'numericLiteral', Js(0.0)), var.get(u'true')) + else: + return var.get(u't').callprop(u'identifier', Js(u'undefined')) + PyJs_buildUndefinedNode_2144_._set_name(u'buildUndefinedNode') + var.get(u'Scope').get(u'prototype').put(u'buildUndefinedNode', PyJs_buildUndefinedNode_2144_) + @Js + def PyJs_registerConstantViolation_2145_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'registerConstantViolation':PyJs_registerConstantViolation_2145_}, var) + var.registers([u'path', u'binding', u'ids', u'name']) + var.put(u'ids', var.get(u'path').callprop(u'getBindingIdentifiers')) + for PyJsTemp in var.get(u'ids'): + var.put(u'name', PyJsTemp) + var.put(u'binding', var.get(u"this").callprop(u'getBinding', var.get(u'name'))) + if var.get(u'binding'): + var.get(u'binding').callprop(u'reassign', var.get(u'path')) + PyJs_registerConstantViolation_2145_._set_name(u'registerConstantViolation') + var.get(u'Scope').get(u'prototype').put(u'registerConstantViolation', PyJs_registerConstantViolation_2145_) + @Js + def PyJs_registerBinding_2146_(kind, path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'kind':kind, u'arguments':arguments, u'registerBinding':PyJs_registerBinding_2146_}, var) + var.registers([u'parent', u'kind', u'_i10', u'_i9', u'_ref9', u'name', u'_ref10', u'ids', u'_isArray9', u'declarators', u'declar', u'_iterator9', u'_isArray10', u'_iterator10', u'path', u'_id3', u'local', u'bindingPath']) + var.put(u'bindingPath', (var.get(u'arguments').get(u'2') if ((var.get(u'arguments').get(u'length')>Js(2.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'2'),var.get(u'undefined'))) else var.get(u'path'))) + if var.get(u'kind').neg(): + PyJsTempException = JsToPyException(var.get(u'ReferenceError').create(Js(u'no `kind`'))) + raise PyJsTempException + if var.get(u'path').callprop(u'isVariableDeclaration'): + var.put(u'declarators', var.get(u'path').callprop(u'get', Js(u'declarations'))) + #for JS loop + var.put(u'_iterator9', var.get(u'declarators')) + var.put(u'_isArray9', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator9'))) + var.put(u'_i9', Js(0.0)) + var.put(u'_iterator9', (var.get(u'_iterator9') if var.get(u'_isArray9') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator9')))) + while 1: + pass + if var.get(u'_isArray9'): + if (var.get(u'_i9')>=var.get(u'_iterator9').get(u'length')): + break + var.put(u'_ref9', var.get(u'_iterator9').get((var.put(u'_i9',Js(var.get(u'_i9').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i9', var.get(u'_iterator9').callprop(u'next')) + if var.get(u'_i9').get(u'done'): + break + var.put(u'_ref9', var.get(u'_i9').get(u'value')) + var.put(u'declar', var.get(u'_ref9')) + var.get(u"this").callprop(u'registerBinding', var.get(u'kind'), var.get(u'declar')) + + return var.get('undefined') + var.put(u'parent', var.get(u"this").callprop(u'getProgramParent')) + var.put(u'ids', var.get(u'path').callprop(u'getBindingIdentifiers', var.get(u'true'))) + for PyJsTemp in var.get(u'ids'): + var.put(u'name', PyJsTemp) + #for JS loop + var.put(u'_iterator10', var.get(u'ids').get(var.get(u'name'))) + var.put(u'_isArray10', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator10'))) + var.put(u'_i10', Js(0.0)) + var.put(u'_iterator10', (var.get(u'_iterator10') if var.get(u'_isArray10') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator10')))) + while 1: + pass + if var.get(u'_isArray10'): + if (var.get(u'_i10')>=var.get(u'_iterator10').get(u'length')): + break + var.put(u'_ref10', var.get(u'_iterator10').get((var.put(u'_i10',Js(var.get(u'_i10').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i10', var.get(u'_iterator10').callprop(u'next')) + if var.get(u'_i10').get(u'done'): + break + var.put(u'_ref10', var.get(u'_i10').get(u'value')) + var.put(u'_id3', var.get(u'_ref10')) + var.put(u'local', var.get(u"this").callprop(u'getOwnBinding', var.get(u'name'))) + if var.get(u'local'): + if PyJsStrictEq(var.get(u'local').get(u'identifier'),var.get(u'_id3')): + continue + var.get(u"this").callprop(u'checkBlockScopedCollisions', var.get(u'local'), var.get(u'kind'), var.get(u'name'), var.get(u'_id3')) + if (var.get(u'local') and var.get(u'local').get(u'path').callprop(u'isFlow')): + var.put(u'local', var.get(u"null")) + var.get(u'parent').get(u'references').put(var.get(u'name'), var.get(u'true')) + PyJs_Object_2147_ = Js({u'identifier':var.get(u'_id3'),u'existing':var.get(u'local'),u'scope':var.get(u"this"),u'path':var.get(u'bindingPath'),u'kind':var.get(u'kind')}) + var.get(u"this").get(u'bindings').put(var.get(u'name'), var.get(u'_binding3').get(u'default').create(PyJs_Object_2147_)) + + PyJs_registerBinding_2146_._set_name(u'registerBinding') + var.get(u'Scope').get(u'prototype').put(u'registerBinding', PyJs_registerBinding_2146_) + @Js + def PyJs_addGlobal_2148_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'addGlobal':PyJs_addGlobal_2148_}, var) + var.registers([u'node']) + var.get(u"this").get(u'globals').put(var.get(u'node').get(u'name'), var.get(u'node')) + PyJs_addGlobal_2148_._set_name(u'addGlobal') + var.get(u'Scope').get(u'prototype').put(u'addGlobal', PyJs_addGlobal_2148_) + @Js + def PyJs_hasUid_2149_(name, this, arguments, var=var): + var = Scope({u'this':this, u'hasUid':PyJs_hasUid_2149_, u'name':name, u'arguments':arguments}, var) + var.registers([u'scope', u'name']) + var.put(u'scope', var.get(u"this")) + while 1: + if var.get(u'scope').get(u'uids').get(var.get(u'name')): + return var.get(u'true') + if not var.put(u'scope', var.get(u'scope').get(u'parent')): + break + return Js(False) + PyJs_hasUid_2149_._set_name(u'hasUid') + var.get(u'Scope').get(u'prototype').put(u'hasUid', PyJs_hasUid_2149_) + @Js + def PyJs_hasGlobal_2150_(name, this, arguments, var=var): + var = Scope({u'this':this, u'hasGlobal':PyJs_hasGlobal_2150_, u'name':name, u'arguments':arguments}, var) + var.registers([u'scope', u'name']) + var.put(u'scope', var.get(u"this")) + while 1: + if var.get(u'scope').get(u'globals').get(var.get(u'name')): + return var.get(u'true') + if not var.put(u'scope', var.get(u'scope').get(u'parent')): + break + return Js(False) + PyJs_hasGlobal_2150_._set_name(u'hasGlobal') + var.get(u'Scope').get(u'prototype').put(u'hasGlobal', PyJs_hasGlobal_2150_) + @Js + def PyJs_hasReference_2151_(name, this, arguments, var=var): + var = Scope({u'this':this, u'hasReference':PyJs_hasReference_2151_, u'name':name, u'arguments':arguments}, var) + var.registers([u'scope', u'name']) + var.put(u'scope', var.get(u"this")) + while 1: + if var.get(u'scope').get(u'references').get(var.get(u'name')): + return var.get(u'true') + if not var.put(u'scope', var.get(u'scope').get(u'parent')): + break + return Js(False) + PyJs_hasReference_2151_._set_name(u'hasReference') + var.get(u'Scope').get(u'prototype').put(u'hasReference', PyJs_hasReference_2151_) + @Js + def PyJs_isPure_2152_(node, constantsOnly, this, arguments, var=var): + var = Scope({u'node':node, u'constantsOnly':constantsOnly, u'this':this, u'arguments':arguments, u'isPure':PyJs_isPure_2152_}, var) + var.registers([u'node', u'constantsOnly', u'_isArray11', u'binding', u'elem', u'prop', u'_i13', u'_i12', u'_i11', u'_isArray13', u'_isArray12', u'_ref11', u'_iterator11', u'_ref13', u'_iterator13', u'_iterator12', u'method', u'_ref12']) + if var.get(u't').callprop(u'isIdentifier', var.get(u'node')): + var.put(u'binding', var.get(u"this").callprop(u'getBinding', var.get(u'node').get(u'name'))) + if var.get(u'binding').neg(): + return Js(False) + if var.get(u'constantsOnly'): + return var.get(u'binding').get(u'constant') + return var.get(u'true') + else: + if var.get(u't').callprop(u'isClass', var.get(u'node')): + if (var.get(u'node').get(u'superClass') and var.get(u"this").callprop(u'isPure', var.get(u'node').get(u'superClass'), var.get(u'constantsOnly')).neg()): + return Js(False) + return var.get(u"this").callprop(u'isPure', var.get(u'node').get(u'body'), var.get(u'constantsOnly')) + else: + if var.get(u't').callprop(u'isClassBody', var.get(u'node')): + #for JS loop + var.put(u'_iterator11', var.get(u'node').get(u'body')) + var.put(u'_isArray11', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator11'))) + var.put(u'_i11', Js(0.0)) + var.put(u'_iterator11', (var.get(u'_iterator11') if var.get(u'_isArray11') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator11')))) + while 1: + pass + if var.get(u'_isArray11'): + if (var.get(u'_i11')>=var.get(u'_iterator11').get(u'length')): + break + var.put(u'_ref11', var.get(u'_iterator11').get((var.put(u'_i11',Js(var.get(u'_i11').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i11', var.get(u'_iterator11').callprop(u'next')) + if var.get(u'_i11').get(u'done'): + break + var.put(u'_ref11', var.get(u'_i11').get(u'value')) + var.put(u'method', var.get(u'_ref11')) + if var.get(u"this").callprop(u'isPure', var.get(u'method'), var.get(u'constantsOnly')).neg(): + return Js(False) + + return var.get(u'true') + else: + if var.get(u't').callprop(u'isBinary', var.get(u'node')): + return (var.get(u"this").callprop(u'isPure', var.get(u'node').get(u'left'), var.get(u'constantsOnly')) and var.get(u"this").callprop(u'isPure', var.get(u'node').get(u'right'), var.get(u'constantsOnly'))) + else: + if var.get(u't').callprop(u'isArrayExpression', var.get(u'node')): + #for JS loop + var.put(u'_iterator12', var.get(u'node').get(u'elements')) + var.put(u'_isArray12', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator12'))) + var.put(u'_i12', Js(0.0)) + var.put(u'_iterator12', (var.get(u'_iterator12') if var.get(u'_isArray12') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator12')))) + while 1: + pass + if var.get(u'_isArray12'): + if (var.get(u'_i12')>=var.get(u'_iterator12').get(u'length')): + break + var.put(u'_ref12', var.get(u'_iterator12').get((var.put(u'_i12',Js(var.get(u'_i12').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i12', var.get(u'_iterator12').callprop(u'next')) + if var.get(u'_i12').get(u'done'): + break + var.put(u'_ref12', var.get(u'_i12').get(u'value')) + var.put(u'elem', var.get(u'_ref12')) + if var.get(u"this").callprop(u'isPure', var.get(u'elem'), var.get(u'constantsOnly')).neg(): + return Js(False) + + return var.get(u'true') + else: + if var.get(u't').callprop(u'isObjectExpression', var.get(u'node')): + #for JS loop + var.put(u'_iterator13', var.get(u'node').get(u'properties')) + var.put(u'_isArray13', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator13'))) + var.put(u'_i13', Js(0.0)) + var.put(u'_iterator13', (var.get(u'_iterator13') if var.get(u'_isArray13') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator13')))) + while 1: + pass + if var.get(u'_isArray13'): + if (var.get(u'_i13')>=var.get(u'_iterator13').get(u'length')): + break + var.put(u'_ref13', var.get(u'_iterator13').get((var.put(u'_i13',Js(var.get(u'_i13').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i13', var.get(u'_iterator13').callprop(u'next')) + if var.get(u'_i13').get(u'done'): + break + var.put(u'_ref13', var.get(u'_i13').get(u'value')) + var.put(u'prop', var.get(u'_ref13')) + if var.get(u"this").callprop(u'isPure', var.get(u'prop'), var.get(u'constantsOnly')).neg(): + return Js(False) + + return var.get(u'true') + else: + if var.get(u't').callprop(u'isClassMethod', var.get(u'node')): + if (var.get(u'node').get(u'computed') and var.get(u"this").callprop(u'isPure', var.get(u'node').get(u'key'), var.get(u'constantsOnly')).neg()): + return Js(False) + if (PyJsStrictEq(var.get(u'node').get(u'kind'),Js(u'get')) or PyJsStrictEq(var.get(u'node').get(u'kind'),Js(u'set'))): + return Js(False) + return var.get(u'true') + else: + if (var.get(u't').callprop(u'isClassProperty', var.get(u'node')) or var.get(u't').callprop(u'isObjectProperty', var.get(u'node'))): + if (var.get(u'node').get(u'computed') and var.get(u"this").callprop(u'isPure', var.get(u'node').get(u'key'), var.get(u'constantsOnly')).neg()): + return Js(False) + return var.get(u"this").callprop(u'isPure', var.get(u'node').get(u'value'), var.get(u'constantsOnly')) + else: + if var.get(u't').callprop(u'isUnaryExpression', var.get(u'node')): + return var.get(u"this").callprop(u'isPure', var.get(u'node').get(u'argument'), var.get(u'constantsOnly')) + else: + return var.get(u't').callprop(u'isPureish', var.get(u'node')) + PyJs_isPure_2152_._set_name(u'isPure') + var.get(u'Scope').get(u'prototype').put(u'isPure', PyJs_isPure_2152_) + @Js + def PyJs_setData_2153_(key, val, this, arguments, var=var): + var = Scope({u'this':this, u'setData':PyJs_setData_2153_, u'val':val, u'key':key, u'arguments':arguments}, var) + var.registers([u'val', u'key']) + return var.get(u"this").get(u'data').put(var.get(u'key'), var.get(u'val')) + PyJs_setData_2153_._set_name(u'setData') + var.get(u'Scope').get(u'prototype').put(u'setData', PyJs_setData_2153_) + @Js + def PyJs_getData_2154_(key, this, arguments, var=var): + var = Scope({u'this':this, u'getData':PyJs_getData_2154_, u'arguments':arguments, u'key':key}, var) + var.registers([u'scope', u'data', u'key']) + var.put(u'scope', var.get(u"this")) + while 1: + var.put(u'data', var.get(u'scope').get(u'data').get(var.get(u'key'))) + if (var.get(u'data')!=var.get(u"null")): + return var.get(u'data') + if not var.put(u'scope', var.get(u'scope').get(u'parent')): + break + PyJs_getData_2154_._set_name(u'getData') + var.get(u'Scope').get(u'prototype').put(u'getData', PyJs_getData_2154_) + @Js + def PyJs_removeData_2155_(key, this, arguments, var=var): + var = Scope({u'this':this, u'removeData':PyJs_removeData_2155_, u'arguments':arguments, u'key':key}, var) + var.registers([u'scope', u'data', u'key']) + var.put(u'scope', var.get(u"this")) + while 1: + var.put(u'data', var.get(u'scope').get(u'data').get(var.get(u'key'))) + if (var.get(u'data')!=var.get(u"null")): + var.get(u'scope').get(u'data').put(var.get(u'key'), var.get(u"null")) + if not var.put(u'scope', var.get(u'scope').get(u'parent')): + break + PyJs_removeData_2155_._set_name(u'removeData') + var.get(u'Scope').get(u'prototype').put(u'removeData', PyJs_removeData_2155_) + @Js + def PyJs_init_2156_(this, arguments, var=var): + var = Scope({u'this':this, u'init':PyJs_init_2156_, u'arguments':arguments}, var) + var.registers([]) + if var.get(u"this").get(u'references').neg(): + var.get(u"this").callprop(u'crawl') + PyJs_init_2156_._set_name(u'init') + var.get(u'Scope').get(u'prototype').put(u'init', PyJs_init_2156_) + @Js + def PyJs_crawl_2157_(this, arguments, var=var): + var = Scope({u'this':this, u'crawl':PyJs_crawl_2157_, u'arguments':arguments}, var) + var.registers([]) + (var.put(u'_crawlCallsCount',Js(var.get(u'_crawlCallsCount').to_number())+Js(1))-Js(1)) + var.get(u"this").callprop(u'_crawl') + (var.put(u'_crawlCallsCount',Js(var.get(u'_crawlCallsCount').to_number())-Js(1))+Js(1)) + PyJs_crawl_2157_._set_name(u'crawl') + var.get(u'Scope').get(u'prototype').put(u'crawl', PyJs_crawl_2157_) + @Js + def PyJs__crawl_2158_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'_crawl':PyJs__crawl_2158_}, var) + var.registers([u'binding', u'_ref15', u'param', u'_ref17', u'_ref16', u'state', u'_ref14', u'params', u'_isArray18', u'ref', u'_ref18', u'node', u'parent', u'_isArray17', u'_isArray16', u'_isArray15', u'_isArray14', u'key', u'path', u'_path2', u'_iterator15', u'_iterator14', u'_iterator17', u'_iterator16', u'name', u'_iterator18', u'ids', u'programParent', u'_i17', u'_i16', u'_i15', u'_i14', u'_i18', u'_path']) + var.put(u'path', var.get(u"this").get(u'path')) + var.get(u"this").put(u'references', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.get(u"this").put(u'bindings', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.get(u"this").put(u'globals', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.get(u"this").put(u'uids', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.get(u"this").put(u'data', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + if var.get(u'path').callprop(u'isLoop'): + #for JS loop + var.put(u'_iterator14', var.get(u't').get(u'FOR_INIT_KEYS')) + var.put(u'_isArray14', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator14'))) + var.put(u'_i14', Js(0.0)) + var.put(u'_iterator14', (var.get(u'_iterator14') if var.get(u'_isArray14') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator14')))) + while 1: + pass + if var.get(u'_isArray14'): + if (var.get(u'_i14')>=var.get(u'_iterator14').get(u'length')): + break + var.put(u'_ref14', var.get(u'_iterator14').get((var.put(u'_i14',Js(var.get(u'_i14').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i14', var.get(u'_iterator14').callprop(u'next')) + if var.get(u'_i14').get(u'done'): + break + var.put(u'_ref14', var.get(u'_i14').get(u'value')) + var.put(u'key', var.get(u'_ref14')) + var.put(u'node', var.get(u'path').callprop(u'get', var.get(u'key'))) + if var.get(u'node').callprop(u'isBlockScoped'): + var.get(u"this").callprop(u'registerBinding', var.get(u'node').get(u'node').get(u'kind'), var.get(u'node')) + + if (var.get(u'path').callprop(u'isFunctionExpression') and var.get(u'path').callprop(u'has', Js(u'id'))): + if var.get(u'path').callprop(u'get', Js(u'id')).get(u'node').get(var.get(u't').get(u'NOT_LOCAL_BINDING')).neg(): + var.get(u"this").callprop(u'registerBinding', Js(u'local'), var.get(u'path').callprop(u'get', Js(u'id')), var.get(u'path')) + if (var.get(u'path').callprop(u'isClassExpression') and var.get(u'path').callprop(u'has', Js(u'id'))): + if var.get(u'path').callprop(u'get', Js(u'id')).get(u'node').get(var.get(u't').get(u'NOT_LOCAL_BINDING')).neg(): + var.get(u"this").callprop(u'registerBinding', Js(u'local'), var.get(u'path')) + if var.get(u'path').callprop(u'isFunction'): + var.put(u'params', var.get(u'path').callprop(u'get', Js(u'params'))) + #for JS loop + var.put(u'_iterator15', var.get(u'params')) + var.put(u'_isArray15', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator15'))) + var.put(u'_i15', Js(0.0)) + var.put(u'_iterator15', (var.get(u'_iterator15') if var.get(u'_isArray15') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator15')))) + while 1: + pass + if var.get(u'_isArray15'): + if (var.get(u'_i15')>=var.get(u'_iterator15').get(u'length')): + break + var.put(u'_ref15', var.get(u'_iterator15').get((var.put(u'_i15',Js(var.get(u'_i15').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i15', var.get(u'_iterator15').callprop(u'next')) + if var.get(u'_i15').get(u'done'): + break + var.put(u'_ref15', var.get(u'_i15').get(u'value')) + var.put(u'param', var.get(u'_ref15')) + var.get(u"this").callprop(u'registerBinding', Js(u'param'), var.get(u'param')) + + if var.get(u'path').callprop(u'isCatchClause'): + var.get(u"this").callprop(u'registerBinding', Js(u'let'), var.get(u'path')) + var.put(u'parent', var.get(u"this").callprop(u'getProgramParent')) + if var.get(u'parent').get(u'crawling'): + return var.get('undefined') + PyJs_Object_2159_ = Js({u'references':Js([]),u'constantViolations':Js([]),u'assignments':Js([])}) + var.put(u'state', PyJs_Object_2159_) + var.get(u"this").put(u'crawling', var.get(u'true')) + var.get(u'path').callprop(u'traverse', var.get(u'collectorVisitor'), var.get(u'state')) + var.get(u"this").put(u'crawling', Js(False)) + #for JS loop + var.put(u'_iterator16', var.get(u'state').get(u'assignments')) + var.put(u'_isArray16', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator16'))) + var.put(u'_i16', Js(0.0)) + var.put(u'_iterator16', (var.get(u'_iterator16') if var.get(u'_isArray16') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator16')))) + while 1: + pass + if var.get(u'_isArray16'): + if (var.get(u'_i16')>=var.get(u'_iterator16').get(u'length')): + break + var.put(u'_ref16', var.get(u'_iterator16').get((var.put(u'_i16',Js(var.get(u'_i16').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i16', var.get(u'_iterator16').callprop(u'next')) + if var.get(u'_i16').get(u'done'): + break + var.put(u'_ref16', var.get(u'_i16').get(u'value')) + var.put(u'_path', var.get(u'_ref16')) + var.put(u'ids', var.get(u'_path').callprop(u'getBindingIdentifiers')) + var.put(u'programParent', PyJsComma(Js(0.0), Js(None))) + for PyJsTemp in var.get(u'ids'): + var.put(u'name', PyJsTemp) + if var.get(u'_path').get(u'scope').callprop(u'getBinding', var.get(u'name')): + continue + var.put(u'programParent', (var.get(u'programParent') or var.get(u'_path').get(u'scope').callprop(u'getProgramParent'))) + var.get(u'programParent').callprop(u'addGlobal', var.get(u'ids').get(var.get(u'name'))) + var.get(u'_path').get(u'scope').callprop(u'registerConstantViolation', var.get(u'_path')) + + #for JS loop + var.put(u'_iterator17', var.get(u'state').get(u'references')) + var.put(u'_isArray17', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator17'))) + var.put(u'_i17', Js(0.0)) + var.put(u'_iterator17', (var.get(u'_iterator17') if var.get(u'_isArray17') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator17')))) + while 1: + pass + if var.get(u'_isArray17'): + if (var.get(u'_i17')>=var.get(u'_iterator17').get(u'length')): + break + var.put(u'_ref17', var.get(u'_iterator17').get((var.put(u'_i17',Js(var.get(u'_i17').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i17', var.get(u'_iterator17').callprop(u'next')) + if var.get(u'_i17').get(u'done'): + break + var.put(u'_ref17', var.get(u'_i17').get(u'value')) + var.put(u'ref', var.get(u'_ref17')) + var.put(u'binding', var.get(u'ref').get(u'scope').callprop(u'getBinding', var.get(u'ref').get(u'node').get(u'name'))) + if var.get(u'binding'): + var.get(u'binding').callprop(u'reference', var.get(u'ref')) + else: + var.get(u'ref').get(u'scope').callprop(u'getProgramParent').callprop(u'addGlobal', var.get(u'ref').get(u'node')) + + #for JS loop + var.put(u'_iterator18', var.get(u'state').get(u'constantViolations')) + var.put(u'_isArray18', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator18'))) + var.put(u'_i18', Js(0.0)) + var.put(u'_iterator18', (var.get(u'_iterator18') if var.get(u'_isArray18') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator18')))) + while 1: + pass + if var.get(u'_isArray18'): + if (var.get(u'_i18')>=var.get(u'_iterator18').get(u'length')): + break + var.put(u'_ref18', var.get(u'_iterator18').get((var.put(u'_i18',Js(var.get(u'_i18').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i18', var.get(u'_iterator18').callprop(u'next')) + if var.get(u'_i18').get(u'done'): + break + var.put(u'_ref18', var.get(u'_i18').get(u'value')) + var.put(u'_path2', var.get(u'_ref18')) + var.get(u'_path2').get(u'scope').callprop(u'registerConstantViolation', var.get(u'_path2')) + + PyJs__crawl_2158_._set_name(u'_crawl') + var.get(u'Scope').get(u'prototype').put(u'_crawl', PyJs__crawl_2158_) + @Js + def PyJs_push_2160_(opts, this, arguments, var=var): + var = Scope({u'this':this, u'push':PyJs_push_2160_, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'kind', u'blockHoist', u'_path$unshiftContaine', u'declarPath', u'declar', u'declarator', u'path', u'dataKey', u'unique', u'opts']) + var.put(u'path', var.get(u"this").get(u'path')) + if (var.get(u'path').callprop(u'isBlockStatement').neg() and var.get(u'path').callprop(u'isProgram').neg()): + var.put(u'path', var.get(u"this").callprop(u'getBlockParent').get(u'path')) + if var.get(u'path').callprop(u'isSwitchStatement'): + var.put(u'path', var.get(u"this").callprop(u'getFunctionParent').get(u'path')) + if ((var.get(u'path').callprop(u'isLoop') or var.get(u'path').callprop(u'isCatchClause')) or var.get(u'path').callprop(u'isFunction')): + var.get(u't').callprop(u'ensureBlock', var.get(u'path').get(u'node')) + var.put(u'path', var.get(u'path').callprop(u'get', Js(u'body'))) + var.put(u'unique', var.get(u'opts').get(u'unique')) + var.put(u'kind', (var.get(u'opts').get(u'kind') or Js(u'var'))) + var.put(u'blockHoist', (Js(2.0) if (var.get(u'opts').get(u'_blockHoist')==var.get(u"null")) else var.get(u'opts').get(u'_blockHoist'))) + var.put(u'dataKey', (((Js(u'declaration:')+var.get(u'kind'))+Js(u':'))+var.get(u'blockHoist'))) + var.put(u'declarPath', (var.get(u'unique').neg() and var.get(u'path').callprop(u'getData', var.get(u'dataKey')))) + if var.get(u'declarPath').neg(): + var.put(u'declar', var.get(u't').callprop(u'variableDeclaration', var.get(u'kind'), Js([]))) + var.get(u'declar').put(u'_generated', var.get(u'true')) + var.get(u'declar').put(u'_blockHoist', var.get(u'blockHoist')) + var.put(u'_path$unshiftContaine', var.get(u'path').callprop(u'unshiftContainer', Js(u'body'), Js([var.get(u'declar')]))) + var.put(u'declarPath', var.get(u'_path$unshiftContaine').get(u'0')) + if var.get(u'unique').neg(): + var.get(u'path').callprop(u'setData', var.get(u'dataKey'), var.get(u'declarPath')) + var.put(u'declarator', var.get(u't').callprop(u'variableDeclarator', var.get(u'opts').get(u'id'), var.get(u'opts').get(u'init'))) + var.get(u'declarPath').get(u'node').get(u'declarations').callprop(u'push', var.get(u'declarator')) + var.get(u"this").callprop(u'registerBinding', var.get(u'kind'), var.get(u'declarPath').callprop(u'get', Js(u'declarations')).callprop(u'pop')) + PyJs_push_2160_._set_name(u'push') + var.get(u'Scope').get(u'prototype').put(u'push', PyJs_push_2160_) + @Js + def PyJs_getProgramParent_2161_(this, arguments, var=var): + var = Scope({u'this':this, u'getProgramParent':PyJs_getProgramParent_2161_, u'arguments':arguments}, var) + var.registers([u'scope']) + var.put(u'scope', var.get(u"this")) + while 1: + if var.get(u'scope').get(u'path').callprop(u'isProgram'): + return var.get(u'scope') + if not var.put(u'scope', var.get(u'scope').get(u'parent')): + break + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u"We couldn't find a Function or Program..."))) + raise PyJsTempException + PyJs_getProgramParent_2161_._set_name(u'getProgramParent') + var.get(u'Scope').get(u'prototype').put(u'getProgramParent', PyJs_getProgramParent_2161_) + @Js + def PyJs_getFunctionParent_2162_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'getFunctionParent':PyJs_getFunctionParent_2162_}, var) + var.registers([u'scope']) + var.put(u'scope', var.get(u"this")) + while 1: + if var.get(u'scope').get(u'path').callprop(u'isFunctionParent'): + return var.get(u'scope') + if not var.put(u'scope', var.get(u'scope').get(u'parent')): + break + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u"We couldn't find a Function or Program..."))) + raise PyJsTempException + PyJs_getFunctionParent_2162_._set_name(u'getFunctionParent') + var.get(u'Scope').get(u'prototype').put(u'getFunctionParent', PyJs_getFunctionParent_2162_) + @Js + def PyJs_getBlockParent_2163_(this, arguments, var=var): + var = Scope({u'this':this, u'getBlockParent':PyJs_getBlockParent_2163_, u'arguments':arguments}, var) + var.registers([u'scope']) + var.put(u'scope', var.get(u"this")) + while 1: + if var.get(u'scope').get(u'path').callprop(u'isBlockParent'): + return var.get(u'scope') + if not var.put(u'scope', var.get(u'scope').get(u'parent')): + break + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u"We couldn't find a BlockStatement, For, Switch, Function, Loop or Program..."))) + raise PyJsTempException + PyJs_getBlockParent_2163_._set_name(u'getBlockParent') + var.get(u'Scope').get(u'prototype').put(u'getBlockParent', PyJs_getBlockParent_2163_) + @Js + def PyJs_getAllBindings_2164_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'getAllBindings':PyJs_getAllBindings_2164_}, var) + var.registers([u'scope', u'ids']) + var.put(u'ids', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + var.put(u'scope', var.get(u"this")) + while 1: + PyJsComma(Js(0.0),var.get(u'_defaults2').get(u'default'))(var.get(u'ids'), var.get(u'scope').get(u'bindings')) + var.put(u'scope', var.get(u'scope').get(u'parent')) + if not var.get(u'scope'): + break + return var.get(u'ids') + PyJs_getAllBindings_2164_._set_name(u'getAllBindings') + var.get(u'Scope').get(u'prototype').put(u'getAllBindings', PyJs_getAllBindings_2164_) + @Js + def PyJs_getAllBindingsOfKind_2165_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'getAllBindingsOfKind':PyJs_getAllBindingsOfKind_2165_}, var) + var.registers([u'kind', u'name', u'binding', u'ids', u'_iterator19', u'_ref19', u'scope', u'_i19', u'_isArray19']) + var.put(u'ids', PyJsComma(Js(0.0),var.get(u'_create2').get(u'default'))(var.get(u"null"))) + #for JS loop + var.put(u'_iterator19', var.get(u'arguments')) + var.put(u'_isArray19', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator19'))) + var.put(u'_i19', Js(0.0)) + var.put(u'_iterator19', (var.get(u'_iterator19') if var.get(u'_isArray19') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator19')))) + while 1: + pass + if var.get(u'_isArray19'): + if (var.get(u'_i19')>=var.get(u'_iterator19').get(u'length')): + break + var.put(u'_ref19', var.get(u'_iterator19').get((var.put(u'_i19',Js(var.get(u'_i19').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i19', var.get(u'_iterator19').callprop(u'next')) + if var.get(u'_i19').get(u'done'): + break + var.put(u'_ref19', var.get(u'_i19').get(u'value')) + var.put(u'kind', var.get(u'_ref19')) + var.put(u'scope', var.get(u"this")) + while 1: + for PyJsTemp in var.get(u'scope').get(u'bindings'): + var.put(u'name', PyJsTemp) + var.put(u'binding', var.get(u'scope').get(u'bindings').get(var.get(u'name'))) + if PyJsStrictEq(var.get(u'binding').get(u'kind'),var.get(u'kind')): + var.get(u'ids').put(var.get(u'name'), var.get(u'binding')) + var.put(u'scope', var.get(u'scope').get(u'parent')) + if not var.get(u'scope'): + break + + return var.get(u'ids') + PyJs_getAllBindingsOfKind_2165_._set_name(u'getAllBindingsOfKind') + var.get(u'Scope').get(u'prototype').put(u'getAllBindingsOfKind', PyJs_getAllBindingsOfKind_2165_) + @Js + def PyJs_bindingIdentifierEquals_2166_(name, node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'bindingIdentifierEquals':PyJs_bindingIdentifierEquals_2166_, u'name':name, u'arguments':arguments}, var) + var.registers([u'node', u'name']) + return PyJsStrictEq(var.get(u"this").callprop(u'getBindingIdentifier', var.get(u'name')),var.get(u'node')) + PyJs_bindingIdentifierEquals_2166_._set_name(u'bindingIdentifierEquals') + var.get(u'Scope').get(u'prototype').put(u'bindingIdentifierEquals', PyJs_bindingIdentifierEquals_2166_) + @Js + def PyJs_warnOnFlowBinding_2167_(binding, this, arguments, var=var): + var = Scope({u'this':this, u'binding':binding, u'arguments':arguments, u'warnOnFlowBinding':PyJs_warnOnFlowBinding_2167_}, var) + var.registers([u'binding']) + if ((PyJsStrictEq(var.get(u'_crawlCallsCount'),Js(0.0)) and var.get(u'binding')) and var.get(u'binding').get(u'path').callprop(u'isFlow')): + var.get(u'console').callprop(u'warn', Js(u'\n You or one of the Babel plugins you are using are using Flow declarations as bindings.\n Support for this will be removed in version 6.8. To find out the caller, grep for this\n message and change it to a `console.trace()`.\n ')) + return var.get(u'binding') + PyJs_warnOnFlowBinding_2167_._set_name(u'warnOnFlowBinding') + var.get(u'Scope').get(u'prototype').put(u'warnOnFlowBinding', PyJs_warnOnFlowBinding_2167_) + @Js + def PyJs_getBinding_2168_(name, this, arguments, var=var): + var = Scope({u'this':this, u'getBinding':PyJs_getBinding_2168_, u'name':name, u'arguments':arguments}, var) + var.registers([u'scope', u'binding', u'name']) + var.put(u'scope', var.get(u"this")) + while 1: + var.put(u'binding', var.get(u'scope').callprop(u'getOwnBinding', var.get(u'name'))) + if var.get(u'binding'): + return var.get(u"this").callprop(u'warnOnFlowBinding', var.get(u'binding')) + if not var.put(u'scope', var.get(u'scope').get(u'parent')): + break + PyJs_getBinding_2168_._set_name(u'getBinding') + var.get(u'Scope').get(u'prototype').put(u'getBinding', PyJs_getBinding_2168_) + @Js + def PyJs_getOwnBinding_2169_(name, this, arguments, var=var): + var = Scope({u'this':this, u'getOwnBinding':PyJs_getOwnBinding_2169_, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + return var.get(u"this").callprop(u'warnOnFlowBinding', var.get(u"this").get(u'bindings').get(var.get(u'name'))) + PyJs_getOwnBinding_2169_._set_name(u'getOwnBinding') + var.get(u'Scope').get(u'prototype').put(u'getOwnBinding', PyJs_getOwnBinding_2169_) + @Js + def PyJs_getBindingIdentifier_2170_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'getBindingIdentifier':PyJs_getBindingIdentifier_2170_, u'arguments':arguments}, var) + var.registers([u'info', u'name']) + var.put(u'info', var.get(u"this").callprop(u'getBinding', var.get(u'name'))) + return (var.get(u'info') and var.get(u'info').get(u'identifier')) + PyJs_getBindingIdentifier_2170_._set_name(u'getBindingIdentifier') + var.get(u'Scope').get(u'prototype').put(u'getBindingIdentifier', PyJs_getBindingIdentifier_2170_) + @Js + def PyJs_getOwnBindingIdentifier_2171_(name, this, arguments, var=var): + var = Scope({u'this':this, u'getOwnBindingIdentifier':PyJs_getOwnBindingIdentifier_2171_, u'name':name, u'arguments':arguments}, var) + var.registers([u'binding', u'name']) + var.put(u'binding', var.get(u"this").get(u'bindings').get(var.get(u'name'))) + return (var.get(u'binding') and var.get(u'binding').get(u'identifier')) + PyJs_getOwnBindingIdentifier_2171_._set_name(u'getOwnBindingIdentifier') + var.get(u'Scope').get(u'prototype').put(u'getOwnBindingIdentifier', PyJs_getOwnBindingIdentifier_2171_) + @Js + def PyJs_hasOwnBinding_2172_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'hasOwnBinding':PyJs_hasOwnBinding_2172_, u'arguments':arguments}, var) + var.registers([u'name']) + return var.get(u"this").callprop(u'getOwnBinding', var.get(u'name')).neg().neg() + PyJs_hasOwnBinding_2172_._set_name(u'hasOwnBinding') + var.get(u'Scope').get(u'prototype').put(u'hasOwnBinding', PyJs_hasOwnBinding_2172_) + @Js + def PyJs_hasBinding_2173_(name, noGlobals, this, arguments, var=var): + var = Scope({u'this':this, u'hasBinding':PyJs_hasBinding_2173_, u'name':name, u'noGlobals':noGlobals, u'arguments':arguments}, var) + var.registers([u'name', u'noGlobals']) + if var.get(u'name').neg(): + return Js(False) + if var.get(u"this").callprop(u'hasOwnBinding', var.get(u'name')): + return var.get(u'true') + if var.get(u"this").callprop(u'parentHasBinding', var.get(u'name'), var.get(u'noGlobals')): + return var.get(u'true') + if var.get(u"this").callprop(u'hasUid', var.get(u'name')): + return var.get(u'true') + if (var.get(u'noGlobals').neg() and PyJsComma(Js(0.0),var.get(u'_includes2').get(u'default'))(var.get(u'Scope').get(u'globals'), var.get(u'name'))): + return var.get(u'true') + if (var.get(u'noGlobals').neg() and PyJsComma(Js(0.0),var.get(u'_includes2').get(u'default'))(var.get(u'Scope').get(u'contextVariables'), var.get(u'name'))): + return var.get(u'true') + return Js(False) + PyJs_hasBinding_2173_._set_name(u'hasBinding') + var.get(u'Scope').get(u'prototype').put(u'hasBinding', PyJs_hasBinding_2173_) + @Js + def PyJs_parentHasBinding_2174_(name, noGlobals, this, arguments, var=var): + var = Scope({u'this':this, u'parentHasBinding':PyJs_parentHasBinding_2174_, u'name':name, u'noGlobals':noGlobals, u'arguments':arguments}, var) + var.registers([u'name', u'noGlobals']) + return (var.get(u"this").get(u'parent') and var.get(u"this").get(u'parent').callprop(u'hasBinding', var.get(u'name'), var.get(u'noGlobals'))) + PyJs_parentHasBinding_2174_._set_name(u'parentHasBinding') + var.get(u'Scope').get(u'prototype').put(u'parentHasBinding', PyJs_parentHasBinding_2174_) + @Js + def PyJs_moveBindingTo_2175_(name, scope, this, arguments, var=var): + var = Scope({u'this':this, u'scope':scope, u'moveBindingTo':PyJs_moveBindingTo_2175_, u'name':name, u'arguments':arguments}, var) + var.registers([u'info', u'scope', u'name']) + var.put(u'info', var.get(u"this").callprop(u'getBinding', var.get(u'name'))) + if var.get(u'info'): + var.get(u'info').get(u'scope').callprop(u'removeOwnBinding', var.get(u'name')) + var.get(u'info').put(u'scope', var.get(u'scope')) + var.get(u'scope').get(u'bindings').put(var.get(u'name'), var.get(u'info')) + PyJs_moveBindingTo_2175_._set_name(u'moveBindingTo') + var.get(u'Scope').get(u'prototype').put(u'moveBindingTo', PyJs_moveBindingTo_2175_) + @Js + def PyJs_removeOwnBinding_2176_(name, this, arguments, var=var): + var = Scope({u'this':this, u'removeOwnBinding':PyJs_removeOwnBinding_2176_, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + var.get(u"this").get(u'bindings').delete(var.get(u'name')) + PyJs_removeOwnBinding_2176_._set_name(u'removeOwnBinding') + var.get(u'Scope').get(u'prototype').put(u'removeOwnBinding', PyJs_removeOwnBinding_2176_) + @Js + def PyJs_removeBinding_2177_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'removeBinding':PyJs_removeBinding_2177_, u'arguments':arguments}, var) + var.registers([u'info', u'scope', u'name']) + var.put(u'info', var.get(u"this").callprop(u'getBinding', var.get(u'name'))) + if var.get(u'info'): + var.get(u'info').get(u'scope').callprop(u'removeOwnBinding', var.get(u'name')) + var.put(u'scope', var.get(u"this")) + while 1: + if var.get(u'scope').get(u'uids').get(var.get(u'name')): + var.get(u'scope').get(u'uids').put(var.get(u'name'), Js(False)) + if not var.put(u'scope', var.get(u'scope').get(u'parent')): + break + PyJs_removeBinding_2177_._set_name(u'removeBinding') + var.get(u'Scope').get(u'prototype').put(u'removeBinding', PyJs_removeBinding_2177_) + return var.get(u'Scope') + PyJs_anonymous_2120_._set_name(u'anonymous') + var.put(u'Scope', PyJs_anonymous_2120_()) + var.get(u'Scope').put(u'globals', PyJsComma(Js(0.0),var.get(u'_keys2').get(u'default'))(var.get(u'_globals2').get(u'default').get(u'builtin'))) + var.get(u'Scope').put(u'contextVariables', Js([Js(u'arguments'), Js(u'undefined'), Js(u'Infinity'), Js(u'NaN')])) + var.get(u'exports').put(u'default', var.get(u'Scope')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_2103_._set_name(u'anonymous') +PyJs_Object_2178_ = Js({u'../cache':Js(222.0),u'../index':Js(225.0),u'./binding':Js(243.0),u'./lib/renamer':Js(245.0),u'babel-messages':Js(57.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/core-js/map':Js(98.0),u'babel-runtime/core-js/object/create':Js(101.0),u'babel-runtime/core-js/object/keys':Js(103.0),u'babel-runtime/helpers/classCallCheck':Js(110.0),u'babel-types':Js(258.0),u'globals':Js(278.0),u'lodash/defaults':Js(442.0),u'lodash/includes':Js(456.0),u'lodash/repeat':Js(483.0)}) +@Js +def PyJs_anonymous_2179_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'_binding2', u'exports', u'_interopRequireWildcard', u'Renamer', u'require', u'_babelTypes', u'renameVisitor', u'module', u't', u'_binding', u'_interopRequireDefault', u'_classCallCheck3', u'_classCallCheck2']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2181_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2181_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_2180_ = Js({}) + var.put(u'newObj', PyJs_Object_2180_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_classCallCheck2', var.get(u'require')(Js(u'babel-runtime/helpers/classCallCheck'))) + var.put(u'_classCallCheck3', var.get(u'_interopRequireDefault')(var.get(u'_classCallCheck2'))) + var.put(u'_binding', var.get(u'require')(Js(u'../binding'))) + var.put(u'_binding2', var.get(u'_interopRequireDefault')(var.get(u'_binding'))) + var.put(u'_babelTypes', var.get(u'require')(Js(u'babel-types'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_babelTypes'))) + pass + pass + @Js + def PyJs_ReferencedIdentifier_2183_(_ref, state, this, arguments, var=var): + var = Scope({u'this':this, u'_ref':_ref, u'ReferencedIdentifier':PyJs_ReferencedIdentifier_2183_, u'state':state, u'arguments':arguments}, var) + var.registers([u'node', u'_ref', u'state']) + var.put(u'node', var.get(u'_ref').get(u'node')) + if PyJsStrictEq(var.get(u'node').get(u'name'),var.get(u'state').get(u'oldName')): + var.get(u'node').put(u'name', var.get(u'state').get(u'newName')) + PyJs_ReferencedIdentifier_2183_._set_name(u'ReferencedIdentifier') + @Js + def PyJs_Scope_2184_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'arguments':arguments, u'Scope':PyJs_Scope_2184_}, var) + var.registers([u'path', u'state']) + if var.get(u'path').get(u'scope').callprop(u'bindingIdentifierEquals', var.get(u'state').get(u'oldName'), var.get(u'state').get(u'binding').get(u'identifier')).neg(): + var.get(u'path').callprop(u'skip') + PyJs_Scope_2184_._set_name(u'Scope') + @Js + def PyJs_AssignmentExpressionDeclaration_2185_(path, state, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'state':state, u'AssignmentExpressionDeclaration':PyJs_AssignmentExpressionDeclaration_2185_, u'arguments':arguments}, var) + var.registers([u'path', u'state', u'ids', u'name']) + var.put(u'ids', var.get(u'path').callprop(u'getOuterBindingIdentifiers')) + for PyJsTemp in var.get(u'ids'): + var.put(u'name', PyJsTemp) + if PyJsStrictEq(var.get(u'name'),var.get(u'state').get(u'oldName')): + var.get(u'ids').get(var.get(u'name')).put(u'name', var.get(u'state').get(u'newName')) + PyJs_AssignmentExpressionDeclaration_2185_._set_name(u'AssignmentExpressionDeclaration') + PyJs_Object_2182_ = Js({u'ReferencedIdentifier':PyJs_ReferencedIdentifier_2183_,u'Scope':PyJs_Scope_2184_,u'AssignmentExpression|Declaration':PyJs_AssignmentExpressionDeclaration_2185_}) + var.put(u'renameVisitor', PyJs_Object_2182_) + @Js + def PyJs_anonymous_2186_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'Renamer']) + @Js + def PyJsHoisted_Renamer_(binding, oldName, newName, this, arguments, var=var): + var = Scope({u'newName':newName, u'this':this, u'binding':binding, u'oldName':oldName, u'arguments':arguments}, var) + var.registers([u'newName', u'binding', u'oldName']) + PyJsComma(Js(0.0),var.get(u'_classCallCheck3').get(u'default'))(var.get(u"this"), var.get(u'Renamer')) + var.get(u"this").put(u'newName', var.get(u'newName')) + var.get(u"this").put(u'oldName', var.get(u'oldName')) + var.get(u"this").put(u'binding', var.get(u'binding')) + PyJsHoisted_Renamer_.func_name = u'Renamer' + var.put(u'Renamer', PyJsHoisted_Renamer_) + pass + @Js + def PyJs_maybeConvertFromExportDeclaration_2187_(parentDeclar, this, arguments, var=var): + var = Scope({u'this':this, u'parentDeclar':parentDeclar, u'maybeConvertFromExportDeclaration':PyJs_maybeConvertFromExportDeclaration_2187_, u'arguments':arguments}, var) + var.registers([u'specifiers', u'exportDeclar', u'name', u'bindingIdentifiers', u'exportedName', u'parentDeclar', u'localName', u'aliasDeclar', u'isDefault']) + var.put(u'exportDeclar', (var.get(u'parentDeclar').get(u'parentPath').callprop(u'isExportDeclaration') and var.get(u'parentDeclar').get(u'parentPath'))) + if var.get(u'exportDeclar').neg(): + return var.get('undefined') + var.put(u'isDefault', var.get(u'exportDeclar').callprop(u'isExportDefaultDeclaration')) + if ((var.get(u'isDefault') and (var.get(u'parentDeclar').callprop(u'isFunctionDeclaration') or var.get(u'parentDeclar').callprop(u'isClassDeclaration'))) and var.get(u'parentDeclar').get(u'node').get(u'id').neg()): + var.get(u'parentDeclar').get(u'node').put(u'id', var.get(u'parentDeclar').get(u'scope').callprop(u'generateUidIdentifier', Js(u'default'))) + var.put(u'bindingIdentifiers', var.get(u'parentDeclar').callprop(u'getOuterBindingIdentifiers')) + var.put(u'specifiers', Js([])) + for PyJsTemp in var.get(u'bindingIdentifiers'): + var.put(u'name', PyJsTemp) + var.put(u'localName', (var.get(u"this").get(u'newName') if PyJsStrictEq(var.get(u'name'),var.get(u"this").get(u'oldName')) else var.get(u'name'))) + var.put(u'exportedName', (Js(u'default') if var.get(u'isDefault') else var.get(u'name'))) + var.get(u'specifiers').callprop(u'push', var.get(u't').callprop(u'exportSpecifier', var.get(u't').callprop(u'identifier', var.get(u'localName')), var.get(u't').callprop(u'identifier', var.get(u'exportedName')))) + if var.get(u'specifiers').get(u'length'): + var.put(u'aliasDeclar', var.get(u't').callprop(u'exportNamedDeclaration', var.get(u"null"), var.get(u'specifiers'))) + if var.get(u'parentDeclar').callprop(u'isFunctionDeclaration'): + var.get(u'aliasDeclar').put(u'_blockHoist', Js(3.0)) + var.get(u'exportDeclar').callprop(u'insertAfter', var.get(u'aliasDeclar')) + var.get(u'exportDeclar').callprop(u'replaceWith', var.get(u'parentDeclar').get(u'node')) + PyJs_maybeConvertFromExportDeclaration_2187_._set_name(u'maybeConvertFromExportDeclaration') + var.get(u'Renamer').get(u'prototype').put(u'maybeConvertFromExportDeclaration', PyJs_maybeConvertFromExportDeclaration_2187_) + @Js + def PyJs_maybeConvertFromClassFunctionDeclaration_2188_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'maybeConvertFromClassFunctionDeclaration':PyJs_maybeConvertFromClassFunctionDeclaration_2188_}, var) + var.registers([u'path']) + return var.get('undefined') + if (var.get(u'path').callprop(u'isFunctionDeclaration').neg() and var.get(u'path').callprop(u'isClassDeclaration').neg()): + return var.get('undefined') + if PyJsStrictNeq(var.get(u"this").get(u'binding').get(u'kind'),Js(u'hoisted')): + return var.get('undefined') + var.get(u'path').get(u'node').put(u'id', var.get(u't').callprop(u'identifier', var.get(u"this").get(u'oldName'))) + var.get(u'path').get(u'node').put(u'_blockHoist', Js(3.0)) + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'variableDeclaration', Js(u'let'), Js([var.get(u't').callprop(u'variableDeclarator', var.get(u't').callprop(u'identifier', var.get(u"this").get(u'newName')), var.get(u't').callprop(u'toExpression', var.get(u'path').get(u'node')))]))) + PyJs_maybeConvertFromClassFunctionDeclaration_2188_._set_name(u'maybeConvertFromClassFunctionDeclaration') + var.get(u'Renamer').get(u'prototype').put(u'maybeConvertFromClassFunctionDeclaration', PyJs_maybeConvertFromClassFunctionDeclaration_2188_) + @Js + def PyJs_maybeConvertFromClassFunctionExpression_2189_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'maybeConvertFromClassFunctionExpression':PyJs_maybeConvertFromClassFunctionExpression_2189_}, var) + var.registers([u'path']) + return var.get('undefined') + if (var.get(u'path').callprop(u'isFunctionExpression').neg() and var.get(u'path').callprop(u'isClassExpression').neg()): + return var.get('undefined') + if PyJsStrictNeq(var.get(u"this").get(u'binding').get(u'kind'),Js(u'local')): + return var.get('undefined') + var.get(u'path').get(u'node').put(u'id', var.get(u't').callprop(u'identifier', var.get(u"this").get(u'oldName'))) + PyJs_Object_2190_ = Js({u'id':var.get(u't').callprop(u'identifier', var.get(u"this").get(u'newName'))}) + var.get(u"this").get(u'binding').get(u'scope').get(u'parent').callprop(u'push', PyJs_Object_2190_) + var.get(u'path').callprop(u'replaceWith', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u't').callprop(u'identifier', var.get(u"this").get(u'newName')), var.get(u'path').get(u'node'))) + PyJs_maybeConvertFromClassFunctionExpression_2189_._set_name(u'maybeConvertFromClassFunctionExpression') + var.get(u'Renamer').get(u'prototype').put(u'maybeConvertFromClassFunctionExpression', PyJs_maybeConvertFromClassFunctionExpression_2189_) + @Js + def PyJs_rename_2191_(block, this, arguments, var=var): + var = Scope({u'this':this, u'rename':PyJs_rename_2191_, u'arguments':arguments, u'block':block}, var) + var.registers([u'newName', u'binding', u'oldName', u'parentDeclar', u'scope', u'path', u'block']) + var.put(u'binding', var.get(u"this").get(u'binding')) + var.put(u'oldName', var.get(u"this").get(u'oldName')) + var.put(u'newName', var.get(u"this").get(u'newName')) + var.put(u'scope', var.get(u'binding').get(u'scope')) + var.put(u'path', var.get(u'binding').get(u'path')) + @Js + def PyJs_anonymous_2192_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + return (var.get(u'path').callprop(u'isDeclaration') or var.get(u'path').callprop(u'isFunctionExpression')) + PyJs_anonymous_2192_._set_name(u'anonymous') + var.put(u'parentDeclar', var.get(u'path').callprop(u'find', PyJs_anonymous_2192_)) + if var.get(u'parentDeclar'): + var.get(u"this").callprop(u'maybeConvertFromExportDeclaration', var.get(u'parentDeclar')) + var.get(u'scope').callprop(u'traverse', (var.get(u'block') or var.get(u'scope').get(u'block')), var.get(u'renameVisitor'), var.get(u"this")) + if var.get(u'block').neg(): + var.get(u'scope').callprop(u'removeOwnBinding', var.get(u'oldName')) + var.get(u'scope').get(u'bindings').put(var.get(u'newName'), var.get(u'binding')) + var.get(u"this").get(u'binding').get(u'identifier').put(u'name', var.get(u'newName')) + if PyJsStrictEq(var.get(u'binding').get(u'type'),Js(u'hoisted')): + pass + if var.get(u'parentDeclar'): + var.get(u"this").callprop(u'maybeConvertFromClassFunctionDeclaration', var.get(u'parentDeclar')) + var.get(u"this").callprop(u'maybeConvertFromClassFunctionExpression', var.get(u'parentDeclar')) + PyJs_rename_2191_._set_name(u'rename') + var.get(u'Renamer').get(u'prototype').put(u'rename', PyJs_rename_2191_) + return var.get(u'Renamer') + PyJs_anonymous_2186_._set_name(u'anonymous') + var.put(u'Renamer', PyJs_anonymous_2186_()) + var.get(u'exports').put(u'default', var.get(u'Renamer')) + var.get(u'module').put(u'exports', var.get(u'exports').get(u'default')) +PyJs_anonymous_2179_._set_name(u'anonymous') +PyJs_Object_2193_ = Js({u'../binding':Js(243.0),u'babel-runtime/helpers/classCallCheck':Js(110.0),u'babel-types':Js(258.0)}) +@Js +def PyJs_anonymous_2194_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'module', u'_clone', u'_virtualTypes', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'virtualTypes', u'_typeof2', u'_typeof3', u'shouldIgnoreKey', u'validateVisitorMethods', u'verify', u'_keys', u'wrapWithStateOrWrapper', u'_babelMessages', u'exports', u'_interopRequireWildcard', u'mergePair', u'_babelTypes', u'_keys2', u'ensureCallbackArrays', u'ensureEntranceObjects', u'require', u'messages', u'wrapCheck', u'_clone2', u'explode', u'merge', u't']) + @Js + def PyJsHoisted_mergePair_(dest, src, this, arguments, var=var): + var = Scope({u'dest':dest, u'src':src, u'this':this, u'arguments':arguments}, var) + var.registers([u'dest', u'src', u'key']) + for PyJsTemp in var.get(u'src'): + var.put(u'key', PyJsTemp) + var.get(u'dest').put(var.get(u'key'), Js([]).callprop(u'concat', (var.get(u'dest').get(var.get(u'key')) or Js([])), var.get(u'src').get(var.get(u'key')))) + PyJsHoisted_mergePair_.func_name = u'mergePair' + var.put(u'mergePair', PyJsHoisted_mergePair_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_2195_ = Js({}) + var.put(u'newObj', PyJs_Object_2195_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_shouldIgnoreKey_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'key']) + if PyJsStrictEq(var.get(u'key').get(u'0'),Js(u'_')): + return var.get(u'true') + if ((PyJsStrictEq(var.get(u'key'),Js(u'enter')) or PyJsStrictEq(var.get(u'key'),Js(u'exit'))) or PyJsStrictEq(var.get(u'key'),Js(u'shouldSkip'))): + return var.get(u'true') + if ((PyJsStrictEq(var.get(u'key'),Js(u'blacklist')) or PyJsStrictEq(var.get(u'key'),Js(u'noScope'))) or PyJsStrictEq(var.get(u'key'),Js(u'skipKeys'))): + return var.get(u'true') + return Js(False) + PyJsHoisted_shouldIgnoreKey_.func_name = u'shouldIgnoreKey' + var.put(u'shouldIgnoreKey', PyJsHoisted_shouldIgnoreKey_) + @Js + def PyJsHoisted_validateVisitorMethods_(path, val, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments, u'val':val}, var) + var.registers([u'_isArray5', u'fns', u'val', u'_ref5', u'_iterator5', u'path', u'_i5', u'fn']) + var.put(u'fns', Js([]).callprop(u'concat', var.get(u'val'))) + #for JS loop + var.put(u'_iterator5', var.get(u'fns')) + var.put(u'_isArray5', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator5'))) + var.put(u'_i5', Js(0.0)) + var.put(u'_iterator5', (var.get(u'_iterator5') if var.get(u'_isArray5') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator5')))) + while 1: + pass + if var.get(u'_isArray5'): + if (var.get(u'_i5')>=var.get(u'_iterator5').get(u'length')): + break + var.put(u'_ref5', var.get(u'_iterator5').get((var.put(u'_i5',Js(var.get(u'_i5').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i5', var.get(u'_iterator5').callprop(u'next')) + if var.get(u'_i5').get(u'done'): + break + var.put(u'_ref5', var.get(u'_i5').get(u'value')) + var.put(u'fn', var.get(u'_ref5')) + if PyJsStrictNeq(var.get(u'fn',throw=False).typeof(),Js(u'function')): + PyJsTempException = JsToPyException(var.get(u'TypeError').create((((Js(u'Non-function found defined in ')+var.get(u'path'))+Js(u' with type '))+(Js(u'undefined') if PyJsStrictEq(var.get(u'fn',throw=False).typeof(),Js(u'undefined')) else PyJsComma(Js(0.0),var.get(u'_typeof3').get(u'default'))(var.get(u'fn')))))) + raise PyJsTempException + + PyJsHoisted_validateVisitorMethods_.func_name = u'validateVisitorMethods' + var.put(u'validateVisitorMethods', PyJsHoisted_validateVisitorMethods_) + @Js + def PyJsHoisted_verify_(visitor, this, arguments, var=var): + var = Scope({u'this':this, u'visitor':visitor, u'arguments':arguments}, var) + var.registers([u'visitors', u'nodeType', u'visitor', u'visitorKey']) + if var.get(u'visitor').get(u'_verified'): + return var.get('undefined') + if PyJsStrictEq(var.get(u'visitor',throw=False).typeof(),Js(u'function')): + PyJsTempException = JsToPyException(var.get(u'Error').create(var.get(u'messages').callprop(u'get', Js(u'traverseVerifyRootFunction')))) + raise PyJsTempException + for PyJsTemp in var.get(u'visitor'): + var.put(u'nodeType', PyJsTemp) + if (PyJsStrictEq(var.get(u'nodeType'),Js(u'enter')) or PyJsStrictEq(var.get(u'nodeType'),Js(u'exit'))): + var.get(u'validateVisitorMethods')(var.get(u'nodeType'), var.get(u'visitor').get(var.get(u'nodeType'))) + if var.get(u'shouldIgnoreKey')(var.get(u'nodeType')): + continue + if (var.get(u't').get(u'TYPES').callprop(u'indexOf', var.get(u'nodeType'))=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'part', var.get(u'_ref')) + var.get(u'visitor').put(var.get(u'part'), var.get(u'fns')) + + var.get(u'verify')(var.get(u'visitor')) + var.get(u'visitor').delete(u'__esModule') + var.get(u'ensureEntranceObjects')(var.get(u'visitor')) + var.get(u'ensureCallbackArrays')(var.get(u'visitor')) + #for JS loop + var.put(u'_iterator2', PyJsComma(Js(0.0),var.get(u'_keys2').get(u'default'))(var.get(u'visitor'))) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'_nodeType3', var.get(u'_ref2')) + if var.get(u'shouldIgnoreKey')(var.get(u'_nodeType3')): + continue + var.put(u'wrapper', var.get(u'virtualTypes').get(var.get(u'_nodeType3'))) + if var.get(u'wrapper').neg(): + continue + var.put(u'_fns2', var.get(u'visitor').get(var.get(u'_nodeType3'))) + for PyJsTemp in var.get(u'_fns2'): + var.put(u'type', PyJsTemp) + var.get(u'_fns2').put(var.get(u'type'), var.get(u'wrapCheck')(var.get(u'wrapper'), var.get(u'_fns2').get(var.get(u'type')))) + var.get(u'visitor').delete(var.get(u'_nodeType3')) + if var.get(u'wrapper').get(u'types'): + #for JS loop + var.put(u'_iterator4', var.get(u'wrapper').get(u'types')) + var.put(u'_isArray4', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator4'))) + var.put(u'_i4', Js(0.0)) + var.put(u'_iterator4', (var.get(u'_iterator4') if var.get(u'_isArray4') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator4')))) + while 1: + pass + if var.get(u'_isArray4'): + if (var.get(u'_i4')>=var.get(u'_iterator4').get(u'length')): + break + var.put(u'_ref4', var.get(u'_iterator4').get((var.put(u'_i4',Js(var.get(u'_i4').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i4', var.get(u'_iterator4').callprop(u'next')) + if var.get(u'_i4').get(u'done'): + break + var.put(u'_ref4', var.get(u'_i4').get(u'value')) + var.put(u'_type', var.get(u'_ref4')) + if var.get(u'visitor').get(var.get(u'_type')): + var.get(u'mergePair')(var.get(u'visitor').get(var.get(u'_type')), var.get(u'_fns2')) + else: + var.get(u'visitor').put(var.get(u'_type'), var.get(u'_fns2')) + + else: + var.get(u'mergePair')(var.get(u'visitor'), var.get(u'_fns2')) + + for PyJsTemp in var.get(u'visitor'): + var.put(u'_nodeType', PyJsTemp) + if var.get(u'shouldIgnoreKey')(var.get(u'_nodeType')): + continue + var.put(u'_fns', var.get(u'visitor').get(var.get(u'_nodeType'))) + var.put(u'aliases', var.get(u't').get(u'FLIPPED_ALIAS_KEYS').get(var.get(u'_nodeType'))) + var.put(u'deprecratedKey', var.get(u't').get(u'DEPRECATED_KEYS').get(var.get(u'_nodeType'))) + if var.get(u'deprecratedKey'): + var.get(u'console').callprop(u'trace', (((Js(u'Visitor defined for ')+var.get(u'_nodeType'))+Js(u' but it has been renamed to '))+var.get(u'deprecratedKey'))) + var.put(u'aliases', Js([var.get(u'deprecratedKey')])) + if var.get(u'aliases').neg(): + continue + var.get(u'visitor').delete(var.get(u'_nodeType')) + #for JS loop + var.put(u'_iterator3', var.get(u'aliases')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator3')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'alias', var.get(u'_ref3')) + var.put(u'existing', var.get(u'visitor').get(var.get(u'alias'))) + if var.get(u'existing'): + var.get(u'mergePair')(var.get(u'existing'), var.get(u'_fns')) + else: + var.get(u'visitor').put(var.get(u'alias'), PyJsComma(Js(0.0),var.get(u'_clone2').get(u'default'))(var.get(u'_fns'))) + + for PyJsTemp in var.get(u'visitor'): + var.put(u'_nodeType2', PyJsTemp) + if var.get(u'shouldIgnoreKey')(var.get(u'_nodeType2')): + continue + var.get(u'ensureCallbackArrays')(var.get(u'visitor').get(var.get(u'_nodeType2'))) + return var.get(u'visitor') + PyJsHoisted_explode_.func_name = u'explode' + var.put(u'explode', PyJsHoisted_explode_) + @Js + def PyJsHoisted_merge_(visitors, this, arguments, var=var): + var = Scope({u'this':this, u'visitors':visitors, u'arguments':arguments}, var) + var.registers([u'visitorType', u'i', u'visitor', u'rootVisitor', u'wrapper', u'states', u'visitors', u'state', u'nodeVisitor', u'type']) + var.put(u'states', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else Js([]))) + var.put(u'wrapper', var.get(u'arguments').get(u'2')) + PyJs_Object_2197_ = Js({}) + var.put(u'rootVisitor', PyJs_Object_2197_) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')'), Js(u'<'), Js(u'>='), Js(u'<=')]))) + var.put(u'EQUALITY_BINARY_OPERATORS', var.get(u'exports').put(u'EQUALITY_BINARY_OPERATORS', Js([Js(u'=='), Js(u'==='), Js(u'!='), Js(u'!==')]))) + var.put(u'COMPARISON_BINARY_OPERATORS', var.get(u'exports').put(u'COMPARISON_BINARY_OPERATORS', Js([]).callprop(u'concat', var.get(u'EQUALITY_BINARY_OPERATORS'), Js([Js(u'in'), Js(u'instanceof')])))) + var.put(u'BOOLEAN_BINARY_OPERATORS', var.get(u'exports').put(u'BOOLEAN_BINARY_OPERATORS', Js([]).callprop(u'concat', var.get(u'COMPARISON_BINARY_OPERATORS'), var.get(u'BOOLEAN_NUMBER_BINARY_OPERATORS')))) + var.put(u'NUMBER_BINARY_OPERATORS', var.get(u'exports').put(u'NUMBER_BINARY_OPERATORS', Js([Js(u'-'), Js(u'/'), Js(u'%'), Js(u'*'), Js(u'**'), Js(u'&'), Js(u'|'), Js(u'>>'), Js(u'>>>'), Js(u'<<'), Js(u'^')]))) + var.put(u'BINARY_OPERATORS', var.get(u'exports').put(u'BINARY_OPERATORS', Js([Js(u'+')]).callprop(u'concat', var.get(u'NUMBER_BINARY_OPERATORS'), var.get(u'BOOLEAN_BINARY_OPERATORS')))) + var.put(u'BOOLEAN_UNARY_OPERATORS', var.get(u'exports').put(u'BOOLEAN_UNARY_OPERATORS', Js([Js(u'delete'), Js(u'!')]))) + var.put(u'NUMBER_UNARY_OPERATORS', var.get(u'exports').put(u'NUMBER_UNARY_OPERATORS', Js([Js(u'+'), Js(u'-'), Js(u'++'), Js(u'--'), Js(u'~')]))) + var.put(u'STRING_UNARY_OPERATORS', var.get(u'exports').put(u'STRING_UNARY_OPERATORS', Js([Js(u'typeof')]))) + var.put(u'UNARY_OPERATORS', var.get(u'exports').put(u'UNARY_OPERATORS', Js([Js(u'void')]).callprop(u'concat', var.get(u'BOOLEAN_UNARY_OPERATORS'), var.get(u'NUMBER_UNARY_OPERATORS'), var.get(u'STRING_UNARY_OPERATORS')))) + PyJs_Object_2211_ = Js({u'optional':Js([Js(u'typeAnnotation'), Js(u'typeParameters'), Js(u'returnType')]),u'force':Js([Js(u'start'), Js(u'loc'), Js(u'end')])}) + var.put(u'INHERIT_KEYS', var.get(u'exports').put(u'INHERIT_KEYS', PyJs_Object_2211_)) + var.put(u'BLOCK_SCOPED_SYMBOL', var.get(u'exports').put(u'BLOCK_SCOPED_SYMBOL', PyJsComma(Js(0.0),var.get(u'_for2').get(u'default'))(Js(u'var used to be block scoped')))) + var.put(u'NOT_LOCAL_BINDING', var.get(u'exports').put(u'NOT_LOCAL_BINDING', PyJsComma(Js(0.0),var.get(u'_for2').get(u'default'))(Js(u'should not be considered a local binding')))) +PyJs_anonymous_2207_._set_name(u'anonymous') +PyJs_Object_2212_ = Js({u'babel-runtime/core-js/symbol/for':Js(106.0)}) +@Js +def PyJs_anonymous_2213_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'toComputedKey', u'toBindingIdentifierName', u'module', u'_isString2', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'toKeyAlias', u'_isNumber', u'toSequenceExpression', u'_isRegExp2', u'_isRegExp', u'toIdentifier', u't', u'_isNumber2', u'exports', u'_stringify2', u'_interopRequireWildcard', u'toExpression', u'_maxSafeInteger2', u'_isPlainObject2', u'_index', u'_isString', u'require', u'toBlock', u'toStatement', u'_stringify', u'_maxSafeInteger', u'_isPlainObject', u'valueToNode']) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_2214_ = Js({}) + var.put(u'newObj', PyJs_Object_2214_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_toSequenceExpression_(nodes, scope, this, arguments, var=var): + var = Scope({u'this':this, u'scope':scope, u'nodes':nodes, u'arguments':arguments}, var) + var.registers([u'convert', u'bailed', u'i', u'declars', u'result', u'scope', u'nodes']) + @Js + def PyJsHoisted_convert_(nodes, this, arguments, var=var): + var = Scope({u'this':this, u'nodes':nodes, u'arguments':arguments}, var) + var.registers([u'node', u'_isArray', u'_iterator', u'_isArray2', u'ensureLastUndefined', u'alternate', u'nodes', u'_i2', u'_ref2', u'key', u'exprs', u'declar', u'_i', u'_ref', u'consequent', u'bindings', u'_iterator2']) + var.put(u'ensureLastUndefined', Js(False)) + var.put(u'exprs', Js([])) + #for JS loop + var.put(u'_iterator', var.get(u'nodes')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'node', var.get(u'_ref')) + if var.get(u't').callprop(u'isExpression', var.get(u'node')): + var.get(u'exprs').callprop(u'push', var.get(u'node')) + else: + if var.get(u't').callprop(u'isExpressionStatement', var.get(u'node')): + var.get(u'exprs').callprop(u'push', var.get(u'node').get(u'expression')) + else: + if var.get(u't').callprop(u'isVariableDeclaration', var.get(u'node')): + if PyJsStrictNeq(var.get(u'node').get(u'kind'),Js(u'var')): + return var.put(u'bailed', var.get(u'true')) + #for JS loop + var.put(u'_iterator2', var.get(u'node').get(u'declarations')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'declar', var.get(u'_ref2')) + var.put(u'bindings', var.get(u't').callprop(u'getBindingIdentifiers', var.get(u'declar'))) + for PyJsTemp in var.get(u'bindings'): + var.put(u'key', PyJsTemp) + PyJs_Object_2216_ = Js({u'kind':var.get(u'node').get(u'kind'),u'id':var.get(u'bindings').get(var.get(u'key'))}) + var.get(u'declars').callprop(u'push', PyJs_Object_2216_) + if var.get(u'declar').get(u'init'): + var.get(u'exprs').callprop(u'push', var.get(u't').callprop(u'assignmentExpression', Js(u'='), var.get(u'declar').get(u'id'), var.get(u'declar').get(u'init'))) + + var.put(u'ensureLastUndefined', var.get(u'true')) + continue + else: + if var.get(u't').callprop(u'isIfStatement', var.get(u'node')): + var.put(u'consequent', (var.get(u'convert')(Js([var.get(u'node').get(u'consequent')])) if var.get(u'node').get(u'consequent') else var.get(u'scope').callprop(u'buildUndefinedNode'))) + var.put(u'alternate', (var.get(u'convert')(Js([var.get(u'node').get(u'alternate')])) if var.get(u'node').get(u'alternate') else var.get(u'scope').callprop(u'buildUndefinedNode'))) + if (var.get(u'consequent').neg() or var.get(u'alternate').neg()): + return var.put(u'bailed', var.get(u'true')) + var.get(u'exprs').callprop(u'push', var.get(u't').callprop(u'conditionalExpression', var.get(u'node').get(u'test'), var.get(u'consequent'), var.get(u'alternate'))) + else: + if var.get(u't').callprop(u'isBlockStatement', var.get(u'node')): + var.get(u'exprs').callprop(u'push', var.get(u'convert')(var.get(u'node').get(u'body'))) + else: + if var.get(u't').callprop(u'isEmptyStatement', var.get(u'node')): + var.put(u'ensureLastUndefined', var.get(u'true')) + continue + else: + return var.put(u'bailed', var.get(u'true')) + var.put(u'ensureLastUndefined', Js(False)) + + if (var.get(u'ensureLastUndefined') or PyJsStrictEq(var.get(u'exprs').get(u'length'),Js(0.0))): + var.get(u'exprs').callprop(u'push', var.get(u'scope').callprop(u'buildUndefinedNode')) + if PyJsStrictEq(var.get(u'exprs').get(u'length'),Js(1.0)): + return var.get(u'exprs').get(u'0') + else: + return var.get(u't').callprop(u'sequenceExpression', var.get(u'exprs')) + PyJsHoisted_convert_.func_name = u'convert' + var.put(u'convert', PyJsHoisted_convert_) + if (var.get(u'nodes').neg() or var.get(u'nodes').get(u'length').neg()): + return var.get('undefined') + var.put(u'declars', Js([])) + var.put(u'bailed', Js(False)) + var.put(u'result', var.get(u'convert')(var.get(u'nodes'))) + if var.get(u'bailed'): + return var.get('undefined') + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else (var.get(u'node').get(u'key') or var.get(u'node').get(u'property')))) + if var.get(u'node').get(u'computed').neg(): + if var.get(u't').callprop(u'isIdentifier', var.get(u'key')): + var.put(u'key', var.get(u't').callprop(u'stringLiteral', var.get(u'key').get(u'name'))) + return var.get(u'key') + PyJsHoisted_toComputedKey_.func_name = u'toComputedKey' + var.put(u'toComputedKey', PyJsHoisted_toComputedKey_) + @Js + def PyJsHoisted_toBindingIdentifierName_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + var.put(u'name', var.get(u'toIdentifier')(var.get(u'name'))) + if (PyJsStrictEq(var.get(u'name'),Js(u'eval')) or PyJsStrictEq(var.get(u'name'),Js(u'arguments'))): + var.put(u'name', (Js(u'_')+var.get(u'name'))) + return var.get(u'name') + PyJsHoisted_toBindingIdentifierName_.func_name = u'toBindingIdentifierName' + var.put(u'toBindingIdentifierName', PyJsHoisted_toBindingIdentifierName_) + @Js + def PyJsHoisted_toBlock_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'parent']) + if var.get(u't').callprop(u'isBlockStatement', var.get(u'node')): + return var.get(u'node') + if var.get(u't').callprop(u'isEmptyStatement', var.get(u'node')): + var.put(u'node', Js([])) + if var.get(u'Array').callprop(u'isArray', var.get(u'node')).neg(): + if var.get(u't').callprop(u'isStatement', var.get(u'node')).neg(): + if var.get(u't').callprop(u'isFunction', var.get(u'parent')): + var.put(u'node', var.get(u't').callprop(u'returnStatement', var.get(u'node'))) + else: + var.put(u'node', var.get(u't').callprop(u'expressionStatement', var.get(u'node'))) + var.put(u'node', Js([var.get(u'node')])) + return var.get(u't').callprop(u'blockStatement', var.get(u'node')) + PyJsHoisted_toBlock_.func_name = u'toBlock' + var.put(u'toBlock', PyJsHoisted_toBlock_) + @Js + def PyJsHoisted_toStatement_(node, ignore, this, arguments, var=var): + var = Scope({u'node':node, u'ignore':ignore, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'ignore', u'mustHaveId', u'newType']) + if var.get(u't').callprop(u'isStatement', var.get(u'node')): + return var.get(u'node') + var.put(u'mustHaveId', Js(False)) + var.put(u'newType', PyJsComma(Js(0.0), Js(None))) + if var.get(u't').callprop(u'isClass', var.get(u'node')): + var.put(u'mustHaveId', var.get(u'true')) + var.put(u'newType', Js(u'ClassDeclaration')) + else: + if var.get(u't').callprop(u'isFunction', var.get(u'node')): + var.put(u'mustHaveId', var.get(u'true')) + var.put(u'newType', Js(u'FunctionDeclaration')) + else: + if var.get(u't').callprop(u'isAssignmentExpression', var.get(u'node')): + return var.get(u't').callprop(u'expressionStatement', var.get(u'node')) + if (var.get(u'mustHaveId') and var.get(u'node').get(u'id').neg()): + var.put(u'newType', Js(False)) + if var.get(u'newType').neg(): + if var.get(u'ignore'): + return Js(False) + else: + PyJsTempException = JsToPyException(var.get(u'Error').create(((Js(u'cannot turn ')+var.get(u'node').get(u'type'))+Js(u' to a statement')))) + raise PyJsTempException + var.get(u'node').put(u'type', var.get(u'newType')) + return var.get(u'node') + PyJsHoisted_toStatement_.func_name = u'toStatement' + var.put(u'toStatement', PyJsHoisted_toStatement_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2215_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2215_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_toIdentifier_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + var.put(u'name', (var.get(u'name')+Js(u''))) + var.put(u'name', var.get(u'name').callprop(u'replace', JsRegExp(u'/[^a-zA-Z0-9$_]/g'), Js(u'-'))) + var.put(u'name', var.get(u'name').callprop(u'replace', JsRegExp(u'/^[-0-9]+/'), Js(u''))) + @Js + def PyJs_anonymous_2218_(match, c, this, arguments, var=var): + var = Scope({u'this':this, u'c':c, u'arguments':arguments, u'match':match}, var) + var.registers([u'c', u'match']) + return (var.get(u'c').callprop(u'toUpperCase') if var.get(u'c') else Js(u'')) + PyJs_anonymous_2218_._set_name(u'anonymous') + var.put(u'name', var.get(u'name').callprop(u'replace', JsRegExp(u'/[-\\s]+(.)?/g'), PyJs_anonymous_2218_)) + if var.get(u't').callprop(u'isValidIdentifier', var.get(u'name')).neg(): + var.put(u'name', (Js(u'_')+var.get(u'name'))) + return (var.get(u'name') or Js(u'_')) + PyJsHoisted_toIdentifier_.func_name = u'toIdentifier' + var.put(u'toIdentifier', PyJsHoisted_toIdentifier_) + @Js + def PyJsHoisted_toKeyAlias_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'alias', u'key']) + var.put(u'key', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else var.get(u'node').get(u'key'))) + var.put(u'alias', PyJsComma(Js(0.0), Js(None))) + if PyJsStrictEq(var.get(u'node').get(u'kind'),Js(u'method')): + return (var.get(u'toKeyAlias').callprop(u'increment')+Js(u'')) + else: + if var.get(u't').callprop(u'isIdentifier', var.get(u'key')): + var.put(u'alias', var.get(u'key').get(u'name')) + else: + if var.get(u't').callprop(u'isStringLiteral', var.get(u'key')): + var.put(u'alias', PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'key').get(u'value'))) + else: + var.put(u'alias', PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u't').callprop(u'removePropertiesDeep', var.get(u't').callprop(u'cloneDeep', var.get(u'key'))))) + if var.get(u'node').get(u'computed'): + var.put(u'alias', ((Js(u'[')+var.get(u'alias'))+Js(u']'))) + if var.get(u'node').get(u'static'): + var.put(u'alias', (Js(u'static:')+var.get(u'alias'))) + return var.get(u'alias') + PyJsHoisted_toKeyAlias_.func_name = u'toKeyAlias' + var.put(u'toKeyAlias', PyJsHoisted_toKeyAlias_) + @Js + def PyJsHoisted_valueToNode_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'pattern', u'value', u'flags', u'nodeKey', u'key', u'props']) + if PyJsStrictEq(var.get(u'value'),var.get(u'undefined')): + return var.get(u't').callprop(u'identifier', Js(u'undefined')) + if (PyJsStrictEq(var.get(u'value'),var.get(u'true')) or PyJsStrictEq(var.get(u'value'),Js(False))): + return var.get(u't').callprop(u'booleanLiteral', var.get(u'value')) + if PyJsStrictEq(var.get(u'value'),var.get(u"null")): + return var.get(u't').callprop(u'nullLiteral') + if PyJsComma(Js(0.0),var.get(u'_isString2').get(u'default'))(var.get(u'value')): + return var.get(u't').callprop(u'stringLiteral', var.get(u'value')) + if PyJsComma(Js(0.0),var.get(u'_isNumber2').get(u'default'))(var.get(u'value')): + return var.get(u't').callprop(u'numericLiteral', var.get(u'value')) + if PyJsComma(Js(0.0),var.get(u'_isRegExp2').get(u'default'))(var.get(u'value')): + var.put(u'pattern', var.get(u'value').get(u'source')) + var.put(u'flags', var.get(u'value').callprop(u'toString').callprop(u'match', JsRegExp(u'/\\/([a-z]+|)$/')).get(u'1')) + return var.get(u't').callprop(u'regExpLiteral', var.get(u'pattern'), var.get(u'flags')) + if var.get(u'Array').callprop(u'isArray', var.get(u'value')): + return var.get(u't').callprop(u'arrayExpression', var.get(u'value').callprop(u'map', var.get(u't').get(u'valueToNode'))) + if PyJsComma(Js(0.0),var.get(u'_isPlainObject2').get(u'default'))(var.get(u'value')): + var.put(u'props', Js([])) + for PyJsTemp in var.get(u'value'): + var.put(u'key', PyJsTemp) + var.put(u'nodeKey', PyJsComma(Js(0.0), Js(None))) + if var.get(u't').callprop(u'isValidIdentifier', var.get(u'key')): + var.put(u'nodeKey', var.get(u't').callprop(u'identifier', var.get(u'key'))) + else: + var.put(u'nodeKey', var.get(u't').callprop(u'stringLiteral', var.get(u'key'))) + var.get(u'props').callprop(u'push', var.get(u't').callprop(u'objectProperty', var.get(u'nodeKey'), var.get(u't').callprop(u'valueToNode', var.get(u'value').get(var.get(u'key'))))) + return var.get(u't').callprop(u'objectExpression', var.get(u'props')) + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u"don't know how to turn this value into a node"))) + raise PyJsTempException + PyJsHoisted_valueToNode_.func_name = u'valueToNode' + var.put(u'valueToNode', PyJsHoisted_valueToNode_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_maxSafeInteger', var.get(u'require')(Js(u'babel-runtime/core-js/number/max-safe-integer'))) + var.put(u'_maxSafeInteger2', var.get(u'_interopRequireDefault')(var.get(u'_maxSafeInteger'))) + var.put(u'_stringify', var.get(u'require')(Js(u'babel-runtime/core-js/json/stringify'))) + var.put(u'_stringify2', var.get(u'_interopRequireDefault')(var.get(u'_stringify'))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.get(u'exports').put(u'toComputedKey', var.get(u'toComputedKey')) + var.get(u'exports').put(u'toSequenceExpression', var.get(u'toSequenceExpression')) + var.get(u'exports').put(u'toKeyAlias', var.get(u'toKeyAlias')) + var.get(u'exports').put(u'toIdentifier', var.get(u'toIdentifier')) + var.get(u'exports').put(u'toBindingIdentifierName', var.get(u'toBindingIdentifierName')) + var.get(u'exports').put(u'toStatement', var.get(u'toStatement')) + var.get(u'exports').put(u'toExpression', var.get(u'toExpression')) + var.get(u'exports').put(u'toBlock', var.get(u'toBlock')) + var.get(u'exports').put(u'valueToNode', var.get(u'valueToNode')) + var.put(u'_isPlainObject', var.get(u'require')(Js(u'lodash/isPlainObject'))) + var.put(u'_isPlainObject2', var.get(u'_interopRequireDefault')(var.get(u'_isPlainObject'))) + var.put(u'_isNumber', var.get(u'require')(Js(u'lodash/isNumber'))) + var.put(u'_isNumber2', var.get(u'_interopRequireDefault')(var.get(u'_isNumber'))) + var.put(u'_isRegExp', var.get(u'require')(Js(u'lodash/isRegExp'))) + var.put(u'_isRegExp2', var.get(u'_interopRequireDefault')(var.get(u'_isRegExp'))) + var.put(u'_isString', var.get(u'require')(Js(u'lodash/isString'))) + var.put(u'_isString2', var.get(u'_interopRequireDefault')(var.get(u'_isString'))) + var.put(u'_index', var.get(u'require')(Js(u'./index'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_index'))) + pass + pass + pass + pass + pass + var.get(u'toKeyAlias').put(u'uid', Js(0.0)) + @Js + def PyJs_anonymous_2217_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if (var.get(u'toKeyAlias').get(u'uid')>=var.get(u'_maxSafeInteger2').get(u'default')): + return var.get(u'toKeyAlias').put(u'uid', Js(0.0)) + else: + return (var.get(u'toKeyAlias').put(u'uid',Js(var.get(u'toKeyAlias').get(u'uid').to_number())+Js(1))-Js(1)) + PyJs_anonymous_2217_._set_name(u'anonymous') + var.get(u'toKeyAlias').put(u'increment', PyJs_anonymous_2217_) + pass + pass + pass + pass + pass + pass +PyJs_anonymous_2213_._set_name(u'anonymous') +PyJs_Object_2219_ = Js({u'./index':Js(258.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/core-js/json/stringify':Js(97.0),u'babel-runtime/core-js/number/max-safe-integer':Js(99.0),u'lodash/isNumber':Js(466.0),u'lodash/isPlainObject':Js(469.0),u'lodash/isRegExp':Js(470.0),u'lodash/isString':Js(471.0)}) +@Js +def PyJs_anonymous_2220_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_constants', u'_interopRequireWildcard', u'_index', u'require', u'module', u't', u'_index2', u'_index3', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2221_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2221_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_2222_ = Js({}) + var.put(u'newObj', PyJs_Object_2222_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + Js(u'use strict') + var.put(u'_index', var.get(u'require')(Js(u'../index'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_index'))) + var.put(u'_constants', var.get(u'require')(Js(u'../constants'))) + var.put(u'_index2', var.get(u'require')(Js(u'./index'))) + var.put(u'_index3', var.get(u'_interopRequireDefault')(var.get(u'_index2'))) + pass + pass + PyJs_Object_2225_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeOrValueType'))(Js(u'null'), Js(u'Expression'), Js(u'SpreadElement')))),u'default':Js([])}) + PyJs_Object_2224_ = Js({u'elements':PyJs_Object_2225_}) + PyJs_Object_2223_ = Js({u'fields':PyJs_Object_2224_,u'visitor':Js([Js(u'elements')]),u'aliases':Js([Js(u'Expression')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'ArrayExpression'), PyJs_Object_2223_) + PyJs_Object_2228_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'string'))}) + PyJs_Object_2229_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'LVal'))}) + PyJs_Object_2230_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2227_ = Js({u'operator':PyJs_Object_2228_,u'left':PyJs_Object_2229_,u'right':PyJs_Object_2230_}) + PyJs_Object_2226_ = Js({u'fields':PyJs_Object_2227_,u'builder':Js([Js(u'operator'), Js(u'left'), Js(u'right')]),u'visitor':Js([Js(u'left'), Js(u'right')]),u'aliases':Js([Js(u'Expression')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'AssignmentExpression'), PyJs_Object_2226_) + PyJs_Object_2233_ = Js({u'validate':var.get(u'_index2').get(u'assertOneOf').callprop(u'apply', var.get(u'undefined'), var.get(u'_constants').get(u'BINARY_OPERATORS'))}) + PyJs_Object_2234_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2235_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2232_ = Js({u'operator':PyJs_Object_2233_,u'left':PyJs_Object_2234_,u'right':PyJs_Object_2235_}) + PyJs_Object_2231_ = Js({u'builder':Js([Js(u'operator'), Js(u'left'), Js(u'right')]),u'fields':PyJs_Object_2232_,u'visitor':Js([Js(u'left'), Js(u'right')]),u'aliases':Js([Js(u'Binary'), Js(u'Expression')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'BinaryExpression'), PyJs_Object_2231_) + PyJs_Object_2238_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'DirectiveLiteral'))}) + PyJs_Object_2237_ = Js({u'value':PyJs_Object_2238_}) + PyJs_Object_2236_ = Js({u'visitor':Js([Js(u'value')]),u'fields':PyJs_Object_2237_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'Directive'), PyJs_Object_2236_) + PyJs_Object_2241_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'string'))}) + PyJs_Object_2240_ = Js({u'value':PyJs_Object_2241_}) + PyJs_Object_2239_ = Js({u'builder':Js([Js(u'value')]),u'fields':PyJs_Object_2240_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'DirectiveLiteral'), PyJs_Object_2239_) + PyJs_Object_2244_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Directive')))),u'default':Js([])}) + PyJs_Object_2245_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Statement'))))}) + PyJs_Object_2243_ = Js({u'directives':PyJs_Object_2244_,u'body':PyJs_Object_2245_}) + PyJs_Object_2242_ = Js({u'builder':Js([Js(u'body'), Js(u'directives')]),u'visitor':Js([Js(u'directives'), Js(u'body')]),u'fields':PyJs_Object_2243_,u'aliases':Js([Js(u'Scopable'), Js(u'BlockParent'), Js(u'Block'), Js(u'Statement')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'BlockStatement'), PyJs_Object_2242_) + PyJs_Object_2248_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Identifier')),u'optional':var.get(u'true')}) + PyJs_Object_2247_ = Js({u'label':PyJs_Object_2248_}) + PyJs_Object_2246_ = Js({u'visitor':Js([Js(u'label')]),u'fields':PyJs_Object_2247_,u'aliases':Js([Js(u'Statement'), Js(u'Terminatorless'), Js(u'CompletionStatement')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'BreakStatement'), PyJs_Object_2246_) + PyJs_Object_2251_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2252_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'), Js(u'SpreadElement'))))}) + PyJs_Object_2250_ = Js({u'callee':PyJs_Object_2251_,u'arguments':PyJs_Object_2252_}) + PyJs_Object_2249_ = Js({u'visitor':Js([Js(u'callee'), Js(u'arguments')]),u'fields':PyJs_Object_2250_,u'aliases':Js([Js(u'Expression')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'CallExpression'), PyJs_Object_2249_) + PyJs_Object_2255_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2256_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'BlockStatement'))}) + PyJs_Object_2254_ = Js({u'param':PyJs_Object_2255_,u'body':PyJs_Object_2256_}) + PyJs_Object_2253_ = Js({u'visitor':Js([Js(u'param'), Js(u'body')]),u'fields':PyJs_Object_2254_,u'aliases':Js([Js(u'Scopable')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'CatchClause'), PyJs_Object_2253_) + PyJs_Object_2259_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2260_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2261_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2258_ = Js({u'test':PyJs_Object_2259_,u'consequent':PyJs_Object_2260_,u'alternate':PyJs_Object_2261_}) + PyJs_Object_2257_ = Js({u'visitor':Js([Js(u'test'), Js(u'consequent'), Js(u'alternate')]),u'fields':PyJs_Object_2258_,u'aliases':Js([Js(u'Expression'), Js(u'Conditional')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'ConditionalExpression'), PyJs_Object_2257_) + PyJs_Object_2264_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Identifier')),u'optional':var.get(u'true')}) + PyJs_Object_2263_ = Js({u'label':PyJs_Object_2264_}) + PyJs_Object_2262_ = Js({u'visitor':Js([Js(u'label')]),u'fields':PyJs_Object_2263_,u'aliases':Js([Js(u'Statement'), Js(u'Terminatorless'), Js(u'CompletionStatement')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'ContinueStatement'), PyJs_Object_2262_) + PyJs_Object_2265_ = Js({u'aliases':Js([Js(u'Statement')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'DebuggerStatement'), PyJs_Object_2265_) + PyJs_Object_2268_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2269_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Statement'))}) + PyJs_Object_2267_ = Js({u'test':PyJs_Object_2268_,u'body':PyJs_Object_2269_}) + PyJs_Object_2266_ = Js({u'visitor':Js([Js(u'test'), Js(u'body')]),u'fields':PyJs_Object_2267_,u'aliases':Js([Js(u'Statement'), Js(u'BlockParent'), Js(u'Loop'), Js(u'While'), Js(u'Scopable')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'DoWhileStatement'), PyJs_Object_2266_) + PyJs_Object_2270_ = Js({u'aliases':Js([Js(u'Statement')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'EmptyStatement'), PyJs_Object_2270_) + PyJs_Object_2273_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2272_ = Js({u'expression':PyJs_Object_2273_}) + PyJs_Object_2271_ = Js({u'visitor':Js([Js(u'expression')]),u'fields':PyJs_Object_2272_,u'aliases':Js([Js(u'Statement'), Js(u'ExpressionWrapper')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'ExpressionStatement'), PyJs_Object_2271_) + PyJs_Object_2276_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Program'))}) + PyJs_Object_2275_ = Js({u'program':PyJs_Object_2276_}) + PyJs_Object_2274_ = Js({u'builder':Js([Js(u'program'), Js(u'comments'), Js(u'tokens')]),u'visitor':Js([Js(u'program')]),u'fields':PyJs_Object_2275_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'File'), PyJs_Object_2274_) + PyJs_Object_2279_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'VariableDeclaration'), Js(u'LVal'))}) + PyJs_Object_2280_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2281_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Statement'))}) + PyJs_Object_2278_ = Js({u'left':PyJs_Object_2279_,u'right':PyJs_Object_2280_,u'body':PyJs_Object_2281_}) + PyJs_Object_2277_ = Js({u'visitor':Js([Js(u'left'), Js(u'right'), Js(u'body')]),u'aliases':Js([Js(u'Scopable'), Js(u'Statement'), Js(u'For'), Js(u'BlockParent'), Js(u'Loop'), Js(u'ForXStatement')]),u'fields':PyJs_Object_2278_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'ForInStatement'), PyJs_Object_2277_) + PyJs_Object_2284_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'VariableDeclaration'), Js(u'Expression')),u'optional':var.get(u'true')}) + PyJs_Object_2285_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression')),u'optional':var.get(u'true')}) + PyJs_Object_2286_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression')),u'optional':var.get(u'true')}) + PyJs_Object_2287_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Statement'))}) + PyJs_Object_2283_ = Js({u'init':PyJs_Object_2284_,u'test':PyJs_Object_2285_,u'update':PyJs_Object_2286_,u'body':PyJs_Object_2287_}) + PyJs_Object_2282_ = Js({u'visitor':Js([Js(u'init'), Js(u'test'), Js(u'update'), Js(u'body')]),u'aliases':Js([Js(u'Scopable'), Js(u'Statement'), Js(u'For'), Js(u'BlockParent'), Js(u'Loop')]),u'fields':PyJs_Object_2283_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'ForStatement'), PyJs_Object_2282_) + PyJs_Object_2290_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2291_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'LVal'))))}) + PyJs_Object_2292_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'BlockStatement'))}) + PyJs_Object_2293_ = Js({u'default':Js(False),u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'boolean'))}) + PyJs_Object_2294_ = Js({u'default':Js(False),u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'boolean'))}) + PyJs_Object_2289_ = Js({u'id':PyJs_Object_2290_,u'params':PyJs_Object_2291_,u'body':PyJs_Object_2292_,u'generator':PyJs_Object_2293_,u'async':PyJs_Object_2294_}) + PyJs_Object_2288_ = Js({u'builder':Js([Js(u'id'), Js(u'params'), Js(u'body'), Js(u'generator'), Js(u'async')]),u'visitor':Js([Js(u'id'), Js(u'params'), Js(u'body'), Js(u'returnType'), Js(u'typeParameters')]),u'fields':PyJs_Object_2289_,u'aliases':Js([Js(u'Scopable'), Js(u'Function'), Js(u'BlockParent'), Js(u'FunctionParent'), Js(u'Statement'), Js(u'Pureish'), Js(u'Declaration')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'FunctionDeclaration'), PyJs_Object_2288_) + PyJs_Object_2297_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Identifier')),u'optional':var.get(u'true')}) + PyJs_Object_2298_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'LVal'))))}) + PyJs_Object_2299_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'BlockStatement'))}) + PyJs_Object_2300_ = Js({u'default':Js(False),u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'boolean'))}) + PyJs_Object_2301_ = Js({u'default':Js(False),u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'boolean'))}) + PyJs_Object_2296_ = Js({u'id':PyJs_Object_2297_,u'params':PyJs_Object_2298_,u'body':PyJs_Object_2299_,u'generator':PyJs_Object_2300_,u'async':PyJs_Object_2301_}) + PyJs_Object_2295_ = Js({u'inherits':Js(u'FunctionDeclaration'),u'aliases':Js([Js(u'Scopable'), Js(u'Function'), Js(u'BlockParent'), Js(u'FunctionParent'), Js(u'Expression'), Js(u'Pureish')]),u'fields':PyJs_Object_2296_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'FunctionExpression'), PyJs_Object_2295_) + @Js + def PyJs_validate_2305_(node, key, val, this, arguments, var=var): + var = Scope({u'node':node, u'val':val, u'this':this, u'arguments':arguments, u'key':key, u'validate':PyJs_validate_2305_}, var) + var.registers([u'node', u'val', u'key']) + if var.get(u't').callprop(u'isValidIdentifier', var.get(u'val')).neg(): + pass + PyJs_validate_2305_._set_name(u'validate') + PyJs_Object_2304_ = Js({u'validate':PyJs_validate_2305_}) + PyJs_Object_2306_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Decorator'))))}) + PyJs_Object_2303_ = Js({u'name':PyJs_Object_2304_,u'decorators':PyJs_Object_2306_}) + PyJs_Object_2302_ = Js({u'builder':Js([Js(u'name')]),u'visitor':Js([Js(u'typeAnnotation')]),u'aliases':Js([Js(u'Expression'), Js(u'LVal')]),u'fields':PyJs_Object_2303_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'Identifier'), PyJs_Object_2302_) + PyJs_Object_2309_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2310_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Statement'))}) + PyJs_Object_2311_ = Js({u'optional':var.get(u'true'),u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Statement'))}) + PyJs_Object_2308_ = Js({u'test':PyJs_Object_2309_,u'consequent':PyJs_Object_2310_,u'alternate':PyJs_Object_2311_}) + PyJs_Object_2307_ = Js({u'visitor':Js([Js(u'test'), Js(u'consequent'), Js(u'alternate')]),u'aliases':Js([Js(u'Statement'), Js(u'Conditional')]),u'fields':PyJs_Object_2308_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'IfStatement'), PyJs_Object_2307_) + PyJs_Object_2314_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2315_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Statement'))}) + PyJs_Object_2313_ = Js({u'label':PyJs_Object_2314_,u'body':PyJs_Object_2315_}) + PyJs_Object_2312_ = Js({u'visitor':Js([Js(u'label'), Js(u'body')]),u'aliases':Js([Js(u'Statement')]),u'fields':PyJs_Object_2313_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'LabeledStatement'), PyJs_Object_2312_) + PyJs_Object_2318_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'string'))}) + PyJs_Object_2317_ = Js({u'value':PyJs_Object_2318_}) + PyJs_Object_2316_ = Js({u'builder':Js([Js(u'value')]),u'fields':PyJs_Object_2317_,u'aliases':Js([Js(u'Expression'), Js(u'Pureish'), Js(u'Literal'), Js(u'Immutable')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'StringLiteral'), PyJs_Object_2316_) + PyJs_Object_2321_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'number'))}) + PyJs_Object_2320_ = Js({u'value':PyJs_Object_2321_}) + PyJs_Object_2319_ = Js({u'builder':Js([Js(u'value')]),u'deprecatedAlias':Js(u'NumberLiteral'),u'fields':PyJs_Object_2320_,u'aliases':Js([Js(u'Expression'), Js(u'Pureish'), Js(u'Literal'), Js(u'Immutable')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'NumericLiteral'), PyJs_Object_2319_) + PyJs_Object_2322_ = Js({u'aliases':Js([Js(u'Expression'), Js(u'Pureish'), Js(u'Literal'), Js(u'Immutable')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'NullLiteral'), PyJs_Object_2322_) + PyJs_Object_2325_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'boolean'))}) + PyJs_Object_2324_ = Js({u'value':PyJs_Object_2325_}) + PyJs_Object_2323_ = Js({u'builder':Js([Js(u'value')]),u'fields':PyJs_Object_2324_,u'aliases':Js([Js(u'Expression'), Js(u'Pureish'), Js(u'Literal'), Js(u'Immutable')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'BooleanLiteral'), PyJs_Object_2323_) + PyJs_Object_2328_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'string'))}) + PyJs_Object_2329_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'string')),u'default':Js(u'')}) + PyJs_Object_2327_ = Js({u'pattern':PyJs_Object_2328_,u'flags':PyJs_Object_2329_}) + PyJs_Object_2326_ = Js({u'builder':Js([Js(u'pattern'), Js(u'flags')]),u'deprecatedAlias':Js(u'RegexLiteral'),u'aliases':Js([Js(u'Expression'), Js(u'Literal')]),u'fields':PyJs_Object_2327_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'RegExpLiteral'), PyJs_Object_2326_) + PyJs_Object_2332_ = Js({u'validate':var.get(u'_index2').get(u'assertOneOf').callprop(u'apply', var.get(u'undefined'), var.get(u'_constants').get(u'LOGICAL_OPERATORS'))}) + PyJs_Object_2333_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2334_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2331_ = Js({u'operator':PyJs_Object_2332_,u'left':PyJs_Object_2333_,u'right':PyJs_Object_2334_}) + PyJs_Object_2330_ = Js({u'builder':Js([Js(u'operator'), Js(u'left'), Js(u'right')]),u'visitor':Js([Js(u'left'), Js(u'right')]),u'aliases':Js([Js(u'Binary'), Js(u'Expression')]),u'fields':PyJs_Object_2331_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'LogicalExpression'), PyJs_Object_2330_) + PyJs_Object_2337_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + @Js + def PyJs_validate_2339_(node, key, val, this, arguments, var=var): + var = Scope({u'node':node, u'val':val, u'this':this, u'arguments':arguments, u'key':key, u'validate':PyJs_validate_2339_}, var) + var.registers([u'node', u'expectedType', u'val', u'key']) + var.put(u'expectedType', (Js(u'Expression') if var.get(u'node').get(u'computed') else Js(u'Identifier'))) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(var.get(u'expectedType'))(var.get(u'node'), var.get(u'key'), var.get(u'val')) + PyJs_validate_2339_._set_name(u'validate') + PyJs_Object_2338_ = Js({u'validate':PyJs_validate_2339_}) + PyJs_Object_2340_ = Js({u'default':Js(False)}) + PyJs_Object_2336_ = Js({u'object':PyJs_Object_2337_,u'property':PyJs_Object_2338_,u'computed':PyJs_Object_2340_}) + PyJs_Object_2335_ = Js({u'builder':Js([Js(u'object'), Js(u'property'), Js(u'computed')]),u'visitor':Js([Js(u'object'), Js(u'property')]),u'aliases':Js([Js(u'Expression'), Js(u'LVal')]),u'fields':PyJs_Object_2336_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'MemberExpression'), PyJs_Object_2335_) + PyJs_Object_2343_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2344_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'), Js(u'SpreadElement'))))}) + PyJs_Object_2342_ = Js({u'callee':PyJs_Object_2343_,u'arguments':PyJs_Object_2344_}) + PyJs_Object_2341_ = Js({u'visitor':Js([Js(u'callee'), Js(u'arguments')]),u'aliases':Js([Js(u'Expression')]),u'fields':PyJs_Object_2342_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'NewExpression'), PyJs_Object_2341_) + PyJs_Object_2347_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Directive')))),u'default':Js([])}) + PyJs_Object_2348_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Statement'))))}) + PyJs_Object_2346_ = Js({u'directives':PyJs_Object_2347_,u'body':PyJs_Object_2348_}) + PyJs_Object_2345_ = Js({u'visitor':Js([Js(u'directives'), Js(u'body')]),u'builder':Js([Js(u'body'), Js(u'directives')]),u'fields':PyJs_Object_2346_,u'aliases':Js([Js(u'Scopable'), Js(u'BlockParent'), Js(u'Block'), Js(u'FunctionParent')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'Program'), PyJs_Object_2345_) + PyJs_Object_2351_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'ObjectMethod'), Js(u'ObjectProperty'), Js(u'SpreadProperty'))))}) + PyJs_Object_2350_ = Js({u'properties':PyJs_Object_2351_}) + PyJs_Object_2349_ = Js({u'visitor':Js([Js(u'properties')]),u'aliases':Js([Js(u'Expression')]),u'fields':PyJs_Object_2350_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'ObjectExpression'), PyJs_Object_2349_) + PyJs_Object_2354_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'string')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertOneOf'))(Js(u'method'), Js(u'get'), Js(u'set'))),u'default':Js(u'method')}) + PyJs_Object_2355_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'boolean')),u'default':Js(False)}) + @Js + def PyJs_validate_2357_(node, key, val, this, arguments, var=var): + var = Scope({u'node':node, u'val':val, u'this':this, u'arguments':arguments, u'key':key, u'validate':PyJs_validate_2357_}, var) + var.registers([u'node', u'val', u'key', u'expectedTypes']) + var.put(u'expectedTypes', (Js([Js(u'Expression')]) if var.get(u'node').get(u'computed') else Js([Js(u'Identifier'), Js(u'StringLiteral'), Js(u'NumericLiteral')]))) + var.get(u'_index2').get(u'assertNodeType').callprop(u'apply', var.get(u'undefined'), var.get(u'expectedTypes'))(var.get(u'node'), var.get(u'key'), var.get(u'val')) + PyJs_validate_2357_._set_name(u'validate') + PyJs_Object_2356_ = Js({u'validate':PyJs_validate_2357_}) + PyJs_Object_2358_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Decorator'))))}) + PyJs_Object_2359_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'BlockStatement'))}) + PyJs_Object_2360_ = Js({u'default':Js(False),u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'boolean'))}) + PyJs_Object_2361_ = Js({u'default':Js(False),u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'boolean'))}) + PyJs_Object_2353_ = Js({u'kind':PyJs_Object_2354_,u'computed':PyJs_Object_2355_,u'key':PyJs_Object_2356_,u'decorators':PyJs_Object_2358_,u'body':PyJs_Object_2359_,u'generator':PyJs_Object_2360_,u'async':PyJs_Object_2361_}) + PyJs_Object_2352_ = Js({u'builder':Js([Js(u'kind'), Js(u'key'), Js(u'params'), Js(u'body'), Js(u'computed')]),u'fields':PyJs_Object_2353_,u'visitor':Js([Js(u'key'), Js(u'params'), Js(u'body'), Js(u'decorators'), Js(u'returnType'), Js(u'typeParameters')]),u'aliases':Js([Js(u'UserWhitespacable'), Js(u'Function'), Js(u'Scopable'), Js(u'BlockParent'), Js(u'FunctionParent'), Js(u'Method'), Js(u'ObjectMember')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'ObjectMethod'), PyJs_Object_2352_) + PyJs_Object_2364_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'boolean')),u'default':Js(False)}) + @Js + def PyJs_validate_2366_(node, key, val, this, arguments, var=var): + var = Scope({u'node':node, u'val':val, u'this':this, u'arguments':arguments, u'key':key, u'validate':PyJs_validate_2366_}, var) + var.registers([u'node', u'val', u'key', u'expectedTypes']) + var.put(u'expectedTypes', (Js([Js(u'Expression')]) if var.get(u'node').get(u'computed') else Js([Js(u'Identifier'), Js(u'StringLiteral'), Js(u'NumericLiteral')]))) + var.get(u'_index2').get(u'assertNodeType').callprop(u'apply', var.get(u'undefined'), var.get(u'expectedTypes'))(var.get(u'node'), var.get(u'key'), var.get(u'val')) + PyJs_validate_2366_._set_name(u'validate') + PyJs_Object_2365_ = Js({u'validate':PyJs_validate_2366_}) + PyJs_Object_2367_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2368_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'boolean')),u'default':Js(False)}) + PyJs_Object_2369_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Decorator')))),u'optional':var.get(u'true')}) + PyJs_Object_2363_ = Js({u'computed':PyJs_Object_2364_,u'key':PyJs_Object_2365_,u'value':PyJs_Object_2367_,u'shorthand':PyJs_Object_2368_,u'decorators':PyJs_Object_2369_}) + PyJs_Object_2362_ = Js({u'builder':Js([Js(u'key'), Js(u'value'), Js(u'computed'), Js(u'shorthand'), Js(u'decorators')]),u'fields':PyJs_Object_2363_,u'visitor':Js([Js(u'key'), Js(u'value'), Js(u'decorators')]),u'aliases':Js([Js(u'UserWhitespacable'), Js(u'Property'), Js(u'ObjectMember')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'ObjectProperty'), PyJs_Object_2362_) + PyJs_Object_2372_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'LVal'))}) + PyJs_Object_2373_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Decorator'))))}) + PyJs_Object_2371_ = Js({u'argument':PyJs_Object_2372_,u'decorators':PyJs_Object_2373_}) + PyJs_Object_2370_ = Js({u'visitor':Js([Js(u'argument'), Js(u'typeAnnotation')]),u'aliases':Js([Js(u'LVal')]),u'fields':PyJs_Object_2371_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'RestElement'), PyJs_Object_2370_) + PyJs_Object_2376_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression')),u'optional':var.get(u'true')}) + PyJs_Object_2375_ = Js({u'argument':PyJs_Object_2376_}) + PyJs_Object_2374_ = Js({u'visitor':Js([Js(u'argument')]),u'aliases':Js([Js(u'Statement'), Js(u'Terminatorless'), Js(u'CompletionStatement')]),u'fields':PyJs_Object_2375_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'ReturnStatement'), PyJs_Object_2374_) + PyJs_Object_2379_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))))}) + PyJs_Object_2378_ = Js({u'expressions':PyJs_Object_2379_}) + PyJs_Object_2377_ = Js({u'visitor':Js([Js(u'expressions')]),u'fields':PyJs_Object_2378_,u'aliases':Js([Js(u'Expression')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'SequenceExpression'), PyJs_Object_2377_) + PyJs_Object_2382_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression')),u'optional':var.get(u'true')}) + PyJs_Object_2383_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Statement'))))}) + PyJs_Object_2381_ = Js({u'test':PyJs_Object_2382_,u'consequent':PyJs_Object_2383_}) + PyJs_Object_2380_ = Js({u'visitor':Js([Js(u'test'), Js(u'consequent')]),u'fields':PyJs_Object_2381_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'SwitchCase'), PyJs_Object_2380_) + PyJs_Object_2386_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2387_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'SwitchCase'))))}) + PyJs_Object_2385_ = Js({u'discriminant':PyJs_Object_2386_,u'cases':PyJs_Object_2387_}) + PyJs_Object_2384_ = Js({u'visitor':Js([Js(u'discriminant'), Js(u'cases')]),u'aliases':Js([Js(u'Statement'), Js(u'BlockParent'), Js(u'Scopable')]),u'fields':PyJs_Object_2385_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'SwitchStatement'), PyJs_Object_2384_) + PyJs_Object_2388_ = Js({u'aliases':Js([Js(u'Expression')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'ThisExpression'), PyJs_Object_2388_) + PyJs_Object_2391_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2390_ = Js({u'argument':PyJs_Object_2391_}) + PyJs_Object_2389_ = Js({u'visitor':Js([Js(u'argument')]),u'aliases':Js([Js(u'Statement'), Js(u'Terminatorless'), Js(u'CompletionStatement')]),u'fields':PyJs_Object_2390_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'ThrowStatement'), PyJs_Object_2389_) + PyJs_Object_2394_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'BlockStatement'))}) + PyJs_Object_2395_ = Js({u'optional':var.get(u'true'),u'handler':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'BlockStatement'))}) + PyJs_Object_2396_ = Js({u'optional':var.get(u'true'),u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'BlockStatement'))}) + PyJs_Object_2393_ = Js({u'body':PyJs_Object_2394_,u'handler':PyJs_Object_2395_,u'finalizer':PyJs_Object_2396_}) + PyJs_Object_2392_ = Js({u'visitor':Js([Js(u'block'), Js(u'handler'), Js(u'finalizer')]),u'aliases':Js([Js(u'Statement')]),u'fields':PyJs_Object_2393_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'TryStatement'), PyJs_Object_2392_) + PyJs_Object_2399_ = Js({u'default':var.get(u'true')}) + PyJs_Object_2400_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2401_ = Js({u'validate':var.get(u'_index2').get(u'assertOneOf').callprop(u'apply', var.get(u'undefined'), var.get(u'_constants').get(u'UNARY_OPERATORS'))}) + PyJs_Object_2398_ = Js({u'prefix':PyJs_Object_2399_,u'argument':PyJs_Object_2400_,u'operator':PyJs_Object_2401_}) + PyJs_Object_2397_ = Js({u'builder':Js([Js(u'operator'), Js(u'argument'), Js(u'prefix')]),u'fields':PyJs_Object_2398_,u'visitor':Js([Js(u'argument')]),u'aliases':Js([Js(u'UnaryLike'), Js(u'Expression')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'UnaryExpression'), PyJs_Object_2397_) + PyJs_Object_2404_ = Js({u'default':Js(False)}) + PyJs_Object_2405_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2406_ = Js({u'validate':var.get(u'_index2').get(u'assertOneOf').callprop(u'apply', var.get(u'undefined'), var.get(u'_constants').get(u'UPDATE_OPERATORS'))}) + PyJs_Object_2403_ = Js({u'prefix':PyJs_Object_2404_,u'argument':PyJs_Object_2405_,u'operator':PyJs_Object_2406_}) + PyJs_Object_2402_ = Js({u'builder':Js([Js(u'operator'), Js(u'argument'), Js(u'prefix')]),u'fields':PyJs_Object_2403_,u'visitor':Js([Js(u'argument')]),u'aliases':Js([Js(u'Expression')])}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'UpdateExpression'), PyJs_Object_2402_) + PyJs_Object_2409_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'string')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertOneOf'))(Js(u'var'), Js(u'let'), Js(u'const')))}) + PyJs_Object_2410_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'VariableDeclarator'))))}) + PyJs_Object_2408_ = Js({u'kind':PyJs_Object_2409_,u'declarations':PyJs_Object_2410_}) + PyJs_Object_2407_ = Js({u'builder':Js([Js(u'kind'), Js(u'declarations')]),u'visitor':Js([Js(u'declarations')]),u'aliases':Js([Js(u'Statement'), Js(u'Declaration')]),u'fields':PyJs_Object_2408_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'VariableDeclaration'), PyJs_Object_2407_) + PyJs_Object_2413_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'LVal'))}) + PyJs_Object_2414_ = Js({u'optional':var.get(u'true'),u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2412_ = Js({u'id':PyJs_Object_2413_,u'init':PyJs_Object_2414_}) + PyJs_Object_2411_ = Js({u'visitor':Js([Js(u'id'), Js(u'init')]),u'fields':PyJs_Object_2412_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'VariableDeclarator'), PyJs_Object_2411_) + PyJs_Object_2417_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2418_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'BlockStatement'), Js(u'Statement'))}) + PyJs_Object_2416_ = Js({u'test':PyJs_Object_2417_,u'body':PyJs_Object_2418_}) + PyJs_Object_2415_ = Js({u'visitor':Js([Js(u'test'), Js(u'body')]),u'aliases':Js([Js(u'Statement'), Js(u'BlockParent'), Js(u'Loop'), Js(u'While'), Js(u'Scopable')]),u'fields':PyJs_Object_2416_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'WhileStatement'), PyJs_Object_2415_) + PyJs_Object_2421_ = Js({u'object':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2422_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index2').get(u'assertNodeType'))(Js(u'BlockStatement'), Js(u'Statement'))}) + PyJs_Object_2420_ = Js({u'object':PyJs_Object_2421_,u'body':PyJs_Object_2422_}) + PyJs_Object_2419_ = Js({u'visitor':Js([Js(u'object'), Js(u'body')]),u'aliases':Js([Js(u'Statement')]),u'fields':PyJs_Object_2420_}) + PyJsComma(Js(0.0),var.get(u'_index3').get(u'default'))(Js(u'WithStatement'), PyJs_Object_2419_) +PyJs_anonymous_2220_._set_name(u'anonymous') +PyJs_Object_2423_ = Js({u'../constants':Js(247.0),u'../index':Js(258.0),u'./index':Js(253.0)}) +@Js +def PyJs_anonymous_2424_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_index', u'require', u'module', u'_index2', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2425_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2425_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.put(u'_index', var.get(u'require')(Js(u'./index'))) + var.put(u'_index2', var.get(u'_interopRequireDefault')(var.get(u'_index'))) + pass + PyJs_Object_2428_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2429_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2430_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Decorator'))))}) + PyJs_Object_2427_ = Js({u'left':PyJs_Object_2428_,u'right':PyJs_Object_2429_,u'decorators':PyJs_Object_2430_}) + PyJs_Object_2426_ = Js({u'visitor':Js([Js(u'left'), Js(u'right')]),u'aliases':Js([Js(u'Pattern'), Js(u'LVal')]),u'fields':PyJs_Object_2427_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'AssignmentPattern'), PyJs_Object_2426_) + PyJs_Object_2433_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Expression'))))}) + PyJs_Object_2434_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Decorator'))))}) + PyJs_Object_2432_ = Js({u'elements':PyJs_Object_2433_,u'decorators':PyJs_Object_2434_}) + PyJs_Object_2431_ = Js({u'visitor':Js([Js(u'elements'), Js(u'typeAnnotation')]),u'aliases':Js([Js(u'Pattern'), Js(u'LVal')]),u'fields':PyJs_Object_2432_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ArrayPattern'), PyJs_Object_2431_) + PyJs_Object_2437_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'LVal'))))}) + PyJs_Object_2438_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'BlockStatement'), Js(u'Expression'))}) + PyJs_Object_2439_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'boolean')),u'default':Js(False)}) + PyJs_Object_2436_ = Js({u'params':PyJs_Object_2437_,u'body':PyJs_Object_2438_,u'async':PyJs_Object_2439_}) + PyJs_Object_2435_ = Js({u'builder':Js([Js(u'params'), Js(u'body'), Js(u'async')]),u'visitor':Js([Js(u'params'), Js(u'body'), Js(u'returnType'), Js(u'typeParameters')]),u'aliases':Js([Js(u'Scopable'), Js(u'Function'), Js(u'BlockParent'), Js(u'FunctionParent'), Js(u'Expression'), Js(u'Pureish')]),u'fields':PyJs_Object_2436_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ArrowFunctionExpression'), PyJs_Object_2435_) + PyJs_Object_2442_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'ClassMethod'), Js(u'ClassProperty'))))}) + PyJs_Object_2441_ = Js({u'body':PyJs_Object_2442_}) + PyJs_Object_2440_ = Js({u'visitor':Js([Js(u'body')]),u'fields':PyJs_Object_2441_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ClassBody'), PyJs_Object_2440_) + PyJs_Object_2445_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2446_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'ClassBody'))}) + PyJs_Object_2447_ = Js({u'optional':var.get(u'true'),u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2448_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Decorator'))))}) + PyJs_Object_2444_ = Js({u'id':PyJs_Object_2445_,u'body':PyJs_Object_2446_,u'superClass':PyJs_Object_2447_,u'decorators':PyJs_Object_2448_}) + PyJs_Object_2443_ = Js({u'builder':Js([Js(u'id'), Js(u'superClass'), Js(u'body'), Js(u'decorators')]),u'visitor':Js([Js(u'id'), Js(u'body'), Js(u'superClass'), Js(u'mixins'), Js(u'typeParameters'), Js(u'superTypeParameters'), Js(u'implements'), Js(u'decorators')]),u'aliases':Js([Js(u'Scopable'), Js(u'Class'), Js(u'Statement'), Js(u'Declaration'), Js(u'Pureish')]),u'fields':PyJs_Object_2444_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ClassDeclaration'), PyJs_Object_2443_) + PyJs_Object_2451_ = Js({u'optional':var.get(u'true'),u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2452_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'ClassBody'))}) + PyJs_Object_2453_ = Js({u'optional':var.get(u'true'),u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2454_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Decorator'))))}) + PyJs_Object_2450_ = Js({u'id':PyJs_Object_2451_,u'body':PyJs_Object_2452_,u'superClass':PyJs_Object_2453_,u'decorators':PyJs_Object_2454_}) + PyJs_Object_2449_ = Js({u'inherits':Js(u'ClassDeclaration'),u'aliases':Js([Js(u'Scopable'), Js(u'Class'), Js(u'Expression'), Js(u'Pureish')]),u'fields':PyJs_Object_2450_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ClassExpression'), PyJs_Object_2449_) + PyJs_Object_2457_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'StringLiteral'))}) + PyJs_Object_2456_ = Js({u'source':PyJs_Object_2457_}) + PyJs_Object_2455_ = Js({u'visitor':Js([Js(u'source')]),u'aliases':Js([Js(u'Statement'), Js(u'Declaration'), Js(u'ModuleDeclaration'), Js(u'ExportDeclaration')]),u'fields':PyJs_Object_2456_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ExportAllDeclaration'), PyJs_Object_2455_) + PyJs_Object_2460_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'FunctionDeclaration'), Js(u'ClassDeclaration'), Js(u'Expression'))}) + PyJs_Object_2459_ = Js({u'declaration':PyJs_Object_2460_}) + PyJs_Object_2458_ = Js({u'visitor':Js([Js(u'declaration')]),u'aliases':Js([Js(u'Statement'), Js(u'Declaration'), Js(u'ModuleDeclaration'), Js(u'ExportDeclaration')]),u'fields':PyJs_Object_2459_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ExportDefaultDeclaration'), PyJs_Object_2458_) + PyJs_Object_2463_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Declaration')),u'optional':var.get(u'true')}) + PyJs_Object_2464_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'ExportSpecifier'))))}) + PyJs_Object_2465_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'StringLiteral')),u'optional':var.get(u'true')}) + PyJs_Object_2462_ = Js({u'declaration':PyJs_Object_2463_,u'specifiers':PyJs_Object_2464_,u'source':PyJs_Object_2465_}) + PyJs_Object_2461_ = Js({u'visitor':Js([Js(u'declaration'), Js(u'specifiers'), Js(u'source')]),u'aliases':Js([Js(u'Statement'), Js(u'Declaration'), Js(u'ModuleDeclaration'), Js(u'ExportDeclaration')]),u'fields':PyJs_Object_2462_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ExportNamedDeclaration'), PyJs_Object_2461_) + PyJs_Object_2468_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2469_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2467_ = Js({u'local':PyJs_Object_2468_,u'exported':PyJs_Object_2469_}) + PyJs_Object_2466_ = Js({u'visitor':Js([Js(u'local'), Js(u'exported')]),u'aliases':Js([Js(u'ModuleSpecifier')]),u'fields':PyJs_Object_2467_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ExportSpecifier'), PyJs_Object_2466_) + PyJs_Object_2472_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'VariableDeclaration'), Js(u'LVal'))}) + PyJs_Object_2473_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2474_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Statement'))}) + PyJs_Object_2471_ = Js({u'left':PyJs_Object_2472_,u'right':PyJs_Object_2473_,u'body':PyJs_Object_2474_}) + PyJs_Object_2470_ = Js({u'visitor':Js([Js(u'left'), Js(u'right'), Js(u'body')]),u'aliases':Js([Js(u'Scopable'), Js(u'Statement'), Js(u'For'), Js(u'BlockParent'), Js(u'Loop'), Js(u'ForXStatement')]),u'fields':PyJs_Object_2471_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ForOfStatement'), PyJs_Object_2470_) + PyJs_Object_2477_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'ImportSpecifier'), Js(u'ImportDefaultSpecifier'), Js(u'ImportNamespaceSpecifier'))))}) + PyJs_Object_2478_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'StringLiteral'))}) + PyJs_Object_2476_ = Js({u'specifiers':PyJs_Object_2477_,u'source':PyJs_Object_2478_}) + PyJs_Object_2475_ = Js({u'visitor':Js([Js(u'specifiers'), Js(u'source')]),u'aliases':Js([Js(u'Statement'), Js(u'Declaration'), Js(u'ModuleDeclaration')]),u'fields':PyJs_Object_2476_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ImportDeclaration'), PyJs_Object_2475_) + PyJs_Object_2481_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2480_ = Js({u'local':PyJs_Object_2481_}) + PyJs_Object_2479_ = Js({u'visitor':Js([Js(u'local')]),u'aliases':Js([Js(u'ModuleSpecifier')]),u'fields':PyJs_Object_2480_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ImportDefaultSpecifier'), PyJs_Object_2479_) + PyJs_Object_2484_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2483_ = Js({u'local':PyJs_Object_2484_}) + PyJs_Object_2482_ = Js({u'visitor':Js([Js(u'local')]),u'aliases':Js([Js(u'ModuleSpecifier')]),u'fields':PyJs_Object_2483_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ImportNamespaceSpecifier'), PyJs_Object_2482_) + PyJs_Object_2487_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2488_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2486_ = Js({u'local':PyJs_Object_2487_,u'imported':PyJs_Object_2488_}) + PyJs_Object_2485_ = Js({u'visitor':Js([Js(u'local'), Js(u'imported')]),u'aliases':Js([Js(u'ModuleSpecifier')]),u'fields':PyJs_Object_2486_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ImportSpecifier'), PyJs_Object_2485_) + PyJs_Object_2491_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'string'))}) + PyJs_Object_2492_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'string'))}) + PyJs_Object_2490_ = Js({u'meta':PyJs_Object_2491_,u'property':PyJs_Object_2492_}) + PyJs_Object_2489_ = Js({u'visitor':Js([Js(u'meta'), Js(u'property')]),u'aliases':Js([Js(u'Expression')]),u'fields':PyJs_Object_2490_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'MetaProperty'), PyJs_Object_2489_) + PyJs_Object_2495_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'string')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertOneOf'))(Js(u'get'), Js(u'set'), Js(u'method'), Js(u'constructor'))),u'default':Js(u'method')}) + PyJs_Object_2496_ = Js({u'default':Js(False),u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'boolean'))}) + PyJs_Object_2497_ = Js({u'default':Js(False),u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'boolean'))}) + @Js + def PyJs_validate_2499_(node, key, val, this, arguments, var=var): + var = Scope({u'node':node, u'val':val, u'this':this, u'arguments':arguments, u'key':key, u'validate':PyJs_validate_2499_}, var) + var.registers([u'node', u'val', u'key', u'expectedTypes']) + var.put(u'expectedTypes', (Js([Js(u'Expression')]) if var.get(u'node').get(u'computed') else Js([Js(u'Identifier'), Js(u'StringLiteral'), Js(u'NumericLiteral')]))) + var.get(u'_index').get(u'assertNodeType').callprop(u'apply', var.get(u'undefined'), var.get(u'expectedTypes'))(var.get(u'node'), var.get(u'key'), var.get(u'val')) + PyJs_validate_2499_._set_name(u'validate') + PyJs_Object_2498_ = Js({u'validate':PyJs_validate_2499_}) + PyJs_Object_2500_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'LVal'))))}) + PyJs_Object_2501_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'BlockStatement'))}) + PyJs_Object_2502_ = Js({u'default':Js(False),u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'boolean'))}) + PyJs_Object_2503_ = Js({u'default':Js(False),u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'boolean'))}) + PyJs_Object_2494_ = Js({u'kind':PyJs_Object_2495_,u'computed':PyJs_Object_2496_,u'static':PyJs_Object_2497_,u'key':PyJs_Object_2498_,u'params':PyJs_Object_2500_,u'body':PyJs_Object_2501_,u'generator':PyJs_Object_2502_,u'async':PyJs_Object_2503_}) + PyJs_Object_2493_ = Js({u'aliases':Js([Js(u'Function'), Js(u'Scopable'), Js(u'BlockParent'), Js(u'FunctionParent'), Js(u'Method')]),u'builder':Js([Js(u'kind'), Js(u'key'), Js(u'params'), Js(u'body'), Js(u'computed'), Js(u'static')]),u'visitor':Js([Js(u'key'), Js(u'params'), Js(u'body'), Js(u'decorators'), Js(u'returnType'), Js(u'typeParameters')]),u'fields':PyJs_Object_2494_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ClassMethod'), PyJs_Object_2493_) + PyJs_Object_2506_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'RestProperty'), Js(u'Property'))))}) + PyJs_Object_2507_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Decorator'))))}) + PyJs_Object_2505_ = Js({u'properties':PyJs_Object_2506_,u'decorators':PyJs_Object_2507_}) + PyJs_Object_2504_ = Js({u'visitor':Js([Js(u'properties'), Js(u'typeAnnotation')]),u'aliases':Js([Js(u'Pattern'), Js(u'LVal')]),u'fields':PyJs_Object_2505_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ObjectPattern'), PyJs_Object_2504_) + PyJs_Object_2510_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2509_ = Js({u'argument':PyJs_Object_2510_}) + PyJs_Object_2508_ = Js({u'visitor':Js([Js(u'argument')]),u'aliases':Js([Js(u'UnaryLike')]),u'fields':PyJs_Object_2509_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'SpreadElement'), PyJs_Object_2508_) + PyJs_Object_2511_ = Js({u'aliases':Js([Js(u'Expression')])}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'Super'), PyJs_Object_2511_) + PyJs_Object_2514_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2515_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'TemplateLiteral'))}) + PyJs_Object_2513_ = Js({u'tag':PyJs_Object_2514_,u'quasi':PyJs_Object_2515_}) + PyJs_Object_2512_ = Js({u'visitor':Js([Js(u'tag'), Js(u'quasi')]),u'aliases':Js([Js(u'Expression')]),u'fields':PyJs_Object_2513_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'TaggedTemplateExpression'), PyJs_Object_2512_) + PyJs_Object_2518_ = Js({}) + PyJs_Object_2519_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'boolean')),u'default':Js(False)}) + PyJs_Object_2517_ = Js({u'value':PyJs_Object_2518_,u'tail':PyJs_Object_2519_}) + PyJs_Object_2516_ = Js({u'builder':Js([Js(u'value'), Js(u'tail')]),u'fields':PyJs_Object_2517_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'TemplateElement'), PyJs_Object_2516_) + PyJs_Object_2522_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'TemplateElement'))))}) + PyJs_Object_2523_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'chain'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'array')), PyJsComma(Js(0.0),var.get(u'_index').get(u'assertEach'))(PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Expression'))))}) + PyJs_Object_2521_ = Js({u'quasis':PyJs_Object_2522_,u'expressions':PyJs_Object_2523_}) + PyJs_Object_2520_ = Js({u'visitor':Js([Js(u'quasis'), Js(u'expressions')]),u'aliases':Js([Js(u'Expression'), Js(u'Literal')]),u'fields':PyJs_Object_2521_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'TemplateLiteral'), PyJs_Object_2520_) + PyJs_Object_2526_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'boolean')),u'default':Js(False)}) + PyJs_Object_2527_ = Js({u'optional':var.get(u'true'),u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2525_ = Js({u'delegate':PyJs_Object_2526_,u'argument':PyJs_Object_2527_}) + PyJs_Object_2524_ = Js({u'builder':Js([Js(u'argument'), Js(u'delegate')]),u'visitor':Js([Js(u'argument')]),u'aliases':Js([Js(u'Expression'), Js(u'Terminatorless')]),u'fields':PyJs_Object_2525_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'YieldExpression'), PyJs_Object_2524_) +PyJs_anonymous_2424_._set_name(u'anonymous') +PyJs_Object_2528_ = Js({u'./index':Js(253.0)}) +@Js +def PyJs_anonymous_2529_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_index', u'require', u'module', u'_index2', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2530_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2530_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.put(u'_index', var.get(u'require')(Js(u'./index'))) + var.put(u'_index2', var.get(u'_interopRequireDefault')(var.get(u'_index'))) + pass + PyJs_Object_2533_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2532_ = Js({u'argument':PyJs_Object_2533_}) + PyJs_Object_2531_ = Js({u'builder':Js([Js(u'argument')]),u'visitor':Js([Js(u'argument')]),u'aliases':Js([Js(u'Expression'), Js(u'Terminatorless')]),u'fields':PyJs_Object_2532_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'AwaitExpression'), PyJs_Object_2531_) + PyJs_Object_2536_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'VariableDeclaration'), Js(u'LVal'))}) + PyJs_Object_2537_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2538_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Statement'))}) + PyJs_Object_2535_ = Js({u'left':PyJs_Object_2536_,u'right':PyJs_Object_2537_,u'body':PyJs_Object_2538_}) + PyJs_Object_2534_ = Js({u'visitor':Js([Js(u'left'), Js(u'right'), Js(u'body')]),u'aliases':Js([Js(u'Scopable'), Js(u'Statement'), Js(u'For'), Js(u'BlockParent'), Js(u'Loop'), Js(u'ForXStatement')]),u'fields':PyJs_Object_2535_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ForAwaitStatement'), PyJs_Object_2534_) + PyJs_Object_2540_ = Js({}) + PyJs_Object_2539_ = Js({u'visitor':Js([Js(u'object'), Js(u'callee')]),u'aliases':Js([Js(u'Expression')]),u'fields':PyJs_Object_2540_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'BindExpression'), PyJs_Object_2539_) + PyJs_Object_2543_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2542_ = Js({u'expression':PyJs_Object_2543_}) + PyJs_Object_2541_ = Js({u'visitor':Js([Js(u'expression')]),u'fields':PyJs_Object_2542_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'Decorator'), PyJs_Object_2541_) + PyJs_Object_2546_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'BlockStatement'))}) + PyJs_Object_2545_ = Js({u'body':PyJs_Object_2546_}) + PyJs_Object_2544_ = Js({u'visitor':Js([Js(u'body')]),u'aliases':Js([Js(u'Expression')]),u'fields':PyJs_Object_2545_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'DoExpression'), PyJs_Object_2544_) + PyJs_Object_2549_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2548_ = Js({u'exported':PyJs_Object_2549_}) + PyJs_Object_2547_ = Js({u'visitor':Js([Js(u'exported')]),u'aliases':Js([Js(u'ModuleSpecifier')]),u'fields':PyJs_Object_2548_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ExportDefaultSpecifier'), PyJs_Object_2547_) + PyJs_Object_2552_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Identifier'))}) + PyJs_Object_2551_ = Js({u'exported':PyJs_Object_2552_}) + PyJs_Object_2550_ = Js({u'visitor':Js([Js(u'exported')]),u'aliases':Js([Js(u'ModuleSpecifier')]),u'fields':PyJs_Object_2551_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ExportNamespaceSpecifier'), PyJs_Object_2550_) + PyJs_Object_2555_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'LVal'))}) + PyJs_Object_2554_ = Js({u'argument':PyJs_Object_2555_}) + PyJs_Object_2553_ = Js({u'visitor':Js([Js(u'argument')]),u'aliases':Js([Js(u'UnaryLike')]),u'fields':PyJs_Object_2554_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'RestProperty'), PyJs_Object_2553_) + PyJs_Object_2558_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertNodeType'))(Js(u'Expression'))}) + PyJs_Object_2557_ = Js({u'argument':PyJs_Object_2558_}) + PyJs_Object_2556_ = Js({u'visitor':Js([Js(u'argument')]),u'aliases':Js([Js(u'UnaryLike')]),u'fields':PyJs_Object_2557_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'SpreadProperty'), PyJs_Object_2556_) +PyJs_anonymous_2529_._set_name(u'anonymous') +PyJs_Object_2559_ = Js({u'./index':Js(253.0)}) +@Js +def PyJs_anonymous_2560_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_index', u'require', u'module', u'_index2', u'_interopRequireDefault']) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2561_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2561_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + Js(u'use strict') + var.put(u'_index', var.get(u'require')(Js(u'./index'))) + var.put(u'_index2', var.get(u'_interopRequireDefault')(var.get(u'_index'))) + pass + PyJs_Object_2563_ = Js({}) + PyJs_Object_2562_ = Js({u'aliases':Js([Js(u'Flow'), Js(u'FlowBaseAnnotation')]),u'fields':PyJs_Object_2563_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'AnyTypeAnnotation'), PyJs_Object_2562_) + PyJs_Object_2565_ = Js({}) + PyJs_Object_2564_ = Js({u'visitor':Js([Js(u'elementType')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2565_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ArrayTypeAnnotation'), PyJs_Object_2564_) + PyJs_Object_2567_ = Js({}) + PyJs_Object_2566_ = Js({u'aliases':Js([Js(u'Flow'), Js(u'FlowBaseAnnotation')]),u'fields':PyJs_Object_2567_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'BooleanTypeAnnotation'), PyJs_Object_2566_) + PyJs_Object_2569_ = Js({}) + PyJs_Object_2568_ = Js({u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2569_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'BooleanLiteralTypeAnnotation'), PyJs_Object_2568_) + PyJs_Object_2571_ = Js({}) + PyJs_Object_2570_ = Js({u'aliases':Js([Js(u'Flow'), Js(u'FlowBaseAnnotation')]),u'fields':PyJs_Object_2571_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'NullLiteralTypeAnnotation'), PyJs_Object_2570_) + PyJs_Object_2573_ = Js({}) + PyJs_Object_2572_ = Js({u'visitor':Js([Js(u'id'), Js(u'typeParameters')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2573_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ClassImplements'), PyJs_Object_2572_) + PyJs_Object_2576_ = Js({u'validate':PyJsComma(Js(0.0),var.get(u'_index').get(u'assertValueType'))(Js(u'boolean')),u'default':Js(False)}) + PyJs_Object_2575_ = Js({u'computed':PyJs_Object_2576_}) + PyJs_Object_2574_ = Js({u'visitor':Js([Js(u'key'), Js(u'value'), Js(u'typeAnnotation'), Js(u'decorators')]),u'builder':Js([Js(u'key'), Js(u'value'), Js(u'typeAnnotation'), Js(u'decorators'), Js(u'computed')]),u'aliases':Js([Js(u'Property')]),u'fields':PyJs_Object_2575_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ClassProperty'), PyJs_Object_2574_) + PyJs_Object_2578_ = Js({}) + PyJs_Object_2577_ = Js({u'visitor':Js([Js(u'id'), Js(u'typeParameters'), Js(u'extends'), Js(u'body')]),u'aliases':Js([Js(u'Flow'), Js(u'FlowDeclaration'), Js(u'Statement'), Js(u'Declaration')]),u'fields':PyJs_Object_2578_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'DeclareClass'), PyJs_Object_2577_) + PyJs_Object_2580_ = Js({}) + PyJs_Object_2579_ = Js({u'visitor':Js([Js(u'id')]),u'aliases':Js([Js(u'Flow'), Js(u'FlowDeclaration'), Js(u'Statement'), Js(u'Declaration')]),u'fields':PyJs_Object_2580_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'DeclareFunction'), PyJs_Object_2579_) + PyJs_Object_2582_ = Js({}) + PyJs_Object_2581_ = Js({u'visitor':Js([Js(u'id'), Js(u'typeParameters'), Js(u'extends'), Js(u'body')]),u'aliases':Js([Js(u'Flow'), Js(u'FlowDeclaration'), Js(u'Statement'), Js(u'Declaration')]),u'fields':PyJs_Object_2582_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'DeclareInterface'), PyJs_Object_2581_) + PyJs_Object_2584_ = Js({}) + PyJs_Object_2583_ = Js({u'visitor':Js([Js(u'id'), Js(u'body')]),u'aliases':Js([Js(u'Flow'), Js(u'FlowDeclaration'), Js(u'Statement'), Js(u'Declaration')]),u'fields':PyJs_Object_2584_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'DeclareModule'), PyJs_Object_2583_) + PyJs_Object_2586_ = Js({}) + PyJs_Object_2585_ = Js({u'visitor':Js([Js(u'typeAnnotation')]),u'aliases':Js([Js(u'Flow'), Js(u'FlowDeclaration'), Js(u'Statement'), Js(u'Declaration')]),u'fields':PyJs_Object_2586_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'DeclareModuleExports'), PyJs_Object_2585_) + PyJs_Object_2588_ = Js({}) + PyJs_Object_2587_ = Js({u'visitor':Js([Js(u'id'), Js(u'typeParameters'), Js(u'right')]),u'aliases':Js([Js(u'Flow'), Js(u'FlowDeclaration'), Js(u'Statement'), Js(u'Declaration')]),u'fields':PyJs_Object_2588_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'DeclareTypeAlias'), PyJs_Object_2587_) + PyJs_Object_2590_ = Js({}) + PyJs_Object_2589_ = Js({u'visitor':Js([Js(u'id')]),u'aliases':Js([Js(u'Flow'), Js(u'FlowDeclaration'), Js(u'Statement'), Js(u'Declaration')]),u'fields':PyJs_Object_2590_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'DeclareVariable'), PyJs_Object_2589_) + PyJs_Object_2591_ = Js({u'aliases':Js([Js(u'Flow')])}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ExistentialTypeParam'), PyJs_Object_2591_) + PyJs_Object_2593_ = Js({}) + PyJs_Object_2592_ = Js({u'visitor':Js([Js(u'typeParameters'), Js(u'params'), Js(u'rest'), Js(u'returnType')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2593_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'FunctionTypeAnnotation'), PyJs_Object_2592_) + PyJs_Object_2595_ = Js({}) + PyJs_Object_2594_ = Js({u'visitor':Js([Js(u'name'), Js(u'typeAnnotation')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2595_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'FunctionTypeParam'), PyJs_Object_2594_) + PyJs_Object_2597_ = Js({}) + PyJs_Object_2596_ = Js({u'visitor':Js([Js(u'id'), Js(u'typeParameters')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2597_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'GenericTypeAnnotation'), PyJs_Object_2596_) + PyJs_Object_2599_ = Js({}) + PyJs_Object_2598_ = Js({u'visitor':Js([Js(u'id'), Js(u'typeParameters')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2599_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'InterfaceExtends'), PyJs_Object_2598_) + PyJs_Object_2601_ = Js({}) + PyJs_Object_2600_ = Js({u'visitor':Js([Js(u'id'), Js(u'typeParameters'), Js(u'extends'), Js(u'body')]),u'aliases':Js([Js(u'Flow'), Js(u'FlowDeclaration'), Js(u'Statement'), Js(u'Declaration')]),u'fields':PyJs_Object_2601_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'InterfaceDeclaration'), PyJs_Object_2600_) + PyJs_Object_2603_ = Js({}) + PyJs_Object_2602_ = Js({u'visitor':Js([Js(u'types')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2603_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'IntersectionTypeAnnotation'), PyJs_Object_2602_) + PyJs_Object_2604_ = Js({u'aliases':Js([Js(u'Flow'), Js(u'FlowBaseAnnotation')])}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'MixedTypeAnnotation'), PyJs_Object_2604_) + PyJs_Object_2605_ = Js({u'aliases':Js([Js(u'Flow'), Js(u'FlowBaseAnnotation')])}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'EmptyTypeAnnotation'), PyJs_Object_2605_) + PyJs_Object_2607_ = Js({}) + PyJs_Object_2606_ = Js({u'visitor':Js([Js(u'typeAnnotation')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2607_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'NullableTypeAnnotation'), PyJs_Object_2606_) + PyJs_Object_2609_ = Js({}) + PyJs_Object_2608_ = Js({u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2609_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'NumericLiteralTypeAnnotation'), PyJs_Object_2608_) + PyJs_Object_2611_ = Js({}) + PyJs_Object_2610_ = Js({u'aliases':Js([Js(u'Flow'), Js(u'FlowBaseAnnotation')]),u'fields':PyJs_Object_2611_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'NumberTypeAnnotation'), PyJs_Object_2610_) + PyJs_Object_2613_ = Js({}) + PyJs_Object_2612_ = Js({u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2613_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'StringLiteralTypeAnnotation'), PyJs_Object_2612_) + PyJs_Object_2615_ = Js({}) + PyJs_Object_2614_ = Js({u'aliases':Js([Js(u'Flow'), Js(u'FlowBaseAnnotation')]),u'fields':PyJs_Object_2615_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'StringTypeAnnotation'), PyJs_Object_2614_) + PyJs_Object_2617_ = Js({}) + PyJs_Object_2616_ = Js({u'aliases':Js([Js(u'Flow'), Js(u'FlowBaseAnnotation')]),u'fields':PyJs_Object_2617_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ThisTypeAnnotation'), PyJs_Object_2616_) + PyJs_Object_2619_ = Js({}) + PyJs_Object_2618_ = Js({u'visitor':Js([Js(u'types')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2619_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'TupleTypeAnnotation'), PyJs_Object_2618_) + PyJs_Object_2621_ = Js({}) + PyJs_Object_2620_ = Js({u'visitor':Js([Js(u'argument')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2621_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'TypeofTypeAnnotation'), PyJs_Object_2620_) + PyJs_Object_2623_ = Js({}) + PyJs_Object_2622_ = Js({u'visitor':Js([Js(u'id'), Js(u'typeParameters'), Js(u'right')]),u'aliases':Js([Js(u'Flow'), Js(u'FlowDeclaration'), Js(u'Statement'), Js(u'Declaration')]),u'fields':PyJs_Object_2623_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'TypeAlias'), PyJs_Object_2622_) + PyJs_Object_2625_ = Js({}) + PyJs_Object_2624_ = Js({u'visitor':Js([Js(u'typeAnnotation')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2625_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'TypeAnnotation'), PyJs_Object_2624_) + PyJs_Object_2627_ = Js({}) + PyJs_Object_2626_ = Js({u'visitor':Js([Js(u'expression'), Js(u'typeAnnotation')]),u'aliases':Js([Js(u'Flow'), Js(u'ExpressionWrapper'), Js(u'Expression')]),u'fields':PyJs_Object_2627_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'TypeCastExpression'), PyJs_Object_2626_) + PyJs_Object_2629_ = Js({}) + PyJs_Object_2628_ = Js({u'visitor':Js([Js(u'bound')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2629_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'TypeParameter'), PyJs_Object_2628_) + PyJs_Object_2631_ = Js({}) + PyJs_Object_2630_ = Js({u'visitor':Js([Js(u'params')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2631_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'TypeParameterDeclaration'), PyJs_Object_2630_) + PyJs_Object_2633_ = Js({}) + PyJs_Object_2632_ = Js({u'visitor':Js([Js(u'params')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2633_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'TypeParameterInstantiation'), PyJs_Object_2632_) + PyJs_Object_2635_ = Js({}) + PyJs_Object_2634_ = Js({u'visitor':Js([Js(u'properties'), Js(u'indexers'), Js(u'callProperties')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2635_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ObjectTypeAnnotation'), PyJs_Object_2634_) + PyJs_Object_2637_ = Js({}) + PyJs_Object_2636_ = Js({u'visitor':Js([Js(u'value')]),u'aliases':Js([Js(u'Flow'), Js(u'UserWhitespacable')]),u'fields':PyJs_Object_2637_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ObjectTypeCallProperty'), PyJs_Object_2636_) + PyJs_Object_2639_ = Js({}) + PyJs_Object_2638_ = Js({u'visitor':Js([Js(u'id'), Js(u'key'), Js(u'value')]),u'aliases':Js([Js(u'Flow'), Js(u'UserWhitespacable')]),u'fields':PyJs_Object_2639_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ObjectTypeIndexer'), PyJs_Object_2638_) + PyJs_Object_2641_ = Js({}) + PyJs_Object_2640_ = Js({u'visitor':Js([Js(u'key'), Js(u'value')]),u'aliases':Js([Js(u'Flow'), Js(u'UserWhitespacable')]),u'fields':PyJs_Object_2641_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'ObjectTypeProperty'), PyJs_Object_2640_) + PyJs_Object_2643_ = Js({}) + PyJs_Object_2642_ = Js({u'visitor':Js([Js(u'id'), Js(u'qualification')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2643_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'QualifiedTypeIdentifier'), PyJs_Object_2642_) + PyJs_Object_2645_ = Js({}) + PyJs_Object_2644_ = Js({u'visitor':Js([Js(u'types')]),u'aliases':Js([Js(u'Flow')]),u'fields':PyJs_Object_2645_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'UnionTypeAnnotation'), PyJs_Object_2644_) + PyJs_Object_2647_ = Js({}) + PyJs_Object_2646_ = Js({u'aliases':Js([Js(u'Flow'), Js(u'FlowBaseAnnotation')]),u'fields':PyJs_Object_2647_}) + PyJsComma(Js(0.0),var.get(u'_index2').get(u'default'))(Js(u'VoidTypeAnnotation'), PyJs_Object_2646_) +PyJs_anonymous_2560_._set_name(u'anonymous') +PyJs_Object_2648_ = Js({u'./index':Js(253.0)}) +@Js +def PyJs_anonymous_2649_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'chain', u'BUILDER_KEYS', u'defineType', u'assertNodeOrValueType', u'module', u'_interopRequireDefault', u'_getIterator2', u'_getIterator3', u'assertEach', u'_typeof2', u'_typeof3', u'VISITOR_KEYS', u'NODE_FIELDS', u'assertOneOf', u'store', u'DEPRECATED_KEYS', u'exports', u'_stringify2', u'assertNodeType', u'_interopRequireWildcard', u'ALIAS_KEYS', u'getType', u'_index', u'require', u'assertValueType', u'_stringify', u't']) + @Js + def PyJsHoisted_assertNodeType_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'validate', u'_len2', u'types', u'_key2']) + @Js + def PyJsHoisted_validate_(node, key, val, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'val':val, u'key':key, u'arguments':arguments}, var) + var.registers([u'node', u'_isArray', u'_iterator', u'key', u'val', u'valid', u'_i', u'_ref', u'type']) + var.put(u'valid', Js(False)) + #for JS loop + var.put(u'_iterator', var.get(u'types')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'type', var.get(u'_ref')) + if var.get(u't').callprop(u'is', var.get(u'type'), var.get(u'val')): + var.put(u'valid', var.get(u'true')) + break + + if var.get(u'valid').neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create((((((((Js(u'Property ')+var.get(u'key'))+Js(u' of '))+var.get(u'node').get(u'type'))+Js(u' expected node to be of a type '))+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'types')))+Js(u' '))+(Js(u'but instead got ')+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))((var.get(u'val') and var.get(u'val').get(u'type'))))))) + raise PyJsTempException + PyJsHoisted_validate_.func_name = u'validate' + var.put(u'validate', PyJsHoisted_validate_) + #for JS loop + var.put(u'_len2', var.get(u'arguments').get(u'length')) + var.put(u'types', var.get(u'Array')(var.get(u'_len2'))) + var.put(u'_key2', Js(0.0)) + while (var.get(u'_key2')=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'fn', var.get(u'_ref3')) + var.get(u'fn').callprop(u'apply', var.get(u'undefined'), var.get(u'arguments')) + + PyJsHoisted_validate_.func_name = u'validate' + var.put(u'validate', PyJsHoisted_validate_) + #for JS loop + var.put(u'_len4', var.get(u'arguments').get(u'length')) + var.put(u'fns', var.get(u'Array')(var.get(u'_len4'))) + var.put(u'_key4', Js(0.0)) + while (var.get(u'_key4')=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'type', var.get(u'_ref2')) + if (PyJsStrictEq(var.get(u'getType')(var.get(u'val')),var.get(u'type')) or var.get(u't').callprop(u'is', var.get(u'type'), var.get(u'val'))): + var.put(u'valid', var.get(u'true')) + break + + if var.get(u'valid').neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create((((((((Js(u'Property ')+var.get(u'key'))+Js(u' of '))+var.get(u'node').get(u'type'))+Js(u' expected node to be of a type '))+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'types')))+Js(u' '))+(Js(u'but instead got ')+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))((var.get(u'val') and var.get(u'val').get(u'type'))))))) + raise PyJsTempException + PyJsHoisted_validate_.func_name = u'validate' + var.put(u'validate', PyJsHoisted_validate_) + #for JS loop + var.put(u'_len3', var.get(u'arguments').get(u'length')) + var.put(u'types', var.get(u'Array')(var.get(u'_len3'))) + var.put(u'_key3', Js(0.0)) + while (var.get(u'_key3')Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else PyJs_Object_2657_)) + PyJs_Object_2658_ = Js({}) + var.put(u'inherits', ((var.get(u'opts').get(u'inherits') and var.get(u'store').get(var.get(u'opts').get(u'inherits'))) or PyJs_Object_2658_)) + PyJs_Object_2659_ = Js({}) + var.get(u'opts').put(u'fields', ((var.get(u'opts').get(u'fields') or var.get(u'inherits').get(u'fields')) or PyJs_Object_2659_)) + var.get(u'opts').put(u'visitor', ((var.get(u'opts').get(u'visitor') or var.get(u'inherits').get(u'visitor')) or Js([]))) + var.get(u'opts').put(u'aliases', ((var.get(u'opts').get(u'aliases') or var.get(u'inherits').get(u'aliases')) or Js([]))) + var.get(u'opts').put(u'builder', (((var.get(u'opts').get(u'builder') or var.get(u'inherits').get(u'builder')) or var.get(u'opts').get(u'visitor')) or Js([]))) + if var.get(u'opts').get(u'deprecatedAlias'): + var.get(u'DEPRECATED_KEYS').put(var.get(u'opts').get(u'deprecatedAlias'), var.get(u'type')) + #for JS loop + var.put(u'_iterator4', var.get(u'opts').get(u'visitor').callprop(u'concat', var.get(u'opts').get(u'builder'))) + var.put(u'_isArray4', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator4'))) + var.put(u'_i4', Js(0.0)) + var.put(u'_iterator4', (var.get(u'_iterator4') if var.get(u'_isArray4') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator4')))) + while 1: + pass + if var.get(u'_isArray4'): + if (var.get(u'_i4')>=var.get(u'_iterator4').get(u'length')): + break + var.put(u'_ref4', var.get(u'_iterator4').get((var.put(u'_i4',Js(var.get(u'_i4').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i4', var.get(u'_iterator4').callprop(u'next')) + if var.get(u'_i4').get(u'done'): + break + var.put(u'_ref4', var.get(u'_i4').get(u'value')) + var.put(u'_key5', var.get(u'_ref4')) + PyJs_Object_2660_ = Js({}) + var.get(u'opts').get(u'fields').put(var.get(u'_key5'), (var.get(u'opts').get(u'fields').get(var.get(u'_key5')) or PyJs_Object_2660_)) + + for PyJsTemp in var.get(u'opts').get(u'fields'): + var.put(u'key', PyJsTemp) + var.put(u'field', var.get(u'opts').get(u'fields').get(var.get(u'key'))) + if PyJsStrictEq(var.get(u'opts').get(u'builder').callprop(u'indexOf', var.get(u'key')),(-Js(1.0))): + var.get(u'field').put(u'optional', var.get(u'true')) + if PyJsStrictEq(var.get(u'field').get(u'default'),var.get(u'undefined')): + var.get(u'field').put(u'default', var.get(u"null")) + else: + if var.get(u'field').get(u'validate').neg(): + var.get(u'field').put(u'validate', var.get(u'assertValueType')(var.get(u'getType')(var.get(u'field').get(u'default')))) + var.get(u'VISITOR_KEYS').put(var.get(u'type'), var.get(u'opts').get(u'visitor')) + var.get(u'BUILDER_KEYS').put(var.get(u'type'), var.get(u'opts').get(u'builder')) + var.get(u'NODE_FIELDS').put(var.get(u'type'), var.get(u'opts').get(u'fields')) + var.get(u'ALIAS_KEYS').put(var.get(u'type'), var.get(u'opts').get(u'aliases')) + var.get(u'store').put(var.get(u'type'), var.get(u'opts')) + PyJsHoisted_defineType_.func_name = u'defineType' + var.put(u'defineType', PyJsHoisted_defineType_) + @Js + def PyJsHoisted_assertEach_(callback, this, arguments, var=var): + var = Scope({u'this':this, u'callback':callback, u'arguments':arguments}, var) + var.registers([u'callback', u'validator']) + @Js + def PyJsHoisted_validator_(node, key, val, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'val':val, u'key':key, u'arguments':arguments}, var) + var.registers([u'i', u'node', u'val', u'key']) + if var.get(u'Array').callprop(u'isArray', var.get(u'val')).neg(): + return var.get('undefined') + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=Js(0.0)): + continue + if var.get(u't').callprop(u'isAnyTypeAnnotation', var.get(u'node')): + return Js([var.get(u'node')]) + if var.get(u't').callprop(u'isFlowBaseAnnotation', var.get(u'node')): + var.get(u'bases').put(var.get(u'node').get(u'type'), var.get(u'node')) + continue + if var.get(u't').callprop(u'isUnionTypeAnnotation', var.get(u'node')): + if (var.get(u'typeGroups').callprop(u'indexOf', var.get(u'node').get(u'types'))=var.get(u'_iterator5').get(u'length')): + break + var.put(u'_ref5', var.get(u'_iterator5').get((var.put(u'_i5',Js(var.get(u'_i5').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i5', var.get(u'_iterator5').callprop(u'next')) + if var.get(u'_i5').get(u'done'): + break + var.put(u'_ref5', var.get(u'_i5').get(u'value')) + var.put(u'_key2', var.get(u'_ref5')) + if (var.get(u'child').get(var.get(u'_key2'))==var.get(u"null")): + var.get(u'child').put(var.get(u'_key2'), var.get(u'parent').get(var.get(u'_key2'))) + + for PyJsTemp in var.get(u'parent'): + var.put(u'key', PyJsTemp) + if PyJsStrictEq(var.get(u'key').get(u'0'),Js(u'_')): + var.get(u'child').put(var.get(u'key'), var.get(u'parent').get(var.get(u'key'))) + #for JS loop + var.put(u'_iterator6', var.get(u't').get(u'INHERIT_KEYS').get(u'force')) + var.put(u'_isArray6', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator6'))) + var.put(u'_i6', Js(0.0)) + var.put(u'_iterator6', (var.get(u'_iterator6') if var.get(u'_isArray6') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator6')))) + while 1: + pass + if var.get(u'_isArray6'): + if (var.get(u'_i6')>=var.get(u'_iterator6').get(u'length')): + break + var.put(u'_ref6', var.get(u'_iterator6').get((var.put(u'_i6',Js(var.get(u'_i6').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i6', var.get(u'_iterator6').callprop(u'next')) + if var.get(u'_i6').get(u'done'): + break + var.put(u'_ref6', var.get(u'_i6').get(u'value')) + var.put(u'_key3', var.get(u'_ref6')) + var.get(u'child').put(var.get(u'_key3'), var.get(u'parent').get(var.get(u'_key3'))) + + var.get(u't').callprop(u'inheritsComments', var.get(u'child'), var.get(u'parent')) + return var.get(u'child') + PyJsHoisted_inherits_.func_name = u'inherits' + var.put(u'inherits', PyJsHoisted_inherits_) + @Js + def PyJsHoisted_buildMatchMemberExpression_(match, allowPartial, this, arguments, var=var): + var = Scope({u'this':this, u'allowPartial':allowPartial, u'match':match, u'arguments':arguments}, var) + var.registers([u'parts', u'allowPartial', u'match']) + var.put(u'parts', var.get(u'match').callprop(u'split', Js(u'.'))) + @Js + def PyJs_anonymous_2823_(member, this, arguments, var=var): + var = Scope({u'member':member, u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'node', u'search', u'member']) + if var.get(u't').callprop(u'isMemberExpression', var.get(u'member')).neg(): + return Js(False) + var.put(u'search', Js([var.get(u'member')])) + var.put(u'i', Js(0.0)) + while var.get(u'search').get(u'length'): + var.put(u'node', var.get(u'search').callprop(u'shift')) + if (var.get(u'allowPartial') and PyJsStrictEq(var.get(u'i'),var.get(u'parts').get(u'length'))): + return var.get(u'true') + if var.get(u't').callprop(u'isIdentifier', var.get(u'node')): + if PyJsStrictNeq(var.get(u'parts').get(var.get(u'i')),var.get(u'node').get(u'name')): + return Js(False) + else: + if var.get(u't').callprop(u'isStringLiteral', var.get(u'node')): + if PyJsStrictNeq(var.get(u'parts').get(var.get(u'i')),var.get(u'node').get(u'value')): + return Js(False) + else: + if var.get(u't').callprop(u'isMemberExpression', var.get(u'node')): + if (var.get(u'node').get(u'computed') and var.get(u't').callprop(u'isStringLiteral', var.get(u'node').get(u'property')).neg()): + return Js(False) + else: + var.get(u'search').callprop(u'push', var.get(u'node').get(u'object')) + var.get(u'search').callprop(u'push', var.get(u'node').get(u'property')) + continue + else: + return Js(False) + if (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))>var.get(u'parts').get(u'length')): + return Js(False) + return var.get(u'true') + PyJs_anonymous_2823_._set_name(u'anonymous') + return PyJs_anonymous_2823_ + PyJsHoisted_buildMatchMemberExpression_.func_name = u'buildMatchMemberExpression' + var.put(u'buildMatchMemberExpression', PyJsHoisted_buildMatchMemberExpression_) + @Js + def PyJsHoisted_cloneDeep_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'newNode', u'val', u'key']) + PyJs_Object_2822_ = Js({}) + var.put(u'newNode', PyJs_Object_2822_) + for PyJsTemp in var.get(u'node'): + var.put(u'key', PyJsTemp) + if PyJsStrictEq(var.get(u'key').get(u'0'),Js(u'_')): + continue + var.put(u'val', var.get(u'node').get(var.get(u'key'))) + if var.get(u'val'): + if var.get(u'val').get(u'type'): + var.put(u'val', var.get(u't').callprop(u'cloneDeep', var.get(u'val'))) + else: + if var.get(u'Array').callprop(u'isArray', var.get(u'val')): + var.put(u'val', var.get(u'val').callprop(u'map', var.get(u't').get(u'cloneDeep'))) + var.get(u'newNode').put(var.get(u'key'), var.get(u'val')) + return var.get(u'newNode') + PyJsHoisted_cloneDeep_.func_name = u'cloneDeep' + var.put(u'cloneDeep', PyJsHoisted_cloneDeep_) + @Js + def PyJsHoisted_is_(type, node, opts, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'type':type, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'matches', u'node', u'type', u'opts']) + if var.get(u'node').neg(): + return Js(False) + var.put(u'matches', var.get(u'isType')(var.get(u'node').get(u'type'), var.get(u'type'))) + if var.get(u'matches').neg(): + return Js(False) + if PyJsStrictEq(var.get(u'opts',throw=False).typeof(),Js(u'undefined')): + return var.get(u'true') + else: + return var.get(u't').callprop(u'shallowEqual', var.get(u'node'), var.get(u'opts')) + PyJsHoisted_is_.func_name = u'is' + var.put(u'is', PyJsHoisted_is_) + @Js + def PyJsHoisted_inheritTrailingComments_(child, parent, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'parent':parent, u'child':child}, var) + var.registers([u'parent', u'child']) + var.get(u'_inheritComments')(Js(u'trailingComments'), var.get(u'child'), var.get(u'parent')) + PyJsHoisted_inheritTrailingComments_.func_name = u'inheritTrailingComments' + var.put(u'inheritTrailingComments', PyJsHoisted_inheritTrailingComments_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2809_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2809_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_isType_(nodeType, targetType, this, arguments, var=var): + var = Scope({u'this':this, u'targetType':targetType, u'nodeType':nodeType, u'arguments':arguments}, var) + var.registers([u'targetType', u'_isArray', u'_iterator', u'alias', u'_i', u'nodeType', u'_ref', u'aliases']) + if PyJsStrictEq(var.get(u'nodeType'),var.get(u'targetType')): + return var.get(u'true') + if var.get(u't').get(u'ALIAS_KEYS').get(var.get(u'targetType')): + return Js(False) + var.put(u'aliases', var.get(u't').get(u'FLIPPED_ALIAS_KEYS').get(var.get(u'targetType'))) + if var.get(u'aliases'): + if PyJsStrictEq(var.get(u'aliases').get(u'0'),var.get(u'nodeType')): + return var.get(u'true') + #for JS loop + var.put(u'_iterator', var.get(u'aliases')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'alias', var.get(u'_ref')) + if PyJsStrictEq(var.get(u'nodeType'),var.get(u'alias')): + return var.get(u'true') + + return Js(False) + PyJsHoisted_isType_.func_name = u'isType' + var.put(u'isType', PyJsHoisted_isType_) + @Js + def PyJsHoisted_shallowEqual_(actual, expected, this, arguments, var=var): + var = Scope({u'expected':expected, u'this':this, u'actual':actual, u'arguments':arguments}, var) + var.registers([u'_isArray3', u'keys', u'_ref3', u'_i3', u'key', u'expected', u'actual', u'_iterator3']) + var.put(u'keys', PyJsComma(Js(0.0),var.get(u'_keys2').get(u'default'))(var.get(u'expected'))) + #for JS loop + var.put(u'_iterator3', var.get(u'keys')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator3')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'key', var.get(u'_ref3')) + if PyJsStrictNeq(var.get(u'actual').get(var.get(u'key')),var.get(u'expected').get(var.get(u'key'))): + return Js(False) + + return var.get(u'true') + PyJsHoisted_shallowEqual_.func_name = u'shallowEqual' + var.put(u'shallowEqual', PyJsHoisted_shallowEqual_) + @Js + def PyJsHoisted_inheritInnerComments_(child, parent, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'parent':parent, u'child':child}, var) + var.registers([u'parent', u'child']) + var.get(u'_inheritComments')(Js(u'innerComments'), var.get(u'child'), var.get(u'parent')) + PyJsHoisted_inheritInnerComments_.func_name = u'inheritInnerComments' + var.put(u'inheritInnerComments', PyJsHoisted_inheritInnerComments_) + @Js + def PyJsHoisted_ensureBlock_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'key']) + var.put(u'key', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else Js(u'body'))) + return var.get(u'node').put(var.get(u'key'), var.get(u't').callprop(u'toBlock', var.get(u'node').get(var.get(u'key')), var.get(u'node'))) + PyJsHoisted_ensureBlock_.func_name = u'ensureBlock' + var.put(u'ensureBlock', PyJsHoisted_ensureBlock_) + @Js + def PyJsHoisted_assertNode_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u'isNode')(var.get(u'node')).neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create((Js(u'Not a valid node ')+(var.get(u'node') and var.get(u'node').get(u'type'))))) + raise PyJsTempException + PyJsHoisted_assertNode_.func_name = u'assertNode' + var.put(u'assertNode', PyJsHoisted_assertNode_) + @Js + def PyJsHoisted_inheritLeadingComments_(child, parent, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'parent':parent, u'child':child}, var) + var.registers([u'parent', u'child']) + var.get(u'_inheritComments')(Js(u'leadingComments'), var.get(u'child'), var.get(u'parent')) + PyJsHoisted_inheritLeadingComments_.func_name = u'inheritLeadingComments' + var.put(u'inheritLeadingComments', PyJsHoisted_inheritLeadingComments_) + @Js + def PyJsHoisted__inheritComments_(key, child, parent, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'parent':parent, u'key':key, u'child':child}, var) + var.registers([u'parent', u'key', u'child']) + if (var.get(u'child') and var.get(u'parent')): + var.get(u'child').put(var.get(u'key'), PyJsComma(Js(0.0),var.get(u'_uniq2').get(u'default'))(PyJsComma(Js(0.0),var.get(u'_compact2').get(u'default'))(Js([]).callprop(u'concat', var.get(u'child').get(var.get(u'key')), var.get(u'parent').get(var.get(u'key')))))) + PyJsHoisted__inheritComments_.func_name = u'_inheritComments' + var.put(u'_inheritComments', PyJsHoisted__inheritComments_) + @Js + def PyJsHoisted_removeProperties_(node, opts, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'node', u'map', u'_ref9', u'_i9', u'_ref10', u'_isArray9', u'syms', u'_i10', u'_iterator9', u'_key4', u'key', u'_isArray10', u'sym', u'_iterator10', u'opts']) + PyJs_Object_2825_ = Js({}) + var.put(u'opts', (var.get(u'opts') or PyJs_Object_2825_)) + var.put(u'map', (var.get(u'CLEAR_KEYS') if var.get(u'opts').get(u'preserveComments') else var.get(u'CLEAR_KEYS_PLUS_COMMENTS'))) + #for JS loop + var.put(u'_iterator9', var.get(u'map')) + var.put(u'_isArray9', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator9'))) + var.put(u'_i9', Js(0.0)) + var.put(u'_iterator9', (var.get(u'_iterator9') if var.get(u'_isArray9') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator9')))) + while 1: + pass + if var.get(u'_isArray9'): + if (var.get(u'_i9')>=var.get(u'_iterator9').get(u'length')): + break + var.put(u'_ref9', var.get(u'_iterator9').get((var.put(u'_i9',Js(var.get(u'_i9').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i9', var.get(u'_iterator9').callprop(u'next')) + if var.get(u'_i9').get(u'done'): + break + var.put(u'_ref9', var.get(u'_i9').get(u'value')) + var.put(u'_key4', var.get(u'_ref9')) + if (var.get(u'node').get(var.get(u'_key4'))!=var.get(u"null")): + var.get(u'node').put(var.get(u'_key4'), var.get(u'undefined')) + + for PyJsTemp in var.get(u'node'): + var.put(u'key', PyJsTemp) + if (PyJsStrictEq(var.get(u'key').get(u'0'),Js(u'_')) and (var.get(u'node').get(var.get(u'key'))!=var.get(u"null"))): + var.get(u'node').put(var.get(u'key'), var.get(u'undefined')) + var.put(u'syms', PyJsComma(Js(0.0),var.get(u'_getOwnPropertySymbols2').get(u'default'))(var.get(u'node'))) + #for JS loop + var.put(u'_iterator10', var.get(u'syms')) + var.put(u'_isArray10', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator10'))) + var.put(u'_i10', Js(0.0)) + var.put(u'_iterator10', (var.get(u'_iterator10') if var.get(u'_isArray10') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator10')))) + while 1: + pass + if var.get(u'_isArray10'): + if (var.get(u'_i10')>=var.get(u'_iterator10').get(u'length')): + break + var.put(u'_ref10', var.get(u'_iterator10').get((var.put(u'_i10',Js(var.get(u'_i10').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i10', var.get(u'_iterator10').callprop(u'next')) + if var.get(u'_i10').get(u'done'): + break + var.put(u'_ref10', var.get(u'_i10').get(u'value')) + var.put(u'sym', var.get(u'_ref10')) + var.get(u'node').put(var.get(u'sym'), var.get(u"null")) + + PyJsHoisted_removeProperties_.func_name = u'removeProperties' + var.put(u'removeProperties', PyJsHoisted_removeProperties_) + @Js + def PyJsHoisted_isNode_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + return (var.get(u'node') and var.get(u'_definitions').get(u'VISITOR_KEYS').get(var.get(u'node').get(u'type'))).neg().neg() + PyJsHoisted_isNode_.func_name = u'isNode' + var.put(u'isNode', PyJsHoisted_isNode_) + @Js + def PyJsHoisted_inheritsComments_(child, parent, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'parent':parent, u'child':child}, var) + var.registers([u'parent', u'child']) + var.get(u'inheritTrailingComments')(var.get(u'child'), var.get(u'parent')) + var.get(u'inheritLeadingComments')(var.get(u'child'), var.get(u'parent')) + var.get(u'inheritInnerComments')(var.get(u'child'), var.get(u'parent')) + return var.get(u'child') + PyJsHoisted_inheritsComments_.func_name = u'inheritsComments' + var.put(u'inheritsComments', PyJsHoisted_inheritsComments_) + @Js + def PyJsHoisted_removeComments_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'_isArray4', u'_i4', u'key', u'_iterator4', u'_ref4']) + #for JS loop + var.put(u'_iterator4', var.get(u't').get(u'COMMENT_KEYS')) + var.put(u'_isArray4', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator4'))) + var.put(u'_i4', Js(0.0)) + var.put(u'_iterator4', (var.get(u'_iterator4') if var.get(u'_isArray4') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator4')))) + while 1: + pass + if var.get(u'_isArray4'): + if (var.get(u'_i4')>=var.get(u'_iterator4').get(u'length')): + break + var.put(u'_ref4', var.get(u'_iterator4').get((var.put(u'_i4',Js(var.get(u'_i4').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i4', var.get(u'_iterator4').callprop(u'next')) + if var.get(u'_i4').get(u'done'): + break + var.put(u'_ref4', var.get(u'_i4').get(u'value')) + var.put(u'key', var.get(u'_ref4')) + var.get(u'node').delete(var.get(u'key')) + + return var.get(u'node') + PyJsHoisted_removeComments_.func_name = u'removeComments' + var.put(u'removeComments', PyJsHoisted_removeComments_) + @Js + def PyJsHoisted__interopRequireWildcard_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj', u'key', u'newObj']) + if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')): + return var.get(u'obj') + else: + PyJs_Object_2808_ = Js({}) + var.put(u'newObj', PyJs_Object_2808_) + if (var.get(u'obj')!=var.get(u"null")): + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'newObj').put(var.get(u'key'), var.get(u'obj').get(var.get(u'key'))) + var.get(u'newObj').put(u'default', var.get(u'obj')) + return var.get(u'newObj') + PyJsHoisted__interopRequireWildcard_.func_name = u'_interopRequireWildcard' + var.put(u'_interopRequireWildcard', PyJsHoisted__interopRequireWildcard_) + @Js + def PyJsHoisted_removePropertiesDeep_(tree, opts, this, arguments, var=var): + var = Scope({u'this':this, u'tree':tree, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'tree', u'opts']) + var.get(u'traverseFast')(var.get(u'tree'), var.get(u'removeProperties'), var.get(u'opts')) + return var.get(u'tree') + PyJsHoisted_removePropertiesDeep_.func_name = u'removePropertiesDeep' + var.put(u'removePropertiesDeep', PyJsHoisted_removePropertiesDeep_) + @Js + def PyJsHoisted_clone_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'newNode', u'key']) + PyJs_Object_2821_ = Js({}) + var.put(u'newNode', PyJs_Object_2821_) + for PyJsTemp in var.get(u'node'): + var.put(u'key', PyJsTemp) + if PyJsStrictEq(var.get(u'key').get(u'0'),Js(u'_')): + continue + var.get(u'newNode').put(var.get(u'key'), var.get(u'node').get(var.get(u'key'))) + return var.get(u'newNode') + PyJsHoisted_clone_.func_name = u'clone' + var.put(u'clone', PyJsHoisted_clone_) + @Js + def PyJsHoisted_appendToMemberExpression_(member, append, computed, this, arguments, var=var): + var = Scope({u'member':member, u'this':this, u'computed':computed, u'append':append, u'arguments':arguments}, var) + var.registers([u'member', u'computed', u'append']) + var.get(u'member').put(u'object', var.get(u't').callprop(u'memberExpression', var.get(u'member').get(u'object'), var.get(u'member').get(u'property'), var.get(u'member').get(u'computed'))) + var.get(u'member').put(u'property', var.get(u'append')) + var.get(u'member').put(u'computed', var.get(u'computed').neg().neg()) + return var.get(u'member') + PyJsHoisted_appendToMemberExpression_.func_name = u'appendToMemberExpression' + var.put(u'appendToMemberExpression', PyJsHoisted_appendToMemberExpression_) + @Js + def PyJsHoisted_validate_(node, key, val, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'val':val, u'key':key, u'arguments':arguments}, var) + var.registers([u'node', u'fields', u'val', u'key', u'field']) + if var.get(u'node').neg(): + return var.get('undefined') + var.put(u'fields', var.get(u't').get(u'NODE_FIELDS').get(var.get(u'node').get(u'type'))) + if var.get(u'fields').neg(): + return var.get('undefined') + var.put(u'field', var.get(u'fields').get(var.get(u'key'))) + if (var.get(u'field').neg() or var.get(u'field').get(u'validate').neg()): + return var.get('undefined') + if (var.get(u'field').get(u'optional') and (var.get(u'val')==var.get(u"null"))): + return var.get('undefined') + var.get(u'field').callprop(u'validate', var.get(u'node'), var.get(u'key'), var.get(u'val')) + PyJsHoisted_validate_.func_name = u'validate' + var.put(u'validate', PyJsHoisted_validate_) + @Js + def PyJsHoisted_traverseFast_(node, enter, opts, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'opts':opts, u'enter':enter}, var) + var.registers([u'_isArray7', u'node', u'_ref7', u'_i8', u'keys', u'_ref8', u'_isArray8', u'_i7', u'_node', u'_iterator8', u'key', u'enter', u'_iterator7', u'subNode', u'opts']) + if var.get(u'node').neg(): + return var.get('undefined') + var.put(u'keys', var.get(u't').get(u'VISITOR_KEYS').get(var.get(u'node').get(u'type'))) + if var.get(u'keys').neg(): + return var.get('undefined') + PyJs_Object_2824_ = Js({}) + var.put(u'opts', (var.get(u'opts') or PyJs_Object_2824_)) + var.get(u'enter')(var.get(u'node'), var.get(u'opts')) + #for JS loop + var.put(u'_iterator7', var.get(u'keys')) + var.put(u'_isArray7', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator7'))) + var.put(u'_i7', Js(0.0)) + var.put(u'_iterator7', (var.get(u'_iterator7') if var.get(u'_isArray7') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator7')))) + while 1: + pass + if var.get(u'_isArray7'): + if (var.get(u'_i7')>=var.get(u'_iterator7').get(u'length')): + break + var.put(u'_ref7', var.get(u'_iterator7').get((var.put(u'_i7',Js(var.get(u'_i7').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i7', var.get(u'_iterator7').callprop(u'next')) + if var.get(u'_i7').get(u'done'): + break + var.put(u'_ref7', var.get(u'_i7').get(u'value')) + var.put(u'key', var.get(u'_ref7')) + var.put(u'subNode', var.get(u'node').get(var.get(u'key'))) + if var.get(u'Array').callprop(u'isArray', var.get(u'subNode')): + #for JS loop + var.put(u'_iterator8', var.get(u'subNode')) + var.put(u'_isArray8', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator8'))) + var.put(u'_i8', Js(0.0)) + var.put(u'_iterator8', (var.get(u'_iterator8') if var.get(u'_isArray8') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator8')))) + while 1: + pass + if var.get(u'_isArray8'): + if (var.get(u'_i8')>=var.get(u'_iterator8').get(u'length')): + break + var.put(u'_ref8', var.get(u'_iterator8').get((var.put(u'_i8',Js(var.get(u'_i8').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i8', var.get(u'_iterator8').callprop(u'next')) + if var.get(u'_i8').get(u'done'): + break + var.put(u'_ref8', var.get(u'_i8').get(u'value')) + var.put(u'_node', var.get(u'_ref8')) + var.get(u'traverseFast')(var.get(u'_node'), var.get(u'enter'), var.get(u'opts')) + + else: + var.get(u'traverseFast')(var.get(u'subNode'), var.get(u'enter'), var.get(u'opts')) + + PyJsHoisted_traverseFast_.func_name = u'traverseFast' + var.put(u'traverseFast', PyJsHoisted_traverseFast_) + @Js + def PyJsHoisted_prependToMemberExpression_(member, prepend, this, arguments, var=var): + var = Scope({u'member':member, u'this':this, u'arguments':arguments, u'prepend':prepend}, var) + var.registers([u'member', u'prepend']) + var.get(u'member').put(u'object', var.get(u't').callprop(u'memberExpression', var.get(u'prepend'), var.get(u'member').get(u'object'))) + return var.get(u'member') + PyJsHoisted_prependToMemberExpression_.func_name = u'prependToMemberExpression' + var.put(u'prependToMemberExpression', PyJsHoisted_prependToMemberExpression_) + @Js + def PyJsHoisted_registerType_(type, this, arguments, var=var): + var = Scope({u'this':this, u'type':type, u'arguments':arguments}, var) + var.registers([u'is', u'type']) + var.put(u'is', var.get(u't').get((Js(u'is')+var.get(u'type')))) + if var.get(u'is').neg(): + @Js + def PyJs_anonymous_2810_(node, opts, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'node', u'opts']) + return var.get(u't').callprop(u'is', var.get(u'type'), var.get(u'node'), var.get(u'opts')) + PyJs_anonymous_2810_._set_name(u'anonymous') + var.put(u'is', var.get(u't').put((Js(u'is')+var.get(u'type')), PyJs_anonymous_2810_)) + @Js + def PyJs_anonymous_2811_(node, opts, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'node', u'opts']) + PyJs_Object_2812_ = Js({}) + var.put(u'opts', (var.get(u'opts') or PyJs_Object_2812_)) + if var.get(u'is')(var.get(u'node'), var.get(u'opts')).neg(): + PyJsTempException = JsToPyException(var.get(u'Error').create((((Js(u'Expected type ')+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'type')))+Js(u' with option '))+PyJsComma(Js(0.0),var.get(u'_stringify2').get(u'default'))(var.get(u'opts'))))) + raise PyJsTempException + PyJs_anonymous_2811_._set_name(u'anonymous') + var.get(u't').put((Js(u'assert')+var.get(u'type')), PyJs_anonymous_2811_) + PyJsHoisted_registerType_.func_name = u'registerType' + var.put(u'registerType', PyJsHoisted_registerType_) + @Js + def PyJsHoisted_cloneWithoutLoc_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'newNode']) + var.put(u'newNode', var.get(u'clone')(var.get(u'node'))) + var.get(u'newNode').delete(u'loc') + return var.get(u'newNode') + PyJsHoisted_cloneWithoutLoc_.func_name = u'cloneWithoutLoc' + var.put(u'cloneWithoutLoc', PyJsHoisted_cloneWithoutLoc_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + def PyJs_LONG_2723_(var=var): + def PyJs_LONG_2722_(var=var): + def PyJs_LONG_2721_(var=var): + def PyJs_LONG_2720_(var=var): + def PyJs_LONG_2719_(var=var): + return var.get(u'exports').put(u'EQUALITY_BINARY_OPERATORS', var.get(u'exports').put(u'BOOLEAN_NUMBER_BINARY_OPERATORS', var.get(u'exports').put(u'UPDATE_OPERATORS', var.get(u'exports').put(u'LOGICAL_OPERATORS', var.get(u'exports').put(u'COMMENT_KEYS', var.get(u'exports').put(u'FOR_INIT_KEYS', var.get(u'exports').put(u'FLATTENABLE_KEYS', var.get(u'exports').put(u'STATEMENT_OR_BLOCK_KEYS', var.get(u'undefined'))))))))) + return var.get(u'exports').put(u'UNARY_OPERATORS', var.get(u'exports').put(u'STRING_UNARY_OPERATORS', var.get(u'exports').put(u'NUMBER_UNARY_OPERATORS', var.get(u'exports').put(u'BOOLEAN_UNARY_OPERATORS', var.get(u'exports').put(u'BINARY_OPERATORS', var.get(u'exports').put(u'NUMBER_BINARY_OPERATORS', var.get(u'exports').put(u'BOOLEAN_BINARY_OPERATORS', var.get(u'exports').put(u'COMPARISON_BINARY_OPERATORS', PyJs_LONG_2719_())))))))) + return var.get(u'exports').put(u'TYPES', var.get(u'exports').put(u'react', var.get(u'exports').put(u'DEPRECATED_KEYS', var.get(u'exports').put(u'BUILDER_KEYS', var.get(u'exports').put(u'NODE_FIELDS', var.get(u'exports').put(u'ALIAS_KEYS', var.get(u'exports').put(u'VISITOR_KEYS', var.get(u'exports').put(u'NOT_LOCAL_BINDING', var.get(u'exports').put(u'BLOCK_SCOPED_SYMBOL', var.get(u'exports').put(u'INHERIT_KEYS', PyJs_LONG_2720_())))))))))) + return var.get(u'exports').put(u'isSpecifierDefault', var.get(u'exports').put(u'isVar', var.get(u'exports').put(u'isBlockScoped', var.get(u'exports').put(u'isLet', var.get(u'exports').put(u'isValidIdentifier', var.get(u'exports').put(u'isReferenced', var.get(u'exports').put(u'isBinding', var.get(u'exports').put(u'getOuterBindingIdentifiers', var.get(u'exports').put(u'getBindingIdentifiers', PyJs_LONG_2721_()))))))))) + return var.get(u'exports').put(u'toExpression', var.get(u'exports').put(u'toStatement', var.get(u'exports').put(u'toBindingIdentifierName', var.get(u'exports').put(u'toIdentifier', var.get(u'exports').put(u'toKeyAlias', var.get(u'exports').put(u'toSequenceExpression', var.get(u'exports').put(u'toComputedKey', var.get(u'exports').put(u'isImmutable', var.get(u'exports').put(u'isScope', PyJs_LONG_2722_()))))))))) + var.get(u'exports').put(u'createTypeAnnotationBasedOnTypeof', var.get(u'exports').put(u'removeTypeDuplicates', var.get(u'exports').put(u'createUnionTypeAnnotation', var.get(u'exports').put(u'valueToNode', var.get(u'exports').put(u'toBlock', PyJs_LONG_2723_()))))) + var.put(u'_getOwnPropertySymbols', var.get(u'require')(Js(u'babel-runtime/core-js/object/get-own-property-symbols'))) + var.put(u'_getOwnPropertySymbols2', var.get(u'_interopRequireDefault')(var.get(u'_getOwnPropertySymbols'))) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.put(u'_keys', var.get(u'require')(Js(u'babel-runtime/core-js/object/keys'))) + var.put(u'_keys2', var.get(u'_interopRequireDefault')(var.get(u'_keys'))) + var.put(u'_stringify', var.get(u'require')(Js(u'babel-runtime/core-js/json/stringify'))) + var.put(u'_stringify2', var.get(u'_interopRequireDefault')(var.get(u'_stringify'))) + var.put(u'_constants', var.get(u'require')(Js(u'./constants'))) + @Js + def PyJs_get_2725_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2725_}, var) + var.registers([]) + return var.get(u'_constants').get(u'STATEMENT_OR_BLOCK_KEYS') + PyJs_get_2725_._set_name(u'get') + PyJs_Object_2724_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2725_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'STATEMENT_OR_BLOCK_KEYS'), PyJs_Object_2724_) + @Js + def PyJs_get_2727_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2727_}, var) + var.registers([]) + return var.get(u'_constants').get(u'FLATTENABLE_KEYS') + PyJs_get_2727_._set_name(u'get') + PyJs_Object_2726_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2727_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'FLATTENABLE_KEYS'), PyJs_Object_2726_) + @Js + def PyJs_get_2729_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2729_}, var) + var.registers([]) + return var.get(u'_constants').get(u'FOR_INIT_KEYS') + PyJs_get_2729_._set_name(u'get') + PyJs_Object_2728_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2729_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'FOR_INIT_KEYS'), PyJs_Object_2728_) + @Js + def PyJs_get_2731_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2731_}, var) + var.registers([]) + return var.get(u'_constants').get(u'COMMENT_KEYS') + PyJs_get_2731_._set_name(u'get') + PyJs_Object_2730_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2731_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'COMMENT_KEYS'), PyJs_Object_2730_) + @Js + def PyJs_get_2733_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2733_}, var) + var.registers([]) + return var.get(u'_constants').get(u'LOGICAL_OPERATORS') + PyJs_get_2733_._set_name(u'get') + PyJs_Object_2732_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2733_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'LOGICAL_OPERATORS'), PyJs_Object_2732_) + @Js + def PyJs_get_2735_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2735_}, var) + var.registers([]) + return var.get(u'_constants').get(u'UPDATE_OPERATORS') + PyJs_get_2735_._set_name(u'get') + PyJs_Object_2734_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2735_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'UPDATE_OPERATORS'), PyJs_Object_2734_) + @Js + def PyJs_get_2737_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2737_}, var) + var.registers([]) + return var.get(u'_constants').get(u'BOOLEAN_NUMBER_BINARY_OPERATORS') + PyJs_get_2737_._set_name(u'get') + PyJs_Object_2736_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2737_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'BOOLEAN_NUMBER_BINARY_OPERATORS'), PyJs_Object_2736_) + @Js + def PyJs_get_2739_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2739_}, var) + var.registers([]) + return var.get(u'_constants').get(u'EQUALITY_BINARY_OPERATORS') + PyJs_get_2739_._set_name(u'get') + PyJs_Object_2738_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2739_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'EQUALITY_BINARY_OPERATORS'), PyJs_Object_2738_) + @Js + def PyJs_get_2741_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2741_}, var) + var.registers([]) + return var.get(u'_constants').get(u'COMPARISON_BINARY_OPERATORS') + PyJs_get_2741_._set_name(u'get') + PyJs_Object_2740_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2741_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'COMPARISON_BINARY_OPERATORS'), PyJs_Object_2740_) + @Js + def PyJs_get_2743_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2743_}, var) + var.registers([]) + return var.get(u'_constants').get(u'BOOLEAN_BINARY_OPERATORS') + PyJs_get_2743_._set_name(u'get') + PyJs_Object_2742_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2743_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'BOOLEAN_BINARY_OPERATORS'), PyJs_Object_2742_) + @Js + def PyJs_get_2745_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2745_}, var) + var.registers([]) + return var.get(u'_constants').get(u'NUMBER_BINARY_OPERATORS') + PyJs_get_2745_._set_name(u'get') + PyJs_Object_2744_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2745_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'NUMBER_BINARY_OPERATORS'), PyJs_Object_2744_) + @Js + def PyJs_get_2747_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2747_}, var) + var.registers([]) + return var.get(u'_constants').get(u'BINARY_OPERATORS') + PyJs_get_2747_._set_name(u'get') + PyJs_Object_2746_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2747_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'BINARY_OPERATORS'), PyJs_Object_2746_) + @Js + def PyJs_get_2749_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2749_}, var) + var.registers([]) + return var.get(u'_constants').get(u'BOOLEAN_UNARY_OPERATORS') + PyJs_get_2749_._set_name(u'get') + PyJs_Object_2748_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2749_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'BOOLEAN_UNARY_OPERATORS'), PyJs_Object_2748_) + @Js + def PyJs_get_2751_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2751_}, var) + var.registers([]) + return var.get(u'_constants').get(u'NUMBER_UNARY_OPERATORS') + PyJs_get_2751_._set_name(u'get') + PyJs_Object_2750_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2751_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'NUMBER_UNARY_OPERATORS'), PyJs_Object_2750_) + @Js + def PyJs_get_2753_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2753_}, var) + var.registers([]) + return var.get(u'_constants').get(u'STRING_UNARY_OPERATORS') + PyJs_get_2753_._set_name(u'get') + PyJs_Object_2752_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2753_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'STRING_UNARY_OPERATORS'), PyJs_Object_2752_) + @Js + def PyJs_get_2755_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2755_}, var) + var.registers([]) + return var.get(u'_constants').get(u'UNARY_OPERATORS') + PyJs_get_2755_._set_name(u'get') + PyJs_Object_2754_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2755_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'UNARY_OPERATORS'), PyJs_Object_2754_) + @Js + def PyJs_get_2757_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2757_}, var) + var.registers([]) + return var.get(u'_constants').get(u'INHERIT_KEYS') + PyJs_get_2757_._set_name(u'get') + PyJs_Object_2756_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2757_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'INHERIT_KEYS'), PyJs_Object_2756_) + @Js + def PyJs_get_2759_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2759_}, var) + var.registers([]) + return var.get(u'_constants').get(u'BLOCK_SCOPED_SYMBOL') + PyJs_get_2759_._set_name(u'get') + PyJs_Object_2758_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2759_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'BLOCK_SCOPED_SYMBOL'), PyJs_Object_2758_) + @Js + def PyJs_get_2761_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2761_}, var) + var.registers([]) + return var.get(u'_constants').get(u'NOT_LOCAL_BINDING') + PyJs_get_2761_._set_name(u'get') + PyJs_Object_2760_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2761_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'NOT_LOCAL_BINDING'), PyJs_Object_2760_) + var.get(u'exports').put(u'is', var.get(u'is')) + var.get(u'exports').put(u'isType', var.get(u'isType')) + var.get(u'exports').put(u'validate', var.get(u'validate')) + var.get(u'exports').put(u'shallowEqual', var.get(u'shallowEqual')) + var.get(u'exports').put(u'appendToMemberExpression', var.get(u'appendToMemberExpression')) + var.get(u'exports').put(u'prependToMemberExpression', var.get(u'prependToMemberExpression')) + var.get(u'exports').put(u'ensureBlock', var.get(u'ensureBlock')) + var.get(u'exports').put(u'clone', var.get(u'clone')) + var.get(u'exports').put(u'cloneWithoutLoc', var.get(u'cloneWithoutLoc')) + var.get(u'exports').put(u'cloneDeep', var.get(u'cloneDeep')) + var.get(u'exports').put(u'buildMatchMemberExpression', var.get(u'buildMatchMemberExpression')) + var.get(u'exports').put(u'removeComments', var.get(u'removeComments')) + var.get(u'exports').put(u'inheritsComments', var.get(u'inheritsComments')) + var.get(u'exports').put(u'inheritTrailingComments', var.get(u'inheritTrailingComments')) + var.get(u'exports').put(u'inheritLeadingComments', var.get(u'inheritLeadingComments')) + var.get(u'exports').put(u'inheritInnerComments', var.get(u'inheritInnerComments')) + var.get(u'exports').put(u'inherits', var.get(u'inherits')) + var.get(u'exports').put(u'assertNode', var.get(u'assertNode')) + var.get(u'exports').put(u'isNode', var.get(u'isNode')) + var.get(u'exports').put(u'traverseFast', var.get(u'traverseFast')) + var.get(u'exports').put(u'removeProperties', var.get(u'removeProperties')) + var.get(u'exports').put(u'removePropertiesDeep', var.get(u'removePropertiesDeep')) + var.put(u'_retrievers', var.get(u'require')(Js(u'./retrievers'))) + @Js + def PyJs_get_2763_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2763_}, var) + var.registers([]) + return var.get(u'_retrievers').get(u'getBindingIdentifiers') + PyJs_get_2763_._set_name(u'get') + PyJs_Object_2762_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2763_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'getBindingIdentifiers'), PyJs_Object_2762_) + @Js + def PyJs_get_2765_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2765_}, var) + var.registers([]) + return var.get(u'_retrievers').get(u'getOuterBindingIdentifiers') + PyJs_get_2765_._set_name(u'get') + PyJs_Object_2764_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2765_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'getOuterBindingIdentifiers'), PyJs_Object_2764_) + var.put(u'_validators', var.get(u'require')(Js(u'./validators'))) + @Js + def PyJs_get_2767_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2767_}, var) + var.registers([]) + return var.get(u'_validators').get(u'isBinding') + PyJs_get_2767_._set_name(u'get') + PyJs_Object_2766_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2767_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'isBinding'), PyJs_Object_2766_) + @Js + def PyJs_get_2769_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2769_}, var) + var.registers([]) + return var.get(u'_validators').get(u'isReferenced') + PyJs_get_2769_._set_name(u'get') + PyJs_Object_2768_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2769_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'isReferenced'), PyJs_Object_2768_) + @Js + def PyJs_get_2771_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2771_}, var) + var.registers([]) + return var.get(u'_validators').get(u'isValidIdentifier') + PyJs_get_2771_._set_name(u'get') + PyJs_Object_2770_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2771_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'isValidIdentifier'), PyJs_Object_2770_) + @Js + def PyJs_get_2773_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2773_}, var) + var.registers([]) + return var.get(u'_validators').get(u'isLet') + PyJs_get_2773_._set_name(u'get') + PyJs_Object_2772_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2773_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'isLet'), PyJs_Object_2772_) + @Js + def PyJs_get_2775_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2775_}, var) + var.registers([]) + return var.get(u'_validators').get(u'isBlockScoped') + PyJs_get_2775_._set_name(u'get') + PyJs_Object_2774_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2775_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'isBlockScoped'), PyJs_Object_2774_) + @Js + def PyJs_get_2777_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2777_}, var) + var.registers([]) + return var.get(u'_validators').get(u'isVar') + PyJs_get_2777_._set_name(u'get') + PyJs_Object_2776_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2777_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'isVar'), PyJs_Object_2776_) + @Js + def PyJs_get_2779_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2779_}, var) + var.registers([]) + return var.get(u'_validators').get(u'isSpecifierDefault') + PyJs_get_2779_._set_name(u'get') + PyJs_Object_2778_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2779_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'isSpecifierDefault'), PyJs_Object_2778_) + @Js + def PyJs_get_2781_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2781_}, var) + var.registers([]) + return var.get(u'_validators').get(u'isScope') + PyJs_get_2781_._set_name(u'get') + PyJs_Object_2780_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2781_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'isScope'), PyJs_Object_2780_) + @Js + def PyJs_get_2783_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2783_}, var) + var.registers([]) + return var.get(u'_validators').get(u'isImmutable') + PyJs_get_2783_._set_name(u'get') + PyJs_Object_2782_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2783_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'isImmutable'), PyJs_Object_2782_) + var.put(u'_converters', var.get(u'require')(Js(u'./converters'))) + @Js + def PyJs_get_2785_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2785_}, var) + var.registers([]) + return var.get(u'_converters').get(u'toComputedKey') + PyJs_get_2785_._set_name(u'get') + PyJs_Object_2784_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2785_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'toComputedKey'), PyJs_Object_2784_) + @Js + def PyJs_get_2787_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2787_}, var) + var.registers([]) + return var.get(u'_converters').get(u'toSequenceExpression') + PyJs_get_2787_._set_name(u'get') + PyJs_Object_2786_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2787_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'toSequenceExpression'), PyJs_Object_2786_) + @Js + def PyJs_get_2789_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2789_}, var) + var.registers([]) + return var.get(u'_converters').get(u'toKeyAlias') + PyJs_get_2789_._set_name(u'get') + PyJs_Object_2788_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2789_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'toKeyAlias'), PyJs_Object_2788_) + @Js + def PyJs_get_2791_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2791_}, var) + var.registers([]) + return var.get(u'_converters').get(u'toIdentifier') + PyJs_get_2791_._set_name(u'get') + PyJs_Object_2790_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2791_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'toIdentifier'), PyJs_Object_2790_) + @Js + def PyJs_get_2793_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2793_}, var) + var.registers([]) + return var.get(u'_converters').get(u'toBindingIdentifierName') + PyJs_get_2793_._set_name(u'get') + PyJs_Object_2792_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2793_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'toBindingIdentifierName'), PyJs_Object_2792_) + @Js + def PyJs_get_2795_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2795_}, var) + var.registers([]) + return var.get(u'_converters').get(u'toStatement') + PyJs_get_2795_._set_name(u'get') + PyJs_Object_2794_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2795_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'toStatement'), PyJs_Object_2794_) + @Js + def PyJs_get_2797_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2797_}, var) + var.registers([]) + return var.get(u'_converters').get(u'toExpression') + PyJs_get_2797_._set_name(u'get') + PyJs_Object_2796_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2797_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'toExpression'), PyJs_Object_2796_) + @Js + def PyJs_get_2799_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2799_}, var) + var.registers([]) + return var.get(u'_converters').get(u'toBlock') + PyJs_get_2799_._set_name(u'get') + PyJs_Object_2798_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2799_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'toBlock'), PyJs_Object_2798_) + @Js + def PyJs_get_2801_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2801_}, var) + var.registers([]) + return var.get(u'_converters').get(u'valueToNode') + PyJs_get_2801_._set_name(u'get') + PyJs_Object_2800_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2801_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'valueToNode'), PyJs_Object_2800_) + var.put(u'_flow', var.get(u'require')(Js(u'./flow'))) + @Js + def PyJs_get_2803_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2803_}, var) + var.registers([]) + return var.get(u'_flow').get(u'createUnionTypeAnnotation') + PyJs_get_2803_._set_name(u'get') + PyJs_Object_2802_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2803_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'createUnionTypeAnnotation'), PyJs_Object_2802_) + @Js + def PyJs_get_2805_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2805_}, var) + var.registers([]) + return var.get(u'_flow').get(u'removeTypeDuplicates') + PyJs_get_2805_._set_name(u'get') + PyJs_Object_2804_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2805_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'removeTypeDuplicates'), PyJs_Object_2804_) + @Js + def PyJs_get_2807_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_2807_}, var) + var.registers([]) + return var.get(u'_flow').get(u'createTypeAnnotationBasedOnTypeof') + PyJs_get_2807_._set_name(u'get') + PyJs_Object_2806_ = Js({u'enumerable':var.get(u'true'),u'get':PyJs_get_2807_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'createTypeAnnotationBasedOnTypeof'), PyJs_Object_2806_) + var.put(u'_toFastProperties', var.get(u'require')(Js(u'to-fast-properties'))) + var.put(u'_toFastProperties2', var.get(u'_interopRequireDefault')(var.get(u'_toFastProperties'))) + var.put(u'_compact', var.get(u'require')(Js(u'lodash/compact'))) + var.put(u'_compact2', var.get(u'_interopRequireDefault')(var.get(u'_compact'))) + var.put(u'_clone', var.get(u'require')(Js(u'lodash/clone'))) + var.put(u'_clone2', var.get(u'_interopRequireDefault')(var.get(u'_clone'))) + var.put(u'_each', var.get(u'require')(Js(u'lodash/each'))) + var.put(u'_each2', var.get(u'_interopRequireDefault')(var.get(u'_each'))) + var.put(u'_uniq', var.get(u'require')(Js(u'lodash/uniq'))) + var.put(u'_uniq2', var.get(u'_interopRequireDefault')(var.get(u'_uniq'))) + var.get(u'require')(Js(u'./definitions/init')) + var.put(u'_definitions', var.get(u'require')(Js(u'./definitions'))) + var.put(u'_react2', var.get(u'require')(Js(u'./react'))) + var.put(u'_react', var.get(u'_interopRequireWildcard')(var.get(u'_react2'))) + pass + pass + var.put(u't', var.get(u'exports')) + pass + var.get(u'exports').put(u'VISITOR_KEYS', var.get(u'_definitions').get(u'VISITOR_KEYS')) + var.get(u'exports').put(u'ALIAS_KEYS', var.get(u'_definitions').get(u'ALIAS_KEYS')) + var.get(u'exports').put(u'NODE_FIELDS', var.get(u'_definitions').get(u'NODE_FIELDS')) + var.get(u'exports').put(u'BUILDER_KEYS', var.get(u'_definitions').get(u'BUILDER_KEYS')) + var.get(u'exports').put(u'DEPRECATED_KEYS', var.get(u'_definitions').get(u'DEPRECATED_KEYS')) + var.get(u'exports').put(u'react', var.get(u'_react')) + for PyJsTemp in var.get(u't').get(u'VISITOR_KEYS'): + var.put(u'type', PyJsTemp) + var.get(u'registerType')(var.get(u'type')) + PyJs_Object_2813_ = Js({}) + var.get(u't').put(u'FLIPPED_ALIAS_KEYS', PyJs_Object_2813_) + @Js + def PyJs_anonymous_2814_(aliases, type, this, arguments, var=var): + var = Scope({u'this':this, u'type':type, u'arguments':arguments, u'aliases':aliases}, var) + var.registers([u'type', u'aliases']) + @Js + def PyJs_anonymous_2815_(alias, this, arguments, var=var): + var = Scope({u'this':this, u'alias':alias, u'arguments':arguments}, var) + var.registers([u'alias', u'types']) + var.put(u'types', var.get(u't').get(u'FLIPPED_ALIAS_KEYS').put(var.get(u'alias'), (var.get(u't').get(u'FLIPPED_ALIAS_KEYS').get(var.get(u'alias')) or Js([])))) + var.get(u'types').callprop(u'push', var.get(u'type')) + PyJs_anonymous_2815_._set_name(u'anonymous') + PyJsComma(Js(0.0),var.get(u'_each2').get(u'default'))(var.get(u'aliases'), PyJs_anonymous_2815_) + PyJs_anonymous_2814_._set_name(u'anonymous') + PyJsComma(Js(0.0),var.get(u'_each2').get(u'default'))(var.get(u't').get(u'ALIAS_KEYS'), PyJs_anonymous_2814_) + @Js + def PyJs_anonymous_2816_(types, type, this, arguments, var=var): + var = Scope({u'this':this, u'type':type, u'arguments':arguments, u'types':types}, var) + var.registers([u'type', u'types']) + var.get(u't').put((var.get(u'type').callprop(u'toUpperCase')+Js(u'_TYPES')), var.get(u'types')) + var.get(u'registerType')(var.get(u'type')) + PyJs_anonymous_2816_._set_name(u'anonymous') + PyJsComma(Js(0.0),var.get(u'_each2').get(u'default'))(var.get(u't').get(u'FLIPPED_ALIAS_KEYS'), PyJs_anonymous_2816_) + var.put(u'TYPES', var.get(u'exports').put(u'TYPES', PyJsComma(Js(0.0),var.get(u'_keys2').get(u'default'))(var.get(u't').get(u'VISITOR_KEYS')).callprop(u'concat', PyJsComma(Js(0.0),var.get(u'_keys2').get(u'default'))(var.get(u't').get(u'FLIPPED_ALIAS_KEYS'))).callprop(u'concat', PyJsComma(Js(0.0),var.get(u'_keys2').get(u'default'))(var.get(u't').get(u'DEPRECATED_KEYS'))))) + pass + pass + @Js + def PyJs_anonymous_2817_(keys, type, this, arguments, var=var): + var = Scope({u'keys':keys, u'this':this, u'type':type, u'arguments':arguments}, var) + var.registers([u'keys', u'builder', u'type']) + @Js + def PyJsHoisted_builder_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'_isArray2', u'field', u'i', u'_ref2', u'_i2', u'_key', u'key', u'arg', u'_iterator2']) + if (var.get(u'arguments').get(u'length')>var.get(u'keys').get(u'length')): + PyJsTempException = JsToPyException(var.get(u'Error').create((((((Js(u't.')+var.get(u'type'))+Js(u': Too many arguments passed. Received '))+var.get(u'arguments').get(u'length'))+Js(u' but can receive '))+(Js(u'no more than ')+var.get(u'keys').get(u'length'))))) + raise PyJsTempException + PyJs_Object_2818_ = Js({}) + var.put(u'node', PyJs_Object_2818_) + var.get(u'node').put(u'type', var.get(u'type')) + var.put(u'i', Js(0.0)) + #for JS loop + var.put(u'_iterator2', var.get(u'keys')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator2')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'_key', var.get(u'_ref2')) + var.put(u'field', var.get(u't').get(u'NODE_FIELDS').get(var.get(u'type')).get(var.get(u'_key'))) + var.put(u'arg', var.get(u'arguments').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)))) + if PyJsStrictEq(var.get(u'arg'),var.get(u'undefined')): + var.put(u'arg', PyJsComma(Js(0.0),var.get(u'_clone2').get(u'default'))(var.get(u'field').get(u'default'))) + var.get(u'node').put(var.get(u'_key'), var.get(u'arg')) + + for PyJsTemp in var.get(u'node'): + var.put(u'key', PyJsTemp) + var.get(u'validate')(var.get(u'node'), var.get(u'key'), var.get(u'node').get(var.get(u'key'))) + return var.get(u'node') + PyJsHoisted_builder_.func_name = u'builder' + var.put(u'builder', PyJsHoisted_builder_) + pass + var.get(u't').put(var.get(u'type'), var.get(u'builder')) + var.get(u't').put((var.get(u'type').get(u'0').callprop(u'toLowerCase')+var.get(u'type').callprop(u'slice', Js(1.0))), var.get(u'builder')) + PyJs_anonymous_2817_._set_name(u'anonymous') + PyJsComma(Js(0.0),var.get(u'_each2').get(u'default'))(var.get(u't').get(u'BUILDER_KEYS'), PyJs_anonymous_2817_) + @Js + def PyJs__loop_2819_(_type, this, arguments, var=var): + var = Scope({u'this':this, u'_type':_type, u'_loop':PyJs__loop_2819_, u'arguments':arguments}, var) + var.registers([u'_type', u'newType', u'proxy']) + @Js + def PyJsHoisted_proxy_(fn, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'fn':fn}, var) + var.registers([u'fn']) + @Js + def PyJs_anonymous_2820_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'console').callprop(u'trace', (((Js(u'The node type ')+var.get(u'_type'))+Js(u' has been renamed to '))+var.get(u'newType'))) + return var.get(u'fn').callprop(u'apply', var.get(u"this"), var.get(u'arguments')) + PyJs_anonymous_2820_._set_name(u'anonymous') + return PyJs_anonymous_2820_ + PyJsHoisted_proxy_.func_name = u'proxy' + var.put(u'proxy', PyJsHoisted_proxy_) + var.put(u'newType', var.get(u't').get(u'DEPRECATED_KEYS').get(var.get(u'_type'))) + pass + var.get(u't').put(var.get(u'_type'), var.get(u't').put((var.get(u'_type').get(u'0').callprop(u'toLowerCase')+var.get(u'_type').callprop(u'slice', Js(1.0))), var.get(u'proxy')(var.get(u't').get(var.get(u'newType'))))) + var.get(u't').put((Js(u'is')+var.get(u'_type')), var.get(u'proxy')(var.get(u't').get((Js(u'is')+var.get(u'newType'))))) + var.get(u't').put((Js(u'assert')+var.get(u'_type')), var.get(u'proxy')(var.get(u't').get((Js(u'assert')+var.get(u'newType'))))) + PyJs__loop_2819_._set_name(u'_loop') + var.put(u'_loop', PyJs__loop_2819_) + for PyJsTemp in var.get(u't').get(u'DEPRECATED_KEYS'): + var.put(u'_type', PyJsTemp) + var.get(u'_loop')(var.get(u'_type')) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + PyJsComma(Js(0.0),var.get(u'_toFastProperties2').get(u'default'))(var.get(u't')) + PyJsComma(Js(0.0),var.get(u'_toFastProperties2').get(u'default'))(var.get(u't').get(u'VISITOR_KEYS')) + pass + var.put(u'CLEAR_KEYS', Js([Js(u'tokens'), Js(u'start'), Js(u'end'), Js(u'loc'), Js(u'raw'), Js(u'rawValue')])) + var.put(u'CLEAR_KEYS_PLUS_COMMENTS', var.get(u't').get(u'COMMENT_KEYS').callprop(u'concat', Js([Js(u'comments')])).callprop(u'concat', var.get(u'CLEAR_KEYS'))) + pass + pass +PyJs_anonymous_2718_._set_name(u'anonymous') +PyJs_Object_2826_ = Js({u'./constants':Js(247.0),u'./converters':Js(248.0),u'./definitions':Js(253.0),u'./definitions/init':Js(254.0),u'./flow':Js(257.0),u'./react':Js(259.0),u'./retrievers':Js(260.0),u'./validators':Js(261.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'babel-runtime/core-js/json/stringify':Js(97.0),u'babel-runtime/core-js/object/get-own-property-symbols':Js(102.0),u'babel-runtime/core-js/object/keys':Js(103.0),u'lodash/clone':Js(438.0),u'lodash/compact':Js(441.0),u'lodash/each':Js(443.0),u'lodash/uniq':Js(495.0),u'to-fast-properties':Js(522.0)}) +@Js +def PyJs_anonymous_2827_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'_interopRequireWildcard', u'_index', u'cleanJSXElementLiteralChild', u'require', u'module', u'buildChildren', u't', u'isReactComponent', u'isCompatTag']) + @Js + def PyJsHoisted_cleanJSXElementLiteralChild_(child, args, this, arguments, var=var): + var = Scope({u'this':this, u'args':args, u'arguments':arguments, u'child':child}, var) + var.registers([u'isLastNonEmptyLine', u'str', u'i', u'isLastLine', u'args', u'lines', u'lastNonEmptyLine', u'isFirstLine', u'_i', u'child', u'line', u'trimmedLine']) + var.put(u'lines', var.get(u'child').get(u'value').callprop(u'split', JsRegExp(u'/\\r\\n|\\n|\\r/'))) + var.put(u'lastNonEmptyLine', Js(0.0)) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=Js(0.0)): + return var.get(u'true') + else: + if PyJsStrictEq(var.get(u'val'),var.get(u'node')): + return var.get(u'true') + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + return Js(False) + PyJsHoisted_isBinding_.func_name = u'isBinding' + var.put(u'isBinding', PyJsHoisted_isBinding_) + @Js + def PyJsHoisted_isReferenced_(node, parent, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'parent':parent}, var) + var.registers([u'node', u'_isArray', u'_iterator', u'parent', u'param', u'_i', u'_ref']) + while 1: + SWITCHED = False + CONDITION = (var.get(u'parent').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'BindExpression')): + SWITCHED = True + return (PyJsStrictEq(var.get(u'parent').get(u'object'),var.get(u'node')) or PyJsStrictEq(var.get(u'parent').get(u'callee'),var.get(u'node'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'MemberExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'JSXMemberExpression')): + SWITCHED = True + if (PyJsStrictEq(var.get(u'parent').get(u'property'),var.get(u'node')) and var.get(u'parent').get(u'computed')): + return var.get(u'true') + else: + if PyJsStrictEq(var.get(u'parent').get(u'object'),var.get(u'node')): + return var.get(u'true') + else: + return Js(False) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'MetaProperty')): + SWITCHED = True + return Js(False) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ObjectProperty')): + SWITCHED = True + if PyJsStrictEq(var.get(u'parent').get(u'key'),var.get(u'node')): + return var.get(u'parent').get(u'computed') + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'VariableDeclarator')): + SWITCHED = True + return PyJsStrictNeq(var.get(u'parent').get(u'id'),var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ArrowFunctionExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'FunctionDeclaration')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'FunctionExpression')): + SWITCHED = True + #for JS loop + var.put(u'_iterator', var.get(u'parent').get(u'params')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else PyJsComma(Js(0.0),var.get(u'_getIterator3').get(u'default'))(var.get(u'_iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'param', var.get(u'_ref')) + if PyJsStrictEq(var.get(u'param'),var.get(u'node')): + return Js(False) + + return PyJsStrictNeq(var.get(u'parent').get(u'id'),var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ExportSpecifier')): + SWITCHED = True + if var.get(u'parent').get(u'source'): + return Js(False) + else: + return PyJsStrictEq(var.get(u'parent').get(u'local'),var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ExportNamespaceSpecifier')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ExportDefaultSpecifier')): + SWITCHED = True + return Js(False) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'JSXAttribute')): + SWITCHED = True + return PyJsStrictNeq(var.get(u'parent').get(u'name'),var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ClassProperty')): + SWITCHED = True + if PyJsStrictEq(var.get(u'parent').get(u'key'),var.get(u'node')): + return var.get(u'parent').get(u'computed') + else: + return PyJsStrictEq(var.get(u'parent').get(u'value'),var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ImportDefaultSpecifier')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ImportNamespaceSpecifier')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ImportSpecifier')): + SWITCHED = True + return Js(False) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ClassDeclaration')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ClassExpression')): + SWITCHED = True + return PyJsStrictNeq(var.get(u'parent').get(u'id'),var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ClassMethod')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ObjectMethod')): + SWITCHED = True + return (PyJsStrictEq(var.get(u'parent').get(u'key'),var.get(u'node')) and var.get(u'parent').get(u'computed')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'LabeledStatement')): + SWITCHED = True + return Js(False) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'CatchClause')): + SWITCHED = True + return PyJsStrictNeq(var.get(u'parent').get(u'param'),var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'RestElement')): + SWITCHED = True + return Js(False) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'AssignmentExpression')): + SWITCHED = True + return PyJsStrictEq(var.get(u'parent').get(u'right'),var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'AssignmentPattern')): + SWITCHED = True + return PyJsStrictEq(var.get(u'parent').get(u'right'),var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ObjectPattern')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ArrayPattern')): + SWITCHED = True + return Js(False) + SWITCHED = True + break + return var.get(u'true') + PyJsHoisted_isReferenced_.func_name = u'isReferenced' + var.put(u'isReferenced', PyJsHoisted_isReferenced_) + @Js + def PyJsHoisted_isValidIdentifier_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + if (PyJsStrictNeq(var.get(u'name',throw=False).typeof(),Js(u'string')) or var.get(u'_esutils2').get(u'default').get(u'keyword').callprop(u'isReservedWordES6', var.get(u'name'), var.get(u'true'))): + return Js(False) + else: + return var.get(u'_esutils2').get(u'default').get(u'keyword').callprop(u'isIdentifierNameES6', var.get(u'name')) + PyJsHoisted_isValidIdentifier_.func_name = u'isValidIdentifier' + var.put(u'isValidIdentifier', PyJsHoisted_isValidIdentifier_) + @Js + def PyJsHoisted_isVar_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + PyJs_Object_2838_ = Js({u'kind':Js(u'var')}) + return (var.get(u't').callprop(u'isVariableDeclaration', var.get(u'node'), PyJs_Object_2838_) and var.get(u'node').get(var.get(u'_constants').get(u'BLOCK_SCOPED_SYMBOL')).neg()) + PyJsHoisted_isVar_.func_name = u'isVar' + var.put(u'isVar', PyJsHoisted_isVar_) + @Js + def PyJsHoisted__interopRequireDefault_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + PyJs_Object_2837_ = Js({u'default':var.get(u'obj')}) + return (var.get(u'obj') if (var.get(u'obj') and var.get(u'obj').get(u'__esModule')) else PyJs_Object_2837_) + PyJsHoisted__interopRequireDefault_.func_name = u'_interopRequireDefault' + var.put(u'_interopRequireDefault', PyJsHoisted__interopRequireDefault_) + @Js + def PyJsHoisted_isLet_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + return (var.get(u't').callprop(u'isVariableDeclaration', var.get(u'node')) and (PyJsStrictNeq(var.get(u'node').get(u'kind'),Js(u'var')) or var.get(u'node').get(var.get(u'_constants').get(u'BLOCK_SCOPED_SYMBOL')))) + PyJsHoisted_isLet_.func_name = u'isLet' + var.put(u'isLet', PyJsHoisted_isLet_) + @Js + def PyJsHoisted_isSpecifierDefault_(specifier, this, arguments, var=var): + var = Scope({u'this':this, u'specifier':specifier, u'arguments':arguments}, var) + var.registers([u'specifier']) + PyJs_Object_2839_ = Js({u'name':Js(u'default')}) + return (var.get(u't').callprop(u'isImportDefaultSpecifier', var.get(u'specifier')) or var.get(u't').callprop(u'isIdentifier', (var.get(u'specifier').get(u'imported') or var.get(u'specifier').get(u'exported')), PyJs_Object_2839_)) + PyJsHoisted_isSpecifierDefault_.func_name = u'isSpecifierDefault' + var.put(u'isSpecifierDefault', PyJsHoisted_isSpecifierDefault_) + @Js + def PyJsHoisted_isBlockScoped_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + return ((var.get(u't').callprop(u'isFunctionDeclaration', var.get(u'node')) or var.get(u't').callprop(u'isClassDeclaration', var.get(u'node'))) or var.get(u't').callprop(u'isLet', var.get(u'node'))) + PyJsHoisted_isBlockScoped_.func_name = u'isBlockScoped' + var.put(u'isBlockScoped', PyJsHoisted_isBlockScoped_) + Js(u'use strict') + var.get(u'exports').put(u'__esModule', var.get(u'true')) + var.put(u'_getIterator2', var.get(u'require')(Js(u'babel-runtime/core-js/get-iterator'))) + var.put(u'_getIterator3', var.get(u'_interopRequireDefault')(var.get(u'_getIterator2'))) + var.get(u'exports').put(u'isBinding', var.get(u'isBinding')) + var.get(u'exports').put(u'isReferenced', var.get(u'isReferenced')) + var.get(u'exports').put(u'isValidIdentifier', var.get(u'isValidIdentifier')) + var.get(u'exports').put(u'isLet', var.get(u'isLet')) + var.get(u'exports').put(u'isBlockScoped', var.get(u'isBlockScoped')) + var.get(u'exports').put(u'isVar', var.get(u'isVar')) + var.get(u'exports').put(u'isSpecifierDefault', var.get(u'isSpecifierDefault')) + var.get(u'exports').put(u'isScope', var.get(u'isScope')) + var.get(u'exports').put(u'isImmutable', var.get(u'isImmutable')) + var.put(u'_retrievers', var.get(u'require')(Js(u'./retrievers'))) + var.put(u'_esutils', var.get(u'require')(Js(u'esutils'))) + var.put(u'_esutils2', var.get(u'_interopRequireDefault')(var.get(u'_esutils'))) + var.put(u'_index', var.get(u'require')(Js(u'./index'))) + var.put(u't', var.get(u'_interopRequireWildcard')(var.get(u'_index'))) + var.put(u'_constants', var.get(u'require')(Js(u'./constants'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass +PyJs_anonymous_2835_._set_name(u'anonymous') +PyJs_Object_2841_ = Js({u'./constants':Js(247.0),u'./index':Js(258.0),u'./retrievers':Js(260.0),u'babel-runtime/core-js/get-iterator':Js(96.0),u'esutils':Js(276.0)}) +@Js +def PyJs_anonymous_2842_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'TokContext', u'reservedWords', u'parse$1', u'pp$4', u'isKeyword$1', u'getLineInfo', u'astralIdentifierStartCodes', u'isNewLine', u'module', u'_typeof', u'isIdentifierChar', u'State', u'plugins', u'keywords', u'getOptions', u'Node', u'pp$8', u'isIdentifierStart', u'TokenType', u'types$1', u'beforeExpr', u'nonASCIIidentifierStartChars', u'DECIMAL_NUMBER', u'_inherits', u'flowPlugin', u'_possibleConstructorReturn', u'commentKeys', u'XHTMLEntities', u'isInAstralSet', u'empty', u'astralIdentifierCodes', u'exports', u'nonASCIIidentifierChars', u'binop', u'startsExpr', u'lineBreakG', u'pp', u'jsxPlugin', u'_classCallCheck$6', u'_classCallCheck$4', u'_classCallCheck$5', u'_classCallCheck$2', u'_classCallCheck$3', u'_classCallCheck$1', u'Position', u'getQualifiedJSXName', u'types', u'switchLabel', u'nonASCIIidentifier', u'lineBreak', u'HEX_NUMBER', u'last', u'loopLabel', u'Tokenizer', u'defaultOptions', u'_classCallCheck', u'require', u'Parser', u'Token', u'nonASCIIidentifierStart', u'makePredicate', u'nonASCIIwhitespace', u'kw', u'codePointToString', u'finishNodeAt', u'pp$1', u'pp$2', u'pp$3', u'SourceLocation', u'pp$5', u'pp$6', u'pp$7']) + @Js + def PyJsHoisted_codePointToString_(code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments}, var) + var.registers([u'code']) + if (var.get(u'code')<=Js(65535)): + return var.get(u'String').callprop(u'fromCharCode', var.get(u'code')) + else: + return var.get(u'String').callprop(u'fromCharCode', (((var.get(u'code')-Js(65536))>>Js(10.0))+Js(55296)), (((var.get(u'code')-Js(65536))&Js(1023.0))+Js(56320))) + PyJsHoisted_codePointToString_.func_name = u'codePointToString' + var.put(u'codePointToString', PyJsHoisted_codePointToString_) + @Js + def PyJsHoisted_isNewLine_(code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments}, var) + var.registers([u'code']) + return (((PyJsStrictEq(var.get(u'code'),Js(10.0)) or PyJsStrictEq(var.get(u'code'),Js(13.0))) or PyJsStrictEq(var.get(u'code'),Js(8232))) or PyJsStrictEq(var.get(u'code'),Js(8233))) + PyJsHoisted_isNewLine_.func_name = u'isNewLine' + var.put(u'isNewLine', PyJsHoisted_isNewLine_) + @Js + def PyJsHoisted_isIdentifierChar_(code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments}, var) + var.registers([u'code']) + if (var.get(u'code')=Js(170)) and var.get(u'nonASCIIidentifier').callprop(u'test', var.get(u'String').callprop(u'fromCharCode', var.get(u'code')))) + return (var.get(u'isInAstralSet')(var.get(u'code'), var.get(u'astralIdentifierStartCodes')) or var.get(u'isInAstralSet')(var.get(u'code'), var.get(u'astralIdentifierCodes'))) + PyJsHoisted_isIdentifierChar_.func_name = u'isIdentifierChar' + var.put(u'isIdentifierChar', PyJsHoisted_isIdentifierChar_) + @Js + def PyJsHoisted_getOptions_(opts, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'opts':opts}, var) + var.registers([u'opts', u'options', u'key']) + PyJs_Object_2847_ = Js({}) + var.put(u'options', PyJs_Object_2847_) + for PyJsTemp in var.get(u'defaultOptions'): + var.put(u'key', PyJsTemp) + var.get(u'options').put(var.get(u'key'), (var.get(u'opts').get(var.get(u'key')) if (var.get(u'opts') and var.get(u'opts').contains(var.get(u'key'))) else var.get(u'defaultOptions').get(var.get(u'key')))) + return var.get(u'options') + PyJsHoisted_getOptions_.func_name = u'getOptions' + var.put(u'getOptions', PyJsHoisted_getOptions_) + @Js + def PyJsHoisted_isIdentifierStart_(code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments}, var) + var.registers([u'code']) + if (var.get(u'code')=Js(170)) and var.get(u'nonASCIIidentifierStart').callprop(u'test', var.get(u'String').callprop(u'fromCharCode', var.get(u'code')))) + return var.get(u'isInAstralSet')(var.get(u'code'), var.get(u'astralIdentifierStartCodes')) + PyJsHoisted_isIdentifierStart_.func_name = u'isIdentifierStart' + var.put(u'isIdentifierStart', PyJsHoisted_isIdentifierStart_) + @Js + def PyJsHoisted__inherits_(subClass, superClass, this, arguments, var=var): + var = Scope({u'this':this, u'superClass':superClass, u'subClass':subClass, u'arguments':arguments}, var) + var.registers([u'superClass', u'subClass']) + if (PyJsStrictNeq(var.get(u'superClass',throw=False).typeof(),Js(u'function')) and PyJsStrictNeq(var.get(u'superClass'),var.get(u"null"))): + PyJsTempException = JsToPyException(var.get(u'TypeError').create((Js(u'Super expression must either be null or a function, not ')+var.get(u'superClass',throw=False).typeof()))) + raise PyJsTempException + PyJs_Object_2937_ = Js({u'value':var.get(u'subClass'),u'enumerable':Js(False),u'writable':var.get(u'true'),u'configurable':var.get(u'true')}) + PyJs_Object_2936_ = Js({u'constructor':PyJs_Object_2937_}) + var.get(u'subClass').put(u'prototype', var.get(u'Object').callprop(u'create', (var.get(u'superClass') and var.get(u'superClass').get(u'prototype')), PyJs_Object_2936_)) + if var.get(u'superClass'): + (var.get(u'Object').callprop(u'setPrototypeOf', var.get(u'subClass'), var.get(u'superClass')) if var.get(u'Object').get(u'setPrototypeOf') else var.get(u'subClass').put(u'__proto__', var.get(u'superClass'))) + PyJsHoisted__inherits_.func_name = u'_inherits' + var.put(u'_inherits', PyJsHoisted__inherits_) + @Js + def PyJsHoisted__possibleConstructorReturn_(self, call, this, arguments, var=var): + var = Scope({u'this':this, u'self':self, u'call':call, u'arguments':arguments}, var) + var.registers([u'self', u'call']) + if var.get(u'self').neg(): + PyJsTempException = JsToPyException(var.get(u'ReferenceError').create(Js(u"this hasn't been initialised - super() hasn't been called"))) + raise PyJsTempException + return (var.get(u'call') if (var.get(u'call') and (PyJsStrictEq(var.get(u'call',throw=False).typeof(),Js(u'object')) or PyJsStrictEq(var.get(u'call',throw=False).typeof(),Js(u'function')))) else var.get(u'self')) + PyJsHoisted__possibleConstructorReturn_.func_name = u'_possibleConstructorReturn' + var.put(u'_possibleConstructorReturn', PyJsHoisted__possibleConstructorReturn_) + @Js + def PyJsHoisted_isInAstralSet_(code, set, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'set':set, u'arguments':arguments}, var) + var.registers([u'i', u'code', u'set', u'pos']) + var.put(u'pos', Js(65536)) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')var.get(u'code')): + return Js(False) + var.put(u'pos', var.get(u'set').get((var.get(u'i')+Js(1.0))), u'+') + if (var.get(u'pos')>=var.get(u'code')): + return var.get(u'true') + finally: + var.put(u'i', Js(2.0), u'+') + PyJsHoisted_isInAstralSet_.func_name = u'isInAstralSet' + var.put(u'isInAstralSet', PyJsHoisted_isInAstralSet_) + @Js + def PyJsHoisted_binop_(name, prec, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'prec':prec, u'arguments':arguments}, var) + var.registers([u'name', u'prec']) + PyJs_Object_2850_ = Js({u'beforeExpr':var.get(u'true'),u'binop':var.get(u'prec')}) + return var.get(u'TokenType').create(var.get(u'name'), PyJs_Object_2850_) + PyJsHoisted_binop_.func_name = u'binop' + var.put(u'binop', PyJsHoisted_binop_) + @Js + def PyJsHoistedNonPyName(instance, Constructor, this, arguments, var=var): + var = Scope({u'this':this, u'instance':instance, u'arguments':arguments, u'Constructor':Constructor}, var) + var.registers([u'instance', u'Constructor']) + if var.get(u'instance').instanceof(var.get(u'Constructor')).neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Cannot call a class as a function'))) + raise PyJsTempException + PyJsHoistedNonPyName.func_name = u'_classCallCheck$6' + var.put(u'_classCallCheck$6', PyJsHoistedNonPyName) + @Js + def PyJsHoisted_finishNodeAt_(node, type, pos, loc, this, arguments, var=var): + var = Scope({u'node':node, u'loc':loc, u'arguments':arguments, u'this':this, u'type':type, u'pos':pos}, var) + var.registers([u'node', u'loc', u'type', u'pos']) + var.get(u'node').put(u'type', var.get(u'type')) + var.get(u'node').put(u'end', var.get(u'pos')) + var.get(u'node').get(u'loc').put(u'end', var.get(u'loc')) + var.get(u"this").callprop(u'processComment', var.get(u'node')) + return var.get(u'node') + PyJsHoisted_finishNodeAt_.func_name = u'finishNodeAt' + var.put(u'finishNodeAt', PyJsHoisted_finishNodeAt_) + @Js + def PyJsHoistedNonPyName(instance, Constructor, this, arguments, var=var): + var = Scope({u'this':this, u'instance':instance, u'arguments':arguments, u'Constructor':Constructor}, var) + var.registers([u'instance', u'Constructor']) + if var.get(u'instance').instanceof(var.get(u'Constructor')).neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Cannot call a class as a function'))) + raise PyJsTempException + PyJsHoistedNonPyName.func_name = u'_classCallCheck$5' + var.put(u'_classCallCheck$5', PyJsHoistedNonPyName) + @Js + def PyJsHoistedNonPyName(instance, Constructor, this, arguments, var=var): + var = Scope({u'this':this, u'instance':instance, u'arguments':arguments, u'Constructor':Constructor}, var) + var.registers([u'instance', u'Constructor']) + if var.get(u'instance').instanceof(var.get(u'Constructor')).neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Cannot call a class as a function'))) + raise PyJsTempException + PyJsHoistedNonPyName.func_name = u'_classCallCheck$2' + var.put(u'_classCallCheck$2', PyJsHoistedNonPyName) + @Js + def PyJsHoistedNonPyName(instance, Constructor, this, arguments, var=var): + var = Scope({u'this':this, u'instance':instance, u'arguments':arguments, u'Constructor':Constructor}, var) + var.registers([u'instance', u'Constructor']) + if var.get(u'instance').instanceof(var.get(u'Constructor')).neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Cannot call a class as a function'))) + raise PyJsTempException + PyJsHoistedNonPyName.func_name = u'_classCallCheck$3' + var.put(u'_classCallCheck$3', PyJsHoistedNonPyName) + @Js + def PyJsHoistedNonPyName(instance, Constructor, this, arguments, var=var): + var = Scope({u'this':this, u'instance':instance, u'arguments':arguments, u'Constructor':Constructor}, var) + var.registers([u'instance', u'Constructor']) + if var.get(u'instance').instanceof(var.get(u'Constructor')).neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Cannot call a class as a function'))) + raise PyJsTempException + PyJsHoistedNonPyName.func_name = u'_classCallCheck$1' + var.put(u'_classCallCheck$1', PyJsHoistedNonPyName) + @Js + def PyJsHoisted_getQualifiedJSXName_(object, this, arguments, var=var): + var = Scope({u'this':this, u'object':object, u'arguments':arguments}, var) + var.registers([u'object']) + if PyJsStrictEq(var.get(u'object').get(u'type'),Js(u'JSXIdentifier')): + return var.get(u'object').get(u'name') + if PyJsStrictEq(var.get(u'object').get(u'type'),Js(u'JSXNamespacedName')): + return ((var.get(u'object').get(u'namespace').get(u'name')+Js(u':'))+var.get(u'object').get(u'name').get(u'name')) + if PyJsStrictEq(var.get(u'object').get(u'type'),Js(u'JSXMemberExpression')): + return ((var.get(u'getQualifiedJSXName')(var.get(u'object').get(u'object'))+Js(u'.'))+var.get(u'getQualifiedJSXName')(var.get(u'object').get(u'property'))) + PyJsHoisted_getQualifiedJSXName_.func_name = u'getQualifiedJSXName' + var.put(u'getQualifiedJSXName', PyJsHoisted_getQualifiedJSXName_) + @Js + def PyJsHoisted_getLineInfo_(input, offset, this, arguments, var=var): + var = Scope({u'this':this, u'input':input, u'arguments':arguments, u'offset':offset}, var) + var.registers([u'input', u'line', u'cur', u'match', u'offset']) + #for JS loop + var.put(u'line', Js(1.0)) + var.put(u'cur', Js(0.0)) + while 1: + var.get(u'lineBreakG').put(u'lastIndex', var.get(u'cur')) + var.put(u'match', var.get(u'lineBreakG').callprop(u'exec', var.get(u'input'))) + if (var.get(u'match') and (var.get(u'match').get(u'index')=Js(0.0)) + PyJs_anonymous_2844_._set_name(u'anonymous') + return PyJs_anonymous_2844_ + PyJsHoisted_makePredicate_.func_name = u'makePredicate' + var.put(u'makePredicate', PyJsHoisted_makePredicate_) + @Js + def PyJsHoisted_kw_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'options', u'name']) + PyJs_Object_2866_ = Js({}) + var.put(u'options', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else PyJs_Object_2866_)) + var.get(u'options').put(u'keyword', var.get(u'name')) + var.get(u'keywords').put(var.get(u'name'), var.get(u'types').put((Js(u'_')+var.get(u'name')), var.get(u'TokenType').create(var.get(u'name'), var.get(u'options')))) + PyJsHoisted_kw_.func_name = u'kw' + var.put(u'kw', PyJsHoisted_kw_) + @Js + def PyJsHoisted__classCallCheck_(instance, Constructor, this, arguments, var=var): + var = Scope({u'this':this, u'instance':instance, u'arguments':arguments, u'Constructor':Constructor}, var) + var.registers([u'instance', u'Constructor']) + if var.get(u'instance').instanceof(var.get(u'Constructor')).neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Cannot call a class as a function'))) + raise PyJsTempException + PyJsHoisted__classCallCheck_.func_name = u'_classCallCheck' + var.put(u'_classCallCheck', PyJsHoisted__classCallCheck_) + Js(u'use strict') + PyJs_Object_2843_ = Js({u'value':var.get(u'true')}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'__esModule'), PyJs_Object_2843_) + pass + PyJs_Object_2845_ = Js({u'6':var.get(u'makePredicate')(Js(u'enum await')),u'strict':var.get(u'makePredicate')(Js(u'implements interface let package private protected public static yield')),u'strictBind':var.get(u'makePredicate')(Js(u'eval arguments'))}) + var.put(u'reservedWords', PyJs_Object_2845_) + var.put(u'isKeyword$1', var.get(u'makePredicate')(Js(u'break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this let const class extends export import yield super'))) + var.put(u'nonASCIIidentifierStartChars', Js(u'\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ae\ua7b0-\ua7b7\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab65\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc')) + var.put(u'nonASCIIidentifierChars', Js(u'\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d4-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d01-\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f')) + var.put(u'nonASCIIidentifierStart', var.get(u'RegExp').create(((Js(u'[')+var.get(u'nonASCIIidentifierStartChars'))+Js(u']')))) + var.put(u'nonASCIIidentifier', var.get(u'RegExp').create((((Js(u'[')+var.get(u'nonASCIIidentifierStartChars'))+var.get(u'nonASCIIidentifierChars'))+Js(u']')))) + var.put(u'nonASCIIidentifierStartChars', var.put(u'nonASCIIidentifierChars', var.get(u"null"))) + var.put(u'astralIdentifierStartCodes', Js([Js(0.0), Js(11.0), Js(2.0), Js(25.0), Js(2.0), Js(18.0), Js(2.0), Js(1.0), Js(2.0), Js(14.0), Js(3.0), Js(13.0), Js(35.0), Js(122.0), Js(70.0), Js(52.0), Js(268.0), Js(28.0), Js(4.0), Js(48.0), Js(48.0), Js(31.0), Js(17.0), Js(26.0), Js(6.0), Js(37.0), Js(11.0), Js(29.0), Js(3.0), Js(35.0), Js(5.0), Js(7.0), Js(2.0), Js(4.0), Js(43.0), Js(157.0), Js(19.0), Js(35.0), Js(5.0), Js(35.0), Js(5.0), Js(39.0), Js(9.0), Js(51.0), Js(157.0), Js(310.0), Js(10.0), Js(21.0), Js(11.0), Js(7.0), Js(153.0), Js(5.0), Js(3.0), Js(0.0), Js(2.0), Js(43.0), Js(2.0), Js(1.0), Js(4.0), Js(0.0), Js(3.0), Js(22.0), Js(11.0), Js(22.0), Js(10.0), Js(30.0), Js(66.0), Js(18.0), Js(2.0), Js(1.0), Js(11.0), Js(21.0), Js(11.0), Js(25.0), Js(71.0), Js(55.0), Js(7.0), Js(1.0), Js(65.0), Js(0.0), Js(16.0), Js(3.0), Js(2.0), Js(2.0), Js(2.0), Js(26.0), Js(45.0), Js(28.0), Js(4.0), Js(28.0), Js(36.0), Js(7.0), Js(2.0), Js(27.0), Js(28.0), Js(53.0), Js(11.0), Js(21.0), Js(11.0), Js(18.0), Js(14.0), Js(17.0), Js(111.0), Js(72.0), Js(56.0), Js(50.0), Js(14.0), Js(50.0), Js(785.0), Js(52.0), Js(76.0), Js(44.0), Js(33.0), Js(24.0), Js(27.0), Js(35.0), Js(42.0), Js(34.0), Js(4.0), Js(0.0), Js(13.0), Js(47.0), Js(15.0), Js(3.0), Js(22.0), Js(0.0), Js(2.0), Js(0.0), Js(36.0), Js(17.0), Js(2.0), Js(24.0), Js(85.0), Js(6.0), Js(2.0), Js(0.0), Js(2.0), Js(3.0), Js(2.0), Js(14.0), Js(2.0), Js(9.0), Js(8.0), Js(46.0), Js(39.0), Js(7.0), Js(3.0), Js(1.0), Js(3.0), Js(21.0), Js(2.0), Js(6.0), Js(2.0), Js(1.0), Js(2.0), Js(4.0), Js(4.0), Js(0.0), Js(19.0), Js(0.0), Js(13.0), Js(4.0), Js(159.0), Js(52.0), Js(19.0), Js(3.0), Js(54.0), Js(47.0), Js(21.0), Js(1.0), Js(2.0), Js(0.0), Js(185.0), Js(46.0), Js(42.0), Js(3.0), Js(37.0), Js(47.0), Js(21.0), Js(0.0), Js(60.0), Js(42.0), Js(86.0), Js(25.0), Js(391.0), Js(63.0), Js(32.0), Js(0.0), Js(449.0), Js(56.0), Js(264.0), Js(8.0), Js(2.0), Js(36.0), Js(18.0), Js(0.0), Js(50.0), Js(29.0), Js(881.0), Js(921.0), Js(103.0), Js(110.0), Js(18.0), Js(195.0), Js(2749.0), Js(1070.0), Js(4050.0), Js(582.0), Js(8634.0), Js(568.0), Js(8.0), Js(30.0), Js(114.0), Js(29.0), Js(19.0), Js(47.0), Js(17.0), Js(3.0), Js(32.0), Js(20.0), Js(6.0), Js(18.0), Js(881.0), Js(68.0), Js(12.0), Js(0.0), Js(67.0), Js(12.0), Js(65.0), Js(0.0), Js(32.0), Js(6124.0), Js(20.0), Js(754.0), Js(9486.0), Js(1.0), Js(3071.0), Js(106.0), Js(6.0), Js(12.0), Js(4.0), Js(8.0), Js(8.0), Js(9.0), Js(5991.0), Js(84.0), Js(2.0), Js(70.0), Js(2.0), Js(1.0), Js(3.0), Js(0.0), Js(3.0), Js(1.0), Js(3.0), Js(3.0), Js(2.0), Js(11.0), Js(2.0), Js(0.0), Js(2.0), Js(6.0), Js(2.0), Js(64.0), Js(2.0), Js(3.0), Js(3.0), Js(7.0), Js(2.0), Js(6.0), Js(2.0), Js(27.0), Js(2.0), Js(3.0), Js(2.0), Js(4.0), Js(2.0), Js(0.0), Js(4.0), Js(6.0), Js(2.0), Js(339.0), Js(3.0), Js(24.0), Js(2.0), Js(24.0), Js(2.0), Js(30.0), Js(2.0), Js(24.0), Js(2.0), Js(30.0), Js(2.0), Js(24.0), Js(2.0), Js(30.0), Js(2.0), Js(24.0), Js(2.0), Js(30.0), Js(2.0), Js(24.0), Js(2.0), Js(7.0), Js(4149.0), Js(196.0), Js(60.0), Js(67.0), Js(1213.0), Js(3.0), Js(2.0), Js(26.0), Js(2.0), Js(1.0), Js(2.0), Js(0.0), Js(3.0), Js(0.0), Js(2.0), Js(9.0), Js(2.0), Js(3.0), Js(2.0), Js(0.0), Js(2.0), Js(0.0), Js(7.0), Js(0.0), Js(5.0), Js(0.0), Js(2.0), Js(0.0), Js(2.0), Js(0.0), Js(2.0), Js(2.0), Js(2.0), Js(1.0), Js(2.0), Js(0.0), Js(3.0), Js(0.0), Js(2.0), Js(0.0), Js(2.0), Js(0.0), Js(2.0), Js(0.0), Js(2.0), Js(0.0), Js(2.0), Js(1.0), Js(2.0), Js(0.0), Js(3.0), Js(3.0), Js(2.0), Js(6.0), Js(2.0), Js(3.0), Js(2.0), Js(3.0), Js(2.0), Js(0.0), Js(2.0), Js(9.0), Js(2.0), Js(16.0), Js(6.0), Js(2.0), Js(2.0), Js(4.0), Js(2.0), Js(16.0), Js(4421.0), Js(42710.0), Js(42.0), Js(4148.0), Js(12.0), Js(221.0), Js(3.0), Js(5761.0), Js(10591.0), Js(541.0)])) + var.put(u'astralIdentifierCodes', Js([Js(509.0), Js(0.0), Js(227.0), Js(0.0), Js(150.0), Js(4.0), Js(294.0), Js(9.0), Js(1368.0), Js(2.0), Js(2.0), Js(1.0), Js(6.0), Js(3.0), Js(41.0), Js(2.0), Js(5.0), Js(0.0), Js(166.0), Js(1.0), Js(1306.0), Js(2.0), Js(54.0), Js(14.0), Js(32.0), Js(9.0), Js(16.0), Js(3.0), Js(46.0), Js(10.0), Js(54.0), Js(9.0), Js(7.0), Js(2.0), Js(37.0), Js(13.0), Js(2.0), Js(9.0), Js(52.0), Js(0.0), Js(13.0), Js(2.0), Js(49.0), Js(13.0), Js(10.0), Js(2.0), Js(4.0), Js(9.0), Js(83.0), Js(11.0), Js(7.0), Js(0.0), Js(161.0), Js(11.0), Js(6.0), Js(9.0), Js(7.0), Js(3.0), Js(57.0), Js(0.0), Js(2.0), Js(6.0), Js(3.0), Js(1.0), Js(3.0), Js(2.0), Js(10.0), Js(0.0), Js(11.0), Js(1.0), Js(3.0), Js(6.0), Js(4.0), Js(4.0), Js(193.0), Js(17.0), Js(10.0), Js(9.0), Js(87.0), Js(19.0), Js(13.0), Js(9.0), Js(214.0), Js(6.0), Js(3.0), Js(8.0), Js(28.0), Js(1.0), Js(83.0), Js(16.0), Js(16.0), Js(9.0), Js(82.0), Js(12.0), Js(9.0), Js(9.0), Js(84.0), Js(14.0), Js(5.0), Js(9.0), Js(423.0), Js(9.0), Js(838.0), Js(7.0), Js(2.0), Js(7.0), Js(17.0), Js(9.0), Js(57.0), Js(21.0), Js(2.0), Js(13.0), Js(19882.0), Js(9.0), Js(135.0), Js(4.0), Js(60.0), Js(6.0), Js(26.0), Js(9.0), Js(1016.0), Js(45.0), Js(17.0), Js(3.0), Js(19723.0), Js(1.0), Js(5319.0), Js(4.0), Js(4.0), Js(5.0), Js(9.0), Js(7.0), Js(3.0), Js(6.0), Js(31.0), Js(3.0), Js(149.0), Js(2.0), Js(1418.0), Js(49.0), Js(513.0), Js(54.0), Js(5.0), Js(49.0), Js(9.0), Js(0.0), Js(15.0), Js(0.0), Js(23.0), Js(4.0), Js(2.0), Js(14.0), Js(1361.0), Js(6.0), Js(2.0), Js(16.0), Js(3.0), Js(6.0), Js(2.0), Js(1.0), Js(2.0), Js(4.0), Js(2214.0), Js(6.0), Js(110.0), Js(6.0), Js(6.0), Js(9.0), Js(792487.0), Js(239.0)])) + pass + pass + pass + PyJs_Object_2846_ = Js({u'sourceType':Js(u'script'),u'sourceFilename':var.get(u'undefined'),u'allowReturnOutsideFunction':Js(False),u'allowImportExportEverywhere':Js(False),u'allowSuperOutsideMethod':Js(False),u'plugins':Js([]),u'strictMode':var.get(u"null")}) + var.put(u'defaultOptions', PyJs_Object_2846_) + pass + pass + @Js + def PyJs_TokenType_2848_(label, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'TokenType':PyJs_TokenType_2848_, u'label':label}, var) + var.registers([u'conf', u'label']) + PyJs_Object_2849_ = Js({}) + var.put(u'conf', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else PyJs_Object_2849_)) + var.get(u'_classCallCheck$2')(var.get(u"this"), var.get(u'TokenType')) + var.get(u"this").put(u'label', var.get(u'label')) + var.get(u"this").put(u'keyword', var.get(u'conf').get(u'keyword')) + var.get(u"this").put(u'beforeExpr', var.get(u'conf').get(u'beforeExpr').neg().neg()) + var.get(u"this").put(u'startsExpr', var.get(u'conf').get(u'startsExpr').neg().neg()) + var.get(u"this").put(u'rightAssociative', var.get(u'conf').get(u'rightAssociative').neg().neg()) + var.get(u"this").put(u'isLoop', var.get(u'conf').get(u'isLoop').neg().neg()) + var.get(u"this").put(u'isAssign', var.get(u'conf').get(u'isAssign').neg().neg()) + var.get(u"this").put(u'prefix', var.get(u'conf').get(u'prefix').neg().neg()) + var.get(u"this").put(u'postfix', var.get(u'conf').get(u'postfix').neg().neg()) + var.get(u"this").put(u'binop', (var.get(u'conf').get(u'binop') or var.get(u"null"))) + var.get(u"this").put(u'updateContext', var.get(u"null")) + PyJs_TokenType_2848_._set_name(u'TokenType') + var.put(u'TokenType', PyJs_TokenType_2848_) + pass + PyJs_Object_2851_ = Js({u'beforeExpr':var.get(u'true')}) + var.put(u'beforeExpr', PyJs_Object_2851_) + PyJs_Object_2852_ = Js({u'startsExpr':var.get(u'true')}) + var.put(u'startsExpr', PyJs_Object_2852_) + PyJs_Object_2854_ = Js({u'beforeExpr':var.get(u'true'),u'startsExpr':var.get(u'true')}) + PyJs_Object_2855_ = Js({u'beforeExpr':var.get(u'true'),u'startsExpr':var.get(u'true')}) + PyJs_Object_2856_ = Js({u'beforeExpr':var.get(u'true'),u'startsExpr':var.get(u'true')}) + PyJs_Object_2857_ = Js({u'beforeExpr':var.get(u'true'),u'startsExpr':var.get(u'true')}) + PyJs_Object_2858_ = Js({u'beforeExpr':var.get(u'true'),u'startsExpr':var.get(u'true')}) + PyJs_Object_2859_ = Js({u'beforeExpr':var.get(u'true'),u'isAssign':var.get(u'true')}) + PyJs_Object_2860_ = Js({u'beforeExpr':var.get(u'true'),u'isAssign':var.get(u'true')}) + PyJs_Object_2861_ = Js({u'prefix':var.get(u'true'),u'postfix':var.get(u'true'),u'startsExpr':var.get(u'true')}) + PyJs_Object_2862_ = Js({u'beforeExpr':var.get(u'true'),u'prefix':var.get(u'true'),u'startsExpr':var.get(u'true')}) + PyJs_Object_2863_ = Js({u'beforeExpr':var.get(u'true'),u'binop':Js(9.0),u'prefix':var.get(u'true'),u'startsExpr':var.get(u'true')}) + PyJs_Object_2864_ = Js({u'beforeExpr':var.get(u'true'),u'binop':Js(11.0),u'rightAssociative':var.get(u'true')}) + PyJs_Object_2853_ = Js({u'num':var.get(u'TokenType').create(Js(u'num'), var.get(u'startsExpr')),u'regexp':var.get(u'TokenType').create(Js(u'regexp'), var.get(u'startsExpr')),u'string':var.get(u'TokenType').create(Js(u'string'), var.get(u'startsExpr')),u'name':var.get(u'TokenType').create(Js(u'name'), var.get(u'startsExpr')),u'eof':var.get(u'TokenType').create(Js(u'eof')),u'bracketL':var.get(u'TokenType').create(Js(u'['), PyJs_Object_2854_),u'bracketR':var.get(u'TokenType').create(Js(u']')),u'braceL':var.get(u'TokenType').create(Js(u'{'), PyJs_Object_2855_),u'braceBarL':var.get(u'TokenType').create(Js(u'{|'), PyJs_Object_2856_),u'braceR':var.get(u'TokenType').create(Js(u'}')),u'braceBarR':var.get(u'TokenType').create(Js(u'|}')),u'parenL':var.get(u'TokenType').create(Js(u'('), PyJs_Object_2857_),u'parenR':var.get(u'TokenType').create(Js(u')')),u'comma':var.get(u'TokenType').create(Js(u','), var.get(u'beforeExpr')),u'semi':var.get(u'TokenType').create(Js(u';'), var.get(u'beforeExpr')),u'colon':var.get(u'TokenType').create(Js(u':'), var.get(u'beforeExpr')),u'doubleColon':var.get(u'TokenType').create(Js(u'::'), var.get(u'beforeExpr')),u'dot':var.get(u'TokenType').create(Js(u'.')),u'question':var.get(u'TokenType').create(Js(u'?'), var.get(u'beforeExpr')),u'arrow':var.get(u'TokenType').create(Js(u'=>'), var.get(u'beforeExpr')),u'template':var.get(u'TokenType').create(Js(u'template')),u'ellipsis':var.get(u'TokenType').create(Js(u'...'), var.get(u'beforeExpr')),u'backQuote':var.get(u'TokenType').create(Js(u'`'), var.get(u'startsExpr')),u'dollarBraceL':var.get(u'TokenType').create(Js(u'${'), PyJs_Object_2858_),u'at':var.get(u'TokenType').create(Js(u'@')),u'eq':var.get(u'TokenType').create(Js(u'='), PyJs_Object_2859_),u'assign':var.get(u'TokenType').create(Js(u'_='), PyJs_Object_2860_),u'incDec':var.get(u'TokenType').create(Js(u'++/--'), PyJs_Object_2861_),u'prefix':var.get(u'TokenType').create(Js(u'prefix'), PyJs_Object_2862_),u'logicalOR':var.get(u'binop')(Js(u'||'), Js(1.0)),u'logicalAND':var.get(u'binop')(Js(u'&&'), Js(2.0)),u'bitwiseOR':var.get(u'binop')(Js(u'|'), Js(3.0)),u'bitwiseXOR':var.get(u'binop')(Js(u'^'), Js(4.0)),u'bitwiseAND':var.get(u'binop')(Js(u'&'), Js(5.0)),u'equality':var.get(u'binop')(Js(u'==/!='), Js(6.0)),u'relational':var.get(u'binop')(Js(u''), Js(7.0)),u'bitShift':var.get(u'binop')(Js(u'<>'), Js(8.0)),u'plusMin':var.get(u'TokenType').create(Js(u'+/-'), PyJs_Object_2863_),u'modulo':var.get(u'binop')(Js(u'%'), Js(10.0)),u'star':var.get(u'binop')(Js(u'*'), Js(10.0)),u'slash':var.get(u'binop')(Js(u'/'), Js(10.0)),u'exponent':var.get(u'TokenType').create(Js(u'**'), PyJs_Object_2864_)}) + var.put(u'types', PyJs_Object_2853_) + PyJs_Object_2865_ = Js({}) + var.put(u'keywords', PyJs_Object_2865_) + pass + var.get(u'kw')(Js(u'break')) + var.get(u'kw')(Js(u'case'), var.get(u'beforeExpr')) + var.get(u'kw')(Js(u'catch')) + var.get(u'kw')(Js(u'continue')) + var.get(u'kw')(Js(u'debugger')) + var.get(u'kw')(Js(u'default'), var.get(u'beforeExpr')) + PyJs_Object_2867_ = Js({u'isLoop':var.get(u'true'),u'beforeExpr':var.get(u'true')}) + var.get(u'kw')(Js(u'do'), PyJs_Object_2867_) + var.get(u'kw')(Js(u'else'), var.get(u'beforeExpr')) + var.get(u'kw')(Js(u'finally')) + PyJs_Object_2868_ = Js({u'isLoop':var.get(u'true')}) + var.get(u'kw')(Js(u'for'), PyJs_Object_2868_) + var.get(u'kw')(Js(u'function'), var.get(u'startsExpr')) + var.get(u'kw')(Js(u'if')) + var.get(u'kw')(Js(u'return'), var.get(u'beforeExpr')) + var.get(u'kw')(Js(u'switch')) + var.get(u'kw')(Js(u'throw'), var.get(u'beforeExpr')) + var.get(u'kw')(Js(u'try')) + var.get(u'kw')(Js(u'var')) + var.get(u'kw')(Js(u'let')) + var.get(u'kw')(Js(u'const')) + PyJs_Object_2869_ = Js({u'isLoop':var.get(u'true')}) + var.get(u'kw')(Js(u'while'), PyJs_Object_2869_) + var.get(u'kw')(Js(u'with')) + PyJs_Object_2870_ = Js({u'beforeExpr':var.get(u'true'),u'startsExpr':var.get(u'true')}) + var.get(u'kw')(Js(u'new'), PyJs_Object_2870_) + var.get(u'kw')(Js(u'this'), var.get(u'startsExpr')) + var.get(u'kw')(Js(u'super'), var.get(u'startsExpr')) + var.get(u'kw')(Js(u'class')) + var.get(u'kw')(Js(u'extends'), var.get(u'beforeExpr')) + var.get(u'kw')(Js(u'export')) + var.get(u'kw')(Js(u'import')) + PyJs_Object_2871_ = Js({u'beforeExpr':var.get(u'true'),u'startsExpr':var.get(u'true')}) + var.get(u'kw')(Js(u'yield'), PyJs_Object_2871_) + var.get(u'kw')(Js(u'null'), var.get(u'startsExpr')) + var.get(u'kw')(Js(u'true'), var.get(u'startsExpr')) + var.get(u'kw')(Js(u'false'), var.get(u'startsExpr')) + PyJs_Object_2872_ = Js({u'beforeExpr':var.get(u'true'),u'binop':Js(7.0)}) + var.get(u'kw')(Js(u'in'), PyJs_Object_2872_) + PyJs_Object_2873_ = Js({u'beforeExpr':var.get(u'true'),u'binop':Js(7.0)}) + var.get(u'kw')(Js(u'instanceof'), PyJs_Object_2873_) + PyJs_Object_2874_ = Js({u'beforeExpr':var.get(u'true'),u'prefix':var.get(u'true'),u'startsExpr':var.get(u'true')}) + var.get(u'kw')(Js(u'typeof'), PyJs_Object_2874_) + PyJs_Object_2875_ = Js({u'beforeExpr':var.get(u'true'),u'prefix':var.get(u'true'),u'startsExpr':var.get(u'true')}) + var.get(u'kw')(Js(u'void'), PyJs_Object_2875_) + PyJs_Object_2876_ = Js({u'beforeExpr':var.get(u'true'),u'prefix':var.get(u'true'),u'startsExpr':var.get(u'true')}) + var.get(u'kw')(Js(u'delete'), PyJs_Object_2876_) + var.put(u'lineBreak', JsRegExp(u'/\\r\\n?|\\n|\\u2028|\\u2029/')) + var.put(u'lineBreakG', var.get(u'RegExp').create(var.get(u'lineBreak').get(u'source'), Js(u'g'))) + pass + var.put(u'nonASCIIwhitespace', JsRegExp(u'/[\\u1680\\u180e\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/')) + pass + @Js + def PyJs_TokContext_2877_(token, isExpr, preserveSpace, override, this, arguments, var=var): + var = Scope({u'TokContext':PyJs_TokContext_2877_, u'this':this, u'token':token, u'isExpr':isExpr, u'arguments':arguments, u'preserveSpace':preserveSpace, u'override':override}, var) + var.registers([u'override', u'token', u'isExpr', u'preserveSpace']) + var.get(u'_classCallCheck$3')(var.get(u"this"), var.get(u'TokContext')) + var.get(u"this").put(u'token', var.get(u'token')) + var.get(u"this").put(u'isExpr', var.get(u'isExpr').neg().neg()) + var.get(u"this").put(u'preserveSpace', var.get(u'preserveSpace').neg().neg()) + var.get(u"this").put(u'override', var.get(u'override')) + PyJs_TokContext_2877_._set_name(u'TokContext') + var.put(u'TokContext', PyJs_TokContext_2877_) + @Js + def PyJs_anonymous_2879_(p, this, arguments, var=var): + var = Scope({u'this':this, u'p':p, u'arguments':arguments}, var) + var.registers([u'p']) + return var.get(u'p').callprop(u'readTmplToken') + PyJs_anonymous_2879_._set_name(u'anonymous') + PyJs_Object_2878_ = Js({u'braceStatement':var.get(u'TokContext').create(Js(u'{'), Js(False)),u'braceExpression':var.get(u'TokContext').create(Js(u'{'), var.get(u'true')),u'templateQuasi':var.get(u'TokContext').create(Js(u'${'), var.get(u'true')),u'parenStatement':var.get(u'TokContext').create(Js(u'('), Js(False)),u'parenExpression':var.get(u'TokContext').create(Js(u'('), var.get(u'true')),u'template':var.get(u'TokContext').create(Js(u'`'), var.get(u'true'), var.get(u'true'), PyJs_anonymous_2879_),u'functionExpression':var.get(u'TokContext').create(Js(u'function'), var.get(u'true'))}) + var.put(u'types$1', PyJs_Object_2878_) + @Js + def PyJs_anonymous_2880_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'out']) + if PyJsStrictEq(var.get(u"this").get(u'state').get(u'context').get(u'length'),Js(1.0)): + var.get(u"this").get(u'state').put(u'exprAllowed', var.get(u'true')) + return var.get('undefined') + var.put(u'out', var.get(u"this").get(u'state').get(u'context').callprop(u'pop')) + if (PyJsStrictEq(var.get(u'out'),var.get(u'types$1').get(u'braceStatement')) and PyJsStrictEq(var.get(u"this").callprop(u'curContext'),var.get(u'types$1').get(u'functionExpression'))): + var.get(u"this").get(u'state').get(u'context').callprop(u'pop') + var.get(u"this").get(u'state').put(u'exprAllowed', Js(False)) + else: + if PyJsStrictEq(var.get(u'out'),var.get(u'types$1').get(u'templateQuasi')): + var.get(u"this").get(u'state').put(u'exprAllowed', var.get(u'true')) + else: + var.get(u"this").get(u'state').put(u'exprAllowed', var.get(u'out').get(u'isExpr').neg()) + PyJs_anonymous_2880_._set_name(u'anonymous') + var.get(u'types').get(u'parenR').put(u'updateContext', var.get(u'types').get(u'braceR').put(u'updateContext', PyJs_anonymous_2880_)) + @Js + def PyJs_anonymous_2881_(prevType, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'prevType':prevType}, var) + var.registers([u'prevType']) + var.get(u"this").get(u'state').put(u'exprAllowed', Js(False)) + if ((PyJsStrictEq(var.get(u'prevType'),var.get(u'types').get(u'_let')) or PyJsStrictEq(var.get(u'prevType'),var.get(u'types').get(u'_const'))) or PyJsStrictEq(var.get(u'prevType'),var.get(u'types').get(u'_var'))): + if var.get(u'lineBreak').callprop(u'test', var.get(u"this").get(u'input').callprop(u'slice', var.get(u"this").get(u'state').get(u'end'))): + var.get(u"this").get(u'state').put(u'exprAllowed', var.get(u'true')) + PyJs_anonymous_2881_._set_name(u'anonymous') + var.get(u'types').get(u'name').put(u'updateContext', PyJs_anonymous_2881_) + @Js + def PyJs_anonymous_2882_(prevType, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'prevType':prevType}, var) + var.registers([u'prevType']) + var.get(u"this").get(u'state').get(u'context').callprop(u'push', (var.get(u'types$1').get(u'braceStatement') if var.get(u"this").callprop(u'braceIsBlock', var.get(u'prevType')) else var.get(u'types$1').get(u'braceExpression'))) + var.get(u"this").get(u'state').put(u'exprAllowed', var.get(u'true')) + PyJs_anonymous_2882_._set_name(u'anonymous') + var.get(u'types').get(u'braceL').put(u'updateContext', PyJs_anonymous_2882_) + @Js + def PyJs_anonymous_2883_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").get(u'state').get(u'context').callprop(u'push', var.get(u'types$1').get(u'templateQuasi')) + var.get(u"this").get(u'state').put(u'exprAllowed', var.get(u'true')) + PyJs_anonymous_2883_._set_name(u'anonymous') + var.get(u'types').get(u'dollarBraceL').put(u'updateContext', PyJs_anonymous_2883_) + @Js + def PyJs_anonymous_2884_(prevType, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'prevType':prevType}, var) + var.registers([u'prevType', u'statementParens']) + var.put(u'statementParens', (((PyJsStrictEq(var.get(u'prevType'),var.get(u'types').get(u'_if')) or PyJsStrictEq(var.get(u'prevType'),var.get(u'types').get(u'_for'))) or PyJsStrictEq(var.get(u'prevType'),var.get(u'types').get(u'_with'))) or PyJsStrictEq(var.get(u'prevType'),var.get(u'types').get(u'_while')))) + var.get(u"this").get(u'state').get(u'context').callprop(u'push', (var.get(u'types$1').get(u'parenStatement') if var.get(u'statementParens') else var.get(u'types$1').get(u'parenExpression'))) + var.get(u"this").get(u'state').put(u'exprAllowed', var.get(u'true')) + PyJs_anonymous_2884_._set_name(u'anonymous') + var.get(u'types').get(u'parenL').put(u'updateContext', PyJs_anonymous_2884_) + @Js + def PyJs_anonymous_2885_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJs_anonymous_2885_._set_name(u'anonymous') + var.get(u'types').get(u'incDec').put(u'updateContext', PyJs_anonymous_2885_) + @Js + def PyJs_anonymous_2886_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if PyJsStrictNeq(var.get(u"this").callprop(u'curContext'),var.get(u'types$1').get(u'braceStatement')): + var.get(u"this").get(u'state').get(u'context').callprop(u'push', var.get(u'types$1').get(u'functionExpression')) + var.get(u"this").get(u'state').put(u'exprAllowed', Js(False)) + PyJs_anonymous_2886_._set_name(u'anonymous') + var.get(u'types').get(u'_function').put(u'updateContext', PyJs_anonymous_2886_) + @Js + def PyJs_anonymous_2887_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if PyJsStrictEq(var.get(u"this").callprop(u'curContext'),var.get(u'types$1').get(u'template')): + var.get(u"this").get(u'state').get(u'context').callprop(u'pop') + else: + var.get(u"this").get(u'state').get(u'context').callprop(u'push', var.get(u'types$1').get(u'template')) + var.get(u"this").get(u'state').put(u'exprAllowed', Js(False)) + PyJs_anonymous_2887_._set_name(u'anonymous') + var.get(u'types').get(u'backQuote').put(u'updateContext', PyJs_anonymous_2887_) + pass + @Js + def PyJs_Position_2888_(line, col, this, arguments, var=var): + var = Scope({u'this':this, u'Position':PyJs_Position_2888_, u'line':line, u'col':col, u'arguments':arguments}, var) + var.registers([u'line', u'col']) + var.get(u'_classCallCheck$4')(var.get(u"this"), var.get(u'Position')) + var.get(u"this").put(u'line', var.get(u'line')) + var.get(u"this").put(u'column', var.get(u'col')) + PyJs_Position_2888_._set_name(u'Position') + var.put(u'Position', PyJs_Position_2888_) + @Js + def PyJs_SourceLocation_2889_(start, end, this, arguments, var=var): + var = Scope({u'this':this, u'start':start, u'end':end, u'arguments':arguments, u'SourceLocation':PyJs_SourceLocation_2889_}, var) + var.registers([u'start', u'end']) + var.get(u'_classCallCheck$4')(var.get(u"this"), var.get(u'SourceLocation')) + var.get(u"this").put(u'start', var.get(u'start')) + var.get(u"this").put(u'end', var.get(u'end')) + PyJs_SourceLocation_2889_._set_name(u'SourceLocation') + var.put(u'SourceLocation', PyJs_SourceLocation_2889_) + pass + pass + @Js + def PyJs_anonymous_2890_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'State']) + @Js + def PyJsHoisted_State_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'_classCallCheck$5')(var.get(u"this"), var.get(u'State')) + PyJsHoisted_State_.func_name = u'State' + var.put(u'State', PyJsHoisted_State_) + pass + @Js + def PyJs_init_2891_(options, input, this, arguments, var=var): + var = Scope({u'this':this, u'input':input, u'init':PyJs_init_2891_, u'options':options, u'arguments':arguments}, var) + var.registers([u'input', u'options']) + var.get(u"this").put(u'strict', (Js(False) if PyJsStrictEq(var.get(u'options').get(u'strictMode'),Js(False)) else PyJsStrictEq(var.get(u'options').get(u'sourceType'),Js(u'module')))) + var.get(u"this").put(u'input', var.get(u'input')) + var.get(u"this").put(u'potentialArrowAt', (-Js(1.0))) + var.get(u"this").put(u'inMethod', var.get(u"this").put(u'inFunction', var.get(u"this").put(u'inGenerator', var.get(u"this").put(u'inAsync', var.get(u"this").put(u'inType', Js(False)))))) + var.get(u"this").put(u'labels', Js([])) + var.get(u"this").put(u'decorators', Js([])) + var.get(u"this").put(u'tokens', Js([])) + var.get(u"this").put(u'comments', Js([])) + var.get(u"this").put(u'trailingComments', Js([])) + var.get(u"this").put(u'leadingComments', Js([])) + var.get(u"this").put(u'commentStack', Js([])) + var.get(u"this").put(u'pos', var.get(u"this").put(u'lineStart', Js(0.0))) + var.get(u"this").put(u'curLine', Js(1.0)) + var.get(u"this").put(u'type', var.get(u'types').get(u'eof')) + var.get(u"this").put(u'value', var.get(u"null")) + var.get(u"this").put(u'start', var.get(u"this").put(u'end', var.get(u"this").get(u'pos'))) + var.get(u"this").put(u'startLoc', var.get(u"this").put(u'endLoc', var.get(u"this").callprop(u'curPosition'))) + var.get(u"this").put(u'lastTokEndLoc', var.get(u"this").put(u'lastTokStartLoc', var.get(u"null"))) + var.get(u"this").put(u'lastTokStart', var.get(u"this").put(u'lastTokEnd', var.get(u"this").get(u'pos'))) + var.get(u"this").put(u'context', Js([var.get(u'types$1').get(u'braceStatement')])) + var.get(u"this").put(u'exprAllowed', var.get(u'true')) + var.get(u"this").put(u'containsEsc', var.get(u"this").put(u'containsOctal', Js(False))) + var.get(u"this").put(u'octalPosition', var.get(u"null")) + var.get(u"this").put(u'exportedIdentifiers', Js([])) + return var.get(u"this") + PyJs_init_2891_._set_name(u'init') + var.get(u'State').get(u'prototype').put(u'init', PyJs_init_2891_) + @Js + def PyJs_curPosition_2892_(this, arguments, var=var): + var = Scope({u'this':this, u'curPosition':PyJs_curPosition_2892_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'Position').create(var.get(u"this").get(u'curLine'), (var.get(u"this").get(u'pos')-var.get(u"this").get(u'lineStart'))) + PyJs_curPosition_2892_._set_name(u'curPosition') + var.get(u'State').get(u'prototype').put(u'curPosition', PyJs_curPosition_2892_) + @Js + def PyJs_clone_2893_(skipArrays, this, arguments, var=var): + var = Scope({u'this':this, u'clone':PyJs_clone_2893_, u'skipArrays':skipArrays, u'arguments':arguments}, var) + var.registers([u'state', u'val', u'key', u'skipArrays']) + var.put(u'state', var.get(u'State').create()) + for PyJsTemp in var.get(u"this"): + var.put(u'key', PyJsTemp) + var.put(u'val', var.get(u"this").get(var.get(u'key'))) + if ((var.get(u'skipArrays').neg() or PyJsStrictEq(var.get(u'key'),Js(u'context'))) and var.get(u'Array').callprop(u'isArray', var.get(u'val'))): + var.put(u'val', var.get(u'val').callprop(u'slice')) + var.get(u'state').put(var.get(u'key'), var.get(u'val')) + return var.get(u'state') + PyJs_clone_2893_._set_name(u'clone') + var.get(u'State').get(u'prototype').put(u'clone', PyJs_clone_2893_) + return var.get(u'State') + PyJs_anonymous_2890_._set_name(u'anonymous') + var.put(u'State', PyJs_anonymous_2890_()) + pass + @Js + def PyJs_Token_2894_(state, this, arguments, var=var): + var = Scope({u'this':this, u'state':state, u'Token':PyJs_Token_2894_, u'arguments':arguments}, var) + var.registers([u'state']) + var.get(u'_classCallCheck$1')(var.get(u"this"), var.get(u'Token')) + var.get(u"this").put(u'type', var.get(u'state').get(u'type')) + var.get(u"this").put(u'value', var.get(u'state').get(u'value')) + var.get(u"this").put(u'start', var.get(u'state').get(u'start')) + var.get(u"this").put(u'end', var.get(u'state').get(u'end')) + var.get(u"this").put(u'loc', var.get(u'SourceLocation').create(var.get(u'state').get(u'startLoc'), var.get(u'state').get(u'endLoc'))) + PyJs_Token_2894_._set_name(u'Token') + var.put(u'Token', PyJs_Token_2894_) + pass + @Js + def PyJs_anonymous_2895_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'Tokenizer']) + @Js + def PyJsHoisted_Tokenizer_(options, input, this, arguments, var=var): + var = Scope({u'this':this, u'input':input, u'options':options, u'arguments':arguments}, var) + var.registers([u'input', u'options']) + var.get(u'_classCallCheck$1')(var.get(u"this"), var.get(u'Tokenizer')) + var.get(u"this").put(u'state', var.get(u'State').create()) + var.get(u"this").get(u'state').callprop(u'init', var.get(u'options'), var.get(u'input')) + PyJsHoisted_Tokenizer_.func_name = u'Tokenizer' + var.put(u'Tokenizer', PyJsHoisted_Tokenizer_) + pass + @Js + def PyJs_next_2896_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'next':PyJs_next_2896_}, var) + var.registers([]) + if var.get(u"this").get(u'isLookahead').neg(): + var.get(u"this").get(u'state').get(u'tokens').callprop(u'push', var.get(u'Token').create(var.get(u"this").get(u'state'))) + var.get(u"this").get(u'state').put(u'lastTokEnd', var.get(u"this").get(u'state').get(u'end')) + var.get(u"this").get(u'state').put(u'lastTokStart', var.get(u"this").get(u'state').get(u'start')) + var.get(u"this").get(u'state').put(u'lastTokEndLoc', var.get(u"this").get(u'state').get(u'endLoc')) + var.get(u"this").get(u'state').put(u'lastTokStartLoc', var.get(u"this").get(u'state').get(u'startLoc')) + var.get(u"this").callprop(u'nextToken') + PyJs_next_2896_._set_name(u'next') + var.get(u'Tokenizer').get(u'prototype').put(u'next', PyJs_next_2896_) + @Js + def PyJs_eat_2897_(type, this, arguments, var=var): + var = Scope({u'this':this, u'type':type, u'arguments':arguments, u'eat':PyJs_eat_2897_}, var) + var.registers([u'type']) + if var.get(u"this").callprop(u'match', var.get(u'type')): + var.get(u"this").callprop(u'next') + return var.get(u'true') + else: + return Js(False) + PyJs_eat_2897_._set_name(u'eat') + var.get(u'Tokenizer').get(u'prototype').put(u'eat', PyJs_eat_2897_) + @Js + def PyJs_match_2898_(type, this, arguments, var=var): + var = Scope({u'this':this, u'type':type, u'arguments':arguments, u'match':PyJs_match_2898_}, var) + var.registers([u'type']) + return PyJsStrictEq(var.get(u"this").get(u'state').get(u'type'),var.get(u'type')) + PyJs_match_2898_._set_name(u'match') + var.get(u'Tokenizer').get(u'prototype').put(u'match', PyJs_match_2898_) + @Js + def PyJs_isKeyword_2899_(word, this, arguments, var=var): + var = Scope({u'this':this, u'isKeyword':PyJs_isKeyword_2899_, u'word':word, u'arguments':arguments}, var) + var.registers([u'word']) + return var.get(u'isKeyword$1')(var.get(u'word')) + PyJs_isKeyword_2899_._set_name(u'isKeyword') + var.get(u'Tokenizer').get(u'prototype').put(u'isKeyword', PyJs_isKeyword_2899_) + @Js + def PyJs_lookahead_2900_(this, arguments, var=var): + var = Scope({u'this':this, u'lookahead':PyJs_lookahead_2900_, u'arguments':arguments}, var) + var.registers([u'curr', u'old']) + var.put(u'old', var.get(u"this").get(u'state')) + var.get(u"this").put(u'state', var.get(u'old').callprop(u'clone', var.get(u'true'))) + var.get(u"this").put(u'isLookahead', var.get(u'true')) + var.get(u"this").callprop(u'next') + var.get(u"this").put(u'isLookahead', Js(False)) + var.put(u'curr', var.get(u"this").get(u'state').callprop(u'clone', var.get(u'true'))) + var.get(u"this").put(u'state', var.get(u'old')) + return var.get(u'curr') + PyJs_lookahead_2900_._set_name(u'lookahead') + var.get(u'Tokenizer').get(u'prototype').put(u'lookahead', PyJs_lookahead_2900_) + @Js + def PyJs_setStrict_2901_(strict, this, arguments, var=var): + var = Scope({u'this':this, u'strict':strict, u'arguments':arguments, u'setStrict':PyJs_setStrict_2901_}, var) + var.registers([u'strict']) + var.get(u"this").get(u'state').put(u'strict', var.get(u'strict')) + if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'num')).neg() and var.get(u"this").callprop(u'match', var.get(u'types').get(u'string')).neg()): + return var.get('undefined') + var.get(u"this").get(u'state').put(u'pos', var.get(u"this").get(u'state').get(u'start')) + while (var.get(u"this").get(u'state').get(u'pos')=var.get(u"this").get(u'input').get(u'length')): + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'eof')) + if var.get(u'curContext').get(u'override'): + return var.get(u'curContext').callprop(u'override', var.get(u"this")) + else: + return var.get(u"this").callprop(u'readToken', var.get(u"this").callprop(u'fullCharCodeAtPos')) + PyJs_nextToken_2903_._set_name(u'nextToken') + var.get(u'Tokenizer').get(u'prototype').put(u'nextToken', PyJs_nextToken_2903_) + @Js + def PyJs_readToken_2904_(code, this, arguments, var=var): + var = Scope({u'this':this, u'readToken':PyJs_readToken_2904_, u'code':code, u'arguments':arguments}, var) + var.registers([u'code']) + if (var.get(u'isIdentifierStart')(var.get(u'code')) or PyJsStrictEq(var.get(u'code'),Js(92.0))): + return var.get(u"this").callprop(u'readWord') + else: + return var.get(u"this").callprop(u'getTokenFromCode', var.get(u'code')) + PyJs_readToken_2904_._set_name(u'readToken') + var.get(u'Tokenizer').get(u'prototype').put(u'readToken', PyJs_readToken_2904_) + @Js + def PyJs_fullCharCodeAtPos_2905_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'fullCharCodeAtPos':PyJs_fullCharCodeAtPos_2905_}, var) + var.registers([u'code', u'next']) + var.put(u'code', var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').get(u'pos'))) + if ((var.get(u'code')<=Js(55295)) or (var.get(u'code')>=Js(57344))): + return var.get(u'code') + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(1.0)))) + return (((var.get(u'code')<Js(8.0)) and (var.get(u'ch')=Js(5760.0)) and var.get(u'nonASCIIwhitespace').callprop(u'test', var.get(u'String').callprop(u'fromCharCode', var.get(u'ch'))))): + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + else: + raise JS_BREAK_LABEL_6c6f6f70("Breaked") + SWITCHED = True + break + except JS_CONTINUE_LABEL_6c6f6f70: + pass + except JS_BREAK_LABEL_6c6f6f70: + pass + PyJs_skipSpace_2910_._set_name(u'skipSpace') + var.get(u'Tokenizer').get(u'prototype').put(u'skipSpace', PyJs_skipSpace_2910_) + @Js + def PyJs_finishToken_2911_(type, val, this, arguments, var=var): + var = Scope({u'this':this, u'type':type, u'arguments':arguments, u'val':val, u'finishToken':PyJs_finishToken_2911_}, var) + var.registers([u'type', u'val', u'prevType']) + var.get(u"this").get(u'state').put(u'end', var.get(u"this").get(u'state').get(u'pos')) + var.get(u"this").get(u'state').put(u'endLoc', var.get(u"this").get(u'state').callprop(u'curPosition')) + var.put(u'prevType', var.get(u"this").get(u'state').get(u'type')) + var.get(u"this").get(u'state').put(u'type', var.get(u'type')) + var.get(u"this").get(u'state').put(u'value', var.get(u'val')) + var.get(u"this").callprop(u'updateContext', var.get(u'prevType')) + PyJs_finishToken_2911_._set_name(u'finishToken') + var.get(u'Tokenizer').get(u'prototype').put(u'finishToken', PyJs_finishToken_2911_) + @Js + def PyJs_readToken_dot_2912_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'readToken_dot':PyJs_readToken_dot_2912_}, var) + var.registers([u'next2', u'next']) + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(1.0)))) + if ((var.get(u'next')>=Js(48.0)) and (var.get(u'next')<=Js(57.0))): + return var.get(u"this").callprop(u'readNumber', var.get(u'true')) + var.put(u'next2', var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(2.0)))) + if (PyJsStrictEq(var.get(u'next'),Js(46.0)) and PyJsStrictEq(var.get(u'next2'),Js(46.0))): + var.get(u"this").get(u'state').put(u'pos', Js(3.0), u'+') + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'ellipsis')) + else: + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'dot')) + PyJs_readToken_dot_2912_._set_name(u'readToken_dot') + var.get(u'Tokenizer').get(u'prototype').put(u'readToken_dot', PyJs_readToken_dot_2912_) + @Js + def PyJs_readToken_slash_2913_(this, arguments, var=var): + var = Scope({u'this':this, u'readToken_slash':PyJs_readToken_slash_2913_, u'arguments':arguments}, var) + var.registers([u'next']) + if var.get(u"this").get(u'state').get(u'exprAllowed'): + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'readRegexp') + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(1.0)))) + if PyJsStrictEq(var.get(u'next'),Js(61.0)): + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'assign'), Js(2.0)) + else: + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'slash'), Js(1.0)) + PyJs_readToken_slash_2913_._set_name(u'readToken_slash') + var.get(u'Tokenizer').get(u'prototype').put(u'readToken_slash', PyJs_readToken_slash_2913_) + @Js + def PyJs_readToken_mult_modulo_2914_(code, this, arguments, var=var): + var = Scope({u'this':this, u'readToken_mult_modulo':PyJs_readToken_mult_modulo_2914_, u'code':code, u'arguments':arguments}, var) + var.registers([u'width', u'code', u'type', u'next']) + var.put(u'type', (var.get(u'types').get(u'star') if PyJsStrictEq(var.get(u'code'),Js(42.0)) else var.get(u'types').get(u'modulo'))) + var.put(u'width', Js(1.0)) + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(1.0)))) + if PyJsStrictEq(var.get(u'next'),Js(42.0)): + (var.put(u'width',Js(var.get(u'width').to_number())+Js(1))-Js(1)) + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(2.0)))) + var.put(u'type', var.get(u'types').get(u'exponent')) + if PyJsStrictEq(var.get(u'next'),Js(61.0)): + (var.put(u'width',Js(var.get(u'width').to_number())+Js(1))-Js(1)) + var.put(u'type', var.get(u'types').get(u'assign')) + return var.get(u"this").callprop(u'finishOp', var.get(u'type'), var.get(u'width')) + PyJs_readToken_mult_modulo_2914_._set_name(u'readToken_mult_modulo') + var.get(u'Tokenizer').get(u'prototype').put(u'readToken_mult_modulo', PyJs_readToken_mult_modulo_2914_) + @Js + def PyJs_readToken_pipe_amp_2915_(code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments, u'readToken_pipe_amp':PyJs_readToken_pipe_amp_2915_}, var) + var.registers([u'code', u'next']) + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(1.0)))) + if PyJsStrictEq(var.get(u'next'),var.get(u'code')): + return var.get(u"this").callprop(u'finishOp', (var.get(u'types').get(u'logicalOR') if PyJsStrictEq(var.get(u'code'),Js(124.0)) else var.get(u'types').get(u'logicalAND')), Js(2.0)) + if PyJsStrictEq(var.get(u'next'),Js(61.0)): + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'assign'), Js(2.0)) + if ((PyJsStrictEq(var.get(u'code'),Js(124.0)) and PyJsStrictEq(var.get(u'next'),Js(125.0))) and var.get(u"this").callprop(u'hasPlugin', Js(u'flow'))): + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'braceBarR'), Js(2.0)) + return var.get(u"this").callprop(u'finishOp', (var.get(u'types').get(u'bitwiseOR') if PyJsStrictEq(var.get(u'code'),Js(124.0)) else var.get(u'types').get(u'bitwiseAND')), Js(1.0)) + PyJs_readToken_pipe_amp_2915_._set_name(u'readToken_pipe_amp') + var.get(u'Tokenizer').get(u'prototype').put(u'readToken_pipe_amp', PyJs_readToken_pipe_amp_2915_) + @Js + def PyJs_readToken_caret_2916_(this, arguments, var=var): + var = Scope({u'this':this, u'readToken_caret':PyJs_readToken_caret_2916_, u'arguments':arguments}, var) + var.registers([u'next']) + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(1.0)))) + if PyJsStrictEq(var.get(u'next'),Js(61.0)): + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'assign'), Js(2.0)) + else: + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'bitwiseXOR'), Js(1.0)) + PyJs_readToken_caret_2916_._set_name(u'readToken_caret') + var.get(u'Tokenizer').get(u'prototype').put(u'readToken_caret', PyJs_readToken_caret_2916_) + @Js + def PyJs_readToken_plus_min_2917_(code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments, u'readToken_plus_min':PyJs_readToken_plus_min_2917_}, var) + var.registers([u'code', u'next']) + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(1.0)))) + if PyJsStrictEq(var.get(u'next'),var.get(u'code')): + if ((PyJsStrictEq(var.get(u'next'),Js(45.0)) and PyJsStrictEq(var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(2.0))),Js(62.0))) and var.get(u'lineBreak').callprop(u'test', var.get(u"this").get(u'input').callprop(u'slice', var.get(u"this").get(u'state').get(u'lastTokEnd'), var.get(u"this").get(u'state').get(u'pos')))): + var.get(u"this").callprop(u'skipLineComment', Js(3.0)) + var.get(u"this").callprop(u'skipSpace') + return var.get(u"this").callprop(u'nextToken') + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'incDec'), Js(2.0)) + if PyJsStrictEq(var.get(u'next'),Js(61.0)): + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'assign'), Js(2.0)) + else: + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'plusMin'), Js(1.0)) + PyJs_readToken_plus_min_2917_._set_name(u'readToken_plus_min') + var.get(u'Tokenizer').get(u'prototype').put(u'readToken_plus_min', PyJs_readToken_plus_min_2917_) + @Js + def PyJs_readToken_lt_gt_2918_(code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments, u'readToken_lt_gt':PyJs_readToken_lt_gt_2918_}, var) + var.registers([u'code', u'size', u'next']) + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(1.0)))) + var.put(u'size', Js(1.0)) + if PyJsStrictEq(var.get(u'next'),var.get(u'code')): + var.put(u'size', (Js(3.0) if (PyJsStrictEq(var.get(u'code'),Js(62.0)) and PyJsStrictEq(var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(2.0))),Js(62.0))) else Js(2.0))) + if PyJsStrictEq(var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+var.get(u'size'))),Js(61.0)): + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'assign'), (var.get(u'size')+Js(1.0))) + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'bitShift'), var.get(u'size')) + if (((PyJsStrictEq(var.get(u'next'),Js(33.0)) and PyJsStrictEq(var.get(u'code'),Js(60.0))) and PyJsStrictEq(var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(2.0))),Js(45.0))) and PyJsStrictEq(var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(3.0))),Js(45.0))): + if var.get(u"this").get(u'inModule'): + var.get(u"this").callprop(u'unexpected') + var.get(u"this").callprop(u'skipLineComment', Js(4.0)) + var.get(u"this").callprop(u'skipSpace') + return var.get(u"this").callprop(u'nextToken') + if PyJsStrictEq(var.get(u'next'),Js(61.0)): + var.put(u'size', Js(2.0)) + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'relational'), var.get(u'size')) + PyJs_readToken_lt_gt_2918_._set_name(u'readToken_lt_gt') + var.get(u'Tokenizer').get(u'prototype').put(u'readToken_lt_gt', PyJs_readToken_lt_gt_2918_) + @Js + def PyJs_readToken_eq_excl_2919_(code, this, arguments, var=var): + var = Scope({u'this':this, u'readToken_eq_excl':PyJs_readToken_eq_excl_2919_, u'code':code, u'arguments':arguments}, var) + var.registers([u'code', u'next']) + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(1.0)))) + if PyJsStrictEq(var.get(u'next'),Js(61.0)): + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'equality'), (Js(3.0) if PyJsStrictEq(var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(2.0))),Js(61.0)) else Js(2.0))) + if (PyJsStrictEq(var.get(u'code'),Js(61.0)) and PyJsStrictEq(var.get(u'next'),Js(62.0))): + var.get(u"this").get(u'state').put(u'pos', Js(2.0), u'+') + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'arrow')) + return var.get(u"this").callprop(u'finishOp', (var.get(u'types').get(u'eq') if PyJsStrictEq(var.get(u'code'),Js(61.0)) else var.get(u'types').get(u'prefix')), Js(1.0)) + PyJs_readToken_eq_excl_2919_._set_name(u'readToken_eq_excl') + var.get(u'Tokenizer').get(u'prototype').put(u'readToken_eq_excl', PyJs_readToken_eq_excl_2919_) + @Js + def PyJs_getTokenFromCode_2920_(code, this, arguments, var=var): + var = Scope({u'this':this, u'getTokenFromCode':PyJs_getTokenFromCode_2920_, u'code':code, u'arguments':arguments}, var) + var.registers([u'code', u'next']) + while 1: + SWITCHED = False + CONDITION = (var.get(u'code')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(46.0)): + SWITCHED = True + return var.get(u"this").callprop(u'readToken_dot') + if SWITCHED or PyJsStrictEq(CONDITION, Js(40.0)): + SWITCHED = True + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'parenL')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(41.0)): + SWITCHED = True + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'parenR')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(59.0)): + SWITCHED = True + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'semi')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(44.0)): + SWITCHED = True + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'comma')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(91.0)): + SWITCHED = True + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'bracketL')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(93.0)): + SWITCHED = True + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'bracketR')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(123.0)): + SWITCHED = True + if (var.get(u"this").callprop(u'hasPlugin', Js(u'flow')) and PyJsStrictEq(var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(1.0))),Js(124.0))): + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'braceBarL'), Js(2.0)) + else: + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'braceL')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(125.0)): + SWITCHED = True + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'braceR')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(58.0)): + SWITCHED = True + if (var.get(u"this").callprop(u'hasPlugin', Js(u'functionBind')) and PyJsStrictEq(var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(1.0))),Js(58.0))): + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'doubleColon'), Js(2.0)) + else: + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'colon')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(63.0)): + SWITCHED = True + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'question')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(64.0)): + SWITCHED = True + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'at')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(96.0)): + SWITCHED = True + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'backQuote')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(48.0)): + SWITCHED = True + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(1.0)))) + if (PyJsStrictEq(var.get(u'next'),Js(120.0)) or PyJsStrictEq(var.get(u'next'),Js(88.0))): + return var.get(u"this").callprop(u'readRadixNumber', Js(16.0)) + if (PyJsStrictEq(var.get(u'next'),Js(111.0)) or PyJsStrictEq(var.get(u'next'),Js(79.0))): + return var.get(u"this").callprop(u'readRadixNumber', Js(8.0)) + if (PyJsStrictEq(var.get(u'next'),Js(98.0)) or PyJsStrictEq(var.get(u'next'),Js(66.0))): + return var.get(u"this").callprop(u'readRadixNumber', Js(2.0)) + if SWITCHED or PyJsStrictEq(CONDITION, Js(49.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(50.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(51.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(52.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(53.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(54.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(55.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(56.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(57.0)): + SWITCHED = True + return var.get(u"this").callprop(u'readNumber', Js(False)) + if SWITCHED or PyJsStrictEq(CONDITION, Js(34.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(39.0)): + SWITCHED = True + return var.get(u"this").callprop(u'readString', var.get(u'code')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(47.0)): + SWITCHED = True + return var.get(u"this").callprop(u'readToken_slash') + if SWITCHED or PyJsStrictEq(CONDITION, Js(37.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(42.0)): + SWITCHED = True + return var.get(u"this").callprop(u'readToken_mult_modulo', var.get(u'code')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(124.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(38.0)): + SWITCHED = True + return var.get(u"this").callprop(u'readToken_pipe_amp', var.get(u'code')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(94.0)): + SWITCHED = True + return var.get(u"this").callprop(u'readToken_caret') + if SWITCHED or PyJsStrictEq(CONDITION, Js(43.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(45.0)): + SWITCHED = True + return var.get(u"this").callprop(u'readToken_plus_min', var.get(u'code')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(60.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(62.0)): + SWITCHED = True + return var.get(u"this").callprop(u'readToken_lt_gt', var.get(u'code')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(61.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(33.0)): + SWITCHED = True + return var.get(u"this").callprop(u'readToken_eq_excl', var.get(u'code')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(126.0)): + SWITCHED = True + return var.get(u"this").callprop(u'finishOp', var.get(u'types').get(u'prefix'), Js(1.0)) + SWITCHED = True + break + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'pos'), ((Js(u"Unexpected character '")+var.get(u'codePointToString')(var.get(u'code')))+Js(u"'"))) + PyJs_getTokenFromCode_2920_._set_name(u'getTokenFromCode') + var.get(u'Tokenizer').get(u'prototype').put(u'getTokenFromCode', PyJs_getTokenFromCode_2920_) + @Js + def PyJs_finishOp_2921_(type, size, this, arguments, var=var): + var = Scope({u'this':this, u'finishOp':PyJs_finishOp_2921_, u'type':type, u'arguments':arguments, u'size':size}, var) + var.registers([u'type', u'str', u'size']) + var.put(u'str', var.get(u"this").get(u'input').callprop(u'slice', var.get(u"this").get(u'state').get(u'pos'), (var.get(u"this").get(u'state').get(u'pos')+var.get(u'size')))) + var.get(u"this").get(u'state').put(u'pos', var.get(u'size'), u'+') + return var.get(u"this").callprop(u'finishToken', var.get(u'type'), var.get(u'str')) + PyJs_finishOp_2921_._set_name(u'finishOp') + var.get(u'Tokenizer').get(u'prototype').put(u'finishOp', PyJs_finishOp_2921_) + @Js + def PyJs_readRegexp_2922_(this, arguments, var=var): + var = Scope({u'this':this, u'readRegexp':PyJs_readRegexp_2922_, u'arguments':arguments}, var) + var.registers([u'content', u'ch', u'inClass', u'escaped', u'start', u'mods', u'validFlags']) + var.put(u'escaped', PyJsComma(Js(0.0), Js(None))) + var.put(u'inClass', PyJsComma(Js(0.0), Js(None))) + var.put(u'start', var.get(u"this").get(u'state').get(u'pos')) + #for JS loop + + while 1: + if (var.get(u"this").get(u'state').get(u'pos')>=var.get(u"this").get(u'input').get(u'length')): + var.get(u"this").callprop(u'raise', var.get(u'start'), Js(u'Unterminated regular expression')) + var.put(u'ch', var.get(u"this").get(u'input').callprop(u'charAt', var.get(u"this").get(u'state').get(u'pos'))) + if var.get(u'lineBreak').callprop(u'test', var.get(u'ch')): + var.get(u"this").callprop(u'raise', var.get(u'start'), Js(u'Unterminated regular expression')) + if var.get(u'escaped'): + var.put(u'escaped', Js(False)) + else: + if PyJsStrictEq(var.get(u'ch'),Js(u'[')): + var.put(u'inClass', var.get(u'true')) + else: + if (PyJsStrictEq(var.get(u'ch'),Js(u']')) and var.get(u'inClass')): + var.put(u'inClass', Js(False)) + else: + if (PyJsStrictEq(var.get(u'ch'),Js(u'/')) and var.get(u'inClass').neg()): + break + var.put(u'escaped', PyJsStrictEq(var.get(u'ch'),Js(u'\\'))) + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + + var.put(u'content', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'start'), var.get(u"this").get(u'state').get(u'pos'))) + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + var.put(u'mods', var.get(u"this").callprop(u'readWord1')) + if var.get(u'mods'): + var.put(u'validFlags', JsRegExp(u'/^[gmsiyu]*$/')) + if var.get(u'validFlags').callprop(u'test', var.get(u'mods')).neg(): + var.get(u"this").callprop(u'raise', var.get(u'start'), Js(u'Invalid regular expression flag')) + PyJs_Object_2923_ = Js({u'pattern':var.get(u'content'),u'flags':var.get(u'mods')}) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'regexp'), PyJs_Object_2923_) + PyJs_readRegexp_2922_._set_name(u'readRegexp') + var.get(u'Tokenizer').get(u'prototype').put(u'readRegexp', PyJs_readRegexp_2922_) + @Js + def PyJs_readInt_2924_(radix, len, this, arguments, var=var): + var = Scope({u'this':this, u'readInt':PyJs_readInt_2924_, u'radix':radix, u'arguments':arguments, u'len':len}, var) + var.registers([u'code', u'e', u'val', u'i', u'len', u'start', u'radix', u'total']) + var.put(u'start', var.get(u"this").get(u'state').get(u'pos')) + var.put(u'total', Js(0.0)) + #for JS loop + var.put(u'i', Js(0.0)) + var.put(u'e', (var.get(u'Infinity') if (var.get(u'len')==var.get(u"null")) else var.get(u'len'))) + while (var.get(u'i')=Js(97.0)): + var.put(u'val', ((var.get(u'code')-Js(97.0))+Js(10.0))) + else: + if (var.get(u'code')>=Js(65.0)): + var.put(u'val', ((var.get(u'code')-Js(65.0))+Js(10.0))) + else: + if ((var.get(u'code')>=Js(48.0)) and (var.get(u'code')<=Js(57.0))): + var.put(u'val', (var.get(u'code')-Js(48.0))) + else: + var.put(u'val', var.get(u'Infinity')) + if (var.get(u'val')>=var.get(u'radix')): + break + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + var.put(u'total', ((var.get(u'total')*var.get(u'radix'))+var.get(u'val'))) + finally: + var.put(u'i',Js(var.get(u'i').to_number())+Js(1)) + if (PyJsStrictEq(var.get(u"this").get(u'state').get(u'pos'),var.get(u'start')) or ((var.get(u'len')!=var.get(u"null")) and PyJsStrictNeq((var.get(u"this").get(u'state').get(u'pos')-var.get(u'start')),var.get(u'len')))): + return var.get(u"null") + return var.get(u'total') + PyJs_readInt_2924_._set_name(u'readInt') + var.get(u'Tokenizer').get(u'prototype').put(u'readInt', PyJs_readInt_2924_) + @Js + def PyJs_readRadixNumber_2925_(radix, this, arguments, var=var): + var = Scope({u'this':this, u'radix':radix, u'arguments':arguments, u'readRadixNumber':PyJs_readRadixNumber_2925_}, var) + var.registers([u'radix', u'val']) + var.get(u"this").get(u'state').put(u'pos', Js(2.0), u'+') + var.put(u'val', var.get(u"this").callprop(u'readInt', var.get(u'radix'))) + if (var.get(u'val')==var.get(u"null")): + var.get(u"this").callprop(u'raise', (var.get(u"this").get(u'state').get(u'start')+Js(2.0)), (Js(u'Expected number in radix ')+var.get(u'radix'))) + if var.get(u'isIdentifierStart')(var.get(u"this").callprop(u'fullCharCodeAtPos')): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'pos'), Js(u'Identifier directly after number')) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'num'), var.get(u'val')) + PyJs_readRadixNumber_2925_._set_name(u'readRadixNumber') + var.get(u'Tokenizer').get(u'prototype').put(u'readRadixNumber', PyJs_readRadixNumber_2925_) + @Js + def PyJs_readNumber_2926_(startsWithDot, this, arguments, var=var): + var = Scope({u'this':this, u'startsWithDot':startsWithDot, u'arguments':arguments, u'readNumber':PyJs_readNumber_2926_}, var) + var.registers([u'isFloat', u'val', u'next', u'start', u'str', u'octal', u'startsWithDot']) + var.put(u'start', var.get(u"this").get(u'state').get(u'pos')) + var.put(u'isFloat', Js(False)) + var.put(u'octal', PyJsStrictEq(var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').get(u'pos')),Js(48.0))) + if (var.get(u'startsWithDot').neg() and PyJsStrictEq(var.get(u"this").callprop(u'readInt', Js(10.0)),var.get(u"null"))): + var.get(u"this").callprop(u'raise', var.get(u'start'), Js(u'Invalid number')) + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').get(u'pos'))) + if PyJsStrictEq(var.get(u'next'),Js(46.0)): + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + var.get(u"this").callprop(u'readInt', Js(10.0)) + var.put(u'isFloat', var.get(u'true')) + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').get(u'pos'))) + if (PyJsStrictEq(var.get(u'next'),Js(69.0)) or PyJsStrictEq(var.get(u'next'),Js(101.0))): + var.put(u'next', var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)))) + if (PyJsStrictEq(var.get(u'next'),Js(43.0)) or PyJsStrictEq(var.get(u'next'),Js(45.0))): + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + if PyJsStrictEq(var.get(u"this").callprop(u'readInt', Js(10.0)),var.get(u"null")): + var.get(u"this").callprop(u'raise', var.get(u'start'), Js(u'Invalid number')) + var.put(u'isFloat', var.get(u'true')) + if var.get(u'isIdentifierStart')(var.get(u"this").callprop(u'fullCharCodeAtPos')): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'pos'), Js(u'Identifier directly after number')) + var.put(u'str', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'start'), var.get(u"this").get(u'state').get(u'pos'))) + var.put(u'val', PyJsComma(Js(0.0), Js(None))) + if var.get(u'isFloat'): + var.put(u'val', var.get(u'parseFloat')(var.get(u'str'))) + else: + if (var.get(u'octal').neg() or PyJsStrictEq(var.get(u'str').get(u'length'),Js(1.0))): + var.put(u'val', var.get(u'parseInt')(var.get(u'str'), Js(10.0))) + else: + if (JsRegExp(u'/[89]/').callprop(u'test', var.get(u'str')) or var.get(u"this").get(u'state').get(u'strict')): + var.get(u"this").callprop(u'raise', var.get(u'start'), Js(u'Invalid number')) + else: + var.put(u'val', var.get(u'parseInt')(var.get(u'str'), Js(8.0))) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'num'), var.get(u'val')) + PyJs_readNumber_2926_._set_name(u'readNumber') + var.get(u'Tokenizer').get(u'prototype').put(u'readNumber', PyJs_readNumber_2926_) + @Js + def PyJs_readCodePoint_2927_(this, arguments, var=var): + var = Scope({u'this':this, u'readCodePoint':PyJs_readCodePoint_2927_, u'arguments':arguments}, var) + var.registers([u'code', u'ch', u'codePos']) + var.put(u'ch', var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').get(u'pos'))) + var.put(u'code', PyJsComma(Js(0.0), Js(None))) + if PyJsStrictEq(var.get(u'ch'),Js(123.0)): + var.put(u'codePos', var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1))) + var.put(u'code', var.get(u"this").callprop(u'readHexChar', (var.get(u"this").get(u'input').callprop(u'indexOf', Js(u'}'), var.get(u"this").get(u'state').get(u'pos'))-var.get(u"this").get(u'state').get(u'pos')))) + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + if (var.get(u'code')>Js(1114111)): + var.get(u"this").callprop(u'raise', var.get(u'codePos'), Js(u'Code point out of bounds')) + else: + var.put(u'code', var.get(u"this").callprop(u'readHexChar', Js(4.0))) + return var.get(u'code') + PyJs_readCodePoint_2927_._set_name(u'readCodePoint') + var.get(u'Tokenizer').get(u'prototype').put(u'readCodePoint', PyJs_readCodePoint_2927_) + @Js + def PyJs_readString_2928_(quote, this, arguments, var=var): + var = Scope({u'this':this, u'quote':quote, u'arguments':arguments, u'readString':PyJs_readString_2928_}, var) + var.registers([u'ch', u'quote', u'chunkStart', u'out']) + var.put(u'out', Js(u'')) + var.put(u'chunkStart', var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1))) + #for JS loop + + while 1: + if (var.get(u"this").get(u'state').get(u'pos')>=var.get(u"this").get(u'input').get(u'length')): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'start'), Js(u'Unterminated string constant')) + var.put(u'ch', var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').get(u'pos'))) + if PyJsStrictEq(var.get(u'ch'),var.get(u'quote')): + break + if PyJsStrictEq(var.get(u'ch'),Js(92.0)): + var.put(u'out', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'chunkStart'), var.get(u"this").get(u'state').get(u'pos')), u'+') + var.put(u'out', var.get(u"this").callprop(u'readEscapedChar', Js(False)), u'+') + var.put(u'chunkStart', var.get(u"this").get(u'state').get(u'pos')) + else: + if var.get(u'isNewLine')(var.get(u'ch')): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'start'), Js(u'Unterminated string constant')) + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + + var.put(u'out', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'chunkStart'), (var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1))-Js(1))), u'+') + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'string'), var.get(u'out')) + PyJs_readString_2928_._set_name(u'readString') + var.get(u'Tokenizer').get(u'prototype').put(u'readString', PyJs_readString_2928_) + @Js + def PyJs_readTmplToken_2929_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'readTmplToken':PyJs_readTmplToken_2929_}, var) + var.registers([u'ch', u'chunkStart', u'out']) + var.put(u'out', Js(u'')) + var.put(u'chunkStart', var.get(u"this").get(u'state').get(u'pos')) + #for JS loop + + while 1: + if (var.get(u"this").get(u'state').get(u'pos')>=var.get(u"this").get(u'input').get(u'length')): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'start'), Js(u'Unterminated template')) + var.put(u'ch', var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').get(u'pos'))) + if (PyJsStrictEq(var.get(u'ch'),Js(96.0)) or (PyJsStrictEq(var.get(u'ch'),Js(36.0)) and PyJsStrictEq(var.get(u"this").get(u'input').callprop(u'charCodeAt', (var.get(u"this").get(u'state').get(u'pos')+Js(1.0))),Js(123.0)))): + if (PyJsStrictEq(var.get(u"this").get(u'state').get(u'pos'),var.get(u"this").get(u'state').get(u'start')) and var.get(u"this").callprop(u'match', var.get(u'types').get(u'template'))): + if PyJsStrictEq(var.get(u'ch'),Js(36.0)): + var.get(u"this").get(u'state').put(u'pos', Js(2.0), u'+') + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'dollarBraceL')) + else: + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'backQuote')) + var.put(u'out', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'chunkStart'), var.get(u"this").get(u'state').get(u'pos')), u'+') + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'template'), var.get(u'out')) + if PyJsStrictEq(var.get(u'ch'),Js(92.0)): + var.put(u'out', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'chunkStart'), var.get(u"this").get(u'state').get(u'pos')), u'+') + var.put(u'out', var.get(u"this").callprop(u'readEscapedChar', var.get(u'true')), u'+') + var.put(u'chunkStart', var.get(u"this").get(u'state').get(u'pos')) + else: + if var.get(u'isNewLine')(var.get(u'ch')): + var.put(u'out', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'chunkStart'), var.get(u"this").get(u'state').get(u'pos')), u'+') + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + while 1: + SWITCHED = False + CONDITION = (var.get(u'ch')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(13.0)): + SWITCHED = True + if PyJsStrictEq(var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').get(u'pos')),Js(10.0)): + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + if SWITCHED or PyJsStrictEq(CONDITION, Js(10.0)): + SWITCHED = True + var.put(u'out', Js(u'\n'), u'+') + break + if True: + SWITCHED = True + var.put(u'out', var.get(u'String').callprop(u'fromCharCode', var.get(u'ch')), u'+') + break + SWITCHED = True + break + var.get(u"this").get(u'state').put(u'curLine',Js(var.get(u"this").get(u'state').get(u'curLine').to_number())+Js(1)) + var.get(u"this").get(u'state').put(u'lineStart', var.get(u"this").get(u'state').get(u'pos')) + var.put(u'chunkStart', var.get(u"this").get(u'state').get(u'pos')) + else: + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + + PyJs_readTmplToken_2929_._set_name(u'readTmplToken') + var.get(u'Tokenizer').get(u'prototype').put(u'readTmplToken', PyJs_readTmplToken_2929_) + @Js + def PyJs_readEscapedChar_2930_(inTemplate, this, arguments, var=var): + var = Scope({u'this':this, u'readEscapedChar':PyJs_readEscapedChar_2930_, u'inTemplate':inTemplate, u'arguments':arguments}, var) + var.registers([u'octal', u'octalStr', u'ch', u'inTemplate']) + var.put(u'ch', var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)))) + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + while 1: + SWITCHED = False + CONDITION = (var.get(u'ch')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(110.0)): + SWITCHED = True + return Js(u'\n') + if SWITCHED or PyJsStrictEq(CONDITION, Js(114.0)): + SWITCHED = True + return Js(u'\r') + if SWITCHED or PyJsStrictEq(CONDITION, Js(120.0)): + SWITCHED = True + return var.get(u'String').callprop(u'fromCharCode', var.get(u"this").callprop(u'readHexChar', Js(2.0))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(117.0)): + SWITCHED = True + return var.get(u'codePointToString')(var.get(u"this").callprop(u'readCodePoint')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(116.0)): + SWITCHED = True + return Js(u'\t') + if SWITCHED or PyJsStrictEq(CONDITION, Js(98.0)): + SWITCHED = True + return Js(u'\x08') + if SWITCHED or PyJsStrictEq(CONDITION, Js(118.0)): + SWITCHED = True + return Js(u'\x0b') + if SWITCHED or PyJsStrictEq(CONDITION, Js(102.0)): + SWITCHED = True + return Js(u'\x0c') + if SWITCHED or PyJsStrictEq(CONDITION, Js(13.0)): + SWITCHED = True + if PyJsStrictEq(var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').get(u'pos')),Js(10.0)): + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + if SWITCHED or PyJsStrictEq(CONDITION, Js(10.0)): + SWITCHED = True + var.get(u"this").get(u'state').put(u'lineStart', var.get(u"this").get(u'state').get(u'pos')) + var.get(u"this").get(u'state').put(u'curLine',Js(var.get(u"this").get(u'state').get(u'curLine').to_number())+Js(1)) + return Js(u'') + if True: + SWITCHED = True + if ((var.get(u'ch')>=Js(48.0)) and (var.get(u'ch')<=Js(55.0))): + var.put(u'octalStr', var.get(u"this").get(u'input').callprop(u'substr', (var.get(u"this").get(u'state').get(u'pos')-Js(1.0)), Js(3.0)).callprop(u'match', JsRegExp(u'/^[0-7]+/')).get(u'0')) + var.put(u'octal', var.get(u'parseInt')(var.get(u'octalStr'), Js(8.0))) + if (var.get(u'octal')>Js(255.0)): + var.put(u'octalStr', var.get(u'octalStr').callprop(u'slice', Js(0.0), (-Js(1.0)))) + var.put(u'octal', var.get(u'parseInt')(var.get(u'octalStr'), Js(8.0))) + if (var.get(u'octal')>Js(0.0)): + if var.get(u"this").get(u'state').get(u'containsOctal').neg(): + var.get(u"this").get(u'state').put(u'containsOctal', var.get(u'true')) + var.get(u"this").get(u'state').put(u'octalPosition', (var.get(u"this").get(u'state').get(u'pos')-Js(2.0))) + if (var.get(u"this").get(u'state').get(u'strict') or var.get(u'inTemplate')): + var.get(u"this").callprop(u'raise', (var.get(u"this").get(u'state').get(u'pos')-Js(2.0)), Js(u'Octal literal in strict mode')) + var.get(u"this").get(u'state').put(u'pos', (var.get(u'octalStr').get(u'length')-Js(1.0)), u'+') + return var.get(u'String').callprop(u'fromCharCode', var.get(u'octal')) + return var.get(u'String').callprop(u'fromCharCode', var.get(u'ch')) + SWITCHED = True + break + PyJs_readEscapedChar_2930_._set_name(u'readEscapedChar') + var.get(u'Tokenizer').get(u'prototype').put(u'readEscapedChar', PyJs_readEscapedChar_2930_) + @Js + def PyJs_readHexChar_2931_(len, this, arguments, var=var): + var = Scope({u'this':this, u'readHexChar':PyJs_readHexChar_2931_, u'arguments':arguments, u'len':len}, var) + var.registers([u'codePos', u'len', u'n']) + var.put(u'codePos', var.get(u"this").get(u'state').get(u'pos')) + var.put(u'n', var.get(u"this").callprop(u'readInt', Js(16.0), var.get(u'len'))) + if PyJsStrictEq(var.get(u'n'),var.get(u"null")): + var.get(u"this").callprop(u'raise', var.get(u'codePos'), Js(u'Bad character escape sequence')) + return var.get(u'n') + PyJs_readHexChar_2931_._set_name(u'readHexChar') + var.get(u'Tokenizer').get(u'prototype').put(u'readHexChar', PyJs_readHexChar_2931_) + @Js + def PyJs_readWord1_2932_(this, arguments, var=var): + var = Scope({u'this':this, u'readWord1':PyJs_readWord1_2932_, u'arguments':arguments}, var) + var.registers([u'ch', u'word', u'chunkStart', u'escStart', u'esc', u'first']) + var.get(u"this").get(u'state').put(u'containsEsc', Js(False)) + var.put(u'word', Js(u'')) + var.put(u'first', var.get(u'true')) + var.put(u'chunkStart', var.get(u"this").get(u'state').get(u'pos')) + while (var.get(u"this").get(u'state').get(u'pos')=Js(0.0)): + @Js + def PyJs_anonymous_2944_(plugin, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'plugin':plugin}, var) + var.registers([u'plugin']) + return PyJsStrictNeq(var.get(u'plugin'),Js(u'flow')) + PyJs_anonymous_2944_._set_name(u'anonymous') + var.put(u'pluginList', var.get(u'pluginList').callprop(u'filter', PyJs_anonymous_2944_)) + var.get(u'pluginList').callprop(u'push', Js(u'flow')) + #for JS loop + var.put(u'_iterator', var.get(u'pluginList')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else var.get(u'_iterator').callprop(var.get(u'Symbol').get(u'iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'name', var.get(u'_ref')) + if var.get(u'pluginMap').get(var.get(u'name')).neg(): + var.get(u'pluginMap').put(var.get(u'name'), var.get(u'true')) + var.put(u'plugin', var.get(u'plugins').get(var.get(u'name'))) + if var.get(u'plugin'): + var.get(u'plugin')(var.get(u"this")) + + return var.get(u'pluginMap') + PyJs_loadPlugins_2942_._set_name(u'loadPlugins') + var.get(u'Parser').get(u'prototype').put(u'loadPlugins', PyJs_loadPlugins_2942_) + @Js + def PyJs_parse_2945_(this, arguments, var=var): + var = Scope({u'this':this, u'parse':PyJs_parse_2945_, u'arguments':arguments}, var) + var.registers([u'program', u'file']) + var.put(u'file', var.get(u"this").callprop(u'startNode')) + var.put(u'program', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'nextToken') + return var.get(u"this").callprop(u'parseTopLevel', var.get(u'file'), var.get(u'program')) + PyJs_parse_2945_._set_name(u'parse') + var.get(u'Parser').get(u'prototype').put(u'parse', PyJs_parse_2945_) + return var.get(u'Parser') + PyJs_anonymous_2939_._set_name(u'anonymous') + var.put(u'Parser', PyJs_anonymous_2939_(var.get(u'Tokenizer'))) + @Js + def PyJs_anonymous_2946_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + return var.get(u'obj',throw=False).typeof() + PyJs_anonymous_2946_._set_name(u'anonymous') + @Js + def PyJs_anonymous_2947_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + return (Js(u'symbol') if (((var.get(u'obj') and PyJsStrictEq(var.get(u'Symbol',throw=False).typeof(),Js(u'function'))) and PyJsStrictEq(var.get(u'obj').get(u'constructor'),var.get(u'Symbol'))) and PyJsStrictNeq(var.get(u'obj'),var.get(u'Symbol').get(u'prototype'))) else var.get(u'obj',throw=False).typeof()) + PyJs_anonymous_2947_._set_name(u'anonymous') + var.put(u'_typeof', (PyJs_anonymous_2946_ if (PyJsStrictEq(var.get(u'Symbol',throw=False).typeof(),Js(u'function')) and PyJsStrictEq(var.get(u'Symbol').get(u'iterator').typeof(),Js(u'symbol'))) else PyJs_anonymous_2947_)) + var.put(u'pp', var.get(u'Parser').get(u'prototype')) + @Js + def PyJs_anonymous_2948_(node, key, val, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'val':val, u'key':key, u'arguments':arguments}, var) + var.registers([u'node', u'val', u'key', u'extra']) + if var.get(u'node').neg(): + return var.get('undefined') + PyJs_Object_2949_ = Js({}) + var.put(u'extra', var.get(u'node').put(u'extra', (var.get(u'node').get(u'extra') or PyJs_Object_2949_))) + var.get(u'extra').put(var.get(u'key'), var.get(u'val')) + PyJs_anonymous_2948_._set_name(u'anonymous') + var.get(u'pp').put(u'addExtra', PyJs_anonymous_2948_) + @Js + def PyJs_anonymous_2950_(op, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'op':op}, var) + var.registers([u'op']) + return (var.get(u"this").callprop(u'match', var.get(u'types').get(u'relational')) and PyJsStrictEq(var.get(u"this").get(u'state').get(u'value'),var.get(u'op'))) + PyJs_anonymous_2950_._set_name(u'anonymous') + var.get(u'pp').put(u'isRelational', PyJs_anonymous_2950_) + @Js + def PyJs_anonymous_2951_(op, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'op':op}, var) + var.registers([u'op']) + if var.get(u"this").callprop(u'isRelational', var.get(u'op')): + var.get(u"this").callprop(u'next') + else: + var.get(u"this").callprop(u'unexpected', var.get(u"null"), var.get(u'types').get(u'relational')) + PyJs_anonymous_2951_._set_name(u'anonymous') + var.get(u'pp').put(u'expectRelational', PyJs_anonymous_2951_) + @Js + def PyJs_anonymous_2952_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + return (var.get(u"this").callprop(u'match', var.get(u'types').get(u'name')) and PyJsStrictEq(var.get(u"this").get(u'state').get(u'value'),var.get(u'name'))) + PyJs_anonymous_2952_._set_name(u'anonymous') + var.get(u'pp').put(u'isContextual', PyJs_anonymous_2952_) + @Js + def PyJs_anonymous_2953_(name, this, arguments, var=var): + var = Scope({u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + return (PyJsStrictEq(var.get(u"this").get(u'state').get(u'value'),var.get(u'name')) and var.get(u"this").callprop(u'eat', var.get(u'types').get(u'name'))) + PyJs_anonymous_2953_._set_name(u'anonymous') + var.get(u'pp').put(u'eatContextual', PyJs_anonymous_2953_) + @Js + def PyJs_anonymous_2954_(name, message, this, arguments, var=var): + var = Scope({u'this':this, u'message':message, u'name':name, u'arguments':arguments}, var) + var.registers([u'message', u'name']) + if var.get(u"this").callprop(u'eatContextual', var.get(u'name')).neg(): + var.get(u"this").callprop(u'unexpected', var.get(u"null"), var.get(u'message')) + PyJs_anonymous_2954_._set_name(u'anonymous') + var.get(u'pp').put(u'expectContextual', PyJs_anonymous_2954_) + @Js + def PyJs_anonymous_2955_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return ((var.get(u"this").callprop(u'match', var.get(u'types').get(u'eof')) or var.get(u"this").callprop(u'match', var.get(u'types').get(u'braceR'))) or var.get(u'lineBreak').callprop(u'test', var.get(u"this").get(u'input').callprop(u'slice', var.get(u"this").get(u'state').get(u'lastTokEnd'), var.get(u"this").get(u'state').get(u'start')))) + PyJs_anonymous_2955_._set_name(u'anonymous') + var.get(u'pp').put(u'canInsertSemicolon', PyJs_anonymous_2955_) + @Js + def PyJs_anonymous_2956_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return (var.get(u"this").callprop(u'eat', var.get(u'types').get(u'semi')) or var.get(u"this").callprop(u'canInsertSemicolon')) + PyJs_anonymous_2956_._set_name(u'anonymous') + var.get(u'pp').put(u'isLineTerminator', PyJs_anonymous_2956_) + @Js + def PyJs_anonymous_2957_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if var.get(u"this").callprop(u'isLineTerminator').neg(): + var.get(u"this").callprop(u'unexpected', var.get(u"null"), var.get(u'types').get(u'semi')) + PyJs_anonymous_2957_._set_name(u'anonymous') + var.get(u'pp').put(u'semicolon', PyJs_anonymous_2957_) + @Js + def PyJs_anonymous_2958_(type, pos, this, arguments, var=var): + var = Scope({u'this':this, u'type':type, u'pos':pos, u'arguments':arguments}, var) + var.registers([u'type', u'pos']) + return (var.get(u"this").callprop(u'eat', var.get(u'type')) or var.get(u"this").callprop(u'unexpected', var.get(u'pos'), var.get(u'type'))) + PyJs_anonymous_2958_._set_name(u'anonymous') + var.get(u'pp').put(u'expect', PyJs_anonymous_2958_) + @Js + def PyJs_anonymous_2959_(pos, this, arguments, var=var): + var = Scope({u'this':this, u'pos':pos, u'arguments':arguments}, var) + var.registers([u'pos', u'messageOrType']) + var.put(u'messageOrType', (var.get(u'arguments').get(u'1') if ((var.get(u'arguments').get(u'length')>Js(1.0)) and PyJsStrictNeq(var.get(u'arguments').get(u'1'),var.get(u'undefined'))) else Js(u'Unexpected token'))) + if ((var.get(u'messageOrType') and PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'messageOrType',throw=False).typeof(),Js(u'undefined')) else var.get(u'_typeof')(var.get(u'messageOrType'))),Js(u'object'))) and var.get(u'messageOrType').get(u'label')): + var.put(u'messageOrType', (Js(u'Unexpected token, expected ')+var.get(u'messageOrType').get(u'label'))) + var.get(u"this").callprop(u'raise', (var.get(u'pos') if (var.get(u'pos')!=var.get(u"null")) else var.get(u"this").get(u'state').get(u'start')), var.get(u'messageOrType')) + PyJs_anonymous_2959_._set_name(u'anonymous') + var.get(u'pp').put(u'unexpected', PyJs_anonymous_2959_) + var.put(u'pp$1', var.get(u'Parser').get(u'prototype')) + @Js + def PyJs_anonymous_2960_(file, program, this, arguments, var=var): + var = Scope({u'this':this, u'program':program, u'arguments':arguments, u'file':file}, var) + var.registers([u'program', u'file']) + var.get(u'program').put(u'sourceType', var.get(u"this").get(u'options').get(u'sourceType')) + var.get(u"this").callprop(u'parseBlockBody', var.get(u'program'), var.get(u'true'), var.get(u'true'), var.get(u'types').get(u'eof')) + var.get(u'file').put(u'program', var.get(u"this").callprop(u'finishNode', var.get(u'program'), Js(u'Program'))) + var.get(u'file').put(u'comments', var.get(u"this").get(u'state').get(u'comments')) + var.get(u'file').put(u'tokens', var.get(u"this").get(u'state').get(u'tokens')) + return var.get(u"this").callprop(u'finishNode', var.get(u'file'), Js(u'File')) + PyJs_anonymous_2960_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseTopLevel', PyJs_anonymous_2960_) + PyJs_Object_2961_ = Js({u'kind':Js(u'loop')}) + var.put(u'loopLabel', PyJs_Object_2961_) + PyJs_Object_2962_ = Js({u'kind':Js(u'switch')}) + var.put(u'switchLabel', PyJs_Object_2962_) + @Js + def PyJs_anonymous_2963_(stmt, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'stmt':stmt}, var) + var.registers([u'directiveLiteral', u'directive', u'val', u'expr', u'stmt', u'raw']) + var.put(u'expr', var.get(u'stmt').get(u'expression')) + var.put(u'directiveLiteral', var.get(u"this").callprop(u'startNodeAt', var.get(u'expr').get(u'start'), var.get(u'expr').get(u'loc').get(u'start'))) + var.put(u'directive', var.get(u"this").callprop(u'startNodeAt', var.get(u'stmt').get(u'start'), var.get(u'stmt').get(u'loc').get(u'start'))) + var.put(u'raw', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'expr').get(u'start'), var.get(u'expr').get(u'end'))) + var.put(u'val', var.get(u'directiveLiteral').put(u'value', var.get(u'raw').callprop(u'slice', Js(1.0), (-Js(1.0))))) + var.get(u"this").callprop(u'addExtra', var.get(u'directiveLiteral'), Js(u'raw'), var.get(u'raw')) + var.get(u"this").callprop(u'addExtra', var.get(u'directiveLiteral'), Js(u'rawValue'), var.get(u'val')) + var.get(u'directive').put(u'value', var.get(u"this").callprop(u'finishNodeAt', var.get(u'directiveLiteral'), Js(u'DirectiveLiteral'), var.get(u'expr').get(u'end'), var.get(u'expr').get(u'loc').get(u'end'))) + return var.get(u"this").callprop(u'finishNodeAt', var.get(u'directive'), Js(u'Directive'), var.get(u'stmt').get(u'end'), var.get(u'stmt').get(u'loc').get(u'end')) + PyJs_anonymous_2963_._set_name(u'anonymous') + var.get(u'pp$1').put(u'stmtToDirective', PyJs_anonymous_2963_) + @Js + def PyJs_anonymous_2964_(declaration, topLevel, this, arguments, var=var): + var = Scope({u'this':this, u'topLevel':topLevel, u'arguments':arguments, u'declaration':declaration}, var) + var.registers([u'node', u'expr', u'topLevel', u'state', u'starttype', u'declaration', u'maybeName']) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'at')): + var.get(u"this").callprop(u'parseDecorators', var.get(u'true')) + var.put(u'starttype', var.get(u"this").get(u'state').get(u'type')) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + while 1: + SWITCHED = False + CONDITION = (var.get(u'starttype')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_break')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_continue')): + SWITCHED = True + return var.get(u"this").callprop(u'parseBreakContinueStatement', var.get(u'node'), var.get(u'starttype').get(u'keyword')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_debugger')): + SWITCHED = True + return var.get(u"this").callprop(u'parseDebuggerStatement', var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_do')): + SWITCHED = True + return var.get(u"this").callprop(u'parseDoStatement', var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_for')): + SWITCHED = True + return var.get(u"this").callprop(u'parseForStatement', var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_function')): + SWITCHED = True + if var.get(u'declaration').neg(): + var.get(u"this").callprop(u'unexpected') + return var.get(u"this").callprop(u'parseFunctionStatement', var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_class')): + SWITCHED = True + if var.get(u'declaration').neg(): + var.get(u"this").callprop(u'unexpected') + var.get(u"this").callprop(u'takeDecorators', var.get(u'node')) + return var.get(u"this").callprop(u'parseClass', var.get(u'node'), var.get(u'true')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_if')): + SWITCHED = True + return var.get(u"this").callprop(u'parseIfStatement', var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_return')): + SWITCHED = True + return var.get(u"this").callprop(u'parseReturnStatement', var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_switch')): + SWITCHED = True + return var.get(u"this").callprop(u'parseSwitchStatement', var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_throw')): + SWITCHED = True + return var.get(u"this").callprop(u'parseThrowStatement', var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_try')): + SWITCHED = True + return var.get(u"this").callprop(u'parseTryStatement', var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_let')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_const')): + SWITCHED = True + if var.get(u'declaration').neg(): + var.get(u"this").callprop(u'unexpected') + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_var')): + SWITCHED = True + return var.get(u"this").callprop(u'parseVarStatement', var.get(u'node'), var.get(u'starttype')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_while')): + SWITCHED = True + return var.get(u"this").callprop(u'parseWhileStatement', var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_with')): + SWITCHED = True + return var.get(u"this").callprop(u'parseWithStatement', var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'braceL')): + SWITCHED = True + return var.get(u"this").callprop(u'parseBlock') + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'semi')): + SWITCHED = True + return var.get(u"this").callprop(u'parseEmptyStatement', var.get(u'node')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_export')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_import')): + SWITCHED = True + if (var.get(u"this").callprop(u'hasPlugin', Js(u'dynamicImport')) and PyJsStrictEq(var.get(u"this").callprop(u'lookahead').get(u'type'),var.get(u'types').get(u'parenL'))): + break + if var.get(u"this").get(u'options').get(u'allowImportExportEverywhere').neg(): + if var.get(u'topLevel').neg(): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'start'), Js(u"'import' and 'export' may only appear at the top level")) + if var.get(u"this").get(u'inModule').neg(): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'start'), Js(u"'import' and 'export' may appear only with 'sourceType: module'")) + return (var.get(u"this").callprop(u'parseImport', var.get(u'node')) if PyJsStrictEq(var.get(u'starttype'),var.get(u'types').get(u'_import')) else var.get(u"this").callprop(u'parseExport', var.get(u'node'))) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'name')): + SWITCHED = True + if PyJsStrictEq(var.get(u"this").get(u'state').get(u'value'),Js(u'async')): + var.put(u'state', var.get(u"this").get(u'state').callprop(u'clone')) + var.get(u"this").callprop(u'next') + if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'_function')) and var.get(u"this").callprop(u'canInsertSemicolon').neg()): + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'_function')) + return var.get(u"this").callprop(u'parseFunction', var.get(u'node'), var.get(u'true'), Js(False), var.get(u'true')) + else: + var.get(u"this").put(u'state', var.get(u'state')) + SWITCHED = True + break + var.put(u'maybeName', var.get(u"this").get(u'state').get(u'value')) + var.put(u'expr', var.get(u"this").callprop(u'parseExpression')) + if ((PyJsStrictEq(var.get(u'starttype'),var.get(u'types').get(u'name')) and PyJsStrictEq(var.get(u'expr').get(u'type'),Js(u'Identifier'))) and var.get(u"this").callprop(u'eat', var.get(u'types').get(u'colon'))): + return var.get(u"this").callprop(u'parseLabeledStatement', var.get(u'node'), var.get(u'maybeName'), var.get(u'expr')) + else: + return var.get(u"this").callprop(u'parseExpressionStatement', var.get(u'node'), var.get(u'expr')) + PyJs_anonymous_2964_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseStatement', PyJs_anonymous_2964_) + @Js + def PyJs_anonymous_2965_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u"this").get(u'state').get(u'decorators').get(u'length'): + var.get(u'node').put(u'decorators', var.get(u"this").get(u'state').get(u'decorators')) + var.get(u"this").get(u'state').put(u'decorators', Js([])) + PyJs_anonymous_2965_._set_name(u'anonymous') + var.get(u'pp$1').put(u'takeDecorators', PyJs_anonymous_2965_) + @Js + def PyJs_anonymous_2966_(allowExport, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'allowExport':allowExport}, var) + var.registers([u'allowExport']) + while var.get(u"this").callprop(u'match', var.get(u'types').get(u'at')): + var.get(u"this").get(u'state').get(u'decorators').callprop(u'push', var.get(u"this").callprop(u'parseDecorator')) + if (var.get(u'allowExport') and var.get(u"this").callprop(u'match', var.get(u'types').get(u'_export'))): + return var.get('undefined') + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'_class')).neg(): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'start'), Js(u'Leading decorators must be attached to a class declaration')) + PyJs_anonymous_2966_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseDecorators', PyJs_anonymous_2966_) + @Js + def PyJs_anonymous_2967_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u"this").callprop(u'hasPlugin', Js(u'decorators')).neg(): + var.get(u"this").callprop(u'unexpected') + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'next') + var.get(u'node').put(u'expression', var.get(u"this").callprop(u'parseMaybeAssign')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'Decorator')) + PyJs_anonymous_2967_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseDecorator', PyJs_anonymous_2967_) + @Js + def PyJs_anonymous_2968_(node, keyword, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'keyword':keyword}, var) + var.registers([u'i', u'node', u'isBreak', u'keyword', u'lab']) + var.put(u'isBreak', PyJsStrictEq(var.get(u'keyword'),Js(u'break'))) + var.get(u"this").callprop(u'next') + if var.get(u"this").callprop(u'isLineTerminator'): + var.get(u'node').put(u'label', var.get(u"null")) + else: + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'name')).neg(): + var.get(u"this").callprop(u'unexpected') + else: + var.get(u'node').put(u'label', var.get(u"this").callprop(u'parseIdentifier')) + var.get(u"this").callprop(u'semicolon') + var.put(u'i', PyJsComma(Js(0.0), Js(None))) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'_label', var.get(u'_ref')) + if PyJsStrictEq(var.get(u'_label').get(u'name'),var.get(u'maybeName')): + var.get(u"this").callprop(u'raise', var.get(u'expr').get(u'start'), ((Js(u"Label '")+var.get(u'maybeName'))+Js(u"' is already declared"))) + + var.put(u'kind', (Js(u'loop') if var.get(u"this").get(u'state').get(u'type').get(u'isLoop') else (Js(u'switch') if var.get(u"this").callprop(u'match', var.get(u'types').get(u'_switch')) else var.get(u"null")))) + #for JS loop + var.put(u'i', (var.get(u"this").get(u'state').get(u'labels').get(u'length')-Js(1.0))) + while (var.get(u'i')>=Js(0.0)): + try: + var.put(u'label', var.get(u"this").get(u'state').get(u'labels').get(var.get(u'i'))) + if PyJsStrictEq(var.get(u'label').get(u'statementStart'),var.get(u'node').get(u'start')): + var.get(u'label').put(u'statementStart', var.get(u"this").get(u'state').get(u'start')) + var.get(u'label').put(u'kind', var.get(u'kind')) + else: + break + finally: + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + PyJs_Object_2984_ = Js({u'name':var.get(u'maybeName'),u'kind':var.get(u'kind'),u'statementStart':var.get(u"this").get(u'state').get(u'start')}) + var.get(u"this").get(u'state').get(u'labels').callprop(u'push', PyJs_Object_2984_) + var.get(u'node').put(u'body', var.get(u"this").callprop(u'parseStatement', var.get(u'true'))) + var.get(u"this").get(u'state').get(u'labels').callprop(u'pop') + var.get(u'node').put(u'label', var.get(u'expr')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'LabeledStatement')) + PyJs_anonymous_2983_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseLabeledStatement', PyJs_anonymous_2983_) + @Js + def PyJs_anonymous_2985_(node, expr, this, arguments, var=var): + var = Scope({u'node':node, u'expr':expr, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'expr']) + var.get(u'node').put(u'expression', var.get(u'expr')) + var.get(u"this").callprop(u'semicolon') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ExpressionStatement')) + PyJs_anonymous_2985_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseExpressionStatement', PyJs_anonymous_2985_) + @Js + def PyJs_anonymous_2986_(allowDirectives, this, arguments, var=var): + var = Scope({u'this':this, u'allowDirectives':allowDirectives, u'arguments':arguments}, var) + var.registers([u'node', u'allowDirectives']) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'braceL')) + var.get(u"this").callprop(u'parseBlockBody', var.get(u'node'), var.get(u'allowDirectives'), Js(False), var.get(u'types').get(u'braceR')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'BlockStatement')) + PyJs_anonymous_2986_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseBlock', PyJs_anonymous_2986_) + @Js + def PyJs_anonymous_2987_(node, allowDirectives, topLevel, end, this, arguments, var=var): + var = Scope({u'node':node, u'topLevel':topLevel, u'allowDirectives':allowDirectives, u'end':end, u'arguments':arguments, u'this':this}, var) + var.registers([u'node', u'allowDirectives', u'end', u'parsedNonDirective', u'directive', u'topLevel', u'stmt', u'octalPosition', u'oldStrict']) + var.get(u'node').put(u'body', Js([])) + var.get(u'node').put(u'directives', Js([])) + var.put(u'parsedNonDirective', Js(False)) + var.put(u'oldStrict', PyJsComma(Js(0.0), Js(None))) + var.put(u'octalPosition', PyJsComma(Js(0.0), Js(None))) + while var.get(u"this").callprop(u'eat', var.get(u'end')).neg(): + if ((var.get(u'parsedNonDirective').neg() and var.get(u"this").get(u'state').get(u'containsOctal')) and var.get(u'octalPosition').neg()): + var.put(u'octalPosition', var.get(u"this").get(u'state').get(u'octalPosition')) + var.put(u'stmt', var.get(u"this").callprop(u'parseStatement', var.get(u'true'), var.get(u'topLevel'))) + if ((((var.get(u'allowDirectives') and var.get(u'parsedNonDirective').neg()) and PyJsStrictEq(var.get(u'stmt').get(u'type'),Js(u'ExpressionStatement'))) and PyJsStrictEq(var.get(u'stmt').get(u'expression').get(u'type'),Js(u'StringLiteral'))) and var.get(u'stmt').get(u'expression').get(u'extra').get(u'parenthesized').neg()): + var.put(u'directive', var.get(u"this").callprop(u'stmtToDirective', var.get(u'stmt'))) + var.get(u'node').get(u'directives').callprop(u'push', var.get(u'directive')) + if (PyJsStrictEq(var.get(u'oldStrict'),var.get(u'undefined')) and PyJsStrictEq(var.get(u'directive').get(u'value').get(u'value'),Js(u'use strict'))): + var.put(u'oldStrict', var.get(u"this").get(u'state').get(u'strict')) + var.get(u"this").callprop(u'setStrict', var.get(u'true')) + if var.get(u'octalPosition'): + var.get(u"this").callprop(u'raise', var.get(u'octalPosition'), Js(u'Octal literal in strict mode')) + continue + var.put(u'parsedNonDirective', var.get(u'true')) + var.get(u'node').get(u'body').callprop(u'push', var.get(u'stmt')) + if PyJsStrictEq(var.get(u'oldStrict'),Js(False)): + var.get(u"this").callprop(u'setStrict', Js(False)) + PyJs_anonymous_2987_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseBlockBody', PyJs_anonymous_2987_) + @Js + def PyJs_anonymous_2988_(node, init, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'init':init, u'arguments':arguments}, var) + var.registers([u'node', u'init']) + var.get(u'node').put(u'init', var.get(u'init')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'semi')) + var.get(u'node').put(u'test', (var.get(u"null") if var.get(u"this").callprop(u'match', var.get(u'types').get(u'semi')) else var.get(u"this").callprop(u'parseExpression'))) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'semi')) + var.get(u'node').put(u'update', (var.get(u"null") if var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenR')) else var.get(u"this").callprop(u'parseExpression'))) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'parenR')) + var.get(u'node').put(u'body', var.get(u"this").callprop(u'parseStatement', Js(False))) + var.get(u"this").get(u'state').get(u'labels').callprop(u'pop') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ForStatement')) + PyJs_anonymous_2988_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseFor', PyJs_anonymous_2988_) + @Js + def PyJs_anonymous_2989_(node, init, forAwait, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'init':init, u'forAwait':forAwait, u'arguments':arguments}, var) + var.registers([u'node', u'init', u'type', u'forAwait']) + var.put(u'type', PyJsComma(Js(0.0), Js(None))) + if var.get(u'forAwait'): + var.get(u"this").callprop(u'eatContextual', Js(u'of')) + var.put(u'type', Js(u'ForAwaitStatement')) + else: + var.put(u'type', (Js(u'ForInStatement') if var.get(u"this").callprop(u'match', var.get(u'types').get(u'_in')) else Js(u'ForOfStatement'))) + var.get(u"this").callprop(u'next') + var.get(u'node').put(u'left', var.get(u'init')) + var.get(u'node').put(u'right', var.get(u"this").callprop(u'parseExpression')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'parenR')) + var.get(u'node').put(u'body', var.get(u"this").callprop(u'parseStatement', Js(False))) + var.get(u"this").get(u'state').get(u'labels').callprop(u'pop') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), var.get(u'type')) + PyJs_anonymous_2989_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseForIn', PyJs_anonymous_2989_) + @Js + def PyJs_anonymous_2990_(node, isFor, kind, this, arguments, var=var): + var = Scope({u'node':node, u'isFor':isFor, u'kind':kind, u'this':this, u'arguments':arguments}, var) + var.registers([u'decl', u'node', u'kind', u'isFor']) + var.get(u'node').put(u'declarations', Js([])) + var.get(u'node').put(u'kind', var.get(u'kind').get(u'keyword')) + #for JS loop + + while 1: + var.put(u'decl', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'parseVarHead', var.get(u'decl')) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'eq')): + var.get(u'decl').put(u'init', var.get(u"this").callprop(u'parseMaybeAssign', var.get(u'isFor'))) + else: + if (PyJsStrictEq(var.get(u'kind'),var.get(u'types').get(u'_const')) and (var.get(u"this").callprop(u'match', var.get(u'types').get(u'_in')) or var.get(u"this").callprop(u'isContextual', Js(u'of'))).neg()): + var.get(u"this").callprop(u'unexpected') + else: + if (PyJsStrictNeq(var.get(u'decl').get(u'id').get(u'type'),Js(u'Identifier')) and (var.get(u'isFor') and (var.get(u"this").callprop(u'match', var.get(u'types').get(u'_in')) or var.get(u"this").callprop(u'isContextual', Js(u'of')))).neg()): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'lastTokEnd'), Js(u'Complex binding patterns require an initialization value')) + else: + var.get(u'decl').put(u'init', var.get(u"null")) + var.get(u'node').get(u'declarations').callprop(u'push', var.get(u"this").callprop(u'finishNode', var.get(u'decl'), Js(u'VariableDeclarator'))) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'comma')).neg(): + break + + return var.get(u'node') + PyJs_anonymous_2990_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseVar', PyJs_anonymous_2990_) + @Js + def PyJs_anonymous_2991_(decl, this, arguments, var=var): + var = Scope({u'decl':decl, u'this':this, u'arguments':arguments}, var) + var.registers([u'decl']) + var.get(u'decl').put(u'id', var.get(u"this").callprop(u'parseBindingAtom')) + var.get(u"this").callprop(u'checkLVal', var.get(u'decl').get(u'id'), var.get(u'true'), var.get(u'undefined'), Js(u'variable declaration')) + PyJs_anonymous_2991_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseVarHead', PyJs_anonymous_2991_) + @Js + def PyJs_anonymous_2992_(node, isStatement, allowExpressionBody, isAsync, optionalId, this, arguments, var=var): + var = Scope({u'node':node, u'optionalId':optionalId, u'isAsync':isAsync, u'arguments':arguments, u'this':this, u'isStatement':isStatement, u'allowExpressionBody':allowExpressionBody}, var) + var.registers([u'node', u'optionalId', u'isAsync', u'oldInMethod', u'isStatement', u'allowExpressionBody']) + var.put(u'oldInMethod', var.get(u"this").get(u'state').get(u'inMethod')) + var.get(u"this").get(u'state').put(u'inMethod', Js(False)) + var.get(u"this").callprop(u'initFunction', var.get(u'node'), var.get(u'isAsync')) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'star')): + if (var.get(u'node').get(u'async') and var.get(u"this").callprop(u'hasPlugin', Js(u'asyncGenerators')).neg()): + var.get(u"this").callprop(u'unexpected') + else: + var.get(u'node').put(u'generator', var.get(u'true')) + var.get(u"this").callprop(u'next') + if (((var.get(u'isStatement') and var.get(u'optionalId').neg()) and var.get(u"this").callprop(u'match', var.get(u'types').get(u'name')).neg()) and var.get(u"this").callprop(u'match', var.get(u'types').get(u'_yield')).neg()): + var.get(u"this").callprop(u'unexpected') + if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'name')) or var.get(u"this").callprop(u'match', var.get(u'types').get(u'_yield'))): + var.get(u'node').put(u'id', var.get(u"this").callprop(u'parseBindingIdentifier')) + var.get(u"this").callprop(u'parseFunctionParams', var.get(u'node')) + var.get(u"this").callprop(u'parseFunctionBody', var.get(u'node'), var.get(u'allowExpressionBody')) + var.get(u"this").get(u'state').put(u'inMethod', var.get(u'oldInMethod')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), (Js(u'FunctionDeclaration') if var.get(u'isStatement') else Js(u'FunctionExpression'))) + PyJs_anonymous_2992_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseFunction', PyJs_anonymous_2992_) + @Js + def PyJs_anonymous_2993_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'parenL')) + var.get(u'node').put(u'params', var.get(u"this").callprop(u'parseBindingList', var.get(u'types').get(u'parenR'))) + PyJs_anonymous_2993_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseFunctionParams', PyJs_anonymous_2993_) + @Js + def PyJs_anonymous_2994_(node, isStatement, optionalId, this, arguments, var=var): + var = Scope({u'node':node, u'optionalId':optionalId, u'this':this, u'isStatement':isStatement, u'arguments':arguments}, var) + var.registers([u'node', u'optionalId', u'isStatement']) + var.get(u"this").callprop(u'next') + var.get(u"this").callprop(u'parseClassId', var.get(u'node'), var.get(u'isStatement'), var.get(u'optionalId')) + var.get(u"this").callprop(u'parseClassSuper', var.get(u'node')) + var.get(u"this").callprop(u'parseClassBody', var.get(u'node')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), (Js(u'ClassDeclaration') if var.get(u'isStatement') else Js(u'ClassExpression'))) + PyJs_anonymous_2994_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseClass', PyJs_anonymous_2994_) + @Js + def PyJs_anonymous_2995_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return (var.get(u"this").callprop(u'match', var.get(u'types').get(u'eq')) or var.get(u"this").callprop(u'isLineTerminator')) + PyJs_anonymous_2995_._set_name(u'anonymous') + var.get(u'pp$1').put(u'isClassProperty', PyJs_anonymous_2995_) + @Js + def PyJs_anonymous_2996_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return Js(False) + PyJs_anonymous_2996_._set_name(u'anonymous') + var.get(u'pp$1').put(u'isClassMutatorStarter', PyJs_anonymous_2996_) + @Js + def PyJs_anonymous_2997_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'isStaticPrototype', u'hadConstructor', u'isConstructorCall', u'isGetSet', u'isGenerator', u'start', u'paramCount', u'isMaybeStatic', u'classBody', u'key', u'isConstructor', u'isAsync', u'isAsyncMethod', u'hadConstructorCall', u'decorators', u'method', u'oldStrict']) + var.put(u'oldStrict', var.get(u"this").get(u'state').get(u'strict')) + var.get(u"this").get(u'state').put(u'strict', var.get(u'true')) + var.put(u'hadConstructorCall', Js(False)) + var.put(u'hadConstructor', Js(False)) + var.put(u'decorators', Js([])) + var.put(u'classBody', var.get(u"this").callprop(u'startNode')) + var.get(u'classBody').put(u'body', Js([])) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'braceL')) + while var.get(u"this").callprop(u'eat', var.get(u'types').get(u'braceR')).neg(): + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'semi')): + continue + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'at')): + var.get(u'decorators').callprop(u'push', var.get(u"this").callprop(u'parseDecorator')) + continue + var.put(u'method', var.get(u"this").callprop(u'startNode')) + if var.get(u'decorators').get(u'length'): + var.get(u'method').put(u'decorators', var.get(u'decorators')) + var.put(u'decorators', Js([])) + var.put(u'isConstructorCall', Js(False)) + var.put(u'isMaybeStatic', (var.get(u"this").callprop(u'match', var.get(u'types').get(u'name')) and PyJsStrictEq(var.get(u"this").get(u'state').get(u'value'),Js(u'static')))) + var.put(u'isGenerator', var.get(u"this").callprop(u'eat', var.get(u'types').get(u'star'))) + var.put(u'isGetSet', Js(False)) + var.put(u'isAsync', Js(False)) + var.get(u"this").callprop(u'parsePropertyName', var.get(u'method')) + var.get(u'method').put(u'static', (var.get(u'isMaybeStatic') and var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenL')).neg())) + if var.get(u'method').get(u'static'): + var.put(u'isGenerator', var.get(u"this").callprop(u'eat', var.get(u'types').get(u'star'))) + var.get(u"this").callprop(u'parsePropertyName', var.get(u'method')) + if var.get(u'isGenerator').neg(): + if var.get(u"this").callprop(u'isClassProperty'): + var.get(u'classBody').get(u'body').callprop(u'push', var.get(u"this").callprop(u'parseClassProperty', var.get(u'method'))) + continue + def PyJs_LONG_2998_(var=var): + return (((((PyJsStrictEq(var.get(u'method').get(u'key').get(u'type'),Js(u'Identifier')) and var.get(u'method').get(u'computed').neg()) and var.get(u"this").callprop(u'hasPlugin', Js(u'classConstructorCall'))) and PyJsStrictEq(var.get(u'method').get(u'key').get(u'name'),Js(u'call'))) and var.get(u"this").callprop(u'match', var.get(u'types').get(u'name'))) and PyJsStrictEq(var.get(u"this").get(u'state').get(u'value'),Js(u'constructor'))) + if PyJs_LONG_2998_(): + var.put(u'isConstructorCall', var.get(u'true')) + var.get(u"this").callprop(u'parsePropertyName', var.get(u'method')) + var.put(u'isAsyncMethod', (((var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenL')).neg() and var.get(u'method').get(u'computed').neg()) and PyJsStrictEq(var.get(u'method').get(u'key').get(u'type'),Js(u'Identifier'))) and PyJsStrictEq(var.get(u'method').get(u'key').get(u'name'),Js(u'async')))) + if var.get(u'isAsyncMethod'): + if (var.get(u"this").callprop(u'hasPlugin', Js(u'asyncGenerators')) and var.get(u"this").callprop(u'eat', var.get(u'types').get(u'star'))): + var.put(u'isGenerator', var.get(u'true')) + var.put(u'isAsync', var.get(u'true')) + var.get(u"this").callprop(u'parsePropertyName', var.get(u'method')) + var.get(u'method').put(u'kind', Js(u'method')) + if var.get(u'method').get(u'computed').neg(): + var.put(u'key', var.get(u'method').get(u'key')) + if (((((var.get(u'isAsync').neg() and var.get(u'isGenerator').neg()) and var.get(u"this").callprop(u'isClassMutatorStarter').neg()) and PyJsStrictEq(var.get(u'key').get(u'type'),Js(u'Identifier'))) and var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenL')).neg()) and (PyJsStrictEq(var.get(u'key').get(u'name'),Js(u'get')) or PyJsStrictEq(var.get(u'key').get(u'name'),Js(u'set')))): + var.put(u'isGetSet', var.get(u'true')) + var.get(u'method').put(u'kind', var.get(u'key').get(u'name')) + var.put(u'key', var.get(u"this").callprop(u'parsePropertyName', var.get(u'method'))) + var.put(u'isConstructor', ((var.get(u'isConstructorCall').neg() and var.get(u'method').get(u'static').neg()) and ((PyJsStrictEq(var.get(u'key').get(u'type'),Js(u'Identifier')) and PyJsStrictEq(var.get(u'key').get(u'name'),Js(u'constructor'))) or (PyJsStrictEq(var.get(u'key').get(u'type'),Js(u'StringLiteral')) and PyJsStrictEq(var.get(u'key').get(u'value'),Js(u'constructor')))))) + if var.get(u'isConstructor'): + if var.get(u'hadConstructor'): + var.get(u"this").callprop(u'raise', var.get(u'key').get(u'start'), Js(u'Duplicate constructor in the same class')) + if var.get(u'isGetSet'): + var.get(u"this").callprop(u'raise', var.get(u'key').get(u'start'), Js(u"Constructor can't have get/set modifier")) + if var.get(u'isGenerator'): + var.get(u"this").callprop(u'raise', var.get(u'key').get(u'start'), Js(u"Constructor can't be a generator")) + if var.get(u'isAsync'): + var.get(u"this").callprop(u'raise', var.get(u'key').get(u'start'), Js(u"Constructor can't be an async function")) + var.get(u'method').put(u'kind', Js(u'constructor')) + var.put(u'hadConstructor', var.get(u'true')) + var.put(u'isStaticPrototype', (var.get(u'method').get(u'static') and ((PyJsStrictEq(var.get(u'key').get(u'type'),Js(u'Identifier')) and PyJsStrictEq(var.get(u'key').get(u'name'),Js(u'prototype'))) or (PyJsStrictEq(var.get(u'key').get(u'type'),Js(u'StringLiteral')) and PyJsStrictEq(var.get(u'key').get(u'value'),Js(u'prototype')))))) + if var.get(u'isStaticPrototype'): + var.get(u"this").callprop(u'raise', var.get(u'key').get(u'start'), Js(u'Classes may not have static property named prototype')) + if var.get(u'isConstructorCall'): + if var.get(u'hadConstructorCall'): + var.get(u"this").callprop(u'raise', var.get(u'method').get(u'start'), Js(u'Duplicate constructor call in the same class')) + var.get(u'method').put(u'kind', Js(u'constructorCall')) + var.put(u'hadConstructorCall', var.get(u'true')) + if ((PyJsStrictEq(var.get(u'method').get(u'kind'),Js(u'constructor')) or PyJsStrictEq(var.get(u'method').get(u'kind'),Js(u'constructorCall'))) and var.get(u'method').get(u'decorators')): + var.get(u"this").callprop(u'raise', var.get(u'method').get(u'start'), Js(u"You can't attach decorators to a class constructor")) + var.get(u"this").callprop(u'parseClassMethod', var.get(u'classBody'), var.get(u'method'), var.get(u'isGenerator'), var.get(u'isAsync')) + if var.get(u'isGetSet'): + var.put(u'paramCount', (Js(0.0) if PyJsStrictEq(var.get(u'method').get(u'kind'),Js(u'get')) else Js(1.0))) + if PyJsStrictNeq(var.get(u'method').get(u'params').get(u'length'),var.get(u'paramCount')): + var.put(u'start', var.get(u'method').get(u'start')) + if PyJsStrictEq(var.get(u'method').get(u'kind'),Js(u'get')): + var.get(u"this").callprop(u'raise', var.get(u'start'), Js(u'getter should have no params')) + else: + var.get(u"this").callprop(u'raise', var.get(u'start'), Js(u'setter should have exactly one param')) + if var.get(u'decorators').get(u'length'): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'start'), Js(u'You have trailing decorators with no method')) + var.get(u'node').put(u'body', var.get(u"this").callprop(u'finishNode', var.get(u'classBody'), Js(u'ClassBody'))) + var.get(u"this").get(u'state').put(u'strict', var.get(u'oldStrict')) + PyJs_anonymous_2997_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseClassBody', PyJs_anonymous_2997_) + @Js + def PyJs_anonymous_2999_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'eq')): + if var.get(u"this").callprop(u'hasPlugin', Js(u'classProperties')).neg(): + var.get(u"this").callprop(u'unexpected') + var.get(u"this").callprop(u'next') + var.get(u'node').put(u'value', var.get(u"this").callprop(u'parseMaybeAssign')) + else: + var.get(u'node').put(u'value', var.get(u"null")) + var.get(u"this").callprop(u'semicolon') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ClassProperty')) + PyJs_anonymous_2999_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseClassProperty', PyJs_anonymous_2999_) + @Js + def PyJs_anonymous_3000_(classBody, method, isGenerator, isAsync, this, arguments, var=var): + var = Scope({u'isAsync':isAsync, u'classBody':classBody, u'this':this, u'isGenerator':isGenerator, u'method':method, u'arguments':arguments}, var) + var.registers([u'isAsync', u'isGenerator', u'classBody', u'method']) + var.get(u"this").callprop(u'parseMethod', var.get(u'method'), var.get(u'isGenerator'), var.get(u'isAsync')) + var.get(u'classBody').get(u'body').callprop(u'push', var.get(u"this").callprop(u'finishNode', var.get(u'method'), Js(u'ClassMethod'))) + PyJs_anonymous_3000_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseClassMethod', PyJs_anonymous_3000_) + @Js + def PyJs_anonymous_3001_(node, isStatement, optionalId, this, arguments, var=var): + var = Scope({u'node':node, u'optionalId':optionalId, u'this':this, u'isStatement':isStatement, u'arguments':arguments}, var) + var.registers([u'node', u'optionalId', u'isStatement']) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'name')): + var.get(u'node').put(u'id', var.get(u"this").callprop(u'parseIdentifier')) + else: + if (var.get(u'optionalId') or var.get(u'isStatement').neg()): + var.get(u'node').put(u'id', var.get(u"null")) + else: + var.get(u"this").callprop(u'unexpected') + PyJs_anonymous_3001_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseClassId', PyJs_anonymous_3001_) + @Js + def PyJs_anonymous_3002_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u'node').put(u'superClass', (var.get(u"this").callprop(u'parseExprSubscripts') if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'_extends')) else var.get(u"null"))) + PyJs_anonymous_3002_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseClassSuper', PyJs_anonymous_3002_) + @Js + def PyJs_anonymous_3003_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'specifier', u'expr', u'_specifier', u'_specifier2', u'needsSemi']) + var.get(u"this").callprop(u'next') + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'star')): + var.put(u'specifier', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'next') + if (var.get(u"this").callprop(u'hasPlugin', Js(u'exportExtensions')) and var.get(u"this").callprop(u'eatContextual', Js(u'as'))): + var.get(u'specifier').put(u'exported', var.get(u"this").callprop(u'parseIdentifier')) + var.get(u'node').put(u'specifiers', Js([var.get(u"this").callprop(u'finishNode', var.get(u'specifier'), Js(u'ExportNamespaceSpecifier'))])) + var.get(u"this").callprop(u'parseExportSpecifiersMaybe', var.get(u'node')) + var.get(u"this").callprop(u'parseExportFrom', var.get(u'node'), var.get(u'true')) + else: + var.get(u"this").callprop(u'parseExportFrom', var.get(u'node'), var.get(u'true')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ExportAllDeclaration')) + else: + if (var.get(u"this").callprop(u'hasPlugin', Js(u'exportExtensions')) and var.get(u"this").callprop(u'isExportDefaultSpecifier')): + var.put(u'_specifier', var.get(u"this").callprop(u'startNode')) + var.get(u'_specifier').put(u'exported', var.get(u"this").callprop(u'parseIdentifier', var.get(u'true'))) + var.get(u'node').put(u'specifiers', Js([var.get(u"this").callprop(u'finishNode', var.get(u'_specifier'), Js(u'ExportDefaultSpecifier'))])) + if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'comma')) and PyJsStrictEq(var.get(u"this").callprop(u'lookahead').get(u'type'),var.get(u'types').get(u'star'))): + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'comma')) + var.put(u'_specifier2', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'star')) + var.get(u"this").callprop(u'expectContextual', Js(u'as')) + var.get(u'_specifier2').put(u'exported', var.get(u"this").callprop(u'parseIdentifier')) + var.get(u'node').get(u'specifiers').callprop(u'push', var.get(u"this").callprop(u'finishNode', var.get(u'_specifier2'), Js(u'ExportNamespaceSpecifier'))) + else: + var.get(u"this").callprop(u'parseExportSpecifiersMaybe', var.get(u'node')) + var.get(u"this").callprop(u'parseExportFrom', var.get(u'node'), var.get(u'true')) + else: + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'_default')): + var.put(u'expr', var.get(u"this").callprop(u'startNode')) + var.put(u'needsSemi', Js(False)) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'_function')): + var.put(u'expr', var.get(u"this").callprop(u'parseFunction', var.get(u'expr'), var.get(u'true'), Js(False), Js(False), var.get(u'true'))) + else: + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'_class')): + var.put(u'expr', var.get(u"this").callprop(u'parseClass', var.get(u'expr'), var.get(u'true'), var.get(u'true'))) + else: + var.put(u'needsSemi', var.get(u'true')) + var.put(u'expr', var.get(u"this").callprop(u'parseMaybeAssign')) + var.get(u'node').put(u'declaration', var.get(u'expr')) + if var.get(u'needsSemi'): + var.get(u"this").callprop(u'semicolon') + var.get(u"this").callprop(u'checkExport', var.get(u'node'), var.get(u'true'), var.get(u'true')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ExportDefaultDeclaration')) + else: + if (var.get(u"this").get(u'state').get(u'type').get(u'keyword') or var.get(u"this").callprop(u'shouldParseExportDeclaration')): + var.get(u'node').put(u'specifiers', Js([])) + var.get(u'node').put(u'source', var.get(u"null")) + var.get(u'node').put(u'declaration', var.get(u"this").callprop(u'parseExportDeclaration', var.get(u'node'))) + else: + var.get(u'node').put(u'declaration', var.get(u"null")) + var.get(u'node').put(u'specifiers', var.get(u"this").callprop(u'parseExportSpecifiers')) + var.get(u"this").callprop(u'parseExportFrom', var.get(u'node')) + var.get(u"this").callprop(u'checkExport', var.get(u'node'), var.get(u'true')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ExportNamedDeclaration')) + PyJs_anonymous_3003_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseExport', PyJs_anonymous_3003_) + @Js + def PyJs_anonymous_3004_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this").callprop(u'parseStatement', var.get(u'true')) + PyJs_anonymous_3004_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseExportDeclaration', PyJs_anonymous_3004_) + @Js + def PyJs_anonymous_3005_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'lookahead']) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'name')): + return ((PyJsStrictNeq(var.get(u"this").get(u'state').get(u'value'),Js(u'type')) and PyJsStrictNeq(var.get(u"this").get(u'state').get(u'value'),Js(u'async'))) and PyJsStrictNeq(var.get(u"this").get(u'state').get(u'value'),Js(u'interface'))) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'_default')).neg(): + return Js(False) + var.put(u'lookahead', var.get(u"this").callprop(u'lookahead')) + return (PyJsStrictEq(var.get(u'lookahead').get(u'type'),var.get(u'types').get(u'comma')) or (PyJsStrictEq(var.get(u'lookahead').get(u'type'),var.get(u'types').get(u'name')) and PyJsStrictEq(var.get(u'lookahead').get(u'value'),Js(u'from')))) + PyJs_anonymous_3005_._set_name(u'anonymous') + var.get(u'pp$1').put(u'isExportDefaultSpecifier', PyJs_anonymous_3005_) + @Js + def PyJs_anonymous_3006_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'comma')): + var.get(u'node').put(u'specifiers', var.get(u'node').get(u'specifiers').callprop(u'concat', var.get(u"this").callprop(u'parseExportSpecifiers'))) + PyJs_anonymous_3006_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseExportSpecifiersMaybe', PyJs_anonymous_3006_) + @Js + def PyJs_anonymous_3007_(node, expect, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'expect':expect, u'arguments':arguments}, var) + var.registers([u'node', u'expect']) + if var.get(u"this").callprop(u'eatContextual', Js(u'from')): + var.get(u'node').put(u'source', (var.get(u"this").callprop(u'parseExprAtom') if var.get(u"this").callprop(u'match', var.get(u'types').get(u'string')) else var.get(u"this").callprop(u'unexpected'))) + var.get(u"this").callprop(u'checkExport', var.get(u'node')) + else: + if var.get(u'expect'): + var.get(u"this").callprop(u'unexpected') + else: + var.get(u'node').put(u'source', var.get(u"null")) + var.get(u"this").callprop(u'semicolon') + PyJs_anonymous_3007_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseExportFrom', PyJs_anonymous_3007_) + @Js + def PyJs_anonymous_3008_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this").callprop(u'isContextual', Js(u'async')) + PyJs_anonymous_3008_._set_name(u'anonymous') + var.get(u'pp$1').put(u'shouldParseExportDeclaration', PyJs_anonymous_3008_) + @Js + def PyJs_anonymous_3009_(node, checkNames, isDefault, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'checkNames':checkNames, u'arguments':arguments, u'isDefault':isDefault}, var) + var.registers([u'node', u'specifier', u'_isArray3', u'_isArray2', u'isClass', u'_ref3', u'_i3', u'_i2', u'_ref2', u'checkNames', u'isDefault', u'declaration', u'_iterator3', u'_iterator2']) + if var.get(u'checkNames'): + if var.get(u'isDefault'): + var.get(u"this").callprop(u'checkDuplicateExports', var.get(u'node'), Js(u'default')) + else: + if (var.get(u'node').get(u'specifiers') and var.get(u'node').get(u'specifiers').get(u'length')): + #for JS loop + var.put(u'_iterator2', var.get(u'node').get(u'specifiers')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else var.get(u'_iterator2').callprop(var.get(u'Symbol').get(u'iterator')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'specifier', var.get(u'_ref2')) + var.get(u"this").callprop(u'checkDuplicateExports', var.get(u'specifier'), var.get(u'specifier').get(u'exported').get(u'name')) + + else: + if var.get(u'node').get(u'declaration'): + if (PyJsStrictEq(var.get(u'node').get(u'declaration').get(u'type'),Js(u'FunctionDeclaration')) or PyJsStrictEq(var.get(u'node').get(u'declaration').get(u'type'),Js(u'ClassDeclaration'))): + var.get(u"this").callprop(u'checkDuplicateExports', var.get(u'node'), var.get(u'node').get(u'declaration').get(u'id').get(u'name')) + else: + if PyJsStrictEq(var.get(u'node').get(u'declaration').get(u'type'),Js(u'VariableDeclaration')): + #for JS loop + var.put(u'_iterator3', var.get(u'node').get(u'declaration').get(u'declarations')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else var.get(u'_iterator3').callprop(var.get(u'Symbol').get(u'iterator')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'declaration', var.get(u'_ref3')) + var.get(u"this").callprop(u'checkDeclaration', var.get(u'declaration').get(u'id')) + + if var.get(u"this").get(u'state').get(u'decorators').get(u'length'): + var.put(u'isClass', (var.get(u'node').get(u'declaration') and (PyJsStrictEq(var.get(u'node').get(u'declaration').get(u'type'),Js(u'ClassDeclaration')) or PyJsStrictEq(var.get(u'node').get(u'declaration').get(u'type'),Js(u'ClassExpression'))))) + if (var.get(u'node').get(u'declaration').neg() or var.get(u'isClass').neg()): + var.get(u"this").callprop(u'raise', var.get(u'node').get(u'start'), Js(u'You can only use decorators on an export when exporting a class')) + var.get(u"this").callprop(u'takeDecorators', var.get(u'node').get(u'declaration')) + PyJs_anonymous_3009_._set_name(u'anonymous') + var.get(u'pp$1').put(u'checkExport', PyJs_anonymous_3009_) + @Js + def PyJs_anonymous_3010_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'_isArray5', u'_isArray4', u'_i5', u'_i4', u'elem', u'prop', u'_iterator5', u'_iterator4', u'_ref5', u'_ref4']) + if PyJsStrictEq(var.get(u'node').get(u'type'),Js(u'ObjectPattern')): + #for JS loop + var.put(u'_iterator4', var.get(u'node').get(u'properties')) + var.put(u'_isArray4', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator4'))) + var.put(u'_i4', Js(0.0)) + var.put(u'_iterator4', (var.get(u'_iterator4') if var.get(u'_isArray4') else var.get(u'_iterator4').callprop(var.get(u'Symbol').get(u'iterator')))) + while 1: + pass + if var.get(u'_isArray4'): + if (var.get(u'_i4')>=var.get(u'_iterator4').get(u'length')): + break + var.put(u'_ref4', var.get(u'_iterator4').get((var.put(u'_i4',Js(var.get(u'_i4').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i4', var.get(u'_iterator4').callprop(u'next')) + if var.get(u'_i4').get(u'done'): + break + var.put(u'_ref4', var.get(u'_i4').get(u'value')) + var.put(u'prop', var.get(u'_ref4')) + var.get(u"this").callprop(u'checkDeclaration', var.get(u'prop')) + + else: + if PyJsStrictEq(var.get(u'node').get(u'type'),Js(u'ArrayPattern')): + #for JS loop + var.put(u'_iterator5', var.get(u'node').get(u'elements')) + var.put(u'_isArray5', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator5'))) + var.put(u'_i5', Js(0.0)) + var.put(u'_iterator5', (var.get(u'_iterator5') if var.get(u'_isArray5') else var.get(u'_iterator5').callprop(var.get(u'Symbol').get(u'iterator')))) + while 1: + pass + if var.get(u'_isArray5'): + if (var.get(u'_i5')>=var.get(u'_iterator5').get(u'length')): + break + var.put(u'_ref5', var.get(u'_iterator5').get((var.put(u'_i5',Js(var.get(u'_i5').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i5', var.get(u'_iterator5').callprop(u'next')) + if var.get(u'_i5').get(u'done'): + break + var.put(u'_ref5', var.get(u'_i5').get(u'value')) + var.put(u'elem', var.get(u'_ref5')) + if var.get(u'elem'): + var.get(u"this").callprop(u'checkDeclaration', var.get(u'elem')) + + else: + if PyJsStrictEq(var.get(u'node').get(u'type'),Js(u'ObjectProperty')): + var.get(u"this").callprop(u'checkDeclaration', var.get(u'node').get(u'value')) + else: + if (PyJsStrictEq(var.get(u'node').get(u'type'),Js(u'RestElement')) or PyJsStrictEq(var.get(u'node').get(u'type'),Js(u'RestProperty'))): + var.get(u"this").callprop(u'checkDeclaration', var.get(u'node').get(u'argument')) + else: + if PyJsStrictEq(var.get(u'node').get(u'type'),Js(u'Identifier')): + var.get(u"this").callprop(u'checkDuplicateExports', var.get(u'node'), var.get(u'node').get(u'name')) + PyJs_anonymous_3010_._set_name(u'anonymous') + var.get(u'pp$1').put(u'checkDeclaration', PyJs_anonymous_3010_) + @Js + def PyJs_anonymous_3011_(node, name, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'node', u'name']) + if (var.get(u"this").get(u'state').get(u'exportedIdentifiers').callprop(u'indexOf', var.get(u'name'))>(-Js(1.0))): + var.get(u"this").callprop(u'raiseDuplicateExportError', var.get(u'node'), var.get(u'name')) + var.get(u"this").get(u'state').get(u'exportedIdentifiers').callprop(u'push', var.get(u'name')) + PyJs_anonymous_3011_._set_name(u'anonymous') + var.get(u'pp$1').put(u'checkDuplicateExports', PyJs_anonymous_3011_) + @Js + def PyJs_anonymous_3012_(node, name, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'name':name, u'arguments':arguments}, var) + var.registers([u'node', u'name']) + var.get(u"this").callprop(u'raise', var.get(u'node').get(u'start'), (Js(u'Only one default export allowed per module.') if PyJsStrictEq(var.get(u'name'),Js(u'default')) else ((Js(u'`')+var.get(u'name'))+Js(u'` has already been exported. Exported identifiers must be unique.')))) + PyJs_anonymous_3012_._set_name(u'anonymous') + var.get(u'pp$1').put(u'raiseDuplicateExportError', PyJs_anonymous_3012_) + @Js + def PyJs_anonymous_3013_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'nodes', u'isDefault', u'needsFrom', u'first']) + var.put(u'nodes', Js([])) + var.put(u'first', var.get(u'true')) + var.put(u'needsFrom', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'braceL')) + while var.get(u"this").callprop(u'eat', var.get(u'types').get(u'braceR')).neg(): + if var.get(u'first'): + var.put(u'first', Js(False)) + else: + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'comma')) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'braceR')): + break + var.put(u'isDefault', var.get(u"this").callprop(u'match', var.get(u'types').get(u'_default'))) + if (var.get(u'isDefault') and var.get(u'needsFrom').neg()): + var.put(u'needsFrom', var.get(u'true')) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u'node').put(u'local', var.get(u"this").callprop(u'parseIdentifier', var.get(u'isDefault'))) + var.get(u'node').put(u'exported', (var.get(u"this").callprop(u'parseIdentifier', var.get(u'true')) if var.get(u"this").callprop(u'eatContextual', Js(u'as')) else var.get(u'node').get(u'local').callprop(u'__clone'))) + var.get(u'nodes').callprop(u'push', var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ExportSpecifier'))) + if (var.get(u'needsFrom') and var.get(u"this").callprop(u'isContextual', Js(u'from')).neg()): + var.get(u"this").callprop(u'unexpected') + return var.get(u'nodes') + PyJs_anonymous_3013_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseExportSpecifiers', PyJs_anonymous_3013_) + @Js + def PyJs_anonymous_3014_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'next') + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'string')): + var.get(u'node').put(u'specifiers', Js([])) + var.get(u'node').put(u'source', var.get(u"this").callprop(u'parseExprAtom')) + else: + var.get(u'node').put(u'specifiers', Js([])) + var.get(u"this").callprop(u'parseImportSpecifiers', var.get(u'node')) + var.get(u"this").callprop(u'expectContextual', Js(u'from')) + var.get(u'node').put(u'source', (var.get(u"this").callprop(u'parseExprAtom') if var.get(u"this").callprop(u'match', var.get(u'types').get(u'string')) else var.get(u"this").callprop(u'unexpected'))) + var.get(u"this").callprop(u'semicolon') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ImportDeclaration')) + PyJs_anonymous_3014_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseImport', PyJs_anonymous_3014_) + @Js + def PyJs_anonymous_3015_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'specifier', u'startLoc', u'_specifier3', u'startPos', u'first']) + var.put(u'first', var.get(u'true')) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'name')): + var.put(u'startPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'startLoc', var.get(u"this").get(u'state').get(u'startLoc')) + var.get(u'node').get(u'specifiers').callprop(u'push', var.get(u"this").callprop(u'parseImportSpecifierDefault', var.get(u"this").callprop(u'parseIdentifier'), var.get(u'startPos'), var.get(u'startLoc'))) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'comma')).neg(): + return var.get('undefined') + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'star')): + var.put(u'specifier', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'next') + var.get(u"this").callprop(u'expectContextual', Js(u'as')) + var.get(u'specifier').put(u'local', var.get(u"this").callprop(u'parseIdentifier')) + var.get(u"this").callprop(u'checkLVal', var.get(u'specifier').get(u'local'), var.get(u'true'), var.get(u'undefined'), Js(u'import namespace specifier')) + var.get(u'node').get(u'specifiers').callprop(u'push', var.get(u"this").callprop(u'finishNode', var.get(u'specifier'), Js(u'ImportNamespaceSpecifier'))) + return var.get('undefined') + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'braceL')) + while var.get(u"this").callprop(u'eat', var.get(u'types').get(u'braceR')).neg(): + if var.get(u'first'): + var.put(u'first', Js(False)) + else: + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'comma')) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'braceR')): + break + var.put(u'_specifier3', var.get(u"this").callprop(u'startNode')) + var.get(u'_specifier3').put(u'imported', var.get(u"this").callprop(u'parseIdentifier', var.get(u'true'))) + var.get(u'_specifier3').put(u'local', (var.get(u"this").callprop(u'parseIdentifier') if var.get(u"this").callprop(u'eatContextual', Js(u'as')) else var.get(u'_specifier3').get(u'imported').callprop(u'__clone'))) + var.get(u"this").callprop(u'checkLVal', var.get(u'_specifier3').get(u'local'), var.get(u'true'), var.get(u'undefined'), Js(u'import specifier')) + var.get(u'node').get(u'specifiers').callprop(u'push', var.get(u"this").callprop(u'finishNode', var.get(u'_specifier3'), Js(u'ImportSpecifier'))) + PyJs_anonymous_3015_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseImportSpecifiers', PyJs_anonymous_3015_) + @Js + def PyJs_anonymous_3016_(id, startPos, startLoc, this, arguments, var=var): + var = Scope({u'this':this, u'startPos':startPos, u'id':id, u'startLoc':startLoc, u'arguments':arguments}, var) + var.registers([u'node', u'startPos', u'id', u'startLoc']) + var.put(u'node', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + var.get(u'node').put(u'local', var.get(u'id')) + var.get(u"this").callprop(u'checkLVal', var.get(u'node').get(u'local'), var.get(u'true'), var.get(u'undefined'), Js(u'default import specifier')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ImportDefaultSpecifier')) + PyJs_anonymous_3016_._set_name(u'anonymous') + var.get(u'pp$1').put(u'parseImportSpecifierDefault', PyJs_anonymous_3016_) + var.put(u'pp$2', var.get(u'Parser').get(u'prototype')) + @Js + def PyJs_anonymous_3017_(node, isBinding, contextDescription, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'isBinding':isBinding, u'arguments':arguments, u'contextDescription':contextDescription}, var) + var.registers([u'node', u'_isArray', u'_iterator', u'isBinding', u'prop', u'_i', u'message', u'contextDescription', u'_ref']) + if var.get(u'node'): + while 1: + SWITCHED = False + CONDITION = (var.get(u'node').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'Identifier')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ObjectPattern')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ArrayPattern')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'AssignmentPattern')): + SWITCHED = True + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ObjectExpression')): + SWITCHED = True + var.get(u'node').put(u'type', Js(u'ObjectPattern')) + #for JS loop + var.put(u'_iterator', var.get(u'node').get(u'properties')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else var.get(u'_iterator').callprop(var.get(u'Symbol').get(u'iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'prop', var.get(u'_ref')) + if PyJsStrictEq(var.get(u'prop').get(u'type'),Js(u'ObjectMethod')): + if (PyJsStrictEq(var.get(u'prop').get(u'kind'),Js(u'get')) or PyJsStrictEq(var.get(u'prop').get(u'kind'),Js(u'set'))): + var.get(u"this").callprop(u'raise', var.get(u'prop').get(u'key').get(u'start'), Js(u"Object pattern can't contain getter or setter")) + else: + var.get(u"this").callprop(u'raise', var.get(u'prop').get(u'key').get(u'start'), Js(u"Object pattern can't contain methods")) + else: + var.get(u"this").callprop(u'toAssignable', var.get(u'prop'), var.get(u'isBinding'), Js(u'object destructuring pattern')) + + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ObjectProperty')): + SWITCHED = True + var.get(u"this").callprop(u'toAssignable', var.get(u'node').get(u'value'), var.get(u'isBinding'), var.get(u'contextDescription')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'SpreadProperty')): + SWITCHED = True + var.get(u'node').put(u'type', Js(u'RestProperty')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ArrayExpression')): + SWITCHED = True + var.get(u'node').put(u'type', Js(u'ArrayPattern')) + var.get(u"this").callprop(u'toAssignableList', var.get(u'node').get(u'elements'), var.get(u'isBinding'), var.get(u'contextDescription')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'AssignmentExpression')): + SWITCHED = True + if PyJsStrictEq(var.get(u'node').get(u'operator'),Js(u'=')): + var.get(u'node').put(u'type', Js(u'AssignmentPattern')) + var.get(u'node').delete(u'operator') + else: + var.get(u"this").callprop(u'raise', var.get(u'node').get(u'left').get(u'end'), Js(u"Only '=' operator can be used for specifying default value.")) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'MemberExpression')): + SWITCHED = True + if var.get(u'isBinding').neg(): + break + if True: + SWITCHED = True + var.put(u'message', (Js(u'Invalid left-hand side')+((Js(u' in ')+var.get(u'contextDescription')) if var.get(u'contextDescription') else Js(u'expression')))) + var.get(u"this").callprop(u'raise', var.get(u'node').get(u'start'), var.get(u'message')) + SWITCHED = True + break + return var.get(u'node') + PyJs_anonymous_3017_._set_name(u'anonymous') + var.get(u'pp$2').put(u'toAssignable', PyJs_anonymous_3017_) + @Js + def PyJs_anonymous_3018_(exprList, isBinding, contextDescription, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'isBinding':isBinding, u'exprList':exprList, u'contextDescription':contextDescription}, var) + var.registers([u'last', u'i', u'isBinding', u'contextDescription', u'arg', u'end', u'exprList', u'elt']) + var.put(u'end', var.get(u'exprList').get(u'length')) + if var.get(u'end'): + var.put(u'last', var.get(u'exprList').get((var.get(u'end')-Js(1.0)))) + if (var.get(u'last') and PyJsStrictEq(var.get(u'last').get(u'type'),Js(u'RestElement'))): + var.put(u'end',Js(var.get(u'end').to_number())-Js(1)) + else: + if (var.get(u'last') and PyJsStrictEq(var.get(u'last').get(u'type'),Js(u'SpreadElement'))): + var.get(u'last').put(u'type', Js(u'RestElement')) + var.put(u'arg', var.get(u'last').get(u'argument')) + var.get(u"this").callprop(u'toAssignable', var.get(u'arg'), var.get(u'isBinding'), var.get(u'contextDescription')) + if ((PyJsStrictNeq(var.get(u'arg').get(u'type'),Js(u'Identifier')) and PyJsStrictNeq(var.get(u'arg').get(u'type'),Js(u'MemberExpression'))) and PyJsStrictNeq(var.get(u'arg').get(u'type'),Js(u'ArrayPattern'))): + var.get(u"this").callprop(u'unexpected', var.get(u'arg').get(u'start')) + var.put(u'end',Js(var.get(u'end').to_number())-Js(1)) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'prop', var.get(u'_ref2')) + if PyJsStrictEq(var.get(u'prop').get(u'type'),Js(u'ObjectProperty')): + var.put(u'prop', var.get(u'prop').get(u'value')) + var.get(u"this").callprop(u'checkLVal', var.get(u'prop'), var.get(u'isBinding'), var.get(u'checkClashes'), Js(u'object destructuring pattern')) + + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ArrayPattern')): + SWITCHED = True + #for JS loop + var.put(u'_iterator3', var.get(u'expr').get(u'elements')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else var.get(u'_iterator3').callprop(var.get(u'Symbol').get(u'iterator')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'elem', var.get(u'_ref3')) + if var.get(u'elem'): + var.get(u"this").callprop(u'checkLVal', var.get(u'elem'), var.get(u'isBinding'), var.get(u'checkClashes'), Js(u'array destructuring pattern')) + + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'AssignmentPattern')): + SWITCHED = True + var.get(u"this").callprop(u'checkLVal', var.get(u'expr').get(u'left'), var.get(u'isBinding'), var.get(u'checkClashes'), Js(u'assignment pattern')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'RestProperty')): + SWITCHED = True + var.get(u"this").callprop(u'checkLVal', var.get(u'expr').get(u'argument'), var.get(u'isBinding'), var.get(u'checkClashes'), Js(u'rest property')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'RestElement')): + SWITCHED = True + var.get(u"this").callprop(u'checkLVal', var.get(u'expr').get(u'argument'), var.get(u'isBinding'), var.get(u'checkClashes'), Js(u'rest element')) + break + if True: + SWITCHED = True + var.put(u'message', (((Js(u'Binding invalid') if var.get(u'isBinding') else Js(u'Invalid'))+Js(u' left-hand side'))+((Js(u' in ')+var.get(u'contextDescription')) if var.get(u'contextDescription') else Js(u'expression')))) + var.get(u"this").callprop(u'raise', var.get(u'expr').get(u'start'), var.get(u'message')) + SWITCHED = True + break + PyJs_anonymous_3028_._set_name(u'anonymous') + var.get(u'pp$2').put(u'checkLVal', PyJs_anonymous_3028_) + var.put(u'pp$3', var.get(u'Parser').get(u'prototype')) + @Js + def PyJs_anonymous_3029_(prop, propHash, this, arguments, var=var): + var = Scope({u'this':this, u'propHash':propHash, u'arguments':arguments, u'prop':prop}, var) + var.registers([u'propHash', u'name', u'key', u'prop']) + if var.get(u'prop').get(u'computed'): + return var.get('undefined') + var.put(u'key', var.get(u'prop').get(u'key')) + var.put(u'name', PyJsComma(Js(0.0), Js(None))) + while 1: + SWITCHED = False + CONDITION = (var.get(u'key').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'Identifier')): + SWITCHED = True + var.put(u'name', var.get(u'key').get(u'name')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'StringLiteral')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'NumericLiteral')): + SWITCHED = True + var.put(u'name', var.get(u'String')(var.get(u'key').get(u'value'))) + break + if True: + SWITCHED = True + return var.get('undefined') + SWITCHED = True + break + if (PyJsStrictEq(var.get(u'name'),Js(u'__proto__')) and var.get(u'prop').get(u'kind').neg()): + if var.get(u'propHash').get(u'proto'): + var.get(u"this").callprop(u'raise', var.get(u'key').get(u'start'), Js(u'Redefinition of __proto__ property')) + var.get(u'propHash').put(u'proto', var.get(u'true')) + PyJs_anonymous_3029_._set_name(u'anonymous') + var.get(u'pp$3').put(u'checkPropClash', PyJs_anonymous_3029_) + @Js + def PyJs_anonymous_3030_(noIn, refShorthandDefaultPos, this, arguments, var=var): + var = Scope({u'noIn':noIn, u'this':this, u'refShorthandDefaultPos':refShorthandDefaultPos, u'arguments':arguments}, var) + var.registers([u'node', u'expr', u'refShorthandDefaultPos', u'startLoc', u'noIn', u'startPos']) + var.put(u'startPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'startLoc', var.get(u"this").get(u'state').get(u'startLoc')) + var.put(u'expr', var.get(u"this").callprop(u'parseMaybeAssign', var.get(u'noIn'), var.get(u'refShorthandDefaultPos'))) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'comma')): + var.put(u'node', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + var.get(u'node').put(u'expressions', Js([var.get(u'expr')])) + while var.get(u"this").callprop(u'eat', var.get(u'types').get(u'comma')): + var.get(u'node').get(u'expressions').callprop(u'push', var.get(u"this").callprop(u'parseMaybeAssign', var.get(u'noIn'), var.get(u'refShorthandDefaultPos'))) + var.get(u"this").callprop(u'toReferencedList', var.get(u'node').get(u'expressions')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'SequenceExpression')) + return var.get(u'expr') + PyJs_anonymous_3030_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseExpression', PyJs_anonymous_3030_) + @Js + def PyJs_anonymous_3031_(noIn, refShorthandDefaultPos, afterLeftParse, refNeedsArrowPos, this, arguments, var=var): + var = Scope({u'afterLeftParse':afterLeftParse, u'this':this, u'refShorthandDefaultPos':refShorthandDefaultPos, u'noIn':noIn, u'arguments':arguments, u'refNeedsArrowPos':refNeedsArrowPos}, var) + var.registers([u'node', u'afterLeftParse', u'startLoc', u'errorMsg', u'refNeedsArrowPos', u'refShorthandDefaultPos', u'failOnShorthandAssign', u'noIn', u'startPos', u'_left', u'left']) + var.put(u'startPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'startLoc', var.get(u"this").get(u'state').get(u'startLoc')) + if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'_yield')) and var.get(u"this").get(u'state').get(u'inGenerator')): + var.put(u'_left', var.get(u"this").callprop(u'parseYield')) + if var.get(u'afterLeftParse'): + var.put(u'_left', var.get(u'afterLeftParse').callprop(u'call', var.get(u"this"), var.get(u'_left'), var.get(u'startPos'), var.get(u'startLoc'))) + return var.get(u'_left') + var.put(u'failOnShorthandAssign', PyJsComma(Js(0.0), Js(None))) + if var.get(u'refShorthandDefaultPos'): + var.put(u'failOnShorthandAssign', Js(False)) + else: + PyJs_Object_3032_ = Js({u'start':Js(0.0)}) + var.put(u'refShorthandDefaultPos', PyJs_Object_3032_) + var.put(u'failOnShorthandAssign', var.get(u'true')) + if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenL')) or var.get(u"this").callprop(u'match', var.get(u'types').get(u'name'))): + var.get(u"this").get(u'state').put(u'potentialArrowAt', var.get(u"this").get(u'state').get(u'start')) + var.put(u'left', var.get(u"this").callprop(u'parseMaybeConditional', var.get(u'noIn'), var.get(u'refShorthandDefaultPos'), var.get(u'refNeedsArrowPos'))) + if var.get(u'afterLeftParse'): + var.put(u'left', var.get(u'afterLeftParse').callprop(u'call', var.get(u"this"), var.get(u'left'), var.get(u'startPos'), var.get(u'startLoc'))) + if var.get(u"this").get(u'state').get(u'type').get(u'isAssign'): + var.put(u'node', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + var.get(u'node').put(u'operator', var.get(u"this").get(u'state').get(u'value')) + var.get(u'node').put(u'left', (var.get(u"this").callprop(u'toAssignable', var.get(u'left'), var.get(u'undefined'), Js(u'assignment expression')) if var.get(u"this").callprop(u'match', var.get(u'types').get(u'eq')) else var.get(u'left'))) + var.get(u'refShorthandDefaultPos').put(u'start', Js(0.0)) + var.get(u"this").callprop(u'checkLVal', var.get(u'left'), var.get(u'undefined'), var.get(u'undefined'), Js(u'assignment expression')) + if (var.get(u'left').get(u'extra') and var.get(u'left').get(u'extra').get(u'parenthesized')): + var.put(u'errorMsg', PyJsComma(Js(0.0), Js(None))) + if PyJsStrictEq(var.get(u'left').get(u'type'),Js(u'ObjectPattern')): + var.put(u'errorMsg', Js(u'`({a}) = 0` use `({a} = 0)`')) + else: + if PyJsStrictEq(var.get(u'left').get(u'type'),Js(u'ArrayPattern')): + var.put(u'errorMsg', Js(u'`([a]) = 0` use `([a] = 0)`')) + if var.get(u'errorMsg'): + var.get(u"this").callprop(u'raise', var.get(u'left').get(u'start'), (Js(u"You're trying to assign to a parenthesized expression, eg. instead of ")+var.get(u'errorMsg'))) + var.get(u"this").callprop(u'next') + var.get(u'node').put(u'right', var.get(u"this").callprop(u'parseMaybeAssign', var.get(u'noIn'))) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'AssignmentExpression')) + else: + if (var.get(u'failOnShorthandAssign') and var.get(u'refShorthandDefaultPos').get(u'start')): + var.get(u"this").callprop(u'unexpected', var.get(u'refShorthandDefaultPos').get(u'start')) + return var.get(u'left') + PyJs_anonymous_3031_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseMaybeAssign', PyJs_anonymous_3031_) + @Js + def PyJs_anonymous_3033_(noIn, refShorthandDefaultPos, refNeedsArrowPos, this, arguments, var=var): + var = Scope({u'noIn':noIn, u'this':this, u'refShorthandDefaultPos':refShorthandDefaultPos, u'arguments':arguments, u'refNeedsArrowPos':refNeedsArrowPos}, var) + var.registers([u'expr', u'refShorthandDefaultPos', u'startLoc', u'noIn', u'startPos', u'refNeedsArrowPos']) + var.put(u'startPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'startLoc', var.get(u"this").get(u'state').get(u'startLoc')) + var.put(u'expr', var.get(u"this").callprop(u'parseExprOps', var.get(u'noIn'), var.get(u'refShorthandDefaultPos'))) + if (var.get(u'refShorthandDefaultPos') and var.get(u'refShorthandDefaultPos').get(u'start')): + return var.get(u'expr') + return var.get(u"this").callprop(u'parseConditional', var.get(u'expr'), var.get(u'noIn'), var.get(u'startPos'), var.get(u'startLoc'), var.get(u'refNeedsArrowPos')) + PyJs_anonymous_3033_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseMaybeConditional', PyJs_anonymous_3033_) + @Js + def PyJs_anonymous_3034_(expr, noIn, startPos, startLoc, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'startLoc':startLoc, u'noIn':noIn, u'expr':expr, u'startPos':startPos}, var) + var.registers([u'node', u'expr', u'startPos', u'noIn', u'startLoc']) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'question')): + var.put(u'node', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + var.get(u'node').put(u'test', var.get(u'expr')) + var.get(u'node').put(u'consequent', var.get(u"this").callprop(u'parseMaybeAssign')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'colon')) + var.get(u'node').put(u'alternate', var.get(u"this").callprop(u'parseMaybeAssign', var.get(u'noIn'))) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ConditionalExpression')) + return var.get(u'expr') + PyJs_anonymous_3034_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseConditional', PyJs_anonymous_3034_) + @Js + def PyJs_anonymous_3035_(noIn, refShorthandDefaultPos, this, arguments, var=var): + var = Scope({u'noIn':noIn, u'this':this, u'refShorthandDefaultPos':refShorthandDefaultPos, u'arguments':arguments}, var) + var.registers([u'noIn', u'expr', u'startPos', u'refShorthandDefaultPos', u'startLoc']) + var.put(u'startPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'startLoc', var.get(u"this").get(u'state').get(u'startLoc')) + var.put(u'expr', var.get(u"this").callprop(u'parseMaybeUnary', var.get(u'refShorthandDefaultPos'))) + if (var.get(u'refShorthandDefaultPos') and var.get(u'refShorthandDefaultPos').get(u'start')): + return var.get(u'expr') + else: + return var.get(u"this").callprop(u'parseExprOp', var.get(u'expr'), var.get(u'startPos'), var.get(u'startLoc'), (-Js(1.0)), var.get(u'noIn')) + PyJs_anonymous_3035_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseExprOps', PyJs_anonymous_3035_) + @Js + def PyJs_anonymous_3036_(left, leftStartPos, leftStartLoc, minPrec, noIn, this, arguments, var=var): + var = Scope({u'minPrec':minPrec, u'arguments':arguments, u'noIn':noIn, u'leftStartLoc':leftStartLoc, u'this':this, u'leftStartPos':leftStartPos, u'left':left}, var) + var.registers([u'node', u'minPrec', u'leftStartPos', u'prec', u'startLoc', u'noIn', u'leftStartLoc', u'startPos', u'op', u'left']) + var.put(u'prec', var.get(u"this").get(u'state').get(u'type').get(u'binop')) + if ((var.get(u'prec')!=var.get(u"null")) and (var.get(u'noIn').neg() or var.get(u"this").callprop(u'match', var.get(u'types').get(u'_in')).neg())): + if (var.get(u'prec')>var.get(u'minPrec')): + var.put(u'node', var.get(u"this").callprop(u'startNodeAt', var.get(u'leftStartPos'), var.get(u'leftStartLoc'))) + var.get(u'node').put(u'left', var.get(u'left')) + var.get(u'node').put(u'operator', var.get(u"this").get(u'state').get(u'value')) + if ((((PyJsStrictEq(var.get(u'node').get(u'operator'),Js(u'**')) and PyJsStrictEq(var.get(u'left').get(u'type'),Js(u'UnaryExpression'))) and var.get(u'left').get(u'extra')) and var.get(u'left').get(u'extra').get(u'parenthesizedArgument').neg()) and var.get(u'left').get(u'extra').get(u'parenthesized').neg()): + var.get(u"this").callprop(u'raise', var.get(u'left').get(u'argument').get(u'start'), Js(u'Illegal expression. Wrap left hand side or entire exponentiation in parentheses.')) + var.put(u'op', var.get(u"this").get(u'state').get(u'type')) + var.get(u"this").callprop(u'next') + var.put(u'startPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'startLoc', var.get(u"this").get(u'state').get(u'startLoc')) + var.get(u'node').put(u'right', var.get(u"this").callprop(u'parseExprOp', var.get(u"this").callprop(u'parseMaybeUnary'), var.get(u'startPos'), var.get(u'startLoc'), ((var.get(u'prec')-Js(1.0)) if var.get(u'op').get(u'rightAssociative') else var.get(u'prec')), var.get(u'noIn'))) + var.get(u"this").callprop(u'finishNode', var.get(u'node'), (Js(u'LogicalExpression') if (PyJsStrictEq(var.get(u'op'),var.get(u'types').get(u'logicalOR')) or PyJsStrictEq(var.get(u'op'),var.get(u'types').get(u'logicalAND'))) else Js(u'BinaryExpression'))) + return var.get(u"this").callprop(u'parseExprOp', var.get(u'node'), var.get(u'leftStartPos'), var.get(u'leftStartLoc'), var.get(u'minPrec'), var.get(u'noIn')) + return var.get(u'left') + PyJs_anonymous_3036_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseExprOp', PyJs_anonymous_3036_) + @Js + def PyJs_anonymous_3037_(refShorthandDefaultPos, this, arguments, var=var): + var = Scope({u'this':this, u'refShorthandDefaultPos':refShorthandDefaultPos, u'arguments':arguments}, var) + var.registers([u'node', u'expr', u'update', u'_node', u'refShorthandDefaultPos', u'startLoc', u'startPos', u'argType']) + if var.get(u"this").get(u'state').get(u'type').get(u'prefix'): + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.put(u'update', var.get(u"this").callprop(u'match', var.get(u'types').get(u'incDec'))) + var.get(u'node').put(u'operator', var.get(u"this").get(u'state').get(u'value')) + var.get(u'node').put(u'prefix', var.get(u'true')) + var.get(u"this").callprop(u'next') + var.put(u'argType', var.get(u"this").get(u'state').get(u'type')) + var.get(u'node').put(u'argument', var.get(u"this").callprop(u'parseMaybeUnary')) + var.get(u"this").callprop(u'addExtra', var.get(u'node'), Js(u'parenthesizedArgument'), (PyJsStrictEq(var.get(u'argType'),var.get(u'types').get(u'parenL')) and (var.get(u'node').get(u'argument').get(u'extra').neg() or var.get(u'node').get(u'argument').get(u'extra').get(u'parenthesized').neg()))) + if (var.get(u'refShorthandDefaultPos') and var.get(u'refShorthandDefaultPos').get(u'start')): + var.get(u"this").callprop(u'unexpected', var.get(u'refShorthandDefaultPos').get(u'start')) + if var.get(u'update'): + var.get(u"this").callprop(u'checkLVal', var.get(u'node').get(u'argument'), var.get(u'undefined'), var.get(u'undefined'), Js(u'prefix operation')) + else: + if ((var.get(u"this").get(u'state').get(u'strict') and PyJsStrictEq(var.get(u'node').get(u'operator'),Js(u'delete'))) and PyJsStrictEq(var.get(u'node').get(u'argument').get(u'type'),Js(u'Identifier'))): + var.get(u"this").callprop(u'raise', var.get(u'node').get(u'start'), Js(u'Deleting local variable in strict mode')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), (Js(u'UpdateExpression') if var.get(u'update') else Js(u'UnaryExpression'))) + var.put(u'startPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'startLoc', var.get(u"this").get(u'state').get(u'startLoc')) + var.put(u'expr', var.get(u"this").callprop(u'parseExprSubscripts', var.get(u'refShorthandDefaultPos'))) + if (var.get(u'refShorthandDefaultPos') and var.get(u'refShorthandDefaultPos').get(u'start')): + return var.get(u'expr') + while (var.get(u"this").get(u'state').get(u'type').get(u'postfix') and var.get(u"this").callprop(u'canInsertSemicolon').neg()): + var.put(u'_node', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + var.get(u'_node').put(u'operator', var.get(u"this").get(u'state').get(u'value')) + var.get(u'_node').put(u'prefix', Js(False)) + var.get(u'_node').put(u'argument', var.get(u'expr')) + var.get(u"this").callprop(u'checkLVal', var.get(u'expr'), var.get(u'undefined'), var.get(u'undefined'), Js(u'postfix operation')) + var.get(u"this").callprop(u'next') + var.put(u'expr', var.get(u"this").callprop(u'finishNode', var.get(u'_node'), Js(u'UpdateExpression'))) + return var.get(u'expr') + PyJs_anonymous_3037_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseMaybeUnary', PyJs_anonymous_3037_) + @Js + def PyJs_anonymous_3038_(refShorthandDefaultPos, this, arguments, var=var): + var = Scope({u'this':this, u'refShorthandDefaultPos':refShorthandDefaultPos, u'arguments':arguments}, var) + var.registers([u'expr', u'startPos', u'potentialArrowAt', u'startLoc', u'refShorthandDefaultPos']) + var.put(u'startPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'startLoc', var.get(u"this").get(u'state').get(u'startLoc')) + var.put(u'potentialArrowAt', var.get(u"this").get(u'state').get(u'potentialArrowAt')) + var.put(u'expr', var.get(u"this").callprop(u'parseExprAtom', var.get(u'refShorthandDefaultPos'))) + if (PyJsStrictEq(var.get(u'expr').get(u'type'),Js(u'ArrowFunctionExpression')) and PyJsStrictEq(var.get(u'expr').get(u'start'),var.get(u'potentialArrowAt'))): + return var.get(u'expr') + if (var.get(u'refShorthandDefaultPos') and var.get(u'refShorthandDefaultPos').get(u'start')): + return var.get(u'expr') + return var.get(u"this").callprop(u'parseSubscripts', var.get(u'expr'), var.get(u'startPos'), var.get(u'startLoc')) + PyJs_anonymous_3038_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseExprSubscripts', PyJs_anonymous_3038_) + @Js + def PyJs_anonymous_3039_(base, startPos, startLoc, noCalls, this, arguments, var=var): + var = Scope({u'base':base, u'arguments':arguments, u'startLoc':startLoc, u'this':this, u'startPos':startPos, u'noCalls':noCalls}, var) + var.registers([u'node', u'startLoc', u'possibleAsync', u'_node3', u'_node2', u'base', u'_node5', u'_node4', u'startPos', u'noCalls']) + #for JS loop + + while 1: + if (var.get(u'noCalls').neg() and var.get(u"this").callprop(u'eat', var.get(u'types').get(u'doubleColon'))): + var.put(u'node', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + var.get(u'node').put(u'object', var.get(u'base')) + var.get(u'node').put(u'callee', var.get(u"this").callprop(u'parseNoCallExpr')) + return var.get(u"this").callprop(u'parseSubscripts', var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'BindExpression')), var.get(u'startPos'), var.get(u'startLoc'), var.get(u'noCalls')) + else: + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'dot')): + var.put(u'_node2', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + var.get(u'_node2').put(u'object', var.get(u'base')) + var.get(u'_node2').put(u'property', var.get(u"this").callprop(u'parseIdentifier', var.get(u'true'))) + var.get(u'_node2').put(u'computed', Js(False)) + var.put(u'base', var.get(u"this").callprop(u'finishNode', var.get(u'_node2'), Js(u'MemberExpression'))) + else: + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'bracketL')): + var.put(u'_node3', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + var.get(u'_node3').put(u'object', var.get(u'base')) + var.get(u'_node3').put(u'property', var.get(u"this").callprop(u'parseExpression')) + var.get(u'_node3').put(u'computed', var.get(u'true')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'bracketR')) + var.put(u'base', var.get(u"this").callprop(u'finishNode', var.get(u'_node3'), Js(u'MemberExpression'))) + else: + if (var.get(u'noCalls').neg() and var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenL'))): + var.put(u'possibleAsync', (((PyJsStrictEq(var.get(u"this").get(u'state').get(u'potentialArrowAt'),var.get(u'base').get(u'start')) and PyJsStrictEq(var.get(u'base').get(u'type'),Js(u'Identifier'))) and PyJsStrictEq(var.get(u'base').get(u'name'),Js(u'async'))) and var.get(u"this").callprop(u'canInsertSemicolon').neg())) + var.get(u"this").callprop(u'next') + var.put(u'_node4', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + var.get(u'_node4').put(u'callee', var.get(u'base')) + var.get(u'_node4').put(u'arguments', var.get(u"this").callprop(u'parseCallExpressionArguments', var.get(u'types').get(u'parenR'), var.get(u'possibleAsync'))) + if (PyJsStrictEq(var.get(u'_node4').get(u'callee').get(u'type'),Js(u'Import')) and PyJsStrictNeq(var.get(u'_node4').get(u'arguments').get(u'length'),Js(1.0))): + var.get(u"this").callprop(u'raise', var.get(u'_node4').get(u'start'), Js(u'import() requires exactly one argument')) + var.put(u'base', var.get(u"this").callprop(u'finishNode', var.get(u'_node4'), Js(u'CallExpression'))) + if (var.get(u'possibleAsync') and var.get(u"this").callprop(u'shouldParseAsyncArrow')): + return var.get(u"this").callprop(u'parseAsyncArrowFromCallExpression', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc')), var.get(u'_node4')) + else: + var.get(u"this").callprop(u'toReferencedList', var.get(u'_node4').get(u'arguments')) + else: + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'backQuote')): + var.put(u'_node5', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + var.get(u'_node5').put(u'tag', var.get(u'base')) + var.get(u'_node5').put(u'quasi', var.get(u"this").callprop(u'parseTemplate')) + var.put(u'base', var.get(u"this").callprop(u'finishNode', var.get(u'_node5'), Js(u'TaggedTemplateExpression'))) + else: + return var.get(u'base') + + PyJs_anonymous_3039_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseSubscripts', PyJs_anonymous_3039_) + @Js + def PyJs_anonymous_3040_(close, possibleAsyncArrow, this, arguments, var=var): + var = Scope({u'this':this, u'close':close, u'possibleAsyncArrow':possibleAsyncArrow, u'arguments':arguments}, var) + var.registers([u'elts', u'close', u'first', u'possibleAsyncArrow', u'innerParenStart']) + var.put(u'innerParenStart', PyJsComma(Js(0.0), Js(None))) + var.put(u'elts', Js([])) + var.put(u'first', var.get(u'true')) + while var.get(u"this").callprop(u'eat', var.get(u'close')).neg(): + if var.get(u'first'): + var.put(u'first', Js(False)) + else: + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'comma')) + if var.get(u"this").callprop(u'eat', var.get(u'close')): + break + if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenL')) and var.get(u'innerParenStart').neg()): + var.put(u'innerParenStart', var.get(u"this").get(u'state').get(u'start')) + PyJs_Object_3041_ = Js({u'start':Js(0.0)}) + var.get(u'elts').callprop(u'push', var.get(u"this").callprop(u'parseExprListItem', var.get(u'undefined'), (PyJs_Object_3041_ if var.get(u'possibleAsyncArrow') else var.get(u'undefined')))) + if ((var.get(u'possibleAsyncArrow') and var.get(u'innerParenStart')) and var.get(u"this").callprop(u'shouldParseAsyncArrow')): + var.get(u"this").callprop(u'unexpected') + return var.get(u'elts') + PyJs_anonymous_3040_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseCallExpressionArguments', PyJs_anonymous_3040_) + @Js + def PyJs_anonymous_3042_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this").callprop(u'match', var.get(u'types').get(u'arrow')) + PyJs_anonymous_3042_._set_name(u'anonymous') + var.get(u'pp$3').put(u'shouldParseAsyncArrow', PyJs_anonymous_3042_) + @Js + def PyJs_anonymous_3043_(node, call, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'call':call, u'arguments':arguments}, var) + var.registers([u'node', u'call']) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'arrow')) + return var.get(u"this").callprop(u'parseArrowExpression', var.get(u'node'), var.get(u'call').get(u'arguments'), var.get(u'true')) + PyJs_anonymous_3043_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseAsyncArrowFromCallExpression', PyJs_anonymous_3043_) + @Js + def PyJs_anonymous_3044_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'startPos', u'startLoc']) + var.put(u'startPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'startLoc', var.get(u"this").get(u'state').get(u'startLoc')) + return var.get(u"this").callprop(u'parseSubscripts', var.get(u"this").callprop(u'parseExprAtom'), var.get(u'startPos'), var.get(u'startLoc'), var.get(u'true')) + PyJs_anonymous_3044_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseNoCallExpr', PyJs_anonymous_3044_) + @Js + def PyJs_anonymous_3045_(refShorthandDefaultPos, this, arguments, var=var): + var = Scope({u'this':this, u'refShorthandDefaultPos':refShorthandDefaultPos, u'arguments':arguments}, var) + var.registers([u'node', u'oldLabels', u'allowAwait', u'oldInFunction', u'allowYield', u'value', u'params', u'_node6', u'callee', u'id', u'canBeArrow', u'refShorthandDefaultPos']) + var.put(u'node', PyJsComma(Js(0.0), Js(None))) + var.put(u'canBeArrow', PyJsStrictEq(var.get(u"this").get(u'state').get(u'potentialArrowAt'),var.get(u"this").get(u'state').get(u'start'))) + while 1: + SWITCHED = False + CONDITION = (var.get(u"this").get(u'state').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_super')): + SWITCHED = True + if (var.get(u"this").get(u'state').get(u'inMethod').neg() and var.get(u"this").get(u'options').get(u'allowSuperOutsideMethod').neg()): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'start'), Js(u"'super' outside of function or class")) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'next') + if ((var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenL')).neg() and var.get(u"this").callprop(u'match', var.get(u'types').get(u'bracketL')).neg()) and var.get(u"this").callprop(u'match', var.get(u'types').get(u'dot')).neg()): + var.get(u"this").callprop(u'unexpected') + if ((var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenL')) and PyJsStrictNeq(var.get(u"this").get(u'state').get(u'inMethod'),Js(u'constructor'))) and var.get(u"this").get(u'options').get(u'allowSuperOutsideMethod').neg()): + var.get(u"this").callprop(u'raise', var.get(u'node').get(u'start'), Js(u'super() outside of class constructor')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'Super')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_import')): + SWITCHED = True + if var.get(u"this").callprop(u'hasPlugin', Js(u'dynamicImport')).neg(): + var.get(u"this").callprop(u'unexpected') + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'next') + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenL')).neg(): + var.get(u"this").callprop(u'unexpected', var.get(u"null"), var.get(u'types').get(u'parenL')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'Import')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_this')): + SWITCHED = True + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'next') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ThisExpression')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_yield')): + SWITCHED = True + if var.get(u"this").get(u'state').get(u'inGenerator'): + var.get(u"this").callprop(u'unexpected') + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'name')): + SWITCHED = True + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.put(u'allowAwait', (PyJsStrictEq(var.get(u"this").get(u'state').get(u'value'),Js(u'await')) and var.get(u"this").get(u'state').get(u'inAsync'))) + var.put(u'allowYield', var.get(u"this").callprop(u'shouldAllowYieldIdentifier')) + var.put(u'id', var.get(u"this").callprop(u'parseIdentifier', (var.get(u'allowAwait') or var.get(u'allowYield')))) + if PyJsStrictEq(var.get(u'id').get(u'name'),Js(u'await')): + if (var.get(u"this").get(u'state').get(u'inAsync') or var.get(u"this").get(u'inModule')): + return var.get(u"this").callprop(u'parseAwait', var.get(u'node')) + else: + if ((PyJsStrictEq(var.get(u'id').get(u'name'),Js(u'async')) and var.get(u"this").callprop(u'match', var.get(u'types').get(u'_function'))) and var.get(u"this").callprop(u'canInsertSemicolon').neg()): + var.get(u"this").callprop(u'next') + return var.get(u"this").callprop(u'parseFunction', var.get(u'node'), Js(False), Js(False), var.get(u'true')) + else: + if ((var.get(u'canBeArrow') and PyJsStrictEq(var.get(u'id').get(u'name'),Js(u'async'))) and var.get(u"this").callprop(u'match', var.get(u'types').get(u'name'))): + var.put(u'params', Js([var.get(u"this").callprop(u'parseIdentifier')])) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'arrow')) + return var.get(u"this").callprop(u'parseArrowExpression', var.get(u'node'), var.get(u'params'), var.get(u'true')) + if ((var.get(u'canBeArrow') and var.get(u"this").callprop(u'canInsertSemicolon').neg()) and var.get(u"this").callprop(u'eat', var.get(u'types').get(u'arrow'))): + return var.get(u"this").callprop(u'parseArrowExpression', var.get(u'node'), Js([var.get(u'id')])) + return var.get(u'id') + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_do')): + SWITCHED = True + if var.get(u"this").callprop(u'hasPlugin', Js(u'doExpressions')): + var.put(u'_node6', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'next') + var.put(u'oldInFunction', var.get(u"this").get(u'state').get(u'inFunction')) + var.put(u'oldLabels', var.get(u"this").get(u'state').get(u'labels')) + var.get(u"this").get(u'state').put(u'labels', Js([])) + var.get(u"this").get(u'state').put(u'inFunction', Js(False)) + var.get(u'_node6').put(u'body', var.get(u"this").callprop(u'parseBlock', Js(False), var.get(u'true'))) + var.get(u"this").get(u'state').put(u'inFunction', var.get(u'oldInFunction')) + var.get(u"this").get(u'state').put(u'labels', var.get(u'oldLabels')) + return var.get(u"this").callprop(u'finishNode', var.get(u'_node6'), Js(u'DoExpression')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'regexp')): + SWITCHED = True + var.put(u'value', var.get(u"this").get(u'state').get(u'value')) + var.put(u'node', var.get(u"this").callprop(u'parseLiteral', var.get(u'value').get(u'value'), Js(u'RegExpLiteral'))) + var.get(u'node').put(u'pattern', var.get(u'value').get(u'pattern')) + var.get(u'node').put(u'flags', var.get(u'value').get(u'flags')) + return var.get(u'node') + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'num')): + SWITCHED = True + return var.get(u"this").callprop(u'parseLiteral', var.get(u"this").get(u'state').get(u'value'), Js(u'NumericLiteral')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'string')): + SWITCHED = True + return var.get(u"this").callprop(u'parseLiteral', var.get(u"this").get(u'state').get(u'value'), Js(u'StringLiteral')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_null')): + SWITCHED = True + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'next') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'NullLiteral')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_true')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_false')): + SWITCHED = True + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u'node').put(u'value', var.get(u"this").callprop(u'match', var.get(u'types').get(u'_true'))) + var.get(u"this").callprop(u'next') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'BooleanLiteral')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'parenL')): + SWITCHED = True + return var.get(u"this").callprop(u'parseParenAndDistinguishExpression', var.get(u"null"), var.get(u"null"), var.get(u'canBeArrow')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'bracketL')): + SWITCHED = True + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'next') + var.get(u'node').put(u'elements', var.get(u"this").callprop(u'parseExprList', var.get(u'types').get(u'bracketR'), var.get(u'true'), var.get(u'refShorthandDefaultPos'))) + var.get(u"this").callprop(u'toReferencedList', var.get(u'node').get(u'elements')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ArrayExpression')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'braceL')): + SWITCHED = True + return var.get(u"this").callprop(u'parseObj', Js(False), var.get(u'refShorthandDefaultPos')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_function')): + SWITCHED = True + return var.get(u"this").callprop(u'parseFunctionExpression') + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'at')): + SWITCHED = True + var.get(u"this").callprop(u'parseDecorators') + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_class')): + SWITCHED = True + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'takeDecorators', var.get(u'node')) + return var.get(u"this").callprop(u'parseClass', var.get(u'node'), Js(False)) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'_new')): + SWITCHED = True + return var.get(u"this").callprop(u'parseNew') + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'backQuote')): + SWITCHED = True + return var.get(u"this").callprop(u'parseTemplate') + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'types').get(u'doubleColon')): + SWITCHED = True + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'next') + var.get(u'node').put(u'object', var.get(u"null")) + var.put(u'callee', var.get(u'node').put(u'callee', var.get(u"this").callprop(u'parseNoCallExpr'))) + if PyJsStrictEq(var.get(u'callee').get(u'type'),Js(u'MemberExpression')): + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'BindExpression')) + else: + var.get(u"this").callprop(u'raise', var.get(u'callee').get(u'start'), Js(u'Binding should be performed on object property.')) + if True: + SWITCHED = True + var.get(u"this").callprop(u'unexpected') + SWITCHED = True + break + PyJs_anonymous_3045_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseExprAtom', PyJs_anonymous_3045_) + @Js + def PyJs_anonymous_3046_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'meta']) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.put(u'meta', var.get(u"this").callprop(u'parseIdentifier', var.get(u'true'))) + if ((var.get(u"this").get(u'state').get(u'inGenerator') and var.get(u"this").callprop(u'eat', var.get(u'types').get(u'dot'))) and var.get(u"this").callprop(u'hasPlugin', Js(u'functionSent'))): + return var.get(u"this").callprop(u'parseMetaProperty', var.get(u'node'), var.get(u'meta'), Js(u'sent')) + else: + return var.get(u"this").callprop(u'parseFunction', var.get(u'node'), Js(False)) + PyJs_anonymous_3046_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseFunctionExpression', PyJs_anonymous_3046_) + @Js + def PyJs_anonymous_3047_(node, meta, propertyName, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'propertyName':propertyName, u'meta':meta, u'arguments':arguments}, var) + var.registers([u'node', u'propertyName', u'meta']) + var.get(u'node').put(u'meta', var.get(u'meta')) + var.get(u'node').put(u'property', var.get(u"this").callprop(u'parseIdentifier', var.get(u'true'))) + if PyJsStrictNeq(var.get(u'node').get(u'property').get(u'name'),var.get(u'propertyName')): + var.get(u"this").callprop(u'raise', var.get(u'node').get(u'property').get(u'start'), (((Js(u'The only valid meta property for new is ')+var.get(u'meta').get(u'name'))+Js(u'.'))+var.get(u'propertyName'))) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'MetaProperty')) + PyJs_anonymous_3047_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseMetaProperty', PyJs_anonymous_3047_) + @Js + def PyJs_anonymous_3048_(value, type, this, arguments, var=var): + var = Scope({u'this':this, u'type':type, u'arguments':arguments, u'value':value}, var) + var.registers([u'node', u'type', u'value']) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'addExtra', var.get(u'node'), Js(u'rawValue'), var.get(u'value')) + var.get(u"this").callprop(u'addExtra', var.get(u'node'), Js(u'raw'), var.get(u"this").get(u'input').callprop(u'slice', var.get(u"this").get(u'state').get(u'start'), var.get(u"this").get(u'state').get(u'end'))) + var.get(u'node').put(u'value', var.get(u'value')) + var.get(u"this").callprop(u'next') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), var.get(u'type')) + PyJs_anonymous_3048_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseLiteral', PyJs_anonymous_3048_) + @Js + def PyJs_anonymous_3049_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'val']) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'parenL')) + var.put(u'val', var.get(u"this").callprop(u'parseExpression')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'parenR')) + return var.get(u'val') + PyJs_anonymous_3049_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseParenExpression', PyJs_anonymous_3049_) + @Js + def PyJs_anonymous_3050_(startPos, startLoc, canBeArrow, this, arguments, var=var): + var = Scope({u'this':this, u'startPos':startPos, u'canBeArrow':canBeArrow, u'startLoc':startLoc, u'arguments':arguments}, var) + var.registers([u'innerStartLoc', u'optionalCommaStart', u'_ref', u'startPos', u'arrowNode', u'_iterator', u'val', u'param', u'innerStartPos', u'spreadNodeStartPos', u'refShorthandDefaultPos', u'_i', u'spreadStart', u'exprList', u'canBeArrow', u'innerEndPos', u'spreadNodeStartLoc', u'refNeedsArrowPos', u'_isArray', u'innerEndLoc', u'startLoc', u'first']) + var.put(u'startPos', (var.get(u'startPos') or var.get(u"this").get(u'state').get(u'start'))) + var.put(u'startLoc', (var.get(u'startLoc') or var.get(u"this").get(u'state').get(u'startLoc'))) + var.put(u'val', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'parenL')) + var.put(u'innerStartPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'innerStartLoc', var.get(u"this").get(u'state').get(u'startLoc')) + var.put(u'exprList', Js([])) + var.put(u'first', var.get(u'true')) + PyJs_Object_3051_ = Js({u'start':Js(0.0)}) + var.put(u'refShorthandDefaultPos', PyJs_Object_3051_) + var.put(u'spreadStart', PyJsComma(Js(0.0), Js(None))) + var.put(u'optionalCommaStart', PyJsComma(Js(0.0), Js(None))) + PyJs_Object_3052_ = Js({u'start':Js(0.0)}) + var.put(u'refNeedsArrowPos', PyJs_Object_3052_) + while var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenR')).neg(): + if var.get(u'first'): + var.put(u'first', Js(False)) + else: + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'comma'), (var.get(u'refNeedsArrowPos').get(u'start') or var.get(u"null"))) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenR')): + var.put(u'optionalCommaStart', var.get(u"this").get(u'state').get(u'start')) + break + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'ellipsis')): + var.put(u'spreadNodeStartPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'spreadNodeStartLoc', var.get(u"this").get(u'state').get(u'startLoc')) + var.put(u'spreadStart', var.get(u"this").get(u'state').get(u'start')) + var.get(u'exprList').callprop(u'push', var.get(u"this").callprop(u'parseParenItem', var.get(u"this").callprop(u'parseRest'), var.get(u'spreadNodeStartLoc'), var.get(u'spreadNodeStartPos'))) + break + else: + var.get(u'exprList').callprop(u'push', var.get(u"this").callprop(u'parseMaybeAssign', Js(False), var.get(u'refShorthandDefaultPos'), var.get(u"this").get(u'parseParenItem'), var.get(u'refNeedsArrowPos'))) + var.put(u'innerEndPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'innerEndLoc', var.get(u"this").get(u'state').get(u'startLoc')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'parenR')) + var.put(u'arrowNode', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + if ((var.get(u'canBeArrow') and var.get(u"this").callprop(u'shouldParseArrow')) and var.put(u'arrowNode', var.get(u"this").callprop(u'parseArrow', var.get(u'arrowNode')))): + #for JS loop + var.put(u'_iterator', var.get(u'exprList')) + var.put(u'_isArray', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator'))) + var.put(u'_i', Js(0.0)) + var.put(u'_iterator', (var.get(u'_iterator') if var.get(u'_isArray') else var.get(u'_iterator').callprop(var.get(u'Symbol').get(u'iterator')))) + while 1: + pass + if var.get(u'_isArray'): + if (var.get(u'_i')>=var.get(u'_iterator').get(u'length')): + break + var.put(u'_ref', var.get(u'_iterator').get((var.put(u'_i',Js(var.get(u'_i').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i', var.get(u'_iterator').callprop(u'next')) + if var.get(u'_i').get(u'done'): + break + var.put(u'_ref', var.get(u'_i').get(u'value')) + var.put(u'param', var.get(u'_ref')) + if (var.get(u'param').get(u'extra') and var.get(u'param').get(u'extra').get(u'parenthesized')): + var.get(u"this").callprop(u'unexpected', var.get(u'param').get(u'extra').get(u'parenStart')) + + return var.get(u"this").callprop(u'parseArrowExpression', var.get(u'arrowNode'), var.get(u'exprList')) + if var.get(u'exprList').get(u'length').neg(): + var.get(u"this").callprop(u'unexpected', var.get(u"this").get(u'state').get(u'lastTokStart')) + if var.get(u'optionalCommaStart'): + var.get(u"this").callprop(u'unexpected', var.get(u'optionalCommaStart')) + if var.get(u'spreadStart'): + var.get(u"this").callprop(u'unexpected', var.get(u'spreadStart')) + if var.get(u'refShorthandDefaultPos').get(u'start'): + var.get(u"this").callprop(u'unexpected', var.get(u'refShorthandDefaultPos').get(u'start')) + if var.get(u'refNeedsArrowPos').get(u'start'): + var.get(u"this").callprop(u'unexpected', var.get(u'refNeedsArrowPos').get(u'start')) + if (var.get(u'exprList').get(u'length')>Js(1.0)): + var.put(u'val', var.get(u"this").callprop(u'startNodeAt', var.get(u'innerStartPos'), var.get(u'innerStartLoc'))) + var.get(u'val').put(u'expressions', var.get(u'exprList')) + var.get(u"this").callprop(u'toReferencedList', var.get(u'val').get(u'expressions')) + var.get(u"this").callprop(u'finishNodeAt', var.get(u'val'), Js(u'SequenceExpression'), var.get(u'innerEndPos'), var.get(u'innerEndLoc')) + else: + var.put(u'val', var.get(u'exprList').get(u'0')) + var.get(u"this").callprop(u'addExtra', var.get(u'val'), Js(u'parenthesized'), var.get(u'true')) + var.get(u"this").callprop(u'addExtra', var.get(u'val'), Js(u'parenStart'), var.get(u'startPos')) + return var.get(u'val') + PyJs_anonymous_3050_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseParenAndDistinguishExpression', PyJs_anonymous_3050_) + @Js + def PyJs_anonymous_3053_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this").callprop(u'canInsertSemicolon').neg() + PyJs_anonymous_3053_._set_name(u'anonymous') + var.get(u'pp$3').put(u'shouldParseArrow', PyJs_anonymous_3053_) + @Js + def PyJs_anonymous_3054_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'arrow')): + return var.get(u'node') + PyJs_anonymous_3054_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseArrow', PyJs_anonymous_3054_) + @Js + def PyJs_anonymous_3055_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + return var.get(u'node') + PyJs_anonymous_3055_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseParenItem', PyJs_anonymous_3055_) + @Js + def PyJs_anonymous_3056_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'meta']) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.put(u'meta', var.get(u"this").callprop(u'parseIdentifier', var.get(u'true'))) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'dot')): + return var.get(u"this").callprop(u'parseMetaProperty', var.get(u'node'), var.get(u'meta'), Js(u'target')) + var.get(u'node').put(u'callee', var.get(u"this").callprop(u'parseNoCallExpr')) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'parenL')): + var.get(u'node').put(u'arguments', var.get(u"this").callprop(u'parseExprList', var.get(u'types').get(u'parenR'))) + var.get(u"this").callprop(u'toReferencedList', var.get(u'node').get(u'arguments')) + else: + var.get(u'node').put(u'arguments', Js([])) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'NewExpression')) + PyJs_anonymous_3056_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseNew', PyJs_anonymous_3056_) + @Js + def PyJs_anonymous_3057_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'elem']) + var.put(u'elem', var.get(u"this").callprop(u'startNode')) + PyJs_Object_3058_ = Js({u'raw':var.get(u"this").get(u'input').callprop(u'slice', var.get(u"this").get(u'state').get(u'start'), var.get(u"this").get(u'state').get(u'end')).callprop(u'replace', JsRegExp(u'/\\r\\n?/g'), Js(u'\n')),u'cooked':var.get(u"this").get(u'state').get(u'value')}) + var.get(u'elem').put(u'value', PyJs_Object_3058_) + var.get(u"this").callprop(u'next') + var.get(u'elem').put(u'tail', var.get(u"this").callprop(u'match', var.get(u'types').get(u'backQuote'))) + return var.get(u"this").callprop(u'finishNode', var.get(u'elem'), Js(u'TemplateElement')) + PyJs_anonymous_3057_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseTemplateElement', PyJs_anonymous_3057_) + @Js + def PyJs_anonymous_3059_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'curElt']) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'next') + var.get(u'node').put(u'expressions', Js([])) + var.put(u'curElt', var.get(u"this").callprop(u'parseTemplateElement')) + var.get(u'node').put(u'quasis', Js([var.get(u'curElt')])) + while var.get(u'curElt').get(u'tail').neg(): + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'dollarBraceL')) + var.get(u'node').get(u'expressions').callprop(u'push', var.get(u"this").callprop(u'parseExpression')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'braceR')) + var.get(u'node').get(u'quasis').callprop(u'push', var.put(u'curElt', var.get(u"this").callprop(u'parseTemplateElement'))) + var.get(u"this").callprop(u'next') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'TemplateLiteral')) + PyJs_anonymous_3059_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseTemplate', PyJs_anonymous_3059_) + @Js + def PyJs_anonymous_3060_(isPattern, refShorthandDefaultPos, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'refShorthandDefaultPos':refShorthandDefaultPos, u'isPattern':isPattern}, var) + var.registers([u'node', u'firstRestLocation', u'isGenerator', u'prop', u'isAsync', u'asyncId', u'refShorthandDefaultPos', u'startLoc', u'propHash', u'position', u'startPos', u'isPattern', u'decorators', u'first']) + var.put(u'decorators', Js([])) + var.put(u'propHash', var.get(u'Object').callprop(u'create', var.get(u"null"))) + var.put(u'first', var.get(u'true')) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u'node').put(u'properties', Js([])) + var.get(u"this").callprop(u'next') + var.put(u'firstRestLocation', var.get(u"null")) + while var.get(u"this").callprop(u'eat', var.get(u'types').get(u'braceR')).neg(): + if var.get(u'first'): + var.put(u'first', Js(False)) + else: + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'comma')) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'braceR')): + break + while var.get(u"this").callprop(u'match', var.get(u'types').get(u'at')): + var.get(u'decorators').callprop(u'push', var.get(u"this").callprop(u'parseDecorator')) + var.put(u'prop', var.get(u"this").callprop(u'startNode')) + var.put(u'isGenerator', Js(False)) + var.put(u'isAsync', Js(False)) + var.put(u'startPos', PyJsComma(Js(0.0), Js(None))) + var.put(u'startLoc', PyJsComma(Js(0.0), Js(None))) + if var.get(u'decorators').get(u'length'): + var.get(u'prop').put(u'decorators', var.get(u'decorators')) + var.put(u'decorators', Js([])) + if (var.get(u"this").callprop(u'hasPlugin', Js(u'objectRestSpread')) and var.get(u"this").callprop(u'match', var.get(u'types').get(u'ellipsis'))): + var.put(u'prop', var.get(u"this").callprop(u'parseSpread')) + var.get(u'prop').put(u'type', (Js(u'RestProperty') if var.get(u'isPattern') else Js(u'SpreadProperty'))) + var.get(u'node').get(u'properties').callprop(u'push', var.get(u'prop')) + if var.get(u'isPattern'): + var.put(u'position', var.get(u"this").get(u'state').get(u'start')) + if PyJsStrictNeq(var.get(u'firstRestLocation'),var.get(u"null")): + var.get(u"this").callprop(u'unexpected', var.get(u'firstRestLocation'), Js(u'Cannot have multiple rest elements when destructuring')) + else: + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'braceR')): + break + else: + if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'comma')) and PyJsStrictEq(var.get(u"this").callprop(u'lookahead').get(u'type'),var.get(u'types').get(u'braceR'))): + continue + else: + var.put(u'firstRestLocation', var.get(u'position')) + continue + else: + continue + var.get(u'prop').put(u'method', Js(False)) + var.get(u'prop').put(u'shorthand', Js(False)) + if (var.get(u'isPattern') or var.get(u'refShorthandDefaultPos')): + var.put(u'startPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'startLoc', var.get(u"this").get(u'state').get(u'startLoc')) + if var.get(u'isPattern').neg(): + var.put(u'isGenerator', var.get(u"this").callprop(u'eat', var.get(u'types').get(u'star'))) + if (var.get(u'isPattern').neg() and var.get(u"this").callprop(u'isContextual', Js(u'async'))): + if var.get(u'isGenerator'): + var.get(u"this").callprop(u'unexpected') + var.put(u'asyncId', var.get(u"this").callprop(u'parseIdentifier')) + if ((((var.get(u"this").callprop(u'match', var.get(u'types').get(u'colon')) or var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenL'))) or var.get(u"this").callprop(u'match', var.get(u'types').get(u'braceR'))) or var.get(u"this").callprop(u'match', var.get(u'types').get(u'eq'))) or var.get(u"this").callprop(u'match', var.get(u'types').get(u'comma'))): + var.get(u'prop').put(u'key', var.get(u'asyncId')) + else: + var.put(u'isAsync', var.get(u'true')) + if var.get(u"this").callprop(u'hasPlugin', Js(u'asyncGenerators')): + var.put(u'isGenerator', var.get(u"this").callprop(u'eat', var.get(u'types').get(u'star'))) + var.get(u"this").callprop(u'parsePropertyName', var.get(u'prop')) + else: + var.get(u"this").callprop(u'parsePropertyName', var.get(u'prop')) + var.get(u"this").callprop(u'parseObjPropValue', var.get(u'prop'), var.get(u'startPos'), var.get(u'startLoc'), var.get(u'isGenerator'), var.get(u'isAsync'), var.get(u'isPattern'), var.get(u'refShorthandDefaultPos')) + var.get(u"this").callprop(u'checkPropClash', var.get(u'prop'), var.get(u'propHash')) + if var.get(u'prop').get(u'shorthand'): + var.get(u"this").callprop(u'addExtra', var.get(u'prop'), Js(u'shorthand'), var.get(u'true')) + var.get(u'node').get(u'properties').callprop(u'push', var.get(u'prop')) + if PyJsStrictNeq(var.get(u'firstRestLocation'),var.get(u"null")): + var.get(u"this").callprop(u'unexpected', var.get(u'firstRestLocation'), Js(u'The rest element has to be the last element when destructuring')) + if var.get(u'decorators').get(u'length'): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'start'), Js(u'You have trailing decorators with no property')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), (Js(u'ObjectPattern') if var.get(u'isPattern') else Js(u'ObjectExpression'))) + PyJs_anonymous_3060_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseObj', PyJs_anonymous_3060_) + @Js + def PyJs_anonymous_3061_(prop, startPos, startLoc, isGenerator, isAsync, isPattern, refShorthandDefaultPos, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'isGenerator':isGenerator, u'prop':prop, u'isAsync':isAsync, u'refShorthandDefaultPos':refShorthandDefaultPos, u'startLoc':startLoc, u'startPos':startPos, u'isPattern':isPattern}, var) + var.registers([u'isGenerator', u'prop', u'start', u'paramCount', u'illegalBinding', u'refShorthandDefaultPos', u'startLoc', u'isAsync', u'startPos', u'isPattern']) + if ((var.get(u'isAsync') or var.get(u'isGenerator')) or var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenL'))): + if var.get(u'isPattern'): + var.get(u"this").callprop(u'unexpected') + var.get(u'prop').put(u'kind', Js(u'method')) + var.get(u'prop').put(u'method', var.get(u'true')) + var.get(u"this").callprop(u'parseMethod', var.get(u'prop'), var.get(u'isGenerator'), var.get(u'isAsync')) + return var.get(u"this").callprop(u'finishNode', var.get(u'prop'), Js(u'ObjectMethod')) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'colon')): + var.get(u'prop').put(u'value', (var.get(u"this").callprop(u'parseMaybeDefault', var.get(u"this").get(u'state').get(u'start'), var.get(u"this").get(u'state').get(u'startLoc')) if var.get(u'isPattern') else var.get(u"this").callprop(u'parseMaybeAssign', Js(False), var.get(u'refShorthandDefaultPos')))) + return var.get(u"this").callprop(u'finishNode', var.get(u'prop'), Js(u'ObjectProperty')) + def PyJs_LONG_3062_(var=var): + return (((((var.get(u'isPattern').neg() and var.get(u'prop').get(u'computed').neg()) and PyJsStrictEq(var.get(u'prop').get(u'key').get(u'type'),Js(u'Identifier'))) and (PyJsStrictEq(var.get(u'prop').get(u'key').get(u'name'),Js(u'get')) or PyJsStrictEq(var.get(u'prop').get(u'key').get(u'name'),Js(u'set')))) and var.get(u"this").callprop(u'match', var.get(u'types').get(u'comma')).neg()) and var.get(u"this").callprop(u'match', var.get(u'types').get(u'braceR')).neg()) + if PyJs_LONG_3062_(): + if (var.get(u'isGenerator') or var.get(u'isAsync')): + var.get(u"this").callprop(u'unexpected') + var.get(u'prop').put(u'kind', var.get(u'prop').get(u'key').get(u'name')) + var.get(u"this").callprop(u'parsePropertyName', var.get(u'prop')) + var.get(u"this").callprop(u'parseMethod', var.get(u'prop'), Js(False)) + var.put(u'paramCount', (Js(0.0) if PyJsStrictEq(var.get(u'prop').get(u'kind'),Js(u'get')) else Js(1.0))) + if PyJsStrictNeq(var.get(u'prop').get(u'params').get(u'length'),var.get(u'paramCount')): + var.put(u'start', var.get(u'prop').get(u'start')) + if PyJsStrictEq(var.get(u'prop').get(u'kind'),Js(u'get')): + var.get(u"this").callprop(u'raise', var.get(u'start'), Js(u'getter should have no params')) + else: + var.get(u"this").callprop(u'raise', var.get(u'start'), Js(u'setter should have exactly one param')) + return var.get(u"this").callprop(u'finishNode', var.get(u'prop'), Js(u'ObjectMethod')) + if (var.get(u'prop').get(u'computed').neg() and PyJsStrictEq(var.get(u'prop').get(u'key').get(u'type'),Js(u'Identifier'))): + if var.get(u'isPattern'): + var.put(u'illegalBinding', var.get(u"this").callprop(u'isKeyword', var.get(u'prop').get(u'key').get(u'name'))) + if (var.get(u'illegalBinding').neg() and var.get(u"this").get(u'state').get(u'strict')): + var.put(u'illegalBinding', (var.get(u'reservedWords').callprop(u'strictBind', var.get(u'prop').get(u'key').get(u'name')) or var.get(u'reservedWords').callprop(u'strict', var.get(u'prop').get(u'key').get(u'name')))) + if var.get(u'illegalBinding'): + var.get(u"this").callprop(u'raise', var.get(u'prop').get(u'key').get(u'start'), (Js(u'Binding ')+var.get(u'prop').get(u'key').get(u'name'))) + var.get(u'prop').put(u'value', var.get(u"this").callprop(u'parseMaybeDefault', var.get(u'startPos'), var.get(u'startLoc'), var.get(u'prop').get(u'key').callprop(u'__clone'))) + else: + if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'eq')) and var.get(u'refShorthandDefaultPos')): + if var.get(u'refShorthandDefaultPos').get(u'start').neg(): + var.get(u'refShorthandDefaultPos').put(u'start', var.get(u"this").get(u'state').get(u'start')) + var.get(u'prop').put(u'value', var.get(u"this").callprop(u'parseMaybeDefault', var.get(u'startPos'), var.get(u'startLoc'), var.get(u'prop').get(u'key').callprop(u'__clone'))) + else: + var.get(u'prop').put(u'value', var.get(u'prop').get(u'key').callprop(u'__clone')) + var.get(u'prop').put(u'shorthand', var.get(u'true')) + return var.get(u"this").callprop(u'finishNode', var.get(u'prop'), Js(u'ObjectProperty')) + var.get(u"this").callprop(u'unexpected') + PyJs_anonymous_3061_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseObjPropValue', PyJs_anonymous_3061_) + @Js + def PyJs_anonymous_3063_(prop, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'prop':prop}, var) + var.registers([u'prop']) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'bracketL')): + var.get(u'prop').put(u'computed', var.get(u'true')) + var.get(u'prop').put(u'key', var.get(u"this").callprop(u'parseMaybeAssign')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'bracketR')) + return var.get(u'prop').get(u'key') + else: + var.get(u'prop').put(u'computed', Js(False)) + return var.get(u'prop').put(u'key', (var.get(u"this").callprop(u'parseExprAtom') if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'num')) or var.get(u"this").callprop(u'match', var.get(u'types').get(u'string'))) else var.get(u"this").callprop(u'parseIdentifier', var.get(u'true')))) + PyJs_anonymous_3063_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parsePropertyName', PyJs_anonymous_3063_) + @Js + def PyJs_anonymous_3064_(node, isAsync, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'isAsync':isAsync, u'arguments':arguments}, var) + var.registers([u'node', u'isAsync']) + var.get(u'node').put(u'id', var.get(u"null")) + var.get(u'node').put(u'generator', Js(False)) + var.get(u'node').put(u'expression', Js(False)) + var.get(u'node').put(u'async', var.get(u'isAsync').neg().neg()) + PyJs_anonymous_3064_._set_name(u'anonymous') + var.get(u'pp$3').put(u'initFunction', PyJs_anonymous_3064_) + @Js + def PyJs_anonymous_3065_(node, isGenerator, isAsync, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'isAsync':isAsync, u'isGenerator':isGenerator, u'arguments':arguments}, var) + var.registers([u'node', u'oldInMethod', u'isAsync', u'isGenerator']) + var.put(u'oldInMethod', var.get(u"this").get(u'state').get(u'inMethod')) + var.get(u"this").get(u'state').put(u'inMethod', (var.get(u'node').get(u'kind') or var.get(u'true'))) + var.get(u"this").callprop(u'initFunction', var.get(u'node'), var.get(u'isAsync')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'parenL')) + var.get(u'node').put(u'params', var.get(u"this").callprop(u'parseBindingList', var.get(u'types').get(u'parenR'))) + var.get(u'node').put(u'generator', var.get(u'isGenerator')) + var.get(u"this").callprop(u'parseFunctionBody', var.get(u'node')) + var.get(u"this").get(u'state').put(u'inMethod', var.get(u'oldInMethod')) + return var.get(u'node') + PyJs_anonymous_3065_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseMethod', PyJs_anonymous_3065_) + @Js + def PyJs_anonymous_3066_(node, params, isAsync, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'isAsync':isAsync, u'params':params, u'arguments':arguments}, var) + var.registers([u'node', u'isAsync', u'params']) + var.get(u"this").callprop(u'initFunction', var.get(u'node'), var.get(u'isAsync')) + var.get(u'node').put(u'params', var.get(u"this").callprop(u'toAssignableList', var.get(u'params'), var.get(u'true'), Js(u'arrow function parameters'))) + var.get(u"this").callprop(u'parseFunctionBody', var.get(u'node'), var.get(u'true')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ArrowFunctionExpression')) + PyJs_anonymous_3066_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseArrowExpression', PyJs_anonymous_3066_) + @Js + def PyJs_anonymous_3067_(node, allowExpression, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'allowExpression':allowExpression, u'arguments':arguments}, var) + var.registers([u'node', u'_isArray3', u'_isArray2', u'directive', u'oldLabels', u'checkLVal', u'oldInAsync', u'allowExpression', u'isStrict', u'_i3', u'_i2', u'param', u'_ref2', u'oldInFunc', u'isExpression', u'oldStrict', u'nameHash', u'oldInGen', u'_ref3', u'_iterator3', u'_iterator2']) + var.put(u'isExpression', (var.get(u'allowExpression') and var.get(u"this").callprop(u'match', var.get(u'types').get(u'braceL')).neg())) + var.put(u'oldInAsync', var.get(u"this").get(u'state').get(u'inAsync')) + var.get(u"this").get(u'state').put(u'inAsync', var.get(u'node').get(u'async')) + if var.get(u'isExpression'): + var.get(u'node').put(u'body', var.get(u"this").callprop(u'parseMaybeAssign')) + var.get(u'node').put(u'expression', var.get(u'true')) + else: + var.put(u'oldInFunc', var.get(u"this").get(u'state').get(u'inFunction')) + var.put(u'oldInGen', var.get(u"this").get(u'state').get(u'inGenerator')) + var.put(u'oldLabels', var.get(u"this").get(u'state').get(u'labels')) + var.get(u"this").get(u'state').put(u'inFunction', var.get(u'true')) + var.get(u"this").get(u'state').put(u'inGenerator', var.get(u'node').get(u'generator')) + var.get(u"this").get(u'state').put(u'labels', Js([])) + var.get(u'node').put(u'body', var.get(u"this").callprop(u'parseBlock', var.get(u'true'))) + var.get(u'node').put(u'expression', Js(False)) + var.get(u"this").get(u'state').put(u'inFunction', var.get(u'oldInFunc')) + var.get(u"this").get(u'state').put(u'inGenerator', var.get(u'oldInGen')) + var.get(u"this").get(u'state').put(u'labels', var.get(u'oldLabels')) + var.get(u"this").get(u'state').put(u'inAsync', var.get(u'oldInAsync')) + var.put(u'checkLVal', var.get(u"this").get(u'state').get(u'strict')) + var.put(u'isStrict', Js(False)) + if var.get(u'allowExpression'): + var.put(u'checkLVal', var.get(u'true')) + if (var.get(u'isExpression').neg() and var.get(u'node').get(u'body').get(u'directives').get(u'length')): + #for JS loop + var.put(u'_iterator2', var.get(u'node').get(u'body').get(u'directives')) + var.put(u'_isArray2', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator2'))) + var.put(u'_i2', Js(0.0)) + var.put(u'_iterator2', (var.get(u'_iterator2') if var.get(u'_isArray2') else var.get(u'_iterator2').callprop(var.get(u'Symbol').get(u'iterator')))) + while 1: + pass + if var.get(u'_isArray2'): + if (var.get(u'_i2')>=var.get(u'_iterator2').get(u'length')): + break + var.put(u'_ref2', var.get(u'_iterator2').get((var.put(u'_i2',Js(var.get(u'_i2').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i2', var.get(u'_iterator2').callprop(u'next')) + if var.get(u'_i2').get(u'done'): + break + var.put(u'_ref2', var.get(u'_i2').get(u'value')) + var.put(u'directive', var.get(u'_ref2')) + if PyJsStrictEq(var.get(u'directive').get(u'value').get(u'value'),Js(u'use strict')): + var.put(u'isStrict', var.get(u'true')) + var.put(u'checkLVal', var.get(u'true')) + break + + if (((var.get(u'isStrict') and var.get(u'node').get(u'id')) and PyJsStrictEq(var.get(u'node').get(u'id').get(u'type'),Js(u'Identifier'))) and PyJsStrictEq(var.get(u'node').get(u'id').get(u'name'),Js(u'yield'))): + var.get(u"this").callprop(u'raise', var.get(u'node').get(u'id').get(u'start'), Js(u'Binding yield in strict mode')) + if var.get(u'checkLVal'): + var.put(u'nameHash', var.get(u'Object').callprop(u'create', var.get(u"null"))) + var.put(u'oldStrict', var.get(u"this").get(u'state').get(u'strict')) + if var.get(u'isStrict'): + var.get(u"this").get(u'state').put(u'strict', var.get(u'true')) + if var.get(u'node').get(u'id'): + var.get(u"this").callprop(u'checkLVal', var.get(u'node').get(u'id'), var.get(u'true'), var.get(u'undefined'), Js(u'function name')) + #for JS loop + var.put(u'_iterator3', var.get(u'node').get(u'params')) + var.put(u'_isArray3', var.get(u'Array').callprop(u'isArray', var.get(u'_iterator3'))) + var.put(u'_i3', Js(0.0)) + var.put(u'_iterator3', (var.get(u'_iterator3') if var.get(u'_isArray3') else var.get(u'_iterator3').callprop(var.get(u'Symbol').get(u'iterator')))) + while 1: + pass + if var.get(u'_isArray3'): + if (var.get(u'_i3')>=var.get(u'_iterator3').get(u'length')): + break + var.put(u'_ref3', var.get(u'_iterator3').get((var.put(u'_i3',Js(var.get(u'_i3').to_number())+Js(1))-Js(1)))) + else: + var.put(u'_i3', var.get(u'_iterator3').callprop(u'next')) + if var.get(u'_i3').get(u'done'): + break + var.put(u'_ref3', var.get(u'_i3').get(u'value')) + var.put(u'param', var.get(u'_ref3')) + if (var.get(u'isStrict') and PyJsStrictNeq(var.get(u'param').get(u'type'),Js(u'Identifier'))): + var.get(u"this").callprop(u'raise', var.get(u'param').get(u'start'), Js(u'Non-simple parameter in strict mode')) + var.get(u"this").callprop(u'checkLVal', var.get(u'param'), var.get(u'true'), var.get(u'nameHash'), Js(u'function parameter list')) + + var.get(u"this").get(u'state').put(u'strict', var.get(u'oldStrict')) + PyJs_anonymous_3067_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseFunctionBody', PyJs_anonymous_3067_) + @Js + def PyJs_anonymous_3068_(close, allowEmpty, refShorthandDefaultPos, this, arguments, var=var): + var = Scope({u'this':this, u'close':close, u'allowEmpty':allowEmpty, u'refShorthandDefaultPos':refShorthandDefaultPos, u'arguments':arguments}, var) + var.registers([u'elts', u'close', u'allowEmpty', u'refShorthandDefaultPos', u'first']) + var.put(u'elts', Js([])) + var.put(u'first', var.get(u'true')) + while var.get(u"this").callprop(u'eat', var.get(u'close')).neg(): + if var.get(u'first'): + var.put(u'first', Js(False)) + else: + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'comma')) + if var.get(u"this").callprop(u'eat', var.get(u'close')): + break + var.get(u'elts').callprop(u'push', var.get(u"this").callprop(u'parseExprListItem', var.get(u'allowEmpty'), var.get(u'refShorthandDefaultPos'))) + return var.get(u'elts') + PyJs_anonymous_3068_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseExprList', PyJs_anonymous_3068_) + @Js + def PyJs_anonymous_3069_(allowEmpty, refShorthandDefaultPos, this, arguments, var=var): + var = Scope({u'this':this, u'allowEmpty':allowEmpty, u'refShorthandDefaultPos':refShorthandDefaultPos, u'arguments':arguments}, var) + var.registers([u'allowEmpty', u'refShorthandDefaultPos', u'elt']) + var.put(u'elt', PyJsComma(Js(0.0), Js(None))) + if (var.get(u'allowEmpty') and var.get(u"this").callprop(u'match', var.get(u'types').get(u'comma'))): + var.put(u'elt', var.get(u"null")) + else: + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'ellipsis')): + var.put(u'elt', var.get(u"this").callprop(u'parseSpread', var.get(u'refShorthandDefaultPos'))) + else: + var.put(u'elt', var.get(u"this").callprop(u'parseMaybeAssign', Js(False), var.get(u'refShorthandDefaultPos'), var.get(u"this").get(u'parseParenItem'))) + return var.get(u'elt') + PyJs_anonymous_3069_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseExprListItem', PyJs_anonymous_3069_) + @Js + def PyJs_anonymous_3070_(liberal, this, arguments, var=var): + var = Scope({u'this':this, u'liberal':liberal, u'arguments':arguments}, var) + var.registers([u'node', u'liberal']) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'name')): + if ((var.get(u'liberal').neg() and var.get(u"this").get(u'state').get(u'strict')) and var.get(u'reservedWords').callprop(u'strict', var.get(u"this").get(u'state').get(u'value'))): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'start'), ((Js(u"The keyword '")+var.get(u"this").get(u'state').get(u'value'))+Js(u"' is reserved"))) + var.get(u'node').put(u'name', var.get(u"this").get(u'state').get(u'value')) + else: + if (var.get(u'liberal') and var.get(u"this").get(u'state').get(u'type').get(u'keyword')): + var.get(u'node').put(u'name', var.get(u"this").get(u'state').get(u'type').get(u'keyword')) + else: + var.get(u"this").callprop(u'unexpected') + if ((var.get(u'liberal').neg() and PyJsStrictEq(var.get(u'node').get(u'name'),Js(u'await'))) and var.get(u"this").get(u'state').get(u'inAsync')): + var.get(u"this").callprop(u'raise', var.get(u'node').get(u'start'), Js(u'invalid use of await inside of an async function')) + var.get(u'node').get(u'loc').put(u'identifierName', var.get(u'node').get(u'name')) + var.get(u"this").callprop(u'next') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'Identifier')) + PyJs_anonymous_3070_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseIdentifier', PyJs_anonymous_3070_) + @Js + def PyJs_anonymous_3071_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u"this").get(u'state').get(u'inAsync').neg(): + var.get(u"this").callprop(u'unexpected') + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'star')): + var.get(u"this").callprop(u'raise', var.get(u'node').get(u'start'), Js(u'await* has been removed from the async functions proposal. Use Promise.all() instead.')) + var.get(u'node').put(u'argument', var.get(u"this").callprop(u'parseMaybeUnary')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'AwaitExpression')) + PyJs_anonymous_3071_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseAwait', PyJs_anonymous_3071_) + @Js + def PyJs_anonymous_3072_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'next') + if ((var.get(u"this").callprop(u'match', var.get(u'types').get(u'semi')) or var.get(u"this").callprop(u'canInsertSemicolon')) or (var.get(u"this").callprop(u'match', var.get(u'types').get(u'star')).neg() and var.get(u"this").get(u'state').get(u'type').get(u'startsExpr').neg())): + var.get(u'node').put(u'delegate', Js(False)) + var.get(u'node').put(u'argument', var.get(u"null")) + else: + var.get(u'node').put(u'delegate', var.get(u"this").callprop(u'eat', var.get(u'types').get(u'star'))) + var.get(u'node').put(u'argument', var.get(u"this").callprop(u'parseMaybeAssign')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'YieldExpression')) + PyJs_anonymous_3072_._set_name(u'anonymous') + var.get(u'pp$3').put(u'parseYield', PyJs_anonymous_3072_) + pass + var.put(u'pp$4', var.get(u'Parser').get(u'prototype')) + var.put(u'commentKeys', Js([Js(u'leadingComments'), Js(u'trailingComments'), Js(u'innerComments')])) + @Js + def PyJs_anonymous_3073_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'Node']) + @Js + def PyJsHoisted_Node_(pos, loc, filename, this, arguments, var=var): + var = Scope({u'this':this, u'loc':loc, u'pos':pos, u'arguments':arguments, u'filename':filename}, var) + var.registers([u'loc', u'pos', u'filename']) + var.get(u'_classCallCheck$6')(var.get(u"this"), var.get(u'Node')) + var.get(u"this").put(u'type', Js(u'')) + var.get(u"this").put(u'start', var.get(u'pos')) + var.get(u"this").put(u'end', Js(0.0)) + var.get(u"this").put(u'loc', var.get(u'SourceLocation').create(var.get(u'loc'))) + if var.get(u'filename'): + var.get(u"this").get(u'loc').put(u'filename', var.get(u'filename')) + PyJsHoisted_Node_.func_name = u'Node' + var.put(u'Node', PyJsHoisted_Node_) + pass + @Js + def PyJs___clone_3074_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'__clone':PyJs___clone_3074_}, var) + var.registers([u'node2', u'key']) + var.put(u'node2', var.get(u'Node').create()) + for PyJsTemp in var.get(u"this"): + var.put(u'key', PyJsTemp) + if (var.get(u'commentKeys').callprop(u'indexOf', var.get(u'key'))Js(0.0))): + return var.get('undefined') + var.put(u'stack', var.get(u"this").get(u'state').get(u'commentStack')) + var.put(u'lastChild', PyJsComma(Js(0.0), Js(None))) + var.put(u'trailingComments', PyJsComma(Js(0.0), Js(None))) + var.put(u'i', PyJsComma(Js(0.0), Js(None))) + var.put(u'j', PyJsComma(Js(0.0), Js(None))) + if (var.get(u"this").get(u'state').get(u'trailingComments').get(u'length')>Js(0.0)): + if (var.get(u"this").get(u'state').get(u'trailingComments').get(u'0').get(u'start')>=var.get(u'node').get(u'end')): + var.put(u'trailingComments', var.get(u"this").get(u'state').get(u'trailingComments')) + var.get(u"this").get(u'state').put(u'trailingComments', Js([])) + else: + var.get(u"this").get(u'state').get(u'trailingComments').put(u'length', Js(0.0)) + else: + var.put(u'lastInStack', var.get(u'last')(var.get(u'stack'))) + if (((var.get(u'stack').get(u'length')>Js(0.0)) and var.get(u'lastInStack').get(u'trailingComments')) and (var.get(u'lastInStack').get(u'trailingComments').get(u'0').get(u'start')>=var.get(u'node').get(u'end'))): + var.put(u'trailingComments', var.get(u'lastInStack').get(u'trailingComments')) + var.get(u'lastInStack').put(u'trailingComments', var.get(u"null")) + while ((var.get(u'stack').get(u'length')>Js(0.0)) and (var.get(u'last')(var.get(u'stack')).get(u'start')>=var.get(u'node').get(u'start'))): + var.put(u'lastChild', var.get(u'stack').callprop(u'pop')) + if var.get(u'lastChild'): + if var.get(u'lastChild').get(u'leadingComments'): + if (PyJsStrictNeq(var.get(u'lastChild'),var.get(u'node')) and (var.get(u'last')(var.get(u'lastChild').get(u'leadingComments')).get(u'end')<=var.get(u'node').get(u'start'))): + var.get(u'node').put(u'leadingComments', var.get(u'lastChild').get(u'leadingComments')) + var.get(u'lastChild').put(u'leadingComments', var.get(u"null")) + else: + #for JS loop + var.put(u'i', (var.get(u'lastChild').get(u'leadingComments').get(u'length')-Js(2.0))) + while (var.get(u'i')>=Js(0.0)): + try: + if (var.get(u'lastChild').get(u'leadingComments').get(var.get(u'i')).get(u'end')<=var.get(u'node').get(u'start')): + var.get(u'node').put(u'leadingComments', var.get(u'lastChild').get(u'leadingComments').callprop(u'splice', Js(0.0), (var.get(u'i')+Js(1.0)))) + break + finally: + var.put(u'i',Js(var.get(u'i').to_number())-Js(1)) + else: + if (var.get(u"this").get(u'state').get(u'leadingComments').get(u'length')>Js(0.0)): + if (var.get(u'last')(var.get(u"this").get(u'state').get(u'leadingComments')).get(u'end')<=var.get(u'node').get(u'start')): + if var.get(u"this").get(u'state').get(u'commentPreviousNode'): + #for JS loop + var.put(u'j', Js(0.0)) + while (var.get(u'j')Js(0.0)): + var.get(u'node').put(u'leadingComments', var.get(u"this").get(u'state').get(u'leadingComments')) + var.get(u"this").get(u'state').put(u'leadingComments', Js([])) + else: + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')var.get(u'node').get(u'start')): + break + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + var.get(u'node').put(u'leadingComments', var.get(u"this").get(u'state').get(u'leadingComments').callprop(u'slice', Js(0.0), var.get(u'i'))) + if PyJsStrictEq(var.get(u'node').get(u'leadingComments').get(u'length'),Js(0.0)): + var.get(u'node').put(u'leadingComments', var.get(u"null")) + var.put(u'trailingComments', var.get(u"this").get(u'state').get(u'leadingComments').callprop(u'slice', var.get(u'i'))) + if PyJsStrictEq(var.get(u'trailingComments').get(u'length'),Js(0.0)): + var.put(u'trailingComments', var.get(u"null")) + var.get(u"this").get(u'state').put(u'commentPreviousNode', var.get(u'node')) + if var.get(u'trailingComments'): + if ((var.get(u'trailingComments').get(u'length') and (var.get(u'trailingComments').get(u'0').get(u'start')>=var.get(u'node').get(u'start'))) and (var.get(u'last')(var.get(u'trailingComments')).get(u'end')<=var.get(u'node').get(u'end'))): + var.get(u'node').put(u'innerComments', var.get(u'trailingComments')) + else: + var.get(u'node').put(u'trailingComments', var.get(u'trailingComments')) + var.get(u'stack').callprop(u'push', var.get(u'node')) + PyJs_anonymous_3081_._set_name(u'anonymous') + var.get(u'pp$6').put(u'processComment', PyJs_anonymous_3081_) + var.put(u'pp$7', var.get(u'Parser').get(u'prototype')) + @Js + def PyJs_anonymous_3082_(tok, allowLeadingPipeOrAnd, this, arguments, var=var): + var = Scope({u'this':this, u'tok':tok, u'arguments':arguments, u'allowLeadingPipeOrAnd':allowLeadingPipeOrAnd}, var) + var.registers([u'tok', u'oldInType', u'type', u'allowLeadingPipeOrAnd']) + var.put(u'oldInType', var.get(u"this").get(u'state').get(u'inType')) + var.get(u"this").get(u'state').put(u'inType', var.get(u'true')) + var.get(u"this").callprop(u'expect', (var.get(u'tok') or var.get(u'types').get(u'colon'))) + if var.get(u'allowLeadingPipeOrAnd'): + if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'bitwiseAND')) or var.get(u"this").callprop(u'match', var.get(u'types').get(u'bitwiseOR'))): + var.get(u"this").callprop(u'next') + var.put(u'type', var.get(u"this").callprop(u'flowParseType')) + var.get(u"this").get(u'state').put(u'inType', var.get(u'oldInType')) + return var.get(u'type') + PyJs_anonymous_3082_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseTypeInitialiser', PyJs_anonymous_3082_) + @Js + def PyJs_anonymous_3083_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'next') + var.get(u"this").callprop(u'flowParseInterfaceish', var.get(u'node'), var.get(u'true')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'DeclareClass')) + PyJs_anonymous_3083_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseDeclareClass', PyJs_anonymous_3083_) + @Js + def PyJs_anonymous_3084_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'typeContainer', u'tmp', u'typeNode', u'id', u'node']) + var.get(u"this").callprop(u'next') + var.put(u'id', var.get(u'node').put(u'id', var.get(u"this").callprop(u'parseIdentifier'))) + var.put(u'typeNode', var.get(u"this").callprop(u'startNode')) + var.put(u'typeContainer', var.get(u"this").callprop(u'startNode')) + if var.get(u"this").callprop(u'isRelational', Js(u'<')): + var.get(u'typeNode').put(u'typeParameters', var.get(u"this").callprop(u'flowParseTypeParameterDeclaration')) + else: + var.get(u'typeNode').put(u'typeParameters', var.get(u"null")) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'parenL')) + var.put(u'tmp', var.get(u"this").callprop(u'flowParseFunctionTypeParams')) + var.get(u'typeNode').put(u'params', var.get(u'tmp').get(u'params')) + var.get(u'typeNode').put(u'rest', var.get(u'tmp').get(u'rest')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'parenR')) + var.get(u'typeNode').put(u'returnType', var.get(u"this").callprop(u'flowParseTypeInitialiser')) + var.get(u'typeContainer').put(u'typeAnnotation', var.get(u"this").callprop(u'finishNode', var.get(u'typeNode'), Js(u'FunctionTypeAnnotation'))) + var.get(u'id').put(u'typeAnnotation', var.get(u"this").callprop(u'finishNode', var.get(u'typeContainer'), Js(u'TypeAnnotation'))) + var.get(u"this").callprop(u'finishNode', var.get(u'id'), var.get(u'id').get(u'type')) + var.get(u"this").callprop(u'semicolon') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'DeclareFunction')) + PyJs_anonymous_3084_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseDeclareFunction', PyJs_anonymous_3084_) + @Js + def PyJs_anonymous_3085_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'_class')): + return var.get(u"this").callprop(u'flowParseDeclareClass', var.get(u'node')) + else: + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'_function')): + return var.get(u"this").callprop(u'flowParseDeclareFunction', var.get(u'node')) + else: + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'_var')): + return var.get(u"this").callprop(u'flowParseDeclareVariable', var.get(u'node')) + else: + if var.get(u"this").callprop(u'isContextual', Js(u'module')): + if PyJsStrictEq(var.get(u"this").callprop(u'lookahead').get(u'type'),var.get(u'types').get(u'dot')): + return var.get(u"this").callprop(u'flowParseDeclareModuleExports', var.get(u'node')) + else: + return var.get(u"this").callprop(u'flowParseDeclareModule', var.get(u'node')) + else: + if var.get(u"this").callprop(u'isContextual', Js(u'type')): + return var.get(u"this").callprop(u'flowParseDeclareTypeAlias', var.get(u'node')) + else: + if var.get(u"this").callprop(u'isContextual', Js(u'interface')): + return var.get(u"this").callprop(u'flowParseDeclareInterface', var.get(u'node')) + else: + var.get(u"this").callprop(u'unexpected') + PyJs_anonymous_3085_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseDeclare', PyJs_anonymous_3085_) + @Js + def PyJs_anonymous_3086_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'next') + var.get(u'node').put(u'id', var.get(u"this").callprop(u'flowParseTypeAnnotatableIdentifier')) + var.get(u"this").callprop(u'semicolon') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'DeclareVariable')) + PyJs_anonymous_3086_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseDeclareVariable', PyJs_anonymous_3086_) + @Js + def PyJs_anonymous_3087_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'bodyNode', u'body', u'node2', u'node']) + var.get(u"this").callprop(u'next') + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'string')): + var.get(u'node').put(u'id', var.get(u"this").callprop(u'parseExprAtom')) + else: + var.get(u'node').put(u'id', var.get(u"this").callprop(u'parseIdentifier')) + var.put(u'bodyNode', var.get(u'node').put(u'body', var.get(u"this").callprop(u'startNode'))) + var.put(u'body', var.get(u'bodyNode').put(u'body', Js([]))) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'braceL')) + while var.get(u"this").callprop(u'match', var.get(u'types').get(u'braceR')).neg(): + var.put(u'node2', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'expectContextual', Js(u'declare'), Js(u'Unexpected token. Only declares are allowed inside declare module')) + var.get(u'body').callprop(u'push', var.get(u"this").callprop(u'flowParseDeclare', var.get(u'node2'))) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'braceR')) + var.get(u"this").callprop(u'finishNode', var.get(u'bodyNode'), Js(u'BlockStatement')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'DeclareModule')) + PyJs_anonymous_3087_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseDeclareModule', PyJs_anonymous_3087_) + @Js + def PyJs_anonymous_3088_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'expectContextual', Js(u'module')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'dot')) + var.get(u"this").callprop(u'expectContextual', Js(u'exports')) + var.get(u'node').put(u'typeAnnotation', var.get(u"this").callprop(u'flowParseTypeAnnotation')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'DeclareModuleExports')) + PyJs_anonymous_3088_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseDeclareModuleExports', PyJs_anonymous_3088_) + @Js + def PyJs_anonymous_3089_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'next') + var.get(u"this").callprop(u'flowParseTypeAlias', var.get(u'node')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'DeclareTypeAlias')) + PyJs_anonymous_3089_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseDeclareTypeAlias', PyJs_anonymous_3089_) + @Js + def PyJs_anonymous_3090_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'next') + var.get(u"this").callprop(u'flowParseInterfaceish', var.get(u'node')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'DeclareInterface')) + PyJs_anonymous_3090_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseDeclareInterface', PyJs_anonymous_3090_) + @Js + def PyJs_anonymous_3091_(node, allowStatic, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments, u'allowStatic':allowStatic}, var) + var.registers([u'node', u'allowStatic']) + var.get(u'node').put(u'id', var.get(u"this").callprop(u'parseIdentifier')) + if var.get(u"this").callprop(u'isRelational', Js(u'<')): + var.get(u'node').put(u'typeParameters', var.get(u"this").callprop(u'flowParseTypeParameterDeclaration')) + else: + var.get(u'node').put(u'typeParameters', var.get(u"null")) + var.get(u'node').put(u'extends', Js([])) + var.get(u'node').put(u'mixins', Js([])) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'_extends')): + while 1: + var.get(u'node').get(u'extends').callprop(u'push', var.get(u"this").callprop(u'flowParseInterfaceExtends')) + if not var.get(u"this").callprop(u'eat', var.get(u'types').get(u'comma')): + break + if var.get(u"this").callprop(u'isContextual', Js(u'mixins')): + var.get(u"this").callprop(u'next') + while 1: + var.get(u'node').get(u'mixins').callprop(u'push', var.get(u"this").callprop(u'flowParseInterfaceExtends')) + if not var.get(u"this").callprop(u'eat', var.get(u'types').get(u'comma')): + break + var.get(u'node').put(u'body', var.get(u"this").callprop(u'flowParseObjectType', var.get(u'allowStatic'))) + PyJs_anonymous_3091_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseInterfaceish', PyJs_anonymous_3091_) + @Js + def PyJs_anonymous_3092_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u'node').put(u'id', var.get(u"this").callprop(u'flowParseQualifiedTypeIdentifier')) + if var.get(u"this").callprop(u'isRelational', Js(u'<')): + var.get(u'node').put(u'typeParameters', var.get(u"this").callprop(u'flowParseTypeParameterInstantiation')) + else: + var.get(u'node').put(u'typeParameters', var.get(u"null")) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'InterfaceExtends')) + PyJs_anonymous_3092_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseInterfaceExtends', PyJs_anonymous_3092_) + @Js + def PyJs_anonymous_3093_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u"this").callprop(u'flowParseInterfaceish', var.get(u'node'), Js(False)) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'InterfaceDeclaration')) + PyJs_anonymous_3093_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseInterface', PyJs_anonymous_3093_) + @Js + def PyJs_anonymous_3094_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u'node').put(u'id', var.get(u"this").callprop(u'parseIdentifier')) + if var.get(u"this").callprop(u'isRelational', Js(u'<')): + var.get(u'node').put(u'typeParameters', var.get(u"this").callprop(u'flowParseTypeParameterDeclaration')) + else: + var.get(u'node').put(u'typeParameters', var.get(u"null")) + var.get(u'node').put(u'right', var.get(u"this").callprop(u'flowParseTypeInitialiser', var.get(u'types').get(u'eq'), var.get(u'true'))) + var.get(u"this").callprop(u'semicolon') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'TypeAlias')) + PyJs_anonymous_3094_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseTypeAlias', PyJs_anonymous_3094_) + @Js + def PyJs_anonymous_3095_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'variance', u'ident']) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.put(u'variance', var.get(u"this").callprop(u'flowParseVariance')) + var.put(u'ident', var.get(u"this").callprop(u'flowParseTypeAnnotatableIdentifier')) + var.get(u'node').put(u'name', var.get(u'ident').get(u'name')) + var.get(u'node').put(u'variance', var.get(u'variance')) + var.get(u'node').put(u'bound', var.get(u'ident').get(u'typeAnnotation')) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'eq')): + var.get(u"this").callprop(u'eat', var.get(u'types').get(u'eq')) + var.get(u'node').put(u'default', var.get(u"this").callprop(u'flowParseType')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'TypeParameter')) + PyJs_anonymous_3095_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseTypeParameter', PyJs_anonymous_3095_) + @Js + def PyJs_anonymous_3096_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'oldInType']) + var.put(u'oldInType', var.get(u"this").get(u'state').get(u'inType')) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u'node').put(u'params', Js([])) + var.get(u"this").get(u'state').put(u'inType', var.get(u'true')) + if (var.get(u"this").callprop(u'isRelational', Js(u'<')) or var.get(u"this").callprop(u'match', var.get(u'types').get(u'jsxTagStart'))): + var.get(u"this").callprop(u'next') + else: + var.get(u"this").callprop(u'unexpected') + while 1: + var.get(u'node').get(u'params').callprop(u'push', var.get(u"this").callprop(u'flowParseTypeParameter')) + if var.get(u"this").callprop(u'isRelational', Js(u'>')).neg(): + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'comma')) + if not var.get(u"this").callprop(u'isRelational', Js(u'>')).neg(): + break + var.get(u"this").callprop(u'expectRelational', Js(u'>')) + var.get(u"this").get(u'state').put(u'inType', var.get(u'oldInType')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'TypeParameterDeclaration')) + PyJs_anonymous_3096_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseTypeParameterDeclaration', PyJs_anonymous_3096_) + @Js + def PyJs_anonymous_3097_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'oldInType']) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.put(u'oldInType', var.get(u"this").get(u'state').get(u'inType')) + var.get(u'node').put(u'params', Js([])) + var.get(u"this").get(u'state').put(u'inType', var.get(u'true')) + var.get(u"this").callprop(u'expectRelational', Js(u'<')) + while var.get(u"this").callprop(u'isRelational', Js(u'>')).neg(): + var.get(u'node').get(u'params').callprop(u'push', var.get(u"this").callprop(u'flowParseType')) + if var.get(u"this").callprop(u'isRelational', Js(u'>')).neg(): + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'comma')) + var.get(u"this").callprop(u'expectRelational', Js(u'>')) + var.get(u"this").get(u'state').put(u'inType', var.get(u'oldInType')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'TypeParameterInstantiation')) + PyJs_anonymous_3097_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseTypeParameterInstantiation', PyJs_anonymous_3097_) + @Js + def PyJs_anonymous_3098_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return (var.get(u"this").callprop(u'parseExprAtom') if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'num')) or var.get(u"this").callprop(u'match', var.get(u'types').get(u'string'))) else var.get(u"this").callprop(u'parseIdentifier', var.get(u'true'))) + PyJs_anonymous_3098_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseObjectPropertyKey', PyJs_anonymous_3098_) + @Js + def PyJs_anonymous_3099_(node, isStatic, variance, this, arguments, var=var): + var = Scope({u'node':node, u'variance':variance, u'isStatic':isStatic, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'variance', u'isStatic']) + var.get(u'node').put(u'static', var.get(u'isStatic')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'bracketL')) + var.get(u'node').put(u'id', var.get(u"this").callprop(u'flowParseObjectPropertyKey')) + var.get(u'node').put(u'key', var.get(u"this").callprop(u'flowParseTypeInitialiser')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'bracketR')) + var.get(u'node').put(u'value', var.get(u"this").callprop(u'flowParseTypeInitialiser')) + var.get(u'node').put(u'variance', var.get(u'variance')) + var.get(u"this").callprop(u'flowObjectTypeSemicolon') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ObjectTypeIndexer')) + PyJs_anonymous_3099_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseObjectTypeIndexer', PyJs_anonymous_3099_) + @Js + def PyJs_anonymous_3100_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u'node').put(u'params', Js([])) + var.get(u'node').put(u'rest', var.get(u"null")) + var.get(u'node').put(u'typeParameters', var.get(u"null")) + if var.get(u"this").callprop(u'isRelational', Js(u'<')): + var.get(u'node').put(u'typeParameters', var.get(u"this").callprop(u'flowParseTypeParameterDeclaration')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'parenL')) + while var.get(u"this").callprop(u'match', var.get(u'types').get(u'name')): + var.get(u'node').get(u'params').callprop(u'push', var.get(u"this").callprop(u'flowParseFunctionTypeParam')) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenR')).neg(): + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'comma')) + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'ellipsis')): + var.get(u'node').put(u'rest', var.get(u"this").callprop(u'flowParseFunctionTypeParam')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'parenR')) + var.get(u'node').put(u'returnType', var.get(u"this").callprop(u'flowParseTypeInitialiser')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'FunctionTypeAnnotation')) + PyJs_anonymous_3100_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseObjectTypeMethodish', PyJs_anonymous_3100_) + @Js + def PyJs_anonymous_3101_(startPos, startLoc, isStatic, key, this, arguments, var=var): + var = Scope({u'isStatic':isStatic, u'startLoc':startLoc, u'key':key, u'this':this, u'startPos':startPos, u'arguments':arguments}, var) + var.registers([u'node', u'key', u'startPos', u'isStatic', u'startLoc']) + var.put(u'node', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + var.get(u'node').put(u'value', var.get(u"this").callprop(u'flowParseObjectTypeMethodish', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc')))) + var.get(u'node').put(u'static', var.get(u'isStatic')) + var.get(u'node').put(u'key', var.get(u'key')) + var.get(u'node').put(u'optional', Js(False)) + var.get(u"this").callprop(u'flowObjectTypeSemicolon') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ObjectTypeProperty')) + PyJs_anonymous_3101_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseObjectTypeMethod', PyJs_anonymous_3101_) + @Js + def PyJs_anonymous_3102_(node, isStatic, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'isStatic':isStatic, u'arguments':arguments}, var) + var.registers([u'node', u'valueNode', u'isStatic']) + var.put(u'valueNode', var.get(u"this").callprop(u'startNode')) + var.get(u'node').put(u'static', var.get(u'isStatic')) + var.get(u'node').put(u'value', var.get(u"this").callprop(u'flowParseObjectTypeMethodish', var.get(u'valueNode'))) + var.get(u"this").callprop(u'flowObjectTypeSemicolon') + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ObjectTypeCallProperty')) + PyJs_anonymous_3102_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseObjectTypeCallProperty', PyJs_anonymous_3102_) + @Js + def PyJs_anonymous_3103_(allowStatic, allowExact, this, arguments, var=var): + var = Scope({u'this':this, u'allowExact':allowExact, u'arguments':arguments, u'allowStatic':allowStatic}, var) + var.registers([u'node', u'isStatic', u'nodeStart', u'variancePos', u'propertyKey', u'endDelim', u'oldInType', u'optional', u'startLoc', u'variance', u'startPos', u'exact', u'allowExact', u'allowStatic', u'out']) + var.put(u'oldInType', var.get(u"this").get(u'state').get(u'inType')) + var.get(u"this").get(u'state').put(u'inType', var.get(u'true')) + var.put(u'nodeStart', var.get(u"this").callprop(u'startNode')) + var.put(u'node', PyJsComma(Js(0.0), Js(None))) + var.put(u'propertyKey', PyJsComma(Js(0.0), Js(None))) + var.put(u'isStatic', Js(False)) + var.get(u'nodeStart').put(u'callProperties', Js([])) + var.get(u'nodeStart').put(u'properties', Js([])) + var.get(u'nodeStart').put(u'indexers', Js([])) + var.put(u'endDelim', PyJsComma(Js(0.0), Js(None))) + var.put(u'exact', PyJsComma(Js(0.0), Js(None))) + if (var.get(u'allowExact') and var.get(u"this").callprop(u'match', var.get(u'types').get(u'braceBarL'))): + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'braceBarL')) + var.put(u'endDelim', var.get(u'types').get(u'braceBarR')) + var.put(u'exact', var.get(u'true')) + else: + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'braceL')) + var.put(u'endDelim', var.get(u'types').get(u'braceR')) + var.put(u'exact', Js(False)) + var.get(u'nodeStart').put(u'exact', var.get(u'exact')) + while var.get(u"this").callprop(u'match', var.get(u'endDelim')).neg(): + var.put(u'optional', Js(False)) + var.put(u'startPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'startLoc', var.get(u"this").get(u'state').get(u'startLoc')) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + if ((var.get(u'allowStatic') and var.get(u"this").callprop(u'isContextual', Js(u'static'))) and PyJsStrictNeq(var.get(u"this").callprop(u'lookahead').get(u'type'),var.get(u'types').get(u'colon'))): + var.get(u"this").callprop(u'next') + var.put(u'isStatic', var.get(u'true')) + var.put(u'variancePos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'variance', var.get(u"this").callprop(u'flowParseVariance')) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'bracketL')): + var.get(u'nodeStart').get(u'indexers').callprop(u'push', var.get(u"this").callprop(u'flowParseObjectTypeIndexer', var.get(u'node'), var.get(u'isStatic'), var.get(u'variance'))) + else: + if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenL')) or var.get(u"this").callprop(u'isRelational', Js(u'<'))): + if var.get(u'variance'): + var.get(u"this").callprop(u'unexpected', var.get(u'variancePos')) + var.get(u'nodeStart').get(u'callProperties').callprop(u'push', var.get(u"this").callprop(u'flowParseObjectTypeCallProperty', var.get(u'node'), var.get(u'allowStatic'))) + else: + var.put(u'propertyKey', var.get(u"this").callprop(u'flowParseObjectPropertyKey')) + if (var.get(u"this").callprop(u'isRelational', Js(u'<')) or var.get(u"this").callprop(u'match', var.get(u'types').get(u'parenL'))): + if var.get(u'variance'): + var.get(u"this").callprop(u'unexpected', var.get(u'variancePos')) + var.get(u'nodeStart').get(u'properties').callprop(u'push', var.get(u"this").callprop(u'flowParseObjectTypeMethod', var.get(u'startPos'), var.get(u'startLoc'), var.get(u'isStatic'), var.get(u'propertyKey'))) + else: + if var.get(u"this").callprop(u'eat', var.get(u'types').get(u'question')): + var.put(u'optional', var.get(u'true')) + var.get(u'node').put(u'key', var.get(u'propertyKey')) + var.get(u'node').put(u'value', var.get(u"this").callprop(u'flowParseTypeInitialiser')) + var.get(u'node').put(u'optional', var.get(u'optional')) + var.get(u'node').put(u'static', var.get(u'isStatic')) + var.get(u'node').put(u'variance', var.get(u'variance')) + var.get(u"this").callprop(u'flowObjectTypeSemicolon') + var.get(u'nodeStart').get(u'properties').callprop(u'push', var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'ObjectTypeProperty'))) + var.put(u'isStatic', Js(False)) + var.get(u"this").callprop(u'expect', var.get(u'endDelim')) + var.put(u'out', var.get(u"this").callprop(u'finishNode', var.get(u'nodeStart'), Js(u'ObjectTypeAnnotation'))) + var.get(u"this").get(u'state').put(u'inType', var.get(u'oldInType')) + return var.get(u'out') + PyJs_anonymous_3103_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseObjectType', PyJs_anonymous_3103_) + @Js + def PyJs_anonymous_3104_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if (((var.get(u"this").callprop(u'eat', var.get(u'types').get(u'semi')).neg() and var.get(u"this").callprop(u'eat', var.get(u'types').get(u'comma')).neg()) and var.get(u"this").callprop(u'match', var.get(u'types').get(u'braceR')).neg()) and var.get(u"this").callprop(u'match', var.get(u'types').get(u'braceBarR')).neg()): + var.get(u"this").callprop(u'unexpected') + PyJs_anonymous_3104_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowObjectTypeSemicolon', PyJs_anonymous_3104_) + @Js + def PyJs_anonymous_3105_(startPos, startLoc, id, this, arguments, var=var): + var = Scope({u'this':this, u'startPos':startPos, u'id':id, u'startLoc':startLoc, u'arguments':arguments}, var) + var.registers([u'node', u'startPos', u'node2', u'id', u'startLoc']) + var.put(u'startPos', (var.get(u'startPos') or var.get(u"this").get(u'state').get(u'start'))) + var.put(u'startLoc', (var.get(u'startLoc') or var.get(u"this").get(u'state').get(u'startLoc'))) + var.put(u'node', (var.get(u'id') or var.get(u"this").callprop(u'parseIdentifier'))) + while var.get(u"this").callprop(u'eat', var.get(u'types').get(u'dot')): + var.put(u'node2', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + var.get(u'node2').put(u'qualification', var.get(u'node')) + var.get(u'node2').put(u'id', var.get(u"this").callprop(u'parseIdentifier')) + var.put(u'node', var.get(u"this").callprop(u'finishNode', var.get(u'node2'), Js(u'QualifiedTypeIdentifier'))) + return var.get(u'node') + PyJs_anonymous_3105_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseQualifiedTypeIdentifier', PyJs_anonymous_3105_) + @Js + def PyJs_anonymous_3106_(startPos, startLoc, id, this, arguments, var=var): + var = Scope({u'this':this, u'startPos':startPos, u'id':id, u'startLoc':startLoc, u'arguments':arguments}, var) + var.registers([u'node', u'startPos', u'id', u'startLoc']) + var.put(u'node', var.get(u"this").callprop(u'startNodeAt', var.get(u'startPos'), var.get(u'startLoc'))) + var.get(u'node').put(u'typeParameters', var.get(u"null")) + var.get(u'node').put(u'id', var.get(u"this").callprop(u'flowParseQualifiedTypeIdentifier', var.get(u'startPos'), var.get(u'startLoc'), var.get(u'id'))) + if var.get(u"this").callprop(u'isRelational', Js(u'<')): + var.get(u'node').put(u'typeParameters', var.get(u"this").callprop(u'flowParseTypeParameterInstantiation')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'GenericTypeAnnotation')) + PyJs_anonymous_3106_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseGenericType', PyJs_anonymous_3106_) + @Js + def PyJs_anonymous_3107_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'_typeof')) + var.get(u'node').put(u'argument', var.get(u"this").callprop(u'flowParsePrimaryType')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'TypeofTypeAnnotation')) + PyJs_anonymous_3107_._set_name(u'anonymous') + var.get(u'pp$7').put(u'flowParseTypeofType', PyJs_anonymous_3107_) + @Js + def PyJs_anonymous_3108_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.put(u'node', var.get(u"this").callprop(u'startNode')) + var.get(u'node').put(u'types', Js([])) + var.get(u"this").callprop(u'expect', var.get(u'types').get(u'bracketL')) + while ((var.get(u"this").get(u'state').get(u'pos')'),u'nbsp':Js(u'\xa0'),u'iexcl':Js(u'\xa1'),u'cent':Js(u'\xa2'),u'pound':Js(u'\xa3'),u'curren':Js(u'\xa4'),u'yen':Js(u'\xa5'),u'brvbar':Js(u'\xa6'),u'sect':Js(u'\xa7'),u'uml':Js(u'\xa8'),u'copy':Js(u'\xa9'),u'ordf':Js(u'\xaa'),u'laquo':Js(u'\xab'),u'not':Js(u'\xac'),u'shy':Js(u'\xad'),u'reg':Js(u'\xae'),u'macr':Js(u'\xaf'),u'deg':Js(u'\xb0'),u'plusmn':Js(u'\xb1'),u'sup2':Js(u'\xb2'),u'sup3':Js(u'\xb3'),u'acute':Js(u'\xb4'),u'micro':Js(u'\xb5'),u'para':Js(u'\xb6'),u'middot':Js(u'\xb7'),u'cedil':Js(u'\xb8'),u'sup1':Js(u'\xb9'),u'ordm':Js(u'\xba'),u'raquo':Js(u'\xbb'),u'frac14':Js(u'\xbc'),u'frac12':Js(u'\xbd'),u'frac34':Js(u'\xbe'),u'iquest':Js(u'\xbf'),u'Agrave':Js(u'\xc0'),u'Aacute':Js(u'\xc1'),u'Acirc':Js(u'\xc2'),u'Atilde':Js(u'\xc3'),u'Auml':Js(u'\xc4'),u'Aring':Js(u'\xc5'),u'AElig':Js(u'\xc6'),u'Ccedil':Js(u'\xc7'),u'Egrave':Js(u'\xc8'),u'Eacute':Js(u'\xc9'),u'Ecirc':Js(u'\xca'),u'Euml':Js(u'\xcb'),u'Igrave':Js(u'\xcc'),u'Iacute':Js(u'\xcd'),u'Icirc':Js(u'\xce'),u'Iuml':Js(u'\xcf'),u'ETH':Js(u'\xd0'),u'Ntilde':Js(u'\xd1'),u'Ograve':Js(u'\xd2'),u'Oacute':Js(u'\xd3'),u'Ocirc':Js(u'\xd4'),u'Otilde':Js(u'\xd5'),u'Ouml':Js(u'\xd6'),u'times':Js(u'\xd7'),u'Oslash':Js(u'\xd8'),u'Ugrave':Js(u'\xd9'),u'Uacute':Js(u'\xda'),u'Ucirc':Js(u'\xdb'),u'Uuml':Js(u'\xdc'),u'Yacute':Js(u'\xdd'),u'THORN':Js(u'\xde'),u'szlig':Js(u'\xdf'),u'agrave':Js(u'\xe0'),u'aacute':Js(u'\xe1'),u'acirc':Js(u'\xe2'),u'atilde':Js(u'\xe3'),u'auml':Js(u'\xe4'),u'aring':Js(u'\xe5'),u'aelig':Js(u'\xe6'),u'ccedil':Js(u'\xe7'),u'egrave':Js(u'\xe8'),u'eacute':Js(u'\xe9'),u'ecirc':Js(u'\xea'),u'euml':Js(u'\xeb'),u'igrave':Js(u'\xec'),u'iacute':Js(u'\xed'),u'icirc':Js(u'\xee'),u'iuml':Js(u'\xef'),u'eth':Js(u'\xf0'),u'ntilde':Js(u'\xf1'),u'ograve':Js(u'\xf2'),u'oacute':Js(u'\xf3'),u'ocirc':Js(u'\xf4'),u'otilde':Js(u'\xf5'),u'ouml':Js(u'\xf6'),u'divide':Js(u'\xf7'),u'oslash':Js(u'\xf8'),u'ugrave':Js(u'\xf9'),u'uacute':Js(u'\xfa'),u'ucirc':Js(u'\xfb'),u'uuml':Js(u'\xfc'),u'yacute':Js(u'\xfd'),u'thorn':Js(u'\xfe'),u'yuml':Js(u'\xff'),u'OElig':Js(u'\u0152'),u'oelig':Js(u'\u0153'),u'Scaron':Js(u'\u0160'),u'scaron':Js(u'\u0161'),u'Yuml':Js(u'\u0178'),u'fnof':Js(u'\u0192'),u'circ':Js(u'\u02c6'),u'tilde':Js(u'\u02dc'),u'Alpha':Js(u'\u0391'),u'Beta':Js(u'\u0392'),u'Gamma':Js(u'\u0393'),u'Delta':Js(u'\u0394'),u'Epsilon':Js(u'\u0395'),u'Zeta':Js(u'\u0396'),u'Eta':Js(u'\u0397'),u'Theta':Js(u'\u0398'),u'Iota':Js(u'\u0399'),u'Kappa':Js(u'\u039a'),u'Lambda':Js(u'\u039b'),u'Mu':Js(u'\u039c'),u'Nu':Js(u'\u039d'),u'Xi':Js(u'\u039e'),u'Omicron':Js(u'\u039f'),u'Pi':Js(u'\u03a0'),u'Rho':Js(u'\u03a1'),u'Sigma':Js(u'\u03a3'),u'Tau':Js(u'\u03a4'),u'Upsilon':Js(u'\u03a5'),u'Phi':Js(u'\u03a6'),u'Chi':Js(u'\u03a7'),u'Psi':Js(u'\u03a8'),u'Omega':Js(u'\u03a9'),u'alpha':Js(u'\u03b1'),u'beta':Js(u'\u03b2'),u'gamma':Js(u'\u03b3'),u'delta':Js(u'\u03b4'),u'epsilon':Js(u'\u03b5'),u'zeta':Js(u'\u03b6'),u'eta':Js(u'\u03b7'),u'theta':Js(u'\u03b8'),u'iota':Js(u'\u03b9'),u'kappa':Js(u'\u03ba'),u'lambda':Js(u'\u03bb'),u'mu':Js(u'\u03bc'),u'nu':Js(u'\u03bd'),u'xi':Js(u'\u03be'),u'omicron':Js(u'\u03bf'),u'pi':Js(u'\u03c0'),u'rho':Js(u'\u03c1'),u'sigmaf':Js(u'\u03c2'),u'sigma':Js(u'\u03c3'),u'tau':Js(u'\u03c4'),u'upsilon':Js(u'\u03c5'),u'phi':Js(u'\u03c6'),u'chi':Js(u'\u03c7'),u'psi':Js(u'\u03c8'),u'omega':Js(u'\u03c9'),u'thetasym':Js(u'\u03d1'),u'upsih':Js(u'\u03d2'),u'piv':Js(u'\u03d6'),u'ensp':Js(u'\u2002'),u'emsp':Js(u'\u2003'),u'thinsp':Js(u'\u2009'),u'zwnj':Js(u'\u200c'),u'zwj':Js(u'\u200d'),u'lrm':Js(u'\u200e'),u'rlm':Js(u'\u200f'),u'ndash':Js(u'\u2013'),u'mdash':Js(u'\u2014'),u'lsquo':Js(u'\u2018'),u'rsquo':Js(u'\u2019'),u'sbquo':Js(u'\u201a'),u'ldquo':Js(u'\u201c'),u'rdquo':Js(u'\u201d'),u'bdquo':Js(u'\u201e'),u'dagger':Js(u'\u2020'),u'Dagger':Js(u'\u2021'),u'bull':Js(u'\u2022'),u'hellip':Js(u'\u2026'),u'permil':Js(u'\u2030'),u'prime':Js(u'\u2032'),u'Prime':Js(u'\u2033'),u'lsaquo':Js(u'\u2039'),u'rsaquo':Js(u'\u203a'),u'oline':Js(u'\u203e'),u'frasl':Js(u'\u2044'),u'euro':Js(u'\u20ac'),u'image':Js(u'\u2111'),u'weierp':Js(u'\u2118'),u'real':Js(u'\u211c'),u'trade':Js(u'\u2122'),u'alefsym':Js(u'\u2135'),u'larr':Js(u'\u2190'),u'uarr':Js(u'\u2191'),u'rarr':Js(u'\u2192'),u'darr':Js(u'\u2193'),u'harr':Js(u'\u2194'),u'crarr':Js(u'\u21b5'),u'lArr':Js(u'\u21d0'),u'uArr':Js(u'\u21d1'),u'rArr':Js(u'\u21d2'),u'dArr':Js(u'\u21d3'),u'hArr':Js(u'\u21d4'),u'forall':Js(u'\u2200'),u'part':Js(u'\u2202'),u'exist':Js(u'\u2203'),u'empty':Js(u'\u2205'),u'nabla':Js(u'\u2207'),u'isin':Js(u'\u2208'),u'notin':Js(u'\u2209'),u'ni':Js(u'\u220b'),u'prod':Js(u'\u220f'),u'sum':Js(u'\u2211'),u'minus':Js(u'\u2212'),u'lowast':Js(u'\u2217'),u'radic':Js(u'\u221a'),u'prop':Js(u'\u221d'),u'infin':Js(u'\u221e'),u'ang':Js(u'\u2220'),u'and':Js(u'\u2227'),u'or':Js(u'\u2228'),u'cap':Js(u'\u2229'),u'cup':Js(u'\u222a'),u'int':Js(u'\u222b'),u'there4':Js(u'\u2234'),u'sim':Js(u'\u223c'),u'cong':Js(u'\u2245'),u'asymp':Js(u'\u2248'),u'ne':Js(u'\u2260'),u'equiv':Js(u'\u2261'),u'le':Js(u'\u2264'),u'ge':Js(u'\u2265'),u'sub':Js(u'\u2282'),u'sup':Js(u'\u2283'),u'nsub':Js(u'\u2284'),u'sube':Js(u'\u2286'),u'supe':Js(u'\u2287'),u'oplus':Js(u'\u2295'),u'otimes':Js(u'\u2297'),u'perp':Js(u'\u22a5'),u'sdot':Js(u'\u22c5'),u'lceil':Js(u'\u2308'),u'rceil':Js(u'\u2309'),u'lfloor':Js(u'\u230a'),u'rfloor':Js(u'\u230b'),u'lang':Js(u'\u2329'),u'rang':Js(u'\u232a'),u'loz':Js(u'\u25ca'),u'spades':Js(u'\u2660'),u'clubs':Js(u'\u2663'),u'hearts':Js(u'\u2665'),u'diams':Js(u'\u2666')}) + var.put(u'XHTMLEntities', PyJs_Object_3194_) + var.put(u'HEX_NUMBER', JsRegExp(u'/^[\\da-fA-F]+$/')) + var.put(u'DECIMAL_NUMBER', JsRegExp(u'/^\\d+$/')) + var.get(u'types$1').put(u'j_oTag', var.get(u'TokContext').create(Js(u'...'), var.get(u'true'), var.get(u'true'))) + var.get(u'types').put(u'jsxName', var.get(u'TokenType').create(Js(u'jsxName'))) + PyJs_Object_3195_ = Js({u'beforeExpr':var.get(u'true')}) + var.get(u'types').put(u'jsxText', var.get(u'TokenType').create(Js(u'jsxText'), PyJs_Object_3195_)) + PyJs_Object_3196_ = Js({u'startsExpr':var.get(u'true')}) + var.get(u'types').put(u'jsxTagStart', var.get(u'TokenType').create(Js(u'jsxTagStart'), PyJs_Object_3196_)) + var.get(u'types').put(u'jsxTagEnd', var.get(u'TokenType').create(Js(u'jsxTagEnd'))) + @Js + def PyJs_anonymous_3197_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").get(u'state').get(u'context').callprop(u'push', var.get(u'types$1').get(u'j_expr')) + var.get(u"this").get(u'state').get(u'context').callprop(u'push', var.get(u'types$1').get(u'j_oTag')) + var.get(u"this").get(u'state').put(u'exprAllowed', Js(False)) + PyJs_anonymous_3197_._set_name(u'anonymous') + var.get(u'types').get(u'jsxTagStart').put(u'updateContext', PyJs_anonymous_3197_) + @Js + def PyJs_anonymous_3198_(prevType, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'prevType':prevType}, var) + var.registers([u'prevType', u'out']) + var.put(u'out', var.get(u"this").get(u'state').get(u'context').callprop(u'pop')) + if ((PyJsStrictEq(var.get(u'out'),var.get(u'types$1').get(u'j_oTag')) and PyJsStrictEq(var.get(u'prevType'),var.get(u'types').get(u'slash'))) or PyJsStrictEq(var.get(u'out'),var.get(u'types$1').get(u'j_cTag'))): + var.get(u"this").get(u'state').get(u'context').callprop(u'pop') + var.get(u"this").get(u'state').put(u'exprAllowed', PyJsStrictEq(var.get(u"this").callprop(u'curContext'),var.get(u'types$1').get(u'j_expr'))) + else: + var.get(u"this").get(u'state').put(u'exprAllowed', var.get(u'true')) + PyJs_anonymous_3198_._set_name(u'anonymous') + var.get(u'types').get(u'jsxTagEnd').put(u'updateContext', PyJs_anonymous_3198_) + var.put(u'pp$8', var.get(u'Parser').get(u'prototype')) + @Js + def PyJs_anonymous_3199_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'ch', u'chunkStart', u'out']) + var.put(u'out', Js(u'')) + var.put(u'chunkStart', var.get(u"this").get(u'state').get(u'pos')) + #for JS loop + + while 1: + if (var.get(u"this").get(u'state').get(u'pos')>=var.get(u"this").get(u'input').get(u'length')): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'start'), Js(u'Unterminated JSX contents')) + var.put(u'ch', var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').get(u'pos'))) + while 1: + SWITCHED = False + CONDITION = (var.get(u'ch')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(60.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(123.0)): + SWITCHED = True + if PyJsStrictEq(var.get(u"this").get(u'state').get(u'pos'),var.get(u"this").get(u'state').get(u'start')): + if (PyJsStrictEq(var.get(u'ch'),Js(60.0)) and var.get(u"this").get(u'state').get(u'exprAllowed')): + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'jsxTagStart')) + return var.get(u"this").callprop(u'getTokenFromCode', var.get(u'ch')) + var.put(u'out', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'chunkStart'), var.get(u"this").get(u'state').get(u'pos')), u'+') + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'jsxText'), var.get(u'out')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(38.0)): + SWITCHED = True + var.put(u'out', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'chunkStart'), var.get(u"this").get(u'state').get(u'pos')), u'+') + var.put(u'out', var.get(u"this").callprop(u'jsxReadEntity'), u'+') + var.put(u'chunkStart', var.get(u"this").get(u'state').get(u'pos')) + break + if True: + SWITCHED = True + if var.get(u'isNewLine')(var.get(u'ch')): + var.put(u'out', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'chunkStart'), var.get(u"this").get(u'state').get(u'pos')), u'+') + var.put(u'out', var.get(u"this").callprop(u'jsxReadNewLine', var.get(u'true')), u'+') + var.put(u'chunkStart', var.get(u"this").get(u'state').get(u'pos')) + else: + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + SWITCHED = True + break + + PyJs_anonymous_3199_._set_name(u'anonymous') + var.get(u'pp$8').put(u'jsxReadToken', PyJs_anonymous_3199_) + @Js + def PyJs_anonymous_3200_(normalizeCRLF, this, arguments, var=var): + var = Scope({u'this':this, u'normalizeCRLF':normalizeCRLF, u'arguments':arguments}, var) + var.registers([u'ch', u'normalizeCRLF', u'out']) + var.put(u'ch', var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').get(u'pos'))) + var.put(u'out', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + if (PyJsStrictEq(var.get(u'ch'),Js(13.0)) and PyJsStrictEq(var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').get(u'pos')),Js(10.0))): + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + var.put(u'out', (Js(u'\n') if var.get(u'normalizeCRLF') else Js(u'\r\n'))) + else: + var.put(u'out', var.get(u'String').callprop(u'fromCharCode', var.get(u'ch'))) + var.get(u"this").get(u'state').put(u'curLine',Js(var.get(u"this").get(u'state').get(u'curLine').to_number())+Js(1)) + var.get(u"this").get(u'state').put(u'lineStart', var.get(u"this").get(u'state').get(u'pos')) + return var.get(u'out') + PyJs_anonymous_3200_._set_name(u'anonymous') + var.get(u'pp$8').put(u'jsxReadNewLine', PyJs_anonymous_3200_) + @Js + def PyJs_anonymous_3201_(quote, this, arguments, var=var): + var = Scope({u'this':this, u'quote':quote, u'arguments':arguments}, var) + var.registers([u'ch', u'quote', u'chunkStart', u'out']) + var.put(u'out', Js(u'')) + var.put(u'chunkStart', var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1))) + #for JS loop + + while 1: + if (var.get(u"this").get(u'state').get(u'pos')>=var.get(u"this").get(u'input').get(u'length')): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'start'), Js(u'Unterminated string constant')) + var.put(u'ch', var.get(u"this").get(u'input').callprop(u'charCodeAt', var.get(u"this").get(u'state').get(u'pos'))) + if PyJsStrictEq(var.get(u'ch'),var.get(u'quote')): + break + if PyJsStrictEq(var.get(u'ch'),Js(38.0)): + var.put(u'out', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'chunkStart'), var.get(u"this").get(u'state').get(u'pos')), u'+') + var.put(u'out', var.get(u"this").callprop(u'jsxReadEntity'), u'+') + var.put(u'chunkStart', var.get(u"this").get(u'state').get(u'pos')) + else: + if var.get(u'isNewLine')(var.get(u'ch')): + var.put(u'out', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'chunkStart'), var.get(u"this").get(u'state').get(u'pos')), u'+') + var.put(u'out', var.get(u"this").callprop(u'jsxReadNewLine', Js(False)), u'+') + var.put(u'chunkStart', var.get(u"this").get(u'state').get(u'pos')) + else: + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + + var.put(u'out', var.get(u"this").get(u'input').callprop(u'slice', var.get(u'chunkStart'), (var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1))-Js(1))), u'+') + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'string'), var.get(u'out')) + PyJs_anonymous_3201_._set_name(u'anonymous') + var.get(u'pp$8').put(u'jsxReadString', PyJs_anonymous_3201_) + @Js + def PyJs_anonymous_3202_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'count', u'startPos', u'ch', u'str', u'entity']) + var.put(u'str', Js(u'')) + var.put(u'count', Js(0.0)) + var.put(u'entity', PyJsComma(Js(0.0), Js(None))) + var.put(u'ch', var.get(u"this").get(u'input').get(var.get(u"this").get(u'state').get(u'pos'))) + var.put(u'startPos', var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1))) + while ((var.get(u"this").get(u'state').get(u'pos')'))) + var.get(u'node').put(u'openingElement', var.get(u'openingElement')) + var.get(u'node').put(u'closingElement', var.get(u'closingElement')) + var.get(u'node').put(u'children', var.get(u'children')) + if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'relational')) and PyJsStrictEq(var.get(u"this").get(u'state').get(u'value'),Js(u'<'))): + var.get(u"this").callprop(u'raise', var.get(u"this").get(u'state').get(u'start'), Js(u'Adjacent JSX elements must be wrapped in an enclosing tag')) + return var.get(u"this").callprop(u'finishNode', var.get(u'node'), Js(u'JSXElement')) + PyJs_anonymous_3214_._set_name(u'anonymous') + var.get(u'pp$8').put(u'jsxParseElementAt', PyJs_anonymous_3214_) + @Js + def PyJs_anonymous_3215_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'startPos', u'startLoc']) + var.put(u'startPos', var.get(u"this").get(u'state').get(u'start')) + var.put(u'startLoc', var.get(u"this").get(u'state').get(u'startLoc')) + var.get(u"this").callprop(u'next') + return var.get(u"this").callprop(u'jsxParseElementAt', var.get(u'startPos'), var.get(u'startLoc')) + PyJs_anonymous_3215_._set_name(u'anonymous') + var.get(u'pp$8').put(u'jsxParseElement', PyJs_anonymous_3215_) + @Js + def PyJs_anonymous_3216_(instance, this, arguments, var=var): + var = Scope({u'this':this, u'instance':instance, u'arguments':arguments}, var) + var.registers([u'instance']) + @Js + def PyJs_anonymous_3217_(inner, this, arguments, var=var): + var = Scope({u'this':this, u'inner':inner, u'arguments':arguments}, var) + var.registers([u'inner']) + @Js + def PyJs_anonymous_3218_(refShortHandDefaultPos, this, arguments, var=var): + var = Scope({u'this':this, u'refShortHandDefaultPos':refShortHandDefaultPos, u'arguments':arguments}, var) + var.registers([u'node', u'refShortHandDefaultPos']) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'jsxText')): + var.put(u'node', var.get(u"this").callprop(u'parseLiteral', var.get(u"this").get(u'state').get(u'value'), Js(u'JSXText'))) + var.get(u'node').put(u'extra', var.get(u"null")) + return var.get(u'node') + else: + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'jsxTagStart')): + return var.get(u"this").callprop(u'jsxParseElement') + else: + return var.get(u'inner').callprop(u'call', var.get(u"this"), var.get(u'refShortHandDefaultPos')) + PyJs_anonymous_3218_._set_name(u'anonymous') + return PyJs_anonymous_3218_ + PyJs_anonymous_3217_._set_name(u'anonymous') + var.get(u'instance').callprop(u'extend', Js(u'parseExprAtom'), PyJs_anonymous_3217_) + @Js + def PyJs_anonymous_3219_(inner, this, arguments, var=var): + var = Scope({u'this':this, u'inner':inner, u'arguments':arguments}, var) + var.registers([u'inner']) + @Js + def PyJs_anonymous_3220_(code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'arguments':arguments}, var) + var.registers([u'code', u'context']) + var.put(u'context', var.get(u"this").callprop(u'curContext')) + if PyJsStrictEq(var.get(u'context'),var.get(u'types$1').get(u'j_expr')): + return var.get(u"this").callprop(u'jsxReadToken') + if (PyJsStrictEq(var.get(u'context'),var.get(u'types$1').get(u'j_oTag')) or PyJsStrictEq(var.get(u'context'),var.get(u'types$1').get(u'j_cTag'))): + if var.get(u'isIdentifierStart')(var.get(u'code')): + return var.get(u"this").callprop(u'jsxReadWord') + if PyJsStrictEq(var.get(u'code'),Js(62.0)): + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'jsxTagEnd')) + if ((PyJsStrictEq(var.get(u'code'),Js(34.0)) or PyJsStrictEq(var.get(u'code'),Js(39.0))) and PyJsStrictEq(var.get(u'context'),var.get(u'types$1').get(u'j_oTag'))): + return var.get(u"this").callprop(u'jsxReadString', var.get(u'code')) + if (PyJsStrictEq(var.get(u'code'),Js(60.0)) and var.get(u"this").get(u'state').get(u'exprAllowed')): + var.get(u"this").get(u'state').put(u'pos',Js(var.get(u"this").get(u'state').get(u'pos').to_number())+Js(1)) + return var.get(u"this").callprop(u'finishToken', var.get(u'types').get(u'jsxTagStart')) + return var.get(u'inner').callprop(u'call', var.get(u"this"), var.get(u'code')) + PyJs_anonymous_3220_._set_name(u'anonymous') + return PyJs_anonymous_3220_ + PyJs_anonymous_3219_._set_name(u'anonymous') + var.get(u'instance').callprop(u'extend', Js(u'readToken'), PyJs_anonymous_3219_) + @Js + def PyJs_anonymous_3221_(inner, this, arguments, var=var): + var = Scope({u'this':this, u'inner':inner, u'arguments':arguments}, var) + var.registers([u'inner']) + @Js + def PyJs_anonymous_3222_(prevType, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'prevType':prevType}, var) + var.registers([u'curContext', u'prevType']) + if var.get(u"this").callprop(u'match', var.get(u'types').get(u'braceL')): + var.put(u'curContext', var.get(u"this").callprop(u'curContext')) + if PyJsStrictEq(var.get(u'curContext'),var.get(u'types$1').get(u'j_oTag')): + var.get(u"this").get(u'state').get(u'context').callprop(u'push', var.get(u'types$1').get(u'braceExpression')) + else: + if PyJsStrictEq(var.get(u'curContext'),var.get(u'types$1').get(u'j_expr')): + var.get(u"this").get(u'state').get(u'context').callprop(u'push', var.get(u'types$1').get(u'templateQuasi')) + else: + var.get(u'inner').callprop(u'call', var.get(u"this"), var.get(u'prevType')) + var.get(u"this").get(u'state').put(u'exprAllowed', var.get(u'true')) + else: + if (var.get(u"this").callprop(u'match', var.get(u'types').get(u'slash')) and PyJsStrictEq(var.get(u'prevType'),var.get(u'types').get(u'jsxTagStart'))): + var.get(u"this").get(u'state').get(u'context').put(u'length', Js(2.0), u'-') + var.get(u"this").get(u'state').get(u'context').callprop(u'push', var.get(u'types$1').get(u'j_cTag')) + var.get(u"this").get(u'state').put(u'exprAllowed', Js(False)) + else: + return var.get(u'inner').callprop(u'call', var.get(u"this"), var.get(u'prevType')) + PyJs_anonymous_3222_._set_name(u'anonymous') + return PyJs_anonymous_3222_ + PyJs_anonymous_3221_._set_name(u'anonymous') + var.get(u'instance').callprop(u'extend', Js(u'updateContext'), PyJs_anonymous_3221_) + PyJs_anonymous_3216_._set_name(u'anonymous') + var.put(u'jsxPlugin', PyJs_anonymous_3216_) + var.get(u'plugins').put(u'flow', var.get(u'flowPlugin')) + var.get(u'plugins').put(u'jsx', var.get(u'jsxPlugin')) + pass + var.get(u'exports').put(u'parse', var.get(u'parse$1')) + var.get(u'exports').put(u'tokTypes', var.get(u'types')) +PyJs_anonymous_2842_._set_name(u'anonymous') +PyJs_Object_3223_ = Js({}) +@Js +def PyJs_anonymous_3224_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'maybeMatch', u'require', u'module', u'range', u'balanced']) + @Js + def PyJsHoisted_balanced_(a, b, str, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'b':b, u'arguments':arguments, u'str':str}, var) + var.registers([u'a', u'r', u'b', u'str']) + if var.get(u'a').instanceof(var.get(u'RegExp')): + var.put(u'a', var.get(u'maybeMatch')(var.get(u'a'), var.get(u'str'))) + if var.get(u'b').instanceof(var.get(u'RegExp')): + var.put(u'b', var.get(u'maybeMatch')(var.get(u'b'), var.get(u'str'))) + var.put(u'r', var.get(u'range')(var.get(u'a'), var.get(u'b'), var.get(u'str'))) + PyJs_Object_3225_ = Js({u'start':var.get(u'r').get(u'0'),u'end':var.get(u'r').get(u'1'),u'pre':var.get(u'str').callprop(u'slice', Js(0.0), var.get(u'r').get(u'0')),u'body':var.get(u'str').callprop(u'slice', (var.get(u'r').get(u'0')+var.get(u'a').get(u'length')), var.get(u'r').get(u'1')),u'post':var.get(u'str').callprop(u'slice', (var.get(u'r').get(u'1')+var.get(u'b').get(u'length')))}) + return (var.get(u'r') and PyJs_Object_3225_) + PyJsHoisted_balanced_.func_name = u'balanced' + var.put(u'balanced', PyJsHoisted_balanced_) + @Js + def PyJsHoisted_range_(a, b, str, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'b':b, u'arguments':arguments, u'str':str}, var) + var.registers([u'a', u'right', u'ai', u'beg', u'bi', u'i', u'b', u'result', u'str', u'begs', u'left']) + pass + var.put(u'ai', var.get(u'str').callprop(u'indexOf', var.get(u'a'))) + var.put(u'bi', var.get(u'str').callprop(u'indexOf', var.get(u'b'), (var.get(u'ai')+Js(1.0)))) + var.put(u'i', var.get(u'ai')) + if ((var.get(u'ai')>=Js(0.0)) and (var.get(u'bi')>Js(0.0))): + var.put(u'begs', Js([])) + var.put(u'left', var.get(u'str').get(u'length')) + while ((var.get(u'i')>=Js(0.0)) and var.get(u'result').neg()): + if (var.get(u'i')==var.get(u'ai')): + var.get(u'begs').callprop(u'push', var.get(u'i')) + var.put(u'ai', var.get(u'str').callprop(u'indexOf', var.get(u'a'), (var.get(u'i')+Js(1.0)))) + else: + if (var.get(u'begs').get(u'length')==Js(1.0)): + var.put(u'result', Js([var.get(u'begs').callprop(u'pop'), var.get(u'bi')])) + else: + var.put(u'beg', var.get(u'begs').callprop(u'pop')) + if (var.get(u'beg')=Js(0.0))) else var.get(u'bi'))) + if var.get(u'begs').get(u'length'): + var.put(u'result', Js([var.get(u'left'), var.get(u'right')])) + return var.get(u'result') + PyJsHoisted_range_.func_name = u'range' + var.put(u'range', PyJsHoisted_range_) + @Js + def PyJsHoisted_maybeMatch_(reg, str, this, arguments, var=var): + var = Scope({u'this':this, u'reg':reg, u'str':str, u'arguments':arguments}, var) + var.registers([u'm', u'reg', u'str']) + var.put(u'm', var.get(u'str').callprop(u'match', var.get(u'reg'))) + return (var.get(u'm').get(u'0') if var.get(u'm') else var.get(u"null")) + PyJsHoisted_maybeMatch_.func_name = u'maybeMatch' + var.put(u'maybeMatch', PyJsHoisted_maybeMatch_) + var.get(u'module').put(u'exports', var.get(u'balanced')) + pass + pass + var.get(u'balanced').put(u'range', var.get(u'range')) + pass +PyJs_anonymous_3224_._set_name(u'anonymous') +PyJs_Object_3226_ = Js({}) +@Js +def PyJs_anonymous_3227_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'escComma', u'escapeBraces', u'exports', u'escOpen', u'escPeriod', u'module', u'expandTop', u'escClose', u'isPadded', u'numeric', u'lte', u'unescapeBraces', u'concatMap', u'embrace', u'expand', u'escSlash', u'balanced', u'parseCommaParts', u'require', u'identity', u'gte']) + @Js + def PyJsHoisted_escapeBraces_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str}, var) + var.registers([u'str']) + return var.get(u'str').callprop(u'split', Js(u'\\\\')).callprop(u'join', var.get(u'escSlash')).callprop(u'split', Js(u'\\{')).callprop(u'join', var.get(u'escOpen')).callprop(u'split', Js(u'\\}')).callprop(u'join', var.get(u'escClose')).callprop(u'split', Js(u'\\,')).callprop(u'join', var.get(u'escComma')).callprop(u'split', Js(u'\\.')).callprop(u'join', var.get(u'escPeriod')) + PyJsHoisted_escapeBraces_.func_name = u'escapeBraces' + var.put(u'escapeBraces', PyJsHoisted_escapeBraces_) + @Js + def PyJsHoisted_lte_(i, y, this, arguments, var=var): + var = Scope({u'i':i, u'y':y, u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'y']) + return (var.get(u'i')<=var.get(u'y')) + PyJsHoisted_lte_.func_name = u'lte' + var.put(u'lte', PyJsHoisted_lte_) + @Js + def PyJsHoisted_expandTop_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str}, var) + var.registers([u'str']) + if var.get(u'str').neg(): + return Js([]) + return var.get(u'expand')(var.get(u'escapeBraces')(var.get(u'str')), var.get(u'true')).callprop(u'map', var.get(u'unescapeBraces')) + PyJsHoisted_expandTop_.func_name = u'expandTop' + var.put(u'expandTop', PyJsHoisted_expandTop_) + @Js + def PyJsHoisted_numeric_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str}, var) + var.registers([u'str']) + return (var.get(u'parseInt')(var.get(u'str'), Js(10.0)) if (var.get(u'parseInt')(var.get(u'str'), Js(10.0))==var.get(u'str')) else var.get(u'str').callprop(u'charCodeAt', Js(0.0))) + PyJsHoisted_numeric_.func_name = u'numeric' + var.put(u'numeric', PyJsHoisted_numeric_) + @Js + def PyJsHoisted_unescapeBraces_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str}, var) + var.registers([u'str']) + return var.get(u'str').callprop(u'split', var.get(u'escSlash')).callprop(u'join', Js(u'\\')).callprop(u'split', var.get(u'escOpen')).callprop(u'join', Js(u'{')).callprop(u'split', var.get(u'escClose')).callprop(u'join', Js(u'}')).callprop(u'split', var.get(u'escComma')).callprop(u'join', Js(u',')).callprop(u'split', var.get(u'escPeriod')).callprop(u'join', Js(u'.')) + PyJsHoisted_unescapeBraces_.func_name = u'unescapeBraces' + var.put(u'unescapeBraces', PyJsHoisted_unescapeBraces_) + @Js + def PyJsHoisted_embrace_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str}, var) + var.registers([u'str']) + return ((Js(u'{')+var.get(u'str'))+Js(u'}')) + PyJsHoisted_embrace_.func_name = u'embrace' + var.put(u'embrace', PyJsHoisted_embrace_) + @Js + def PyJsHoisted_expand_(str, isTop, this, arguments, var=var): + var = Scope({u'this':this, u'isTop':isTop, u'arguments':arguments, u'str':str}, var) + var.registers([u'pre', u'm', u'isTop', u'need', u'incr', u'width', u'pad', u'test', u'isAlphaSequence', u'isSequence', u'expansion', u'N', u'post', u'c', u'isOptions', u'reverse', u'i', u'k', u'j', u'expansions', u'n', u'str', u'isNumericSequence', u'y', u'x', u'z']) + var.put(u'expansions', Js([])) + var.put(u'm', var.get(u'balanced')(Js(u'{'), Js(u'}'), var.get(u'str'))) + if (var.get(u'm').neg() or JsRegExp(u'/\\$$/').callprop(u'test', var.get(u'm').get(u'pre'))): + return Js([var.get(u'str')]) + var.put(u'isNumericSequence', JsRegExp(u'/^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/').callprop(u'test', var.get(u'm').get(u'body'))) + var.put(u'isAlphaSequence', JsRegExp(u'/^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/').callprop(u'test', var.get(u'm').get(u'body'))) + var.put(u'isSequence', (var.get(u'isNumericSequence') or var.get(u'isAlphaSequence'))) + var.put(u'isOptions', JsRegExp(u'/^(.*,)+(.+)?$/').callprop(u'test', var.get(u'm').get(u'body'))) + if (var.get(u'isSequence').neg() and var.get(u'isOptions').neg()): + if var.get(u'm').get(u'post').callprop(u'match', JsRegExp(u'/,.*\\}/')): + var.put(u'str', ((((var.get(u'm').get(u'pre')+Js(u'{'))+var.get(u'm').get(u'body'))+var.get(u'escClose'))+var.get(u'm').get(u'post'))) + return var.get(u'expand')(var.get(u'str')) + return Js([var.get(u'str')]) + pass + if var.get(u'isSequence'): + var.put(u'n', var.get(u'm').get(u'body').callprop(u'split', JsRegExp(u'/\\.\\./'))) + else: + var.put(u'n', var.get(u'parseCommaParts')(var.get(u'm').get(u'body'))) + if PyJsStrictEq(var.get(u'n').get(u'length'),Js(1.0)): + var.put(u'n', var.get(u'expand')(var.get(u'n').get(u'0'), Js(False)).callprop(u'map', var.get(u'embrace'))) + if PyJsStrictEq(var.get(u'n').get(u'length'),Js(1.0)): + var.put(u'post', (var.get(u'expand')(var.get(u'm').get(u'post'), Js(False)) if var.get(u'm').get(u'post').get(u'length') else Js([Js(u'')]))) + @Js + def PyJs_anonymous_3228_(p, this, arguments, var=var): + var = Scope({u'this':this, u'p':p, u'arguments':arguments}, var) + var.registers([u'p']) + return ((var.get(u'm').get(u'pre')+var.get(u'n').get(u'0'))+var.get(u'p')) + PyJs_anonymous_3228_._set_name(u'anonymous') + return var.get(u'post').callprop(u'map', PyJs_anonymous_3228_) + var.put(u'pre', var.get(u'm').get(u'pre')) + var.put(u'post', (var.get(u'expand')(var.get(u'm').get(u'post'), Js(False)) if var.get(u'm').get(u'post').get(u'length') else Js([Js(u'')]))) + pass + if var.get(u'isSequence'): + var.put(u'x', var.get(u'numeric')(var.get(u'n').get(u'0'))) + var.put(u'y', var.get(u'numeric')(var.get(u'n').get(u'1'))) + var.put(u'width', var.get(u'Math').callprop(u'max', var.get(u'n').get(u'0').get(u'length'), var.get(u'n').get(u'1').get(u'length'))) + var.put(u'incr', (var.get(u'Math').callprop(u'abs', var.get(u'numeric')(var.get(u'n').get(u'2'))) if (var.get(u'n').get(u'length')==Js(3.0)) else Js(1.0))) + var.put(u'test', var.get(u'lte')) + var.put(u'reverse', (var.get(u'y')Js(0.0)): + var.put(u'z', var.get(u'Array').create((var.get(u'need')+Js(1.0))).callprop(u'join', Js(u'0'))) + if (var.get(u'i')=var.get(u'y')) + PyJsHoisted_gte_.func_name = u'gte' + var.put(u'gte', PyJsHoisted_gte_) + var.put(u'concatMap', var.get(u'require')(Js(u'concat-map'))) + var.put(u'balanced', var.get(u'require')(Js(u'balanced-match'))) + var.get(u'module').put(u'exports', var.get(u'expandTop')) + var.put(u'escSlash', ((Js(u'\x00SLASH')+var.get(u'Math').callprop(u'random'))+Js(u'\x00'))) + var.put(u'escOpen', ((Js(u'\x00OPEN')+var.get(u'Math').callprop(u'random'))+Js(u'\x00'))) + var.put(u'escClose', ((Js(u'\x00CLOSE')+var.get(u'Math').callprop(u'random'))+Js(u'\x00'))) + var.put(u'escComma', ((Js(u'\x00COMMA')+var.get(u'Math').callprop(u'random'))+Js(u'\x00'))) + var.put(u'escPeriod', ((Js(u'\x00PERIOD')+var.get(u'Math').callprop(u'random'))+Js(u'\x00'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass +PyJs_anonymous_3227_._set_name(u'anonymous') +PyJs_Object_3230_ = Js({u'balanced-match':Js(263.0),u'concat-map':Js(266.0)}) +@Js +def PyJs_anonymous_3231_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_3232_(process, this, arguments, var=var): + var = Scope({u'process':process, u'this':this, u'arguments':arguments}, var) + var.registers([u'styles', u'escapeStringRegexp', u'proto', u'process', u'applyStyle', u'hasAnsi', u'isSimpleWindowsTerm', u'Chalk', u'init', u'build', u'stripAnsi', u'ansiStyles', u'supportsColor', u'defineProps']) + @Js + def PyJsHoisted_Chalk_(options, this, arguments, var=var): + var = Scope({u'this':this, u'options':options, u'arguments':arguments}, var) + var.registers([u'options']) + var.get(u"this").put(u'enabled', (var.get(u'supportsColor') if (var.get(u'options').neg() or PyJsStrictEq(var.get(u'options').get(u'enabled'),var.get(u'undefined'))) else var.get(u'options').get(u'enabled'))) + PyJsHoisted_Chalk_.func_name = u'Chalk' + var.put(u'Chalk', PyJsHoisted_Chalk_) + @Js + def PyJsHoisted_applyStyle_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'a', u'nestedStyles', u'i', u'args', u'originalDim', u'code', u'str', u'argsLen']) + var.put(u'args', var.get(u'arguments')) + var.put(u'argsLen', var.get(u'args').get(u'length')) + var.put(u'str', (PyJsStrictNeq(var.get(u'argsLen'),Js(0.0)) and var.get(u'String')(var.get(u'arguments').get(u'0')))) + if (var.get(u'argsLen')>Js(1.0)): + #for JS loop + var.put(u'a', Js(1.0)) + while (var.get(u'a')Js(0.0)): + try: + var.put(u'line', var.get(u'lines').get(var.get(u'i'))) + if (~var.get(u'line').callprop(u'indexOf', Js(u'sourceMappingURL=data:'))): + return var.get(u'exports').callprop(u'fromComment', var.get(u'line')) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + PyJsHoisted_convertFromLargeSource_.func_name = u'convertFromLargeSource' + var.put(u'convertFromLargeSource', PyJsHoisted_convertFromLargeSource_) + @Js + def PyJsHoisted_Converter_(sm, opts, this, arguments, var=var): + var = Scope({u'this':this, u'opts':opts, u'sm':sm, u'arguments':arguments}, var) + var.registers([u'opts', u'sm']) + PyJs_Object_3251_ = Js({}) + var.put(u'opts', (var.get(u'opts') or PyJs_Object_3251_)) + if var.get(u'opts').get(u'isFileComment'): + var.put(u'sm', var.get(u'readFromFileMap')(var.get(u'sm'), var.get(u'opts').get(u'commentFileDir'))) + if var.get(u'opts').get(u'hasComment'): + var.put(u'sm', var.get(u'stripComment')(var.get(u'sm'))) + if var.get(u'opts').get(u'isEncoded'): + var.put(u'sm', var.get(u'decodeBase64')(var.get(u'sm'))) + if (var.get(u'opts').get(u'isJSON') or var.get(u'opts').get(u'isEncoded')): + var.put(u'sm', var.get(u'JSON').callprop(u'parse', var.get(u'sm'))) + var.get(u"this").put(u'sourcemap', var.get(u'sm')) + PyJsHoisted_Converter_.func_name = u'Converter' + var.put(u'Converter', PyJsHoisted_Converter_) + Js(u'use strict') + var.put(u'fs', var.get(u'require')(Js(u'fs'))) + var.put(u'path', var.get(u'require')(Js(u'path'))) + var.put(u'commentRx', JsRegExp(u'/^\\s*\\/(?:\\/|\\*)[@#]\\s+sourceMappingURL=data:(?:application|text)\\/json;(?:charset[:=]\\S+;)?base64,(.*)$/mg')) + var.put(u'mapFileCommentRx', JsRegExp(u'/(?:\\/\\/[@#][ \\t]+sourceMappingURL=([^\\s\'"]+?)[ \\t]*$)|(?:\\/\\*[@#][ \\t]+sourceMappingURL=([^\\*]+?)[ \\t]*(?:\\*\\/){1}[ \\t]*$)/mg')) + pass + pass + pass + pass + pass + @Js + def PyJs_anonymous_3252_(space, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'space':space}, var) + var.registers([u'space']) + return var.get(u'JSON').callprop(u'stringify', var.get(u"this").get(u'sourcemap'), var.get(u"null"), var.get(u'space')) + PyJs_anonymous_3252_._set_name(u'anonymous') + var.get(u'Converter').get(u'prototype').put(u'toJSON', PyJs_anonymous_3252_) + @Js + def PyJs_anonymous_3253_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'json']) + var.put(u'json', var.get(u"this").callprop(u'toJSON')) + return var.get(u'Buffer').create(var.get(u'json')).callprop(u'toString', Js(u'base64')) + PyJs_anonymous_3253_._set_name(u'anonymous') + var.get(u'Converter').get(u'prototype').put(u'toBase64', PyJs_anonymous_3253_) + @Js + def PyJs_anonymous_3254_(options, this, arguments, var=var): + var = Scope({u'this':this, u'options':options, u'arguments':arguments}, var) + var.registers([u'base64', u'data', u'options']) + var.put(u'base64', var.get(u"this").callprop(u'toBase64')) + var.put(u'data', (Js(u'sourceMappingURL=data:application/json;base64,')+var.get(u'base64'))) + return (((Js(u'/*# ')+var.get(u'data'))+Js(u' */')) if (var.get(u'options') and var.get(u'options').get(u'multiline')) else (Js(u'//# ')+var.get(u'data'))) + PyJs_anonymous_3254_._set_name(u'anonymous') + var.get(u'Converter').get(u'prototype').put(u'toComment', PyJs_anonymous_3254_) + @Js + def PyJs_anonymous_3255_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'JSON').callprop(u'parse', var.get(u"this").callprop(u'toJSON')) + PyJs_anonymous_3255_._set_name(u'anonymous') + var.get(u'Converter').get(u'prototype').put(u'toObject', PyJs_anonymous_3255_) + @Js + def PyJs_anonymous_3256_(key, value, this, arguments, var=var): + var = Scope({u'this':this, u'value':value, u'key':key, u'arguments':arguments}, var) + var.registers([u'value', u'key']) + if var.get(u"this").get(u'sourcemap').callprop(u'hasOwnProperty', var.get(u'key')): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'property %s already exists on the sourcemap, use set property instead'))) + raise PyJsTempException + return var.get(u"this").callprop(u'setProperty', var.get(u'key'), var.get(u'value')) + PyJs_anonymous_3256_._set_name(u'anonymous') + var.get(u'Converter').get(u'prototype').put(u'addProperty', PyJs_anonymous_3256_) + @Js + def PyJs_anonymous_3257_(key, value, this, arguments, var=var): + var = Scope({u'this':this, u'value':value, u'key':key, u'arguments':arguments}, var) + var.registers([u'value', u'key']) + var.get(u"this").get(u'sourcemap').put(var.get(u'key'), var.get(u'value')) + return var.get(u"this") + PyJs_anonymous_3257_._set_name(u'anonymous') + var.get(u'Converter').get(u'prototype').put(u'setProperty', PyJs_anonymous_3257_) + @Js + def PyJs_anonymous_3258_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'key']) + return var.get(u"this").get(u'sourcemap').get(var.get(u'key')) + PyJs_anonymous_3258_._set_name(u'anonymous') + var.get(u'Converter').get(u'prototype').put(u'getProperty', PyJs_anonymous_3258_) + @Js + def PyJs_anonymous_3259_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + return var.get(u'Converter').create(var.get(u'obj')) + PyJs_anonymous_3259_._set_name(u'anonymous') + var.get(u'exports').put(u'fromObject', PyJs_anonymous_3259_) + @Js + def PyJs_anonymous_3260_(json, this, arguments, var=var): + var = Scope({u'this':this, u'json':json, u'arguments':arguments}, var) + var.registers([u'json']) + PyJs_Object_3261_ = Js({u'isJSON':var.get(u'true')}) + return var.get(u'Converter').create(var.get(u'json'), PyJs_Object_3261_) + PyJs_anonymous_3260_._set_name(u'anonymous') + var.get(u'exports').put(u'fromJSON', PyJs_anonymous_3260_) + @Js + def PyJs_anonymous_3262_(base64, this, arguments, var=var): + var = Scope({u'this':this, u'base64':base64, u'arguments':arguments}, var) + var.registers([u'base64']) + PyJs_Object_3263_ = Js({u'isEncoded':var.get(u'true')}) + return var.get(u'Converter').create(var.get(u'base64'), PyJs_Object_3263_) + PyJs_anonymous_3262_._set_name(u'anonymous') + var.get(u'exports').put(u'fromBase64', PyJs_anonymous_3262_) + @Js + def PyJs_anonymous_3264_(comment, this, arguments, var=var): + var = Scope({u'comment':comment, u'this':this, u'arguments':arguments}, var) + var.registers([u'comment']) + var.put(u'comment', var.get(u'comment').callprop(u'replace', JsRegExp(u'/^\\/\\*/g'), Js(u'//')).callprop(u'replace', JsRegExp(u'/\\*\\/$/g'), Js(u''))) + PyJs_Object_3265_ = Js({u'isEncoded':var.get(u'true'),u'hasComment':var.get(u'true')}) + return var.get(u'Converter').create(var.get(u'comment'), PyJs_Object_3265_) + PyJs_anonymous_3264_._set_name(u'anonymous') + var.get(u'exports').put(u'fromComment', PyJs_anonymous_3264_) + @Js + def PyJs_anonymous_3266_(comment, dir, this, arguments, var=var): + var = Scope({u'comment':comment, u'this':this, u'arguments':arguments, u'dir':dir}, var) + var.registers([u'comment', u'dir']) + PyJs_Object_3267_ = Js({u'commentFileDir':var.get(u'dir'),u'isFileComment':var.get(u'true'),u'isJSON':var.get(u'true')}) + return var.get(u'Converter').create(var.get(u'comment'), PyJs_Object_3267_) + PyJs_anonymous_3266_._set_name(u'anonymous') + var.get(u'exports').put(u'fromMapFileComment', PyJs_anonymous_3266_) + @Js + def PyJs_anonymous_3268_(content, largeSource, this, arguments, var=var): + var = Scope({u'content':content, u'this':this, u'largeSource':largeSource, u'arguments':arguments}, var) + var.registers([u'content', u'res', u'm', u'largeSource']) + if var.get(u'largeSource'): + var.put(u'res', var.get(u'convertFromLargeSource')(var.get(u'content'))) + return (var.get(u'res') if var.get(u'res') else var.get(u"null")) + var.put(u'm', var.get(u'content').callprop(u'match', var.get(u'commentRx'))) + var.get(u'commentRx').put(u'lastIndex', Js(0.0)) + return (var.get(u'exports').callprop(u'fromComment', var.get(u'm').callprop(u'pop')) if var.get(u'm') else var.get(u"null")) + PyJs_anonymous_3268_._set_name(u'anonymous') + var.get(u'exports').put(u'fromSource', PyJs_anonymous_3268_) + @Js + def PyJs_anonymous_3269_(content, dir, this, arguments, var=var): + var = Scope({u'content':content, u'this':this, u'arguments':arguments, u'dir':dir}, var) + var.registers([u'content', u'm', u'dir']) + var.put(u'm', var.get(u'content').callprop(u'match', var.get(u'mapFileCommentRx'))) + var.get(u'mapFileCommentRx').put(u'lastIndex', Js(0.0)) + return (var.get(u'exports').callprop(u'fromMapFileComment', var.get(u'm').callprop(u'pop'), var.get(u'dir')) if var.get(u'm') else var.get(u"null")) + PyJs_anonymous_3269_._set_name(u'anonymous') + var.get(u'exports').put(u'fromMapFileSource', PyJs_anonymous_3269_) + @Js + def PyJs_anonymous_3270_(src, this, arguments, var=var): + var = Scope({u'this':this, u'src':src, u'arguments':arguments}, var) + var.registers([u'src']) + var.get(u'commentRx').put(u'lastIndex', Js(0.0)) + return var.get(u'src').callprop(u'replace', var.get(u'commentRx'), Js(u'')) + PyJs_anonymous_3270_._set_name(u'anonymous') + var.get(u'exports').put(u'removeComments', PyJs_anonymous_3270_) + @Js + def PyJs_anonymous_3271_(src, this, arguments, var=var): + var = Scope({u'this':this, u'src':src, u'arguments':arguments}, var) + var.registers([u'src']) + var.get(u'mapFileCommentRx').put(u'lastIndex', Js(0.0)) + return var.get(u'src').callprop(u'replace', var.get(u'mapFileCommentRx'), Js(u'')) + PyJs_anonymous_3271_._set_name(u'anonymous') + var.get(u'exports').put(u'removeMapFileComments', PyJs_anonymous_3271_) + @Js + def PyJs_anonymous_3272_(file, options, this, arguments, var=var): + var = Scope({u'this':this, u'options':options, u'file':file, u'arguments':arguments}, var) + var.registers([u'data', u'options', u'file']) + var.put(u'data', (Js(u'sourceMappingURL=')+var.get(u'file'))) + return (((Js(u'/*# ')+var.get(u'data'))+Js(u' */')) if (var.get(u'options') and var.get(u'options').get(u'multiline')) else (Js(u'//# ')+var.get(u'data'))) + PyJs_anonymous_3272_._set_name(u'anonymous') + var.get(u'exports').put(u'generateMapFileComment', PyJs_anonymous_3272_) + @Js + def PyJs_getCommentRegex_3274_(this, arguments, var=var): + var = Scope({u'this':this, u'getCommentRegex':PyJs_getCommentRegex_3274_, u'arguments':arguments}, var) + var.registers([]) + var.get(u'commentRx').put(u'lastIndex', Js(0.0)) + return var.get(u'commentRx') + PyJs_getCommentRegex_3274_._set_name(u'getCommentRegex') + PyJs_Object_3273_ = Js({u'get':PyJs_getCommentRegex_3274_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'commentRegex'), PyJs_Object_3273_) + @Js + def PyJs_getMapFileCommentRegex_3276_(this, arguments, var=var): + var = Scope({u'this':this, u'getMapFileCommentRegex':PyJs_getMapFileCommentRegex_3276_, u'arguments':arguments}, var) + var.registers([]) + var.get(u'mapFileCommentRx').put(u'lastIndex', Js(0.0)) + return var.get(u'mapFileCommentRx') + PyJs_getMapFileCommentRegex_3276_._set_name(u'getMapFileCommentRegex') + PyJs_Object_3275_ = Js({u'get':PyJs_getMapFileCommentRegex_3276_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'exports'), Js(u'mapFileCommentRegex'), PyJs_Object_3275_) + PyJs_anonymous_3250_._set_name(u'anonymous') + PyJs_anonymous_3250_.callprop(u'call', var.get(u"this"), var.get(u'require')(Js(u'buffer')).get(u'Buffer')) +PyJs_anonymous_3249_._set_name(u'anonymous') +PyJs_Object_3277_ = Js({u'buffer':Js(525.0),u'fs':Js(523.0),u'path':Js(530.0)}) +@Js +def PyJs_anonymous_3278_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'load', u'exports', u'log', u'formatArgs', u'require', u'module', u'localstorage', u'useColors', u'save']) + @Js + def PyJsHoisted_load_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'r']) + pass + try: + var.put(u'r', var.get(u'exports').get(u'storage').get(u'debug')) + except PyJsException as PyJsTempException: + PyJsHolder_65_27913289 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + pass + finally: + if PyJsHolder_65_27913289 is not None: + var.own[u'e'] = PyJsHolder_65_27913289 + else: + del var.own[u'e'] + del PyJsHolder_65_27913289 + return var.get(u'r') + PyJsHoisted_load_.func_name = u'load' + var.put(u'load', PyJsHoisted_load_) + @Js + def PyJsHoisted_log_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return ((PyJsStrictEq(Js(u'object'),var.get(u'console',throw=False).typeof()) and var.get(u'console').get(u'log')) and var.get(u'Function').get(u'prototype').get(u'apply').callprop(u'call', var.get(u'console').get(u'log'), var.get(u'console'), var.get(u'arguments'))) + PyJsHoisted_log_.func_name = u'log' + var.put(u'log', PyJsHoisted_log_) + @Js + def PyJsHoisted_formatArgs_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'useColors', u'index', u'c', u'args', u'lastC']) + var.put(u'args', var.get(u'arguments')) + var.put(u'useColors', var.get(u"this").get(u'useColors')) + var.get(u'args').put(u'0', (((((((Js(u'%c') if var.get(u'useColors') else Js(u''))+var.get(u"this").get(u'namespace'))+(Js(u' %c') if var.get(u'useColors') else Js(u' ')))+var.get(u'args').get(u'0'))+(Js(u'%c ') if var.get(u'useColors') else Js(u' ')))+Js(u'+'))+var.get(u'exports').callprop(u'humanize', var.get(u"this").get(u'diff')))) + if var.get(u'useColors').neg(): + return var.get(u'args') + var.put(u'c', (Js(u'color: ')+var.get(u"this").get(u'color'))) + var.put(u'args', Js([var.get(u'args').get(u'0'), var.get(u'c'), Js(u'color: inherit')]).callprop(u'concat', var.get(u'Array').get(u'prototype').get(u'slice').callprop(u'call', var.get(u'args'), Js(1.0)))) + var.put(u'index', Js(0.0)) + var.put(u'lastC', Js(0.0)) + @Js + def PyJs_anonymous_3281_(match, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'match':match}, var) + var.registers([u'match']) + if PyJsStrictEq(Js(u'%%'),var.get(u'match')): + return var.get('undefined') + (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1)) + if PyJsStrictEq(Js(u'%c'),var.get(u'match')): + var.put(u'lastC', var.get(u'index')) + PyJs_anonymous_3281_._set_name(u'anonymous') + var.get(u'args').get(u'0').callprop(u'replace', JsRegExp(u'/%[a-z%]/g'), PyJs_anonymous_3281_) + var.get(u'args').callprop(u'splice', var.get(u'lastC'), Js(0.0), var.get(u'c')) + return var.get(u'args') + PyJsHoisted_formatArgs_.func_name = u'formatArgs' + var.put(u'formatArgs', PyJsHoisted_formatArgs_) + @Js + def PyJsHoisted_localstorage_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + try: + return var.get(u'window').get(u'localStorage') + except PyJsException as PyJsTempException: + PyJsHolder_65_8009014 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + pass + finally: + if PyJsHolder_65_8009014 is not None: + var.own[u'e'] = PyJsHolder_65_8009014 + else: + del var.own[u'e'] + del PyJsHolder_65_8009014 + PyJsHoisted_localstorage_.func_name = u'localstorage' + var.put(u'localstorage', PyJsHoisted_localstorage_) + @Js + def PyJsHoisted_useColors_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + def PyJs_LONG_3279_(var=var): + return ((var.get(u'document').get(u'documentElement').get(u'style').contains(Js(u'WebkitAppearance')) or (var.get(u'window').get(u'console') and (var.get(u'console').get(u'firebug') or (var.get(u'console').get(u'exception') and var.get(u'console').get(u'table'))))) or (var.get(u'navigator').get(u'userAgent').callprop(u'toLowerCase').callprop(u'match', JsRegExp(u'/firefox\\/(\\d+)/')) and (var.get(u'parseInt')(var.get(u'RegExp').get(u'$1'), Js(10.0))>=Js(31.0)))) + return PyJs_LONG_3279_() + PyJsHoisted_useColors_.func_name = u'useColors' + var.put(u'useColors', PyJsHoisted_useColors_) + @Js + def PyJsHoisted_save_(namespaces, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'namespaces':namespaces}, var) + var.registers([u'namespaces']) + try: + if (var.get(u"null")==var.get(u'namespaces')): + var.get(u'exports').get(u'storage').callprop(u'removeItem', Js(u'debug')) + else: + var.get(u'exports').get(u'storage').put(u'debug', var.get(u'namespaces')) + except PyJsException as PyJsTempException: + PyJsHolder_65_85910939 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + pass + finally: + if PyJsHolder_65_85910939 is not None: + var.own[u'e'] = PyJsHolder_65_85910939 + else: + del var.own[u'e'] + del PyJsHolder_65_85910939 + PyJsHoisted_save_.func_name = u'save' + var.put(u'save', PyJsHoisted_save_) + var.put(u'exports', var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./debug')))) + var.get(u'exports').put(u'log', var.get(u'log')) + var.get(u'exports').put(u'formatArgs', var.get(u'formatArgs')) + var.get(u'exports').put(u'save', var.get(u'save')) + var.get(u'exports').put(u'load', var.get(u'load')) + var.get(u'exports').put(u'useColors', var.get(u'useColors')) + var.get(u'exports').put(u'storage', (var.get(u'chrome').get(u'storage').get(u'local') if ((Js(u'undefined')!=var.get(u'chrome',throw=False).typeof()) and (Js(u'undefined')!=var.get(u'chrome').get(u'storage').typeof())) else var.get(u'localstorage')())) + var.get(u'exports').put(u'colors', Js([Js(u'lightseagreen'), Js(u'forestgreen'), Js(u'goldenrod'), Js(u'dodgerblue'), Js(u'darkorchid'), Js(u'crimson')])) + pass + @Js + def PyJs_anonymous_3280_(v, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'v':v}, var) + var.registers([u'v']) + return var.get(u'JSON').callprop(u'stringify', var.get(u'v')) + PyJs_anonymous_3280_._set_name(u'anonymous') + var.get(u'exports').get(u'formatters').put(u'j', PyJs_anonymous_3280_) + pass + pass + pass + pass + var.get(u'exports').callprop(u'enable', var.get(u'load')()) + pass +PyJs_anonymous_3278_._set_name(u'anonymous') +PyJs_Object_3282_ = Js({u'./debug':Js(269.0)}) +@Js +def PyJs_anonymous_3283_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'enable', u'require', u'enabled', u'selectColor', u'coerce', u'disable', u'module', u'debug', u'prevColor', u'prevTime']) + @Js + def PyJsHoisted_enable_(namespaces, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'namespaces':namespaces}, var) + var.registers([u'i', u'namespaces', u'split', u'len']) + var.get(u'exports').callprop(u'save', var.get(u'namespaces')) + var.put(u'split', (var.get(u'namespaces') or Js(u'')).callprop(u'split', JsRegExp(u'/[\\s,]+/'))) + var.put(u'len', var.get(u'split').get(u'length')) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')var.get(u'maxUsed')) or (PyJsStrictEq(var.get(u'u'),var.get(u'maxUsed')) and (var.get(u'w')>var.get(u'maxWeight')))): + var.put(u'maxUsed', var.get(u'u')) + var.put(u'maxWeight', var.get(u'w')) + var.put(u'result', var.get(u'Number')(var.get(u'n'))) + return var.get(u'result') + PyJsHoisted_getMostUsed_.func_name = u'getMostUsed' + var.put(u'getMostUsed', PyJsHoisted_getMostUsed_) + Js(u'use strict') + var.put(u'repeating', var.get(u'require')(Js(u'repeating'))) + var.put(u'INDENT_RE', JsRegExp(u'/^(?:( )+|\\t+)/')) + pass + @Js + def PyJs_anonymous_3297_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str}, var) + var.registers([u'actual', u'tabs', u'amount', u'isIndent', u'current', u'indents', u'spaces', u'str', u'prev', u'type']) + if PyJsStrictNeq(var.get(u'str',throw=False).typeof(),Js(u'string')): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Expected a string'))) + raise PyJsTempException + var.put(u'tabs', Js(0.0)) + var.put(u'spaces', Js(0.0)) + var.put(u'prev', Js(0.0)) + PyJs_Object_3298_ = Js({}) + var.put(u'indents', PyJs_Object_3298_) + pass + pass + @Js + def PyJs_anonymous_3299_(line, this, arguments, var=var): + var = Scope({u'this':this, u'line':line, u'arguments':arguments}, var) + var.registers([u'matches', u'diff', u'line', u'indent']) + if var.get(u'line').neg(): + return var.get('undefined') + pass + var.put(u'matches', var.get(u'line').callprop(u'match', var.get(u'INDENT_RE'))) + if var.get(u'matches').neg(): + var.put(u'indent', Js(0.0)) + else: + var.put(u'indent', var.get(u'matches').get(u'0').get(u'length')) + if var.get(u'matches').get(u'1'): + (var.put(u'spaces',Js(var.get(u'spaces').to_number())+Js(1))-Js(1)) + else: + (var.put(u'tabs',Js(var.get(u'tabs').to_number())+Js(1))-Js(1)) + var.put(u'diff', (var.get(u'indent')-var.get(u'prev'))) + var.put(u'prev', var.get(u'indent')) + if var.get(u'diff'): + var.put(u'isIndent', (var.get(u'diff')>Js(0.0))) + var.put(u'current', var.get(u'indents').get((var.get(u'diff') if var.get(u'isIndent') else (-var.get(u'diff'))))) + if var.get(u'current'): + (var.get(u'current').put(u'0',Js(var.get(u'current').get(u'0').to_number())+Js(1))-Js(1)) + else: + var.put(u'current', var.get(u'indents').put(var.get(u'diff'), Js([Js(1.0), Js(0.0)]))) + else: + if var.get(u'current'): + var.get(u'current').put(u'1', var.get(u'Number')(var.get(u'isIndent')), u'+') + PyJs_anonymous_3299_._set_name(u'anonymous') + var.get(u'str').callprop(u'split', JsRegExp(u'/\\n/g')).callprop(u'forEach', PyJs_anonymous_3299_) + var.put(u'amount', var.get(u'getMostUsed')(var.get(u'indents'))) + pass + pass + if var.get(u'amount').neg(): + var.put(u'type', var.get(u"null")) + var.put(u'actual', Js(u'')) + else: + if (var.get(u'spaces')>=var.get(u'tabs')): + var.put(u'type', Js(u'space')) + var.put(u'actual', var.get(u'repeating')(Js(u' '), var.get(u'amount'))) + else: + var.put(u'type', Js(u'tab')) + var.put(u'actual', var.get(u'repeating')(Js(u'\t'), var.get(u'amount'))) + PyJs_Object_3300_ = Js({u'amount':var.get(u'amount'),u'type':var.get(u'type'),u'indent':var.get(u'actual')}) + return PyJs_Object_3300_ + PyJs_anonymous_3297_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_3297_) +PyJs_anonymous_3296_._set_name(u'anonymous') +PyJs_Object_3301_ = Js({u'repeating':Js(507.0)}) +@Js +def PyJs_anonymous_3302_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'matchOperatorsRe', u'require', u'exports', u'module']) + Js(u'use strict') + var.put(u'matchOperatorsRe', JsRegExp(u'/[|\\\\{}()[\\]^$+*?.]/g')) + @Js + def PyJs_anonymous_3303_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str}, var) + var.registers([u'str']) + if PyJsStrictNeq(var.get(u'str',throw=False).typeof(),Js(u'string')): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Expected a string'))) + raise PyJsTempException + return var.get(u'str').callprop(u'replace', var.get(u'matchOperatorsRe'), Js(u'\\$&')) + PyJs_anonymous_3303_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_3303_) +PyJs_anonymous_3302_._set_name(u'anonymous') +PyJs_Object_3304_ = Js({}) +@Js +def PyJs_anonymous_3305_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_3306_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'isIterationStatement', u'isProblematicIfStatement', u'trailingStatement', u'isExpression', u'isSourceElement', u'isStatement']) + @Js + def PyJsHoisted_isIterationStatement_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if (var.get(u'node')==var.get(u"null")): + return Js(False) + while 1: + SWITCHED = False + CONDITION = (var.get(u'node').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'DoWhileStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ForInStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ForStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'WhileStatement')): + SWITCHED = True + return var.get(u'true') + SWITCHED = True + break + return Js(False) + PyJsHoisted_isIterationStatement_.func_name = u'isIterationStatement' + var.put(u'isIterationStatement', PyJsHoisted_isIterationStatement_) + @Js + def PyJsHoisted_isProblematicIfStatement_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'current', u'node']) + pass + if PyJsStrictNeq(var.get(u'node').get(u'type'),Js(u'IfStatement')): + return Js(False) + if (var.get(u'node').get(u'alternate')==var.get(u"null")): + return Js(False) + var.put(u'current', var.get(u'node').get(u'consequent')) + while 1: + if PyJsStrictEq(var.get(u'current').get(u'type'),Js(u'IfStatement')): + if (var.get(u'current').get(u'alternate')==var.get(u"null")): + return var.get(u'true') + var.put(u'current', var.get(u'trailingStatement')(var.get(u'current'))) + if not var.get(u'current'): + break + return Js(False) + PyJsHoisted_isProblematicIfStatement_.func_name = u'isProblematicIfStatement' + var.put(u'isProblematicIfStatement', PyJsHoisted_isProblematicIfStatement_) + @Js + def PyJsHoisted_trailingStatement_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + while 1: + SWITCHED = False + CONDITION = (var.get(u'node').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'IfStatement')): + SWITCHED = True + if (var.get(u'node').get(u'alternate')!=var.get(u"null")): + return var.get(u'node').get(u'alternate') + return var.get(u'node').get(u'consequent') + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'LabeledStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ForStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ForInStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'WhileStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'WithStatement')): + SWITCHED = True + return var.get(u'node').get(u'body') + SWITCHED = True + break + return var.get(u"null") + PyJsHoisted_trailingStatement_.func_name = u'trailingStatement' + var.put(u'trailingStatement', PyJsHoisted_trailingStatement_) + @Js + def PyJsHoisted_isExpression_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if (var.get(u'node')==var.get(u"null")): + return Js(False) + while 1: + SWITCHED = False + CONDITION = (var.get(u'node').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ArrayExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'AssignmentExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'BinaryExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'CallExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ConditionalExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'FunctionExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'Identifier')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'Literal')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'LogicalExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'MemberExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'NewExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ObjectExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'SequenceExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ThisExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'UnaryExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'UpdateExpression')): + SWITCHED = True + return var.get(u'true') + SWITCHED = True + break + return Js(False) + PyJsHoisted_isExpression_.func_name = u'isExpression' + var.put(u'isExpression', PyJsHoisted_isExpression_) + @Js + def PyJsHoisted_isSourceElement_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + return (var.get(u'isStatement')(var.get(u'node')) or ((var.get(u'node')!=var.get(u"null")) and PyJsStrictEq(var.get(u'node').get(u'type'),Js(u'FunctionDeclaration')))) + PyJsHoisted_isSourceElement_.func_name = u'isSourceElement' + var.put(u'isSourceElement', PyJsHoisted_isSourceElement_) + @Js + def PyJsHoisted_isStatement_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + if (var.get(u'node')==var.get(u"null")): + return Js(False) + while 1: + SWITCHED = False + CONDITION = (var.get(u'node').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'BlockStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'BreakStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ContinueStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'DebuggerStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'DoWhileStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'EmptyStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ExpressionStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ForInStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ForStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'IfStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'LabeledStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ReturnStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'SwitchStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ThrowStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'TryStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'VariableDeclaration')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'WhileStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'WithStatement')): + SWITCHED = True + return var.get(u'true') + SWITCHED = True + break + return Js(False) + PyJsHoisted_isStatement_.func_name = u'isStatement' + var.put(u'isStatement', PyJsHoisted_isStatement_) + Js(u'use strict') + pass + pass + pass + pass + pass + pass + PyJs_Object_3307_ = Js({u'isExpression':var.get(u'isExpression'),u'isStatement':var.get(u'isStatement'),u'isIterationStatement':var.get(u'isIterationStatement'),u'isSourceElement':var.get(u'isSourceElement'),u'isProblematicIfStatement':var.get(u'isProblematicIfStatement'),u'trailingStatement':var.get(u'trailingStatement')}) + var.get(u'module').put(u'exports', PyJs_Object_3307_) + PyJs_anonymous_3306_._set_name(u'anonymous') + PyJs_anonymous_3306_() +PyJs_anonymous_3305_._set_name(u'anonymous') +PyJs_Object_3308_ = Js({}) +@Js +def PyJs_anonymous_3309_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_3310_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'isIdentifierPartES6', u'NON_ASCII_WHITESPACES', u'isIdentifierStartES5', u'fromCodePoint', u'IDENTIFIER_START', u'ES6Regex', u'ES5Regex', u'isHexDigit', u'ch', u'IDENTIFIER_PART', u'isLineTerminator', u'isDecimalDigit', u'isIdentifierStartES6', u'isIdentifierPartES5', u'isOctalDigit', u'isWhiteSpace']) + @Js + def PyJsHoisted_isIdentifierPartES6_(ch, this, arguments, var=var): + var = Scope({u'this':this, u'ch':ch, u'arguments':arguments}, var) + var.registers([u'ch']) + return (var.get(u'IDENTIFIER_PART').get(var.get(u'ch')) if (var.get(u'ch')=Js(48)) and (var.get(u'ch')<=Js(55))) + PyJsHoisted_isOctalDigit_.func_name = u'isOctalDigit' + var.put(u'isOctalDigit', PyJsHoisted_isOctalDigit_) + @Js + def PyJsHoisted_isLineTerminator_(ch, this, arguments, var=var): + var = Scope({u'this':this, u'ch':ch, u'arguments':arguments}, var) + var.registers([u'ch']) + return (((PyJsStrictEq(var.get(u'ch'),Js(10)) or PyJsStrictEq(var.get(u'ch'),Js(13))) or PyJsStrictEq(var.get(u'ch'),Js(8232))) or PyJsStrictEq(var.get(u'ch'),Js(8233))) + PyJsHoisted_isLineTerminator_.func_name = u'isLineTerminator' + var.put(u'isLineTerminator', PyJsHoisted_isLineTerminator_) + @Js + def PyJsHoisted_isDecimalDigit_(ch, this, arguments, var=var): + var = Scope({u'this':this, u'ch':ch, u'arguments':arguments}, var) + var.registers([u'ch']) + return ((Js(48)<=var.get(u'ch')) and (var.get(u'ch')<=Js(57))) + PyJsHoisted_isDecimalDigit_.func_name = u'isDecimalDigit' + var.put(u'isDecimalDigit', PyJsHoisted_isDecimalDigit_) + @Js + def PyJsHoisted_isIdentifierStartES6_(ch, this, arguments, var=var): + var = Scope({u'this':this, u'ch':ch, u'arguments':arguments}, var) + var.registers([u'ch']) + return (var.get(u'IDENTIFIER_START').get(var.get(u'ch')) if (var.get(u'ch')=Js(5760)) and (var.get(u'NON_ASCII_WHITESPACES').callprop(u'indexOf', var.get(u'ch'))>=Js(0.0)))) + PyJsHoisted_isWhiteSpace_.func_name = u'isWhiteSpace' + var.put(u'isWhiteSpace', PyJsHoisted_isWhiteSpace_) + Js(u'use strict') + pass + PyJs_Object_3311_ = Js({u'NonAsciiIdentifierStart':JsRegExp(u'/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/'),u'NonAsciiIdentifierPart':JsRegExp(u'/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/')}) + var.put(u'ES5Regex', PyJs_Object_3311_) + PyJs_Object_3312_ = Js({u'NonAsciiIdentifierStart':JsRegExp(u'/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF5D-\\uDF61]|\\uD805[\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF98]|\\uD809[\\uDC00-\\uDC6E]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D]|\\uD87E[\\uDC00-\\uDE1D]/'),u'NonAsciiIdentifierPart':JsRegExp(u'/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDD0-\\uDDDA\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF01-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF98]|\\uD809[\\uDC00-\\uDC6E]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/')}) + var.put(u'ES6Regex', PyJs_Object_3312_) + pass + pass + pass + var.put(u'NON_ASCII_WHITESPACES', Js([Js(5760), Js(6158), Js(8192), Js(8193), Js(8194), Js(8195), Js(8196), Js(8197), Js(8198), Js(8199), Js(8200), Js(8201), Js(8202), Js(8239), Js(8287), Js(12288), Js(65279)])) + pass + pass + pass + var.put(u'IDENTIFIER_START', var.get(u'Array').create(Js(128))) + #for JS loop + var.put(u'ch', Js(0.0)) + while (var.get(u'ch')=Js(97)) and (var.get(u'ch')<=Js(122))) or ((var.get(u'ch')>=Js(65)) and (var.get(u'ch')<=Js(90)))) or PyJsStrictEq(var.get(u'ch'),Js(36))) or PyJsStrictEq(var.get(u'ch'),Js(95)))) + finally: + var.put(u'ch',Js(var.get(u'ch').to_number())+Js(1)) + var.put(u'IDENTIFIER_PART', var.get(u'Array').create(Js(128))) + #for JS loop + var.put(u'ch', Js(0.0)) + while (var.get(u'ch')=Js(97)) and (var.get(u'ch')<=Js(122))) or ((var.get(u'ch')>=Js(65)) and (var.get(u'ch')<=Js(90)))) or ((var.get(u'ch')>=Js(48)) and (var.get(u'ch')<=Js(57)))) or PyJsStrictEq(var.get(u'ch'),Js(36))) or PyJsStrictEq(var.get(u'ch'),Js(95)))) + finally: + var.put(u'ch',Js(var.get(u'ch').to_number())+Js(1)) + pass + pass + pass + pass + PyJs_Object_3313_ = Js({u'isDecimalDigit':var.get(u'isDecimalDigit'),u'isHexDigit':var.get(u'isHexDigit'),u'isOctalDigit':var.get(u'isOctalDigit'),u'isWhiteSpace':var.get(u'isWhiteSpace'),u'isLineTerminator':var.get(u'isLineTerminator'),u'isIdentifierStartES5':var.get(u'isIdentifierStartES5'),u'isIdentifierPartES5':var.get(u'isIdentifierPartES5'),u'isIdentifierStartES6':var.get(u'isIdentifierStartES6'),u'isIdentifierPartES6':var.get(u'isIdentifierPartES6')}) + var.get(u'module').put(u'exports', PyJs_Object_3313_) + PyJs_anonymous_3310_._set_name(u'anonymous') + PyJs_anonymous_3310_() +PyJs_anonymous_3309_._set_name(u'anonymous') +PyJs_Object_3314_ = Js({}) +@Js +def PyJs_anonymous_3315_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_3316_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'isKeywordES6', u'isKeywordES5', u'code', u'isIdentifierNameES6', u'decodeUtf16', u'isIdentifierNameES5', u'isIdentifierES5', u'isIdentifierES6', u'isReservedWordES5', u'isReservedWordES6', u'isRestrictedWord', u'isStrictModeReservedWordES6']) + @Js + def PyJsHoisted_isKeywordES6_(id, strict, this, arguments, var=var): + var = Scope({u'this':this, u'strict':strict, u'id':id, u'arguments':arguments}, var) + var.registers([u'strict', u'id']) + if (var.get(u'strict') and var.get(u'isStrictModeReservedWordES6')(var.get(u'id'))): + return var.get(u'true') + while 1: + SWITCHED = False + CONDITION = (var.get(u'id').get(u'length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(2.0)): + SWITCHED = True + return ((PyJsStrictEq(var.get(u'id'),Js(u'if')) or PyJsStrictEq(var.get(u'id'),Js(u'in'))) or PyJsStrictEq(var.get(u'id'),Js(u'do'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + return (((PyJsStrictEq(var.get(u'id'),Js(u'var')) or PyJsStrictEq(var.get(u'id'),Js(u'for'))) or PyJsStrictEq(var.get(u'id'),Js(u'new'))) or PyJsStrictEq(var.get(u'id'),Js(u'try'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(4.0)): + SWITCHED = True + return (((((PyJsStrictEq(var.get(u'id'),Js(u'this')) or PyJsStrictEq(var.get(u'id'),Js(u'else'))) or PyJsStrictEq(var.get(u'id'),Js(u'case'))) or PyJsStrictEq(var.get(u'id'),Js(u'void'))) or PyJsStrictEq(var.get(u'id'),Js(u'with'))) or PyJsStrictEq(var.get(u'id'),Js(u'enum'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(5.0)): + SWITCHED = True + return (((((((PyJsStrictEq(var.get(u'id'),Js(u'while')) or PyJsStrictEq(var.get(u'id'),Js(u'break'))) or PyJsStrictEq(var.get(u'id'),Js(u'catch'))) or PyJsStrictEq(var.get(u'id'),Js(u'throw'))) or PyJsStrictEq(var.get(u'id'),Js(u'const'))) or PyJsStrictEq(var.get(u'id'),Js(u'yield'))) or PyJsStrictEq(var.get(u'id'),Js(u'class'))) or PyJsStrictEq(var.get(u'id'),Js(u'super'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(6.0)): + SWITCHED = True + return (((((PyJsStrictEq(var.get(u'id'),Js(u'return')) or PyJsStrictEq(var.get(u'id'),Js(u'typeof'))) or PyJsStrictEq(var.get(u'id'),Js(u'delete'))) or PyJsStrictEq(var.get(u'id'),Js(u'switch'))) or PyJsStrictEq(var.get(u'id'),Js(u'export'))) or PyJsStrictEq(var.get(u'id'),Js(u'import'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(7.0)): + SWITCHED = True + return ((PyJsStrictEq(var.get(u'id'),Js(u'default')) or PyJsStrictEq(var.get(u'id'),Js(u'finally'))) or PyJsStrictEq(var.get(u'id'),Js(u'extends'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(8.0)): + SWITCHED = True + return ((PyJsStrictEq(var.get(u'id'),Js(u'function')) or PyJsStrictEq(var.get(u'id'),Js(u'continue'))) or PyJsStrictEq(var.get(u'id'),Js(u'debugger'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(10.0)): + SWITCHED = True + return PyJsStrictEq(var.get(u'id'),Js(u'instanceof')) + if True: + SWITCHED = True + return Js(False) + SWITCHED = True + break + PyJsHoisted_isKeywordES6_.func_name = u'isKeywordES6' + var.put(u'isKeywordES6', PyJsHoisted_isKeywordES6_) + @Js + def PyJsHoisted_isKeywordES5_(id, strict, this, arguments, var=var): + var = Scope({u'this':this, u'strict':strict, u'id':id, u'arguments':arguments}, var) + var.registers([u'strict', u'id']) + if (var.get(u'strict').neg() and PyJsStrictEq(var.get(u'id'),Js(u'yield'))): + return Js(False) + return var.get(u'isKeywordES6')(var.get(u'id'), var.get(u'strict')) + PyJsHoisted_isKeywordES5_.func_name = u'isKeywordES5' + var.put(u'isKeywordES5', PyJsHoisted_isKeywordES5_) + @Js + def PyJsHoisted_isIdentifierNameES6_(id, this, arguments, var=var): + var = Scope({u'this':this, u'id':id, u'arguments':arguments}, var) + var.registers([u'ch', u'i', u'lowCh', u'id', u'iz', u'check']) + pass + if PyJsStrictEq(var.get(u'id').get(u'length'),Js(0.0)): + return Js(False) + var.put(u'check', var.get(u'code').get(u'isIdentifierStartES6')) + #for JS loop + PyJsComma(var.put(u'i', Js(0.0)),var.put(u'iz', var.get(u'id').get(u'length'))) + while (var.get(u'i')=var.get(u'iz')): + return Js(False) + var.put(u'lowCh', var.get(u'id').callprop(u'charCodeAt', var.get(u'i'))) + if ((Js(56320)<=var.get(u'lowCh')) and (var.get(u'lowCh')<=Js(57343))).neg(): + return Js(False) + var.put(u'ch', var.get(u'decodeUtf16')(var.get(u'ch'), var.get(u'lowCh'))) + if var.get(u'check')(var.get(u'ch')).neg(): + return Js(False) + var.put(u'check', var.get(u'code').get(u'isIdentifierPartES6')) + finally: + var.put(u'i',Js(var.get(u'i').to_number())+Js(1)) + return var.get(u'true') + PyJsHoisted_isIdentifierNameES6_.func_name = u'isIdentifierNameES6' + var.put(u'isIdentifierNameES6', PyJsHoisted_isIdentifierNameES6_) + @Js + def PyJsHoisted_decodeUtf16_(lead, trail, this, arguments, var=var): + var = Scope({u'this':this, u'trail':trail, u'arguments':arguments, u'lead':lead}, var) + var.registers([u'trail', u'lead']) + return ((((var.get(u'lead')-Js(55296))*Js(1024))+(var.get(u'trail')-Js(56320)))+Js(65536)) + PyJsHoisted_decodeUtf16_.func_name = u'decodeUtf16' + var.put(u'decodeUtf16', PyJsHoisted_decodeUtf16_) + @Js + def PyJsHoisted_isIdentifierNameES5_(id, this, arguments, var=var): + var = Scope({u'this':this, u'id':id, u'arguments':arguments}, var) + var.registers([u'i', u'ch', u'iz', u'id']) + pass + if PyJsStrictEq(var.get(u'id').get(u'length'),Js(0.0)): + return Js(False) + var.put(u'ch', var.get(u'id').callprop(u'charCodeAt', Js(0.0))) + if var.get(u'code').callprop(u'isIdentifierStartES5', var.get(u'ch')).neg(): + return Js(False) + #for JS loop + PyJsComma(var.put(u'i', Js(1.0)),var.put(u'iz', var.get(u'id').get(u'length'))) + while (var.get(u'i')!=?({]|\\/(?![\\/*])))))|(0[xX][\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?)|((?!\\d)(?:(?!\\s)[$\\w\\u0080-\\uFFFF]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]{1,6}\\})+)|(--|\\+\\+|&&|\\|\\||=>|\\.{3}|(?:[+\\-\\/%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\](){}])|(\\s+)|(^$|[\\s\\S])/g')) + PyJs_LONG_3369_() + @Js + def PyJs_anonymous_3370_(match, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'match':match}, var) + var.registers([u'token', u'match']) + PyJs_Object_3371_ = Js({u'type':Js(u'invalid'),u'value':var.get(u'match').get(u'0')}) + var.put(u'token', PyJs_Object_3371_) + if var.get(u'match').get(u'1'): + PyJsComma(var.get(u'token').put(u'type', Js(u'string')),var.get(u'token').put(u'closed', (var.get(u'match').get(u'3') or var.get(u'match').get(u'4')).neg().neg())) + else: + if var.get(u'match').get(u'5'): + var.get(u'token').put(u'type', Js(u'comment')) + else: + if var.get(u'match').get(u'6'): + PyJsComma(var.get(u'token').put(u'type', Js(u'comment')),var.get(u'token').put(u'closed', var.get(u'match').get(u'7').neg().neg())) + else: + if var.get(u'match').get(u'8'): + var.get(u'token').put(u'type', Js(u'regex')) + else: + if var.get(u'match').get(u'9'): + var.get(u'token').put(u'type', Js(u'number')) + else: + if var.get(u'match').get(u'10'): + var.get(u'token').put(u'type', Js(u'name')) + else: + if var.get(u'match').get(u'11'): + var.get(u'token').put(u'type', Js(u'punctuator')) + else: + if var.get(u'match').get(u'12'): + var.get(u'token').put(u'type', Js(u'whitespace')) + return var.get(u'token') + PyJs_anonymous_3370_._set_name(u'anonymous') + var.get(u'module').get(u'exports').put(u'matchToToken', PyJs_anonymous_3370_) +PyJs_anonymous_3368_._set_name(u'anonymous') +PyJs_Object_3372_ = Js({}) +@Js +def PyJs_anonymous_3373_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_3374_ = Js({}) + @Js + def PyJs_anonymous_3375_(PyJsArg_676c6f62616c_, this, arguments, var=var): + var = Scope({u'this':this, u'global':PyJsArg_676c6f62616c_, u'arguments':arguments}, var) + var.registers([u'global']) + pass + @Js + def PyJs_anonymous_3376_(root, this, arguments, var=var): + var = Scope({u'this':this, u'root':root, u'arguments':arguments}, var) + var.registers([u'singleEscapes', u'freeModule', u'freeGlobal', u'freeExports', u'isFunction', u'forOwn', u'toString', u'regexSingleEscape', u'jsesc', u'isSet', u'isArray', u'extend', u'object', u'hasOwnProperty', u'isNumber', u'isObject', u'regexDigit', u'isString', u'isMap', u'root', u'regexWhitelist', u'forEach']) + var.put(u'freeExports', ((var.get(u'exports',throw=False).typeof()==Js(u'object')) and var.get(u'exports'))) + var.put(u'freeModule', ((((var.get(u'module',throw=False).typeof()==Js(u'object')) and var.get(u'module')) and (var.get(u'module').get(u'exports')==var.get(u'freeExports'))) and var.get(u'module'))) + var.put(u'freeGlobal', ((var.get(u'global',throw=False).typeof()==Js(u'object')) and var.get(u'global'))) + if (PyJsStrictEq(var.get(u'freeGlobal').get(u'global'),var.get(u'freeGlobal')) or PyJsStrictEq(var.get(u'freeGlobal').get(u'window'),var.get(u'freeGlobal'))): + var.put(u'root', var.get(u'freeGlobal')) + PyJs_Object_3377_ = Js({}) + var.put(u'object', PyJs_Object_3377_) + var.put(u'hasOwnProperty', var.get(u'object').get(u'hasOwnProperty')) + @Js + def PyJs_anonymous_3378_(object, callback, this, arguments, var=var): + var = Scope({u'this':this, u'callback':callback, u'object':object, u'arguments':arguments}, var) + var.registers([u'callback', u'object', u'key']) + pass + for PyJsTemp in var.get(u'object'): + var.put(u'key', PyJsTemp) + if var.get(u'hasOwnProperty').callprop(u'call', var.get(u'object'), var.get(u'key')): + var.get(u'callback')(var.get(u'key'), var.get(u'object').get(var.get(u'key'))) + PyJs_anonymous_3378_._set_name(u'anonymous') + var.put(u'forOwn', PyJs_anonymous_3378_) + @Js + def PyJs_anonymous_3379_(destination, source, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'destination':destination, u'arguments':arguments}, var) + var.registers([u'source', u'destination']) + if var.get(u'source').neg(): + return var.get(u'destination') + @Js + def PyJs_anonymous_3380_(key, value, this, arguments, var=var): + var = Scope({u'this':this, u'value':value, u'key':key, u'arguments':arguments}, var) + var.registers([u'value', u'key']) + var.get(u'destination').put(var.get(u'key'), var.get(u'value')) + PyJs_anonymous_3380_._set_name(u'anonymous') + var.get(u'forOwn')(var.get(u'source'), PyJs_anonymous_3380_) + return var.get(u'destination') + PyJs_anonymous_3379_._set_name(u'anonymous') + var.put(u'extend', PyJs_anonymous_3379_) + @Js + def PyJs_anonymous_3381_(array, callback, this, arguments, var=var): + var = Scope({u'this':this, u'callback':callback, u'array':array, u'arguments':arguments}, var) + var.registers([u'index', u'length', u'array', u'callback']) + var.put(u'length', var.get(u'array').get(u'length')) + var.put(u'index', (-Js(1.0))) + while (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))=Js(55296)) and (var.get(u'first')<=Js(56319))) and (var.get(u'length')>(var.get(u'index')+Js(1.0)))): + var.put(u'second', var.get(u'string').callprop(u'charCodeAt', (var.get(u'index')+Js(1.0)))) + if ((var.get(u'second')>=Js(56320)) and (var.get(u'second')<=Js(57343))): + var.put(u'codePoint', (((((var.get(u'first')-Js(55296))*Js(1024))+var.get(u'second'))-Js(56320))+Js(65536))) + var.put(u'hexadecimal', var.get(u'codePoint').callprop(u'toString', Js(16.0))) + if var.get(u'lowercaseHex').neg(): + var.put(u'hexadecimal', var.get(u'hexadecimal').callprop(u'toUpperCase')) + var.put(u'result', ((Js(u'\\u{')+var.get(u'hexadecimal'))+Js(u'}')), u'+') + (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1)) + continue + if var.get(u'options').get(u'escapeEverything').neg(): + if var.get(u'regexWhitelist').callprop(u'test', var.get(u'character')): + var.put(u'result', var.get(u'character'), u'+') + continue + if (var.get(u'character')==Js(u'"')): + var.put(u'result', (Js(u'\\"') if (var.get(u'quote')==var.get(u'character')) else var.get(u'character')), u'+') + continue + if (var.get(u'character')==Js(u"'")): + var.put(u'result', (Js(u"\\'") if (var.get(u'quote')==var.get(u'character')) else var.get(u'character')), u'+') + continue + if (((var.get(u'character')==Js(u'\x00')) and var.get(u'json').neg()) and var.get(u'regexDigit').callprop(u'test', var.get(u'string').callprop(u'charAt', (var.get(u'index')+Js(1.0)))).neg()): + var.put(u'result', Js(u'\\0'), u'+') + continue + if var.get(u'regexSingleEscape').callprop(u'test', var.get(u'character')): + var.put(u'result', var.get(u'singleEscapes').get(var.get(u'character')), u'+') + continue + var.put(u'charCode', var.get(u'character').callprop(u'charCodeAt', Js(0.0))) + var.put(u'hexadecimal', var.get(u'charCode').callprop(u'toString', Js(16.0))) + if var.get(u'lowercaseHex').neg(): + var.put(u'hexadecimal', var.get(u'hexadecimal').callprop(u'toUpperCase')) + var.put(u'longhand', ((var.get(u'hexadecimal').get(u'length')>Js(2.0)) or var.get(u'json'))) + var.put(u'escaped', ((Js(u'\\')+(Js(u'u') if var.get(u'longhand') else Js(u'x')))+(Js(u'0000')+var.get(u'hexadecimal')).callprop(u'slice', ((-Js(4.0)) if var.get(u'longhand') else (-Js(2.0)))))) + var.put(u'result', var.get(u'escaped'), u'+') + continue + if var.get(u'options').get(u'wrap'): + var.put(u'result', ((var.get(u'quote')+var.get(u'result'))+var.get(u'quote'))) + if var.get(u'options').get(u'escapeEtago'): + return var.get(u'result').callprop(u'replace', JsRegExp(u'/<\\/(script|style)/gi'), Js(u'<\\/$1')) + return var.get(u'result') + PyJs_anonymous_3390_._set_name(u'anonymous') + var.put(u'jsesc', PyJs_anonymous_3390_) + var.get(u'jsesc').put(u'version', Js(u'1.3.0')) + if (((var.get(u'define',throw=False).typeof()==Js(u'function')) and (var.get(u'define').get(u'amd').typeof()==Js(u'object'))) and var.get(u'define').get(u'amd')): + @Js + def PyJs_anonymous_3394_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'jsesc') + PyJs_anonymous_3394_._set_name(u'anonymous') + var.get(u'define')(PyJs_anonymous_3394_) + else: + if (var.get(u'freeExports') and var.get(u'freeExports').get(u'nodeType').neg()): + if var.get(u'freeModule'): + var.get(u'freeModule').put(u'exports', var.get(u'jsesc')) + else: + var.get(u'freeExports').put(u'jsesc', var.get(u'jsesc')) + else: + var.get(u'root').put(u'jsesc', var.get(u'jsesc')) + PyJs_anonymous_3376_._set_name(u'anonymous') + PyJs_anonymous_3376_(var.get(u"this")) + PyJs_anonymous_3375_._set_name(u'anonymous') + PyJs_anonymous_3375_.callprop(u'call', var.get(u"this"), (var.get(u'global') if PyJsStrictNeq(var.get(u'global',throw=False).typeof(),Js(u'undefined')) else (var.get(u'self') if PyJsStrictNeq(var.get(u'self',throw=False).typeof(),Js(u'undefined')) else (var.get(u'window') if PyJsStrictNeq(var.get(u'window',throw=False).typeof(),Js(u'undefined')) else PyJs_Object_3374_)))) +PyJs_anonymous_3373_._set_name(u'anonymous') +PyJs_Object_3395_ = Js({}) +@Js +def PyJs_anonymous_3396_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'JSON5', u'exports', u'require', u'module']) + PyJs_Object_3397_ = Js({}) + var.put(u'JSON5', (var.get(u'exports') if PyJsStrictEq(var.get(u'exports',throw=False).typeof(),Js(u'object')) else PyJs_Object_3397_)) + @Js + def PyJs_anonymous_3398_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'comment', u'ch', u'text', u'number', u'escapee', u'at', u'array', u'inlineComment', u'next', u'white', u'peek', u'string', u'blockComment', u'object', u'ws', u'lineNumber', u'columnNumber', u'word', u'value', u'error', u'identifier', u'renderChar']) + Js(u'use strict') + PyJs_Object_3399_ = Js({u"'":Js(u"'"),u'"':Js(u'"'),u'\\':Js(u'\\'),u'/':Js(u'/'),u'\n':Js(u''),u'b':Js(u'\x08'),u'f':Js(u'\x0c'),u'n':Js(u'\n'),u'r':Js(u'\r'),u't':Js(u'\t')}) + var.put(u'escapee', PyJs_Object_3399_) + var.put(u'ws', Js([Js(u' '), Js(u'\t'), Js(u'\r'), Js(u'\n'), Js(u'\x0b'), Js(u'\x0c'), Js(u'\xa0'), Js(u'\ufeff')])) + @Js + def PyJs_anonymous_3400_(chr, this, arguments, var=var): + var = Scope({u'this':this, u'chr':chr, u'arguments':arguments}, var) + var.registers([u'chr']) + return (Js(u'EOF') if PyJsStrictEq(var.get(u'chr'),Js(u'')) else ((Js(u"'")+var.get(u'chr'))+Js(u"'"))) + PyJs_anonymous_3400_._set_name(u'anonymous') + var.put(u'renderChar', PyJs_anonymous_3400_) + @Js + def PyJs_anonymous_3401_(m, this, arguments, var=var): + var = Scope({u'this':this, u'm':m, u'arguments':arguments}, var) + var.registers([u'm', u'error']) + var.put(u'error', var.get(u'SyntaxError').create()) + var.get(u'error').put(u'message', ((((((var.get(u'm')+Js(u' at line '))+var.get(u'lineNumber'))+Js(u' column '))+var.get(u'columnNumber'))+Js(u' of the JSON5 data. Still to read: '))+var.get(u'JSON').callprop(u'stringify', var.get(u'text').callprop(u'substring', (var.get(u'at')-Js(1.0)), (var.get(u'at')+Js(19.0)))))) + var.get(u'error').put(u'at', var.get(u'at')) + var.get(u'error').put(u'lineNumber', var.get(u'lineNumber')) + var.get(u'error').put(u'columnNumber', var.get(u'columnNumber')) + PyJsTempException = JsToPyException(var.get(u'error')) + raise PyJsTempException + PyJs_anonymous_3401_._set_name(u'anonymous') + var.put(u'error', PyJs_anonymous_3401_) + @Js + def PyJs_anonymous_3402_(c, this, arguments, var=var): + var = Scope({u'this':this, u'c':c, u'arguments':arguments}, var) + var.registers([u'c']) + if (var.get(u'c') and PyJsStrictNeq(var.get(u'c'),var.get(u'ch'))): + var.get(u'error')((((Js(u'Expected ')+var.get(u'renderChar')(var.get(u'c')))+Js(u' instead of '))+var.get(u'renderChar')(var.get(u'ch')))) + var.put(u'ch', var.get(u'text').callprop(u'charAt', var.get(u'at'))) + (var.put(u'at',Js(var.get(u'at').to_number())+Js(1))-Js(1)) + (var.put(u'columnNumber',Js(var.get(u'columnNumber').to_number())+Js(1))-Js(1)) + if (PyJsStrictEq(var.get(u'ch'),Js(u'\n')) or (PyJsStrictEq(var.get(u'ch'),Js(u'\r')) and PyJsStrictNeq(var.get(u'peek')(),Js(u'\n')))): + (var.put(u'lineNumber',Js(var.get(u'lineNumber').to_number())+Js(1))-Js(1)) + var.put(u'columnNumber', Js(0.0)) + return var.get(u'ch') + PyJs_anonymous_3402_._set_name(u'anonymous') + var.put(u'next', PyJs_anonymous_3402_) + @Js + def PyJs_anonymous_3403_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'text').callprop(u'charAt', var.get(u'at')) + PyJs_anonymous_3403_._set_name(u'anonymous') + var.put(u'peek', PyJs_anonymous_3403_) + @Js + def PyJs_anonymous_3404_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'key']) + var.put(u'key', var.get(u'ch')) + if (((PyJsStrictNeq(var.get(u'ch'),Js(u'_')) and PyJsStrictNeq(var.get(u'ch'),Js(u'$'))) and ((var.get(u'ch')Js(u'z')))) and ((var.get(u'ch')Js(u'Z')))): + var.get(u'error')(Js(u'Bad identifier as unquoted key')) + while (var.get(u'next')() and ((((PyJsStrictEq(var.get(u'ch'),Js(u'_')) or PyJsStrictEq(var.get(u'ch'),Js(u'$'))) or ((var.get(u'ch')>=Js(u'a')) and (var.get(u'ch')<=Js(u'z')))) or ((var.get(u'ch')>=Js(u'A')) and (var.get(u'ch')<=Js(u'Z')))) or ((var.get(u'ch')>=Js(u'0')) and (var.get(u'ch')<=Js(u'9'))))): + var.put(u'key', var.get(u'ch'), u'+') + return var.get(u'key') + PyJs_anonymous_3404_._set_name(u'anonymous') + var.put(u'identifier', PyJs_anonymous_3404_) + @Js + def PyJs_anonymous_3405_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'base', u'number', u'string', u'sign']) + var.put(u'sign', Js(u'')) + var.put(u'string', Js(u'')) + var.put(u'base', Js(10.0)) + if (PyJsStrictEq(var.get(u'ch'),Js(u'-')) or PyJsStrictEq(var.get(u'ch'),Js(u'+'))): + var.put(u'sign', var.get(u'ch')) + var.get(u'next')(var.get(u'ch')) + if PyJsStrictEq(var.get(u'ch'),Js(u'I')): + var.put(u'number', var.get(u'word')()) + if (PyJsStrictNeq(var.get(u'number',throw=False).typeof(),Js(u'number')) or var.get(u'isNaN')(var.get(u'number'))): + var.get(u'error')(Js(u'Unexpected word for number')) + return ((-var.get(u'number')) if PyJsStrictEq(var.get(u'sign'),Js(u'-')) else var.get(u'number')) + if PyJsStrictEq(var.get(u'ch'),Js(u'N')): + var.put(u'number', var.get(u'word')()) + if var.get(u'isNaN')(var.get(u'number')).neg(): + var.get(u'error')(Js(u'expected word to be NaN')) + return var.get(u'number') + if PyJsStrictEq(var.get(u'ch'),Js(u'0')): + var.put(u'string', var.get(u'ch'), u'+') + var.get(u'next')() + if (PyJsStrictEq(var.get(u'ch'),Js(u'x')) or PyJsStrictEq(var.get(u'ch'),Js(u'X'))): + var.put(u'string', var.get(u'ch'), u'+') + var.get(u'next')() + var.put(u'base', Js(16.0)) + else: + if ((var.get(u'ch')>=Js(u'0')) and (var.get(u'ch')<=Js(u'9'))): + var.get(u'error')(Js(u'Octal literal')) + while 1: + SWITCHED = False + CONDITION = (var.get(u'base')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(10.0)): + SWITCHED = True + while ((var.get(u'ch')>=Js(u'0')) and (var.get(u'ch')<=Js(u'9'))): + var.put(u'string', var.get(u'ch'), u'+') + var.get(u'next')() + if PyJsStrictEq(var.get(u'ch'),Js(u'.')): + var.put(u'string', Js(u'.'), u'+') + while ((var.get(u'next')() and (var.get(u'ch')>=Js(u'0'))) and (var.get(u'ch')<=Js(u'9'))): + var.put(u'string', var.get(u'ch'), u'+') + if (PyJsStrictEq(var.get(u'ch'),Js(u'e')) or PyJsStrictEq(var.get(u'ch'),Js(u'E'))): + var.put(u'string', var.get(u'ch'), u'+') + var.get(u'next')() + if (PyJsStrictEq(var.get(u'ch'),Js(u'-')) or PyJsStrictEq(var.get(u'ch'),Js(u'+'))): + var.put(u'string', var.get(u'ch'), u'+') + var.get(u'next')() + while ((var.get(u'ch')>=Js(u'0')) and (var.get(u'ch')<=Js(u'9'))): + var.put(u'string', var.get(u'ch'), u'+') + var.get(u'next')() + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(16.0)): + SWITCHED = True + while ((((var.get(u'ch')>=Js(u'0')) and (var.get(u'ch')<=Js(u'9'))) or ((var.get(u'ch')>=Js(u'A')) and (var.get(u'ch')<=Js(u'F')))) or ((var.get(u'ch')>=Js(u'a')) and (var.get(u'ch')<=Js(u'f')))): + var.put(u'string', var.get(u'ch'), u'+') + var.get(u'next')() + break + SWITCHED = True + break + if PyJsStrictEq(var.get(u'sign'),Js(u'-')): + var.put(u'number', (-var.get(u'string'))) + else: + var.put(u'number', (+var.get(u'string'))) + if var.get(u'isFinite')(var.get(u'number')).neg(): + var.get(u'error')(Js(u'Bad number')) + else: + return var.get(u'number') + PyJs_anonymous_3405_._set_name(u'anonymous') + var.put(u'number', PyJs_anonymous_3405_) + @Js + def PyJs_anonymous_3406_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'delim', u'uffff', u'hex', u'string']) + var.put(u'string', Js(u'')) + if (PyJsStrictEq(var.get(u'ch'),Js(u'"')) or PyJsStrictEq(var.get(u'ch'),Js(u"'"))): + var.put(u'delim', var.get(u'ch')) + while var.get(u'next')(): + if PyJsStrictEq(var.get(u'ch'),var.get(u'delim')): + var.get(u'next')() + return var.get(u'string') + else: + if PyJsStrictEq(var.get(u'ch'),Js(u'\\')): + var.get(u'next')() + if PyJsStrictEq(var.get(u'ch'),Js(u'u')): + var.put(u'uffff', Js(0.0)) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=Js(0.0)): + var.get(u'next')() + else: + return var.get('undefined') + PyJs_anonymous_3410_._set_name(u'anonymous') + var.put(u'white', PyJs_anonymous_3410_) + @Js + def PyJs_anonymous_3411_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + while 1: + SWITCHED = False + CONDITION = (var.get(u'ch')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u't')): + SWITCHED = True + var.get(u'next')(Js(u't')) + var.get(u'next')(Js(u'r')) + var.get(u'next')(Js(u'u')) + var.get(u'next')(Js(u'e')) + return var.get(u'true') + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'f')): + SWITCHED = True + var.get(u'next')(Js(u'f')) + var.get(u'next')(Js(u'a')) + var.get(u'next')(Js(u'l')) + var.get(u'next')(Js(u's')) + var.get(u'next')(Js(u'e')) + return Js(False) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'n')): + SWITCHED = True + var.get(u'next')(Js(u'n')) + var.get(u'next')(Js(u'u')) + var.get(u'next')(Js(u'l')) + var.get(u'next')(Js(u'l')) + return var.get(u"null") + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'I')): + SWITCHED = True + var.get(u'next')(Js(u'I')) + var.get(u'next')(Js(u'n')) + var.get(u'next')(Js(u'f')) + var.get(u'next')(Js(u'i')) + var.get(u'next')(Js(u'n')) + var.get(u'next')(Js(u'i')) + var.get(u'next')(Js(u't')) + var.get(u'next')(Js(u'y')) + return var.get(u'Infinity') + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'N')): + SWITCHED = True + var.get(u'next')(Js(u'N')) + var.get(u'next')(Js(u'a')) + var.get(u'next')(Js(u'N')) + return var.get(u'NaN') + SWITCHED = True + break + var.get(u'error')((Js(u'Unexpected ')+var.get(u'renderChar')(var.get(u'ch')))) + PyJs_anonymous_3411_._set_name(u'anonymous') + var.put(u'word', PyJs_anonymous_3411_) + @Js + def PyJs_anonymous_3412_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'array']) + var.put(u'array', Js([])) + if PyJsStrictEq(var.get(u'ch'),Js(u'[')): + var.get(u'next')(Js(u'[')) + var.get(u'white')() + while var.get(u'ch'): + if PyJsStrictEq(var.get(u'ch'),Js(u']')): + var.get(u'next')(Js(u']')) + return var.get(u'array') + if PyJsStrictEq(var.get(u'ch'),Js(u',')): + var.get(u'error')(Js(u'Missing array element')) + else: + var.get(u'array').callprop(u'push', var.get(u'value')()) + var.get(u'white')() + if PyJsStrictNeq(var.get(u'ch'),Js(u',')): + var.get(u'next')(Js(u']')) + return var.get(u'array') + var.get(u'next')(Js(u',')) + var.get(u'white')() + var.get(u'error')(Js(u'Bad array')) + PyJs_anonymous_3412_._set_name(u'anonymous') + var.put(u'array', PyJs_anonymous_3412_) + @Js + def PyJs_anonymous_3413_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'object', u'key']) + PyJs_Object_3414_ = Js({}) + var.put(u'object', PyJs_Object_3414_) + if PyJsStrictEq(var.get(u'ch'),Js(u'{')): + var.get(u'next')(Js(u'{')) + var.get(u'white')() + while var.get(u'ch'): + if PyJsStrictEq(var.get(u'ch'),Js(u'}')): + var.get(u'next')(Js(u'}')) + return var.get(u'object') + if (PyJsStrictEq(var.get(u'ch'),Js(u'"')) or PyJsStrictEq(var.get(u'ch'),Js(u"'"))): + var.put(u'key', var.get(u'string')()) + else: + var.put(u'key', var.get(u'identifier')()) + var.get(u'white')() + var.get(u'next')(Js(u':')) + var.get(u'object').put(var.get(u'key'), var.get(u'value')()) + var.get(u'white')() + if PyJsStrictNeq(var.get(u'ch'),Js(u',')): + var.get(u'next')(Js(u'}')) + return var.get(u'object') + var.get(u'next')(Js(u',')) + var.get(u'white')() + var.get(u'error')(Js(u'Bad object')) + PyJs_anonymous_3413_._set_name(u'anonymous') + var.put(u'object', PyJs_anonymous_3413_) + @Js + def PyJs_anonymous_3415_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'white')() + while 1: + SWITCHED = False + CONDITION = (var.get(u'ch')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'{')): + SWITCHED = True + return var.get(u'object')() + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'[')): + SWITCHED = True + return var.get(u'array')() + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'"')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u"'")): + SWITCHED = True + return var.get(u'string')() + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'-')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'+')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'.')): + SWITCHED = True + return var.get(u'number')() + if True: + SWITCHED = True + return (var.get(u'number')() if ((var.get(u'ch')>=Js(u'0')) and (var.get(u'ch')<=Js(u'9'))) else var.get(u'word')()) + SWITCHED = True + break + PyJs_anonymous_3415_._set_name(u'anonymous') + var.put(u'value', PyJs_anonymous_3415_) + @Js + def PyJs_anonymous_3416_(source, reviver, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'reviver':reviver, u'arguments':arguments}, var) + var.registers([u'source', u'reviver', u'result']) + pass + var.put(u'text', var.get(u'String')(var.get(u'source'))) + var.put(u'at', Js(0.0)) + var.put(u'lineNumber', Js(1.0)) + var.put(u'columnNumber', Js(1.0)) + var.put(u'ch', Js(u' ')) + var.put(u'result', var.get(u'value')()) + var.get(u'white')() + if var.get(u'ch'): + var.get(u'error')(Js(u'Syntax error')) + PyJs_Object_3417_ = Js({u'':var.get(u'result')}) + @Js + def PyJs_walk_3418_(holder, key, this, arguments, var=var): + var = Scope({u'this':this, u'holder':holder, u'arguments':arguments, u'key':key, u'walk':PyJs_walk_3418_}, var) + var.registers([u'k', u'holder', u'key', u'value', u'v']) + var.put(u'value', var.get(u'holder').get(var.get(u'key'))) + if (var.get(u'value') and PyJsStrictEq(var.get(u'value',throw=False).typeof(),Js(u'object'))): + for PyJsTemp in var.get(u'value'): + var.put(u'k', PyJsTemp) + if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'value'), var.get(u'k')): + var.put(u'v', var.get(u'walk')(var.get(u'value'), var.get(u'k'))) + if PyJsStrictNeq(var.get(u'v'),var.get(u'undefined')): + var.get(u'value').put(var.get(u'k'), var.get(u'v')) + else: + var.get(u'value').delete(var.get(u'k')) + return var.get(u'reviver').callprop(u'call', var.get(u'holder'), var.get(u'key'), var.get(u'value')) + PyJs_walk_3418_._set_name(u'walk') + return (PyJs_walk_3418_(PyJs_Object_3417_, Js(u'')) if PyJsStrictEq(var.get(u'reviver',throw=False).typeof(),Js(u'function')) else var.get(u'result')) + PyJs_anonymous_3416_._set_name(u'anonymous') + return PyJs_anonymous_3416_ + PyJs_anonymous_3398_._set_name(u'anonymous') + var.get(u'JSON5').put(u'parse', PyJs_anonymous_3398_()) + @Js + def PyJs_anonymous_3419_(obj, replacer, space, this, arguments, var=var): + var = Scope({u'this':this, u'replacer':replacer, u'obj':obj, u'arguments':arguments, u'space':space}, var) + var.registers([u'isArray', u'topLevelHolder', u'isDate', u'escapeString', u'space', u'internalStringify', u'objStack', u'replacer', u'escapable', u'cx', u'meta', u'checkForCircular', u'isWordChar', u'isWordStart', u'obj', u'makeIndent', u'indentStr', u'isWord', u'getReplacedValueOrUndefined']) + @Js + def PyJsHoisted_isArray_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + if var.get(u'Array').get(u'isArray'): + return var.get(u'Array').callprop(u'isArray', var.get(u'obj')) + else: + return PyJsStrictEq(var.get(u'Object').get(u'prototype').get(u'toString').callprop(u'call', var.get(u'obj')),Js(u'[object Array]')) + PyJsHoisted_isArray_.func_name = u'isArray' + var.put(u'isArray', PyJsHoisted_isArray_) + @Js + def PyJsHoisted_isDate_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + return PyJsStrictEq(var.get(u'Object').get(u'prototype').get(u'toString').callprop(u'call', var.get(u'obj')),Js(u'[object Date]')) + PyJsHoisted_isDate_.func_name = u'isDate' + var.put(u'isDate', PyJsHoisted_isDate_) + @Js + def PyJsHoisted_escapeString_(string, this, arguments, var=var): + var = Scope({u'this':this, u'string':string, u'arguments':arguments}, var) + var.registers([u'string']) + var.get(u'escapable').put(u'lastIndex', Js(0.0)) + @Js + def PyJs_anonymous_3422_(a, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'arguments':arguments}, var) + var.registers([u'a', u'c']) + var.put(u'c', var.get(u'meta').get(var.get(u'a'))) + return (var.get(u'c') if PyJsStrictEq(var.get(u'c',throw=False).typeof(),Js(u'string')) else (Js(u'\\u')+(Js(u'0000')+var.get(u'a').callprop(u'charCodeAt', Js(0.0)).callprop(u'toString', Js(16.0))).callprop(u'slice', (-Js(4.0))))) + PyJs_anonymous_3422_._set_name(u'anonymous') + return (((Js(u'"')+var.get(u'string').callprop(u'replace', var.get(u'escapable'), PyJs_anonymous_3422_))+Js(u'"')) if var.get(u'escapable').callprop(u'test', var.get(u'string')) else ((Js(u'"')+var.get(u'string'))+Js(u'"'))) + PyJsHoisted_escapeString_.func_name = u'escapeString' + var.put(u'escapeString', PyJsHoisted_escapeString_) + @Js + def PyJsHoisted_internalStringify_(holder, key, isTopLevel, this, arguments, var=var): + var = Scope({u'this':this, u'isTopLevel':isTopLevel, u'holder':holder, u'arguments':arguments, u'key':key}, var) + var.registers([u'i', u'buffer', u'res', u'value', u'prop', u'nonEmpty', u'key', u'isTopLevel', u'holder', u'obj_part']) + pass + var.put(u'obj_part', var.get(u'getReplacedValueOrUndefined')(var.get(u'holder'), var.get(u'key'), var.get(u'isTopLevel'))) + if (var.get(u'obj_part') and var.get(u'isDate')(var.get(u'obj_part')).neg()): + var.put(u'obj_part', var.get(u'obj_part').callprop(u'valueOf')) + while 1: + SWITCHED = False + CONDITION = (var.get(u'obj_part',throw=False).typeof()) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'boolean')): + SWITCHED = True + return var.get(u'obj_part').callprop(u'toString') + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'number')): + SWITCHED = True + if (var.get(u'isNaN')(var.get(u'obj_part')) or var.get(u'isFinite')(var.get(u'obj_part')).neg()): + return Js(u'null') + return var.get(u'obj_part').callprop(u'toString') + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'string')): + SWITCHED = True + return var.get(u'escapeString')(var.get(u'obj_part').callprop(u'toString')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'object')): + SWITCHED = True + if PyJsStrictEq(var.get(u'obj_part'),var.get(u"null")): + return Js(u'null') + else: + if var.get(u'isArray')(var.get(u'obj_part')): + var.get(u'checkForCircular')(var.get(u'obj_part')) + var.put(u'buffer', Js(u'[')) + var.get(u'objStack').callprop(u'push', var.get(u'obj_part')) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=Js(u'a')) and (var.get(u'c')<=Js(u'z'))) or ((var.get(u'c')>=Js(u'A')) and (var.get(u'c')<=Js(u'Z')))) or ((var.get(u'c')>=Js(u'0')) and (var.get(u'c')<=Js(u'9')))) or PyJsStrictEq(var.get(u'c'),Js(u'_'))) or PyJsStrictEq(var.get(u'c'),Js(u'$'))) + PyJsHoisted_isWordChar_.func_name = u'isWordChar' + var.put(u'isWordChar', PyJsHoisted_isWordChar_) + @Js + def PyJsHoisted_isWordStart_(c, this, arguments, var=var): + var = Scope({u'this':this, u'c':c, u'arguments':arguments}, var) + var.registers([u'c']) + return (((((var.get(u'c')>=Js(u'a')) and (var.get(u'c')<=Js(u'z'))) or ((var.get(u'c')>=Js(u'A')) and (var.get(u'c')<=Js(u'Z')))) or PyJsStrictEq(var.get(u'c'),Js(u'_'))) or PyJsStrictEq(var.get(u'c'),Js(u'$'))) + PyJsHoisted_isWordStart_.func_name = u'isWordStart' + var.put(u'isWordStart', PyJsHoisted_isWordStart_) + @Js + def PyJsHoisted_makeIndent_(str, num, noNewLine, this, arguments, var=var): + var = Scope({u'this':this, u'num':num, u'noNewLine':noNewLine, u'str':str, u'arguments':arguments}, var) + var.registers([u'i', u'num', u'indent', u'noNewLine', u'str']) + if var.get(u'str').neg(): + return Js(u'') + if (var.get(u'str').get(u'length')>Js(10.0)): + var.put(u'str', var.get(u'str').callprop(u'substring', Js(0.0), Js(10.0))) + var.put(u'indent', (Js(u'') if var.get(u'noNewLine') else Js(u'\n'))) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=Js(0.0))): + return var.get(u'value') + else: + return var.get(u'undefined') + else: + return var.get(u'value') + PyJs_anonymous_3420_._set_name(u'anonymous') + var.put(u'getReplacedValueOrUndefined', PyJs_anonymous_3420_) + pass + pass + pass + var.get(u'JSON5').put(u'isWord', var.get(u'isWord')) + pass + pass + var.put(u'objStack', Js([])) + pass + pass + pass + if var.get(u'space'): + if PyJsStrictEq(var.get(u'space',throw=False).typeof(),Js(u'string')): + var.put(u'indentStr', var.get(u'space')) + else: + if (PyJsStrictEq(var.get(u'space',throw=False).typeof(),Js(u'number')) and (var.get(u'space')>=Js(0.0))): + var.put(u'indentStr', var.get(u'makeIndent')(Js(u' '), var.get(u'space'), var.get(u'true'))) + else: + pass + var.put(u'cx', JsRegExp(u'/[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g')) + var.put(u'escapable', JsRegExp(u'/[\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g')) + PyJs_Object_3421_ = Js({u'\x08':Js(u'\\b'),u'\t':Js(u'\\t'),u'\n':Js(u'\\n'),u'\x0c':Js(u'\\f'),u'\r':Js(u'\\r'),u'"':Js(u'\\"'),u'\\':Js(u'\\\\')}) + var.put(u'meta', PyJs_Object_3421_) + pass + pass + PyJs_Object_3423_ = Js({u'':var.get(u'obj')}) + var.put(u'topLevelHolder', PyJs_Object_3423_) + if PyJsStrictEq(var.get(u'obj'),var.get(u'undefined')): + return var.get(u'getReplacedValueOrUndefined')(var.get(u'topLevelHolder'), Js(u''), var.get(u'true')) + return var.get(u'internalStringify')(var.get(u'topLevelHolder'), Js(u''), var.get(u'true')) + PyJs_anonymous_3419_._set_name(u'anonymous') + var.get(u'JSON5').put(u'stringify', PyJs_anonymous_3419_) +PyJs_anonymous_3396_._set_name(u'anonymous') +PyJs_Object_3424_ = Js({}) +@Js +def PyJs_anonymous_3425_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'DataView', u'module', u'getNative', u'root']) + var.put(u'getNative', var.get(u'require')(Js(u'./_getNative'))) + var.put(u'root', var.get(u'require')(Js(u'./_root'))) + var.put(u'DataView', var.get(u'getNative')(var.get(u'root'), Js(u'DataView'))) + var.get(u'module').put(u'exports', var.get(u'DataView')) +PyJs_anonymous_3425_._set_name(u'anonymous') +PyJs_Object_3426_ = Js({u'./_getNative':Js(382.0),u'./_root':Js(422.0)}) +@Js +def PyJs_anonymous_3427_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'hashGet', u'Hash', u'hashClear', u'hashSet', u'require', u'module', u'hashDelete', u'hashHas']) + @Js + def PyJsHoisted_Hash_(entries, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'entries':entries}, var) + var.registers([u'index', u'length', u'entries', u'entry']) + var.put(u'index', (-Js(1.0))) + var.put(u'length', (var.get(u'entries').get(u'length') if var.get(u'entries') else Js(0.0))) + var.get(u"this").callprop(u'clear') + while (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))(-Js(1.0)))) + PyJsHoisted_arrayIncludes_.func_name = u'arrayIncludes' + var.put(u'arrayIncludes', PyJsHoisted_arrayIncludes_) + var.put(u'baseIndexOf', var.get(u'require')(Js(u'./_baseIndexOf'))) + pass + var.get(u'module').put(u'exports', var.get(u'arrayIncludes')) +PyJs_anonymous_3459_._set_name(u'anonymous') +PyJs_Object_3460_ = Js({u'./_baseIndexOf':Js(325.0)}) +@Js +def PyJs_anonymous_3461_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'arrayIncludesWith', u'module']) + @Js + def PyJsHoisted_arrayIncludesWith_(array, value, comparator, this, arguments, var=var): + var = Scope({u'this':this, u'array':array, u'comparator':comparator, u'value':value, u'arguments':arguments}, var) + var.registers([u'index', u'length', u'array', u'value', u'comparator']) + var.put(u'index', (-Js(1.0))) + var.put(u'length', (var.get(u'array').get(u'length') if var.get(u'array') else Js(0.0))) + while (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))=var.get(u'lower')) else var.get(u'lower'))) + return var.get(u'number') + PyJsHoisted_baseClamp_.func_name = u'baseClamp' + var.put(u'baseClamp', PyJsHoisted_baseClamp_) + pass + var.get(u'module').put(u'exports', var.get(u'baseClamp')) +PyJs_anonymous_3481_._set_name(u'anonymous') +PyJs_Object_3482_ = Js({}) +@Js +def PyJs_anonymous_3483_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'genTag', u'arrayTag', u'initCloneObject', u'uint32Tag', u'arrayBufferTag', u'objectTag', u'dataViewTag', u'regexpTag', u'copyArray', u'int8Tag', u'uint16Tag', u'errorTag', u'float64Tag', u'isBuffer', u'baseClone', u'assignValue', u'mapTag', u'cloneableTags', u'boolTag', u'arrayEach', u'initCloneByTag', u'funcTag', u'getAllKeys', u'float32Tag', u'cloneBuffer', u'Stack', u'argsTag', u'isArray', u'exports', u'dateTag', u'int16Tag', u'copySymbols', u'keys', u'stringTag', u'numberTag', u'module', u'getTag', u'isObject', u'uint8Tag', u'initCloneArray', u'isHostObject', u'require', u'baseAssign', u'uint8ClampedTag', u'weakMapTag', u'setTag', u'int32Tag', u'symbolTag']) + @Js + def PyJsHoisted_baseClone_(value, isDeep, isFull, customizer, key, object, stack, this, arguments, var=var): + var = Scope({u'this':this, u'isFull':isFull, u'object':object, u'value':value, u'isDeep':isDeep, u'arguments':arguments, u'key':key, u'customizer':customizer, u'stack':stack}, var) + var.registers([u'stacked', u'isFull', u'object', u'isFunc', u'value', u'tag', u'isDeep', u'result', u'key', u'props', u'customizer', u'isArr', u'stack']) + pass + if var.get(u'customizer'): + var.put(u'result', (var.get(u'customizer')(var.get(u'value'), var.get(u'key'), var.get(u'object'), var.get(u'stack')) if var.get(u'object') else var.get(u'customizer')(var.get(u'value')))) + if PyJsStrictNeq(var.get(u'result'),var.get(u'undefined')): + return var.get(u'result') + if var.get(u'isObject')(var.get(u'value')).neg(): + return var.get(u'value') + var.put(u'isArr', var.get(u'isArray')(var.get(u'value'))) + if var.get(u'isArr'): + var.put(u'result', var.get(u'initCloneArray')(var.get(u'value'))) + if var.get(u'isDeep').neg(): + return var.get(u'copyArray')(var.get(u'value'), var.get(u'result')) + else: + var.put(u'tag', var.get(u'getTag')(var.get(u'value'))) + var.put(u'isFunc', ((var.get(u'tag')==var.get(u'funcTag')) or (var.get(u'tag')==var.get(u'genTag')))) + if var.get(u'isBuffer')(var.get(u'value')): + return var.get(u'cloneBuffer')(var.get(u'value'), var.get(u'isDeep')) + if (((var.get(u'tag')==var.get(u'objectTag')) or (var.get(u'tag')==var.get(u'argsTag'))) or (var.get(u'isFunc') and var.get(u'object').neg())): + if var.get(u'isHostObject')(var.get(u'value')): + PyJs_Object_3487_ = Js({}) + return (var.get(u'value') if var.get(u'object') else PyJs_Object_3487_) + PyJs_Object_3488_ = Js({}) + var.put(u'result', var.get(u'initCloneObject')((PyJs_Object_3488_ if var.get(u'isFunc') else var.get(u'value')))) + if var.get(u'isDeep').neg(): + return var.get(u'copySymbols')(var.get(u'value'), var.get(u'baseAssign')(var.get(u'result'), var.get(u'value'))) + else: + if var.get(u'cloneableTags').get(var.get(u'tag')).neg(): + PyJs_Object_3489_ = Js({}) + return (var.get(u'value') if var.get(u'object') else PyJs_Object_3489_) + var.put(u'result', var.get(u'initCloneByTag')(var.get(u'value'), var.get(u'tag'), var.get(u'baseClone'), var.get(u'isDeep'))) + (var.get(u'stack') or var.put(u'stack', var.get(u'Stack').create())) + var.put(u'stacked', var.get(u'stack').callprop(u'get', var.get(u'value'))) + if var.get(u'stacked'): + return var.get(u'stacked') + var.get(u'stack').callprop(u'set', var.get(u'value'), var.get(u'result')) + if var.get(u'isArr').neg(): + var.put(u'props', (var.get(u'getAllKeys')(var.get(u'value')) if var.get(u'isFull') else var.get(u'keys')(var.get(u'value')))) + @Js + def PyJs_anonymous_3490_(subValue, key, this, arguments, var=var): + var = Scope({u'this':this, u'subValue':subValue, u'arguments':arguments, u'key':key}, var) + var.registers([u'subValue', u'key']) + if var.get(u'props'): + var.put(u'key', var.get(u'subValue')) + var.put(u'subValue', var.get(u'value').get(var.get(u'key'))) + var.get(u'assignValue')(var.get(u'result'), var.get(u'key'), var.get(u'baseClone')(var.get(u'subValue'), var.get(u'isDeep'), var.get(u'isFull'), var.get(u'customizer'), var.get(u'key'), var.get(u'value'), var.get(u'stack'))) + PyJs_anonymous_3490_._set_name(u'anonymous') + var.get(u'arrayEach')((var.get(u'props') or var.get(u'value')), PyJs_anonymous_3490_) + return var.get(u'result') + PyJsHoisted_baseClone_.func_name = u'baseClone' + var.put(u'baseClone', PyJsHoisted_baseClone_) + var.put(u'Stack', var.get(u'require')(Js(u'./_Stack'))) + var.put(u'arrayEach', var.get(u'require')(Js(u'./_arrayEach'))) + var.put(u'assignValue', var.get(u'require')(Js(u'./_assignValue'))) + var.put(u'baseAssign', var.get(u'require')(Js(u'./_baseAssign'))) + var.put(u'cloneBuffer', var.get(u'require')(Js(u'./_cloneBuffer'))) + var.put(u'copyArray', var.get(u'require')(Js(u'./_copyArray'))) + var.put(u'copySymbols', var.get(u'require')(Js(u'./_copySymbols'))) + var.put(u'getAllKeys', var.get(u'require')(Js(u'./_getAllKeys'))) + var.put(u'getTag', var.get(u'require')(Js(u'./_getTag'))) + var.put(u'initCloneArray', var.get(u'require')(Js(u'./_initCloneArray'))) + var.put(u'initCloneByTag', var.get(u'require')(Js(u'./_initCloneByTag'))) + var.put(u'initCloneObject', var.get(u'require')(Js(u'./_initCloneObject'))) + var.put(u'isArray', var.get(u'require')(Js(u'./isArray'))) + var.put(u'isBuffer', var.get(u'require')(Js(u'./isBuffer'))) + var.put(u'isHostObject', var.get(u'require')(Js(u'./_isHostObject'))) + var.put(u'isObject', var.get(u'require')(Js(u'./isObject'))) + var.put(u'keys', var.get(u'require')(Js(u'./keys'))) + var.put(u'argsTag', Js(u'[object Arguments]')) + var.put(u'arrayTag', Js(u'[object Array]')) + var.put(u'boolTag', Js(u'[object Boolean]')) + var.put(u'dateTag', Js(u'[object Date]')) + var.put(u'errorTag', Js(u'[object Error]')) + var.put(u'funcTag', Js(u'[object Function]')) + var.put(u'genTag', Js(u'[object GeneratorFunction]')) + var.put(u'mapTag', Js(u'[object Map]')) + var.put(u'numberTag', Js(u'[object Number]')) + var.put(u'objectTag', Js(u'[object Object]')) + var.put(u'regexpTag', Js(u'[object RegExp]')) + var.put(u'setTag', Js(u'[object Set]')) + var.put(u'stringTag', Js(u'[object String]')) + var.put(u'symbolTag', Js(u'[object Symbol]')) + var.put(u'weakMapTag', Js(u'[object WeakMap]')) + var.put(u'arrayBufferTag', Js(u'[object ArrayBuffer]')) + var.put(u'dataViewTag', Js(u'[object DataView]')) + var.put(u'float32Tag', Js(u'[object Float32Array]')) + var.put(u'float64Tag', Js(u'[object Float64Array]')) + var.put(u'int8Tag', Js(u'[object Int8Array]')) + var.put(u'int16Tag', Js(u'[object Int16Array]')) + var.put(u'int32Tag', Js(u'[object Int32Array]')) + var.put(u'uint8Tag', Js(u'[object Uint8Array]')) + var.put(u'uint8ClampedTag', Js(u'[object Uint8ClampedArray]')) + var.put(u'uint16Tag', Js(u'[object Uint16Array]')) + var.put(u'uint32Tag', Js(u'[object Uint32Array]')) + PyJs_Object_3484_ = Js({}) + var.put(u'cloneableTags', PyJs_Object_3484_) + def PyJs_LONG_3486_(var=var): + def PyJs_LONG_3485_(var=var): + return var.get(u'cloneableTags').put(var.get(u'regexpTag'), var.get(u'cloneableTags').put(var.get(u'setTag'), var.get(u'cloneableTags').put(var.get(u'stringTag'), var.get(u'cloneableTags').put(var.get(u'symbolTag'), var.get(u'cloneableTags').put(var.get(u'uint8Tag'), var.get(u'cloneableTags').put(var.get(u'uint8ClampedTag'), var.get(u'cloneableTags').put(var.get(u'uint16Tag'), var.get(u'cloneableTags').put(var.get(u'uint32Tag'), var.get(u'true'))))))))) + return var.get(u'cloneableTags').put(var.get(u'float32Tag'), var.get(u'cloneableTags').put(var.get(u'float64Tag'), var.get(u'cloneableTags').put(var.get(u'int8Tag'), var.get(u'cloneableTags').put(var.get(u'int16Tag'), var.get(u'cloneableTags').put(var.get(u'int32Tag'), var.get(u'cloneableTags').put(var.get(u'mapTag'), var.get(u'cloneableTags').put(var.get(u'numberTag'), var.get(u'cloneableTags').put(var.get(u'objectTag'), PyJs_LONG_3485_())))))))) + var.get(u'cloneableTags').put(var.get(u'argsTag'), var.get(u'cloneableTags').put(var.get(u'arrayTag'), var.get(u'cloneableTags').put(var.get(u'arrayBufferTag'), var.get(u'cloneableTags').put(var.get(u'dataViewTag'), var.get(u'cloneableTags').put(var.get(u'boolTag'), var.get(u'cloneableTags').put(var.get(u'dateTag'), PyJs_LONG_3486_())))))) + var.get(u'cloneableTags').put(var.get(u'errorTag'), var.get(u'cloneableTags').put(var.get(u'funcTag'), var.get(u'cloneableTags').put(var.get(u'weakMapTag'), Js(False)))) + pass + var.get(u'module').put(u'exports', var.get(u'baseClone')) +PyJs_anonymous_3483_._set_name(u'anonymous') +PyJs_Object_3491_ = Js({u'./_Stack':Js(294.0),u'./_arrayEach':Js(301.0),u'./_assignValue':Js(310.0),u'./_baseAssign':Js(312.0),u'./_cloneBuffer':Js(357.0),u'./_copyArray':Js(366.0),u'./_copySymbols':Js(368.0),u'./_getAllKeys':Js(378.0),u'./_getTag':Js(385.0),u'./_initCloneArray':Js(395.0),u'./_initCloneByTag':Js(396.0),u'./_initCloneObject':Js(397.0),u'./_isHostObject':Js(400.0),u'./isArray':Js(458.0),u'./isBuffer':Js(462.0),u'./isObject':Js(467.0),u'./keys':Js(474.0)}) +@Js +def PyJs_anonymous_3492_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'objectCreate', u'require', u'module', u'baseCreate', u'isObject']) + @Js + def PyJsHoisted_baseCreate_(proto, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'proto':proto}, var) + var.registers([u'proto']) + PyJs_Object_3493_ = Js({}) + return (var.get(u'objectCreate')(var.get(u'proto')) if var.get(u'isObject')(var.get(u'proto')) else PyJs_Object_3493_) + PyJsHoisted_baseCreate_.func_name = u'baseCreate' + var.put(u'baseCreate', PyJsHoisted_baseCreate_) + var.put(u'isObject', var.get(u'require')(Js(u'./isObject'))) + var.put(u'objectCreate', var.get(u'Object').get(u'create')) + pass + var.get(u'module').put(u'exports', var.get(u'baseCreate')) +PyJs_anonymous_3492_._set_name(u'anonymous') +PyJs_Object_3494_ = Js({u'./isObject':Js(467.0)}) +@Js +def PyJs_anonymous_3495_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'baseEach', u'exports', u'baseForOwn', u'module', u'createBaseEach', u'require']) + var.put(u'baseForOwn', var.get(u'require')(Js(u'./_baseForOwn'))) + var.put(u'createBaseEach', var.get(u'require')(Js(u'./_createBaseEach'))) + var.put(u'baseEach', var.get(u'createBaseEach')(var.get(u'baseForOwn'))) + var.get(u'module').put(u'exports', var.get(u'baseEach')) +PyJs_anonymous_3495_._set_name(u'anonymous') +PyJs_Object_3496_ = Js({u'./_baseForOwn':Js(320.0),u'./_createBaseEach':Js(371.0)}) +@Js +def PyJs_anonymous_3497_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module', u'baseFindIndex']) + @Js + def PyJsHoisted_baseFindIndex_(array, predicate, fromIndex, fromRight, this, arguments, var=var): + var = Scope({u'predicate':predicate, u'arguments':arguments, u'this':this, u'array':array, u'fromIndex':fromIndex, u'fromRight':fromRight}, var) + var.registers([u'index', u'predicate', u'fromIndex', u'fromRight', u'length', u'array']) + var.put(u'length', var.get(u'array').get(u'length')) + var.put(u'index', (var.get(u'fromIndex')+(Js(1.0) if var.get(u'fromRight') else (-Js(1.0))))) + while ((var.put(u'index',Js(var.get(u'index').to_number())-Js(1))+Js(1)) if var.get(u'fromRight') else (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))Js(0.0)) and var.get(u'predicate')(var.get(u'value'))): + if (var.get(u'depth')>Js(1.0)): + var.get(u'baseFlatten')(var.get(u'value'), (var.get(u'depth')-Js(1.0)), var.get(u'predicate'), var.get(u'isStrict'), var.get(u'result')) + else: + var.get(u'arrayPush')(var.get(u'result'), var.get(u'value')) + else: + if var.get(u'isStrict').neg(): + var.get(u'result').put(var.get(u'result').get(u'length'), var.get(u'value')) + return var.get(u'result') + PyJsHoisted_baseFlatten_.func_name = u'baseFlatten' + var.put(u'baseFlatten', PyJsHoisted_baseFlatten_) + var.put(u'arrayPush', var.get(u'require')(Js(u'./_arrayPush'))) + var.put(u'isFlattenable', var.get(u'require')(Js(u'./_isFlattenable'))) + pass + var.get(u'module').put(u'exports', var.get(u'baseFlatten')) +PyJs_anonymous_3499_._set_name(u'anonymous') +PyJs_Object_3500_ = Js({u'./_arrayPush':Js(305.0),u'./_isFlattenable':Js(398.0)}) +@Js +def PyJs_anonymous_3501_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'createBaseFor', u'require', u'exports', u'module', u'baseFor']) + var.put(u'createBaseFor', var.get(u'require')(Js(u'./_createBaseFor'))) + var.put(u'baseFor', var.get(u'createBaseFor')()) + var.get(u'module').put(u'exports', var.get(u'baseFor')) +PyJs_anonymous_3501_._set_name(u'anonymous') +PyJs_Object_3502_ = Js({u'./_createBaseFor':Js(372.0)}) +@Js +def PyJs_anonymous_3503_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'baseFor', u'keys', u'baseForOwn', u'module', u'require']) + @Js + def PyJsHoisted_baseForOwn_(object, iteratee, this, arguments, var=var): + var = Scope({u'this':this, u'object':object, u'arguments':arguments, u'iteratee':iteratee}, var) + var.registers([u'object', u'iteratee']) + return (var.get(u'object') and var.get(u'baseFor')(var.get(u'object'), var.get(u'iteratee'), var.get(u'keys'))) + PyJsHoisted_baseForOwn_.func_name = u'baseForOwn' + var.put(u'baseForOwn', PyJsHoisted_baseForOwn_) + var.put(u'baseFor', var.get(u'require')(Js(u'./_baseFor'))) + var.put(u'keys', var.get(u'require')(Js(u'./keys'))) + pass + var.get(u'module').put(u'exports', var.get(u'baseForOwn')) +PyJs_anonymous_3503_._set_name(u'anonymous') +PyJs_Object_3504_ = Js({u'./_baseFor':Js(319.0),u'./keys':Js(474.0)}) +@Js +def PyJs_anonymous_3505_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'toKey', u'isKey', u'require', u'module', u'castPath', u'baseGet']) + @Js + def PyJsHoisted_baseGet_(object, path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'object':object, u'arguments':arguments}, var) + var.registers([u'index', u'length', u'object', u'path']) + var.put(u'path', (Js([var.get(u'path')]) if var.get(u'isKey')(var.get(u'path'), var.get(u'object')) else var.get(u'castPath')(var.get(u'path')))) + var.put(u'index', Js(0.0)) + var.put(u'length', var.get(u'path').get(u'length')) + while ((var.get(u'object')!=var.get(u"null")) and (var.get(u'index')(-Js(1.0))): + if PyJsStrictNeq(var.get(u'seen'),var.get(u'array')): + var.get(u'splice').callprop(u'call', var.get(u'seen'), var.get(u'fromIndex'), Js(1.0)) + var.get(u'splice').callprop(u'call', var.get(u'array'), var.get(u'fromIndex'), Js(1.0)) + return var.get(u'array') + PyJsHoisted_basePullAll_.func_name = u'basePullAll' + var.put(u'basePullAll', PyJsHoisted_basePullAll_) + var.put(u'arrayMap', var.get(u'require')(Js(u'./_arrayMap'))) + var.put(u'baseIndexOf', var.get(u'require')(Js(u'./_baseIndexOf'))) + var.put(u'baseIndexOfWith', var.get(u'require')(Js(u'./_baseIndexOfWith'))) + var.put(u'baseUnary', var.get(u'require')(Js(u'./_baseUnary'))) + var.put(u'copyArray', var.get(u'require')(Js(u'./_copyArray'))) + var.put(u'arrayProto', var.get(u'Array').get(u'prototype')) + var.put(u'splice', var.get(u'arrayProto').get(u'splice')) + pass + var.get(u'module').put(u'exports', var.get(u'basePullAll')) +PyJs_anonymous_3559_._set_name(u'anonymous') +PyJs_Object_3560_ = Js({u'./_arrayMap':Js(304.0),u'./_baseIndexOf':Js(325.0),u'./_baseIndexOfWith':Js(326.0),u'./_baseUnary':Js(348.0),u'./_copyArray':Js(366.0)}) +@Js +def PyJs_anonymous_3561_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'MAX_SAFE_INTEGER', u'exports', u'baseRepeat', u'require', u'module', u'nativeFloor']) + @Js + def PyJsHoisted_baseRepeat_(string, n, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'string':string, u'n':n}, var) + var.registers([u'n', u'result', u'string']) + var.put(u'result', Js(u'')) + if ((var.get(u'string').neg() or (var.get(u'n')var.get(u'MAX_SAFE_INTEGER'))): + return var.get(u'result') + while 1: + if (var.get(u'n')%Js(2.0)): + var.put(u'result', var.get(u'string'), u'+') + var.put(u'n', var.get(u'nativeFloor')((var.get(u'n')/Js(2.0)))) + if var.get(u'n'): + var.put(u'string', var.get(u'string'), u'+') + if not var.get(u'n'): + break + return var.get(u'result') + PyJsHoisted_baseRepeat_.func_name = u'baseRepeat' + var.put(u'baseRepeat', PyJsHoisted_baseRepeat_) + var.put(u'MAX_SAFE_INTEGER', Js(9007199254740991.0)) + var.put(u'nativeFloor', var.get(u'Math').get(u'floor')) + pass + var.get(u'module').put(u'exports', var.get(u'baseRepeat')) +PyJs_anonymous_3561_._set_name(u'anonymous') +PyJs_Object_3562_ = Js({}) +@Js +def PyJs_anonymous_3563_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'baseSlice', u'exports', u'require', u'module']) + @Js + def PyJsHoisted_baseSlice_(array, start, end, this, arguments, var=var): + var = Scope({u'this':this, u'start':start, u'array':array, u'end':end, u'arguments':arguments}, var) + var.registers([u'index', u'end', u'start', u'length', u'result', u'array']) + var.put(u'index', (-Js(1.0))) + var.put(u'length', var.get(u'array').get(u'length')) + if (var.get(u'start')var.get(u'length')) else (var.get(u'length')+var.get(u'start')))) + var.put(u'end', (var.get(u'length') if (var.get(u'end')>var.get(u'length')) else var.get(u'end'))) + if (var.get(u'end')var.get(u'end')) else PyJsBshift((var.get(u'end')-var.get(u'start')),Js(0.0)))) + var.put(u'start', Js(0.0), u'>>>') + var.put(u'result', var.get(u'Array')(var.get(u'length'))) + while (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))=var.get(u'LARGE_ARRAY_SIZE')): + var.put(u'set', (var.get(u"null") if var.get(u'iteratee') else var.get(u'createSet')(var.get(u'array')))) + if var.get(u'set'): + return var.get(u'setToArray')(var.get(u'set')) + var.put(u'isCommon', Js(False)) + var.put(u'includes', var.get(u'cacheHas')) + var.put(u'seen', var.get(u'SetCache').create()) + else: + var.put(u'seen', (Js([]) if var.get(u'iteratee') else var.get(u'result'))) + class JS_CONTINUE_LABEL_6f75746572(Exception): pass + class JS_BREAK_LABEL_6f75746572(Exception): pass + try: + while (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))=var.get(u'length'))) else var.get(u'baseSlice')(var.get(u'array'), var.get(u'start'), var.get(u'end'))) + PyJsHoisted_castSlice_.func_name = u'castSlice' + var.put(u'castSlice', PyJsHoisted_castSlice_) + var.put(u'baseSlice', var.get(u'require')(Js(u'./_baseSlice'))) + pass + var.get(u'module').put(u'exports', var.get(u'castSlice')) +PyJs_anonymous_3583_._set_name(u'anonymous') +PyJs_Object_3584_ = Js({u'./_baseSlice':Js(344.0)}) +@Js +def PyJs_anonymous_3585_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'baseIndexOf', u'require', u'exports', u'module', u'charsEndIndex']) + @Js + def PyJsHoisted_charsEndIndex_(strSymbols, chrSymbols, this, arguments, var=var): + var = Scope({u'this':this, u'chrSymbols':chrSymbols, u'arguments':arguments, u'strSymbols':strSymbols}, var) + var.registers([u'index', u'chrSymbols', u'strSymbols']) + var.put(u'index', var.get(u'strSymbols').get(u'length')) + while ((var.put(u'index',Js(var.get(u'index').to_number())-Js(1))+Js(1)) and (var.get(u'baseIndexOf')(var.get(u'chrSymbols'), var.get(u'strSymbols').get(var.get(u'index')), Js(0.0))>(-Js(1.0)))): + pass + return var.get(u'index') + PyJsHoisted_charsEndIndex_.func_name = u'charsEndIndex' + var.put(u'charsEndIndex', PyJsHoisted_charsEndIndex_) + var.put(u'baseIndexOf', var.get(u'require')(Js(u'./_baseIndexOf'))) + pass + var.get(u'module').put(u'exports', var.get(u'charsEndIndex')) +PyJs_anonymous_3585_._set_name(u'anonymous') +PyJs_Object_3586_ = Js({u'./_baseIndexOf':Js(325.0)}) +@Js +def PyJs_anonymous_3587_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module', u'checkGlobal']) + @Js + def PyJsHoisted_checkGlobal_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return (var.get(u'value') if (var.get(u'value') and PyJsStrictEq(var.get(u'value').get(u'Object'),var.get(u'Object'))) else var.get(u"null")) + PyJsHoisted_checkGlobal_.func_name = u'checkGlobal' + var.put(u'checkGlobal', PyJsHoisted_checkGlobal_) + pass + var.get(u'module').put(u'exports', var.get(u'checkGlobal')) +PyJs_anonymous_3587_._set_name(u'anonymous') +PyJs_Object_3588_ = Js({}) +@Js +def PyJs_anonymous_3589_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'cloneArrayBuffer', u'require', u'exports', u'Uint8Array', u'module']) + @Js + def PyJsHoisted_cloneArrayBuffer_(arrayBuffer, this, arguments, var=var): + var = Scope({u'this':this, u'arrayBuffer':arrayBuffer, u'arguments':arguments}, var) + var.registers([u'arrayBuffer', u'result']) + var.put(u'result', var.get(u'arrayBuffer').get(u'constructor').create(var.get(u'arrayBuffer').get(u'byteLength'))) + var.get(u'Uint8Array').create(var.get(u'result')).callprop(u'set', var.get(u'Uint8Array').create(var.get(u'arrayBuffer'))) + return var.get(u'result') + PyJsHoisted_cloneArrayBuffer_.func_name = u'cloneArrayBuffer' + var.put(u'cloneArrayBuffer', PyJsHoisted_cloneArrayBuffer_) + var.put(u'Uint8Array', var.get(u'require')(Js(u'./_Uint8Array'))) + pass + var.get(u'module').put(u'exports', var.get(u'cloneArrayBuffer')) +PyJs_anonymous_3589_._set_name(u'anonymous') +PyJs_Object_3590_ = Js({u'./_Uint8Array':Js(296.0)}) +@Js +def PyJs_anonymous_3591_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'cloneBuffer', u'exports', u'require', u'module']) + @Js + def PyJsHoisted_cloneBuffer_(buffer, isDeep, this, arguments, var=var): + var = Scope({u'buffer':buffer, u'this':this, u'isDeep':isDeep, u'arguments':arguments}, var) + var.registers([u'buffer', u'isDeep', u'result']) + if var.get(u'isDeep'): + return var.get(u'buffer').callprop(u'slice') + var.put(u'result', var.get(u'buffer').get(u'constructor').create(var.get(u'buffer').get(u'length'))) + var.get(u'buffer').callprop(u'copy', var.get(u'result')) + return var.get(u'result') + PyJsHoisted_cloneBuffer_.func_name = u'cloneBuffer' + var.put(u'cloneBuffer', PyJsHoisted_cloneBuffer_) + pass + var.get(u'module').put(u'exports', var.get(u'cloneBuffer')) +PyJs_anonymous_3591_._set_name(u'anonymous') +PyJs_Object_3592_ = Js({}) +@Js +def PyJs_anonymous_3593_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'cloneArrayBuffer', u'require', u'exports', u'cloneDataView', u'module']) + @Js + def PyJsHoisted_cloneDataView_(dataView, isDeep, this, arguments, var=var): + var = Scope({u'this':this, u'dataView':dataView, u'isDeep':isDeep, u'arguments':arguments}, var) + var.registers([u'buffer', u'dataView', u'isDeep']) + var.put(u'buffer', (var.get(u'cloneArrayBuffer')(var.get(u'dataView').get(u'buffer')) if var.get(u'isDeep') else var.get(u'dataView').get(u'buffer'))) + return var.get(u'dataView').get(u'constructor').create(var.get(u'buffer'), var.get(u'dataView').get(u'byteOffset'), var.get(u'dataView').get(u'byteLength')) + PyJsHoisted_cloneDataView_.func_name = u'cloneDataView' + var.put(u'cloneDataView', PyJsHoisted_cloneDataView_) + var.put(u'cloneArrayBuffer', var.get(u'require')(Js(u'./_cloneArrayBuffer'))) + pass + var.get(u'module').put(u'exports', var.get(u'cloneDataView')) +PyJs_anonymous_3593_._set_name(u'anonymous') +PyJs_Object_3594_ = Js({u'./_cloneArrayBuffer':Js(356.0)}) +@Js +def PyJs_anonymous_3595_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'addMapEntry', u'require', u'module', u'arrayReduce', u'mapToArray', u'cloneMap']) + @Js + def PyJsHoisted_cloneMap_(map, isDeep, cloneFunc, this, arguments, var=var): + var = Scope({u'this':this, u'map':map, u'isDeep':isDeep, u'arguments':arguments, u'cloneFunc':cloneFunc}, var) + var.registers([u'map', u'array', u'isDeep', u'cloneFunc']) + var.put(u'array', (var.get(u'cloneFunc')(var.get(u'mapToArray')(var.get(u'map')), var.get(u'true')) if var.get(u'isDeep') else var.get(u'mapToArray')(var.get(u'map')))) + return var.get(u'arrayReduce')(var.get(u'array'), var.get(u'addMapEntry'), var.get(u'map').get(u'constructor').create()) + PyJsHoisted_cloneMap_.func_name = u'cloneMap' + var.put(u'cloneMap', PyJsHoisted_cloneMap_) + var.put(u'addMapEntry', var.get(u'require')(Js(u'./_addMapEntry'))) + var.put(u'arrayReduce', var.get(u'require')(Js(u'./_arrayReduce'))) + var.put(u'mapToArray', var.get(u'require')(Js(u'./_mapToArray'))) + pass + var.get(u'module').put(u'exports', var.get(u'cloneMap')) +PyJs_anonymous_3595_._set_name(u'anonymous') +PyJs_Object_3596_ = Js({u'./_addMapEntry':Js(298.0),u'./_arrayReduce':Js(306.0),u'./_mapToArray':Js(419.0)}) +@Js +def PyJs_anonymous_3597_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'cloneRegExp', u'exports', u'module', u'reFlags']) + @Js + def PyJsHoisted_cloneRegExp_(regexp, this, arguments, var=var): + var = Scope({u'this':this, u'regexp':regexp, u'arguments':arguments}, var) + var.registers([u'regexp', u'result']) + var.put(u'result', var.get(u'regexp').get(u'constructor').create(var.get(u'regexp').get(u'source'), var.get(u'reFlags').callprop(u'exec', var.get(u'regexp')))) + var.get(u'result').put(u'lastIndex', var.get(u'regexp').get(u'lastIndex')) + return var.get(u'result') + PyJsHoisted_cloneRegExp_.func_name = u'cloneRegExp' + var.put(u'cloneRegExp', PyJsHoisted_cloneRegExp_) + var.put(u'reFlags', JsRegExp(u'/\\w*$/')) + pass + var.get(u'module').put(u'exports', var.get(u'cloneRegExp')) +PyJs_anonymous_3597_._set_name(u'anonymous') +PyJs_Object_3598_ = Js({}) +@Js +def PyJs_anonymous_3599_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'cloneSet', u'exports', u'require', u'setToArray', u'addSetEntry', u'module', u'arrayReduce']) + @Js + def PyJsHoisted_cloneSet_(set, isDeep, cloneFunc, this, arguments, var=var): + var = Scope({u'this':this, u'cloneFunc':cloneFunc, u'set':set, u'isDeep':isDeep, u'arguments':arguments}, var) + var.registers([u'cloneFunc', u'array', u'set', u'isDeep']) + var.put(u'array', (var.get(u'cloneFunc')(var.get(u'setToArray')(var.get(u'set')), var.get(u'true')) if var.get(u'isDeep') else var.get(u'setToArray')(var.get(u'set')))) + return var.get(u'arrayReduce')(var.get(u'array'), var.get(u'addSetEntry'), var.get(u'set').get(u'constructor').create()) + PyJsHoisted_cloneSet_.func_name = u'cloneSet' + var.put(u'cloneSet', PyJsHoisted_cloneSet_) + var.put(u'addSetEntry', var.get(u'require')(Js(u'./_addSetEntry'))) + var.put(u'arrayReduce', var.get(u'require')(Js(u'./_arrayReduce'))) + var.put(u'setToArray', var.get(u'require')(Js(u'./_setToArray'))) + pass + var.get(u'module').put(u'exports', var.get(u'cloneSet')) +PyJs_anonymous_3599_._set_name(u'anonymous') +PyJs_Object_3600_ = Js({u'./_addSetEntry':Js(299.0),u'./_arrayReduce':Js(306.0),u'./_setToArray':Js(425.0)}) +@Js +def PyJs_anonymous_3601_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'cloneSymbol', u'Symbol', u'symbolValueOf', u'module', u'symbolProto', u'require']) + @Js + def PyJsHoisted_cloneSymbol_(symbol, this, arguments, var=var): + var = Scope({u'this':this, u'symbol':symbol, u'arguments':arguments}, var) + var.registers([u'symbol']) + PyJs_Object_3602_ = Js({}) + return (var.get(u'Object')(var.get(u'symbolValueOf').callprop(u'call', var.get(u'symbol'))) if var.get(u'symbolValueOf') else PyJs_Object_3602_) + PyJsHoisted_cloneSymbol_.func_name = u'cloneSymbol' + var.put(u'cloneSymbol', PyJsHoisted_cloneSymbol_) + var.put(u'Symbol', var.get(u'require')(Js(u'./_Symbol'))) + var.put(u'symbolProto', (var.get(u'Symbol').get(u'prototype') if var.get(u'Symbol') else var.get(u'undefined'))) + var.put(u'symbolValueOf', (var.get(u'symbolProto').get(u'valueOf') if var.get(u'symbolProto') else var.get(u'undefined'))) + pass + var.get(u'module').put(u'exports', var.get(u'cloneSymbol')) +PyJs_anonymous_3601_._set_name(u'anonymous') +PyJs_Object_3603_ = Js({u'./_Symbol':Js(295.0)}) +@Js +def PyJs_anonymous_3604_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'cloneArrayBuffer', u'require', u'exports', u'module', u'cloneTypedArray']) + @Js + def PyJsHoisted_cloneTypedArray_(typedArray, isDeep, this, arguments, var=var): + var = Scope({u'this':this, u'typedArray':typedArray, u'isDeep':isDeep, u'arguments':arguments}, var) + var.registers([u'buffer', u'typedArray', u'isDeep']) + var.put(u'buffer', (var.get(u'cloneArrayBuffer')(var.get(u'typedArray').get(u'buffer')) if var.get(u'isDeep') else var.get(u'typedArray').get(u'buffer'))) + return var.get(u'typedArray').get(u'constructor').create(var.get(u'buffer'), var.get(u'typedArray').get(u'byteOffset'), var.get(u'typedArray').get(u'length')) + PyJsHoisted_cloneTypedArray_.func_name = u'cloneTypedArray' + var.put(u'cloneTypedArray', PyJsHoisted_cloneTypedArray_) + var.put(u'cloneArrayBuffer', var.get(u'require')(Js(u'./_cloneArrayBuffer'))) + pass + var.get(u'module').put(u'exports', var.get(u'cloneTypedArray')) +PyJs_anonymous_3604_._set_name(u'anonymous') +PyJs_Object_3605_ = Js({u'./_cloneArrayBuffer':Js(356.0)}) +@Js +def PyJs_anonymous_3606_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'compareAscending', u'require', u'isSymbol', u'exports', u'module']) + @Js + def PyJsHoisted_compareAscending_(value, other, this, arguments, var=var): + var = Scope({u'this':this, u'other':other, u'arguments':arguments, u'value':value}, var) + var.registers([u'valIsSymbol', u'valIsNull', u'value', u'valIsDefined', u'othIsNull', u'othIsReflexive', u'othIsSymbol', u'othIsDefined', u'other', u'valIsReflexive']) + if PyJsStrictNeq(var.get(u'value'),var.get(u'other')): + var.put(u'valIsDefined', PyJsStrictNeq(var.get(u'value'),var.get(u'undefined'))) + var.put(u'valIsNull', PyJsStrictEq(var.get(u'value'),var.get(u"null"))) + var.put(u'valIsReflexive', PyJsStrictEq(var.get(u'value'),var.get(u'value'))) + var.put(u'valIsSymbol', var.get(u'isSymbol')(var.get(u'value'))) + var.put(u'othIsDefined', PyJsStrictNeq(var.get(u'other'),var.get(u'undefined'))) + var.put(u'othIsNull', PyJsStrictEq(var.get(u'other'),var.get(u"null"))) + var.put(u'othIsReflexive', PyJsStrictEq(var.get(u'other'),var.get(u'other'))) + var.put(u'othIsSymbol', var.get(u'isSymbol')(var.get(u'other'))) + def PyJs_LONG_3607_(var=var): + return ((((((var.get(u'othIsNull').neg() and var.get(u'othIsSymbol').neg()) and var.get(u'valIsSymbol').neg()) and (var.get(u'value')>var.get(u'other'))) or ((((var.get(u'valIsSymbol') and var.get(u'othIsDefined')) and var.get(u'othIsReflexive')) and var.get(u'othIsNull').neg()) and var.get(u'othIsSymbol').neg())) or ((var.get(u'valIsNull') and var.get(u'othIsDefined')) and var.get(u'othIsReflexive'))) or (var.get(u'valIsDefined').neg() and var.get(u'othIsReflexive'))) + if (PyJs_LONG_3607_() or var.get(u'valIsReflexive').neg()): + return Js(1.0) + def PyJs_LONG_3608_(var=var): + return ((((((var.get(u'valIsNull').neg() and var.get(u'valIsSymbol').neg()) and var.get(u'othIsSymbol').neg()) and (var.get(u'value')=var.get(u'ordersLength')): + return var.get(u'result') + var.put(u'order', var.get(u'orders').get(var.get(u'index'))) + return (var.get(u'result')*((-Js(1.0)) if (var.get(u'order')==Js(u'desc')) else Js(1.0))) + return (var.get(u'object').get(u'index')-var.get(u'other').get(u'index')) + PyJsHoisted_compareMultiple_.func_name = u'compareMultiple' + var.put(u'compareMultiple', PyJsHoisted_compareMultiple_) + var.put(u'compareAscending', var.get(u'require')(Js(u'./_compareAscending'))) + pass + var.get(u'module').put(u'exports', var.get(u'compareMultiple')) +PyJs_anonymous_3610_._set_name(u'anonymous') +PyJs_Object_3611_ = Js({u'./_compareAscending':Js(364.0)}) +@Js +def PyJs_anonymous_3612_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'copyArray', u'exports', u'module']) + @Js + def PyJsHoisted_copyArray_(source, array, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'array':array, u'arguments':arguments}, var) + var.registers([u'index', u'length', u'array', u'source']) + var.put(u'index', (-Js(1.0))) + var.put(u'length', var.get(u'source').get(u'length')) + (var.get(u'array') or var.put(u'array', var.get(u'Array')(var.get(u'length')))) + while (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))Js(1.0)) else var.get(u'undefined'))) + var.put(u'guard', (var.get(u'sources').get(u'2') if (var.get(u'length')>Js(2.0)) else var.get(u'undefined'))) + var.put(u'customizer', (PyJsComma((var.put(u'length',Js(var.get(u'length').to_number())-Js(1))+Js(1)),var.get(u'customizer')) if ((var.get(u'assigner').get(u'length')>Js(3.0)) and (var.get(u'customizer',throw=False).typeof()==Js(u'function'))) else var.get(u'undefined'))) + if (var.get(u'guard') and var.get(u'isIterateeCall')(var.get(u'sources').get(u'0'), var.get(u'sources').get(u'1'), var.get(u'guard'))): + var.put(u'customizer', (var.get(u'undefined') if (var.get(u'length')(-Js(1.0))) else var.get(u'undefined')) + PyJs_anonymous_3631_._set_name(u'anonymous') + return PyJs_anonymous_3631_ + PyJsHoisted_createFind_.func_name = u'createFind' + var.put(u'createFind', PyJsHoisted_createFind_) + var.put(u'baseIteratee', var.get(u'require')(Js(u'./_baseIteratee'))) + var.put(u'isArrayLike', var.get(u'require')(Js(u'./isArrayLike'))) + var.put(u'keys', var.get(u'require')(Js(u'./keys'))) + pass + var.get(u'module').put(u'exports', var.get(u'createFind')) +PyJs_anonymous_3630_._set_name(u'anonymous') +PyJs_Object_3633_ = Js({u'./_baseIteratee':Js(331.0),u'./isArrayLike':Js(459.0),u'./keys':Js(474.0)}) +@Js +def PyJs_anonymous_3634_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'Set', u'INFINITY', u'require', u'setToArray', u'module', u'noop', u'createSet']) + var.put(u'Set', var.get(u'require')(Js(u'./_Set'))) + var.put(u'noop', var.get(u'require')(Js(u'./noop'))) + var.put(u'setToArray', var.get(u'require')(Js(u'./_setToArray'))) + var.put(u'INFINITY', (Js(1.0)/Js(0.0))) + @Js + def PyJs_anonymous_3635_(values, this, arguments, var=var): + var = Scope({u'this':this, u'values':values, u'arguments':arguments}, var) + var.registers([u'values']) + return var.get(u'Set').create(var.get(u'values')) + PyJs_anonymous_3635_._set_name(u'anonymous') + var.put(u'createSet', (var.get(u'noop') if (var.get(u'Set') and ((Js(1.0)/var.get(u'setToArray')(var.get(u'Set').create(Js([None, (-Js(0.0))]))).get(u'1'))==var.get(u'INFINITY'))).neg() else PyJs_anonymous_3635_)) + var.get(u'module').put(u'exports', var.get(u'createSet')) +PyJs_anonymous_3634_._set_name(u'anonymous') +PyJs_Object_3636_ = Js({u'./_Set':Js(292.0),u'./_setToArray':Js(425.0),u'./noop':Js(479.0)}) +@Js +def PyJs_anonymous_3637_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'PARTIAL_COMPARE_FLAG', u'exports', u'SetCache', u'arraySome', u'UNORDERED_COMPARE_FLAG', u'equalArrays', u'module', u'require']) + @Js + def PyJsHoisted_equalArrays_(array, other, equalFunc, customizer, bitmask, stack, this, arguments, var=var): + var = Scope({u'equalFunc':equalFunc, u'this':this, u'bitmask':bitmask, u'other':other, u'arguments':arguments, u'array':array, u'customizer':customizer, u'stack':stack}, var) + var.registers([u'index', u'compared', u'stacked', u'arrValue', u'equalFunc', u'othLength', u'stack', u'arrLength', u'isPartial', u'other', u'result', u'bitmask', u'seen', u'othValue', u'customizer', u'array']) + var.put(u'isPartial', (var.get(u'bitmask')&var.get(u'PARTIAL_COMPARE_FLAG'))) + var.put(u'arrLength', var.get(u'array').get(u'length')) + var.put(u'othLength', var.get(u'other').get(u'length')) + if ((var.get(u'arrLength')!=var.get(u'othLength')) and (var.get(u'isPartial') and (var.get(u'othLength')>var.get(u'arrLength'))).neg()): + return Js(False) + var.put(u'stacked', var.get(u'stack').callprop(u'get', var.get(u'array'))) + if var.get(u'stacked'): + return (var.get(u'stacked')==var.get(u'other')) + var.put(u'index', (-Js(1.0))) + var.put(u'result', var.get(u'true')) + var.put(u'seen', (var.get(u'SetCache').create() if (var.get(u'bitmask')&var.get(u'UNORDERED_COMPARE_FLAG')) else var.get(u'undefined'))) + var.get(u'stack').callprop(u'set', var.get(u'array'), var.get(u'other')) + while (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))(-Js(1.0))) and ((var.get(u'value')%Js(1.0))==Js(0.0))) and (var.get(u'value')(-Js(1.0))) + PyJsHoisted_listCacheHas_.func_name = u'listCacheHas' + var.put(u'listCacheHas', PyJsHoisted_listCacheHas_) + var.put(u'assocIndexOf', var.get(u'require')(Js(u'./_assocIndexOf'))) + pass + var.get(u'module').put(u'exports', var.get(u'listCacheHas')) +PyJs_anonymous_3718_._set_name(u'anonymous') +PyJs_Object_3719_ = Js({u'./_assocIndexOf':Js(311.0)}) +@Js +def PyJs_anonymous_3720_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'assocIndexOf', u'listCacheSet', u'exports', u'require', u'module']) + @Js + def PyJsHoisted_listCacheSet_(key, value, this, arguments, var=var): + var = Scope({u'this':this, u'value':value, u'key':key, u'arguments':arguments}, var) + var.registers([u'index', u'data', u'value', u'key']) + var.put(u'data', var.get(u"this").get(u'__data__')) + var.put(u'index', var.get(u'assocIndexOf')(var.get(u'data'), var.get(u'key'))) + if (var.get(u'index')(-Js(1.0)))) if var.get(u'isString')(var.get(u'collection')) else (var.get(u'length').neg().neg() and (var.get(u'baseIndexOf')(var.get(u'collection'), var.get(u'value'), var.get(u'fromIndex'))>(-Js(1.0))))) + PyJsHoisted_includes_.func_name = u'includes' + var.put(u'includes', PyJsHoisted_includes_) + var.put(u'baseIndexOf', var.get(u'require')(Js(u'./_baseIndexOf'))) + var.put(u'isArrayLike', var.get(u'require')(Js(u'./isArrayLike'))) + var.put(u'isString', var.get(u'require')(Js(u'./isString'))) + var.put(u'toInteger', var.get(u'require')(Js(u'./toInteger'))) + var.put(u'values', var.get(u'require')(Js(u'./values'))) + var.put(u'nativeMax', var.get(u'Math').get(u'max')) + pass + var.get(u'module').put(u'exports', var.get(u'includes')) +PyJs_anonymous_3820_._set_name(u'anonymous') +PyJs_Object_3821_ = Js({u'./_baseIndexOf':Js(325.0),u'./isArrayLike':Js(459.0),u'./isString':Js(471.0),u'./toInteger':Js(490.0),u'./values':Js(496.0)}) +@Js +def PyJs_anonymous_3822_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'propertyIsEnumerable', u'exports', u'objectToString', u'require', u'module', u'hasOwnProperty', u'isArrayLikeObject', u'objectProto', u'argsTag', u'isArguments']) + @Js + def PyJsHoisted_isArguments_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return ((var.get(u'isArrayLikeObject')(var.get(u'value')) and var.get(u'hasOwnProperty').callprop(u'call', var.get(u'value'), Js(u'callee'))) and (var.get(u'propertyIsEnumerable').callprop(u'call', var.get(u'value'), Js(u'callee')).neg() or (var.get(u'objectToString').callprop(u'call', var.get(u'value'))==var.get(u'argsTag')))) + PyJsHoisted_isArguments_.func_name = u'isArguments' + var.put(u'isArguments', PyJsHoisted_isArguments_) + var.put(u'isArrayLikeObject', var.get(u'require')(Js(u'./isArrayLikeObject'))) + var.put(u'argsTag', Js(u'[object Arguments]')) + var.put(u'objectProto', var.get(u'Object').get(u'prototype')) + var.put(u'hasOwnProperty', var.get(u'objectProto').get(u'hasOwnProperty')) + var.put(u'objectToString', var.get(u'objectProto').get(u'toString')) + var.put(u'propertyIsEnumerable', var.get(u'objectProto').get(u'propertyIsEnumerable')) + pass + var.get(u'module').put(u'exports', var.get(u'isArguments')) +PyJs_anonymous_3822_._set_name(u'anonymous') +PyJs_Object_3823_ = Js({u'./isArrayLikeObject':Js(460.0)}) +@Js +def PyJs_anonymous_3824_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'isArray', u'require', u'exports', u'module']) + var.put(u'isArray', var.get(u'Array').get(u'isArray')) + var.get(u'module').put(u'exports', var.get(u'isArray')) +PyJs_anonymous_3824_._set_name(u'anonymous') +PyJs_Object_3825_ = Js({}) +@Js +def PyJs_anonymous_3826_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'isLength', u'getLength', u'require', u'module', u'isArrayLike', u'isFunction']) + @Js + def PyJsHoisted_isArrayLike_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return (((var.get(u'value')!=var.get(u"null")) and var.get(u'isLength')(var.get(u'getLength')(var.get(u'value')))) and var.get(u'isFunction')(var.get(u'value')).neg()) + PyJsHoisted_isArrayLike_.func_name = u'isArrayLike' + var.put(u'isArrayLike', PyJsHoisted_isArrayLike_) + var.put(u'getLength', var.get(u'require')(Js(u'./_getLength'))) + var.put(u'isFunction', var.get(u'require')(Js(u'./isFunction'))) + var.put(u'isLength', var.get(u'require')(Js(u'./isLength'))) + pass + var.get(u'module').put(u'exports', var.get(u'isArrayLike')) +PyJs_anonymous_3826_._set_name(u'anonymous') +PyJs_Object_3827_ = Js({u'./_getLength':Js(379.0),u'./isFunction':Js(463.0),u'./isLength':Js(465.0)}) +@Js +def PyJs_anonymous_3828_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'isArrayLike', u'require', u'module', u'isArrayLikeObject', u'isObjectLike']) + @Js + def PyJsHoisted_isArrayLikeObject_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return (var.get(u'isObjectLike')(var.get(u'value')) and var.get(u'isArrayLike')(var.get(u'value'))) + PyJsHoisted_isArrayLikeObject_.func_name = u'isArrayLikeObject' + var.put(u'isArrayLikeObject', PyJsHoisted_isArrayLikeObject_) + var.put(u'isArrayLike', var.get(u'require')(Js(u'./isArrayLike'))) + var.put(u'isObjectLike', var.get(u'require')(Js(u'./isObjectLike'))) + pass + var.get(u'module').put(u'exports', var.get(u'isArrayLikeObject')) +PyJs_anonymous_3828_._set_name(u'anonymous') +PyJs_Object_3829_ = Js({u'./isArrayLike':Js(459.0),u'./isObjectLike':Js(468.0)}) +@Js +def PyJs_anonymous_3830_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'isBoolean', u'objectToString', u'require', u'boolTag', u'module', u'isObjectLike', u'objectProto']) + @Js + def PyJsHoisted_isBoolean_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return ((PyJsStrictEq(var.get(u'value'),var.get(u'true')) or PyJsStrictEq(var.get(u'value'),Js(False))) or (var.get(u'isObjectLike')(var.get(u'value')) and (var.get(u'objectToString').callprop(u'call', var.get(u'value'))==var.get(u'boolTag')))) + PyJsHoisted_isBoolean_.func_name = u'isBoolean' + var.put(u'isBoolean', PyJsHoisted_isBoolean_) + var.put(u'isObjectLike', var.get(u'require')(Js(u'./isObjectLike'))) + var.put(u'boolTag', Js(u'[object Boolean]')) + var.put(u'objectProto', var.get(u'Object').get(u'prototype')) + var.put(u'objectToString', var.get(u'objectProto').get(u'toString')) + pass + var.get(u'module').put(u'exports', var.get(u'isBoolean')) +PyJs_anonymous_3830_._set_name(u'anonymous') +PyJs_Object_3831_ = Js({u'./isObjectLike':Js(468.0)}) +@Js +def PyJs_anonymous_3832_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'freeModule', u'Buffer', u'root', u'require', u'freeExports', u'module', u'moduleExports', u'stubFalse', u'isBuffer']) + var.put(u'root', var.get(u'require')(Js(u'./_root'))) + var.put(u'stubFalse', var.get(u'require')(Js(u'./stubFalse'))) + var.put(u'freeExports', ((var.get(u'exports',throw=False).typeof()==Js(u'object')) and var.get(u'exports'))) + var.put(u'freeModule', ((var.get(u'freeExports') and (var.get(u'module',throw=False).typeof()==Js(u'object'))) and var.get(u'module'))) + var.put(u'moduleExports', (var.get(u'freeModule') and PyJsStrictEq(var.get(u'freeModule').get(u'exports'),var.get(u'freeExports')))) + var.put(u'Buffer', (var.get(u'root').get(u'Buffer') if var.get(u'moduleExports') else var.get(u'undefined'))) + @Js + def PyJs_anonymous_3833_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return var.get(u'value').instanceof(var.get(u'Buffer')) + PyJs_anonymous_3833_._set_name(u'anonymous') + var.put(u'isBuffer', (var.get(u'stubFalse') if var.get(u'Buffer').neg() else PyJs_anonymous_3833_)) + var.get(u'module').put(u'exports', var.get(u'isBuffer')) +PyJs_anonymous_3832_._set_name(u'anonymous') +PyJs_Object_3834_ = Js({u'./_root':Js(422.0),u'./stubFalse':Js(488.0)}) +@Js +def PyJs_anonymous_3835_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'genTag', u'exports', u'module', u'objectToString', u'require', u'isFunction', u'funcTag', u'objectProto', u'isObject']) + @Js + def PyJsHoisted_isFunction_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'tag', u'value']) + var.put(u'tag', (var.get(u'objectToString').callprop(u'call', var.get(u'value')) if var.get(u'isObject')(var.get(u'value')) else Js(u''))) + return ((var.get(u'tag')==var.get(u'funcTag')) or (var.get(u'tag')==var.get(u'genTag'))) + PyJsHoisted_isFunction_.func_name = u'isFunction' + var.put(u'isFunction', PyJsHoisted_isFunction_) + var.put(u'isObject', var.get(u'require')(Js(u'./isObject'))) + var.put(u'funcTag', Js(u'[object Function]')) + var.put(u'genTag', Js(u'[object GeneratorFunction]')) + var.put(u'objectProto', var.get(u'Object').get(u'prototype')) + var.put(u'objectToString', var.get(u'objectProto').get(u'toString')) + pass + var.get(u'module').put(u'exports', var.get(u'isFunction')) +PyJs_anonymous_3835_._set_name(u'anonymous') +PyJs_Object_3836_ = Js({u'./isObject':Js(467.0)}) +@Js +def PyJs_anonymous_3837_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'toInteger', u'exports', u'require', u'module', u'isInteger']) + @Js + def PyJsHoisted_isInteger_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return ((var.get(u'value',throw=False).typeof()==Js(u'number')) and (var.get(u'value')==var.get(u'toInteger')(var.get(u'value')))) + PyJsHoisted_isInteger_.func_name = u'isInteger' + var.put(u'isInteger', PyJsHoisted_isInteger_) + var.put(u'toInteger', var.get(u'require')(Js(u'./toInteger'))) + pass + var.get(u'module').put(u'exports', var.get(u'isInteger')) +PyJs_anonymous_3837_._set_name(u'anonymous') +PyJs_Object_3838_ = Js({u'./toInteger':Js(490.0)}) +@Js +def PyJs_anonymous_3839_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'MAX_SAFE_INTEGER', u'require', u'isLength', u'exports', u'module']) + @Js + def PyJsHoisted_isLength_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return ((((var.get(u'value',throw=False).typeof()==Js(u'number')) and (var.get(u'value')>(-Js(1.0)))) and ((var.get(u'value')%Js(1.0))==Js(0.0))) and (var.get(u'value')<=var.get(u'MAX_SAFE_INTEGER'))) + PyJsHoisted_isLength_.func_name = u'isLength' + var.put(u'isLength', PyJsHoisted_isLength_) + var.put(u'MAX_SAFE_INTEGER', Js(9007199254740991.0)) + pass + var.get(u'module').put(u'exports', var.get(u'isLength')) +PyJs_anonymous_3839_._set_name(u'anonymous') +PyJs_Object_3840_ = Js({}) +@Js +def PyJs_anonymous_3841_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'objectToString', u'require', u'module', u'numberTag', u'isObjectLike', u'objectProto', u'isNumber']) + @Js + def PyJsHoisted_isNumber_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return ((var.get(u'value',throw=False).typeof()==Js(u'number')) or (var.get(u'isObjectLike')(var.get(u'value')) and (var.get(u'objectToString').callprop(u'call', var.get(u'value'))==var.get(u'numberTag')))) + PyJsHoisted_isNumber_.func_name = u'isNumber' + var.put(u'isNumber', PyJsHoisted_isNumber_) + var.put(u'isObjectLike', var.get(u'require')(Js(u'./isObjectLike'))) + var.put(u'numberTag', Js(u'[object Number]')) + var.put(u'objectProto', var.get(u'Object').get(u'prototype')) + var.put(u'objectToString', var.get(u'objectProto').get(u'toString')) + pass + var.get(u'module').put(u'exports', var.get(u'isNumber')) +PyJs_anonymous_3841_._set_name(u'anonymous') +PyJs_Object_3842_ = Js({u'./isObjectLike':Js(468.0)}) +@Js +def PyJs_anonymous_3843_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'isObject', u'module']) + @Js + def PyJsHoisted_isObject_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'type', u'value']) + var.put(u'type', var.get(u'value',throw=False).typeof()) + return (var.get(u'value').neg().neg() and ((var.get(u'type')==Js(u'object')) or (var.get(u'type')==Js(u'function')))) + PyJsHoisted_isObject_.func_name = u'isObject' + var.put(u'isObject', PyJsHoisted_isObject_) + pass + var.get(u'module').put(u'exports', var.get(u'isObject')) +PyJs_anonymous_3843_._set_name(u'anonymous') +PyJs_Object_3844_ = Js({}) +@Js +def PyJs_anonymous_3845_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'isObjectLike', u'require', u'exports', u'module']) + @Js + def PyJsHoisted_isObjectLike_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return (var.get(u'value').neg().neg() and (var.get(u'value',throw=False).typeof()==Js(u'object'))) + PyJsHoisted_isObjectLike_.func_name = u'isObjectLike' + var.put(u'isObjectLike', PyJsHoisted_isObjectLike_) + pass + var.get(u'module').put(u'exports', var.get(u'isObjectLike')) +PyJs_anonymous_3845_._set_name(u'anonymous') +PyJs_Object_3846_ = Js({}) +@Js +def PyJs_anonymous_3847_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'isPlainObject', u'objectTag', u'funcToString', u'isHostObject', u'objectCtorString', u'require', u'objectToString', u'module', u'hasOwnProperty', u'isObjectLike', u'getPrototype', u'objectProto']) + @Js + def PyJsHoisted_isPlainObject_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value', u'Ctor', u'proto']) + if ((var.get(u'isObjectLike')(var.get(u'value')).neg() or (var.get(u'objectToString').callprop(u'call', var.get(u'value'))!=var.get(u'objectTag'))) or var.get(u'isHostObject')(var.get(u'value'))): + return Js(False) + var.put(u'proto', var.get(u'getPrototype')(var.get(u'value'))) + if PyJsStrictEq(var.get(u'proto'),var.get(u"null")): + return var.get(u'true') + var.put(u'Ctor', (var.get(u'hasOwnProperty').callprop(u'call', var.get(u'proto'), Js(u'constructor')) and var.get(u'proto').get(u'constructor'))) + return (((var.get(u'Ctor',throw=False).typeof()==Js(u'function')) and var.get(u'Ctor').instanceof(var.get(u'Ctor'))) and (var.get(u'funcToString').callprop(u'call', var.get(u'Ctor'))==var.get(u'objectCtorString'))) + PyJsHoisted_isPlainObject_.func_name = u'isPlainObject' + var.put(u'isPlainObject', PyJsHoisted_isPlainObject_) + var.put(u'getPrototype', var.get(u'require')(Js(u'./_getPrototype'))) + var.put(u'isHostObject', var.get(u'require')(Js(u'./_isHostObject'))) + var.put(u'isObjectLike', var.get(u'require')(Js(u'./isObjectLike'))) + var.put(u'objectTag', Js(u'[object Object]')) + var.put(u'objectProto', var.get(u'Object').get(u'prototype')) + var.put(u'funcToString', var.get(u'Function').get(u'prototype').get(u'toString')) + var.put(u'hasOwnProperty', var.get(u'objectProto').get(u'hasOwnProperty')) + var.put(u'objectCtorString', var.get(u'funcToString').callprop(u'call', var.get(u'Object'))) + var.put(u'objectToString', var.get(u'objectProto').get(u'toString')) + pass + var.get(u'module').put(u'exports', var.get(u'isPlainObject')) +PyJs_anonymous_3847_._set_name(u'anonymous') +PyJs_Object_3848_ = Js({u'./_getPrototype':Js(383.0),u'./_isHostObject':Js(400.0),u'./isObjectLike':Js(468.0)}) +@Js +def PyJs_anonymous_3849_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'regexpTag', u'exports', u'objectToString', u'require', u'module', u'objectProto', u'isObject', u'isRegExp']) + @Js + def PyJsHoisted_isRegExp_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return (var.get(u'isObject')(var.get(u'value')) and (var.get(u'objectToString').callprop(u'call', var.get(u'value'))==var.get(u'regexpTag'))) + PyJsHoisted_isRegExp_.func_name = u'isRegExp' + var.put(u'isRegExp', PyJsHoisted_isRegExp_) + var.put(u'isObject', var.get(u'require')(Js(u'./isObject'))) + var.put(u'regexpTag', Js(u'[object RegExp]')) + var.put(u'objectProto', var.get(u'Object').get(u'prototype')) + var.put(u'objectToString', var.get(u'objectProto').get(u'toString')) + pass + var.get(u'module').put(u'exports', var.get(u'isRegExp')) +PyJs_anonymous_3849_._set_name(u'anonymous') +PyJs_Object_3850_ = Js({u'./isObject':Js(467.0)}) +@Js +def PyJs_anonymous_3851_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'isArray', u'exports', u'isString', u'objectToString', u'require', u'stringTag', u'module', u'isObjectLike', u'objectProto']) + @Js + def PyJsHoisted_isString_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return ((var.get(u'value',throw=False).typeof()==Js(u'string')) or ((var.get(u'isArray')(var.get(u'value')).neg() and var.get(u'isObjectLike')(var.get(u'value'))) and (var.get(u'objectToString').callprop(u'call', var.get(u'value'))==var.get(u'stringTag')))) + PyJsHoisted_isString_.func_name = u'isString' + var.put(u'isString', PyJsHoisted_isString_) + var.put(u'isArray', var.get(u'require')(Js(u'./isArray'))) + var.put(u'isObjectLike', var.get(u'require')(Js(u'./isObjectLike'))) + var.put(u'stringTag', Js(u'[object String]')) + var.put(u'objectProto', var.get(u'Object').get(u'prototype')) + var.put(u'objectToString', var.get(u'objectProto').get(u'toString')) + pass + var.get(u'module').put(u'exports', var.get(u'isString')) +PyJs_anonymous_3851_._set_name(u'anonymous') +PyJs_Object_3852_ = Js({u'./isArray':Js(458.0),u'./isObjectLike':Js(468.0)}) +@Js +def PyJs_anonymous_3853_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'objectToString', u'require', u'module', u'isObjectLike', u'objectProto', u'isSymbol', u'symbolTag']) + @Js + def PyJsHoisted_isSymbol_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return ((var.get(u'value',throw=False).typeof()==Js(u'symbol')) or (var.get(u'isObjectLike')(var.get(u'value')) and (var.get(u'objectToString').callprop(u'call', var.get(u'value'))==var.get(u'symbolTag')))) + PyJsHoisted_isSymbol_.func_name = u'isSymbol' + var.put(u'isSymbol', PyJsHoisted_isSymbol_) + var.put(u'isObjectLike', var.get(u'require')(Js(u'./isObjectLike'))) + var.put(u'symbolTag', Js(u'[object Symbol]')) + var.put(u'objectProto', var.get(u'Object').get(u'prototype')) + var.put(u'objectToString', var.get(u'objectProto').get(u'toString')) + pass + var.get(u'module').put(u'exports', var.get(u'isSymbol')) +PyJs_anonymous_3853_._set_name(u'anonymous') +PyJs_Object_3854_ = Js({u'./isObjectLike':Js(468.0)}) +@Js +def PyJs_anonymous_3855_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'arrayTag', u'typedArrayTags', u'uint32Tag', u'arrayBufferTag', u'objectTag', u'dataViewTag', u'int8Tag', u'isObjectLike', u'errorTag', u'float64Tag', u'isLength', u'boolTag', u'funcTag', u'isTypedArray', u'float32Tag', u'argsTag', u'regexpTag', u'exports', u'dateTag', u'setTag', u'stringTag', u'int32Tag', u'module', u'mapTag', u'uint8Tag', u'require', u'objectToString', u'uint16Tag', u'weakMapTag', u'int16Tag', u'numberTag', u'objectProto', u'uint8ClampedTag']) + @Js + def PyJsHoisted_isTypedArray_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return ((var.get(u'isObjectLike')(var.get(u'value')) and var.get(u'isLength')(var.get(u'value').get(u'length'))) and var.get(u'typedArrayTags').get(var.get(u'objectToString').callprop(u'call', var.get(u'value'))).neg().neg()) + PyJsHoisted_isTypedArray_.func_name = u'isTypedArray' + var.put(u'isTypedArray', PyJsHoisted_isTypedArray_) + var.put(u'isLength', var.get(u'require')(Js(u'./isLength'))) + var.put(u'isObjectLike', var.get(u'require')(Js(u'./isObjectLike'))) + var.put(u'argsTag', Js(u'[object Arguments]')) + var.put(u'arrayTag', Js(u'[object Array]')) + var.put(u'boolTag', Js(u'[object Boolean]')) + var.put(u'dateTag', Js(u'[object Date]')) + var.put(u'errorTag', Js(u'[object Error]')) + var.put(u'funcTag', Js(u'[object Function]')) + var.put(u'mapTag', Js(u'[object Map]')) + var.put(u'numberTag', Js(u'[object Number]')) + var.put(u'objectTag', Js(u'[object Object]')) + var.put(u'regexpTag', Js(u'[object RegExp]')) + var.put(u'setTag', Js(u'[object Set]')) + var.put(u'stringTag', Js(u'[object String]')) + var.put(u'weakMapTag', Js(u'[object WeakMap]')) + var.put(u'arrayBufferTag', Js(u'[object ArrayBuffer]')) + var.put(u'dataViewTag', Js(u'[object DataView]')) + var.put(u'float32Tag', Js(u'[object Float32Array]')) + var.put(u'float64Tag', Js(u'[object Float64Array]')) + var.put(u'int8Tag', Js(u'[object Int8Array]')) + var.put(u'int16Tag', Js(u'[object Int16Array]')) + var.put(u'int32Tag', Js(u'[object Int32Array]')) + var.put(u'uint8Tag', Js(u'[object Uint8Array]')) + var.put(u'uint8ClampedTag', Js(u'[object Uint8ClampedArray]')) + var.put(u'uint16Tag', Js(u'[object Uint16Array]')) + var.put(u'uint32Tag', Js(u'[object Uint32Array]')) + PyJs_Object_3856_ = Js({}) + var.put(u'typedArrayTags', PyJs_Object_3856_) + def PyJs_LONG_3857_(var=var): + return var.get(u'typedArrayTags').put(var.get(u'int8Tag'), var.get(u'typedArrayTags').put(var.get(u'int16Tag'), var.get(u'typedArrayTags').put(var.get(u'int32Tag'), var.get(u'typedArrayTags').put(var.get(u'uint8Tag'), var.get(u'typedArrayTags').put(var.get(u'uint8ClampedTag'), var.get(u'typedArrayTags').put(var.get(u'uint16Tag'), var.get(u'typedArrayTags').put(var.get(u'uint32Tag'), var.get(u'true')))))))) + var.get(u'typedArrayTags').put(var.get(u'float32Tag'), var.get(u'typedArrayTags').put(var.get(u'float64Tag'), PyJs_LONG_3857_())) + def PyJs_LONG_3859_(var=var): + def PyJs_LONG_3858_(var=var): + return var.get(u'typedArrayTags').put(var.get(u'funcTag'), var.get(u'typedArrayTags').put(var.get(u'mapTag'), var.get(u'typedArrayTags').put(var.get(u'numberTag'), var.get(u'typedArrayTags').put(var.get(u'objectTag'), var.get(u'typedArrayTags').put(var.get(u'regexpTag'), var.get(u'typedArrayTags').put(var.get(u'setTag'), var.get(u'typedArrayTags').put(var.get(u'stringTag'), var.get(u'typedArrayTags').put(var.get(u'weakMapTag'), Js(False))))))))) + return var.get(u'typedArrayTags').put(var.get(u'argsTag'), var.get(u'typedArrayTags').put(var.get(u'arrayTag'), var.get(u'typedArrayTags').put(var.get(u'arrayBufferTag'), var.get(u'typedArrayTags').put(var.get(u'boolTag'), var.get(u'typedArrayTags').put(var.get(u'dataViewTag'), var.get(u'typedArrayTags').put(var.get(u'dateTag'), var.get(u'typedArrayTags').put(var.get(u'errorTag'), PyJs_LONG_3858_()))))))) + PyJs_LONG_3859_() + var.put(u'objectProto', var.get(u'Object').get(u'prototype')) + var.put(u'objectToString', var.get(u'objectProto').get(u'toString')) + pass + var.get(u'module').put(u'exports', var.get(u'isTypedArray')) +PyJs_anonymous_3855_._set_name(u'anonymous') +PyJs_Object_3860_ = Js({u'./isLength':Js(465.0),u'./isObjectLike':Js(468.0)}) +@Js +def PyJs_anonymous_3861_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'indexKeys', u'exports', u'baseHas', u'baseKeys', u'keys', u'isArrayLike', u'require', u'isIndex', u'module', u'isPrototype']) + @Js + def PyJsHoisted_keys_(object, this, arguments, var=var): + var = Scope({u'this':this, u'object':object, u'arguments':arguments}, var) + var.registers([u'skipIndexes', u'object', u'indexes', u'length', u'result', u'key', u'isProto']) + var.put(u'isProto', var.get(u'isPrototype')(var.get(u'object'))) + if (var.get(u'isProto') or var.get(u'isArrayLike')(var.get(u'object'))).neg(): + return var.get(u'baseKeys')(var.get(u'object')) + var.put(u'indexes', var.get(u'indexKeys')(var.get(u'object'))) + var.put(u'skipIndexes', var.get(u'indexes').neg().neg()) + var.put(u'result', (var.get(u'indexes') or Js([]))) + var.put(u'length', var.get(u'result').get(u'length')) + for PyJsTemp in var.get(u'object'): + var.put(u'key', PyJsTemp) + if ((var.get(u'baseHas')(var.get(u'object'), var.get(u'key')) and (var.get(u'skipIndexes') and ((var.get(u'key')==Js(u'length')) or var.get(u'isIndex')(var.get(u'key'), var.get(u'length')))).neg()) and (var.get(u'isProto') and (var.get(u'key')==Js(u'constructor'))).neg()): + var.get(u'result').callprop(u'push', var.get(u'key')) + return var.get(u'result') + PyJsHoisted_keys_.func_name = u'keys' + var.put(u'keys', PyJsHoisted_keys_) + var.put(u'baseHas', var.get(u'require')(Js(u'./_baseHas'))) + var.put(u'baseKeys', var.get(u'require')(Js(u'./_baseKeys'))) + var.put(u'indexKeys', var.get(u'require')(Js(u'./_indexKeys'))) + var.put(u'isArrayLike', var.get(u'require')(Js(u'./isArrayLike'))) + var.put(u'isIndex', var.get(u'require')(Js(u'./_isIndex'))) + var.put(u'isPrototype', var.get(u'require')(Js(u'./_isPrototype'))) + pass + var.get(u'module').put(u'exports', var.get(u'keys')) +PyJs_anonymous_3861_._set_name(u'anonymous') +PyJs_Object_3862_ = Js({u'./_baseHas':Js(323.0),u'./_baseKeys':Js(332.0),u'./_indexKeys':Js(393.0),u'./_isIndex':Js(401.0),u'./_isPrototype':Js(406.0),u'./isArrayLike':Js(459.0)}) +@Js +def PyJs_anonymous_3863_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'indexKeys', u'exports', u'baseKeysIn', u'require', u'isIndex', u'module', u'keysIn', u'isPrototype', u'hasOwnProperty', u'objectProto']) + @Js + def PyJsHoisted_keysIn_(object, this, arguments, var=var): + var = Scope({u'this':this, u'object':object, u'arguments':arguments}, var) + var.registers([u'skipIndexes', u'index', u'object', u'indexes', u'length', u'result', u'key', u'props', u'isProto', u'propsLength']) + var.put(u'index', (-Js(1.0))) + var.put(u'isProto', var.get(u'isPrototype')(var.get(u'object'))) + var.put(u'props', var.get(u'baseKeysIn')(var.get(u'object'))) + var.put(u'propsLength', var.get(u'props').get(u'length')) + var.put(u'indexes', var.get(u'indexKeys')(var.get(u'object'))) + var.put(u'skipIndexes', var.get(u'indexes').neg().neg()) + var.put(u'result', (var.get(u'indexes') or Js([]))) + var.put(u'length', var.get(u'result').get(u'length')) + while (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))Js(1.0)) and var.get(u'isIterateeCall')(var.get(u'collection'), var.get(u'iteratees').get(u'0'), var.get(u'iteratees').get(u'1'))): + var.put(u'iteratees', Js([])) + else: + if ((var.get(u'length')>Js(2.0)) and var.get(u'isIterateeCall')(var.get(u'iteratees').get(u'0'), var.get(u'iteratees').get(u'1'), var.get(u'iteratees').get(u'2'))): + var.put(u'iteratees', Js([var.get(u'iteratees').get(u'0')])) + var.put(u'iteratees', (var.get(u'iteratees').get(u'0') if ((var.get(u'iteratees').get(u'length')==Js(1.0)) and var.get(u'isArray')(var.get(u'iteratees').get(u'0'))) else var.get(u'baseFlatten')(var.get(u'iteratees'), Js(1.0), var.get(u'isFlattenableIteratee')))) + return var.get(u'baseOrderBy')(var.get(u'collection'), var.get(u'iteratees'), Js([])) + PyJs_anonymous_3887_._set_name(u'anonymous') + var.put(u'sortBy', var.get(u'rest')(PyJs_anonymous_3887_)) + var.get(u'module').put(u'exports', var.get(u'sortBy')) +PyJs_anonymous_3886_._set_name(u'anonymous') +PyJs_Object_3888_ = Js({u'./_baseFlatten':Js(318.0),u'./_baseOrderBy':Js(339.0),u'./_isFlattenableIteratee':Js(399.0),u'./_isIterateeCall':Js(402.0),u'./isArray':Js(458.0),u'./rest':Js(484.0)}) +@Js +def PyJs_anonymous_3889_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'startsWith', u'exports', u'toInteger', u'baseToString', u'baseClamp', u'module', u'toString', u'require']) + @Js + def PyJsHoisted_startsWith_(string, target, position, this, arguments, var=var): + var = Scope({u'this':this, u'position':position, u'string':string, u'arguments':arguments, u'target':target}, var) + var.registers([u'position', u'string', u'target']) + var.put(u'string', var.get(u'toString')(var.get(u'string'))) + var.put(u'position', var.get(u'baseClamp')(var.get(u'toInteger')(var.get(u'position')), Js(0.0), var.get(u'string').get(u'length'))) + return (var.get(u'string').callprop(u'lastIndexOf', var.get(u'baseToString')(var.get(u'target')), var.get(u'position'))==var.get(u'position')) + PyJsHoisted_startsWith_.func_name = u'startsWith' + var.put(u'startsWith', PyJsHoisted_startsWith_) + var.put(u'baseClamp', var.get(u'require')(Js(u'./_baseClamp'))) + var.put(u'baseToString', var.get(u'require')(Js(u'./_baseToString'))) + var.put(u'toInteger', var.get(u'require')(Js(u'./toInteger'))) + var.put(u'toString', var.get(u'require')(Js(u'./toString'))) + pass + var.get(u'module').put(u'exports', var.get(u'startsWith')) +PyJs_anonymous_3889_._set_name(u'anonymous') +PyJs_Object_3890_ = Js({u'./_baseClamp':Js(313.0),u'./_baseToString':Js(347.0),u'./toInteger':Js(490.0),u'./toString':Js(493.0)}) +@Js +def PyJs_anonymous_3891_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'stubArray', u'exports', u'require', u'module']) + @Js + def PyJsHoisted_stubArray_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return Js([]) + PyJsHoisted_stubArray_.func_name = u'stubArray' + var.put(u'stubArray', PyJsHoisted_stubArray_) + pass + var.get(u'module').put(u'exports', var.get(u'stubArray')) +PyJs_anonymous_3891_._set_name(u'anonymous') +PyJs_Object_3892_ = Js({}) +@Js +def PyJs_anonymous_3893_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'stubFalse', u'exports', u'module']) + @Js + def PyJsHoisted_stubFalse_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return Js(False) + PyJsHoisted_stubFalse_.func_name = u'stubFalse' + var.put(u'stubFalse', PyJsHoisted_stubFalse_) + pass + var.get(u'module').put(u'exports', var.get(u'stubFalse')) +PyJs_anonymous_3893_._set_name(u'anonymous') +PyJs_Object_3894_ = Js({}) +@Js +def PyJs_anonymous_3895_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'INFINITY', u'MAX_INTEGER', u'module', u'toNumber', u'toFinite', u'require']) + @Js + def PyJsHoisted_toFinite_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value', u'sign']) + if var.get(u'value').neg(): + return (var.get(u'value') if PyJsStrictEq(var.get(u'value'),Js(0.0)) else Js(0.0)) + var.put(u'value', var.get(u'toNumber')(var.get(u'value'))) + if (PyJsStrictEq(var.get(u'value'),var.get(u'INFINITY')) or PyJsStrictEq(var.get(u'value'),(-var.get(u'INFINITY')))): + var.put(u'sign', ((-Js(1.0)) if (var.get(u'value')Js(10000.0)): + return var.get('undefined') + var.put(u'match', JsRegExp(u'/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i').callprop(u'exec', var.get(u'str'))) + if var.get(u'match').neg(): + return var.get('undefined') + var.put(u'n', var.get(u'parseFloat')(var.get(u'match').get(u'1'))) + var.put(u'type', (var.get(u'match').get(u'2') or Js(u'ms')).callprop(u'toLowerCase')) + while 1: + SWITCHED = False + CONDITION = (var.get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'years')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'year')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'yrs')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'yr')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'y')): + SWITCHED = True + return (var.get(u'n')*var.get(u'y')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'days')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'day')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'd')): + SWITCHED = True + return (var.get(u'n')*var.get(u'd')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'hours')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'hour')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'hrs')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'hr')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'h')): + SWITCHED = True + return (var.get(u'n')*var.get(u'h')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'minutes')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'minute')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'mins')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'min')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'm')): + SWITCHED = True + return (var.get(u'n')*var.get(u'm')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'seconds')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'second')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'secs')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'sec')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u's')): + SWITCHED = True + return (var.get(u'n')*var.get(u's')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'milliseconds')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'millisecond')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'msecs')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'msec')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ms')): + SWITCHED = True + return var.get(u'n') + SWITCHED = True + break + PyJsHoisted_parse_.func_name = u'parse' + var.put(u'parse', PyJsHoisted_parse_) + @Js + def PyJsHoisted_short_(ms, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'ms':ms}, var) + var.registers([u'ms']) + if (var.get(u'ms')>=var.get(u'd')): + return (var.get(u'Math').callprop(u'round', (var.get(u'ms')/var.get(u'd')))+Js(u'd')) + if (var.get(u'ms')>=var.get(u'h')): + return (var.get(u'Math').callprop(u'round', (var.get(u'ms')/var.get(u'h')))+Js(u'h')) + if (var.get(u'ms')>=var.get(u'm')): + return (var.get(u'Math').callprop(u'round', (var.get(u'ms')/var.get(u'm')))+Js(u'm')) + if (var.get(u'ms')>=var.get(u's')): + return (var.get(u'Math').callprop(u'round', (var.get(u'ms')/var.get(u's')))+Js(u's')) + return (var.get(u'ms')+Js(u'ms')) + PyJsHoisted_short_.func_name = u'short' + var.put(u'short', PyJsHoisted_short_) + @Js + def PyJsHoisted_plural_(ms, n, name, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'name':name, u'ms':ms, u'n':n}, var) + var.registers([u'name', u'ms', u'n']) + if (var.get(u'ms')var.get(u'dst')): + var.get(u'names').put(var.get(u'dst'), var.get(u'names').get(var.get(u'src'))) + var.put(u'dst',Js(var.get(u'dst').to_number())+Js(1)) + finally: + var.put(u'src',Js(var.get(u'src').to_number())+Js(1)) + var.get(u'names').put(u'length', var.get(u'dst')) + return var.get(u'names') + PyJs_getOwnPropertyNames_3925_._set_name(u'getOwnPropertyNames') + var.get(u'Object').put(u'getOwnPropertyNames', PyJs_getOwnPropertyNames_3925_) + pass + pass + var.get(u'defProp')(var.get(u'exports'), Js(u'makeAccessor'), var.get(u'makeAccessor')) +PyJs_anonymous_3921_._set_name(u'anonymous') +PyJs_Object_3927_ = Js({}) +@Js +def PyJs_anonymous_3928_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_3929_ = Js({}) + @Js + def PyJs_anonymous_3930_(PyJsArg_676c6f62616c_, this, arguments, var=var): + var = Scope({u'this':this, u'global':PyJsArg_676c6f62616c_, u'arguments':arguments}, var) + var.registers([u'global']) + pass + @Js + def PyJs_anonymous_3931_(root, this, arguments, var=var): + var = Scope({u'this':this, u'root':root, u'arguments':arguments}, var) + var.registers([u'dataIsEmpty', u'zeroes', u'codePointToString', u'freeModule', u'HIGH_SURROGATE_MIN', u'dataRemove', u'freeExports', u'splitAtBMP', u'dataIntersection', u'lowSurrogate', u'dataContains', u'dataFromCodePoints', u'dataAddData', u'createBMPCharacterClasses', u'createSurrogateCharacterClasses', u'createUnicodeCharacterClasses', u'ERRORS', u'dataToArray', u'floor', u'regenerate', u'hex', u'surrogateSet', u'optimizeByLowSurrogates', u'stringFromCharCode', u'toString', u'dataRemoveData', u'freeGlobal', u'pad', u'LOW_SURROGATE_MAX', u'isArray', u'HIGH_SURROGATE_MAX', u'extend', u'symbolToCodePoint', u'object', u'createCharacterClassesFromData', u'LOW_SURROGATE_MIN', u'slice', u'hasOwnProperty', u'dataRemoveRange', u'isNumber', u'dataAdd', u'highSurrogate', u'codePointToStringUnicode', u'proto', u'dataAddRange', u'regexNull', u'dataIsSingleton', u'root', u'optimizeSurrogateMappings', u'forEach']) + var.put(u'freeExports', ((var.get(u'exports',throw=False).typeof()==Js(u'object')) and var.get(u'exports'))) + var.put(u'freeModule', ((((var.get(u'module',throw=False).typeof()==Js(u'object')) and var.get(u'module')) and (var.get(u'module').get(u'exports')==var.get(u'freeExports'))) and var.get(u'module'))) + var.put(u'freeGlobal', ((var.get(u'global',throw=False).typeof()==Js(u'object')) and var.get(u'global'))) + if (PyJsStrictEq(var.get(u'freeGlobal').get(u'global'),var.get(u'freeGlobal')) or PyJsStrictEq(var.get(u'freeGlobal').get(u'window'),var.get(u'freeGlobal'))): + var.put(u'root', var.get(u'freeGlobal')) + PyJs_Object_3932_ = Js({u'rangeOrder':(Js(u'A range\u2019s `stop` value must be greater than or equal ')+Js(u'to the `start` value.')),u'codePointRange':(Js(u'Invalid code point value. Code points range from ')+Js(u'U+000000 to U+10FFFF.'))}) + var.put(u'ERRORS', PyJs_Object_3932_) + var.put(u'HIGH_SURROGATE_MIN', Js(55296)) + var.put(u'HIGH_SURROGATE_MAX', Js(56319)) + var.put(u'LOW_SURROGATE_MIN', Js(56320)) + var.put(u'LOW_SURROGATE_MAX', Js(57343)) + var.put(u'regexNull', JsRegExp(u'/\\\\x00([^0123456789]|$)/g')) + PyJs_Object_3933_ = Js({}) + var.put(u'object', PyJs_Object_3933_) + var.put(u'hasOwnProperty', var.get(u'object').get(u'hasOwnProperty')) + @Js + def PyJs_anonymous_3934_(destination, source, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'destination':destination, u'arguments':arguments}, var) + var.registers([u'source', u'destination', u'key']) + pass + for PyJsTemp in var.get(u'source'): + var.put(u'key', PyJsTemp) + if var.get(u'hasOwnProperty').callprop(u'call', var.get(u'source'), var.get(u'key')): + var.get(u'destination').put(var.get(u'key'), var.get(u'source').get(var.get(u'key'))) + return var.get(u'destination') + PyJs_anonymous_3934_._set_name(u'anonymous') + var.put(u'extend', PyJs_anonymous_3934_) + @Js + def PyJs_anonymous_3935_(array, callback, this, arguments, var=var): + var = Scope({u'this':this, u'callback':callback, u'array':array, u'arguments':arguments}, var) + var.registers([u'index', u'length', u'array', u'callback']) + var.put(u'index', (-Js(1.0))) + var.put(u'length', var.get(u'array').get(u'length')) + while (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))=var.get(u'start')) and (var.get(u'codePoint')var.get(u'rangeEnd')): + return var.get(u'data') + if ((var.get(u'rangeStart')<=var.get(u'start')) and (var.get(u'rangeEnd')>=var.get(u'end'))): + var.get(u'data').callprop(u'splice', var.get(u'index'), Js(2.0)) + continue + if ((var.get(u'rangeStart')>=var.get(u'start')) and (var.get(u'rangeEnd')=var.get(u'start')) and (var.get(u'rangeStart')<=var.get(u'end'))): + var.get(u'data').put((var.get(u'index')+Js(1.0)), var.get(u'rangeStart')) + else: + if ((var.get(u'rangeEnd')>=var.get(u'start')) and (var.get(u'rangeEnd')<=var.get(u'end'))): + var.get(u'data').put(var.get(u'index'), (var.get(u'rangeEnd')+Js(1.0))) + return var.get(u'data') + var.put(u'index', Js(2.0), u'+') + return var.get(u'data') + PyJs_anonymous_3942_._set_name(u'anonymous') + var.put(u'dataRemoveRange', PyJs_anonymous_3942_) + @Js + def PyJs_anonymous_3943_(data, codePoint, this, arguments, var=var): + var = Scope({u'this':this, u'codePoint':codePoint, u'data':data, u'arguments':arguments}, var) + var.registers([u'index', u'codePoint', u'end', u'lastIndex', u'start', u'length', u'data']) + var.put(u'index', Js(0.0)) + pass + pass + var.put(u'lastIndex', var.get(u"null")) + var.put(u'length', var.get(u'data').get(u'length')) + if ((var.get(u'codePoint')Js(1114111))): + PyJsTempException = JsToPyException(var.get(u'RangeError')(var.get(u'ERRORS').get(u'codePointRange'))) + raise PyJsTempException + while (var.get(u'index')=var.get(u'start')) and (var.get(u'codePoint')var.get(u'codePoint')): + var.get(u'data').callprop(u'splice', ((var.get(u'lastIndex')+Js(2.0)) if (var.get(u'lastIndex')!=var.get(u"null")) else Js(0.0)), Js(0.0), var.get(u'codePoint'), (var.get(u'codePoint')+Js(1.0))) + return var.get(u'data') + if (var.get(u'codePoint')==var.get(u'end')): + if ((var.get(u'codePoint')+Js(1.0))==var.get(u'data').get((var.get(u'index')+Js(2.0)))): + var.get(u'data').callprop(u'splice', var.get(u'index'), Js(4.0), var.get(u'start'), var.get(u'data').get((var.get(u'index')+Js(3.0)))) + return var.get(u'data') + var.get(u'data').put((var.get(u'index')+Js(1.0)), (var.get(u'codePoint')+Js(1.0))) + return var.get(u'data') + var.put(u'lastIndex', var.get(u'index')) + var.put(u'index', Js(2.0), u'+') + var.get(u'data').callprop(u'push', var.get(u'codePoint'), (var.get(u'codePoint')+Js(1.0))) + return var.get(u'data') + PyJs_anonymous_3943_._set_name(u'anonymous') + var.put(u'dataAdd', PyJs_anonymous_3943_) + @Js + def PyJs_anonymous_3944_(dataA, dataB, this, arguments, var=var): + var = Scope({u'this':this, u'dataA':dataA, u'arguments':arguments, u'dataB':dataB}, var) + var.registers([u'index', u'end', u'dataA', u'dataB', u'start', u'length', u'data']) + var.put(u'index', Js(0.0)) + pass + pass + var.put(u'data', var.get(u'dataA').callprop(u'slice')) + var.put(u'length', var.get(u'dataB').get(u'length')) + while (var.get(u'index')Js(1114111))) or (var.get(u'rangeEnd')Js(1114111))): + PyJsTempException = JsToPyException(var.get(u'RangeError')(var.get(u'ERRORS').get(u'codePointRange'))) + raise PyJsTempException + var.put(u'index', Js(0.0)) + pass + pass + var.put(u'added', Js(False)) + var.put(u'length', var.get(u'data').get(u'length')) + while (var.get(u'index')var.get(u'rangeEnd')): + return var.get(u'data') + if ((var.get(u'start')>=var.get(u'rangeStart')) and (var.get(u'start')<=var.get(u'rangeEnd'))): + if ((var.get(u'end')>var.get(u'rangeStart')) and ((var.get(u'end')-Js(1.0))<=var.get(u'rangeEnd'))): + var.get(u'data').callprop(u'splice', var.get(u'index'), Js(2.0)) + var.put(u'index', Js(2.0), u'-') + else: + var.get(u'data').callprop(u'splice', (var.get(u'index')-Js(1.0)), Js(2.0)) + var.put(u'index', Js(2.0), u'-') + else: + if (var.get(u'start')==(var.get(u'rangeEnd')+Js(1.0))): + var.get(u'data').put(var.get(u'index'), var.get(u'rangeStart')) + return var.get(u'data') + else: + if (var.get(u'start')>var.get(u'rangeEnd')): + var.get(u'data').callprop(u'splice', var.get(u'index'), Js(0.0), var.get(u'rangeStart'), (var.get(u'rangeEnd')+Js(1.0))) + return var.get(u'data') + else: + if (((var.get(u'rangeStart')>=var.get(u'start')) and (var.get(u'rangeStart')=var.get(u'start')) and (var.get(u'rangeStart')=var.get(u'end'))): + var.get(u'data').put(var.get(u'index'), var.get(u'rangeStart')) + var.get(u'data').put((var.get(u'index')+Js(1.0)), (var.get(u'rangeEnd')+Js(1.0))) + var.put(u'added', var.get(u'true')) + var.put(u'index', Js(2.0), u'+') + if var.get(u'added').neg(): + var.get(u'data').callprop(u'push', var.get(u'rangeStart'), (var.get(u'rangeEnd')+Js(1.0))) + return var.get(u'data') + PyJs_anonymous_3946_._set_name(u'anonymous') + var.put(u'dataAddRange', PyJs_anonymous_3946_) + @Js + def PyJs_anonymous_3947_(data, codePoint, this, arguments, var=var): + var = Scope({u'this':this, u'codePoint':codePoint, u'data':data, u'arguments':arguments}, var) + var.registers([u'index', u'codePoint', u'end', u'start', u'length', u'data']) + var.put(u'index', Js(0.0)) + var.put(u'length', var.get(u'data').get(u'length')) + var.put(u'start', var.get(u'data').get(var.get(u'index'))) + var.put(u'end', var.get(u'data').get((var.get(u'length')-Js(1.0)))) + if (var.get(u'length')>=Js(2.0)): + if ((var.get(u'codePoint')var.get(u'end'))): + return Js(False) + while (var.get(u'index')=var.get(u'start')) and (var.get(u'codePoint')=Js(40)) and (var.get(u'codePoint')<=Js(43)))) or (var.get(u'codePoint')==Js(45))) or (var.get(u'codePoint')==Js(46))) or (var.get(u'codePoint')==Js(63))) or ((var.get(u'codePoint')>=Js(91)) and (var.get(u'codePoint')<=Js(94)))) or ((var.get(u'codePoint')>=Js(123)) and (var.get(u'codePoint')<=Js(125)))): + var.put(u'string', (Js(u'\\')+var.get(u'stringFromCharCode')(var.get(u'codePoint')))) + else: + if ((var.get(u'codePoint')>=Js(32)) and (var.get(u'codePoint')<=Js(126))): + var.put(u'string', var.get(u'stringFromCharCode')(var.get(u'codePoint'))) + else: + if (var.get(u'codePoint')<=Js(255)): + var.put(u'string', (Js(u'\\x')+var.get(u'pad')(var.get(u'hex')(var.get(u'codePoint')), Js(2.0)))) + else: + var.put(u'string', (Js(u'\\u')+var.get(u'pad')(var.get(u'hex')(var.get(u'codePoint')), Js(4.0)))) + return var.get(u'string') + PyJs_anonymous_3954_._set_name(u'anonymous') + var.put(u'codePointToString', PyJs_anonymous_3954_) + @Js + def PyJs_anonymous_3955_(codePoint, this, arguments, var=var): + var = Scope({u'this':this, u'codePoint':codePoint, u'arguments':arguments}, var) + var.registers([u'codePoint']) + if (var.get(u'codePoint')<=Js(65535)): + return var.get(u'codePointToString')(var.get(u'codePoint')) + return ((Js(u'\\u{')+var.get(u'codePoint').callprop(u'toString', Js(16.0)).callprop(u'toUpperCase'))+Js(u'}')) + PyJs_anonymous_3955_._set_name(u'anonymous') + var.put(u'codePointToStringUnicode', PyJs_anonymous_3955_) + @Js + def PyJs_anonymous_3956_(symbol, this, arguments, var=var): + var = Scope({u'this':this, u'symbol':symbol, u'arguments':arguments}, var) + var.registers([u'symbol', u'length', u'second', u'first']) + var.put(u'length', var.get(u'symbol').get(u'length')) + var.put(u'first', var.get(u'symbol').callprop(u'charCodeAt', Js(0.0))) + pass + if (((var.get(u'first')>=var.get(u'HIGH_SURROGATE_MIN')) and (var.get(u'first')<=var.get(u'HIGH_SURROGATE_MAX'))) and (var.get(u'length')>Js(1.0))): + var.put(u'second', var.get(u'symbol').callprop(u'charCodeAt', Js(1.0))) + return (((((var.get(u'first')-var.get(u'HIGH_SURROGATE_MIN'))*Js(1024))+var.get(u'second'))-var.get(u'LOW_SURROGATE_MIN'))+Js(65536)) + return var.get(u'first') + PyJs_anonymous_3956_._set_name(u'anonymous') + var.put(u'symbolToCodePoint', PyJs_anonymous_3956_) + @Js + def PyJs_anonymous_3957_(data, this, arguments, var=var): + var = Scope({u'this':this, u'data':data, u'arguments':arguments}, var) + var.registers([u'index', u'end', u'start', u'length', u'result', u'data']) + var.put(u'result', Js(u'')) + var.put(u'index', Js(0.0)) + pass + pass + var.put(u'length', var.get(u'data').get(u'length')) + if var.get(u'dataIsSingleton')(var.get(u'data')): + return var.get(u'codePointToString')(var.get(u'data').get(u'0')) + while (var.get(u'index')=var.get(u'HIGH_SURROGATE_MIN')) and (var.get(u'end')<=var.get(u'HIGH_SURROGATE_MAX'))): + var.get(u'bmp').callprop(u'push', var.get(u'start'), var.get(u'HIGH_SURROGATE_MIN')) + var.get(u'loneHighSurrogates').callprop(u'push', var.get(u'HIGH_SURROGATE_MIN'), (var.get(u'end')+Js(1.0))) + if ((var.get(u'end')>=var.get(u'LOW_SURROGATE_MIN')) and (var.get(u'end')<=var.get(u'LOW_SURROGATE_MAX'))): + var.get(u'bmp').callprop(u'push', var.get(u'start'), var.get(u'HIGH_SURROGATE_MIN')) + var.get(u'loneHighSurrogates').callprop(u'push', var.get(u'HIGH_SURROGATE_MIN'), (var.get(u'HIGH_SURROGATE_MAX')+Js(1.0))) + var.get(u'loneLowSurrogates').callprop(u'push', var.get(u'LOW_SURROGATE_MIN'), (var.get(u'end')+Js(1.0))) + if (var.get(u'end')>var.get(u'LOW_SURROGATE_MAX')): + var.get(u'bmp').callprop(u'push', var.get(u'start'), var.get(u'HIGH_SURROGATE_MIN')) + var.get(u'loneHighSurrogates').callprop(u'push', var.get(u'HIGH_SURROGATE_MIN'), (var.get(u'HIGH_SURROGATE_MAX')+Js(1.0))) + var.get(u'loneLowSurrogates').callprop(u'push', var.get(u'LOW_SURROGATE_MIN'), (var.get(u'LOW_SURROGATE_MAX')+Js(1.0))) + if (var.get(u'end')<=Js(65535)): + var.get(u'bmp').callprop(u'push', (var.get(u'LOW_SURROGATE_MAX')+Js(1.0)), (var.get(u'end')+Js(1.0))) + else: + var.get(u'bmp').callprop(u'push', (var.get(u'LOW_SURROGATE_MAX')+Js(1.0)), (Js(65535)+Js(1.0))) + var.get(u'astral').callprop(u'push', (Js(65535)+Js(1.0)), (var.get(u'end')+Js(1.0))) + else: + if ((var.get(u'start')>=var.get(u'HIGH_SURROGATE_MIN')) and (var.get(u'start')<=var.get(u'HIGH_SURROGATE_MAX'))): + if ((var.get(u'end')>=var.get(u'HIGH_SURROGATE_MIN')) and (var.get(u'end')<=var.get(u'HIGH_SURROGATE_MAX'))): + var.get(u'loneHighSurrogates').callprop(u'push', var.get(u'start'), (var.get(u'end')+Js(1.0))) + if ((var.get(u'end')>=var.get(u'LOW_SURROGATE_MIN')) and (var.get(u'end')<=var.get(u'LOW_SURROGATE_MAX'))): + var.get(u'loneHighSurrogates').callprop(u'push', var.get(u'start'), (var.get(u'HIGH_SURROGATE_MAX')+Js(1.0))) + var.get(u'loneLowSurrogates').callprop(u'push', var.get(u'LOW_SURROGATE_MIN'), (var.get(u'end')+Js(1.0))) + if (var.get(u'end')>var.get(u'LOW_SURROGATE_MAX')): + var.get(u'loneHighSurrogates').callprop(u'push', var.get(u'start'), (var.get(u'HIGH_SURROGATE_MAX')+Js(1.0))) + var.get(u'loneLowSurrogates').callprop(u'push', var.get(u'LOW_SURROGATE_MIN'), (var.get(u'LOW_SURROGATE_MAX')+Js(1.0))) + if (var.get(u'end')<=Js(65535)): + var.get(u'bmp').callprop(u'push', (var.get(u'LOW_SURROGATE_MAX')+Js(1.0)), (var.get(u'end')+Js(1.0))) + else: + var.get(u'bmp').callprop(u'push', (var.get(u'LOW_SURROGATE_MAX')+Js(1.0)), (Js(65535)+Js(1.0))) + var.get(u'astral').callprop(u'push', (Js(65535)+Js(1.0)), (var.get(u'end')+Js(1.0))) + else: + if ((var.get(u'start')>=var.get(u'LOW_SURROGATE_MIN')) and (var.get(u'start')<=var.get(u'LOW_SURROGATE_MAX'))): + if ((var.get(u'end')>=var.get(u'LOW_SURROGATE_MIN')) and (var.get(u'end')<=var.get(u'LOW_SURROGATE_MAX'))): + var.get(u'loneLowSurrogates').callprop(u'push', var.get(u'start'), (var.get(u'end')+Js(1.0))) + if (var.get(u'end')>var.get(u'LOW_SURROGATE_MAX')): + var.get(u'loneLowSurrogates').callprop(u'push', var.get(u'start'), (var.get(u'LOW_SURROGATE_MAX')+Js(1.0))) + if (var.get(u'end')<=Js(65535)): + var.get(u'bmp').callprop(u'push', (var.get(u'LOW_SURROGATE_MAX')+Js(1.0)), (var.get(u'end')+Js(1.0))) + else: + var.get(u'bmp').callprop(u'push', (var.get(u'LOW_SURROGATE_MAX')+Js(1.0)), (Js(65535)+Js(1.0))) + var.get(u'astral').callprop(u'push', (Js(65535)+Js(1.0)), (var.get(u'end')+Js(1.0))) + else: + if ((var.get(u'start')>var.get(u'LOW_SURROGATE_MAX')) and (var.get(u'start')<=Js(65535))): + if (var.get(u'end')<=Js(65535)): + var.get(u'bmp').callprop(u'push', var.get(u'start'), (var.get(u'end')+Js(1.0))) + else: + var.get(u'bmp').callprop(u'push', var.get(u'start'), (Js(65535)+Js(1.0))) + var.get(u'astral').callprop(u'push', (Js(65535)+Js(1.0)), (var.get(u'end')+Js(1.0))) + else: + var.get(u'astral').callprop(u'push', var.get(u'start'), (var.get(u'end')+Js(1.0))) + var.put(u'index', Js(2.0), u'+') + PyJs_Object_3960_ = Js({u'loneHighSurrogates':var.get(u'loneHighSurrogates'),u'loneLowSurrogates':var.get(u'loneLowSurrogates'),u'bmp':var.get(u'bmp'),u'astral':var.get(u'astral')}) + return PyJs_Object_3960_ + PyJs_anonymous_3959_._set_name(u'anonymous') + var.put(u'splitAtBMP', PyJs_anonymous_3959_) + @Js + def PyJs_anonymous_3961_(surrogateMappings, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'surrogateMappings':surrogateMappings}, var) + var.registers([u'nextMapping', u'index', u'lowSurrogates', u'addLow', u'highSurrogates', u'mapping', u'tmpLow', u'length', u'result', u'nextLowSurrogates', u'nextHighSurrogates', u'surrogateMappings']) + var.put(u'result', Js([])) + var.put(u'tmpLow', Js([])) + var.put(u'addLow', Js(False)) + pass + pass + pass + pass + pass + pass + var.put(u'index', (-Js(1.0))) + var.put(u'length', var.get(u'surrogateMappings').get(u'length')) + while (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))Js(1.0)): + var.put(u'value', var.get(u'slice').callprop(u'call', var.get(u'arguments'))) + if var.get(u"this").instanceof(var.get(u'regenerate')): + var.get(u"this").put(u'data', Js([])) + return (var.get(u"this").callprop(u'add', var.get(u'value')) if var.get(u'value') else var.get(u"this")) + return var.get(u'regenerate').create().callprop(u'add', var.get(u'value')) + PyJs_anonymous_3967_._set_name(u'anonymous') + var.put(u'regenerate', PyJs_anonymous_3967_) + var.get(u'regenerate').put(u'version', Js(u'1.3.2')) + var.put(u'proto', var.get(u'regenerate').get(u'prototype')) + @Js + def PyJs_anonymous_3969_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'$this', u'value']) + var.put(u'$this', var.get(u"this")) + if (var.get(u'value')==var.get(u"null")): + return var.get(u'$this') + if var.get(u'value').instanceof(var.get(u'regenerate')): + var.get(u'$this').put(u'data', var.get(u'dataAddData')(var.get(u'$this').get(u'data'), var.get(u'value').get(u'data'))) + return var.get(u'$this') + if (var.get(u'arguments').get(u'length')>Js(1.0)): + var.put(u'value', var.get(u'slice').callprop(u'call', var.get(u'arguments'))) + if var.get(u'isArray')(var.get(u'value')): + @Js + def PyJs_anonymous_3970_(item, this, arguments, var=var): + var = Scope({u'this':this, u'item':item, u'arguments':arguments}, var) + var.registers([u'item']) + var.get(u'$this').callprop(u'add', var.get(u'item')) + PyJs_anonymous_3970_._set_name(u'anonymous') + var.get(u'forEach')(var.get(u'value'), PyJs_anonymous_3970_) + return var.get(u'$this') + var.get(u'$this').put(u'data', var.get(u'dataAdd')(var.get(u'$this').get(u'data'), (var.get(u'value') if var.get(u'isNumber')(var.get(u'value')) else var.get(u'symbolToCodePoint')(var.get(u'value'))))) + return var.get(u'$this') + PyJs_anonymous_3969_._set_name(u'anonymous') + @Js + def PyJs_anonymous_3971_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'$this', u'value']) + var.put(u'$this', var.get(u"this")) + if (var.get(u'value')==var.get(u"null")): + return var.get(u'$this') + if var.get(u'value').instanceof(var.get(u'regenerate')): + var.get(u'$this').put(u'data', var.get(u'dataRemoveData')(var.get(u'$this').get(u'data'), var.get(u'value').get(u'data'))) + return var.get(u'$this') + if (var.get(u'arguments').get(u'length')>Js(1.0)): + var.put(u'value', var.get(u'slice').callprop(u'call', var.get(u'arguments'))) + if var.get(u'isArray')(var.get(u'value')): + @Js + def PyJs_anonymous_3972_(item, this, arguments, var=var): + var = Scope({u'this':this, u'item':item, u'arguments':arguments}, var) + var.registers([u'item']) + var.get(u'$this').callprop(u'remove', var.get(u'item')) + PyJs_anonymous_3972_._set_name(u'anonymous') + var.get(u'forEach')(var.get(u'value'), PyJs_anonymous_3972_) + return var.get(u'$this') + var.get(u'$this').put(u'data', var.get(u'dataRemove')(var.get(u'$this').get(u'data'), (var.get(u'value') if var.get(u'isNumber')(var.get(u'value')) else var.get(u'symbolToCodePoint')(var.get(u'value'))))) + return var.get(u'$this') + PyJs_anonymous_3971_._set_name(u'anonymous') + @Js + def PyJs_anonymous_3973_(start, end, this, arguments, var=var): + var = Scope({u'this':this, u'start':start, u'end':end, u'arguments':arguments}, var) + var.registers([u'start', u'end', u'$this']) + var.put(u'$this', var.get(u"this")) + var.get(u'$this').put(u'data', var.get(u'dataAddRange')(var.get(u'$this').get(u'data'), (var.get(u'start') if var.get(u'isNumber')(var.get(u'start')) else var.get(u'symbolToCodePoint')(var.get(u'start'))), (var.get(u'end') if var.get(u'isNumber')(var.get(u'end')) else var.get(u'symbolToCodePoint')(var.get(u'end'))))) + return var.get(u'$this') + PyJs_anonymous_3973_._set_name(u'anonymous') + @Js + def PyJs_anonymous_3974_(start, end, this, arguments, var=var): + var = Scope({u'this':this, u'start':start, u'end':end, u'arguments':arguments}, var) + var.registers([u'startCodePoint', u'endCodePoint', u'end', u'$this', u'start']) + var.put(u'$this', var.get(u"this")) + var.put(u'startCodePoint', (var.get(u'start') if var.get(u'isNumber')(var.get(u'start')) else var.get(u'symbolToCodePoint')(var.get(u'start')))) + var.put(u'endCodePoint', (var.get(u'end') if var.get(u'isNumber')(var.get(u'end')) else var.get(u'symbolToCodePoint')(var.get(u'end')))) + var.get(u'$this').put(u'data', var.get(u'dataRemoveRange')(var.get(u'$this').get(u'data'), var.get(u'startCodePoint'), var.get(u'endCodePoint'))) + return var.get(u'$this') + PyJs_anonymous_3974_._set_name(u'anonymous') + @Js + def PyJs_anonymous_3975_(argument, this, arguments, var=var): + var = Scope({u'this':this, u'argument':argument, u'arguments':arguments}, var) + var.registers([u'array', u'$this', u'argument']) + var.put(u'$this', var.get(u"this")) + var.put(u'array', (var.get(u'dataToArray')(var.get(u'argument').get(u'data')) if var.get(u'argument').instanceof(var.get(u'regenerate')) else var.get(u'argument'))) + var.get(u'$this').put(u'data', var.get(u'dataIntersection')(var.get(u'$this').get(u'data'), var.get(u'array'))) + return var.get(u'$this') + PyJs_anonymous_3975_._set_name(u'anonymous') + @Js + def PyJs_anonymous_3976_(codePoint, this, arguments, var=var): + var = Scope({u'this':this, u'codePoint':codePoint, u'arguments':arguments}, var) + var.registers([u'codePoint']) + return var.get(u'dataContains')(var.get(u"this").get(u'data'), (var.get(u'codePoint') if var.get(u'isNumber')(var.get(u'codePoint')) else var.get(u'symbolToCodePoint')(var.get(u'codePoint')))) + PyJs_anonymous_3976_._set_name(u'anonymous') + @Js + def PyJs_anonymous_3977_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'set']) + var.put(u'set', var.get(u'regenerate').create()) + var.get(u'set').put(u'data', var.get(u"this").get(u'data').callprop(u'slice', Js(0.0))) + return var.get(u'set') + PyJs_anonymous_3977_._set_name(u'anonymous') + @Js + def PyJs_anonymous_3978_(options, this, arguments, var=var): + var = Scope({u'this':this, u'options':options, u'arguments':arguments}, var) + var.registers([u'result', u'options']) + var.put(u'result', var.get(u'createCharacterClassesFromData')(var.get(u"this").get(u'data'), (var.get(u'options').get(u'bmpOnly') if var.get(u'options') else Js(False)), (var.get(u'options').get(u'hasUnicodeFlag') if var.get(u'options') else Js(False)))) + if var.get(u'result').neg(): + return Js(u'[]') + return var.get(u'result').callprop(u'replace', var.get(u'regexNull'), Js(u'\\0$1')) + PyJs_anonymous_3978_._set_name(u'anonymous') + @Js + def PyJs_anonymous_3979_(flags, this, arguments, var=var): + var = Scope({u'this':this, u'flags':flags, u'arguments':arguments}, var) + var.registers([u'pattern', u'flags']) + PyJs_Object_3980_ = Js({u'hasUnicodeFlag':var.get(u'true')}) + var.put(u'pattern', var.get(u"this").callprop(u'toString', (PyJs_Object_3980_ if (var.get(u'flags') and (var.get(u'flags').callprop(u'indexOf', Js(u'u'))!=(-Js(1.0)))) else var.get(u"null")))) + return var.get(u'RegExp')(var.get(u'pattern'), (var.get(u'flags') or Js(u''))) + PyJs_anonymous_3979_._set_name(u'anonymous') + @Js + def PyJs_anonymous_3981_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'dataToArray')(var.get(u"this").get(u'data')) + PyJs_anonymous_3981_._set_name(u'anonymous') + PyJs_Object_3968_ = Js({u'add':PyJs_anonymous_3969_,u'remove':PyJs_anonymous_3971_,u'addRange':PyJs_anonymous_3973_,u'removeRange':PyJs_anonymous_3974_,u'intersection':PyJs_anonymous_3975_,u'contains':PyJs_anonymous_3976_,u'clone':PyJs_anonymous_3977_,u'toString':PyJs_anonymous_3978_,u'toRegExp':PyJs_anonymous_3979_,u'valueOf':PyJs_anonymous_3981_}) + var.get(u'extend')(var.get(u'proto'), PyJs_Object_3968_) + var.get(u'proto').put(u'toArray', var.get(u'proto').get(u'valueOf')) + if (((var.get(u'define',throw=False).typeof()==Js(u'function')) and (var.get(u'define').get(u'amd').typeof()==Js(u'object'))) and var.get(u'define').get(u'amd')): + @Js + def PyJs_anonymous_3982_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'regenerate') + PyJs_anonymous_3982_._set_name(u'anonymous') + var.get(u'define')(PyJs_anonymous_3982_) + else: + if (var.get(u'freeExports') and var.get(u'freeExports').get(u'nodeType').neg()): + if var.get(u'freeModule'): + var.get(u'freeModule').put(u'exports', var.get(u'regenerate')) + else: + var.get(u'freeExports').put(u'regenerate', var.get(u'regenerate')) + else: + var.get(u'root').put(u'regenerate', var.get(u'regenerate')) + PyJs_anonymous_3931_._set_name(u'anonymous') + PyJs_anonymous_3931_(var.get(u"this")) + PyJs_anonymous_3930_._set_name(u'anonymous') + PyJs_anonymous_3930_.callprop(u'call', var.get(u"this"), (var.get(u'global') if PyJsStrictNeq(var.get(u'global',throw=False).typeof(),Js(u'undefined')) else (var.get(u'self') if PyJsStrictNeq(var.get(u'self',throw=False).typeof(),Js(u'undefined')) else (var.get(u'window') if PyJsStrictNeq(var.get(u'window',throw=False).typeof(),Js(u'undefined')) else PyJs_Object_3929_)))) +PyJs_anonymous_3928_._set_name(u'anonymous') +PyJs_Object_3983_ = Js({}) +@Js +def PyJs_anonymous_3984_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'regenerate', u'require', u'exports', u'module']) + var.put(u'regenerate', var.get(u'require')(Js(u'regenerate'))) + def PyJs_LONG_3986_(var=var): + return var.get(u'regenerate')().callprop(u'addRange', Js(0), Js(8)).callprop(u'addRange', Js(14), Js(31)).callprop(u'addRange', Js(33), Js(159)).callprop(u'addRange', Js(161), Js(5759)).callprop(u'addRange', Js(5761), Js(8191)).callprop(u'addRange', Js(8203), Js(8231)).callprop(u'addRange', Js(8234), Js(8238)).callprop(u'addRange', Js(8240), Js(8286)).callprop(u'addRange', Js(8288), Js(12287)).callprop(u'addRange', Js(12289), Js(65278)) + PyJs_Object_3985_ = Js({u'd':var.get(u'regenerate')().callprop(u'addRange', Js(48), Js(57)),u'D':var.get(u'regenerate')().callprop(u'addRange', Js(0), Js(47)).callprop(u'addRange', Js(58), Js(65535)),u's':var.get(u'regenerate')(Js(32), Js(160), Js(5760), Js(8239), Js(8287), Js(12288), Js(65279)).callprop(u'addRange', Js(9), Js(13)).callprop(u'addRange', Js(8192), Js(8202)).callprop(u'addRange', Js(8232), Js(8233)),u'S':PyJs_LONG_3986_().callprop(u'addRange', Js(65280), Js(65535)),u'w':var.get(u'regenerate')(Js(95)).callprop(u'addRange', Js(48), Js(57)).callprop(u'addRange', Js(65), Js(90)).callprop(u'addRange', Js(97), Js(122)),u'W':var.get(u'regenerate')(Js(96)).callprop(u'addRange', Js(0), Js(47)).callprop(u'addRange', Js(58), Js(64)).callprop(u'addRange', Js(91), Js(94)).callprop(u'addRange', Js(123), Js(65535))}) + var.get(u'exports').put(u'REGULAR', PyJs_Object_3985_) + def PyJs_LONG_3988_(var=var): + return var.get(u'regenerate')().callprop(u'addRange', Js(0), Js(8)).callprop(u'addRange', Js(14), Js(31)).callprop(u'addRange', Js(33), Js(159)).callprop(u'addRange', Js(161), Js(5759)).callprop(u'addRange', Js(5761), Js(8191)).callprop(u'addRange', Js(8203), Js(8231)).callprop(u'addRange', Js(8234), Js(8238)).callprop(u'addRange', Js(8240), Js(8286)).callprop(u'addRange', Js(8288), Js(12287)).callprop(u'addRange', Js(12289), Js(65278)) + PyJs_Object_3987_ = Js({u'd':var.get(u'regenerate')().callprop(u'addRange', Js(48), Js(57)),u'D':var.get(u'regenerate')().callprop(u'addRange', Js(0), Js(47)).callprop(u'addRange', Js(58), Js(1114111)),u's':var.get(u'regenerate')(Js(32), Js(160), Js(5760), Js(8239), Js(8287), Js(12288), Js(65279)).callprop(u'addRange', Js(9), Js(13)).callprop(u'addRange', Js(8192), Js(8202)).callprop(u'addRange', Js(8232), Js(8233)),u'S':PyJs_LONG_3988_().callprop(u'addRange', Js(65280), Js(1114111)),u'w':var.get(u'regenerate')(Js(95)).callprop(u'addRange', Js(48), Js(57)).callprop(u'addRange', Js(65), Js(90)).callprop(u'addRange', Js(97), Js(122)),u'W':var.get(u'regenerate')(Js(96)).callprop(u'addRange', Js(0), Js(47)).callprop(u'addRange', Js(58), Js(64)).callprop(u'addRange', Js(91), Js(94)).callprop(u'addRange', Js(123), Js(1114111))}) + var.get(u'exports').put(u'UNICODE', PyJs_Object_3987_) + def PyJs_LONG_3990_(var=var): + return var.get(u'regenerate')().callprop(u'addRange', Js(0), Js(8)).callprop(u'addRange', Js(14), Js(31)).callprop(u'addRange', Js(33), Js(159)).callprop(u'addRange', Js(161), Js(5759)).callprop(u'addRange', Js(5761), Js(8191)).callprop(u'addRange', Js(8203), Js(8231)).callprop(u'addRange', Js(8234), Js(8238)).callprop(u'addRange', Js(8240), Js(8286)).callprop(u'addRange', Js(8288), Js(12287)).callprop(u'addRange', Js(12289), Js(65278)) + PyJs_Object_3989_ = Js({u'd':var.get(u'regenerate')().callprop(u'addRange', Js(48), Js(57)),u'D':var.get(u'regenerate')().callprop(u'addRange', Js(0), Js(47)).callprop(u'addRange', Js(58), Js(1114111)),u's':var.get(u'regenerate')(Js(32), Js(160), Js(5760), Js(8239), Js(8287), Js(12288), Js(65279)).callprop(u'addRange', Js(9), Js(13)).callprop(u'addRange', Js(8192), Js(8202)).callprop(u'addRange', Js(8232), Js(8233)),u'S':PyJs_LONG_3990_().callprop(u'addRange', Js(65280), Js(1114111)),u'w':var.get(u'regenerate')(Js(95), Js(383), Js(8490)).callprop(u'addRange', Js(48), Js(57)).callprop(u'addRange', Js(65), Js(90)).callprop(u'addRange', Js(97), Js(122)),u'W':var.get(u'regenerate')(Js(75), Js(83), Js(96)).callprop(u'addRange', Js(0), Js(47)).callprop(u'addRange', Js(58), Js(64)).callprop(u'addRange', Js(91), Js(94)).callprop(u'addRange', Js(123), Js(1114111))}) + var.get(u'exports').put(u'UNICODE_IGNORE_CASE', PyJs_Object_3989_) +PyJs_anonymous_3984_._set_name(u'anonymous') +PyJs_Object_3991_ = Js({u'regenerate':Js(501.0)}) +@Js +def PyJs_anonymous_3992_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_3993_ = Js({u'75':Js(8490.0),u'83':Js(383.0),u'107':Js(8490.0),u'115':Js(383.0),u'181':Js(924.0),u'197':Js(8491.0),u'383':Js(83.0),u'452':Js(453.0),u'453':Js(452.0),u'455':Js(456.0),u'456':Js(455.0),u'458':Js(459.0),u'459':Js(458.0),u'497':Js(498.0),u'498':Js(497.0),u'837':Js(8126.0),u'914':Js(976.0),u'917':Js(1013.0),u'920':Js(1012.0),u'921':Js(8126.0),u'922':Js(1008.0),u'924':Js(181.0),u'928':Js(982.0),u'929':Js(1009.0),u'931':Js(962.0),u'934':Js(981.0),u'937':Js(8486.0),u'962':Js(931.0),u'976':Js(914.0),u'977':Js(1012.0),u'981':Js(934.0),u'982':Js(928.0),u'1008':Js(922.0),u'1009':Js(929.0),u'1012':Js([Js(920.0), Js(977.0)]),u'1013':Js(917.0),u'7776':Js(7835.0),u'7835':Js(7776.0),u'8126':Js([Js(837.0), Js(921.0)]),u'8486':Js(937.0),u'8490':Js(75.0),u'8491':Js(197.0),u'66560':Js(66600.0),u'66561':Js(66601.0),u'66562':Js(66602.0),u'66563':Js(66603.0),u'66564':Js(66604.0),u'66565':Js(66605.0),u'66566':Js(66606.0),u'66567':Js(66607.0),u'66568':Js(66608.0),u'66569':Js(66609.0),u'66570':Js(66610.0),u'66571':Js(66611.0),u'66572':Js(66612.0),u'66573':Js(66613.0),u'66574':Js(66614.0),u'66575':Js(66615.0),u'66576':Js(66616.0),u'66577':Js(66617.0),u'66578':Js(66618.0),u'66579':Js(66619.0),u'66580':Js(66620.0),u'66581':Js(66621.0),u'66582':Js(66622.0),u'66583':Js(66623.0),u'66584':Js(66624.0),u'66585':Js(66625.0),u'66586':Js(66626.0),u'66587':Js(66627.0),u'66588':Js(66628.0),u'66589':Js(66629.0),u'66590':Js(66630.0),u'66591':Js(66631.0),u'66592':Js(66632.0),u'66593':Js(66633.0),u'66594':Js(66634.0),u'66595':Js(66635.0),u'66596':Js(66636.0),u'66597':Js(66637.0),u'66598':Js(66638.0),u'66599':Js(66639.0),u'66600':Js(66560.0),u'66601':Js(66561.0),u'66602':Js(66562.0),u'66603':Js(66563.0),u'66604':Js(66564.0),u'66605':Js(66565.0),u'66606':Js(66566.0),u'66607':Js(66567.0),u'66608':Js(66568.0),u'66609':Js(66569.0),u'66610':Js(66570.0),u'66611':Js(66571.0),u'66612':Js(66572.0),u'66613':Js(66573.0),u'66614':Js(66574.0),u'66615':Js(66575.0),u'66616':Js(66576.0),u'66617':Js(66577.0),u'66618':Js(66578.0),u'66619':Js(66579.0),u'66620':Js(66580.0),u'66621':Js(66581.0),u'66622':Js(66582.0),u'66623':Js(66583.0),u'66624':Js(66584.0),u'66625':Js(66585.0),u'66626':Js(66586.0),u'66627':Js(66587.0),u'66628':Js(66588.0),u'66629':Js(66589.0),u'66630':Js(66590.0),u'66631':Js(66591.0),u'66632':Js(66592.0),u'66633':Js(66593.0),u'66634':Js(66594.0),u'66635':Js(66595.0),u'66636':Js(66596.0),u'66637':Js(66597.0),u'66638':Js(66598.0),u'66639':Js(66599.0),u'68736':Js(68800.0),u'68737':Js(68801.0),u'68738':Js(68802.0),u'68739':Js(68803.0),u'68740':Js(68804.0),u'68741':Js(68805.0),u'68742':Js(68806.0),u'68743':Js(68807.0),u'68744':Js(68808.0),u'68745':Js(68809.0),u'68746':Js(68810.0),u'68747':Js(68811.0),u'68748':Js(68812.0),u'68749':Js(68813.0),u'68750':Js(68814.0),u'68751':Js(68815.0),u'68752':Js(68816.0),u'68753':Js(68817.0),u'68754':Js(68818.0),u'68755':Js(68819.0),u'68756':Js(68820.0),u'68757':Js(68821.0),u'68758':Js(68822.0),u'68759':Js(68823.0),u'68760':Js(68824.0),u'68761':Js(68825.0),u'68762':Js(68826.0),u'68763':Js(68827.0),u'68764':Js(68828.0),u'68765':Js(68829.0),u'68766':Js(68830.0),u'68767':Js(68831.0),u'68768':Js(68832.0),u'68769':Js(68833.0),u'68770':Js(68834.0),u'68771':Js(68835.0),u'68772':Js(68836.0),u'68773':Js(68837.0),u'68774':Js(68838.0),u'68775':Js(68839.0),u'68776':Js(68840.0),u'68777':Js(68841.0),u'68778':Js(68842.0),u'68779':Js(68843.0),u'68780':Js(68844.0),u'68781':Js(68845.0),u'68782':Js(68846.0),u'68783':Js(68847.0),u'68784':Js(68848.0),u'68785':Js(68849.0),u'68786':Js(68850.0),u'68800':Js(68736.0),u'68801':Js(68737.0),u'68802':Js(68738.0),u'68803':Js(68739.0),u'68804':Js(68740.0),u'68805':Js(68741.0),u'68806':Js(68742.0),u'68807':Js(68743.0),u'68808':Js(68744.0),u'68809':Js(68745.0),u'68810':Js(68746.0),u'68811':Js(68747.0),u'68812':Js(68748.0),u'68813':Js(68749.0),u'68814':Js(68750.0),u'68815':Js(68751.0),u'68816':Js(68752.0),u'68817':Js(68753.0),u'68818':Js(68754.0),u'68819':Js(68755.0),u'68820':Js(68756.0),u'68821':Js(68757.0),u'68822':Js(68758.0),u'68823':Js(68759.0),u'68824':Js(68760.0),u'68825':Js(68761.0),u'68826':Js(68762.0),u'68827':Js(68763.0),u'68828':Js(68764.0),u'68829':Js(68765.0),u'68830':Js(68766.0),u'68831':Js(68767.0),u'68832':Js(68768.0),u'68833':Js(68769.0),u'68834':Js(68770.0),u'68835':Js(68771.0),u'68836':Js(68772.0),u'68837':Js(68773.0),u'68838':Js(68774.0),u'68839':Js(68775.0),u'68840':Js(68776.0),u'68841':Js(68777.0),u'68842':Js(68778.0),u'68843':Js(68779.0),u'68844':Js(68780.0),u'68845':Js(68781.0),u'68846':Js(68782.0),u'68847':Js(68783.0),u'68848':Js(68784.0),u'68849':Js(68785.0),u'68850':Js(68786.0),u'71840':Js(71872.0),u'71841':Js(71873.0),u'71842':Js(71874.0),u'71843':Js(71875.0),u'71844':Js(71876.0),u'71845':Js(71877.0),u'71846':Js(71878.0),u'71847':Js(71879.0),u'71848':Js(71880.0),u'71849':Js(71881.0),u'71850':Js(71882.0),u'71851':Js(71883.0),u'71852':Js(71884.0),u'71853':Js(71885.0),u'71854':Js(71886.0),u'71855':Js(71887.0),u'71856':Js(71888.0),u'71857':Js(71889.0),u'71858':Js(71890.0),u'71859':Js(71891.0),u'71860':Js(71892.0),u'71861':Js(71893.0),u'71862':Js(71894.0),u'71863':Js(71895.0),u'71864':Js(71896.0),u'71865':Js(71897.0),u'71866':Js(71898.0),u'71867':Js(71899.0),u'71868':Js(71900.0),u'71869':Js(71901.0),u'71870':Js(71902.0),u'71871':Js(71903.0),u'71872':Js(71840.0),u'71873':Js(71841.0),u'71874':Js(71842.0),u'71875':Js(71843.0),u'71876':Js(71844.0),u'71877':Js(71845.0),u'71878':Js(71846.0),u'71879':Js(71847.0),u'71880':Js(71848.0),u'71881':Js(71849.0),u'71882':Js(71850.0),u'71883':Js(71851.0),u'71884':Js(71852.0),u'71885':Js(71853.0),u'71886':Js(71854.0),u'71887':Js(71855.0),u'71888':Js(71856.0),u'71889':Js(71857.0),u'71890':Js(71858.0),u'71891':Js(71859.0),u'71892':Js(71860.0),u'71893':Js(71861.0),u'71894':Js(71862.0),u'71895':Js(71863.0),u'71896':Js(71864.0),u'71897':Js(71865.0),u'71898':Js(71866.0),u'71899':Js(71867.0),u'71900':Js(71868.0),u'71901':Js(71869.0),u'71902':Js(71870.0),u'71903':Js(71871.0)}) + var.get(u'module').put(u'exports', PyJs_Object_3993_) +PyJs_anonymous_3992_._set_name(u'anonymous') +PyJs_Object_3994_ = Js({}) +@Js +def PyJs_anonymous_3995_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'iuMappings', u'module', u'parse', u'unicode', u'wrap', u'hasOwnProperty', u'regenerate', u'ignoreCase', u'caseFold', u'has', u'DOT_SET', u'getCharacterClassEscapeSet', u'exports', u'object', u'update', u'processCharacterClass', u'generate', u'ESCAPE_SETS', u'require', u'processTerm', u'BMP_SET', u'UNICODE_SET', u'assign', u'DOT_SET_UNICODE']) + @Js + def PyJsHoisted_getCharacterClassEscapeSet_(character, this, arguments, var=var): + var = Scope({u'this':this, u'character':character, u'arguments':arguments}, var) + var.registers([u'character']) + if var.get(u'unicode'): + if var.get(u'ignoreCase'): + return var.get(u'ESCAPE_SETS').get(u'UNICODE_IGNORE_CASE').get(var.get(u'character')) + return var.get(u'ESCAPE_SETS').get(u'UNICODE').get(var.get(u'character')) + return var.get(u'ESCAPE_SETS').get(u'REGULAR').get(var.get(u'character')) + PyJsHoisted_getCharacterClassEscapeSet_.func_name = u'getCharacterClassEscapeSet' + var.put(u'getCharacterClassEscapeSet', PyJsHoisted_getCharacterClassEscapeSet_) + @Js + def PyJsHoisted_update_(item, pattern, this, arguments, var=var): + var = Scope({u'this':this, u'item':item, u'arguments':arguments, u'pattern':pattern}, var) + var.registers([u'item', u'tree', u'pattern']) + if var.get(u'pattern').neg(): + return var.get('undefined') + var.put(u'tree', var.get(u'parse')(var.get(u'pattern'), Js(u''))) + while 1: + SWITCHED = False + CONDITION = (var.get(u'tree').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'characterClass')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'group')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'value')): + SWITCHED = True + break + if True: + SWITCHED = True + var.put(u'tree', var.get(u'wrap')(var.get(u'tree'), var.get(u'pattern'))) + SWITCHED = True + break + var.get(u'assign')(var.get(u'item'), var.get(u'tree')) + PyJsHoisted_update_.func_name = u'update' + var.put(u'update', PyJsHoisted_update_) + @Js + def PyJsHoisted_processTerm_(item, this, arguments, var=var): + var = Scope({u'this':this, u'item':item, u'arguments':arguments}, var) + var.registers([u'item', u'codePoint', u'set', u'folded']) + while 1: + SWITCHED = False + CONDITION = (var.get(u'item').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'dot')): + SWITCHED = True + var.get(u'update')(var.get(u'item'), (var.get(u'DOT_SET_UNICODE') if var.get(u'unicode') else var.get(u'DOT_SET')).callprop(u'toString')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'characterClass')): + SWITCHED = True + var.put(u'item', var.get(u'processCharacterClass')(var.get(u'item'))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'characterClassEscape')): + SWITCHED = True + var.get(u'update')(var.get(u'item'), var.get(u'getCharacterClassEscapeSet')(var.get(u'item').get(u'value')).callprop(u'toString')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'alternative')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'disjunction')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'group')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'quantifier')): + SWITCHED = True + var.get(u'item').put(u'body', var.get(u'item').get(u'body').callprop(u'map', var.get(u'processTerm'))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'value')): + SWITCHED = True + var.put(u'codePoint', var.get(u'item').get(u'codePoint')) + var.put(u'set', var.get(u'regenerate')(var.get(u'codePoint'))) + if (var.get(u'ignoreCase') and var.get(u'unicode')): + var.put(u'folded', var.get(u'caseFold')(var.get(u'codePoint'))) + if var.get(u'folded'): + var.get(u'set').callprop(u'add', var.get(u'folded')) + var.get(u'update')(var.get(u'item'), var.get(u'set').callprop(u'toString')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'anchor')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'empty')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'group')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'reference')): + SWITCHED = True + break + if True: + SWITCHED = True + PyJsTempException = JsToPyException(var.get(u'Error')((Js(u'Unknown term type: ')+var.get(u'item').get(u'type')))) + raise PyJsTempException + SWITCHED = True + break + return var.get(u'item') + PyJsHoisted_processTerm_.func_name = u'processTerm' + var.put(u'processTerm', PyJsHoisted_processTerm_) + @Js + def PyJsHoisted_caseFold_(codePoint, this, arguments, var=var): + var = Scope({u'this':this, u'codePoint':codePoint, u'arguments':arguments}, var) + var.registers([u'codePoint']) + return (var.get(u'iuMappings').get(var.get(u'codePoint')) if var.get(u'has')(var.get(u'iuMappings'), var.get(u'codePoint')) else Js(False)) + PyJsHoisted_caseFold_.func_name = u'caseFold' + var.put(u'caseFold', PyJsHoisted_caseFold_) + @Js + def PyJsHoisted_processCharacterClass_(characterClassItem, this, arguments, var=var): + var = Scope({u'this':this, u'characterClassItem':characterClassItem, u'arguments':arguments}, var) + var.registers([u'body', u'set', u'characterClassItem']) + var.put(u'set', var.get(u'regenerate')()) + @Js + def PyJs_anonymous_3999_(item, this, arguments, var=var): + var = Scope({u'this':this, u'item':item, u'arguments':arguments}, var) + var.registers([u'max', u'folded', u'item', u'min']) + while 1: + SWITCHED = False + CONDITION = (var.get(u'item').get(u'type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'value')): + SWITCHED = True + var.get(u'set').callprop(u'add', var.get(u'item').get(u'codePoint')) + if (var.get(u'ignoreCase') and var.get(u'unicode')): + var.put(u'folded', var.get(u'caseFold')(var.get(u'item').get(u'codePoint'))) + if var.get(u'folded'): + var.get(u'set').callprop(u'add', var.get(u'folded')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'characterClassRange')): + SWITCHED = True + var.put(u'min', var.get(u'item').get(u'min').get(u'codePoint')) + var.put(u'max', var.get(u'item').get(u'max').get(u'codePoint')) + var.get(u'set').callprop(u'addRange', var.get(u'min'), var.get(u'max')) + if (var.get(u'ignoreCase') and var.get(u'unicode')): + var.get(u'set').callprop(u'iuAddRange', var.get(u'min'), var.get(u'max')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'characterClassEscape')): + SWITCHED = True + var.get(u'set').callprop(u'add', var.get(u'getCharacterClassEscapeSet')(var.get(u'item').get(u'value'))) + break + if True: + SWITCHED = True + PyJsTempException = JsToPyException(var.get(u'Error')((Js(u'Unknown term type: ')+var.get(u'item').get(u'type')))) + raise PyJsTempException + SWITCHED = True + break + PyJs_anonymous_3999_._set_name(u'anonymous') + var.put(u'body', var.get(u'characterClassItem').get(u'body').callprop(u'forEach', PyJs_anonymous_3999_)) + if var.get(u'characterClassItem').get(u'negative'): + var.put(u'set', (var.get(u'UNICODE_SET') if var.get(u'unicode') else var.get(u'BMP_SET')).callprop(u'clone').callprop(u'remove', var.get(u'set'))) + var.get(u'update')(var.get(u'characterClassItem'), var.get(u'set').callprop(u'toString')) + return var.get(u'characterClassItem') + PyJsHoisted_processCharacterClass_.func_name = u'processCharacterClass' + var.put(u'processCharacterClass', PyJsHoisted_processCharacterClass_) + @Js + def PyJsHoisted_wrap_(tree, pattern, this, arguments, var=var): + var = Scope({u'this':this, u'pattern':pattern, u'tree':tree, u'arguments':arguments}, var) + var.registers([u'pattern', u'tree']) + PyJs_Object_3998_ = Js({u'type':Js(u'group'),u'behavior':Js(u'ignore'),u'body':Js([var.get(u'tree')]),u'raw':((Js(u'(?:')+var.get(u'pattern'))+Js(u')'))}) + return PyJs_Object_3998_ + PyJsHoisted_wrap_.func_name = u'wrap' + var.put(u'wrap', PyJsHoisted_wrap_) + @Js + def PyJsHoisted_has_(object, property, this, arguments, var=var): + var = Scope({u'this':this, u'property':property, u'object':object, u'arguments':arguments}, var) + var.registers([u'property', u'object']) + return var.get(u'hasOwnProperty').callprop(u'call', var.get(u'object'), var.get(u'property')) + PyJsHoisted_has_.func_name = u'has' + var.put(u'has', PyJsHoisted_has_) + @Js + def PyJsHoisted_assign_(target, source, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'target':target, u'arguments':arguments}, var) + var.registers([u'source', u'target', u'key']) + for PyJsTemp in var.get(u'source'): + var.put(u'key', PyJsTemp) + var.get(u'target').put(var.get(u'key'), var.get(u'source').get(var.get(u'key'))) + PyJsHoisted_assign_.func_name = u'assign' + var.put(u'assign', PyJsHoisted_assign_) + var.put(u'generate', var.get(u'require')(Js(u'regjsgen')).get(u'generate')) + var.put(u'parse', var.get(u'require')(Js(u'regjsparser')).get(u'parse')) + var.put(u'regenerate', var.get(u'require')(Js(u'regenerate'))) + var.put(u'iuMappings', var.get(u'require')(Js(u'./data/iu-mappings.json'))) + var.put(u'ESCAPE_SETS', var.get(u'require')(Js(u'./data/character-class-escape-sets.js'))) + pass + PyJs_Object_3996_ = Js({}) + var.put(u'object', PyJs_Object_3996_) + var.put(u'hasOwnProperty', var.get(u'object').get(u'hasOwnProperty')) + pass + var.put(u'UNICODE_SET', var.get(u'regenerate')().callprop(u'addRange', Js(0), Js(1114111))) + var.put(u'BMP_SET', var.get(u'regenerate')().callprop(u'addRange', Js(0), Js(65535))) + var.put(u'DOT_SET_UNICODE', var.get(u'UNICODE_SET').callprop(u'clone').callprop(u'remove', Js(10), Js(13), Js(8232), Js(8233))) + var.put(u'DOT_SET', var.get(u'DOT_SET_UNICODE').callprop(u'clone').callprop(u'intersection', var.get(u'BMP_SET'))) + @Js + def PyJs_anonymous_3997_(min, max, this, arguments, var=var): + var = Scope({u'this':this, u'max':max, u'arguments':arguments, u'min':min}, var) + var.registers([u'max', u'folded', u'$this', u'min']) + var.put(u'$this', var.get(u"this")) + while 1: + var.put(u'folded', var.get(u'caseFold')(var.get(u'min'))) + if var.get(u'folded'): + var.get(u'$this').callprop(u'add', var.get(u'folded')) + if not (var.put(u'min',Js(var.get(u'min').to_number())+Js(1))<=var.get(u'max')): + break + return var.get(u'$this') + PyJs_anonymous_3997_._set_name(u'anonymous') + var.get(u'regenerate').get(u'prototype').put(u'iuAddRange', PyJs_anonymous_3997_) + pass + pass + pass + pass + var.put(u'ignoreCase', Js(False)) + var.put(u'unicode', Js(False)) + pass + pass + pass + @Js + def PyJs_anonymous_4000_(pattern, flags, this, arguments, var=var): + var = Scope({u'this':this, u'pattern':pattern, u'flags':flags, u'arguments':arguments}, var) + var.registers([u'pattern', u'tree', u'flags']) + var.put(u'tree', var.get(u'parse')(var.get(u'pattern'), var.get(u'flags'))) + var.put(u'ignoreCase', ((var.get(u'flags').callprop(u'indexOf', Js(u'i'))>(-Js(1.0))) if var.get(u'flags') else Js(False))) + var.put(u'unicode', ((var.get(u'flags').callprop(u'indexOf', Js(u'u'))>(-Js(1.0))) if var.get(u'flags') else Js(False))) + var.get(u'assign')(var.get(u'tree'), var.get(u'processTerm')(var.get(u'tree'))) + return var.get(u'generate')(var.get(u'tree')) + PyJs_anonymous_4000_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_4000_) +PyJs_anonymous_3995_._set_name(u'anonymous') +PyJs_Object_4001_ = Js({u'./data/character-class-escape-sets.js':Js(502.0),u'./data/iu-mappings.json':Js(503.0),u'regenerate':Js(501.0),u'regjsgen':Js(505.0),u'regjsparser':Js(506.0)}) +@Js +def PyJs_anonymous_4002_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_4003_ = Js({}) + @Js + def PyJs_anonymous_4004_(PyJsArg_676c6f62616c_, this, arguments, var=var): + var = Scope({u'this':this, u'global':PyJsArg_676c6f62616c_, u'arguments':arguments}, var) + var.registers([u'global']) + pass + @Js + def PyJs_anonymous_4005_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'freeModule', u'objectTypes', u'freeGlobal', u'generateCharacterClassRange', u'freeExports', u'generateCharacterClassEscape', u'assertType', u'generateReference', u'generateCharacterClass', u'generateAlternative', u'generateClassAtom', u'floor', u'generateDisjunction', u'stringFromCharCode', u'generate', u'generateQuantifier', u'generateDot', u'fromCodePoint', u'generateValue', u'generateAnchor', u'generateAtom', u'oldRoot', u'generateTerm', u'root', u'generateGroup']) + @Js + def PyJsHoisted_generateQuantifier_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'max', u'quantifier', u'min']) + var.get(u'assertType')(var.get(u'node').get(u'type'), Js(u'quantifier')) + var.put(u'quantifier', Js(u'')) + var.put(u'min', var.get(u'node').get(u'min')) + var.put(u'max', var.get(u'node').get(u'max')) + while 1: + SWITCHED = False + CONDITION = (var.get(u'max')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'undefined')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u"null")): + SWITCHED = True + while 1: + SWITCHED = False + CONDITION = (var.get(u'min')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(0.0)): + SWITCHED = True + var.put(u'quantifier', Js(u'*')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(1.0)): + SWITCHED = True + var.put(u'quantifier', Js(u'+')) + break + if True: + SWITCHED = True + var.put(u'quantifier', ((Js(u'{')+var.get(u'min'))+Js(u',}'))) + break + SWITCHED = True + break + break + if True: + SWITCHED = True + if (var.get(u'min')==var.get(u'max')): + var.put(u'quantifier', ((Js(u'{')+var.get(u'min'))+Js(u'}'))) + else: + if ((var.get(u'min')==Js(0.0)) and (var.get(u'max')==Js(1.0))): + var.put(u'quantifier', Js(u'?')) + else: + var.put(u'quantifier', ((((Js(u'{')+var.get(u'min'))+Js(u','))+var.get(u'max'))+Js(u'}'))) + break + SWITCHED = True + break + if var.get(u'node').get(u'greedy').neg(): + var.put(u'quantifier', Js(u'?'), u'+') + return (var.get(u'generateAtom')(var.get(u'node').get(u'body').get(u'0'))+var.get(u'quantifier')) + PyJsHoisted_generateQuantifier_.func_name = u'generateQuantifier' + var.put(u'generateQuantifier', PyJsHoisted_generateQuantifier_) + @Js + def PyJsHoisted_generateTerm_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u'assertType')(var.get(u'node').get(u'type'), Js(u'anchor|characterClass|characterClassEscape|empty|group|quantifier|reference|value')) + return var.get(u'generate')(var.get(u'node')) + PyJsHoisted_generateTerm_.func_name = u'generateTerm' + var.put(u'generateTerm', PyJsHoisted_generateTerm_) + @Js + def PyJsHoisted_generateCharacterClass_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'node', u'length', u'classRanges', u'result']) + var.get(u'assertType')(var.get(u'node').get(u'type'), Js(u'characterClass')) + var.put(u'classRanges', var.get(u'node').get(u'body')) + var.put(u'length', (var.get(u'classRanges').get(u'length') if var.get(u'classRanges') else Js(0.0))) + var.put(u'i', (-Js(1.0))) + var.put(u'result', Js(u'[')) + if var.get(u'node').get(u'negative'): + var.put(u'result', Js(u'^'), u'+') + while (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))Js(1114111))) or (var.get(u'floor')(var.get(u'codePoint'))!=var.get(u'codePoint'))): + PyJsTempException = JsToPyException(var.get(u'RangeError')((Js(u'Invalid code point: ')+var.get(u'codePoint')))) + raise PyJsTempException + if (var.get(u'codePoint')<=Js(65535)): + var.get(u'codeUnits').callprop(u'push', var.get(u'codePoint')) + else: + var.put(u'codePoint', Js(65536), u'-') + var.put(u'highSurrogate', ((var.get(u'codePoint')>>Js(10.0))+Js(55296))) + var.put(u'lowSurrogate', ((var.get(u'codePoint')%Js(1024))+Js(56320))) + var.get(u'codeUnits').callprop(u'push', var.get(u'highSurrogate'), var.get(u'lowSurrogate')) + if (((var.get(u'index')+Js(1.0))==var.get(u'length')) or (var.get(u'codeUnits').get(u'length')>var.get(u'MAX_SIZE'))): + var.put(u'result', var.get(u'stringFromCharCode').callprop(u'apply', var.get(u"null"), var.get(u'codeUnits')), u'+') + var.get(u'codeUnits').put(u'length', Js(0.0)) + return var.get(u'result') + PyJsHoisted_fromCodePoint_.func_name = u'fromCodePoint' + var.put(u'fromCodePoint', PyJsHoisted_fromCodePoint_) + @Js + def PyJsHoisted_generateDisjunction_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'body', u'i', u'length', u'node', u'result']) + var.get(u'assertType')(var.get(u'node').get(u'type'), Js(u'disjunction')) + var.put(u'body', var.get(u'node').get(u'body')) + var.put(u'length', (var.get(u'body').get(u'length') if var.get(u'body') else Js(0.0))) + if (var.get(u'length')==Js(0.0)): + PyJsTempException = JsToPyException(var.get(u'Error')(Js(u'No body'))) + raise PyJsTempException + else: + if (var.get(u'length')==Js(1.0)): + return var.get(u'generate')(var.get(u'body').get(u'0')) + else: + var.put(u'i', (-Js(1.0))) + var.put(u'result', Js(u'')) + while (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))var.get(u'max')): + var.get(u'bail')(Js(u'numbers out of order in {} quantifier'), Js(u''), var.get(u'from'), var.get(u'pos')) + var.put(u'quantifier', var.get(u'createQuantifier')(var.get(u'min'), var.get(u'max'), var.get(u'res').get(u'range').get(u'0'), var.get(u'res').get(u'range').get(u'1'))) + if var.get(u'quantifier'): + if var.get(u'match')(Js(u'?')): + var.get(u'quantifier').put(u'greedy', Js(False)) + var.get(u'quantifier').get(u'range').put(u'1', Js(1.0), u'+') + return var.get(u'quantifier') + PyJsHoisted_parseQuantifier_.func_name = u'parseQuantifier' + var.put(u'parseQuantifier', PyJsHoisted_parseQuantifier_) + @Js + def PyJsHoisted_parseDisjunction_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'res', u'from']) + var.put(u'res', Js([])) + var.put(u'from', var.get(u'pos')) + var.get(u'res').callprop(u'push', var.get(u'parseAlternative')()) + while var.get(u'match')(Js(u'|')): + var.get(u'res').callprop(u'push', var.get(u'parseAlternative')()) + if PyJsStrictEq(var.get(u'res').get(u'length'),Js(1.0)): + return var.get(u'res').get(u'0') + return var.get(u'createDisjunction')(var.get(u'res'), var.get(u'from'), var.get(u'pos')) + PyJsHoisted_parseDisjunction_.func_name = u'parseDisjunction' + var.put(u'parseDisjunction', PyJsHoisted_parseDisjunction_) + @Js + def PyJsHoisted_flattenBody_(body, this, arguments, var=var): + var = Scope({u'body':body, u'this':this, u'arguments':arguments}, var) + var.registers([u'body']) + if PyJsStrictEq(var.get(u'body').get(u'type'),Js(u'alternative')): + return var.get(u'body').get(u'body') + else: + return Js([var.get(u'body')]) + PyJsHoisted_flattenBody_.func_name = u'flattenBody' + var.put(u'flattenBody', PyJsHoisted_flattenBody_) + @Js + def PyJsHoisted_skip_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + if var.get(u'match')(var.get(u'value')).neg(): + var.get(u'bail')(Js(u'character'), var.get(u'value')) + PyJsHoisted_skip_.func_name = u'skip' + var.put(u'skip', PyJsHoisted_skip_) + @Js + def PyJsHoisted_matchReg_(regExp, this, arguments, var=var): + var = Scope({u'this':this, u'regExp':regExp, u'arguments':arguments}, var) + var.registers([u'subStr', u'regExp', u'res']) + var.put(u'subStr', var.get(u'str').callprop(u'substring', var.get(u'pos'))) + var.put(u'res', var.get(u'subStr').callprop(u'match', var.get(u'regExp'))) + if var.get(u'res'): + var.get(u'res').put(u'range', Js([])) + var.get(u'res').get(u'range').put(u'0', var.get(u'pos')) + var.get(u'incr')(var.get(u'res').get(u'0').get(u'length')) + var.get(u'res').get(u'range').put(u'1', var.get(u'pos')) + return var.get(u'res') + PyJsHoisted_matchReg_.func_name = u'matchReg' + var.put(u'matchReg', PyJsHoisted_matchReg_) + @Js + def PyJsHoisted_addRaw_(node, this, arguments, var=var): + var = Scope({u'node':node, u'this':this, u'arguments':arguments}, var) + var.registers([u'node']) + var.get(u'node').put(u'raw', var.get(u'str').callprop(u'substring', var.get(u'node').get(u'range').get(u'0'), var.get(u'node').get(u'range').get(u'1'))) + return var.get(u'node') + PyJsHoisted_addRaw_.func_name = u'addRaw' + var.put(u'addRaw', PyJsHoisted_addRaw_) + @Js + def PyJsHoisted_parseNonemptyClassRanges_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'atom']) + var.put(u'atom', var.get(u'parseClassAtom')()) + if var.get(u'atom').neg(): + var.get(u'bail')(Js(u'classAtom')) + if var.get(u'current')(Js(u']')): + return Js([var.get(u'atom')]) + return var.get(u'parseHelperClassRanges')(var.get(u'atom')) + PyJsHoisted_parseNonemptyClassRanges_.func_name = u'parseNonemptyClassRanges' + var.put(u'parseNonemptyClassRanges', PyJsHoisted_parseNonemptyClassRanges_) + @Js + def PyJsHoisted_parseHelperClassRanges_(atom, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'atom':atom}, var) + var.registers([u'to', u'atom', u'from', u'classRanges', u'res']) + pass + if (var.get(u'current')(Js(u'-')) and var.get(u'next')(Js(u']')).neg()): + var.get(u'skip')(Js(u'-')) + var.put(u'res', var.get(u'parseClassAtom')()) + if var.get(u'res').neg(): + var.get(u'bail')(Js(u'classAtom')) + var.put(u'to', var.get(u'pos')) + var.put(u'classRanges', var.get(u'parseClassRanges')()) + if var.get(u'classRanges').neg(): + var.get(u'bail')(Js(u'classRanges')) + var.put(u'from', var.get(u'atom').get(u'range').get(u'0')) + if PyJsStrictEq(var.get(u'classRanges').get(u'type'),Js(u'empty')): + return Js([var.get(u'createClassRange')(var.get(u'atom'), var.get(u'res'), var.get(u'from'), var.get(u'to'))]) + return Js([var.get(u'createClassRange')(var.get(u'atom'), var.get(u'res'), var.get(u'from'), var.get(u'to'))]).callprop(u'concat', var.get(u'classRanges')) + var.put(u'res', var.get(u'parseNonemptyClassRangesNoDash')()) + if var.get(u'res').neg(): + var.get(u'bail')(Js(u'nonEmptyClassRangesNoDash')) + return Js([var.get(u'atom')]).callprop(u'concat', var.get(u'res')) + PyJsHoisted_parseHelperClassRanges_.func_name = u'parseHelperClassRanges' + var.put(u'parseHelperClassRanges', PyJsHoisted_parseHelperClassRanges_) + @Js + def PyJsHoisted_bail_(message, details, PyJsArg_66726f6d_, to, this, arguments, var=var): + var = Scope({u'to':to, u'from':PyJsArg_66726f6d_, u'details':details, u'this':this, u'message':message, u'arguments':arguments}, var) + var.registers([u'from', u'contextEnd', u'to', u'details', u'context', u'contextStart', u'message', u'pointer']) + var.put(u'from', (var.get(u'pos') if (var.get(u'from')==var.get(u"null")) else var.get(u'from'))) + var.put(u'to', (var.get(u'from') if (var.get(u'to')==var.get(u"null")) else var.get(u'to'))) + var.put(u'contextStart', var.get(u'Math').callprop(u'max', Js(0.0), (var.get(u'from')-Js(10.0)))) + var.put(u'contextEnd', var.get(u'Math').callprop(u'min', (var.get(u'to')+Js(10.0)), var.get(u'str').get(u'length'))) + var.put(u'context', (Js(u' ')+var.get(u'str').callprop(u'substring', var.get(u'contextStart'), var.get(u'contextEnd')))) + var.put(u'pointer', ((Js(u' ')+var.get(u'Array').create(((var.get(u'from')-var.get(u'contextStart'))+Js(1.0))).callprop(u'join', Js(u' ')))+Js(u'^'))) + PyJsTempException = JsToPyException(var.get(u'SyntaxError')((((((((var.get(u'message')+Js(u' at position '))+var.get(u'from'))+((Js(u': ')+var.get(u'details')) if var.get(u'details') else Js(u'')))+Js(u'\n'))+var.get(u'context'))+Js(u'\n'))+var.get(u'pointer')))) + raise PyJsTempException + PyJsHoisted_bail_.func_name = u'bail' + var.put(u'bail', PyJsHoisted_bail_) + @Js + def PyJsHoisted_parseIdentityEscape_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'tmp', u'ZWNJ', u'ZWJ']) + var.put(u'ZWJ', Js(u'\u200c')) + var.put(u'ZWNJ', Js(u'\u200d')) + pass + if var.get(u'isIdentifierPart')(var.get(u'lookahead')()).neg(): + var.put(u'tmp', var.get(u'incr')()) + return var.get(u'createEscaped')(Js(u'identifier'), var.get(u'tmp').callprop(u'charCodeAt', Js(0.0)), var.get(u'tmp'), Js(1.0)) + if var.get(u'match')(var.get(u'ZWJ')): + return var.get(u'createEscaped')(Js(u'identifier'), Js(8204), var.get(u'ZWJ')) + else: + if var.get(u'match')(var.get(u'ZWNJ')): + return var.get(u'createEscaped')(Js(u'identifier'), Js(8205), var.get(u'ZWNJ')) + return var.get(u"null") + PyJsHoisted_parseIdentityEscape_.func_name = u'parseIdentityEscape' + var.put(u'parseIdentityEscape', PyJsHoisted_parseIdentityEscape_) + @Js + def PyJsHoisted_createDot_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_4016_ = Js({u'type':Js(u'dot'),u'range':Js([(var.get(u'pos')-Js(1.0)), var.get(u'pos')])}) + return var.get(u'addRaw')(PyJs_Object_4016_) + PyJsHoisted_createDot_.func_name = u'createDot' + var.put(u'createDot', PyJsHoisted_createDot_) + @Js + def PyJsHoisted_incr_(amount, this, arguments, var=var): + var = Scope({u'this':this, u'amount':amount, u'arguments':arguments}, var) + var.registers([u'res', u'amount']) + var.put(u'amount', (var.get(u'amount') or Js(1.0))) + var.put(u'res', var.get(u'str').callprop(u'substring', var.get(u'pos'), (var.get(u'pos')+var.get(u'amount')))) + var.put(u'pos', (var.get(u'amount') or Js(1.0)), u'+') + return var.get(u'res') + PyJsHoisted_incr_.func_name = u'incr' + var.put(u'incr', PyJsHoisted_incr_) + @Js + def PyJsHoisted_parseAnchor_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'res', u'from']) + var.put(u'from', var.get(u'pos')) + if var.get(u'match')(Js(u'^')): + return var.get(u'createAnchor')(Js(u'start'), Js(1.0)) + else: + if var.get(u'match')(Js(u'$')): + return var.get(u'createAnchor')(Js(u'end'), Js(1.0)) + else: + if var.get(u'match')(Js(u'\\b')): + return var.get(u'createAnchor')(Js(u'boundary'), Js(2.0)) + else: + if var.get(u'match')(Js(u'\\B')): + return var.get(u'createAnchor')(Js(u'not-boundary'), Js(2.0)) + else: + return var.get(u'parseGroup')(Js(u'(?='), Js(u'lookahead'), Js(u'(?!'), Js(u'negativeLookahead')) + PyJsHoisted_parseAnchor_.func_name = u'parseAnchor' + var.put(u'parseAnchor', PyJsHoisted_parseAnchor_) + @Js + def PyJsHoisted_parseAtom_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'res']) + pass + if var.put(u'res', var.get(u'matchReg')(JsRegExp(u'/^[^^$\\\\.*+?(){[|]/'))): + return var.get(u'createCharacter')(var.get(u'res')) + else: + if var.get(u'match')(Js(u'.')): + return var.get(u'createDot')() + else: + if var.get(u'match')(Js(u'\\')): + var.put(u'res', var.get(u'parseAtomEscape')()) + if var.get(u'res').neg(): + var.get(u'bail')(Js(u'atomEscape')) + return var.get(u'res') + else: + if var.put(u'res', var.get(u'parseCharacterClass')()): + return var.get(u'res') + else: + return var.get(u'parseGroup')(Js(u'(?:'), Js(u'ignore'), Js(u'('), Js(u'normal')) + PyJsHoisted_parseAtom_.func_name = u'parseAtom' + var.put(u'parseAtom', PyJsHoisted_parseAtom_) + @Js + def PyJsHoisted_parseAtomEscape_(insideCharacterClass, this, arguments, var=var): + var = Scope({u'this':this, u'insideCharacterClass':insideCharacterClass, u'arguments':arguments}, var) + var.registers([u'res', u'insideCharacterClass', u'from']) + var.put(u'from', var.get(u'pos')) + var.put(u'res', var.get(u'parseDecimalEscape')()) + if var.get(u'res'): + return var.get(u'res') + if var.get(u'insideCharacterClass'): + if var.get(u'match')(Js(u'b')): + return var.get(u'createEscaped')(Js(u'singleEscape'), Js(8), Js(u'\\b')) + else: + if var.get(u'match')(Js(u'B')): + var.get(u'bail')(Js(u'\\B not possible inside of CharacterClass'), Js(u''), var.get(u'from')) + var.put(u'res', var.get(u'parseCharacterEscape')()) + return var.get(u'res') + PyJsHoisted_parseAtomEscape_.func_name = u'parseAtomEscape' + var.put(u'parseAtomEscape', PyJsHoisted_parseAtomEscape_) + @Js + def PyJsHoisted_next_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return PyJsStrictEq(var.get(u'str').get((var.get(u'pos')+Js(1.0))),var.get(u'value')) + PyJsHoisted_next_.func_name = u'next' + var.put(u'next', PyJsHoisted_next_) + @Js + def PyJsHoisted_current_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return PyJsStrictEq(var.get(u'str').callprop(u'indexOf', var.get(u'value'), var.get(u'pos')),var.get(u'pos')) + PyJsHoisted_current_.func_name = u'current' + var.put(u'current', PyJsHoisted_current_) + @Js + def PyJsHoisted_updateRawStart_(node, start, this, arguments, var=var): + var = Scope({u'node':node, u'start':start, u'this':this, u'arguments':arguments}, var) + var.registers([u'node', u'start']) + var.get(u'node').get(u'range').put(u'0', var.get(u'start')) + return var.get(u'addRaw')(var.get(u'node')) + PyJsHoisted_updateRawStart_.func_name = u'updateRawStart' + var.put(u'updateRawStart', PyJsHoisted_updateRawStart_) + @Js + def PyJsHoisted_isEmpty_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'obj']) + return PyJsStrictEq(var.get(u'obj').get(u'type'),Js(u'empty')) + PyJsHoisted_isEmpty_.func_name = u'isEmpty' + var.put(u'isEmpty', PyJsHoisted_isEmpty_) + @Js + def PyJsHoisted_createDisjunction_(alternatives, PyJsArg_66726f6d_, to, this, arguments, var=var): + var = Scope({u'this':this, u'from':PyJsArg_66726f6d_, u'alternatives':alternatives, u'arguments':arguments, u'to':to}, var) + var.registers([u'from', u'alternatives', u'to']) + PyJs_Object_4015_ = Js({u'type':Js(u'disjunction'),u'body':var.get(u'alternatives'),u'range':Js([var.get(u'from'), var.get(u'to')])}) + return var.get(u'addRaw')(PyJs_Object_4015_) + PyJsHoisted_createDisjunction_.func_name = u'createDisjunction' + var.put(u'createDisjunction', PyJsHoisted_createDisjunction_) + @Js + def PyJsHoisted_parseClassEscape_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'parseAtomEscape')(var.get(u'true')) + PyJsHoisted_parseClassEscape_.func_name = u'parseClassEscape' + var.put(u'parseClassEscape', PyJsHoisted_parseClassEscape_) + @Js + def PyJsHoisted_parseCharacterEscape_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'res', u'codePoint']) + pass + if var.put(u'res', var.get(u'matchReg')(JsRegExp(u'/^[fnrtv]/'))): + var.put(u'codePoint', Js(0.0)) + while 1: + SWITCHED = False + CONDITION = (var.get(u'res').get(u'0')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u't')): + SWITCHED = True + var.put(u'codePoint', Js(9)) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'n')): + SWITCHED = True + var.put(u'codePoint', Js(10)) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'v')): + SWITCHED = True + var.put(u'codePoint', Js(11)) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'f')): + SWITCHED = True + var.put(u'codePoint', Js(12)) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'r')): + SWITCHED = True + var.put(u'codePoint', Js(13)) + break + SWITCHED = True + break + return var.get(u'createEscaped')(Js(u'singleEscape'), var.get(u'codePoint'), (Js(u'\\')+var.get(u'res').get(u'0'))) + else: + if var.put(u'res', var.get(u'matchReg')(JsRegExp(u'/^c([a-zA-Z])/'))): + return var.get(u'createEscaped')(Js(u'controlLetter'), (var.get(u'res').get(u'1').callprop(u'charCodeAt', Js(0.0))%Js(32.0)), var.get(u'res').get(u'1'), Js(2.0)) + else: + if var.put(u'res', var.get(u'matchReg')(JsRegExp(u'/^x([0-9a-fA-F]{2})/'))): + return var.get(u'createEscaped')(Js(u'hexadecimalEscape'), var.get(u'parseInt')(var.get(u'res').get(u'1'), Js(16.0)), var.get(u'res').get(u'1'), Js(2.0)) + else: + if var.put(u'res', var.get(u'matchReg')(JsRegExp(u'/^u([0-9a-fA-F]{4})/'))): + return var.get(u'parseUnicodeSurrogatePairEscape')(var.get(u'createEscaped')(Js(u'unicodeEscape'), var.get(u'parseInt')(var.get(u'res').get(u'1'), Js(16.0)), var.get(u'res').get(u'1'), Js(2.0))) + else: + if (var.get(u'hasUnicodeFlag') and var.put(u'res', var.get(u'matchReg')(JsRegExp(u'/^u\\{([0-9a-fA-F]+)\\}/')))): + return var.get(u'createEscaped')(Js(u'unicodeCodePointEscape'), var.get(u'parseInt')(var.get(u'res').get(u'1'), Js(16.0)), var.get(u'res').get(u'1'), Js(4.0)) + else: + return var.get(u'parseIdentityEscape')() + PyJsHoisted_parseCharacterEscape_.func_name = u'parseCharacterEscape' + var.put(u'parseCharacterEscape', PyJsHoisted_parseCharacterEscape_) + @Js + def PyJsHoisted_parseGroup_(matchA, typeA, matchB, typeB, this, arguments, var=var): + var = Scope({u'matchB':matchB, u'matchA':matchA, u'this':this, u'arguments':arguments, u'typeA':typeA, u'typeB':typeB}, var) + var.registers([u'body', u'from', u'typeA', u'typeB', u'matchB', u'matchA', u'group', u'type']) + var.put(u'type', var.get(u"null")) + var.put(u'from', var.get(u'pos')) + if var.get(u'match')(var.get(u'matchA')): + var.put(u'type', var.get(u'typeA')) + else: + if var.get(u'match')(var.get(u'matchB')): + var.put(u'type', var.get(u'typeB')) + else: + return Js(False) + var.put(u'body', var.get(u'parseDisjunction')()) + if var.get(u'body').neg(): + var.get(u'bail')(Js(u'Expected disjunction')) + var.get(u'skip')(Js(u')')) + var.put(u'group', var.get(u'createGroup')(var.get(u'type'), var.get(u'flattenBody')(var.get(u'body')), var.get(u'from'), var.get(u'pos'))) + if (var.get(u'type')==Js(u'normal')): + if var.get(u'firstIteration'): + (var.put(u'closedCaptureCounter',Js(var.get(u'closedCaptureCounter').to_number())+Js(1))-Js(1)) + return var.get(u'group') + PyJsHoisted_parseGroup_.func_name = u'parseGroup' + var.put(u'parseGroup', PyJsHoisted_parseGroup_) + @Js + def PyJsHoisted_parseClassAtomNoDash_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'res']) + pass + if var.put(u'res', var.get(u'matchReg')(JsRegExp(u'/^[^\\\\\\]-]/'))): + return var.get(u'createCharacter')(var.get(u'res').get(u'0')) + else: + if var.get(u'match')(Js(u'\\')): + var.put(u'res', var.get(u'parseClassEscape')()) + if var.get(u'res').neg(): + var.get(u'bail')(Js(u'classEscape')) + return var.get(u'parseUnicodeSurrogatePairEscape')(var.get(u'res')) + PyJsHoisted_parseClassAtomNoDash_.func_name = u'parseClassAtomNoDash' + var.put(u'parseClassAtomNoDash', PyJsHoisted_parseClassAtomNoDash_) + @Js + def PyJsHoisted_createAnchor_(kind, rawLength, this, arguments, var=var): + var = Scope({u'this':this, u'kind':kind, u'arguments':arguments, u'rawLength':rawLength}, var) + var.registers([u'kind', u'rawLength']) + PyJs_Object_4013_ = Js({u'type':Js(u'anchor'),u'kind':var.get(u'kind'),u'range':Js([(var.get(u'pos')-var.get(u'rawLength')), var.get(u'pos')])}) + return var.get(u'addRaw')(PyJs_Object_4013_) + PyJsHoisted_createAnchor_.func_name = u'createAnchor' + var.put(u'createAnchor', PyJsHoisted_createAnchor_) + @Js + def PyJsHoisted_match_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + if PyJsStrictEq(var.get(u'str').callprop(u'indexOf', var.get(u'value'), var.get(u'pos')),var.get(u'pos')): + return var.get(u'incr')(var.get(u'value').get(u'length')) + PyJsHoisted_match_.func_name = u'match' + var.put(u'match', PyJsHoisted_match_) + @Js + def PyJsHoisted_parseCharacterClass_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'res', u'from']) + var.put(u'from', var.get(u'pos')) + if var.put(u'res', var.get(u'matchReg')(JsRegExp(u'/^\\[\\^/'))): + var.put(u'res', var.get(u'parseClassRanges')()) + var.get(u'skip')(Js(u']')) + return var.get(u'createCharacterClass')(var.get(u'res'), var.get(u'true'), var.get(u'from'), var.get(u'pos')) + else: + if var.get(u'match')(Js(u'[')): + var.put(u'res', var.get(u'parseClassRanges')()) + var.get(u'skip')(Js(u']')) + return var.get(u'createCharacterClass')(var.get(u'res'), Js(False), var.get(u'from'), var.get(u'pos')) + return var.get(u"null") + PyJsHoisted_parseCharacterClass_.func_name = u'parseCharacterClass' + var.put(u'parseCharacterClass', PyJsHoisted_parseCharacterClass_) + @Js + def PyJsHoisted_createValue_(kind, codePoint, PyJsArg_66726f6d_, to, this, arguments, var=var): + var = Scope({u'to':to, u'kind':kind, u'from':PyJsArg_66726f6d_, u'arguments':arguments, u'this':this, u'codePoint':codePoint}, var) + var.registers([u'to', u'kind', u'from', u'codePoint']) + PyJs_Object_4014_ = Js({u'type':Js(u'value'),u'kind':var.get(u'kind'),u'codePoint':var.get(u'codePoint'),u'range':Js([var.get(u'from'), var.get(u'to')])}) + return var.get(u'addRaw')(PyJs_Object_4014_) + PyJsHoisted_createValue_.func_name = u'createValue' + var.put(u'createValue', PyJsHoisted_createValue_) + @Js + def PyJsHoisted_createReference_(matchIndex, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'matchIndex':matchIndex}, var) + var.registers([u'matchIndex']) + PyJs_Object_4018_ = Js({u'type':Js(u'reference'),u'matchIndex':var.get(u'parseInt')(var.get(u'matchIndex'), Js(10.0)),u'range':Js([((var.get(u'pos')-Js(1.0))-var.get(u'matchIndex').get(u'length')), var.get(u'pos')])}) + return var.get(u'addRaw')(PyJs_Object_4018_) + PyJsHoisted_createReference_.func_name = u'createReference' + var.put(u'createReference', PyJsHoisted_createReference_) + @Js + def PyJsHoisted_parseNonemptyClassRangesNoDash_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'res']) + var.put(u'res', var.get(u'parseClassAtom')()) + if var.get(u'res').neg(): + var.get(u'bail')(Js(u'classAtom')) + if var.get(u'current')(Js(u']')): + return var.get(u'res') + return var.get(u'parseHelperClassRanges')(var.get(u'res')) + PyJsHoisted_parseNonemptyClassRangesNoDash_.func_name = u'parseNonemptyClassRangesNoDash' + var.put(u'parseNonemptyClassRangesNoDash', PyJsHoisted_parseNonemptyClassRangesNoDash_) + @Js + def PyJsHoisted_createCharacterClassEscape_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + PyJs_Object_4017_ = Js({u'type':Js(u'characterClassEscape'),u'value':var.get(u'value'),u'range':Js([(var.get(u'pos')-Js(2.0)), var.get(u'pos')])}) + return var.get(u'addRaw')(PyJs_Object_4017_) + PyJsHoisted_createCharacterClassEscape_.func_name = u'createCharacterClassEscape' + var.put(u'createCharacterClassEscape', PyJsHoisted_createCharacterClassEscape_) + @Js + def PyJsHoisted_parseAlternative_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'res', u'term', u'from']) + var.put(u'res', Js([])) + var.put(u'from', var.get(u'pos')) + pass + while var.put(u'term', var.get(u'parseTerm')()): + var.get(u'res').callprop(u'push', var.get(u'term')) + if PyJsStrictEq(var.get(u'res').get(u'length'),Js(1.0)): + return var.get(u'res').get(u'0') + return var.get(u'createAlternative')(var.get(u'res'), var.get(u'from'), var.get(u'pos')) + PyJsHoisted_parseAlternative_.func_name = u'parseAlternative' + var.put(u'parseAlternative', PyJsHoisted_parseAlternative_) + @Js + def PyJsHoisted_isIdentifierPart_(ch, this, arguments, var=var): + var = Scope({u'this':this, u'ch':ch, u'arguments':arguments}, var) + var.registers([u'ch', u'NonAsciiIdentifierPart']) + def PyJs_LONG_4024_(var=var): + return var.get(u'RegExp').create(Js(u'[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0-\u08b2\u08e4-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d01-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1cf8\u1cf9\u1d00-\u1df5\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua69d\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua7ad\ua7b0\ua7b1\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab5f\uab64\uab65\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2d\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]')) + var.put(u'NonAsciiIdentifierPart', PyJs_LONG_4024_()) + def PyJs_LONG_4025_(var=var): + return ((((((PyJsStrictEq(var.get(u'ch'),Js(36.0)) or PyJsStrictEq(var.get(u'ch'),Js(95.0))) or ((var.get(u'ch')>=Js(65.0)) and (var.get(u'ch')<=Js(90.0)))) or ((var.get(u'ch')>=Js(97.0)) and (var.get(u'ch')<=Js(122.0)))) or ((var.get(u'ch')>=Js(48.0)) and (var.get(u'ch')<=Js(57.0)))) or PyJsStrictEq(var.get(u'ch'),Js(92.0))) or ((var.get(u'ch')>=Js(128)) and var.get(u'NonAsciiIdentifierPart').callprop(u'test', var.get(u'String').callprop(u'fromCharCode', var.get(u'ch'))))) + return PyJs_LONG_4025_() + PyJsHoisted_isIdentifierPart_.func_name = u'isIdentifierPart' + var.put(u'isIdentifierPart', PyJsHoisted_isIdentifierPart_) + @Js + def PyJsHoisted_createQuantifier_(min, max, PyJsArg_66726f6d_, to, this, arguments, var=var): + var = Scope({u'to':to, u'from':PyJsArg_66726f6d_, u'arguments':arguments, u'min':min, u'this':this, u'max':max}, var) + var.registers([u'max', u'from', u'to', u'min']) + if (var.get(u'to')==var.get(u"null")): + var.put(u'from', (var.get(u'pos')-Js(1.0))) + var.put(u'to', var.get(u'pos')) + PyJs_Object_4020_ = Js({u'type':Js(u'quantifier'),u'min':var.get(u'min'),u'max':var.get(u'max'),u'greedy':var.get(u'true'),u'body':var.get(u"null"),u'range':Js([var.get(u'from'), var.get(u'to')])}) + return var.get(u'addRaw')(PyJs_Object_4020_) + PyJsHoisted_createQuantifier_.func_name = u'createQuantifier' + var.put(u'createQuantifier', PyJsHoisted_createQuantifier_) + @Js + def PyJsHoisted_createCharacter_(matches, this, arguments, var=var): + var = Scope({u'matches':matches, u'this':this, u'arguments':arguments}, var) + var.registers([u'matches', u'_char', u'second', u'first']) + var.put(u'_char', var.get(u'matches').get(u'0')) + var.put(u'first', var.get(u'_char').callprop(u'charCodeAt', Js(0.0))) + if var.get(u'hasUnicodeFlag'): + pass + if ((PyJsStrictEq(var.get(u'_char').get(u'length'),Js(1.0)) and (var.get(u'first')>=Js(55296))) and (var.get(u'first')<=Js(56319))): + var.put(u'second', var.get(u'lookahead')().callprop(u'charCodeAt', Js(0.0))) + if ((var.get(u'second')>=Js(56320)) and (var.get(u'second')<=Js(57343))): + (var.put(u'pos',Js(var.get(u'pos').to_number())+Js(1))-Js(1)) + return var.get(u'createValue')(Js(u'symbol'), (((((var.get(u'first')-Js(55296))*Js(1024))+var.get(u'second'))-Js(56320))+Js(65536)), (var.get(u'pos')-Js(2.0)), var.get(u'pos')) + return var.get(u'createValue')(Js(u'symbol'), var.get(u'first'), (var.get(u'pos')-Js(1.0)), var.get(u'pos')) + PyJsHoisted_createCharacter_.func_name = u'createCharacter' + var.put(u'createCharacter', PyJsHoisted_createCharacter_) + @Js + def PyJsHoisted_lookahead_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'str').get(var.get(u'pos')) + PyJsHoisted_lookahead_.func_name = u'lookahead' + var.put(u'lookahead', PyJsHoisted_lookahead_) + @Js + def PyJsHoisted_createClassRange_(min, max, PyJsArg_66726f6d_, to, this, arguments, var=var): + var = Scope({u'to':to, u'from':PyJsArg_66726f6d_, u'arguments':arguments, u'min':min, u'this':this, u'max':max}, var) + var.registers([u'max', u'from', u'to', u'min']) + if (var.get(u'min').get(u'codePoint')>var.get(u'max').get(u'codePoint')): + var.get(u'bail')(Js(u'invalid range in character class'), ((var.get(u'min').get(u'raw')+Js(u'-'))+var.get(u'max').get(u'raw')), var.get(u'from'), var.get(u'to')) + PyJs_Object_4023_ = Js({u'type':Js(u'characterClassRange'),u'min':var.get(u'min'),u'max':var.get(u'max'),u'range':Js([var.get(u'from'), var.get(u'to')])}) + return var.get(u'addRaw')(PyJs_Object_4023_) + PyJsHoisted_createClassRange_.func_name = u'createClassRange' + var.put(u'createClassRange', PyJsHoisted_createClassRange_) + @Js + def PyJsHoisted_createAlternative_(terms, PyJsArg_66726f6d_, to, this, arguments, var=var): + var = Scope({u'this':this, u'from':PyJsArg_66726f6d_, u'terms':terms, u'arguments':arguments, u'to':to}, var) + var.registers([u'from', u'terms', u'to']) + PyJs_Object_4021_ = Js({u'type':Js(u'alternative'),u'body':var.get(u'terms'),u'range':Js([var.get(u'from'), var.get(u'to')])}) + return var.get(u'addRaw')(PyJs_Object_4021_) + PyJsHoisted_createAlternative_.func_name = u'createAlternative' + var.put(u'createAlternative', PyJsHoisted_createAlternative_) + @Js + def PyJsHoisted_parseClassRanges_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'res']) + pass + if var.get(u'current')(Js(u']')): + return Js([]) + else: + var.put(u'res', var.get(u'parseNonemptyClassRanges')()) + if var.get(u'res').neg(): + var.get(u'bail')(Js(u'nonEmptyClassRanges')) + return var.get(u'res') + PyJsHoisted_parseClassRanges_.func_name = u'parseClassRanges' + var.put(u'parseClassRanges', PyJsHoisted_parseClassRanges_) + @Js + def PyJsHoisted_createEscaped_(kind, codePoint, value, fromOffset, this, arguments, var=var): + var = Scope({u'kind':kind, u'arguments':arguments, u'this':this, u'fromOffset':fromOffset, u'codePoint':codePoint, u'value':value}, var) + var.registers([u'kind', u'fromOffset', u'codePoint', u'value']) + var.put(u'fromOffset', (var.get(u'fromOffset') or Js(0.0))) + return var.get(u'createValue')(var.get(u'kind'), var.get(u'codePoint'), (var.get(u'pos')-(var.get(u'value').get(u'length')+var.get(u'fromOffset'))), var.get(u'pos')) + PyJsHoisted_createEscaped_.func_name = u'createEscaped' + var.put(u'createEscaped', PyJsHoisted_createEscaped_) + @Js + def PyJsHoisted_parseUnicodeSurrogatePairEscape_(firstEscape, this, arguments, var=var): + var = Scope({u'firstEscape':firstEscape, u'this':this, u'arguments':arguments}, var) + var.registers([u'firstEscape', u'secondEscape', u'second', u'prevPos', u'first']) + if var.get(u'hasUnicodeFlag'): + pass + if (((((var.get(u'firstEscape').get(u'kind')==Js(u'unicodeEscape')) and (var.put(u'first', var.get(u'firstEscape').get(u'codePoint'))>=Js(55296))) and (var.get(u'first')<=Js(56319))) and var.get(u'current')(Js(u'\\'))) and var.get(u'next')(Js(u'u'))): + var.put(u'prevPos', var.get(u'pos')) + (var.put(u'pos',Js(var.get(u'pos').to_number())+Js(1))-Js(1)) + var.put(u'secondEscape', var.get(u'parseClassEscape')()) + if (((var.get(u'secondEscape').get(u'kind')==Js(u'unicodeEscape')) and (var.put(u'second', var.get(u'secondEscape').get(u'codePoint'))>=Js(56320))) and (var.get(u'second')<=Js(57343))): + var.get(u'firstEscape').get(u'range').put(u'1', var.get(u'secondEscape').get(u'range').get(u'1')) + var.get(u'firstEscape').put(u'codePoint', (((((var.get(u'first')-Js(55296))*Js(1024))+var.get(u'second'))-Js(56320))+Js(65536))) + var.get(u'firstEscape').put(u'type', Js(u'value')) + var.get(u'firstEscape').put(u'kind', Js(u'unicodeCodePointEscape')) + var.get(u'addRaw')(var.get(u'firstEscape')) + else: + var.put(u'pos', var.get(u'prevPos')) + return var.get(u'firstEscape') + PyJsHoisted_parseUnicodeSurrogatePairEscape_.func_name = u'parseUnicodeSurrogatePairEscape' + var.put(u'parseUnicodeSurrogatePairEscape', PyJsHoisted_parseUnicodeSurrogatePairEscape_) + @Js + def PyJsHoisted_parseTerm_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'quantifier', u'anchor', u'atom']) + if (((var.get(u'pos')>=var.get(u'str').get(u'length')) or var.get(u'current')(Js(u'|'))) or var.get(u'current')(Js(u')'))): + return var.get(u"null") + var.put(u'anchor', var.get(u'parseAnchor')()) + if var.get(u'anchor'): + return var.get(u'anchor') + var.put(u'atom', var.get(u'parseAtom')()) + if var.get(u'atom').neg(): + var.get(u'bail')(Js(u'Expected atom')) + var.put(u'quantifier', (var.get(u'parseQuantifier')() or Js(False))) + if var.get(u'quantifier'): + var.get(u'quantifier').put(u'body', var.get(u'flattenBody')(var.get(u'atom'))) + var.get(u'updateRawStart')(var.get(u'quantifier'), var.get(u'atom').get(u'range').get(u'0')) + return var.get(u'quantifier') + return var.get(u'atom') + PyJsHoisted_parseTerm_.func_name = u'parseTerm' + var.put(u'parseTerm', PyJsHoisted_parseTerm_) + @Js + def PyJsHoisted_createGroup_(behavior, disjunction, PyJsArg_66726f6d_, to, this, arguments, var=var): + var = Scope({u'to':to, u'from':PyJsArg_66726f6d_, u'arguments':arguments, u'behavior':behavior, u'this':this, u'disjunction':disjunction}, var) + var.registers([u'to', u'disjunction', u'from', u'behavior']) + PyJs_Object_4019_ = Js({u'type':Js(u'group'),u'behavior':var.get(u'behavior'),u'body':var.get(u'disjunction'),u'range':Js([var.get(u'from'), var.get(u'to')])}) + return var.get(u'addRaw')(PyJs_Object_4019_) + PyJsHoisted_createGroup_.func_name = u'createGroup' + var.put(u'createGroup', PyJsHoisted_createGroup_) + @Js + def PyJsHoisted_parseDecimalEscape_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'res', u'refIdx', u'match']) + pass + if var.put(u'res', var.get(u'matchReg')(JsRegExp(u'/^(?!0)\\d+/'))): + var.put(u'match', var.get(u'res').get(u'0')) + var.put(u'refIdx', var.get(u'parseInt')(var.get(u'res').get(u'0'), Js(10.0))) + if (var.get(u'refIdx')<=var.get(u'closedCaptureCounter')): + return var.get(u'createReference')(var.get(u'res').get(u'0')) + else: + var.get(u'backrefDenied').callprop(u'push', var.get(u'refIdx')) + var.get(u'incr')((-var.get(u'res').get(u'0').get(u'length'))) + if var.put(u'res', var.get(u'matchReg')(JsRegExp(u'/^[0-7]{1,3}/'))): + return var.get(u'createEscaped')(Js(u'octal'), var.get(u'parseInt')(var.get(u'res').get(u'0'), Js(8.0)), var.get(u'res').get(u'0'), Js(1.0)) + else: + var.put(u'res', var.get(u'createCharacter')(var.get(u'matchReg')(JsRegExp(u'/^[89]/')))) + return var.get(u'updateRawStart')(var.get(u'res'), (var.get(u'res').get(u'range').get(u'0')-Js(1.0))) + else: + if var.put(u'res', var.get(u'matchReg')(JsRegExp(u'/^[0-7]{1,3}/'))): + var.put(u'match', var.get(u'res').get(u'0')) + if JsRegExp(u'/^0{1,3}$/').callprop(u'test', var.get(u'match')): + return var.get(u'createEscaped')(Js(u'null'), Js(0), Js(u'0'), (var.get(u'match').get(u'length')+Js(1.0))) + else: + return var.get(u'createEscaped')(Js(u'octal'), var.get(u'parseInt')(var.get(u'match'), Js(8.0)), var.get(u'match'), Js(1.0)) + else: + if var.put(u'res', var.get(u'matchReg')(JsRegExp(u'/^[dDsSwW]/'))): + return var.get(u'createCharacterClassEscape')(var.get(u'res').get(u'0')) + return Js(False) + PyJsHoisted_parseDecimalEscape_.func_name = u'parseDecimalEscape' + var.put(u'parseDecimalEscape', PyJsHoisted_parseDecimalEscape_) + @Js + def PyJsHoisted_parseClassAtom_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if var.get(u'match')(Js(u'-')): + return var.get(u'createCharacter')(Js(u'-')) + else: + return var.get(u'parseClassAtomNoDash')() + PyJsHoisted_parseClassAtom_.func_name = u'parseClassAtom' + var.put(u'parseClassAtom', PyJsHoisted_parseClassAtom_) + @Js + def PyJsHoisted_createCharacterClass_(classRanges, negative, PyJsArg_66726f6d_, to, this, arguments, var=var): + var = Scope({u'to':to, u'from':PyJsArg_66726f6d_, u'classRanges':classRanges, u'this':this, u'negative':negative, u'arguments':arguments}, var) + var.registers([u'to', u'from', u'classRanges', u'negative']) + PyJs_Object_4022_ = Js({u'type':Js(u'characterClass'),u'body':var.get(u'classRanges'),u'negative':var.get(u'negative'),u'range':Js([var.get(u'from'), var.get(u'to')])}) + return var.get(u'addRaw')(PyJs_Object_4022_) + PyJsHoisted_createCharacterClass_.func_name = u'createCharacterClass' + var.put(u'createCharacterClass', PyJsHoisted_createCharacterClass_) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + var.put(u'backrefDenied', Js([])) + var.put(u'closedCaptureCounter', Js(0.0)) + var.put(u'firstIteration', var.get(u'true')) + var.put(u'hasUnicodeFlag', PyJsStrictNeq((var.get(u'flags') or Js(u'')).callprop(u'indexOf', Js(u'u')),(-Js(1.0)))) + var.put(u'pos', Js(0.0)) + var.put(u'str', var.get(u'String')(var.get(u'str'))) + if PyJsStrictEq(var.get(u'str'),Js(u'')): + var.put(u'str', Js(u'(?:)')) + var.put(u'result', var.get(u'parseDisjunction')()) + if PyJsStrictNeq(var.get(u'result').get(u'range').get(u'1'),var.get(u'str').get(u'length')): + var.get(u'bail')(Js(u'Could not parse entire input - got stuck'), Js(u''), var.get(u'result').get(u'range').get(u'1')) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')>'): + break + return var.get(u'ret') + PyJs_anonymous_4029_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_4029_) +PyJs_anonymous_4028_._set_name(u'anonymous') +PyJs_Object_4030_ = Js({u'is-finite':Js(281.0)}) +@Js +def PyJs_anonymous_4031_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + Js(u'use strict') + @Js + def PyJs_anonymous_4032_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str}, var) + var.registers([u'isExtendedLengthPath', u'hasNonAscii', u'str']) + var.put(u'isExtendedLengthPath', JsRegExp(u'/^\\\\\\\\\\?\\\\/').callprop(u'test', var.get(u'str'))) + var.put(u'hasNonAscii', JsRegExp(u'/[^\\x00-\\x80]+/').callprop(u'test', var.get(u'str'))) + if (var.get(u'isExtendedLengthPath') or var.get(u'hasNonAscii')): + return var.get(u'str') + return var.get(u'str').callprop(u'replace', JsRegExp(u'/\\\\/g'), Js(u'/')) + PyJs_anonymous_4032_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_4032_) +PyJs_anonymous_4031_._set_name(u'anonymous') +PyJs_Object_4033_ = Js({}) +@Js +def PyJs_anonymous_4034_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'require', u'module', u'util', u'ArraySet', u'has']) + @Js + def PyJsHoisted_ArraySet_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put(u'_array', Js([])) + var.get(u"this").put(u'_set', var.get(u'Object').callprop(u'create', var.get(u"null"))) + PyJsHoisted_ArraySet_.func_name = u'ArraySet' + var.put(u'ArraySet', PyJsHoisted_ArraySet_) + var.put(u'util', var.get(u'require')(Js(u'./util'))) + var.put(u'has', var.get(u'Object').get(u'prototype').get(u'hasOwnProperty')) + pass + @Js + def PyJs_ArraySet_fromArray_4035_(aArray, aAllowDuplicates, this, arguments, var=var): + var = Scope({u'this':this, u'ArraySet_fromArray':PyJs_ArraySet_fromArray_4035_, u'aAllowDuplicates':aAllowDuplicates, u'aArray':aArray, u'arguments':arguments}, var) + var.registers([u'i', u'aAllowDuplicates', u'set', u'aArray', u'len']) + var.put(u'set', var.get(u'ArraySet').create()) + #for JS loop + var.put(u'i', Js(0.0)) + var.put(u'len', var.get(u'aArray').get(u'length')) + while (var.get(u'i')=Js(0.0)) and (var.get(u'aIdx')>Js(1.0))) + return ((-var.get(u'shifted')) if var.get(u'isNegative') else var.get(u'shifted')) + PyJsHoisted_fromVLQSigned_.func_name = u'fromVLQSigned' + var.put(u'fromVLQSigned', PyJsHoisted_fromVLQSigned_) + var.put(u'base64', var.get(u'require')(Js(u'./base64'))) + var.put(u'VLQ_BASE_SHIFT', Js(5.0)) + var.put(u'VLQ_BASE', (Js(1.0)<>>') + if (var.get(u'vlq')>Js(0.0)): + var.put(u'digit', var.get(u'VLQ_CONTINUATION_BIT'), u'|') + var.put(u'encoded', var.get(u'base64').callprop(u'encode', var.get(u'digit')), u'+') + if not (var.get(u'vlq')>Js(0.0)): + break + return var.get(u'encoded') + PyJs_base64VLQ_encode_4044_._set_name(u'base64VLQ_encode') + var.get(u'exports').put(u'encode', PyJs_base64VLQ_encode_4044_) + @Js + def PyJs_base64VLQ_decode_4045_(aStr, aIndex, aOutParam, this, arguments, var=var): + var = Scope({u'base64VLQ_decode':PyJs_base64VLQ_decode_4045_, u'this':this, u'arguments':arguments, u'aStr':aStr, u'aOutParam':aOutParam, u'aIndex':aIndex}, var) + var.registers([u'digit', u'shift', u'result', u'continuation', u'aStr', u'aOutParam', u'strLen', u'aIndex']) + var.put(u'strLen', var.get(u'aStr').get(u'length')) + var.put(u'result', Js(0.0)) + var.put(u'shift', Js(0.0)) + pass + while 1: + if (var.get(u'aIndex')>=var.get(u'strLen')): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'Expected more digits in base 64 VLQ value.'))) + raise PyJsTempException + var.put(u'digit', var.get(u'base64').callprop(u'decode', var.get(u'aStr').callprop(u'charCodeAt', (var.put(u'aIndex',Js(var.get(u'aIndex').to_number())+Js(1))-Js(1))))) + if PyJsStrictEq(var.get(u'digit'),(-Js(1.0))): + PyJsTempException = JsToPyException(var.get(u'Error').create((Js(u'Invalid base64 digit: ')+var.get(u'aStr').callprop(u'charAt', (var.get(u'aIndex')-Js(1.0)))))) + raise PyJsTempException + var.put(u'continuation', (var.get(u'digit')&var.get(u'VLQ_CONTINUATION_BIT')).neg().neg()) + var.put(u'digit', var.get(u'VLQ_BASE_MASK'), u'&') + var.put(u'result', (var.get(u'result')+(var.get(u'digit')<Js(0.0)): + if ((var.get(u'aHigh')-var.get(u'mid'))>Js(1.0)): + return var.get(u'recursiveSearch')(var.get(u'mid'), var.get(u'aHigh'), var.get(u'aNeedle'), var.get(u'aHaystack'), var.get(u'aCompare'), var.get(u'aBias')) + if (var.get(u'aBias')==var.get(u'exports').get(u'LEAST_UPPER_BOUND')): + return (var.get(u'aHigh') if (var.get(u'aHigh')Js(1.0)): + return var.get(u'recursiveSearch')(var.get(u'aLow'), var.get(u'mid'), var.get(u'aNeedle'), var.get(u'aHaystack'), var.get(u'aCompare'), var.get(u'aBias')) + if (var.get(u'aBias')==var.get(u'exports').get(u'LEAST_UPPER_BOUND')): + return var.get(u'mid') + else: + return ((-Js(1.0)) if (var.get(u'aLow')=Js(0.0)): + if PyJsStrictNeq(var.get(u'aCompare')(var.get(u'aHaystack').get(var.get(u'index')), var.get(u'aHaystack').get((var.get(u'index')-Js(1.0))), var.get(u'true')),Js(0.0)): + break + var.put(u'index',Js(var.get(u'index').to_number())-Js(1)) + return var.get(u'index') + PyJs_search_4052_._set_name(u'search') + var.get(u'exports').put(u'search', PyJs_search_4052_) +PyJs_anonymous_4051_._set_name(u'anonymous') +PyJs_Object_4053_ = Js({}) +@Js +def PyJs_anonymous_4054_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'generatedPositionAfter', u'require', u'exports', u'module', u'util', u'MappingList']) + @Js + def PyJsHoisted_generatedPositionAfter_(mappingA, mappingB, this, arguments, var=var): + var = Scope({u'this':this, u'mappingB':mappingB, u'arguments':arguments, u'mappingA':mappingA}, var) + var.registers([u'columnA', u'columnB', u'mappingB', u'mappingA', u'lineB', u'lineA']) + var.put(u'lineA', var.get(u'mappingA').get(u'generatedLine')) + var.put(u'lineB', var.get(u'mappingB').get(u'generatedLine')) + var.put(u'columnA', var.get(u'mappingA').get(u'generatedColumn')) + var.put(u'columnB', var.get(u'mappingB').get(u'generatedColumn')) + return (((var.get(u'lineB')>var.get(u'lineA')) or ((var.get(u'lineB')==var.get(u'lineA')) and (var.get(u'columnB')>=var.get(u'columnA')))) or (var.get(u'util').callprop(u'compareByGeneratedPositionsInflated', var.get(u'mappingA'), var.get(u'mappingB'))<=Js(0.0))) + PyJsHoisted_generatedPositionAfter_.func_name = u'generatedPositionAfter' + var.put(u'generatedPositionAfter', PyJsHoisted_generatedPositionAfter_) + @Js + def PyJsHoisted_MappingList_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put(u'_array', Js([])) + var.get(u"this").put(u'_sorted', var.get(u'true')) + PyJs_Object_4055_ = Js({u'generatedLine':(-Js(1.0)),u'generatedColumn':Js(0.0)}) + var.get(u"this").put(u'_last', PyJs_Object_4055_) + PyJsHoisted_MappingList_.func_name = u'MappingList' + var.put(u'MappingList', PyJsHoisted_MappingList_) + var.put(u'util', var.get(u'require')(Js(u'./util'))) + pass + pass + @Js + def PyJs_MappingList_forEach_4056_(aCallback, aThisArg, this, arguments, var=var): + var = Scope({u'this':this, u'aThisArg':aThisArg, u'aCallback':aCallback, u'MappingList_forEach':PyJs_MappingList_forEach_4056_, u'arguments':arguments}, var) + var.registers([u'aThisArg', u'aCallback']) + var.get(u"this").get(u'_array').callprop(u'forEach', var.get(u'aCallback'), var.get(u'aThisArg')) + PyJs_MappingList_forEach_4056_._set_name(u'MappingList_forEach') + var.get(u'MappingList').get(u'prototype').put(u'unsortedForEach', PyJs_MappingList_forEach_4056_) + @Js + def PyJs_MappingList_add_4057_(aMapping, this, arguments, var=var): + var = Scope({u'this':this, u'MappingList_add':PyJs_MappingList_add_4057_, u'aMapping':aMapping, u'arguments':arguments}, var) + var.registers([u'aMapping']) + if var.get(u'generatedPositionAfter')(var.get(u"this").get(u'_last'), var.get(u'aMapping')): + var.get(u"this").put(u'_last', var.get(u'aMapping')) + var.get(u"this").get(u'_array').callprop(u'push', var.get(u'aMapping')) + else: + var.get(u"this").put(u'_sorted', Js(False)) + var.get(u"this").get(u'_array').callprop(u'push', var.get(u'aMapping')) + PyJs_MappingList_add_4057_._set_name(u'MappingList_add') + var.get(u'MappingList').get(u'prototype').put(u'add', PyJs_MappingList_add_4057_) + @Js + def PyJs_MappingList_toArray_4058_(this, arguments, var=var): + var = Scope({u'this':this, u'MappingList_toArray':PyJs_MappingList_toArray_4058_, u'arguments':arguments}, var) + var.registers([]) + if var.get(u"this").get(u'_sorted').neg(): + var.get(u"this").get(u'_array').callprop(u'sort', var.get(u'util').get(u'compareByGeneratedPositionsInflated')) + var.get(u"this").put(u'_sorted', var.get(u'true')) + return var.get(u"this").get(u'_array') + PyJs_MappingList_toArray_4058_._set_name(u'MappingList_toArray') + var.get(u'MappingList').get(u'prototype').put(u'toArray', PyJs_MappingList_toArray_4058_) + var.get(u'exports').put(u'MappingList', var.get(u'MappingList')) +PyJs_anonymous_4054_._set_name(u'anonymous') +PyJs_Object_4059_ = Js({u'./util':Js(518.0)}) +@Js +def PyJs_anonymous_4060_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'exports', u'randomIntInRange', u'require', u'module', u'doQuickSort', u'swap']) + @Js + def PyJsHoisted_randomIntInRange_(low, high, this, arguments, var=var): + var = Scope({u'high':high, u'this':this, u'low':low, u'arguments':arguments}, var) + var.registers([u'high', u'low']) + return var.get(u'Math').callprop(u'round', (var.get(u'low')+(var.get(u'Math').callprop(u'random')*(var.get(u'high')-var.get(u'low'))))) + PyJsHoisted_randomIntInRange_.func_name = u'randomIntInRange' + var.put(u'randomIntInRange', PyJsHoisted_randomIntInRange_) + @Js + def PyJsHoisted_swap_(ary, x, y, this, arguments, var=var): + var = Scope({u'y':y, u'ary':ary, u'this':this, u'arguments':arguments, u'x':x}, var) + var.registers([u'y', u'ary', u'temp', u'x']) + var.put(u'temp', var.get(u'ary').get(var.get(u'x'))) + var.get(u'ary').put(var.get(u'x'), var.get(u'ary').get(var.get(u'y'))) + var.get(u'ary').put(var.get(u'y'), var.get(u'temp')) + PyJsHoisted_swap_.func_name = u'swap' + var.put(u'swap', PyJsHoisted_swap_) + @Js + def PyJsHoisted_doQuickSort_(ary, comparator, p, r, this, arguments, var=var): + var = Scope({u'p':p, u'r':r, u'arguments':arguments, u'comparator':comparator, u'this':this, u'ary':ary}, var) + var.registers([u'comparator', u'i', u'ary', u'pivotIndex', u'j', u'q', u'p', u'r', u'pivot']) + if (var.get(u'p')=Js(0.0)): + var.put(u'mapping', var.get(u"this").get(u'_originalMappings').get(var.get(u'index'))) + if PyJsStrictEq(var.get(u'aArgs').get(u'column'),var.get(u'undefined')): + var.put(u'originalLine', var.get(u'mapping').get(u'originalLine')) + while (var.get(u'mapping') and PyJsStrictEq(var.get(u'mapping').get(u'originalLine'),var.get(u'originalLine'))): + PyJs_Object_4076_ = Js({u'line':var.get(u'util').callprop(u'getArg', var.get(u'mapping'), Js(u'generatedLine'), var.get(u"null")),u'column':var.get(u'util').callprop(u'getArg', var.get(u'mapping'), Js(u'generatedColumn'), var.get(u"null")),u'lastColumn':var.get(u'util').callprop(u'getArg', var.get(u'mapping'), Js(u'lastGeneratedColumn'), var.get(u"null"))}) + var.get(u'mappings').callprop(u'push', PyJs_Object_4076_) + var.put(u'mapping', var.get(u"this").get(u'_originalMappings').get(var.put(u'index',Js(var.get(u'index').to_number())+Js(1)))) + else: + var.put(u'originalColumn', var.get(u'mapping').get(u'originalColumn')) + while ((var.get(u'mapping') and PyJsStrictEq(var.get(u'mapping').get(u'originalLine'),var.get(u'line'))) and (var.get(u'mapping').get(u'originalColumn')==var.get(u'originalColumn'))): + PyJs_Object_4077_ = Js({u'line':var.get(u'util').callprop(u'getArg', var.get(u'mapping'), Js(u'generatedLine'), var.get(u"null")),u'column':var.get(u'util').callprop(u'getArg', var.get(u'mapping'), Js(u'generatedColumn'), var.get(u"null")),u'lastColumn':var.get(u'util').callprop(u'getArg', var.get(u'mapping'), Js(u'lastGeneratedColumn'), var.get(u"null"))}) + var.get(u'mappings').callprop(u'push', PyJs_Object_4077_) + var.put(u'mapping', var.get(u"this").get(u'_originalMappings').get(var.put(u'index',Js(var.get(u'index').to_number())+Js(1)))) + return var.get(u'mappings') + PyJs_SourceMapConsumer_allGeneratedPositionsFor_4074_._set_name(u'SourceMapConsumer_allGeneratedPositionsFor') + var.get(u'SourceMapConsumer').get(u'prototype').put(u'allGeneratedPositionsFor', PyJs_SourceMapConsumer_allGeneratedPositionsFor_4074_) + var.get(u'exports').put(u'SourceMapConsumer', var.get(u'SourceMapConsumer')) + pass + var.get(u'BasicSourceMapConsumer').put(u'prototype', var.get(u'Object').callprop(u'create', var.get(u'SourceMapConsumer').get(u'prototype'))) + var.get(u'BasicSourceMapConsumer').get(u'prototype').put(u'consumer', var.get(u'SourceMapConsumer')) + @Js + def PyJs_SourceMapConsumer_fromSourceMap_4079_(aSourceMap, this, arguments, var=var): + var = Scope({u'this':this, u'aSourceMap':aSourceMap, u'SourceMapConsumer_fromSourceMap':PyJs_SourceMapConsumer_fromSourceMap_4079_, u'arguments':arguments}, var) + var.registers([u'i', u'aSourceMap', u'srcMapping', u'destGeneratedMappings', u'destMapping', u'destOriginalMappings', u'sources', u'length', u'generatedMappings', u'names', u'smc']) + var.put(u'smc', var.get(u'Object').callprop(u'create', var.get(u'BasicSourceMapConsumer').get(u'prototype'))) + var.put(u'names', var.get(u'smc').put(u'_names', var.get(u'ArraySet').callprop(u'fromArray', var.get(u'aSourceMap').get(u'_names').callprop(u'toArray'), var.get(u'true')))) + var.put(u'sources', var.get(u'smc').put(u'_sources', var.get(u'ArraySet').callprop(u'fromArray', var.get(u'aSourceMap').get(u'_sources').callprop(u'toArray'), var.get(u'true')))) + var.get(u'smc').put(u'sourceRoot', var.get(u'aSourceMap').get(u'_sourceRoot')) + var.get(u'smc').put(u'sourcesContent', var.get(u'aSourceMap').callprop(u'_generateSourcesContent', var.get(u'smc').get(u'_sources').callprop(u'toArray'), var.get(u'smc').get(u'sourceRoot'))) + var.get(u'smc').put(u'file', var.get(u'aSourceMap').get(u'_file')) + var.put(u'generatedMappings', var.get(u'aSourceMap').get(u'_mappings').callprop(u'toArray').callprop(u'slice')) + var.put(u'destGeneratedMappings', var.get(u'smc').put(u'__generatedMappings', Js([]))) + var.put(u'destOriginalMappings', var.get(u'smc').put(u'__originalMappings', Js([]))) + #for JS loop + var.put(u'i', Js(0.0)) + var.put(u'length', var.get(u'generatedMappings').get(u'length')) + while (var.get(u'i')Js(1.0)): + var.get(u'mapping').put(u'source', (var.get(u'previousSource')+var.get(u'segment').get(u'1'))) + var.put(u'previousSource', var.get(u'segment').get(u'1'), u'+') + var.get(u'mapping').put(u'originalLine', (var.get(u'previousOriginalLine')+var.get(u'segment').get(u'2'))) + var.put(u'previousOriginalLine', var.get(u'mapping').get(u'originalLine')) + var.get(u'mapping').put(u'originalLine', Js(1.0), u'+') + var.get(u'mapping').put(u'originalColumn', (var.get(u'previousOriginalColumn')+var.get(u'segment').get(u'3'))) + var.put(u'previousOriginalColumn', var.get(u'mapping').get(u'originalColumn')) + if (var.get(u'segment').get(u'length')>Js(4.0)): + var.get(u'mapping').put(u'name', (var.get(u'previousName')+var.get(u'segment').get(u'4'))) + var.put(u'previousName', var.get(u'segment').get(u'4'), u'+') + var.get(u'generatedMappings').callprop(u'push', var.get(u'mapping')) + if PyJsStrictEq(var.get(u'mapping').get(u'originalLine').typeof(),Js(u'number')): + var.get(u'originalMappings').callprop(u'push', var.get(u'mapping')) + var.get(u'quickSort')(var.get(u'generatedMappings'), var.get(u'util').get(u'compareByGeneratedPositionsDeflated')) + var.get(u"this").put(u'__generatedMappings', var.get(u'generatedMappings')) + var.get(u'quickSort')(var.get(u'originalMappings'), var.get(u'util').get(u'compareByOriginalPositions')) + var.get(u"this").put(u'__originalMappings', var.get(u'originalMappings')) + PyJs_SourceMapConsumer_parseMappings_4083_._set_name(u'SourceMapConsumer_parseMappings') + var.get(u'BasicSourceMapConsumer').get(u'prototype').put(u'_parseMappings', PyJs_SourceMapConsumer_parseMappings_4083_) + @Js + def PyJs_SourceMapConsumer_findMapping_4086_(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias, this, arguments, var=var): + var = Scope({u'aNeedle':aNeedle, u'SourceMapConsumer_findMapping':PyJs_SourceMapConsumer_findMapping_4086_, u'this':this, u'aBias':aBias, u'aColumnName':aColumnName, u'aComparator':aComparator, u'arguments':arguments, u'aMappings':aMappings, u'aLineName':aLineName}, var) + var.registers([u'aNeedle', u'aBias', u'aColumnName', u'aComparator', u'aMappings', u'aLineName']) + if (var.get(u'aNeedle').get(var.get(u'aLineName'))<=Js(0.0)): + PyJsTempException = JsToPyException(var.get(u'TypeError').create((Js(u'Line must be greater than or equal to 1, got ')+var.get(u'aNeedle').get(var.get(u'aLineName'))))) + raise PyJsTempException + if (var.get(u'aNeedle').get(var.get(u'aColumnName'))=Js(0.0)): + var.put(u'mapping', var.get(u"this").get(u'_generatedMappings').get(var.get(u'index'))) + if PyJsStrictEq(var.get(u'mapping').get(u'generatedLine'),var.get(u'needle').get(u'generatedLine')): + var.put(u'source', var.get(u'util').callprop(u'getArg', var.get(u'mapping'), Js(u'source'), var.get(u"null"))) + if PyJsStrictNeq(var.get(u'source'),var.get(u"null")): + var.put(u'source', var.get(u"this").get(u'_sources').callprop(u'at', var.get(u'source'))) + if (var.get(u"this").get(u'sourceRoot')!=var.get(u"null")): + var.put(u'source', var.get(u'util').callprop(u'join', var.get(u"this").get(u'sourceRoot'), var.get(u'source'))) + var.put(u'name', var.get(u'util').callprop(u'getArg', var.get(u'mapping'), Js(u'name'), var.get(u"null"))) + if PyJsStrictNeq(var.get(u'name'),var.get(u"null")): + var.put(u'name', var.get(u"this").get(u'_names').callprop(u'at', var.get(u'name'))) + PyJs_Object_4090_ = Js({u'source':var.get(u'source'),u'line':var.get(u'util').callprop(u'getArg', var.get(u'mapping'), Js(u'originalLine'), var.get(u"null")),u'column':var.get(u'util').callprop(u'getArg', var.get(u'mapping'), Js(u'originalColumn'), var.get(u"null")),u'name':var.get(u'name')}) + return PyJs_Object_4090_ + PyJs_Object_4091_ = Js({u'source':var.get(u"null"),u'line':var.get(u"null"),u'column':var.get(u"null"),u'name':var.get(u"null")}) + return PyJs_Object_4091_ + PyJs_SourceMapConsumer_originalPositionFor_4088_._set_name(u'SourceMapConsumer_originalPositionFor') + var.get(u'BasicSourceMapConsumer').get(u'prototype').put(u'originalPositionFor', PyJs_SourceMapConsumer_originalPositionFor_4088_) + @Js + def PyJs_BasicSourceMapConsumer_hasContentsOfAllSources_4092_(this, arguments, var=var): + var = Scope({u'this':this, u'BasicSourceMapConsumer_hasContentsOfAllSources':PyJs_BasicSourceMapConsumer_hasContentsOfAllSources_4092_, u'arguments':arguments}, var) + var.registers([]) + if var.get(u"this").get(u'sourcesContent').neg(): + return Js(False) + @Js + def PyJs_anonymous_4093_(sc, this, arguments, var=var): + var = Scope({u'sc':sc, u'this':this, u'arguments':arguments}, var) + var.registers([u'sc']) + return (var.get(u'sc')==var.get(u"null")) + PyJs_anonymous_4093_._set_name(u'anonymous') + return ((var.get(u"this").get(u'sourcesContent').get(u'length')>=var.get(u"this").get(u'_sources').callprop(u'size')) and var.get(u"this").get(u'sourcesContent').callprop(u'some', PyJs_anonymous_4093_).neg()) + PyJs_BasicSourceMapConsumer_hasContentsOfAllSources_4092_._set_name(u'BasicSourceMapConsumer_hasContentsOfAllSources') + var.get(u'BasicSourceMapConsumer').get(u'prototype').put(u'hasContentsOfAllSources', PyJs_BasicSourceMapConsumer_hasContentsOfAllSources_4092_) + @Js + def PyJs_SourceMapConsumer_sourceContentFor_4094_(aSource, nullOnMissing, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'SourceMapConsumer_sourceContentFor':PyJs_SourceMapConsumer_sourceContentFor_4094_, u'aSource':aSource, u'nullOnMissing':nullOnMissing}, var) + var.registers([u'url', u'fileUriAbsPath', u'aSource', u'nullOnMissing']) + if var.get(u"this").get(u'sourcesContent').neg(): + return var.get(u"null") + if (var.get(u"this").get(u'sourceRoot')!=var.get(u"null")): + var.put(u'aSource', var.get(u'util').callprop(u'relative', var.get(u"this").get(u'sourceRoot'), var.get(u'aSource'))) + if var.get(u"this").get(u'_sources').callprop(u'has', var.get(u'aSource')): + return var.get(u"this").get(u'sourcesContent').get(var.get(u"this").get(u'_sources').callprop(u'indexOf', var.get(u'aSource'))) + pass + if ((var.get(u"this").get(u'sourceRoot')!=var.get(u"null")) and var.put(u'url', var.get(u'util').callprop(u'urlParse', var.get(u"this").get(u'sourceRoot')))): + var.put(u'fileUriAbsPath', var.get(u'aSource').callprop(u'replace', JsRegExp(u'/^file:\\/\\//'), Js(u''))) + if ((var.get(u'url').get(u'scheme')==Js(u'file')) and var.get(u"this").get(u'_sources').callprop(u'has', var.get(u'fileUriAbsPath'))): + return var.get(u"this").get(u'sourcesContent').get(var.get(u"this").get(u'_sources').callprop(u'indexOf', var.get(u'fileUriAbsPath'))) + if ((var.get(u'url').get(u'path').neg() or (var.get(u'url').get(u'path')==Js(u'/'))) and var.get(u"this").get(u'_sources').callprop(u'has', (Js(u'/')+var.get(u'aSource')))): + return var.get(u"this").get(u'sourcesContent').get(var.get(u"this").get(u'_sources').callprop(u'indexOf', (Js(u'/')+var.get(u'aSource')))) + if var.get(u'nullOnMissing'): + return var.get(u"null") + else: + PyJsTempException = JsToPyException(var.get(u'Error').create(((Js(u'"')+var.get(u'aSource'))+Js(u'" is not in the SourceMap.')))) + raise PyJsTempException + PyJs_SourceMapConsumer_sourceContentFor_4094_._set_name(u'SourceMapConsumer_sourceContentFor') + var.get(u'BasicSourceMapConsumer').get(u'prototype').put(u'sourceContentFor', PyJs_SourceMapConsumer_sourceContentFor_4094_) + @Js + def PyJs_SourceMapConsumer_generatedPositionFor_4095_(aArgs, this, arguments, var=var): + var = Scope({u'this':this, u'SourceMapConsumer_generatedPositionFor':PyJs_SourceMapConsumer_generatedPositionFor_4095_, u'arguments':arguments, u'aArgs':aArgs}, var) + var.registers([u'aArgs', u'source', u'needle', u'mapping', u'index']) + var.put(u'source', var.get(u'util').callprop(u'getArg', var.get(u'aArgs'), Js(u'source'))) + if (var.get(u"this").get(u'sourceRoot')!=var.get(u"null")): + var.put(u'source', var.get(u'util').callprop(u'relative', var.get(u"this").get(u'sourceRoot'), var.get(u'source'))) + if var.get(u"this").get(u'_sources').callprop(u'has', var.get(u'source')).neg(): + PyJs_Object_4096_ = Js({u'line':var.get(u"null"),u'column':var.get(u"null"),u'lastColumn':var.get(u"null")}) + return PyJs_Object_4096_ + var.put(u'source', var.get(u"this").get(u'_sources').callprop(u'indexOf', var.get(u'source'))) + PyJs_Object_4097_ = Js({u'source':var.get(u'source'),u'originalLine':var.get(u'util').callprop(u'getArg', var.get(u'aArgs'), Js(u'line')),u'originalColumn':var.get(u'util').callprop(u'getArg', var.get(u'aArgs'), Js(u'column'))}) + var.put(u'needle', PyJs_Object_4097_) + var.put(u'index', var.get(u"this").callprop(u'_findMapping', var.get(u'needle'), var.get(u"this").get(u'_originalMappings'), Js(u'originalLine'), Js(u'originalColumn'), var.get(u'util').get(u'compareByOriginalPositions'), var.get(u'util').callprop(u'getArg', var.get(u'aArgs'), Js(u'bias'), var.get(u'SourceMapConsumer').get(u'GREATEST_LOWER_BOUND')))) + if (var.get(u'index')>=Js(0.0)): + var.put(u'mapping', var.get(u"this").get(u'_originalMappings').get(var.get(u'index'))) + if PyJsStrictEq(var.get(u'mapping').get(u'source'),var.get(u'needle').get(u'source')): + PyJs_Object_4098_ = Js({u'line':var.get(u'util').callprop(u'getArg', var.get(u'mapping'), Js(u'generatedLine'), var.get(u"null")),u'column':var.get(u'util').callprop(u'getArg', var.get(u'mapping'), Js(u'generatedColumn'), var.get(u"null")),u'lastColumn':var.get(u'util').callprop(u'getArg', var.get(u'mapping'), Js(u'lastGeneratedColumn'), var.get(u"null"))}) + return PyJs_Object_4098_ + PyJs_Object_4099_ = Js({u'line':var.get(u"null"),u'column':var.get(u"null"),u'lastColumn':var.get(u"null")}) + return PyJs_Object_4099_ + PyJs_SourceMapConsumer_generatedPositionFor_4095_._set_name(u'SourceMapConsumer_generatedPositionFor') + var.get(u'BasicSourceMapConsumer').get(u'prototype').put(u'generatedPositionFor', PyJs_SourceMapConsumer_generatedPositionFor_4095_) + var.get(u'exports').put(u'BasicSourceMapConsumer', var.get(u'BasicSourceMapConsumer')) + pass + var.get(u'IndexedSourceMapConsumer').put(u'prototype', var.get(u'Object').callprop(u'create', var.get(u'SourceMapConsumer').get(u'prototype'))) + var.get(u'IndexedSourceMapConsumer').get(u'prototype').put(u'constructor', var.get(u'SourceMapConsumer')) + var.get(u'IndexedSourceMapConsumer').get(u'prototype').put(u'_version', Js(3.0)) + @Js + def PyJs_anonymous_4105_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'sources', u'j']) + var.put(u'sources', Js([])) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(0.0))) and (var.get(u'aGenerated').get(u'column')>=Js(0.0))) and var.get(u'aOriginal').neg()) and var.get(u'aSource').neg()) and var.get(u'aName').neg()): + return var.get('undefined') + else: + def PyJs_LONG_4137_(var=var): + return ((((((((var.get(u'aGenerated') and var.get(u'aGenerated').contains(Js(u'line'))) and var.get(u'aGenerated').contains(Js(u'column'))) and var.get(u'aOriginal')) and var.get(u'aOriginal').contains(Js(u'line'))) and var.get(u'aOriginal').contains(Js(u'column'))) and (var.get(u'aGenerated').get(u'line')>Js(0.0))) and (var.get(u'aGenerated').get(u'column')>=Js(0.0))) and (var.get(u'aOriginal').get(u'line')>Js(0.0))) + if ((PyJs_LONG_4137_() and (var.get(u'aOriginal').get(u'column')>=Js(0.0))) and var.get(u'aSource')): + return var.get('undefined') + else: + PyJs_Object_4138_ = Js({u'generated':var.get(u'aGenerated'),u'source':var.get(u'aSource'),u'original':var.get(u'aOriginal'),u'name':var.get(u'aName')}) + PyJsTempException = JsToPyException(var.get(u'Error').create((Js(u'Invalid mapping: ')+var.get(u'JSON').callprop(u'stringify', PyJs_Object_4138_)))) + raise PyJsTempException + PyJs_SourceMapGenerator_validateMapping_4136_._set_name(u'SourceMapGenerator_validateMapping') + var.get(u'SourceMapGenerator').get(u'prototype').put(u'_validateMapping', PyJs_SourceMapGenerator_validateMapping_4136_) + @Js + def PyJs_SourceMapGenerator_serializeMappings_4139_(this, arguments, var=var): + var = Scope({u'this':this, u'SourceMapGenerator_serializeMappings':PyJs_SourceMapGenerator_serializeMappings_4139_, u'arguments':arguments}, var) + var.registers([u'previousOriginalColumn', u'previousOriginalLine', u'previousGeneratedLine', u'previousSource', u'previousGeneratedColumn', u'i', u'mapping', u'previousName', u'next', u'len', u'nameIdx', u'sourceIdx', u'result', u'mappings']) + var.put(u'previousGeneratedColumn', Js(0.0)) + var.put(u'previousGeneratedLine', Js(1.0)) + var.put(u'previousOriginalColumn', Js(0.0)) + var.put(u'previousOriginalLine', Js(0.0)) + var.put(u'previousName', Js(0.0)) + var.put(u'previousSource', Js(0.0)) + var.put(u'result', Js(u'')) + pass + pass + pass + pass + var.put(u'mappings', var.get(u"this").get(u'_mappings').callprop(u'toArray')) + #for JS loop + var.put(u'i', Js(0.0)) + var.put(u'len', var.get(u'mappings').get(u'length')) + while (var.get(u'i')Js(0.0)): + if var.get(u'util').callprop(u'compareByGeneratedPositionsInflated', var.get(u'mapping'), var.get(u'mappings').get((var.get(u'i')-Js(1.0)))).neg(): + continue + var.put(u'next', Js(u','), u'+') + var.put(u'next', var.get(u'base64VLQ').callprop(u'encode', (var.get(u'mapping').get(u'generatedColumn')-var.get(u'previousGeneratedColumn'))), u'+') + var.put(u'previousGeneratedColumn', var.get(u'mapping').get(u'generatedColumn')) + if (var.get(u'mapping').get(u'source')!=var.get(u"null")): + var.put(u'sourceIdx', var.get(u"this").get(u'_sources').callprop(u'indexOf', var.get(u'mapping').get(u'source'))) + var.put(u'next', var.get(u'base64VLQ').callprop(u'encode', (var.get(u'sourceIdx')-var.get(u'previousSource'))), u'+') + var.put(u'previousSource', var.get(u'sourceIdx')) + var.put(u'next', var.get(u'base64VLQ').callprop(u'encode', ((var.get(u'mapping').get(u'originalLine')-Js(1.0))-var.get(u'previousOriginalLine'))), u'+') + var.put(u'previousOriginalLine', (var.get(u'mapping').get(u'originalLine')-Js(1.0))) + var.put(u'next', var.get(u'base64VLQ').callprop(u'encode', (var.get(u'mapping').get(u'originalColumn')-var.get(u'previousOriginalColumn'))), u'+') + var.put(u'previousOriginalColumn', var.get(u'mapping').get(u'originalColumn')) + if (var.get(u'mapping').get(u'name')!=var.get(u"null")): + var.put(u'nameIdx', var.get(u"this").get(u'_names').callprop(u'indexOf', var.get(u'mapping').get(u'name'))) + var.put(u'next', var.get(u'base64VLQ').callprop(u'encode', (var.get(u'nameIdx')-var.get(u'previousName'))), u'+') + var.put(u'previousName', var.get(u'nameIdx')) + var.put(u'result', var.get(u'next'), u'+') + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + return var.get(u'result') + PyJs_SourceMapGenerator_serializeMappings_4139_._set_name(u'SourceMapGenerator_serializeMappings') + var.get(u'SourceMapGenerator').get(u'prototype').put(u'_serializeMappings', PyJs_SourceMapGenerator_serializeMappings_4139_) + @Js + def PyJs_SourceMapGenerator_generateSourcesContent_4140_(aSources, aSourceRoot, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'SourceMapGenerator_generateSourcesContent':PyJs_SourceMapGenerator_generateSourcesContent_4140_, u'aSources':aSources, u'aSourceRoot':aSourceRoot}, var) + var.registers([u'aSources', u'aSourceRoot']) + @Js + def PyJs_anonymous_4141_(source, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'arguments':arguments}, var) + var.registers([u'source', u'key']) + if var.get(u"this").get(u'_sourcesContents').neg(): + return var.get(u"null") + if (var.get(u'aSourceRoot')!=var.get(u"null")): + var.put(u'source', var.get(u'util').callprop(u'relative', var.get(u'aSourceRoot'), var.get(u'source'))) + var.put(u'key', var.get(u'util').callprop(u'toSetString', var.get(u'source'))) + return (var.get(u"this").get(u'_sourcesContents').get(var.get(u'key')) if var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u"this").get(u'_sourcesContents'), var.get(u'key')) else var.get(u"null")) + PyJs_anonymous_4141_._set_name(u'anonymous') + return var.get(u'aSources').callprop(u'map', PyJs_anonymous_4141_, var.get(u"this")) + PyJs_SourceMapGenerator_generateSourcesContent_4140_._set_name(u'SourceMapGenerator_generateSourcesContent') + var.get(u'SourceMapGenerator').get(u'prototype').put(u'_generateSourcesContent', PyJs_SourceMapGenerator_generateSourcesContent_4140_) + @Js + def PyJs_SourceMapGenerator_toJSON_4142_(this, arguments, var=var): + var = Scope({u'this':this, u'SourceMapGenerator_toJSON':PyJs_SourceMapGenerator_toJSON_4142_, u'arguments':arguments}, var) + var.registers([u'map']) + PyJs_Object_4143_ = Js({u'version':var.get(u"this").get(u'_version'),u'sources':var.get(u"this").get(u'_sources').callprop(u'toArray'),u'names':var.get(u"this").get(u'_names').callprop(u'toArray'),u'mappings':var.get(u"this").callprop(u'_serializeMappings')}) + var.put(u'map', PyJs_Object_4143_) + if (var.get(u"this").get(u'_file')!=var.get(u"null")): + var.get(u'map').put(u'file', var.get(u"this").get(u'_file')) + if (var.get(u"this").get(u'_sourceRoot')!=var.get(u"null")): + var.get(u'map').put(u'sourceRoot', var.get(u"this").get(u'_sourceRoot')) + if var.get(u"this").get(u'_sourcesContents'): + var.get(u'map').put(u'sourcesContent', var.get(u"this").callprop(u'_generateSourcesContent', var.get(u'map').get(u'sources'), var.get(u'map').get(u'sourceRoot'))) + return var.get(u'map') + PyJs_SourceMapGenerator_toJSON_4142_._set_name(u'SourceMapGenerator_toJSON') + var.get(u'SourceMapGenerator').get(u'prototype').put(u'toJSON', PyJs_SourceMapGenerator_toJSON_4142_) + @Js + def PyJs_SourceMapGenerator_toString_4144_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'SourceMapGenerator_toString':PyJs_SourceMapGenerator_toString_4144_}, var) + var.registers([]) + return var.get(u'JSON').callprop(u'stringify', var.get(u"this").callprop(u'toJSON')) + PyJs_SourceMapGenerator_toString_4144_._set_name(u'SourceMapGenerator_toString') + var.get(u'SourceMapGenerator').get(u'prototype').put(u'toString', PyJs_SourceMapGenerator_toString_4144_) + var.get(u'exports').put(u'SourceMapGenerator', var.get(u'SourceMapGenerator')) +PyJs_anonymous_4120_._set_name(u'anonymous') +PyJs_Object_4145_ = Js({u'./array-set':Js(509.0),u'./base64-vlq':Js(510.0),u'./mapping-list':Js(513.0),u'./util':Js(518.0)}) +@Js +def PyJs_anonymous_4146_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'util', u'exports', u'NEWLINE_CODE', u'SourceNode', u'require', u'isSourceNode', u'module', u'SourceMapGenerator', u'REGEX_NEWLINE']) + @Js + def PyJsHoisted_SourceNode_(aLine, aColumn, aSource, aChunks, aName, this, arguments, var=var): + var = Scope({u'aChunks':aChunks, u'aSource':aSource, u'aLine':aLine, u'this':this, u'aColumn':aColumn, u'aName':aName, u'arguments':arguments}, var) + var.registers([u'aChunks', u'aColumn', u'aSource', u'aLine', u'aName']) + var.get(u"this").put(u'children', Js([])) + PyJs_Object_4147_ = Js({}) + var.get(u"this").put(u'sourceContents', PyJs_Object_4147_) + var.get(u"this").put(u'line', (var.get(u"null") if (var.get(u'aLine')==var.get(u"null")) else var.get(u'aLine'))) + var.get(u"this").put(u'column', (var.get(u"null") if (var.get(u'aColumn')==var.get(u"null")) else var.get(u'aColumn'))) + var.get(u"this").put(u'source', (var.get(u"null") if (var.get(u'aSource')==var.get(u"null")) else var.get(u'aSource'))) + var.get(u"this").put(u'name', (var.get(u"null") if (var.get(u'aName')==var.get(u"null")) else var.get(u'aName'))) + var.get(u"this").put(var.get(u'isSourceNode'), var.get(u'true')) + if (var.get(u'aChunks')!=var.get(u"null")): + var.get(u"this").callprop(u'add', var.get(u'aChunks')) + PyJsHoisted_SourceNode_.func_name = u'SourceNode' + var.put(u'SourceNode', PyJsHoisted_SourceNode_) + var.put(u'SourceMapGenerator', var.get(u'require')(Js(u'./source-map-generator')).get(u'SourceMapGenerator')) + var.put(u'util', var.get(u'require')(Js(u'./util'))) + var.put(u'REGEX_NEWLINE', JsRegExp(u'/(\\r?\\n)/')) + var.put(u'NEWLINE_CODE', Js(10.0)) + var.put(u'isSourceNode', Js(u'$$$isSourceNode$$$')) + pass + @Js + def PyJs_SourceNode_fromStringWithSourceMap_4148_(aGeneratedCode, aSourceMapConsumer, aRelativePath, this, arguments, var=var): + var = Scope({u'aSourceMapConsumer':aSourceMapConsumer, u'this':this, u'aRelativePath':aRelativePath, u'aGeneratedCode':aGeneratedCode, u'SourceNode_fromStringWithSourceMap':PyJs_SourceNode_fromStringWithSourceMap_4148_, u'arguments':arguments}, var) + var.registers([u'node', u'lastMapping', u'remainingLines', u'aSourceMapConsumer', u'aGeneratedCode', u'lastGeneratedLine', u'aRelativePath', u'addMappingWithCode', u'shiftNextLine', u'lastGeneratedColumn']) + @Js + def PyJsHoisted_addMappingWithCode_(mapping, code, this, arguments, var=var): + var = Scope({u'this':this, u'code':code, u'mapping':mapping, u'arguments':arguments}, var) + var.registers([u'source', u'code', u'mapping']) + if (PyJsStrictEq(var.get(u'mapping'),var.get(u"null")) or PyJsStrictEq(var.get(u'mapping').get(u'source'),var.get(u'undefined'))): + var.get(u'node').callprop(u'add', var.get(u'code')) + else: + var.put(u'source', (var.get(u'util').callprop(u'join', var.get(u'aRelativePath'), var.get(u'mapping').get(u'source')) if var.get(u'aRelativePath') else var.get(u'mapping').get(u'source'))) + var.get(u'node').callprop(u'add', var.get(u'SourceNode').create(var.get(u'mapping').get(u'originalLine'), var.get(u'mapping').get(u'originalColumn'), var.get(u'source'), var.get(u'code'), var.get(u'mapping').get(u'name'))) + PyJsHoisted_addMappingWithCode_.func_name = u'addMappingWithCode' + var.put(u'addMappingWithCode', PyJsHoisted_addMappingWithCode_) + var.put(u'node', var.get(u'SourceNode').create()) + var.put(u'remainingLines', var.get(u'aGeneratedCode').callprop(u'split', var.get(u'REGEX_NEWLINE'))) + @Js + def PyJs_anonymous_4149_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'newLine', u'lineContents']) + var.put(u'lineContents', var.get(u'remainingLines').callprop(u'shift')) + var.put(u'newLine', (var.get(u'remainingLines').callprop(u'shift') or Js(u''))) + return (var.get(u'lineContents')+var.get(u'newLine')) + PyJs_anonymous_4149_._set_name(u'anonymous') + var.put(u'shiftNextLine', PyJs_anonymous_4149_) + var.put(u'lastGeneratedLine', Js(1.0)) + var.put(u'lastGeneratedColumn', Js(0.0)) + var.put(u'lastMapping', var.get(u"null")) + @Js + def PyJs_anonymous_4150_(mapping, this, arguments, var=var): + var = Scope({u'this':this, u'mapping':mapping, u'arguments':arguments}, var) + var.registers([u'nextLine', u'code', u'mapping']) + if PyJsStrictNeq(var.get(u'lastMapping'),var.get(u"null")): + if (var.get(u'lastGeneratedLine')Js(0.0)): + if var.get(u'lastMapping'): + var.get(u'addMappingWithCode')(var.get(u'lastMapping'), var.get(u'shiftNextLine')()) + var.get(u'node').callprop(u'add', var.get(u'remainingLines').callprop(u'join', Js(u''))) + @Js + def PyJs_anonymous_4151_(sourceFile, this, arguments, var=var): + var = Scope({u'this':this, u'sourceFile':sourceFile, u'arguments':arguments}, var) + var.registers([u'content', u'sourceFile']) + var.put(u'content', var.get(u'aSourceMapConsumer').callprop(u'sourceContentFor', var.get(u'sourceFile'))) + if (var.get(u'content')!=var.get(u"null")): + if (var.get(u'aRelativePath')!=var.get(u"null")): + var.put(u'sourceFile', var.get(u'util').callprop(u'join', var.get(u'aRelativePath'), var.get(u'sourceFile'))) + var.get(u'node').callprop(u'setSourceContent', var.get(u'sourceFile'), var.get(u'content')) + PyJs_anonymous_4151_._set_name(u'anonymous') + var.get(u'aSourceMapConsumer').get(u'sources').callprop(u'forEach', PyJs_anonymous_4151_) + return var.get(u'node') + pass + PyJs_SourceNode_fromStringWithSourceMap_4148_._set_name(u'SourceNode_fromStringWithSourceMap') + var.get(u'SourceNode').put(u'fromStringWithSourceMap', PyJs_SourceNode_fromStringWithSourceMap_4148_) + @Js + def PyJs_SourceNode_add_4152_(aChunk, this, arguments, var=var): + var = Scope({u'this':this, u'SourceNode_add':PyJs_SourceNode_add_4152_, u'arguments':arguments, u'aChunk':aChunk}, var) + var.registers([u'aChunk']) + if var.get(u'Array').callprop(u'isArray', var.get(u'aChunk')): + @Js + def PyJs_anonymous_4153_(chunk, this, arguments, var=var): + var = Scope({u'this':this, u'chunk':chunk, u'arguments':arguments}, var) + var.registers([u'chunk']) + var.get(u"this").callprop(u'add', var.get(u'chunk')) + PyJs_anonymous_4153_._set_name(u'anonymous') + var.get(u'aChunk').callprop(u'forEach', PyJs_anonymous_4153_, var.get(u"this")) + else: + if (var.get(u'aChunk').get(var.get(u'isSourceNode')) or PyJsStrictEq(var.get(u'aChunk',throw=False).typeof(),Js(u'string'))): + if var.get(u'aChunk'): + var.get(u"this").get(u'children').callprop(u'push', var.get(u'aChunk')) + else: + PyJsTempException = JsToPyException(var.get(u'TypeError').create((Js(u'Expected a SourceNode, string, or an array of SourceNodes and strings. Got ')+var.get(u'aChunk')))) + raise PyJsTempException + return var.get(u"this") + PyJs_SourceNode_add_4152_._set_name(u'SourceNode_add') + var.get(u'SourceNode').get(u'prototype').put(u'add', PyJs_SourceNode_add_4152_) + @Js + def PyJs_SourceNode_prepend_4154_(aChunk, this, arguments, var=var): + var = Scope({u'this':this, u'SourceNode_prepend':PyJs_SourceNode_prepend_4154_, u'arguments':arguments, u'aChunk':aChunk}, var) + var.registers([u'i', u'aChunk']) + if var.get(u'Array').callprop(u'isArray', var.get(u'aChunk')): + #for JS loop + var.put(u'i', (var.get(u'aChunk').get(u'length')-Js(1.0))) + while (var.get(u'i')>=Js(0.0)): + try: + var.get(u"this").callprop(u'prepend', var.get(u'aChunk').get(var.get(u'i'))) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + else: + if (var.get(u'aChunk').get(var.get(u'isSourceNode')) or PyJsStrictEq(var.get(u'aChunk',throw=False).typeof(),Js(u'string'))): + var.get(u"this").get(u'children').callprop(u'unshift', var.get(u'aChunk')) + else: + PyJsTempException = JsToPyException(var.get(u'TypeError').create((Js(u'Expected a SourceNode, string, or an array of SourceNodes and strings. Got ')+var.get(u'aChunk')))) + raise PyJsTempException + return var.get(u"this") + PyJs_SourceNode_prepend_4154_._set_name(u'SourceNode_prepend') + var.get(u'SourceNode').get(u'prototype').put(u'prepend', PyJs_SourceNode_prepend_4154_) + @Js + def PyJs_SourceNode_walk_4155_(aFn, this, arguments, var=var): + var = Scope({u'this':this, u'aFn':aFn, u'arguments':arguments, u'SourceNode_walk':PyJs_SourceNode_walk_4155_}, var) + var.registers([u'i', u'chunk', u'aFn', u'len']) + pass + #for JS loop + var.put(u'i', Js(0.0)) + var.put(u'len', var.get(u"this").get(u'children').get(u'length')) + while (var.get(u'i')Js(0.0)): + var.put(u'newChildren', Js([])) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')<(var.get(u'len')-Js(1.0))): + try: + var.get(u'newChildren').callprop(u'push', var.get(u"this").get(u'children').get(var.get(u'i'))) + var.get(u'newChildren').callprop(u'push', var.get(u'aSep')) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + var.get(u'newChildren').callprop(u'push', var.get(u"this").get(u'children').get(var.get(u'i'))) + var.get(u"this").put(u'children', var.get(u'newChildren')) + return var.get(u"this") + PyJs_SourceNode_join_4157_._set_name(u'SourceNode_join') + var.get(u'SourceNode').get(u'prototype').put(u'join', PyJs_SourceNode_join_4157_) + @Js + def PyJs_SourceNode_replaceRight_4158_(aPattern, aReplacement, this, arguments, var=var): + var = Scope({u'this':this, u'aPattern':aPattern, u'aReplacement':aReplacement, u'arguments':arguments, u'SourceNode_replaceRight':PyJs_SourceNode_replaceRight_4158_}, var) + var.registers([u'aPattern', u'lastChild', u'aReplacement']) + var.put(u'lastChild', var.get(u"this").get(u'children').get((var.get(u"this").get(u'children').get(u'length')-Js(1.0)))) + if var.get(u'lastChild').get(var.get(u'isSourceNode')): + var.get(u'lastChild').callprop(u'replaceRight', var.get(u'aPattern'), var.get(u'aReplacement')) + else: + if PyJsStrictEq(var.get(u'lastChild',throw=False).typeof(),Js(u'string')): + var.get(u"this").get(u'children').put((var.get(u"this").get(u'children').get(u'length')-Js(1.0)), var.get(u'lastChild').callprop(u'replace', var.get(u'aPattern'), var.get(u'aReplacement'))) + else: + var.get(u"this").get(u'children').callprop(u'push', Js(u'').callprop(u'replace', var.get(u'aPattern'), var.get(u'aReplacement'))) + return var.get(u"this") + PyJs_SourceNode_replaceRight_4158_._set_name(u'SourceNode_replaceRight') + var.get(u'SourceNode').get(u'prototype').put(u'replaceRight', PyJs_SourceNode_replaceRight_4158_) + @Js + def PyJs_SourceNode_setSourceContent_4159_(aSourceFile, aSourceContent, this, arguments, var=var): + var = Scope({u'this':this, u'aSourceContent':aSourceContent, u'aSourceFile':aSourceFile, u'arguments':arguments, u'SourceNode_setSourceContent':PyJs_SourceNode_setSourceContent_4159_}, var) + var.registers([u'aSourceContent', u'aSourceFile']) + var.get(u"this").get(u'sourceContents').put(var.get(u'util').callprop(u'toSetString', var.get(u'aSourceFile')), var.get(u'aSourceContent')) + PyJs_SourceNode_setSourceContent_4159_._set_name(u'SourceNode_setSourceContent') + var.get(u'SourceNode').get(u'prototype').put(u'setSourceContent', PyJs_SourceNode_setSourceContent_4159_) + @Js + def PyJs_SourceNode_walkSourceContents_4160_(aFn, this, arguments, var=var): + var = Scope({u'this':this, u'aFn':aFn, u'arguments':arguments, u'SourceNode_walkSourceContents':PyJs_SourceNode_walkSourceContents_4160_}, var) + var.registers([u'i', u'sources', u'aFn', u'len']) + #for JS loop + var.put(u'i', Js(0.0)) + var.put(u'len', var.get(u"this").get(u'children').get(u'length')) + while (var.get(u'i')=Js(0.0)): + try: + var.put(u'part', var.get(u'parts').get(var.get(u'i'))) + if PyJsStrictEq(var.get(u'part'),Js(u'.')): + var.get(u'parts').callprop(u'splice', var.get(u'i'), Js(1.0)) + else: + if PyJsStrictEq(var.get(u'part'),Js(u'..')): + (var.put(u'up',Js(var.get(u'up').to_number())+Js(1))-Js(1)) + else: + if (var.get(u'up')>Js(0.0)): + if PyJsStrictEq(var.get(u'part'),Js(u'')): + var.get(u'parts').callprop(u'splice', (var.get(u'i')+Js(1.0)), var.get(u'up')) + var.put(u'up', Js(0.0)) + else: + var.get(u'parts').callprop(u'splice', var.get(u'i'), Js(2.0)) + (var.put(u'up',Js(var.get(u'up').to_number())-Js(1))+Js(1)) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + var.put(u'path', var.get(u'parts').callprop(u'join', Js(u'/'))) + if PyJsStrictEq(var.get(u'path'),Js(u'')): + var.put(u'path', (Js(u'/') if var.get(u'isAbsolute') else Js(u'.'))) + if var.get(u'url'): + var.get(u'url').put(u'path', var.get(u'path')) + return var.get(u'urlGenerate')(var.get(u'url')) + return var.get(u'path') + PyJsHoisted_normalize_.func_name = u'normalize' + var.put(u'normalize', PyJsHoisted_normalize_) + @Js + def PyJsHoisted_urlGenerate_(aParsedUrl, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'aParsedUrl':aParsedUrl}, var) + var.registers([u'url', u'aParsedUrl']) + var.put(u'url', Js(u'')) + if var.get(u'aParsedUrl').get(u'scheme'): + var.put(u'url', (var.get(u'aParsedUrl').get(u'scheme')+Js(u':')), u'+') + var.put(u'url', Js(u'//'), u'+') + if var.get(u'aParsedUrl').get(u'auth'): + var.put(u'url', (var.get(u'aParsedUrl').get(u'auth')+Js(u'@')), u'+') + if var.get(u'aParsedUrl').get(u'host'): + var.put(u'url', var.get(u'aParsedUrl').get(u'host'), u'+') + if var.get(u'aParsedUrl').get(u'port'): + var.put(u'url', (Js(u':')+var.get(u'aParsedUrl').get(u'port')), u'+') + if var.get(u'aParsedUrl').get(u'path'): + var.put(u'url', var.get(u'aParsedUrl').get(u'path'), u'+') + return var.get(u'url') + PyJsHoisted_urlGenerate_.func_name = u'urlGenerate' + var.put(u'urlGenerate', PyJsHoisted_urlGenerate_) + @Js + def PyJsHoisted_compareByGeneratedPositionsDeflated_(mappingA, mappingB, onlyCompareGenerated, this, arguments, var=var): + var = Scope({u'this':this, u'mappingB':mappingB, u'arguments':arguments, u'onlyCompareGenerated':onlyCompareGenerated, u'mappingA':mappingA}, var) + var.registers([u'mappingA', u'mappingB', u'onlyCompareGenerated', u'cmp']) + var.put(u'cmp', (var.get(u'mappingA').get(u'generatedLine')-var.get(u'mappingB').get(u'generatedLine'))) + if PyJsStrictNeq(var.get(u'cmp'),Js(0.0)): + return var.get(u'cmp') + var.put(u'cmp', (var.get(u'mappingA').get(u'generatedColumn')-var.get(u'mappingB').get(u'generatedColumn'))) + if (PyJsStrictNeq(var.get(u'cmp'),Js(0.0)) or var.get(u'onlyCompareGenerated')): + return var.get(u'cmp') + var.put(u'cmp', (var.get(u'mappingA').get(u'source')-var.get(u'mappingB').get(u'source'))) + if PyJsStrictNeq(var.get(u'cmp'),Js(0.0)): + return var.get(u'cmp') + var.put(u'cmp', (var.get(u'mappingA').get(u'originalLine')-var.get(u'mappingB').get(u'originalLine'))) + if PyJsStrictNeq(var.get(u'cmp'),Js(0.0)): + return var.get(u'cmp') + var.put(u'cmp', (var.get(u'mappingA').get(u'originalColumn')-var.get(u'mappingB').get(u'originalColumn'))) + if PyJsStrictNeq(var.get(u'cmp'),Js(0.0)): + return var.get(u'cmp') + return (var.get(u'mappingA').get(u'name')-var.get(u'mappingB').get(u'name')) + PyJsHoisted_compareByGeneratedPositionsDeflated_.func_name = u'compareByGeneratedPositionsDeflated' + var.put(u'compareByGeneratedPositionsDeflated', PyJsHoisted_compareByGeneratedPositionsDeflated_) + @Js + def PyJsHoisted_join_(aRoot, aPath, this, arguments, var=var): + var = Scope({u'aRoot':aRoot, u'aPath':aPath, u'this':this, u'arguments':arguments}, var) + var.registers([u'aRootUrl', u'aRoot', u'aPath', u'joined', u'aPathUrl']) + if PyJsStrictEq(var.get(u'aRoot'),Js(u'')): + var.put(u'aRoot', Js(u'.')) + if PyJsStrictEq(var.get(u'aPath'),Js(u'')): + var.put(u'aPath', Js(u'.')) + var.put(u'aPathUrl', var.get(u'urlParse')(var.get(u'aPath'))) + var.put(u'aRootUrl', var.get(u'urlParse')(var.get(u'aRoot'))) + if var.get(u'aRootUrl'): + var.put(u'aRoot', (var.get(u'aRootUrl').get(u'path') or Js(u'/'))) + if (var.get(u'aPathUrl') and var.get(u'aPathUrl').get(u'scheme').neg()): + if var.get(u'aRootUrl'): + var.get(u'aPathUrl').put(u'scheme', var.get(u'aRootUrl').get(u'scheme')) + return var.get(u'urlGenerate')(var.get(u'aPathUrl')) + if (var.get(u'aPathUrl') or var.get(u'aPath').callprop(u'match', var.get(u'dataUrlRegexp'))): + return var.get(u'aPath') + if ((var.get(u'aRootUrl') and var.get(u'aRootUrl').get(u'host').neg()) and var.get(u'aRootUrl').get(u'path').neg()): + var.get(u'aRootUrl').put(u'host', var.get(u'aPath')) + return var.get(u'urlGenerate')(var.get(u'aRootUrl')) + var.put(u'joined', (var.get(u'aPath') if PyJsStrictEq(var.get(u'aPath').callprop(u'charAt', Js(0.0)),Js(u'/')) else var.get(u'normalize')(((var.get(u'aRoot').callprop(u'replace', JsRegExp(u'/\\/+$/'), Js(u''))+Js(u'/'))+var.get(u'aPath'))))) + if var.get(u'aRootUrl'): + var.get(u'aRootUrl').put(u'path', var.get(u'joined')) + return var.get(u'urlGenerate')(var.get(u'aRootUrl')) + return var.get(u'joined') + PyJsHoisted_join_.func_name = u'join' + var.put(u'join', PyJsHoisted_join_) + @Js + def PyJsHoisted_relative_(aRoot, aPath, this, arguments, var=var): + var = Scope({u'aRoot':aRoot, u'aPath':aPath, u'this':this, u'arguments':arguments}, var) + var.registers([u'aRoot', u'index', u'aPath', u'level']) + if PyJsStrictEq(var.get(u'aRoot'),Js(u'')): + var.put(u'aRoot', Js(u'.')) + var.put(u'aRoot', var.get(u'aRoot').callprop(u'replace', JsRegExp(u'/\\/$/'), Js(u''))) + var.put(u'level', Js(0.0)) + while PyJsStrictNeq(var.get(u'aPath').callprop(u'indexOf', (var.get(u'aRoot')+Js(u'/'))),Js(0.0)): + var.put(u'index', var.get(u'aRoot').callprop(u'lastIndexOf', Js(u'/'))) + if (var.get(u'index')=Js(0.0)): + try: + if PyJsStrictNeq(var.get(u's').callprop(u'charCodeAt', var.get(u'i')),Js(36.0)): + return Js(False) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + return var.get(u'true') + PyJsHoisted_isProtoString_.func_name = u'isProtoString' + var.put(u'isProtoString', PyJsHoisted_isProtoString_) + @Js + def PyJsHoisted_compareByOriginalPositions_(mappingA, mappingB, onlyCompareOriginal, this, arguments, var=var): + var = Scope({u'this':this, u'onlyCompareOriginal':onlyCompareOriginal, u'mappingB':mappingB, u'arguments':arguments, u'mappingA':mappingA}, var) + var.registers([u'onlyCompareOriginal', u'mappingA', u'mappingB', u'cmp']) + var.put(u'cmp', (var.get(u'mappingA').get(u'source')-var.get(u'mappingB').get(u'source'))) + if PyJsStrictNeq(var.get(u'cmp'),Js(0.0)): + return var.get(u'cmp') + var.put(u'cmp', (var.get(u'mappingA').get(u'originalLine')-var.get(u'mappingB').get(u'originalLine'))) + if PyJsStrictNeq(var.get(u'cmp'),Js(0.0)): + return var.get(u'cmp') + var.put(u'cmp', (var.get(u'mappingA').get(u'originalColumn')-var.get(u'mappingB').get(u'originalColumn'))) + if (PyJsStrictNeq(var.get(u'cmp'),Js(0.0)) or var.get(u'onlyCompareOriginal')): + return var.get(u'cmp') + var.put(u'cmp', (var.get(u'mappingA').get(u'generatedColumn')-var.get(u'mappingB').get(u'generatedColumn'))) + if PyJsStrictNeq(var.get(u'cmp'),Js(0.0)): + return var.get(u'cmp') + var.put(u'cmp', (var.get(u'mappingA').get(u'generatedLine')-var.get(u'mappingB').get(u'generatedLine'))) + if PyJsStrictNeq(var.get(u'cmp'),Js(0.0)): + return var.get(u'cmp') + return (var.get(u'mappingA').get(u'name')-var.get(u'mappingB').get(u'name')) + PyJsHoisted_compareByOriginalPositions_.func_name = u'compareByOriginalPositions' + var.put(u'compareByOriginalPositions', PyJsHoisted_compareByOriginalPositions_) + @Js + def PyJsHoisted_strcmp_(aStr1, aStr2, this, arguments, var=var): + var = Scope({u'this':this, u'aStr2':aStr2, u'aStr1':aStr1, u'arguments':arguments}, var) + var.registers([u'aStr2', u'aStr1']) + if PyJsStrictEq(var.get(u'aStr1'),var.get(u'aStr2')): + return Js(0.0) + if (var.get(u'aStr1')>var.get(u'aStr2')): + return Js(1.0) + return (-Js(1.0)) + PyJsHoisted_strcmp_.func_name = u'strcmp' + var.put(u'strcmp', PyJsHoisted_strcmp_) + @Js + def PyJsHoisted_getArg_(aArgs, aName, aDefaultValue, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'aDefaultValue':aDefaultValue, u'aName':aName, u'aArgs':aArgs}, var) + var.registers([u'aDefaultValue', u'aName', u'aArgs']) + if var.get(u'aArgs').contains(var.get(u'aName')): + return var.get(u'aArgs').get(var.get(u'aName')) + else: + if PyJsStrictEq(var.get(u'arguments').get(u'length'),Js(3.0)): + return var.get(u'aDefaultValue') + else: + PyJsTempException = JsToPyException(var.get(u'Error').create(((Js(u'"')+var.get(u'aName'))+Js(u'" is a required argument.')))) + raise PyJsTempException + PyJsHoisted_getArg_.func_name = u'getArg' + var.put(u'getArg', PyJsHoisted_getArg_) + @Js + def PyJsHoisted_toSetString_(aStr, this, arguments, var=var): + var = Scope({u'this':this, u'aStr':aStr, u'arguments':arguments}, var) + var.registers([u'aStr']) + if var.get(u'isProtoString')(var.get(u'aStr')): + return (Js(u'$')+var.get(u'aStr')) + return var.get(u'aStr') + PyJsHoisted_toSetString_.func_name = u'toSetString' + var.put(u'toSetString', PyJsHoisted_toSetString_) + pass + var.get(u'exports').put(u'getArg', var.get(u'getArg')) + var.put(u'urlRegexp', JsRegExp(u'/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/')) + var.put(u'dataUrlRegexp', JsRegExp(u'/^data:.+\\,.+$/')) + pass + var.get(u'exports').put(u'urlParse', var.get(u'urlParse')) + pass + var.get(u'exports').put(u'urlGenerate', var.get(u'urlGenerate')) + pass + var.get(u'exports').put(u'normalize', var.get(u'normalize')) + pass + var.get(u'exports').put(u'join', var.get(u'join')) + @Js + def PyJs_anonymous_4179_(aPath, this, arguments, var=var): + var = Scope({u'this':this, u'aPath':aPath, u'arguments':arguments}, var) + var.registers([u'aPath']) + return (PyJsStrictEq(var.get(u'aPath').callprop(u'charAt', Js(0.0)),Js(u'/')) or var.get(u'aPath').callprop(u'match', var.get(u'urlRegexp')).neg().neg()) + PyJs_anonymous_4179_._set_name(u'anonymous') + var.get(u'exports').put(u'isAbsolute', PyJs_anonymous_4179_) + pass + var.get(u'exports').put(u'relative', var.get(u'relative')) + @Js + def PyJs_anonymous_4180_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'obj']) + var.put(u'obj', var.get(u'Object').callprop(u'create', var.get(u"null"))) + return var.get(u'obj').contains(Js(u'__proto__')).neg() + PyJs_anonymous_4180_._set_name(u'anonymous') + var.put(u'supportsNullProto', PyJs_anonymous_4180_()) + pass + pass + var.get(u'exports').put(u'toSetString', (var.get(u'identity') if var.get(u'supportsNullProto') else var.get(u'toSetString'))) + pass + var.get(u'exports').put(u'fromSetString', (var.get(u'identity') if var.get(u'supportsNullProto') else var.get(u'fromSetString'))) + pass + pass + var.get(u'exports').put(u'compareByOriginalPositions', var.get(u'compareByOriginalPositions')) + pass + var.get(u'exports').put(u'compareByGeneratedPositionsDeflated', var.get(u'compareByGeneratedPositionsDeflated')) + pass + pass + var.get(u'exports').put(u'compareByGeneratedPositionsInflated', var.get(u'compareByGeneratedPositionsInflated')) +PyJs_anonymous_4177_._set_name(u'anonymous') +PyJs_Object_4183_ = Js({}) +@Js +def PyJs_anonymous_4184_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + var.get(u'exports').put(u'SourceMapGenerator', var.get(u'require')(Js(u'./lib/source-map-generator')).get(u'SourceMapGenerator')) + var.get(u'exports').put(u'SourceMapConsumer', var.get(u'require')(Js(u'./lib/source-map-consumer')).get(u'SourceMapConsumer')) + var.get(u'exports').put(u'SourceNode', var.get(u'require')(Js(u'./lib/source-node')).get(u'SourceNode')) +PyJs_anonymous_4184_._set_name(u'anonymous') +PyJs_Object_4185_ = Js({u'./lib/source-map-consumer':Js(515.0),u'./lib/source-map-generator':Js(516.0),u'./lib/source-node':Js(517.0)}) +@Js +def PyJs_anonymous_4186_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'ansiRegex', u'exports', u'module']) + Js(u'use strict') + var.put(u'ansiRegex', var.get(u'require')(Js(u'ansi-regex'))()) + @Js + def PyJs_anonymous_4187_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str}, var) + var.registers([u'str']) + return (var.get(u'str').callprop(u'replace', var.get(u'ansiRegex'), Js(u'')) if PyJsStrictEq(var.get(u'str',throw=False).typeof(),Js(u'string')) else var.get(u'str')) + PyJs_anonymous_4187_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_4187_) +PyJs_anonymous_4186_._set_name(u'anonymous') +PyJs_Object_4188_ = Js({u'ansi-regex':Js(2.0)}) +@Js +def PyJs_anonymous_4189_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_4190_(process, this, arguments, var=var): + var = Scope({u'process':process, u'this':this, u'arguments':arguments}, var) + var.registers([u'process', u'hasFlag', u'terminator', u'argv']) + Js(u'use strict') + var.put(u'argv', var.get(u'process').get(u'argv')) + var.put(u'terminator', var.get(u'argv').callprop(u'indexOf', Js(u'--'))) + @Js + def PyJs_anonymous_4191_(flag, this, arguments, var=var): + var = Scope({u'this':this, u'flag':flag, u'arguments':arguments}, var) + var.registers([u'flag', u'pos']) + var.put(u'flag', (Js(u'--')+var.get(u'flag'))) + var.put(u'pos', var.get(u'argv').callprop(u'indexOf', var.get(u'flag'))) + return (PyJsStrictNeq(var.get(u'pos'),(-Js(1.0))) and ((var.get(u'pos')=Js(0.0)): + try: + if (var.get(u'ka').get(var.get(u'i'))!=var.get(u'kb').get(var.get(u'i'))): + return Js(False) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + #for JS loop + var.put(u'i', (var.get(u'ka').get(u'length')-Js(1.0))) + while (var.get(u'i')>=Js(0.0)): + try: + var.put(u'key', var.get(u'ka').get(var.get(u'i'))) + if var.get(u'_deepEqual')(var.get(u'a').get(var.get(u'key')), var.get(u'b').get(var.get(u'key'))).neg(): + return Js(False) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + return var.get(u'true') + PyJsHoisted_objEquiv_.func_name = u'objEquiv' + var.put(u'objEquiv', PyJsHoisted_objEquiv_) + @Js + def PyJsHoisted_isArguments_(object, this, arguments, var=var): + var = Scope({u'this':this, u'object':object, u'arguments':arguments}, var) + var.registers([u'object']) + return (var.get(u'Object').get(u'prototype').get(u'toString').callprop(u'call', var.get(u'object'))==Js(u'[object Arguments]')) + PyJsHoisted_isArguments_.func_name = u'isArguments' + var.put(u'isArguments', PyJsHoisted_isArguments_) + var.put(u'util', var.get(u'require')(Js(u'util/'))) + var.put(u'pSlice', var.get(u'Array').get(u'prototype').get(u'slice')) + var.put(u'hasOwn', var.get(u'Object').get(u'prototype').get(u'hasOwnProperty')) + var.put(u'assert', var.get(u'module').put(u'exports', var.get(u'ok'))) + @Js + def PyJs_AssertionError_4200_(options, this, arguments, var=var): + var = Scope({u'this':this, u'AssertionError':PyJs_AssertionError_4200_, u'options':options, u'arguments':arguments}, var) + var.registers([u'next_line', u'err', u'idx', u'stackStartFunction', u'fn_name', u'options', u'out']) + var.get(u"this").put(u'name', Js(u'AssertionError')) + var.get(u"this").put(u'actual', var.get(u'options').get(u'actual')) + var.get(u"this").put(u'expected', var.get(u'options').get(u'expected')) + var.get(u"this").put(u'operator', var.get(u'options').get(u'operator')) + if var.get(u'options').get(u'message'): + var.get(u"this").put(u'message', var.get(u'options').get(u'message')) + var.get(u"this").put(u'generatedMessage', Js(False)) + else: + var.get(u"this").put(u'message', var.get(u'getMessage')(var.get(u"this"))) + var.get(u"this").put(u'generatedMessage', var.get(u'true')) + var.put(u'stackStartFunction', (var.get(u'options').get(u'stackStartFunction') or var.get(u'fail'))) + if var.get(u'Error').get(u'captureStackTrace'): + var.get(u'Error').callprop(u'captureStackTrace', var.get(u"this"), var.get(u'stackStartFunction')) + else: + var.put(u'err', var.get(u'Error').create()) + if var.get(u'err').get(u'stack'): + var.put(u'out', var.get(u'err').get(u'stack')) + var.put(u'fn_name', var.get(u'stackStartFunction').get(u'name')) + var.put(u'idx', var.get(u'out').callprop(u'indexOf', (Js(u'\n')+var.get(u'fn_name')))) + if (var.get(u'idx')>=Js(0.0)): + var.put(u'next_line', var.get(u'out').callprop(u'indexOf', Js(u'\n'), (var.get(u'idx')+Js(1.0)))) + var.put(u'out', var.get(u'out').callprop(u'substring', (var.get(u'next_line')+Js(1.0)))) + var.get(u"this").put(u'stack', var.get(u'out')) + PyJs_AssertionError_4200_._set_name(u'AssertionError') + var.get(u'assert').put(u'AssertionError', PyJs_AssertionError_4200_) + var.get(u'util').callprop(u'inherits', var.get(u'assert').get(u'AssertionError'), var.get(u'Error')) + pass + pass + pass + pass + var.get(u'assert').put(u'fail', var.get(u'fail')) + pass + var.get(u'assert').put(u'ok', var.get(u'ok')) + @Js + def PyJs_equal_4202_(actual, expected, message, this, arguments, var=var): + var = Scope({u'actual':actual, u'this':this, u'equal':PyJs_equal_4202_, u'arguments':arguments, u'expected':expected, u'message':message}, var) + var.registers([u'expected', u'message', u'actual']) + if (var.get(u'actual')!=var.get(u'expected')): + var.get(u'fail')(var.get(u'actual'), var.get(u'expected'), var.get(u'message'), Js(u'=='), var.get(u'assert').get(u'equal')) + PyJs_equal_4202_._set_name(u'equal') + var.get(u'assert').put(u'equal', PyJs_equal_4202_) + @Js + def PyJs_notEqual_4203_(actual, expected, message, this, arguments, var=var): + var = Scope({u'notEqual':PyJs_notEqual_4203_, u'actual':actual, u'this':this, u'arguments':arguments, u'expected':expected, u'message':message}, var) + var.registers([u'expected', u'message', u'actual']) + if (var.get(u'actual')==var.get(u'expected')): + var.get(u'fail')(var.get(u'actual'), var.get(u'expected'), var.get(u'message'), Js(u'!='), var.get(u'assert').get(u'notEqual')) + PyJs_notEqual_4203_._set_name(u'notEqual') + var.get(u'assert').put(u'notEqual', PyJs_notEqual_4203_) + @Js + def PyJs_deepEqual_4204_(actual, expected, message, this, arguments, var=var): + var = Scope({u'actual':actual, u'this':this, u'arguments':arguments, u'expected':expected, u'message':message, u'deepEqual':PyJs_deepEqual_4204_}, var) + var.registers([u'expected', u'message', u'actual']) + if var.get(u'_deepEqual')(var.get(u'actual'), var.get(u'expected')).neg(): + var.get(u'fail')(var.get(u'actual'), var.get(u'expected'), var.get(u'message'), Js(u'deepEqual'), var.get(u'assert').get(u'deepEqual')) + PyJs_deepEqual_4204_._set_name(u'deepEqual') + var.get(u'assert').put(u'deepEqual', PyJs_deepEqual_4204_) + pass + pass + pass + @Js + def PyJs_notDeepEqual_4206_(actual, expected, message, this, arguments, var=var): + var = Scope({u'actual':actual, u'this':this, u'notDeepEqual':PyJs_notDeepEqual_4206_, u'arguments':arguments, u'expected':expected, u'message':message}, var) + var.registers([u'expected', u'message', u'actual']) + if var.get(u'_deepEqual')(var.get(u'actual'), var.get(u'expected')): + var.get(u'fail')(var.get(u'actual'), var.get(u'expected'), var.get(u'message'), Js(u'notDeepEqual'), var.get(u'assert').get(u'notDeepEqual')) + PyJs_notDeepEqual_4206_._set_name(u'notDeepEqual') + var.get(u'assert').put(u'notDeepEqual', PyJs_notDeepEqual_4206_) + @Js + def PyJs_strictEqual_4207_(actual, expected, message, this, arguments, var=var): + var = Scope({u'actual':actual, u'this':this, u'arguments':arguments, u'expected':expected, u'message':message, u'strictEqual':PyJs_strictEqual_4207_}, var) + var.registers([u'expected', u'message', u'actual']) + if PyJsStrictNeq(var.get(u'actual'),var.get(u'expected')): + var.get(u'fail')(var.get(u'actual'), var.get(u'expected'), var.get(u'message'), Js(u'==='), var.get(u'assert').get(u'strictEqual')) + PyJs_strictEqual_4207_._set_name(u'strictEqual') + var.get(u'assert').put(u'strictEqual', PyJs_strictEqual_4207_) + @Js + def PyJs_notStrictEqual_4208_(actual, expected, message, this, arguments, var=var): + var = Scope({u'actual':actual, u'this':this, u'arguments':arguments, u'notStrictEqual':PyJs_notStrictEqual_4208_, u'expected':expected, u'message':message}, var) + var.registers([u'expected', u'message', u'actual']) + if PyJsStrictEq(var.get(u'actual'),var.get(u'expected')): + var.get(u'fail')(var.get(u'actual'), var.get(u'expected'), var.get(u'message'), Js(u'!=='), var.get(u'assert').get(u'notStrictEqual')) + PyJs_notStrictEqual_4208_._set_name(u'notStrictEqual') + var.get(u'assert').put(u'notStrictEqual', PyJs_notStrictEqual_4208_) + pass + pass + @Js + def PyJs_anonymous_4210_(block, error, message, this, arguments, var=var): + var = Scope({u'this':this, u'message':message, u'arguments':arguments, u'block':block, u'error':error}, var) + var.registers([u'message', u'block', u'error']) + var.get(u'_throws').callprop(u'apply', var.get(u"this"), Js([var.get(u'true')]).callprop(u'concat', var.get(u'pSlice').callprop(u'call', var.get(u'arguments')))) + PyJs_anonymous_4210_._set_name(u'anonymous') + var.get(u'assert').put(u'throws', PyJs_anonymous_4210_) + @Js + def PyJs_anonymous_4211_(block, message, this, arguments, var=var): + var = Scope({u'this':this, u'message':message, u'arguments':arguments, u'block':block}, var) + var.registers([u'message', u'block']) + var.get(u'_throws').callprop(u'apply', var.get(u"this"), Js([Js(False)]).callprop(u'concat', var.get(u'pSlice').callprop(u'call', var.get(u'arguments')))) + PyJs_anonymous_4211_._set_name(u'anonymous') + var.get(u'assert').put(u'doesNotThrow', PyJs_anonymous_4211_) + @Js + def PyJs_anonymous_4212_(err, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'err':err}, var) + var.registers([u'err']) + if var.get(u'err'): + PyJsTempException = JsToPyException(var.get(u'err')) + raise PyJsTempException + PyJs_anonymous_4212_._set_name(u'anonymous') + var.get(u'assert').put(u'ifError', PyJs_anonymous_4212_) + @Js + def PyJs_anonymous_4213_(obj, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments}, var) + var.registers([u'keys', u'obj', u'key']) + var.put(u'keys', Js([])) + for PyJsTemp in var.get(u'obj'): + var.put(u'key', PyJsTemp) + if var.get(u'hasOwn').callprop(u'call', var.get(u'obj'), var.get(u'key')): + var.get(u'keys').callprop(u'push', var.get(u'key')) + return var.get(u'keys') + PyJs_anonymous_4213_._set_name(u'anonymous') + var.put(u'objectKeys', (var.get(u'Object').get(u'keys') or PyJs_anonymous_4213_)) +PyJs_anonymous_4199_._set_name(u'anonymous') +PyJs_Object_4214_ = Js({u'util/':Js(534.0)}) +@Js +def PyJs_anonymous_4215_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + PyJs_Object_4216_ = Js({}) + @Js + def PyJs_anonymous_4217_(PyJsArg_676c6f62616c_, this, arguments, var=var): + var = Scope({u'this':this, u'global':PyJsArg_676c6f62616c_, u'arguments':arguments}, var) + var.registers([u'binarySlice', u'asciiWrite', u'objectWriteUInt16', u'ieee754', u'fromBuffer', u'base64Write', u'fromObject', u'fromString', u'global', u'fromArrayBuffer', u'fromJsonObject', u'asciiToBytes', u'hexSlice', u'slowToString', u'byteLength', u'checked', u'Buffer', u'base64', u'base64ToBytes', u'kMaxLength', u'writeFloat', u'utf8Slice', u'allocate', u'checkInt', u'objectWriteUInt32', u'INVALID_BASE64_RE', u'toHex', u'isArray', u'fromNumber', u'SlowBuffer', u'hexWrite', u'fromArrayLike', u'checkIEEE754', u'utf16leToBytes', u'ucs2Write', u'base64clean', u'asciiSlice', u'checkOffset', u'decodeCodePointsArray', u'fromArray', u'binaryWrite', u'fromTypedArray', u'rootParent', u'utf16leSlice', u'typedArraySupport', u'utf8Write', u'utf8ToBytes', u'writeDouble', u'MAX_ARGUMENTS_LENGTH', u'blitBuffer', u'base64Slice', u'stringtrim']) + @Js + def PyJsHoisted_binarySlice_(buf, start, end, this, arguments, var=var): + var = Scope({u'this':this, u'start':start, u'end':end, u'buf':buf, u'arguments':arguments}, var) + var.registers([u'i', u'start', u'end', u'buf', u'ret']) + var.put(u'ret', Js(u'')) + var.put(u'end', var.get(u'Math').callprop(u'min', var.get(u'buf').get(u'length'), var.get(u'end'))) + #for JS loop + var.put(u'i', var.get(u'start')) + while (var.get(u'i')var.get(u'len'))): + var.put(u'end', var.get(u'len')) + var.put(u'out', Js(u'')) + #for JS loop + var.put(u'i', var.get(u'start')) + while (var.get(u'i')var.get(u"this").get(u'length')): + var.put(u'end', var.get(u"this").get(u'length')) + if (var.get(u'end')<=var.get(u'start')): + return Js(u'') + while var.get(u'true'): + while 1: + SWITCHED = False + CONDITION = (var.get(u'encoding')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'hex')): + SWITCHED = True + return var.get(u'hexSlice')(var.get(u"this"), var.get(u'start'), var.get(u'end')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'utf8')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'utf-8')): + SWITCHED = True + return var.get(u'utf8Slice')(var.get(u"this"), var.get(u'start'), var.get(u'end')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ascii')): + SWITCHED = True + return var.get(u'asciiSlice')(var.get(u"this"), var.get(u'start'), var.get(u'end')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'binary')): + SWITCHED = True + return var.get(u'binarySlice')(var.get(u"this"), var.get(u'start'), var.get(u'end')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'base64')): + SWITCHED = True + return var.get(u'base64Slice')(var.get(u"this"), var.get(u'start'), var.get(u'end')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ucs2')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ucs-2')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'utf16le')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'utf-16le')): + SWITCHED = True + return var.get(u'utf16leSlice')(var.get(u"this"), var.get(u'start'), var.get(u'end')) + if True: + SWITCHED = True + if var.get(u'loweredCase'): + PyJsTempException = JsToPyException(var.get(u'TypeError').create((Js(u'Unknown encoding: ')+var.get(u'encoding')))) + raise PyJsTempException + var.put(u'encoding', (var.get(u'encoding')+Js(u'')).callprop(u'toLowerCase')) + var.put(u'loweredCase', var.get(u'true')) + SWITCHED = True + break + PyJsHoisted_slowToString_.func_name = u'slowToString' + var.put(u'slowToString', PyJsHoisted_slowToString_) + @Js + def PyJsHoisted_byteLength_(string, encoding, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'string':string, u'encoding':encoding}, var) + var.registers([u'loweredCase', u'string', u'len', u'encoding']) + if PyJsStrictNeq(var.get(u'string',throw=False).typeof(),Js(u'string')): + var.put(u'string', (Js(u'')+var.get(u'string'))) + var.put(u'len', var.get(u'string').get(u'length')) + if PyJsStrictEq(var.get(u'len'),Js(0.0)): + return Js(0.0) + var.put(u'loweredCase', Js(False)) + #for JS loop + + while 1: + while 1: + SWITCHED = False + CONDITION = (var.get(u'encoding')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ascii')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'binary')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'raw')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'raws')): + SWITCHED = True + return var.get(u'len') + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'utf8')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'utf-8')): + SWITCHED = True + return var.get(u'utf8ToBytes')(var.get(u'string')).get(u'length') + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ucs2')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ucs-2')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'utf16le')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'utf-16le')): + SWITCHED = True + return (var.get(u'len')*Js(2.0)) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'hex')): + SWITCHED = True + return PyJsBshift(var.get(u'len'),Js(1.0)) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'base64')): + SWITCHED = True + return var.get(u'base64ToBytes')(var.get(u'string')).get(u'length') + if True: + SWITCHED = True + if var.get(u'loweredCase'): + return var.get(u'utf8ToBytes')(var.get(u'string')).get(u'length') + var.put(u'encoding', (Js(u'')+var.get(u'encoding')).callprop(u'toLowerCase')) + var.put(u'loweredCase', var.get(u'true')) + SWITCHED = True + break + + PyJsHoisted_byteLength_.func_name = u'byteLength' + var.put(u'byteLength', PyJsHoisted_byteLength_) + @Js + def PyJsHoisted_checked_(length, this, arguments, var=var): + var = Scope({u'this':this, u'length':length, u'arguments':arguments}, var) + var.registers([u'length']) + if (var.get(u'length')>=var.get(u'kMaxLength')()): + PyJsTempException = JsToPyException(var.get(u'RangeError').create((((Js(u'Attempt to allocate Buffer larger than maximum ')+Js(u'size: 0x'))+var.get(u'kMaxLength')().callprop(u'toString', Js(16.0)))+Js(u' bytes')))) + raise PyJsTempException + return (var.get(u'length')|Js(0.0)) + PyJsHoisted_checked_.func_name = u'checked' + var.put(u'checked', PyJsHoisted_checked_) + @Js + def PyJsHoisted_Buffer_(arg, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'arg':arg}, var) + var.registers([u'arg']) + if var.get(u"this").instanceof(var.get(u'Buffer')).neg(): + if (var.get(u'arguments').get(u'length')>Js(1.0)): + return var.get(u'Buffer').create(var.get(u'arg'), var.get(u'arguments').get(u'1')) + return var.get(u'Buffer').create(var.get(u'arg')) + if var.get(u'Buffer').get(u'TYPED_ARRAY_SUPPORT').neg(): + var.get(u"this").put(u'length', Js(0.0)) + var.get(u"this").put(u'parent', var.get(u'undefined')) + if PyJsStrictEq(var.get(u'arg',throw=False).typeof(),Js(u'number')): + return var.get(u'fromNumber')(var.get(u"this"), var.get(u'arg')) + if PyJsStrictEq(var.get(u'arg',throw=False).typeof(),Js(u'string')): + return var.get(u'fromString')(var.get(u"this"), var.get(u'arg'), (var.get(u'arguments').get(u'1') if (var.get(u'arguments').get(u'length')>Js(1.0)) else Js(u'utf8'))) + return var.get(u'fromObject')(var.get(u"this"), var.get(u'arg')) + PyJsHoisted_Buffer_.func_name = u'Buffer' + var.put(u'Buffer', PyJsHoisted_Buffer_) + @Js + def PyJsHoisted_asciiSlice_(buf, start, end, this, arguments, var=var): + var = Scope({u'this':this, u'start':start, u'end':end, u'buf':buf, u'arguments':arguments}, var) + var.registers([u'i', u'start', u'end', u'buf', u'ret']) + var.put(u'ret', Js(u'')) + var.put(u'end', var.get(u'Math').callprop(u'min', var.get(u'buf').get(u'length'), var.get(u'end'))) + #for JS loop + var.put(u'i', var.get(u'start')) + while (var.get(u'i')Js(239)) else (Js(3.0) if (var.get(u'firstByte')>Js(223)) else (Js(2.0) if (var.get(u'firstByte')>Js(191)) else Js(1.0))))) + if ((var.get(u'i')+var.get(u'bytesPerSequence'))<=var.get(u'end')): + pass + while 1: + SWITCHED = False + CONDITION = (var.get(u'bytesPerSequence')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(1.0)): + SWITCHED = True + if (var.get(u'firstByte')Js(127)): + var.put(u'codePoint', var.get(u'tempCodePoint')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + var.put(u'secondByte', var.get(u'buf').get((var.get(u'i')+Js(1.0)))) + var.put(u'thirdByte', var.get(u'buf').get((var.get(u'i')+Js(2.0)))) + if (PyJsStrictEq((var.get(u'secondByte')&Js(192)),Js(128)) and PyJsStrictEq((var.get(u'thirdByte')&Js(192)),Js(128))): + var.put(u'tempCodePoint', ((((var.get(u'firstByte')&Js(15))<Js(2047)) and ((var.get(u'tempCodePoint')Js(57343)))): + var.put(u'codePoint', var.get(u'tempCodePoint')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(4.0)): + SWITCHED = True + var.put(u'secondByte', var.get(u'buf').get((var.get(u'i')+Js(1.0)))) + var.put(u'thirdByte', var.get(u'buf').get((var.get(u'i')+Js(2.0)))) + var.put(u'fourthByte', var.get(u'buf').get((var.get(u'i')+Js(3.0)))) + if ((PyJsStrictEq((var.get(u'secondByte')&Js(192)),Js(128)) and PyJsStrictEq((var.get(u'thirdByte')&Js(192)),Js(128))) and PyJsStrictEq((var.get(u'fourthByte')&Js(192)),Js(128))): + var.put(u'tempCodePoint', (((((var.get(u'firstByte')&Js(15))<Js(65535)) and (var.get(u'tempCodePoint')Js(65535)): + var.put(u'codePoint', Js(65536), u'-') + var.get(u'res').callprop(u'push', ((PyJsBshift(var.get(u'codePoint'),Js(10.0))&Js(1023))|Js(55296))) + var.put(u'codePoint', (Js(56320)|(var.get(u'codePoint')&Js(1023)))) + var.get(u'res').callprop(u'push', var.get(u'codePoint')) + var.put(u'i', var.get(u'bytesPerSequence'), u'+') + return var.get(u'decodeCodePointsArray')(var.get(u'res')) + PyJsHoisted_utf8Slice_.func_name = u'utf8Slice' + var.put(u'utf8Slice', PyJsHoisted_utf8Slice_) + @Js + def PyJsHoisted_allocate_(that, length, this, arguments, var=var): + var = Scope({u'this':this, u'length':length, u'arguments':arguments, u'that':that}, var) + var.registers([u'fromPool', u'length', u'that']) + if var.get(u'Buffer').get(u'TYPED_ARRAY_SUPPORT'): + var.put(u'that', var.get(u'Uint8Array').create(var.get(u'length'))) + var.get(u'that').put(u'__proto__', var.get(u'Buffer').get(u'prototype')) + else: + var.get(u'that').put(u'length', var.get(u'length')) + var.put(u'fromPool', (PyJsStrictNeq(var.get(u'length'),Js(0.0)) and (var.get(u'length')<=PyJsBshift(var.get(u'Buffer').get(u'poolSize'),Js(1.0))))) + if var.get(u'fromPool'): + var.get(u'that').put(u'parent', var.get(u'rootParent')) + return var.get(u'that') + PyJsHoisted_allocate_.func_name = u'allocate' + var.put(u'allocate', PyJsHoisted_allocate_) + @Js + def PyJsHoisted_checkInt_(buf, value, offset, ext, max, min, this, arguments, var=var): + var = Scope({u'min':min, u'this':this, u'max':max, u'value':value, u'ext':ext, u'arguments':arguments, u'offset':offset, u'buf':buf}, var) + var.registers([u'min', u'max', u'value', u'ext', u'offset', u'buf']) + if var.get(u'Buffer').callprop(u'isBuffer', var.get(u'buf')).neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'buffer must be a Buffer instance'))) + raise PyJsTempException + if ((var.get(u'value')>var.get(u'max')) or (var.get(u'value')var.get(u'buf').get(u'length')): + PyJsTempException = JsToPyException(var.get(u'RangeError').create(Js(u'index out of range'))) + raise PyJsTempException + PyJsHoisted_checkInt_.func_name = u'checkInt' + var.put(u'checkInt', PyJsHoisted_checkInt_) + @Js + def PyJsHoisted_objectWriteUInt32_(buf, value, offset, littleEndian, this, arguments, var=var): + var = Scope({u'arguments':arguments, u'offset':offset, u'this':this, u'littleEndian':littleEndian, u'buf':buf, u'value':value}, var) + var.registers([u'i', u'j', u'value', u'offset', u'littleEndian', u'buf']) + if (var.get(u'value')var.get(u'remaining')): + var.put(u'length', var.get(u'remaining')) + var.put(u'strLen', var.get(u'string').get(u'length')) + if PyJsStrictNeq((var.get(u'strLen')%Js(2.0)),Js(0.0)): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'Invalid hex string'))) + raise PyJsTempException + if (var.get(u'length')>(var.get(u'strLen')/Js(2.0))): + var.put(u'length', (var.get(u'strLen')/Js(2.0))) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')var.get(u'buf').get(u'length')): + PyJsTempException = JsToPyException(var.get(u'RangeError').create(Js(u'index out of range'))) + raise PyJsTempException + if (var.get(u'offset')>Js(8.0))) + var.put(u'lo', (var.get(u'c')%Js(256.0))) + var.get(u'byteArray').callprop(u'push', var.get(u'lo')) + var.get(u'byteArray').callprop(u'push', var.get(u'hi')) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + return var.get(u'byteArray') + PyJsHoisted_utf16leToBytes_.func_name = u'utf16leToBytes' + var.put(u'utf16leToBytes', PyJsHoisted_utf16leToBytes_) + @Js + def PyJsHoisted_ucs2Write_(buf, string, offset, length, this, arguments, var=var): + var = Scope({u'length':length, u'string':string, u'offset':offset, u'this':this, u'buf':buf, u'arguments':arguments}, var) + var.registers([u'length', u'buf', u'string', u'offset']) + return var.get(u'blitBuffer')(var.get(u'utf16leToBytes')(var.get(u'string'), (var.get(u'buf').get(u'length')-var.get(u'offset'))), var.get(u'buf'), var.get(u'offset'), var.get(u'length')) + PyJsHoisted_ucs2Write_.func_name = u'ucs2Write' + var.put(u'ucs2Write', PyJsHoisted_ucs2Write_) + @Js + def PyJsHoisted_base64clean_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str}, var) + var.registers([u'str']) + var.put(u'str', var.get(u'stringtrim')(var.get(u'str')).callprop(u'replace', var.get(u'INVALID_BASE64_RE'), Js(u''))) + if (var.get(u'str').get(u'length')var.get(u'length')): + PyJsTempException = JsToPyException(var.get(u'RangeError').create(Js(u'Trying to access beyond buffer length'))) + raise PyJsTempException + PyJsHoisted_checkOffset_.func_name = u'checkOffset' + var.put(u'checkOffset', PyJsHoisted_checkOffset_) + @Js + def PyJsHoisted_decodeCodePointsArray_(codePoints, this, arguments, var=var): + var = Scope({u'codePoints':codePoints, u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'res', u'len', u'codePoints']) + var.put(u'len', var.get(u'codePoints').get(u'length')) + if (var.get(u'len')<=var.get(u'MAX_ARGUMENTS_LENGTH')): + return var.get(u'String').get(u'fromCharCode').callprop(u'apply', var.get(u'String'), var.get(u'codePoints')) + var.put(u'res', Js(u'')) + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(55295)) and (var.get(u'codePoint')Js(56319)): + if (var.put(u'units', Js(3.0), u'-')>(-Js(1.0))): + var.get(u'bytes').callprop(u'push', Js(239), Js(191), Js(189)) + continue + else: + if PyJsStrictEq((var.get(u'i')+Js(1.0)),var.get(u'length')): + if (var.put(u'units', Js(3.0), u'-')>(-Js(1.0))): + var.get(u'bytes').callprop(u'push', Js(239), Js(191), Js(189)) + continue + var.put(u'leadSurrogate', var.get(u'codePoint')) + continue + if (var.get(u'codePoint')(-Js(1.0))): + var.get(u'bytes').callprop(u'push', Js(239), Js(191), Js(189)) + var.put(u'leadSurrogate', var.get(u'codePoint')) + continue + var.put(u'codePoint', ((((var.get(u'leadSurrogate')-Js(55296))<(-Js(1.0))): + var.get(u'bytes').callprop(u'push', Js(239), Js(191), Js(189)) + var.put(u'leadSurrogate', var.get(u"null")) + if (var.get(u'codePoint')>Js(6))|Js(192)), ((var.get(u'codePoint')&Js(63))|Js(128))) + else: + if (var.get(u'codePoint')>Js(12))|Js(224)), (((var.get(u'codePoint')>>Js(6))&Js(63))|Js(128)), ((var.get(u'codePoint')&Js(63))|Js(128))) + else: + if (var.get(u'codePoint')>Js(18))|Js(240)), (((var.get(u'codePoint')>>Js(12))&Js(63))|Js(128)), (((var.get(u'codePoint')>>Js(6))&Js(63))|Js(128)), ((var.get(u'codePoint')&Js(63))|Js(128))) + else: + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'Invalid code point'))) + raise PyJsTempException + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + return var.get(u'bytes') + PyJsHoisted_utf8ToBytes_.func_name = u'utf8ToBytes' + var.put(u'utf8ToBytes', PyJsHoisted_utf8ToBytes_) + @Js + def PyJsHoisted_writeDouble_(buf, value, offset, littleEndian, noAssert, this, arguments, var=var): + var = Scope({u'noAssert':noAssert, u'arguments':arguments, u'offset':offset, u'this':this, u'littleEndian':littleEndian, u'buf':buf, u'value':value}, var) + var.registers([u'littleEndian', u'noAssert', u'buf', u'value', u'offset']) + if var.get(u'noAssert').neg(): + var.get(u'checkIEEE754')(var.get(u'buf'), var.get(u'value'), var.get(u'offset'), Js(8.0), Js(1.7976931348623157e+308), (-Js(1.7976931348623157e+308))) + var.get(u'ieee754').callprop(u'write', var.get(u'buf'), var.get(u'value'), var.get(u'offset'), var.get(u'littleEndian'), Js(52.0), Js(8.0)) + return (var.get(u'offset')+Js(8.0)) + PyJsHoisted_writeDouble_.func_name = u'writeDouble' + var.put(u'writeDouble', PyJsHoisted_writeDouble_) + @Js + def PyJsHoisted_blitBuffer_(src, dst, offset, length, this, arguments, var=var): + var = Scope({u'src':src, u'length':length, u'arguments':arguments, u'offset':offset, u'this':this, u'dst':dst}, var) + var.registers([u'i', u'src', u'dst', u'length', u'offset']) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=var.get(u'dst').get(u'length')) or (var.get(u'i')>=var.get(u'src').get(u'length'))): + break + var.get(u'dst').put((var.get(u'i')+var.get(u'offset')), var.get(u'src').get(var.get(u'i'))) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + return var.get(u'i') + PyJsHoisted_blitBuffer_.func_name = u'blitBuffer' + var.put(u'blitBuffer', PyJsHoisted_blitBuffer_) + @Js + def PyJsHoisted_base64Slice_(buf, start, end, this, arguments, var=var): + var = Scope({u'this':this, u'start':start, u'end':end, u'buf':buf, u'arguments':arguments}, var) + var.registers([u'start', u'end', u'buf']) + if (PyJsStrictEq(var.get(u'start'),Js(0.0)) and PyJsStrictEq(var.get(u'end'),var.get(u'buf').get(u'length'))): + return var.get(u'base64').callprop(u'fromByteArray', var.get(u'buf')) + else: + return var.get(u'base64').callprop(u'fromByteArray', var.get(u'buf').callprop(u'slice', var.get(u'start'), var.get(u'end'))) + PyJsHoisted_base64Slice_.func_name = u'base64Slice' + var.put(u'base64Slice', PyJsHoisted_base64Slice_) + @Js + def PyJsHoisted_stringtrim_(str, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'str':str}, var) + var.registers([u'str']) + if var.get(u'str').get(u'trim'): + return var.get(u'str').callprop(u'trim') + return var.get(u'str').callprop(u'replace', JsRegExp(u'/^\\s+|\\s+$/g'), Js(u'')) + PyJsHoisted_stringtrim_.func_name = u'stringtrim' + var.put(u'stringtrim', PyJsHoisted_stringtrim_) + Js(u'use strict') + var.put(u'base64', var.get(u'require')(Js(u'base64-js'))) + var.put(u'ieee754', var.get(u'require')(Js(u'ieee754'))) + var.put(u'isArray', var.get(u'require')(Js(u'isarray'))) + var.get(u'exports').put(u'Buffer', var.get(u'Buffer')) + var.get(u'exports').put(u'SlowBuffer', var.get(u'SlowBuffer')) + var.get(u'exports').put(u'INSPECT_MAX_BYTES', Js(50.0)) + var.get(u'Buffer').put(u'poolSize', Js(8192.0)) + PyJs_Object_4218_ = Js({}) + var.put(u'rootParent', PyJs_Object_4218_) + var.get(u'Buffer').put(u'TYPED_ARRAY_SUPPORT', (var.get(u'global').get(u'TYPED_ARRAY_SUPPORT') if PyJsStrictNeq(var.get(u'global').get(u'TYPED_ARRAY_SUPPORT'),var.get(u'undefined')) else var.get(u'typedArraySupport')())) + pass + pass + pass + @Js + def PyJs_anonymous_4220_(arr, this, arguments, var=var): + var = Scope({u'this':this, u'arr':arr, u'arguments':arguments}, var) + var.registers([u'arr']) + var.get(u'arr').put(u'__proto__', var.get(u'Buffer').get(u'prototype')) + return var.get(u'arr') + PyJs_anonymous_4220_._set_name(u'anonymous') + var.get(u'Buffer').put(u'_augment', PyJs_anonymous_4220_) + pass + pass + pass + pass + pass + pass + pass + pass + pass + if var.get(u'Buffer').get(u'TYPED_ARRAY_SUPPORT'): + var.get(u'Buffer').get(u'prototype').put(u'__proto__', var.get(u'Uint8Array').get(u'prototype')) + var.get(u'Buffer').put(u'__proto__', var.get(u'Uint8Array')) + if ((PyJsStrictNeq(var.get(u'Symbol',throw=False).typeof(),Js(u'undefined')) and var.get(u'Symbol').get(u'species')) and PyJsStrictEq(var.get(u'Buffer').get(var.get(u'Symbol').get(u'species')),var.get(u'Buffer'))): + PyJs_Object_4221_ = Js({u'value':var.get(u"null"),u'configurable':var.get(u'true')}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'Buffer'), var.get(u'Symbol').get(u'species'), PyJs_Object_4221_) + else: + var.get(u'Buffer').get(u'prototype').put(u'length', var.get(u'undefined')) + var.get(u'Buffer').get(u'prototype').put(u'parent', var.get(u'undefined')) + pass + pass + pass + @Js + def PyJs_isBuffer_4222_(b, this, arguments, var=var): + var = Scope({u'this':this, u'b':b, u'arguments':arguments, u'isBuffer':PyJs_isBuffer_4222_}, var) + var.registers([u'b']) + return ((var.get(u'b')!=var.get(u"null")) and var.get(u'b').get(u'_isBuffer')).neg().neg() + PyJs_isBuffer_4222_._set_name(u'isBuffer') + var.get(u'Buffer').put(u'isBuffer', PyJs_isBuffer_4222_) + @Js + def PyJs_compare_4223_(a, b, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'compare':PyJs_compare_4223_, u'b':b, u'arguments':arguments}, var) + var.registers([u'a', u'b', u'i', u'len', u'y', u'x']) + if (var.get(u'Buffer').callprop(u'isBuffer', var.get(u'a')).neg() or var.get(u'Buffer').callprop(u'isBuffer', var.get(u'b')).neg()): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Arguments must be Buffers'))) + raise PyJsTempException + if PyJsStrictEq(var.get(u'a'),var.get(u'b')): + return Js(0.0) + var.put(u'x', var.get(u'a').get(u'length')) + var.put(u'y', var.get(u'b').get(u'length')) + #for JS loop + var.put(u'i', Js(0.0)) + var.put(u'len', var.get(u'Math').callprop(u'min', var.get(u'x'), var.get(u'y'))) + while (var.get(u'i')Js(0.0)): + var.put(u'str', var.get(u"this").callprop(u'toString', Js(u'hex'), Js(0.0), var.get(u'max')).callprop(u'match', JsRegExp(u'/.{2}/g')).callprop(u'join', Js(u' '))) + if (var.get(u"this").get(u'length')>var.get(u'max')): + var.put(u'str', Js(u' ... '), u'+') + return ((Js(u'')) + PyJs_inspect_4228_._set_name(u'inspect') + var.get(u'Buffer').get(u'prototype').put(u'inspect', PyJs_inspect_4228_) + @Js + def PyJs_compare_4229_(b, this, arguments, var=var): + var = Scope({u'this':this, u'compare':PyJs_compare_4229_, u'b':b, u'arguments':arguments}, var) + var.registers([u'b']) + if var.get(u'Buffer').callprop(u'isBuffer', var.get(u'b')).neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Argument must be a Buffer'))) + raise PyJsTempException + return var.get(u'Buffer').callprop(u'compare', var.get(u"this"), var.get(u'b')) + PyJs_compare_4229_._set_name(u'compare') + var.get(u'Buffer').get(u'prototype').put(u'compare', PyJs_compare_4229_) + @Js + def PyJs_indexOf_4230_(val, byteOffset, this, arguments, var=var): + var = Scope({u'this':this, u'indexOf':PyJs_indexOf_4230_, u'byteOffset':byteOffset, u'val':val, u'arguments':arguments}, var) + var.registers([u'val', u'arrayIndexOf', u'byteOffset']) + @Js + def PyJsHoisted_arrayIndexOf_(arr, val, byteOffset, this, arguments, var=var): + var = Scope({u'this':this, u'arr':arr, u'byteOffset':byteOffset, u'val':val, u'arguments':arguments}, var) + var.registers([u'i', u'foundIndex', u'arr', u'val', u'byteOffset']) + var.put(u'foundIndex', (-Js(1.0))) + #for JS loop + var.put(u'i', Js(0.0)) + while ((var.get(u'byteOffset')+var.get(u'i'))Js(2147483647)): + var.put(u'byteOffset', Js(2147483647)) + else: + if (var.get(u'byteOffset')<(-Js(2147483648))): + var.put(u'byteOffset', (-Js(2147483648))) + var.put(u'byteOffset', Js(0.0), u'>>') + if PyJsStrictEq(var.get(u"this").get(u'length'),Js(0.0)): + return (-Js(1.0)) + if (var.get(u'byteOffset')>=var.get(u"this").get(u'length')): + return (-Js(1.0)) + if (var.get(u'byteOffset')var.get(u'remaining'))): + var.put(u'length', var.get(u'remaining')) + if (((var.get(u'string').get(u'length')>Js(0.0)) and ((var.get(u'length')var.get(u"this").get(u'length'))): + PyJsTempException = JsToPyException(var.get(u'RangeError').create(Js(u'attempt to write outside buffer bounds'))) + raise PyJsTempException + if var.get(u'encoding').neg(): + var.put(u'encoding', Js(u'utf8')) + var.put(u'loweredCase', Js(False)) + #for JS loop + + while 1: + while 1: + SWITCHED = False + CONDITION = (var.get(u'encoding')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'hex')): + SWITCHED = True + return var.get(u'hexWrite')(var.get(u"this"), var.get(u'string'), var.get(u'offset'), var.get(u'length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'utf8')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'utf-8')): + SWITCHED = True + return var.get(u'utf8Write')(var.get(u"this"), var.get(u'string'), var.get(u'offset'), var.get(u'length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ascii')): + SWITCHED = True + return var.get(u'asciiWrite')(var.get(u"this"), var.get(u'string'), var.get(u'offset'), var.get(u'length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'binary')): + SWITCHED = True + return var.get(u'binaryWrite')(var.get(u"this"), var.get(u'string'), var.get(u'offset'), var.get(u'length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'base64')): + SWITCHED = True + return var.get(u'base64Write')(var.get(u"this"), var.get(u'string'), var.get(u'offset'), var.get(u'length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ucs2')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'ucs-2')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'utf16le')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'utf-16le')): + SWITCHED = True + return var.get(u'ucs2Write')(var.get(u"this"), var.get(u'string'), var.get(u'offset'), var.get(u'length')) + if True: + SWITCHED = True + if var.get(u'loweredCase'): + PyJsTempException = JsToPyException(var.get(u'TypeError').create((Js(u'Unknown encoding: ')+var.get(u'encoding')))) + raise PyJsTempException + var.put(u'encoding', (Js(u'')+var.get(u'encoding')).callprop(u'toLowerCase')) + var.put(u'loweredCase', var.get(u'true')) + SWITCHED = True + break + + PyJs_write_4231_._set_name(u'write') + var.get(u'Buffer').get(u'prototype').put(u'write', PyJs_write_4231_) + @Js + def PyJs_toJSON_4232_(this, arguments, var=var): + var = Scope({u'this':this, u'toJSON':PyJs_toJSON_4232_, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_4233_ = Js({u'type':Js(u'Buffer'),u'data':var.get(u'Array').get(u'prototype').get(u'slice').callprop(u'call', (var.get(u"this").get(u'_arr') or var.get(u"this")), Js(0.0))}) + return PyJs_Object_4233_ + PyJs_toJSON_4232_._set_name(u'toJSON') + var.get(u'Buffer').get(u'prototype').put(u'toJSON', PyJs_toJSON_4232_) + pass + pass + var.put(u'MAX_ARGUMENTS_LENGTH', Js(4096)) + pass + pass + pass + pass + pass + @Js + def PyJs_slice_4234_(start, end, this, arguments, var=var): + var = Scope({u'this':this, u'start':start, u'slice':PyJs_slice_4234_, u'end':end, u'arguments':arguments}, var) + var.registers([u'end', u'i', u'len', u'start', u'newBuf', u'sliceLen']) + var.put(u'len', var.get(u"this").get(u'length')) + var.put(u'start', (~(~var.get(u'start')))) + var.put(u'end', (var.get(u'len') if PyJsStrictEq(var.get(u'end'),var.get(u'undefined')) else (~(~var.get(u'end'))))) + if (var.get(u'start')var.get(u'len')): + var.put(u'start', var.get(u'len')) + if (var.get(u'end')var.get(u'len')): + var.put(u'end', var.get(u'len')) + if (var.get(u'end')Js(0.0)) and var.put(u'mul', Js(256), u'*')): + var.put(u'val', (var.get(u"this").get((var.get(u'offset')+var.put(u'byteLength',Js(var.get(u'byteLength').to_number())-Js(1))))*var.get(u'mul')), u'+') + return var.get(u'val') + PyJs_readUIntBE_4236_._set_name(u'readUIntBE') + var.get(u'Buffer').get(u'prototype').put(u'readUIntBE', PyJs_readUIntBE_4236_) + @Js + def PyJs_readUInt8_4237_(offset, noAssert, this, arguments, var=var): + var = Scope({u'this':this, u'noAssert':noAssert, u'arguments':arguments, u'readUInt8':PyJs_readUInt8_4237_, u'offset':offset}, var) + var.registers([u'noAssert', u'offset']) + if var.get(u'noAssert').neg(): + var.get(u'checkOffset')(var.get(u'offset'), Js(1.0), var.get(u"this").get(u'length')) + return var.get(u"this").get(var.get(u'offset')) + PyJs_readUInt8_4237_._set_name(u'readUInt8') + var.get(u'Buffer').get(u'prototype').put(u'readUInt8', PyJs_readUInt8_4237_) + @Js + def PyJs_readUInt16LE_4238_(offset, noAssert, this, arguments, var=var): + var = Scope({u'this':this, u'noAssert':noAssert, u'readUInt16LE':PyJs_readUInt16LE_4238_, u'arguments':arguments, u'offset':offset}, var) + var.registers([u'noAssert', u'offset']) + if var.get(u'noAssert').neg(): + var.get(u'checkOffset')(var.get(u'offset'), Js(2.0), var.get(u"this").get(u'length')) + return (var.get(u"this").get(var.get(u'offset'))|(var.get(u"this").get((var.get(u'offset')+Js(1.0)))<=var.get(u'mul')): + var.put(u'val', var.get(u'Math').callprop(u'pow', Js(2.0), (Js(8.0)*var.get(u'byteLength'))), u'-') + return var.get(u'val') + PyJs_readIntLE_4242_._set_name(u'readIntLE') + var.get(u'Buffer').get(u'prototype').put(u'readIntLE', PyJs_readIntLE_4242_) + @Js + def PyJs_readIntBE_4243_(offset, byteLength, noAssert, this, arguments, var=var): + var = Scope({u'byteLength':byteLength, u'readIntBE':PyJs_readIntBE_4243_, u'noAssert':noAssert, u'this':this, u'arguments':arguments, u'offset':offset}, var) + var.registers([u'byteLength', u'noAssert', u'val', u'i', u'offset', u'mul']) + var.put(u'offset', (var.get(u'offset')|Js(0.0))) + var.put(u'byteLength', (var.get(u'byteLength')|Js(0.0))) + if var.get(u'noAssert').neg(): + var.get(u'checkOffset')(var.get(u'offset'), var.get(u'byteLength'), var.get(u"this").get(u'length')) + var.put(u'i', var.get(u'byteLength')) + var.put(u'mul', Js(1.0)) + var.put(u'val', var.get(u"this").get((var.get(u'offset')+var.put(u'i',Js(var.get(u'i').to_number())-Js(1))))) + while ((var.get(u'i')>Js(0.0)) and var.put(u'mul', Js(256), u'*')): + var.put(u'val', (var.get(u"this").get((var.get(u'offset')+var.put(u'i',Js(var.get(u'i').to_number())-Js(1))))*var.get(u'mul')), u'+') + var.put(u'mul', Js(128), u'*') + if (var.get(u'val')>=var.get(u'mul')): + var.put(u'val', var.get(u'Math').callprop(u'pow', Js(2.0), (Js(8.0)*var.get(u'byteLength'))), u'-') + return var.get(u'val') + PyJs_readIntBE_4243_._set_name(u'readIntBE') + var.get(u'Buffer').get(u'prototype').put(u'readIntBE', PyJs_readIntBE_4243_) + @Js + def PyJs_readInt8_4244_(offset, noAssert, this, arguments, var=var): + var = Scope({u'this':this, u'noAssert':noAssert, u'readInt8':PyJs_readInt8_4244_, u'arguments':arguments, u'offset':offset}, var) + var.registers([u'noAssert', u'offset']) + if var.get(u'noAssert').neg(): + var.get(u'checkOffset')(var.get(u'offset'), Js(1.0), var.get(u"this").get(u'length')) + if (var.get(u"this").get(var.get(u'offset'))&Js(128)).neg(): + return var.get(u"this").get(var.get(u'offset')) + return (((Js(255)-var.get(u"this").get(var.get(u'offset')))+Js(1.0))*(-Js(1.0))) + PyJs_readInt8_4244_._set_name(u'readInt8') + var.get(u'Buffer').get(u'prototype').put(u'readInt8', PyJs_readInt8_4244_) + @Js + def PyJs_readInt16LE_4245_(offset, noAssert, this, arguments, var=var): + var = Scope({u'this':this, u'readInt16LE':PyJs_readInt16LE_4245_, u'noAssert':noAssert, u'arguments':arguments, u'offset':offset}, var) + var.registers([u'noAssert', u'val', u'offset']) + if var.get(u'noAssert').neg(): + var.get(u'checkOffset')(var.get(u'offset'), Js(2.0), var.get(u"this").get(u'length')) + var.put(u'val', (var.get(u"this").get(var.get(u'offset'))|(var.get(u"this").get((var.get(u'offset')+Js(1.0)))<=Js(0.0)) and var.put(u'mul', Js(256), u'*')): + var.get(u"this").put((var.get(u'offset')+var.get(u'i')), ((var.get(u'value')/var.get(u'mul'))&Js(255))) + return (var.get(u'offset')+var.get(u'byteLength')) + PyJs_writeUIntBE_4254_._set_name(u'writeUIntBE') + var.get(u'Buffer').get(u'prototype').put(u'writeUIntBE', PyJs_writeUIntBE_4254_) + @Js + def PyJs_writeUInt8_4255_(value, offset, noAssert, this, arguments, var=var): + var = Scope({u'noAssert':noAssert, u'this':this, u'writeUInt8':PyJs_writeUInt8_4255_, u'value':value, u'arguments':arguments, u'offset':offset}, var) + var.registers([u'noAssert', u'value', u'offset']) + var.put(u'value', (+var.get(u'value'))) + var.put(u'offset', (var.get(u'offset')|Js(0.0))) + if var.get(u'noAssert').neg(): + var.get(u'checkInt')(var.get(u"this"), var.get(u'value'), var.get(u'offset'), Js(1.0), Js(255), Js(0.0)) + if var.get(u'Buffer').get(u'TYPED_ARRAY_SUPPORT').neg(): + var.put(u'value', var.get(u'Math').callprop(u'floor', var.get(u'value'))) + var.get(u"this").put(var.get(u'offset'), (var.get(u'value')&Js(255))) + return (var.get(u'offset')+Js(1.0)) + PyJs_writeUInt8_4255_._set_name(u'writeUInt8') + var.get(u'Buffer').get(u'prototype').put(u'writeUInt8', PyJs_writeUInt8_4255_) + pass + @Js + def PyJs_writeUInt16LE_4256_(value, offset, noAssert, this, arguments, var=var): + var = Scope({u'writeUInt16LE':PyJs_writeUInt16LE_4256_, u'noAssert':noAssert, u'this':this, u'value':value, u'arguments':arguments, u'offset':offset}, var) + var.registers([u'noAssert', u'value', u'offset']) + var.put(u'value', (+var.get(u'value'))) + var.put(u'offset', (var.get(u'offset')|Js(0.0))) + if var.get(u'noAssert').neg(): + var.get(u'checkInt')(var.get(u"this"), var.get(u'value'), var.get(u'offset'), Js(2.0), Js(65535), Js(0.0)) + if var.get(u'Buffer').get(u'TYPED_ARRAY_SUPPORT'): + var.get(u"this").put(var.get(u'offset'), (var.get(u'value')&Js(255))) + var.get(u"this").put((var.get(u'offset')+Js(1.0)), PyJsBshift(var.get(u'value'),Js(8.0))) + else: + var.get(u'objectWriteUInt16')(var.get(u"this"), var.get(u'value'), var.get(u'offset'), var.get(u'true')) + return (var.get(u'offset')+Js(2.0)) + PyJs_writeUInt16LE_4256_._set_name(u'writeUInt16LE') + var.get(u'Buffer').get(u'prototype').put(u'writeUInt16LE', PyJs_writeUInt16LE_4256_) + @Js + def PyJs_writeUInt16BE_4257_(value, offset, noAssert, this, arguments, var=var): + var = Scope({u'noAssert':noAssert, u'this':this, u'writeUInt16BE':PyJs_writeUInt16BE_4257_, u'value':value, u'arguments':arguments, u'offset':offset}, var) + var.registers([u'noAssert', u'value', u'offset']) + var.put(u'value', (+var.get(u'value'))) + var.put(u'offset', (var.get(u'offset')|Js(0.0))) + if var.get(u'noAssert').neg(): + var.get(u'checkInt')(var.get(u"this"), var.get(u'value'), var.get(u'offset'), Js(2.0), Js(65535), Js(0.0)) + if var.get(u'Buffer').get(u'TYPED_ARRAY_SUPPORT'): + var.get(u"this").put(var.get(u'offset'), PyJsBshift(var.get(u'value'),Js(8.0))) + var.get(u"this").put((var.get(u'offset')+Js(1.0)), (var.get(u'value')&Js(255))) + else: + var.get(u'objectWriteUInt16')(var.get(u"this"), var.get(u'value'), var.get(u'offset'), Js(False)) + return (var.get(u'offset')+Js(2.0)) + PyJs_writeUInt16BE_4257_._set_name(u'writeUInt16BE') + var.get(u'Buffer').get(u'prototype').put(u'writeUInt16BE', PyJs_writeUInt16BE_4257_) + pass + @Js + def PyJs_writeUInt32LE_4258_(value, offset, noAssert, this, arguments, var=var): + var = Scope({u'writeUInt32LE':PyJs_writeUInt32LE_4258_, u'noAssert':noAssert, u'this':this, u'value':value, u'arguments':arguments, u'offset':offset}, var) + var.registers([u'noAssert', u'value', u'offset']) + var.put(u'value', (+var.get(u'value'))) + var.put(u'offset', (var.get(u'offset')|Js(0.0))) + if var.get(u'noAssert').neg(): + var.get(u'checkInt')(var.get(u"this"), var.get(u'value'), var.get(u'offset'), Js(4.0), Js(4294967295), Js(0.0)) + if var.get(u'Buffer').get(u'TYPED_ARRAY_SUPPORT'): + var.get(u"this").put((var.get(u'offset')+Js(3.0)), PyJsBshift(var.get(u'value'),Js(24.0))) + var.get(u"this").put((var.get(u'offset')+Js(2.0)), PyJsBshift(var.get(u'value'),Js(16.0))) + var.get(u"this").put((var.get(u'offset')+Js(1.0)), PyJsBshift(var.get(u'value'),Js(8.0))) + var.get(u"this").put(var.get(u'offset'), (var.get(u'value')&Js(255))) + else: + var.get(u'objectWriteUInt32')(var.get(u"this"), var.get(u'value'), var.get(u'offset'), var.get(u'true')) + return (var.get(u'offset')+Js(4.0)) + PyJs_writeUInt32LE_4258_._set_name(u'writeUInt32LE') + var.get(u'Buffer').get(u'prototype').put(u'writeUInt32LE', PyJs_writeUInt32LE_4258_) + @Js + def PyJs_writeUInt32BE_4259_(value, offset, noAssert, this, arguments, var=var): + var = Scope({u'noAssert':noAssert, u'this':this, u'value':value, u'writeUInt32BE':PyJs_writeUInt32BE_4259_, u'arguments':arguments, u'offset':offset}, var) + var.registers([u'noAssert', u'value', u'offset']) + var.put(u'value', (+var.get(u'value'))) + var.put(u'offset', (var.get(u'offset')|Js(0.0))) + if var.get(u'noAssert').neg(): + var.get(u'checkInt')(var.get(u"this"), var.get(u'value'), var.get(u'offset'), Js(4.0), Js(4294967295), Js(0.0)) + if var.get(u'Buffer').get(u'TYPED_ARRAY_SUPPORT'): + var.get(u"this").put(var.get(u'offset'), PyJsBshift(var.get(u'value'),Js(24.0))) + var.get(u"this").put((var.get(u'offset')+Js(1.0)), PyJsBshift(var.get(u'value'),Js(16.0))) + var.get(u"this").put((var.get(u'offset')+Js(2.0)), PyJsBshift(var.get(u'value'),Js(8.0))) + var.get(u"this").put((var.get(u'offset')+Js(3.0)), (var.get(u'value')&Js(255))) + else: + var.get(u'objectWriteUInt32')(var.get(u"this"), var.get(u'value'), var.get(u'offset'), Js(False)) + return (var.get(u'offset')+Js(4.0)) + PyJs_writeUInt32BE_4259_._set_name(u'writeUInt32BE') + var.get(u'Buffer').get(u'prototype').put(u'writeUInt32BE', PyJs_writeUInt32BE_4259_) + @Js + def PyJs_writeIntLE_4260_(value, offset, byteLength, noAssert, this, arguments, var=var): + var = Scope({u'byteLength':byteLength, u'noAssert':noAssert, u'arguments':arguments, u'offset':offset, u'this':this, u'writeIntLE':PyJs_writeIntLE_4260_, u'value':value}, var) + var.registers([u'byteLength', u'noAssert', u'sub', u'i', u'value', u'limit', u'offset', u'mul']) + var.put(u'value', (+var.get(u'value'))) + var.put(u'offset', (var.get(u'offset')|Js(0.0))) + if var.get(u'noAssert').neg(): + var.put(u'limit', var.get(u'Math').callprop(u'pow', Js(2.0), ((Js(8.0)*var.get(u'byteLength'))-Js(1.0)))) + var.get(u'checkInt')(var.get(u"this"), var.get(u'value'), var.get(u'offset'), var.get(u'byteLength'), (var.get(u'limit')-Js(1.0)), (-var.get(u'limit'))) + var.put(u'i', Js(0.0)) + var.put(u'mul', Js(1.0)) + var.put(u'sub', (Js(1.0) if (var.get(u'value')>Js(0.0))-var.get(u'sub'))&Js(255))) + return (var.get(u'offset')+var.get(u'byteLength')) + PyJs_writeIntLE_4260_._set_name(u'writeIntLE') + var.get(u'Buffer').get(u'prototype').put(u'writeIntLE', PyJs_writeIntLE_4260_) + @Js + def PyJs_writeIntBE_4261_(value, offset, byteLength, noAssert, this, arguments, var=var): + var = Scope({u'byteLength':byteLength, u'noAssert':noAssert, u'arguments':arguments, u'offset':offset, u'this':this, u'writeIntBE':PyJs_writeIntBE_4261_, u'value':value}, var) + var.registers([u'byteLength', u'noAssert', u'sub', u'i', u'value', u'limit', u'offset', u'mul']) + var.put(u'value', (+var.get(u'value'))) + var.put(u'offset', (var.get(u'offset')|Js(0.0))) + if var.get(u'noAssert').neg(): + var.put(u'limit', var.get(u'Math').callprop(u'pow', Js(2.0), ((Js(8.0)*var.get(u'byteLength'))-Js(1.0)))) + var.get(u'checkInt')(var.get(u"this"), var.get(u'value'), var.get(u'offset'), var.get(u'byteLength'), (var.get(u'limit')-Js(1.0)), (-var.get(u'limit'))) + var.put(u'i', (var.get(u'byteLength')-Js(1.0))) + var.put(u'mul', Js(1.0)) + var.put(u'sub', (Js(1.0) if (var.get(u'value')=Js(0.0)) and var.put(u'mul', Js(256), u'*')): + var.get(u"this").put((var.get(u'offset')+var.get(u'i')), ((((var.get(u'value')/var.get(u'mul'))>>Js(0.0))-var.get(u'sub'))&Js(255))) + return (var.get(u'offset')+var.get(u'byteLength')) + PyJs_writeIntBE_4261_._set_name(u'writeIntBE') + var.get(u'Buffer').get(u'prototype').put(u'writeIntBE', PyJs_writeIntBE_4261_) + @Js + def PyJs_writeInt8_4262_(value, offset, noAssert, this, arguments, var=var): + var = Scope({u'writeInt8':PyJs_writeInt8_4262_, u'noAssert':noAssert, u'this':this, u'value':value, u'arguments':arguments, u'offset':offset}, var) + var.registers([u'noAssert', u'value', u'offset']) + var.put(u'value', (+var.get(u'value'))) + var.put(u'offset', (var.get(u'offset')|Js(0.0))) + if var.get(u'noAssert').neg(): + var.get(u'checkInt')(var.get(u"this"), var.get(u'value'), var.get(u'offset'), Js(1.0), Js(127), (-Js(128))) + if var.get(u'Buffer').get(u'TYPED_ARRAY_SUPPORT').neg(): + var.put(u'value', var.get(u'Math').callprop(u'floor', var.get(u'value'))) + if (var.get(u'value')=var.get(u'target').get(u'length')): + var.put(u'targetStart', var.get(u'target').get(u'length')) + if var.get(u'targetStart').neg(): + var.put(u'targetStart', Js(0.0)) + if ((var.get(u'end')>Js(0.0)) and (var.get(u'end')=var.get(u"this").get(u'length'))): + PyJsTempException = JsToPyException(var.get(u'RangeError').create(Js(u'sourceStart out of bounds'))) + raise PyJsTempException + if (var.get(u'end')var.get(u"this").get(u'length')): + var.put(u'end', var.get(u"this").get(u'length')) + if ((var.get(u'target').get(u'length')-var.get(u'targetStart'))<(var.get(u'end')-var.get(u'start'))): + var.put(u'end', ((var.get(u'target').get(u'length')-var.get(u'targetStart'))+var.get(u'start'))) + var.put(u'len', (var.get(u'end')-var.get(u'start'))) + pass + if ((PyJsStrictEq(var.get(u"this"),var.get(u'target')) and (var.get(u'start')=Js(0.0)): + try: + var.get(u'target').put((var.get(u'i')+var.get(u'targetStart')), var.get(u"this").get((var.get(u'i')+var.get(u'start')))) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + else: + if ((var.get(u'len')=var.get(u"this").get(u'length'))): + PyJsTempException = JsToPyException(var.get(u'RangeError').create(Js(u'start out of bounds'))) + raise PyJsTempException + if ((var.get(u'end')var.get(u"this").get(u'length'))): + PyJsTempException = JsToPyException(var.get(u'RangeError').create(Js(u'end out of bounds'))) + raise PyJsTempException + pass + if PyJsStrictEq(var.get(u'value',throw=False).typeof(),Js(u'number')): + #for JS loop + var.put(u'i', var.get(u'start')) + while (var.get(u'i')>Js(18.0))&Js(63)))+var.get(u'lookup').get(((var.get(u'num')>>Js(12.0))&Js(63))))+var.get(u'lookup').get(((var.get(u'num')>>Js(6.0))&Js(63))))+var.get(u'lookup').get((var.get(u'num')&Js(63)))) + PyJsHoisted_tripletToBase64_.func_name = u'tripletToBase64' + var.put(u'tripletToBase64', PyJsHoisted_tripletToBase64_) + @Js + def PyJsHoisted_init_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'code', u'len']) + var.put(u'code', Js(u'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')) + #for JS loop + var.put(u'i', Js(0.0)) + var.put(u'len', var.get(u'code').get(u'length')) + while (var.get(u'i')Js(0.0)): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'Invalid string. Length must be a multiple of 4'))) + raise PyJsTempException + var.put(u'placeHolders', (Js(2.0) if PyJsStrictEq(var.get(u'b64').get((var.get(u'len')-Js(2.0))),Js(u'=')) else (Js(1.0) if PyJsStrictEq(var.get(u'b64').get((var.get(u'len')-Js(1.0))),Js(u'=')) else Js(0.0)))) + var.put(u'arr', var.get(u'Arr').create((((var.get(u'len')*Js(3.0))/Js(4.0))-var.get(u'placeHolders')))) + var.put(u'l', ((var.get(u'len')-Js(4.0)) if (var.get(u'placeHolders')>Js(0.0)) else var.get(u'len'))) + var.put(u'L', Js(0.0)) + #for JS loop + PyJsComma(var.put(u'i', Js(0.0)),var.put(u'j', Js(0.0))) + while (var.get(u'i')>Js(16.0))&Js(255))) + var.get(u'arr').put((var.put(u'L',Js(var.get(u'L').to_number())+Js(1))-Js(1)), ((var.get(u'tmp')>>Js(8.0))&Js(255))) + var.get(u'arr').put((var.put(u'L',Js(var.get(u'L').to_number())+Js(1))-Js(1)), (var.get(u'tmp')&Js(255))) + finally: + PyJsComma(var.put(u'i', Js(4.0), u'+'),var.put(u'j', Js(3.0), u'+')) + if PyJsStrictEq(var.get(u'placeHolders'),Js(2.0)): + var.put(u'tmp', ((var.get(u'revLookup').get(var.get(u'b64').callprop(u'charCodeAt', var.get(u'i')))<>Js(4.0)))) + var.get(u'arr').put((var.put(u'L',Js(var.get(u'L').to_number())+Js(1))-Js(1)), (var.get(u'tmp')&Js(255))) + else: + if PyJsStrictEq(var.get(u'placeHolders'),Js(1.0)): + var.put(u'tmp', (((var.get(u'revLookup').get(var.get(u'b64').callprop(u'charCodeAt', var.get(u'i')))<>Js(2.0)))) + var.get(u'arr').put((var.put(u'L',Js(var.get(u'L').to_number())+Js(1))-Js(1)), ((var.get(u'tmp')>>Js(8.0))&Js(255))) + var.get(u'arr').put((var.put(u'L',Js(var.get(u'L').to_number())+Js(1))-Js(1)), (var.get(u'tmp')&Js(255))) + return var.get(u'arr') + PyJsHoisted_toByteArray_.func_name = u'toByteArray' + var.put(u'toByteArray', PyJsHoisted_toByteArray_) + @Js + def PyJsHoisted_fromByteArray_(uint8, this, arguments, var=var): + var = Scope({u'this':this, u'uint8':uint8, u'arguments':arguments}, var) + var.registers([u'tmp', u'i', u'uint8', u'len', u'len2', u'parts', u'extraBytes', u'output', u'maxChunkLength']) + pass + var.put(u'len', var.get(u'uint8').get(u'length')) + var.put(u'extraBytes', (var.get(u'len')%Js(3.0))) + var.put(u'output', Js(u'')) + var.put(u'parts', Js([])) + var.put(u'maxChunkLength', Js(16383.0)) + #for JS loop + var.put(u'i', Js(0.0)) + var.put(u'len2', (var.get(u'len')-var.get(u'extraBytes'))) + while (var.get(u'i')var.get(u'len2')) else (var.get(u'i')+var.get(u'maxChunkLength'))))) + finally: + var.put(u'i', var.get(u'maxChunkLength'), u'+') + if PyJsStrictEq(var.get(u'extraBytes'),Js(1.0)): + var.put(u'tmp', var.get(u'uint8').get((var.get(u'len')-Js(1.0)))) + var.put(u'output', var.get(u'lookup').get((var.get(u'tmp')>>Js(2.0))), u'+') + var.put(u'output', var.get(u'lookup').get(((var.get(u'tmp')<>Js(10.0))), u'+') + var.put(u'output', var.get(u'lookup').get(((var.get(u'tmp')>>Js(4.0))&Js(63))), u'+') + var.put(u'output', var.get(u'lookup').get(((var.get(u'tmp')<>Js(1.0))) + var.put(u'nBits', (-Js(7.0))) + var.put(u'i', ((var.get(u'nBytes')-Js(1.0)) if var.get(u'isLE') else Js(0.0))) + var.put(u'd', ((-Js(1.0)) if var.get(u'isLE') else Js(1.0))) + var.put(u's', var.get(u'buffer').get((var.get(u'offset')+var.get(u'i')))) + var.put(u'i', var.get(u'd'), u'+') + var.put(u'e', (var.get(u's')&((Js(1.0)<<(-var.get(u'nBits')))-Js(1.0)))) + var.put(u's', (-var.get(u'nBits')), u'>>') + var.put(u'nBits', var.get(u'eLen'), u'+') + #for JS loop + + while (var.get(u'nBits')>Js(0.0)): + try: + pass + finally: + PyJsComma(PyJsComma(var.put(u'e', ((var.get(u'e')*Js(256.0))+var.get(u'buffer').get((var.get(u'offset')+var.get(u'i'))))),var.put(u'i', var.get(u'd'), u'+')),var.put(u'nBits', Js(8.0), u'-')) + var.put(u'm', (var.get(u'e')&((Js(1.0)<<(-var.get(u'nBits')))-Js(1.0)))) + var.put(u'e', (-var.get(u'nBits')), u'>>') + var.put(u'nBits', var.get(u'mLen'), u'+') + #for JS loop + + while (var.get(u'nBits')>Js(0.0)): + try: + pass + finally: + PyJsComma(PyJsComma(var.put(u'm', ((var.get(u'm')*Js(256.0))+var.get(u'buffer').get((var.get(u'offset')+var.get(u'i'))))),var.put(u'i', var.get(u'd'), u'+')),var.put(u'nBits', Js(8.0), u'-')) + if PyJsStrictEq(var.get(u'e'),Js(0.0)): + var.put(u'e', (Js(1.0)-var.get(u'eBias'))) + else: + if PyJsStrictEq(var.get(u'e'),var.get(u'eMax')): + return (var.get(u'NaN') if var.get(u'm') else (((-Js(1.0)) if var.get(u's') else Js(1.0))*var.get(u'Infinity'))) + else: + var.put(u'm', (var.get(u'm')+var.get(u'Math').callprop(u'pow', Js(2.0), var.get(u'mLen')))) + var.put(u'e', (var.get(u'e')-var.get(u'eBias'))) + return ((((-Js(1.0)) if var.get(u's') else Js(1.0))*var.get(u'm'))*var.get(u'Math').callprop(u'pow', Js(2.0), (var.get(u'e')-var.get(u'mLen')))) + PyJs_anonymous_4278_._set_name(u'anonymous') + var.get(u'exports').put(u'read', PyJs_anonymous_4278_) + @Js + def PyJs_anonymous_4279_(buffer, value, offset, isLE, mLen, nBytes, this, arguments, var=var): + var = Scope({u'mLen':mLen, u'buffer':buffer, u'value':value, u'this':this, u'nBytes':nBytes, u'offset':offset, u'isLE':isLE, u'arguments':arguments}, var) + var.registers([u'rt', u'c', u'e', u'd', u'mLen', u'i', u'eMax', u'offset', u'm', u'eLen', u'buffer', u's', u'value', u'eBias', u'isLE', u'nBytes']) + pass + var.put(u'eLen', (((var.get(u'nBytes')*Js(8.0))-var.get(u'mLen'))-Js(1.0))) + var.put(u'eMax', ((Js(1.0)<>Js(1.0))) + var.put(u'rt', ((var.get(u'Math').callprop(u'pow', Js(2.0), (-Js(24.0)))-var.get(u'Math').callprop(u'pow', Js(2.0), (-Js(77.0)))) if PyJsStrictEq(var.get(u'mLen'),Js(23.0)) else Js(0.0))) + var.put(u'i', (Js(0.0) if var.get(u'isLE') else (var.get(u'nBytes')-Js(1.0)))) + var.put(u'd', (Js(1.0) if var.get(u'isLE') else (-Js(1.0)))) + var.put(u's', (Js(1.0) if ((var.get(u'value')=Js(1.0)): + var.put(u'value', (var.get(u'rt')/var.get(u'c')), u'+') + else: + var.put(u'value', (var.get(u'rt')*var.get(u'Math').callprop(u'pow', Js(2.0), (Js(1.0)-var.get(u'eBias')))), u'+') + if ((var.get(u'value')*var.get(u'c'))>=Js(2.0)): + (var.put(u'e',Js(var.get(u'e').to_number())+Js(1))-Js(1)) + var.put(u'c', Js(2.0), u'/') + if ((var.get(u'e')+var.get(u'eBias'))>=var.get(u'eMax')): + var.put(u'm', Js(0.0)) + var.put(u'e', var.get(u'eMax')) + else: + if ((var.get(u'e')+var.get(u'eBias'))>=Js(1.0)): + var.put(u'm', (((var.get(u'value')*var.get(u'c'))-Js(1.0))*var.get(u'Math').callprop(u'pow', Js(2.0), var.get(u'mLen')))) + var.put(u'e', (var.get(u'e')+var.get(u'eBias'))) + else: + var.put(u'm', ((var.get(u'value')*var.get(u'Math').callprop(u'pow', Js(2.0), (var.get(u'eBias')-Js(1.0))))*var.get(u'Math').callprop(u'pow', Js(2.0), var.get(u'mLen')))) + var.put(u'e', Js(0.0)) + #for JS loop + + while (var.get(u'mLen')>=Js(8.0)): + try: + pass + finally: + PyJsComma(PyJsComma(PyJsComma(var.get(u'buffer').put((var.get(u'offset')+var.get(u'i')), (var.get(u'm')&Js(255))),var.put(u'i', var.get(u'd'), u'+')),var.put(u'm', Js(256.0), u'/')),var.put(u'mLen', Js(8.0), u'-')) + var.put(u'e', ((var.get(u'e')<Js(0.0)): + try: + pass + finally: + PyJsComma(PyJsComma(PyJsComma(var.get(u'buffer').put((var.get(u'offset')+var.get(u'i')), (var.get(u'e')&Js(255))),var.put(u'i', var.get(u'd'), u'+')),var.put(u'e', Js(256.0), u'/')),var.put(u'eLen', Js(8.0), u'-')) + var.get(u'buffer').put(((var.get(u'offset')+var.get(u'i'))-var.get(u'd')), (var.get(u's')*Js(128.0)), u'|') + PyJs_anonymous_4279_._set_name(u'anonymous') + var.get(u'exports').put(u'write', PyJs_anonymous_4279_) +PyJs_anonymous_4277_._set_name(u'anonymous') +PyJs_Object_4280_ = Js({}) +@Js +def PyJs_anonymous_4281_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'toString', u'exports', u'module']) + PyJs_Object_4282_ = Js({}) + var.put(u'toString', PyJs_Object_4282_.get(u'toString')) + @Js + def PyJs_anonymous_4283_(arr, this, arguments, var=var): + var = Scope({u'this':this, u'arr':arr, u'arguments':arguments}, var) + var.registers([u'arr']) + return (var.get(u'toString').callprop(u'call', var.get(u'arr'))==Js(u'[object Array]')) + PyJs_anonymous_4283_._set_name(u'anonymous') + var.get(u'module').put(u'exports', (var.get(u'Array').get(u'isArray') or PyJs_anonymous_4283_)) +PyJs_anonymous_4281_._set_name(u'anonymous') +PyJs_Object_4284_ = Js({}) +@Js +def PyJs_anonymous_4285_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + if PyJsStrictEq(var.get(u'Object').get(u'create').typeof(),Js(u'function')): + @Js + def PyJs_inherits_4286_(ctor, superCtor, this, arguments, var=var): + var = Scope({u'this':this, u'inherits':PyJs_inherits_4286_, u'superCtor':superCtor, u'arguments':arguments, u'ctor':ctor}, var) + var.registers([u'superCtor', u'ctor']) + var.get(u'ctor').put(u'super_', var.get(u'superCtor')) + PyJs_Object_4288_ = Js({u'value':var.get(u'ctor'),u'enumerable':Js(False),u'writable':var.get(u'true'),u'configurable':var.get(u'true')}) + PyJs_Object_4287_ = Js({u'constructor':PyJs_Object_4288_}) + var.get(u'ctor').put(u'prototype', var.get(u'Object').callprop(u'create', var.get(u'superCtor').get(u'prototype'), PyJs_Object_4287_)) + PyJs_inherits_4286_._set_name(u'inherits') + var.get(u'module').put(u'exports', PyJs_inherits_4286_) + else: + @Js + def PyJs_inherits_4289_(ctor, superCtor, this, arguments, var=var): + var = Scope({u'this':this, u'inherits':PyJs_inherits_4289_, u'superCtor':superCtor, u'arguments':arguments, u'ctor':ctor}, var) + var.registers([u'TempCtor', u'superCtor', u'ctor']) + var.get(u'ctor').put(u'super_', var.get(u'superCtor')) + @Js + def PyJs_anonymous_4290_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJs_anonymous_4290_._set_name(u'anonymous') + var.put(u'TempCtor', PyJs_anonymous_4290_) + var.get(u'TempCtor').put(u'prototype', var.get(u'superCtor').get(u'prototype')) + var.get(u'ctor').put(u'prototype', var.get(u'TempCtor').create()) + var.get(u'ctor').get(u'prototype').put(u'constructor', var.get(u'ctor')) + PyJs_inherits_4289_._set_name(u'inherits') + var.get(u'module').put(u'exports', PyJs_inherits_4289_) +PyJs_anonymous_4285_._set_name(u'anonymous') +PyJs_Object_4291_ = Js({}) +@Js +def PyJs_anonymous_4292_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'require', u'exports', u'module']) + @Js + def PyJs_anonymous_4293_(process, this, arguments, var=var): + var = Scope({u'process':process, u'this':this, u'arguments':arguments}, var) + var.registers([u'splitPath', u'substr', u'process', u'normalizeArray', u'filter', u'splitPathRe']) + @Js + def PyJsHoisted_filter_(xs, f, this, arguments, var=var): + var = Scope({u'this':this, u'xs':xs, u'arguments':arguments, u'f':f}, var) + var.registers([u'i', u'res', u'f', u'xs']) + if var.get(u'xs').get(u'filter'): + return var.get(u'xs').callprop(u'filter', var.get(u'f')) + var.put(u'res', Js([])) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')=Js(0.0)): + try: + var.put(u'last', var.get(u'parts').get(var.get(u'i'))) + if PyJsStrictEq(var.get(u'last'),Js(u'.')): + var.get(u'parts').callprop(u'splice', var.get(u'i'), Js(1.0)) + else: + if PyJsStrictEq(var.get(u'last'),Js(u'..')): + var.get(u'parts').callprop(u'splice', var.get(u'i'), Js(1.0)) + (var.put(u'up',Js(var.get(u'up').to_number())+Js(1))-Js(1)) + else: + if var.get(u'up'): + var.get(u'parts').callprop(u'splice', var.get(u'i'), Js(1.0)) + (var.put(u'up',Js(var.get(u'up').to_number())-Js(1))+Js(1)) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + if var.get(u'allowAboveRoot'): + #for JS loop + + while (var.put(u'up',Js(var.get(u'up').to_number())-Js(1))+Js(1)): + try: + var.get(u'parts').callprop(u'unshift', Js(u'..')) + finally: + var.get(u'up') + return var.get(u'parts') + PyJsHoisted_normalizeArray_.func_name = u'normalizeArray' + var.put(u'normalizeArray', PyJsHoisted_normalizeArray_) + pass + var.put(u'splitPathRe', JsRegExp(u'/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/')) + @Js + def PyJs_anonymous_4294_(filename, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'filename':filename}, var) + var.registers([u'filename']) + return var.get(u'splitPathRe').callprop(u'exec', var.get(u'filename')).callprop(u'slice', Js(1.0)) + PyJs_anonymous_4294_._set_name(u'anonymous') + var.put(u'splitPath', PyJs_anonymous_4294_) + @Js + def PyJs_anonymous_4295_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'resolvedPath', u'path', u'resolvedAbsolute']) + var.put(u'resolvedPath', Js(u'')) + var.put(u'resolvedAbsolute', Js(False)) + #for JS loop + var.put(u'i', (var.get(u'arguments').get(u'length')-Js(1.0))) + while ((var.get(u'i')>=(-Js(1.0))) and var.get(u'resolvedAbsolute').neg()): + try: + var.put(u'path', (var.get(u'arguments').get(var.get(u'i')) if (var.get(u'i')>=Js(0.0)) else var.get(u'process').callprop(u'cwd'))) + if PyJsStrictNeq(var.get(u'path',throw=False).typeof(),Js(u'string')): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Arguments to path.resolve must be strings'))) + raise PyJsTempException + else: + if var.get(u'path').neg(): + continue + var.put(u'resolvedPath', ((var.get(u'path')+Js(u'/'))+var.get(u'resolvedPath'))) + var.put(u'resolvedAbsolute', PyJsStrictEq(var.get(u'path').callprop(u'charAt', Js(0.0)),Js(u'/'))) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + @Js + def PyJs_anonymous_4296_(p, this, arguments, var=var): + var = Scope({u'this':this, u'p':p, u'arguments':arguments}, var) + var.registers([u'p']) + return var.get(u'p').neg().neg() + PyJs_anonymous_4296_._set_name(u'anonymous') + var.put(u'resolvedPath', var.get(u'normalizeArray')(var.get(u'filter')(var.get(u'resolvedPath').callprop(u'split', Js(u'/')), PyJs_anonymous_4296_), var.get(u'resolvedAbsolute').neg()).callprop(u'join', Js(u'/'))) + return (((Js(u'/') if var.get(u'resolvedAbsolute') else Js(u''))+var.get(u'resolvedPath')) or Js(u'.')) + PyJs_anonymous_4295_._set_name(u'anonymous') + var.get(u'exports').put(u'resolve', PyJs_anonymous_4295_) + @Js + def PyJs_anonymous_4297_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path', u'trailingSlash', u'isAbsolute']) + var.put(u'isAbsolute', var.get(u'exports').callprop(u'isAbsolute', var.get(u'path'))) + var.put(u'trailingSlash', PyJsStrictEq(var.get(u'substr')(var.get(u'path'), (-Js(1.0))),Js(u'/'))) + @Js + def PyJs_anonymous_4298_(p, this, arguments, var=var): + var = Scope({u'this':this, u'p':p, u'arguments':arguments}, var) + var.registers([u'p']) + return var.get(u'p').neg().neg() + PyJs_anonymous_4298_._set_name(u'anonymous') + var.put(u'path', var.get(u'normalizeArray')(var.get(u'filter')(var.get(u'path').callprop(u'split', Js(u'/')), PyJs_anonymous_4298_), var.get(u'isAbsolute').neg()).callprop(u'join', Js(u'/'))) + if (var.get(u'path').neg() and var.get(u'isAbsolute').neg()): + var.put(u'path', Js(u'.')) + if (var.get(u'path') and var.get(u'trailingSlash')): + var.put(u'path', Js(u'/'), u'+') + return ((Js(u'/') if var.get(u'isAbsolute') else Js(u''))+var.get(u'path')) + PyJs_anonymous_4297_._set_name(u'anonymous') + var.get(u'exports').put(u'normalize', PyJs_anonymous_4297_) + @Js + def PyJs_anonymous_4299_(path, this, arguments, var=var): + var = Scope({u'this':this, u'path':path, u'arguments':arguments}, var) + var.registers([u'path']) + return PyJsStrictEq(var.get(u'path').callprop(u'charAt', Js(0.0)),Js(u'/')) + PyJs_anonymous_4299_._set_name(u'anonymous') + var.get(u'exports').put(u'isAbsolute', PyJs_anonymous_4299_) + @Js + def PyJs_anonymous_4300_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'paths']) + var.put(u'paths', var.get(u'Array').get(u'prototype').get(u'slice').callprop(u'call', var.get(u'arguments'), Js(0.0))) + @Js + def PyJs_anonymous_4301_(p, index, this, arguments, var=var): + var = Scope({u'this':this, u'p':p, u'arguments':arguments, u'index':index}, var) + var.registers([u'p', u'index']) + if PyJsStrictNeq(var.get(u'p',throw=False).typeof(),Js(u'string')): + PyJsTempException = JsToPyException(var.get(u'TypeError').create(Js(u'Arguments to path.join must be strings'))) + raise PyJsTempException + return var.get(u'p') + PyJs_anonymous_4301_._set_name(u'anonymous') + return var.get(u'exports').callprop(u'normalize', var.get(u'filter')(var.get(u'paths'), PyJs_anonymous_4301_).callprop(u'join', Js(u'/'))) + PyJs_anonymous_4300_._set_name(u'anonymous') + var.get(u'exports').put(u'join', PyJs_anonymous_4300_) + @Js + def PyJs_anonymous_4302_(PyJsArg_66726f6d_, to, this, arguments, var=var): + var = Scope({u'this':this, u'to':to, u'from':PyJsArg_66726f6d_, u'arguments':arguments}, var) + var.registers([u'trim', u'outputParts', u'i', u'to', u'length', u'toParts', u'from', u'fromParts', u'samePartsLength']) + @Js + def PyJsHoisted_trim_(arr, this, arguments, var=var): + var = Scope({u'this':this, u'arr':arr, u'arguments':arguments}, var) + var.registers([u'start', u'arr', u'end']) + var.put(u'start', Js(0.0)) + #for JS loop + + while (var.get(u'start')=Js(0.0)): + try: + if PyJsStrictNeq(var.get(u'arr').get(var.get(u'end')),Js(u'')): + break + finally: + (var.put(u'end',Js(var.get(u'end').to_number())-Js(1))+Js(1)) + if (var.get(u'start')>var.get(u'end')): + return Js([]) + return var.get(u'arr').callprop(u'slice', var.get(u'start'), ((var.get(u'end')-var.get(u'start'))+Js(1.0))) + PyJsHoisted_trim_.func_name = u'trim' + var.put(u'trim', PyJsHoisted_trim_) + var.put(u'from', var.get(u'exports').callprop(u'resolve', var.get(u'from')).callprop(u'substr', Js(1.0))) + var.put(u'to', var.get(u'exports').callprop(u'resolve', var.get(u'to')).callprop(u'substr', Js(1.0))) + pass + var.put(u'fromParts', var.get(u'trim')(var.get(u'from').callprop(u'split', Js(u'/')))) + var.put(u'toParts', var.get(u'trim')(var.get(u'to').callprop(u'split', Js(u'/')))) + var.put(u'length', var.get(u'Math').callprop(u'min', var.get(u'fromParts').get(u'length'), var.get(u'toParts').get(u'length'))) + var.put(u'samePartsLength', var.get(u'length')) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(1.0)): + #for JS loop + var.put(u'i', Js(1.0)) + while (var.get(u'i')(-Js(1.0))): + if var.get(u'array'): + @Js + def PyJs_anonymous_4345_(line, this, arguments, var=var): + var = Scope({u'this':this, u'line':line, u'arguments':arguments}, var) + var.registers([u'line']) + return (Js(u' ')+var.get(u'line')) + PyJs_anonymous_4345_._set_name(u'anonymous') + var.put(u'str', var.get(u'str').callprop(u'split', Js(u'\n')).callprop(u'map', PyJs_anonymous_4345_).callprop(u'join', Js(u'\n')).callprop(u'substr', Js(2.0))) + else: + @Js + def PyJs_anonymous_4346_(line, this, arguments, var=var): + var = Scope({u'this':this, u'line':line, u'arguments':arguments}, var) + var.registers([u'line']) + return (Js(u' ')+var.get(u'line')) + PyJs_anonymous_4346_._set_name(u'anonymous') + var.put(u'str', (Js(u'\n')+var.get(u'str').callprop(u'split', Js(u'\n')).callprop(u'map', PyJs_anonymous_4346_).callprop(u'join', Js(u'\n')))) + else: + var.put(u'str', var.get(u'ctx').callprop(u'stylize', Js(u'[Circular]'), Js(u'special'))) + if var.get(u'isUndefined')(var.get(u'name')): + if (var.get(u'array') and var.get(u'key').callprop(u'match', JsRegExp(u'/^\\d+$/'))): + return var.get(u'str') + var.put(u'name', var.get(u'JSON').callprop(u'stringify', (Js(u'')+var.get(u'key')))) + if var.get(u'name').callprop(u'match', JsRegExp(u'/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/')): + var.put(u'name', var.get(u'name').callprop(u'substr', Js(1.0), (var.get(u'name').get(u'length')-Js(2.0)))) + var.put(u'name', var.get(u'ctx').callprop(u'stylize', var.get(u'name'), Js(u'name'))) + else: + var.put(u'name', var.get(u'name').callprop(u'replace', JsRegExp(u"/'/g"), Js(u"\\'")).callprop(u'replace', JsRegExp(u'/\\\\"/g'), Js(u'"')).callprop(u'replace', JsRegExp(u'/(^"|"$)/g'), Js(u"'"))) + var.put(u'name', var.get(u'ctx').callprop(u'stylize', var.get(u'name'), Js(u'string'))) + return ((var.get(u'name')+Js(u': '))+var.get(u'str')) + PyJsHoisted_formatProperty_.func_name = u'formatProperty' + var.put(u'formatProperty', PyJsHoisted_formatProperty_) + @Js + def PyJsHoisted_formatError_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return ((Js(u'[')+var.get(u'Error').get(u'prototype').get(u'toString').callprop(u'call', var.get(u'value')))+Js(u']')) + PyJsHoisted_formatError_.func_name = u'formatError' + var.put(u'formatError', PyJsHoisted_formatError_) + @Js + def PyJsHoisted_formatArray_(ctx, value, recurseTimes, visibleKeys, keys, this, arguments, var=var): + var = Scope({u'this':this, u'visibleKeys':visibleKeys, u'arguments':arguments, u'recurseTimes':recurseTimes, u'keys':keys, u'ctx':ctx, u'value':value}, var) + var.registers([u'keys', u'recurseTimes', u'i', u'ctx', u'l', u'value', u'visibleKeys', u'output']) + var.put(u'output', Js([])) + #for JS loop + var.put(u'i', Js(0.0)) + var.put(u'l', var.get(u'value').get(u'length')) + while (var.get(u'i')=Js(3.0)): + var.get(u'ctx').put(u'depth', var.get(u'arguments').get(u'2')) + if (var.get(u'arguments').get(u'length')>=Js(4.0)): + var.get(u'ctx').put(u'colors', var.get(u'arguments').get(u'3')) + if var.get(u'isBoolean')(var.get(u'opts')): + var.get(u'ctx').put(u'showHidden', var.get(u'opts')) + else: + if var.get(u'opts'): + var.get(u'exports').callprop(u'_extend', var.get(u'ctx'), var.get(u'opts')) + if var.get(u'isUndefined')(var.get(u'ctx').get(u'showHidden')): + var.get(u'ctx').put(u'showHidden', Js(False)) + if var.get(u'isUndefined')(var.get(u'ctx').get(u'depth')): + var.get(u'ctx').put(u'depth', Js(2.0)) + if var.get(u'isUndefined')(var.get(u'ctx').get(u'colors')): + var.get(u'ctx').put(u'colors', Js(False)) + if var.get(u'isUndefined')(var.get(u'ctx').get(u'customInspect')): + var.get(u'ctx').put(u'customInspect', var.get(u'true')) + if var.get(u'ctx').get(u'colors'): + var.get(u'ctx').put(u'stylize', var.get(u'stylizeWithColor')) + return var.get(u'formatValue')(var.get(u'ctx'), var.get(u'obj'), var.get(u'ctx').get(u'depth')) + PyJsHoisted_inspect_.func_name = u'inspect' + var.put(u'inspect', PyJsHoisted_inspect_) + @Js + def PyJsHoisted_formatPrimitive_(ctx, value, this, arguments, var=var): + var = Scope({u'this':this, u'ctx':ctx, u'arguments':arguments, u'value':value}, var) + var.registers([u'simple', u'ctx', u'value']) + if var.get(u'isUndefined')(var.get(u'value')): + return var.get(u'ctx').callprop(u'stylize', Js(u'undefined'), Js(u'undefined')) + if var.get(u'isString')(var.get(u'value')): + var.put(u'simple', ((Js(u"'")+var.get(u'JSON').callprop(u'stringify', var.get(u'value')).callprop(u'replace', JsRegExp(u'/^"|"$/g'), Js(u'')).callprop(u'replace', JsRegExp(u"/'/g"), Js(u"\\'")).callprop(u'replace', JsRegExp(u'/\\\\"/g'), Js(u'"')))+Js(u"'"))) + return var.get(u'ctx').callprop(u'stylize', var.get(u'simple'), Js(u'string')) + if var.get(u'isNumber')(var.get(u'value')): + return var.get(u'ctx').callprop(u'stylize', (Js(u'')+var.get(u'value')), Js(u'number')) + if var.get(u'isBoolean')(var.get(u'value')): + return var.get(u'ctx').callprop(u'stylize', (Js(u'')+var.get(u'value')), Js(u'boolean')) + if var.get(u'isNull')(var.get(u'value')): + return var.get(u'ctx').callprop(u'stylize', Js(u'null'), Js(u'null')) + PyJsHoisted_formatPrimitive_.func_name = u'formatPrimitive' + var.put(u'formatPrimitive', PyJsHoisted_formatPrimitive_) + @Js + def PyJsHoisted_hasOwnProperty_(obj, prop, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments, u'prop':prop}, var) + var.registers([u'obj', u'prop']) + return var.get(u'Object').get(u'prototype').get(u'hasOwnProperty').callprop(u'call', var.get(u'obj'), var.get(u'prop')) + PyJsHoisted_hasOwnProperty_.func_name = u'hasOwnProperty' + var.put(u'hasOwnProperty', PyJsHoisted_hasOwnProperty_) + @Js + def PyJsHoisted_isNumber_(arg, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'arg':arg}, var) + var.registers([u'arg']) + return PyJsStrictEq(var.get(u'arg',throw=False).typeof(),Js(u'number')) + PyJsHoisted_isNumber_.func_name = u'isNumber' + var.put(u'isNumber', PyJsHoisted_isNumber_) + @Js + def PyJsHoisted_isError_(e, this, arguments, var=var): + var = Scope({u'this':this, u'e':e, u'arguments':arguments}, var) + var.registers([u'e']) + return (var.get(u'isObject')(var.get(u'e')) and (PyJsStrictEq(var.get(u'objectToString')(var.get(u'e')),Js(u'[object Error]')) or var.get(u'e').instanceof(var.get(u'Error')))) + PyJsHoisted_isError_.func_name = u'isError' + var.put(u'isError', PyJsHoisted_isError_) + @Js + def PyJsHoisted_reduceToSingleString_(output, base, braces, this, arguments, var=var): + var = Scope({u'this':this, u'output':output, u'base':base, u'arguments':arguments, u'braces':braces}, var) + var.registers([u'output', u'length', u'base', u'numLinesEst', u'braces']) + var.put(u'numLinesEst', Js(0.0)) + @Js + def PyJs_anonymous_4347_(prev, cur, this, arguments, var=var): + var = Scope({u'this':this, u'prev':prev, u'cur':cur, u'arguments':arguments}, var) + var.registers([u'prev', u'cur']) + (var.put(u'numLinesEst',Js(var.get(u'numLinesEst').to_number())+Js(1))-Js(1)) + if (var.get(u'cur').callprop(u'indexOf', Js(u'\n'))>=Js(0.0)): + (var.put(u'numLinesEst',Js(var.get(u'numLinesEst').to_number())+Js(1))-Js(1)) + return ((var.get(u'prev')+var.get(u'cur').callprop(u'replace', JsRegExp(u'/\\u001b\\[\\d\\d?m/g'), Js(u'')).get(u'length'))+Js(1.0)) + PyJs_anonymous_4347_._set_name(u'anonymous') + var.put(u'length', var.get(u'output').callprop(u'reduce', PyJs_anonymous_4347_, Js(0.0))) + if (var.get(u'length')>Js(60.0)): + return (((((var.get(u'braces').get(u'0')+(Js(u'') if PyJsStrictEq(var.get(u'base'),Js(u'')) else (var.get(u'base')+Js(u'\n '))))+Js(u' '))+var.get(u'output').callprop(u'join', Js(u',\n ')))+Js(u' '))+var.get(u'braces').get(u'1')) + return (((((var.get(u'braces').get(u'0')+var.get(u'base'))+Js(u' '))+var.get(u'output').callprop(u'join', Js(u', ')))+Js(u' '))+var.get(u'braces').get(u'1')) + PyJsHoisted_reduceToSingleString_.func_name = u'reduceToSingleString' + var.put(u'reduceToSingleString', PyJsHoisted_reduceToSingleString_) + @Js + def PyJsHoisted_isNullOrUndefined_(arg, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'arg':arg}, var) + var.registers([u'arg']) + return (var.get(u'arg')==var.get(u"null")) + PyJsHoisted_isNullOrUndefined_.func_name = u'isNullOrUndefined' + var.put(u'isNullOrUndefined', PyJsHoisted_isNullOrUndefined_) + @Js + def PyJsHoisted_isDate_(d, this, arguments, var=var): + var = Scope({u'this':this, u'd':d, u'arguments':arguments}, var) + var.registers([u'd']) + return (var.get(u'isObject')(var.get(u'd')) and PyJsStrictEq(var.get(u'objectToString')(var.get(u'd')),Js(u'[object Date]'))) + PyJsHoisted_isDate_.func_name = u'isDate' + var.put(u'isDate', PyJsHoisted_isDate_) + @Js + def PyJsHoisted_isString_(arg, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'arg':arg}, var) + var.registers([u'arg']) + return PyJsStrictEq(var.get(u'arg',throw=False).typeof(),Js(u'string')) + PyJsHoisted_isString_.func_name = u'isString' + var.put(u'isString', PyJsHoisted_isString_) + @Js + def PyJsHoisted_isPrimitive_(arg, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'arg':arg}, var) + var.registers([u'arg']) + return (((((PyJsStrictEq(var.get(u'arg'),var.get(u"null")) or PyJsStrictEq(var.get(u'arg',throw=False).typeof(),Js(u'boolean'))) or PyJsStrictEq(var.get(u'arg',throw=False).typeof(),Js(u'number'))) or PyJsStrictEq(var.get(u'arg',throw=False).typeof(),Js(u'string'))) or PyJsStrictEq(var.get(u'arg',throw=False).typeof(),Js(u'symbol'))) or PyJsStrictEq(var.get(u'arg',throw=False).typeof(),Js(u'undefined'))) + PyJsHoisted_isPrimitive_.func_name = u'isPrimitive' + var.put(u'isPrimitive', PyJsHoisted_isPrimitive_) + @Js + def PyJsHoisted_formatValue_(ctx, value, recurseTimes, this, arguments, var=var): + var = Scope({u'this':this, u'ctx':ctx, u'arguments':arguments, u'value':value, u'recurseTimes':recurseTimes}, var) + var.registers([u'primitive', u'name', u'recurseTimes', u'keys', u'ctx', u'ret', u'n', u'visibleKeys', u'base', u'value', u'output', u'array', u'braces']) + if ((((var.get(u'ctx').get(u'customInspect') and var.get(u'value')) and var.get(u'isFunction')(var.get(u'value').get(u'inspect'))) and PyJsStrictNeq(var.get(u'value').get(u'inspect'),var.get(u'exports').get(u'inspect'))) and (var.get(u'value').get(u'constructor') and PyJsStrictEq(var.get(u'value').get(u'constructor').get(u'prototype'),var.get(u'value'))).neg()): + var.put(u'ret', var.get(u'value').callprop(u'inspect', var.get(u'recurseTimes'), var.get(u'ctx'))) + if var.get(u'isString')(var.get(u'ret')).neg(): + var.put(u'ret', var.get(u'formatValue')(var.get(u'ctx'), var.get(u'ret'), var.get(u'recurseTimes'))) + return var.get(u'ret') + var.put(u'primitive', var.get(u'formatPrimitive')(var.get(u'ctx'), var.get(u'value'))) + if var.get(u'primitive'): + return var.get(u'primitive') + var.put(u'keys', var.get(u'Object').callprop(u'keys', var.get(u'value'))) + var.put(u'visibleKeys', var.get(u'arrayToHash')(var.get(u'keys'))) + if var.get(u'ctx').get(u'showHidden'): + var.put(u'keys', var.get(u'Object').callprop(u'getOwnPropertyNames', var.get(u'value'))) + if (var.get(u'isError')(var.get(u'value')) and ((var.get(u'keys').callprop(u'indexOf', Js(u'message'))>=Js(0.0)) or (var.get(u'keys').callprop(u'indexOf', Js(u'description'))>=Js(0.0)))): + return var.get(u'formatError')(var.get(u'value')) + if PyJsStrictEq(var.get(u'keys').get(u'length'),Js(0.0)): + if var.get(u'isFunction')(var.get(u'value')): + var.put(u'name', ((Js(u': ')+var.get(u'value').get(u'name')) if var.get(u'value').get(u'name') else Js(u''))) + return var.get(u'ctx').callprop(u'stylize', ((Js(u'[Function')+var.get(u'name'))+Js(u']')), Js(u'special')) + if var.get(u'isRegExp')(var.get(u'value')): + return var.get(u'ctx').callprop(u'stylize', var.get(u'RegExp').get(u'prototype').get(u'toString').callprop(u'call', var.get(u'value')), Js(u'regexp')) + if var.get(u'isDate')(var.get(u'value')): + return var.get(u'ctx').callprop(u'stylize', var.get(u'Date').get(u'prototype').get(u'toString').callprop(u'call', var.get(u'value')), Js(u'date')) + if var.get(u'isError')(var.get(u'value')): + return var.get(u'formatError')(var.get(u'value')) + var.put(u'base', Js(u'')) + var.put(u'array', Js(False)) + var.put(u'braces', Js([Js(u'{'), Js(u'}')])) + if var.get(u'isArray')(var.get(u'value')): + var.put(u'array', var.get(u'true')) + var.put(u'braces', Js([Js(u'['), Js(u']')])) + if var.get(u'isFunction')(var.get(u'value')): + var.put(u'n', ((Js(u': ')+var.get(u'value').get(u'name')) if var.get(u'value').get(u'name') else Js(u''))) + var.put(u'base', ((Js(u' [Function')+var.get(u'n'))+Js(u']'))) + if var.get(u'isRegExp')(var.get(u'value')): + var.put(u'base', (Js(u' ')+var.get(u'RegExp').get(u'prototype').get(u'toString').callprop(u'call', var.get(u'value')))) + if var.get(u'isDate')(var.get(u'value')): + var.put(u'base', (Js(u' ')+var.get(u'Date').get(u'prototype').get(u'toUTCString').callprop(u'call', var.get(u'value')))) + if var.get(u'isError')(var.get(u'value')): + var.put(u'base', (Js(u' ')+var.get(u'formatError')(var.get(u'value')))) + if (PyJsStrictEq(var.get(u'keys').get(u'length'),Js(0.0)) and (var.get(u'array').neg() or (var.get(u'value').get(u'length')==Js(0.0)))): + return ((var.get(u'braces').get(u'0')+var.get(u'base'))+var.get(u'braces').get(u'1')) + if (var.get(u'recurseTimes')=var.get(u'len')): + return var.get(u'x') + while 1: + SWITCHED = False + CONDITION = (var.get(u'x')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'%s')): + SWITCHED = True + return var.get(u'String')(var.get(u'args').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'%d')): + SWITCHED = True + return var.get(u'Number')(var.get(u'args').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(u'%j')): + SWITCHED = True + try: + return var.get(u'JSON').callprop(u'stringify', var.get(u'args').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)))) + except PyJsException as PyJsTempException: + PyJsHolder_5f_51919926 = var.own.get(u'_') + var.force_own_put(u'_', PyExceptionToJs(PyJsTempException)) + try: + return Js(u'[Circular]') + finally: + if PyJsHolder_5f_51919926 is not None: + var.own[u'_'] = PyJsHolder_5f_51919926 + else: + del var.own[u'_'] + del PyJsHolder_5f_51919926 + if True: + SWITCHED = True + return var.get(u'x') + SWITCHED = True + break + PyJs_anonymous_4330_._set_name(u'anonymous') + var.put(u'str', var.get(u'String')(var.get(u'f')).callprop(u'replace', var.get(u'formatRegExp'), PyJs_anonymous_4330_)) + #for JS loop + var.put(u'x', var.get(u'args').get(var.get(u'i'))) + while (var.get(u'i') generates babel.py +echo "Generating babel.py..." +python -c "import js2py;js2py.translate_file('babel_bundle.js', 'babel.py');" +rm babel_bundle.js + diff --git a/lib/js2py/evaljs.py b/lib/js2py/evaljs.py new file mode 100644 index 00000000..7839d610 --- /dev/null +++ b/lib/js2py/evaljs.py @@ -0,0 +1,258 @@ +# coding=utf-8 +from .translators import translate_js, DEFAULT_HEADER +from .es6 import js6_to_js5 +import sys +import time +import json +import six +import os +import hashlib +import codecs + +__all__ = ['EvalJs', 'translate_js', 'import_js', 'eval_js', 'translate_file', 'eval_js6', 'translate_js6', 'run_file', 'disable_pyimport', 'get_file_contents', 'write_file_contents'] +DEBUG = False + +def disable_pyimport(): + import pyjsparser.parser + pyjsparser.parser.ENABLE_PYIMPORT = False + +def path_as_local(path): + if os.path.isabs(path): + return path + # relative to cwd + return os.path.join(os.getcwd(), path) + +def import_js(path, lib_name, globals): + """Imports from javascript source file. + globals is your globals()""" + with codecs.open(path_as_local(path), "r", "utf-8") as f: + js = f.read() + e = EvalJs() + e.execute(js) + var = e.context['var'] + globals[lib_name] = var.to_python() + + +def get_file_contents(path_or_file): + if hasattr(path_or_file, 'read'): + js = path_or_file.read() + else: + with codecs.open(path_as_local(path_or_file), "r", "utf-8") as f: + js = f.read() + return js + + +def write_file_contents(path_or_file, contents): + if hasattr(path_or_file, 'write'): + path_or_file.write(contents) + else: + with open(path_as_local(path_or_file), 'w') as f: + f.write(contents) + +def translate_file(input_path, output_path): + ''' + Translates input JS file to python and saves the it to the output path. + It appends some convenience code at the end so that it is easy to import JS objects. + + For example we have a file 'example.js' with: var a = function(x) {return x} + translate_file('example.js', 'example.py') + + Now example.py can be easily importend and used: + >>> from example import example + >>> example.a(30) + 30 + ''' + js = get_file_contents(input_path) + + py_code = translate_js(js) + lib_name = os.path.basename(output_path).split('.')[0] + head = '__all__ = [%s]\n\n# Don\'t look below, you will not understand this Python code :) I don\'t.\n\n' % repr(lib_name) + tail = '\n\n# Add lib to the module scope\n%s = var.to_python()' % lib_name + out = head + py_code + tail + write_file_contents(output_path, out) + + + + + + +def run_file(path_or_file, context=None): + ''' Context must be EvalJS object. Runs given path as a JS program. Returns (eval_value, context). + ''' + if context is None: + context = EvalJs() + if not isinstance(context, EvalJs): + raise TypeError('context must be the instance of EvalJs') + eval_value = context.eval(get_file_contents(path_or_file)) + return eval_value, context + + + +def eval_js(js): + """Just like javascript eval. Translates javascript to python, + executes and returns python object. + js is javascript source code + + EXAMPLE: + >>> import js2py + >>> add = js2py.eval_js('function add(a, b) {return a + b}') + >>> add(1, 2) + 3 + 6 + >>> add('1', 2, 3) + u'12' + >>> add.constructor + function Function() { [python code] } + + NOTE: For Js Number, String, Boolean and other base types returns appropriate python BUILTIN type. + For Js functions and objects, returns Python wrapper - basically behaves like normal python object. + If you really want to convert object to python dict you can use to_dict method. + """ + e = EvalJs() + return e.eval(js) + +def eval_js6(js): + return eval_js(js6_to_js5(js)) + + +def translate_js6(js): + return translate_js(js6_to_js5(js)) + + + +class EvalJs(object): + """This class supports continuous execution of javascript under same context. + + >>> js = EvalJs() + >>> js.execute('var a = 10;function f(x) {return x*x};') + >>> js.f(9) + 81 + >>> js.a + 10 + + context is a python dict or object that contains python variables that should be available to JavaScript + For example: + >>> js = EvalJs({'a': 30}) + >>> js.execute('var x = a') + >>> js.x + 30 + + You can run interactive javascript console with console method!""" + def __init__(self, context={}): + self.__dict__['_context'] = {} + exec(DEFAULT_HEADER, self._context) + self.__dict__['_var'] = self._context['var'].to_python() + if not isinstance(context, dict): + try: + context = context.__dict__ + except: + raise TypeError('context has to be either a dict or have __dict__ attr') + for k, v in six.iteritems(context): + setattr(self._var, k, v) + + def execute(self, js=None, use_compilation_plan=False): + """executes javascript js in current context + + During initial execute() the converted js is cached for re-use. That means next time you + run the same javascript snippet you save many instructions needed to parse and convert the + js code to python code. + + This cache causes minor overhead (a cache dicts is updated) but the Js=>Py conversion process + is typically expensive compared to actually running the generated python code. + + Note that the cache is just a dict, it has no expiration or cleanup so when running this + in automated situations with vast amounts of snippets it might increase memory usage. + """ + try: + cache = self.__dict__['cache'] + except KeyError: + cache = self.__dict__['cache'] = {} + hashkey = hashlib.md5(js.encode('utf-8')).digest() + try: + compiled = cache[hashkey] + except KeyError: + code = translate_js(js, '', use_compilation_plan=use_compilation_plan) + compiled = cache[hashkey] = compile(code, '', 'exec') + exec(compiled, self._context) + + def eval(self, expression, use_compilation_plan=False): + """evaluates expression in current context and returns its value""" + code = 'PyJsEvalResult = eval(%s)'%json.dumps(expression) + self.execute(code, use_compilation_plan=use_compilation_plan) + return self['PyJsEvalResult'] + + def execute_debug(self, js): + """executes javascript js in current context + as opposed to the (faster) self.execute method, you can use your regular debugger + to set breakpoints and inspect the generated python code + """ + code = translate_js(js, '') + # make sure you have a temp folder: + filename = 'temp' + os.sep + '_' + hashlib.md5(code).hexdigest() + '.py' + try: + with open(filename, mode='w') as f: + f.write(code) + execfile(filename, self._context) + except Exception as err: + raise err + finally: + os.remove(filename) + try: + os.remove(filename + 'c') + except: + pass + + def eval_debug(self, expression): + """evaluates expression in current context and returns its value + as opposed to the (faster) self.execute method, you can use your regular debugger + to set breakpoints and inspect the generated python code + """ + code = 'PyJsEvalResult = eval(%s)'%json.dumps(expression) + self.execute_debug(code) + return self['PyJsEvalResult'] + + def __getattr__(self, var): + return getattr(self._var, var) + + def __getitem__(self, var): + return getattr(self._var, var) + + def __setattr__(self, var, val): + return setattr(self._var, var, val) + + def __setitem__(self, var, val): + return setattr(self._var, var, val) + + def console(self): + """starts to interact (starts interactive console) Something like code.InteractiveConsole""" + while True: + if six.PY2: + code = raw_input('>>> ') + else: + code = input('>>>') + try: + print(self.eval(code)) + except KeyboardInterrupt: + break + except Exception as e: + import traceback + if DEBUG: + sys.stderr.write(traceback.format_exc()) + else: + sys.stderr.write('EXCEPTION: '+str(e)+'\n') + time.sleep(0.01) + + + + +#print x + + + +if __name__=='__main__': + #with open('C:\Users\Piotrek\Desktop\esprima.js', 'rb') as f: + # x = f.read() + e = EvalJs() + e.execute('square(x)') + #e.execute(x) + e.console() + diff --git a/lib/js2py/host/__init__.py b/lib/js2py/host/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/lib/js2py/host/console.py b/lib/js2py/host/console.py new file mode 100644 index 00000000..822219ea --- /dev/null +++ b/lib/js2py/host/console.py @@ -0,0 +1,11 @@ +from ..base import * + +@Js +def console(): + pass + +@Js +def log(): + print(arguments[0]) + +console.put('log', log) \ No newline at end of file diff --git a/lib/js2py/host/dom/__init__.py b/lib/js2py/host/dom/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/lib/js2py/host/dom/constants.py b/lib/js2py/host/dom/constants.py new file mode 100644 index 00000000..6d9be00e --- /dev/null +++ b/lib/js2py/host/dom/constants.py @@ -0,0 +1,47 @@ +from js2py.base import * + +def _get_conts(idl): + def is_valid(c): + try: + exec(c) + return 1 + except: + pass + return '\n'.join(filter(is_valid, (' '.join(e.strip(' ;').split()[-3:]) for e in idl.splitlines()))) + + +default_attrs = {'writable':True, 'enumerable':True, 'configurable':True} + + +def compose_prototype(Class, attrs=default_attrs): + prototype = Class() + for i in dir(Class): + e = getattr(Class, i) + if hasattr(e, '__func__'): + temp = PyJsFunction(e.__func__, FunctionPrototype) + attrs = {k:v for k,v in attrs.iteritems()} + attrs['value'] = temp + prototype.define_own_property(i, attrs) + return prototype + + +# Error codes + +INDEX_SIZE_ERR = 1 +DOMSTRING_SIZE_ERR = 2 +HIERARCHY_REQUEST_ERR = 3 +WRONG_DOCUMENT_ERR = 4 +INVALID_CHARACTER_ERR = 5 +NO_DATA_ALLOWED_ERR = 6 +NO_MODIFICATION_ALLOWED_ERR = 7 +NOT_FOUND_ERR = 8 +NOT_SUPPORTED_ERR = 9 +INUSE_ATTRIBUTE_ERR = 10 +INVALID_STATE_ERR = 11 +SYNTAX_ERR = 12 +INVALID_MODIFICATION_ERR = 13 +NAMESPACE_ERR = 14 +INVALID_ACCESS_ERR = 15 +VALIDATION_ERR = 16 +TYPE_MISMATCH_ERR = 17 + diff --git a/lib/js2py/host/dom/interface.py b/lib/js2py/host/dom/interface.py new file mode 100644 index 00000000..0c79ffa8 --- /dev/null +++ b/lib/js2py/host/dom/interface.py @@ -0,0 +1,73 @@ +from StringIO import StringIO +from constants import * +from bs4 import BeautifulSoup +from js2py.base import * +try: + import lxml + def parse(source): + return BeautifulSoup(source, 'lxml') +except: + def parse(source): + return BeautifulSoup(source) + + + + + + + +x = ''' + + + + + + + + + + +
Shady GroveAeolian
Over the River, CharlieDorian
''' + + + +class DOM(PyJs): + prototype = ObjectPrototype + def __init__(self): + self.own = {} + + def readonly(self, name, val): + self.define_own_property(name, {'writable':False, 'enumerable':False, 'configurable':False, 'value': Js(val)}) + + + +# DOMStringList + +class DOMStringListPrototype(DOM): + Class = 'DOMStringListPrototype' + + def contains(element): + return element.to_string().value in this._string_list + + def item(index): + return this._string_list[index.to_int()] if 0<=index.to_int()36: + return NaN + if r!=16: + strip_prefix = False + else: + r = 10 + if strip_prefix: + if len(string)>=2 and string[:2] in ('0x', '0X'): + string = string[2:] + r = 16 + n = 0 + num = 0 + while n4: # cant be a number anymore + break + length += 1 + if num is None: + return NaN + return sign*float(string[:max_len]) + +@Js +def isNaN(number): + if number.to_number().is_nan(): + return true + return false + +@Js +def isFinite(number): + num = number.to_number() + if num.is_nan() or num.is_infinity(): + return false + return true + + +#todo URI handling! + + + diff --git a/lib/js2py/prototypes/__init__.py b/lib/js2py/prototypes/__init__.py new file mode 100644 index 00000000..d646566a --- /dev/null +++ b/lib/js2py/prototypes/__init__.py @@ -0,0 +1 @@ +__author__ = 'Piotr Dabkowski' diff --git a/lib/js2py/prototypes/jsarray.py b/lib/js2py/prototypes/jsarray.py new file mode 100644 index 00000000..efa4796d --- /dev/null +++ b/lib/js2py/prototypes/jsarray.py @@ -0,0 +1,458 @@ +import six + +if six.PY3: + xrange = range + import functools + +def to_arr(this): + """Returns Python array from Js array""" + return [this.get(str(e)) for e in xrange(len(this))] + + +ARR_STACK = set({}) + +class ArrayPrototype: + def toString(): + # this function is wrong but I will leave it here fore debugging purposes. + func = this.get('join') + if not func.is_callable(): + @this.Js + def func(): + return '[object %s]'%this.Class + return func.call(this, ()) + + def toLocaleString(): + array = this.to_object() + arr_len = array.get('length').to_uint32() + # separator is simply a comma ',' + if not arr_len: + return '' + res = [] + for i in xrange(arr_len): + element = array[str(i)] + if element.is_undefined() or element.is_null(): + res.append('') + else: + cand = element.to_object() + str_func = element.get('toLocaleString') + if not str_func.is_callable(): + raise this.MakeError('TypeError', 'toLocaleString method of item at index %d is not callable'%i) + res.append(element.callprop('toLocaleString').value) + return ','.join(res) + + def concat(): + array = this.to_object() + A = this.Js([]) + items = [array] + items.extend(to_arr(arguments)) + n = 0 + for E in items: + if E.Class=='Array': + k = 0 + e_len = len(E) + while k (arr_len - actual_delete_count + items_len): + array.delete(str(k-1)) + k -= 1 + # 13 + elif items_len>actual_delete_count: + k = arr_len - actual_delete_count + while k>actual_start: + fr = str(k + actual_delete_count - 1) + to = str(k + items_len - 1) + if array.has_property(fr): + array.put(to, array.get(fr)) + else: + array.delete(to) + k -= 1 + # 14-17 + k = actual_start + while items: + E = items.pop(0) + array.put(str(k), E) + k += 1 + array.put('length', this.Js(arr_len - actual_delete_count + items_len)) + return A + + def unshift(): + array = this.to_object() + arr_len = array.get('length').to_uint32() + argCount = len(arguments) + k = arr_len + while k > 0: + fr = str(k - 1) + to = str(k + argCount - 1) + if array.has_property(fr): + array.put(to, array.get(fr)) + else: + array.delete(to) + k -= 1 + j = 0 + items = to_arr(arguments) + while items: + E = items.pop(0) + array.put(str(j), E) + j += 1 + array.put('length', this.Js(arr_len + argCount)) + return arr_len + argCount + + def indexOf(searchElement): + array = this.to_object() + arr_len = array.get('length').to_uint32() + if arr_len == 0: + return -1 + if len(arguments)>1: + n = arguments[1].to_int() + else: + n = 0 + if n >= arr_len: + return -1 + if n >= 0: + k = n + else: + k = arr_len - abs(n) + if k < 0: + k = 0 + while k < arr_len: + if array.has_property(str(k)): + elementK = array.get(str(k)) + if searchElement.strict_equality_comparison(elementK): + return k + k += 1 + return -1 + + def lastIndexOf(searchElement): + array = this.to_object() + arr_len = array.get('length').to_uint32() + if arr_len == 0: + return -1 + if len(arguments)>1: + n = arguments[1].to_int() + else: + n = arr_len - 1 + if n >= 0: + k = min(n, arr_len-1) + else: + k = arr_len - abs(n) + while k >= 0: + if array.has_property(str(k)): + elementK = array.get(str(k)) + if searchElement.strict_equality_comparison(elementK): + return k + k -= 1 + return -1 + + + def every(callbackfn): + array = this.to_object() + arr_len = array.get('length').to_uint32() + if not callbackfn.is_callable(): + raise this.MakeError('TypeError', 'callbackfn must be a function') + T = arguments[1] + k = 0 + while k1: # initial value present + accumulator = arguments[1] + else: + kPresent = False + while not kPresent and k1: # initial value present + accumulator = arguments[1] + else: + kPresent = False + while not kPresent and k>=0: + kPresent = array.has_property(str(k)) + if kPresent: + accumulator = array.get(str(k)) + k -= 1 + if not kPresent: + raise this.MakeError('TypeError', 'Reduce of empty array with no initial value') + while k>=0: + if array.has_property(str(k)): + kValue = array.get(str(k)) + accumulator = callbackfn.call(this.undefined, (accumulator, kValue, this.Js(k), array)) + k -= 1 + return accumulator + + +def sort_compare(a, b, comp): + if a is None: + if b is None: + return 0 + return 1 + if b is None: + if a is None: + return 0 + return -1 + if a.is_undefined(): + if b.is_undefined(): + return 0 + return 1 + if b.is_undefined(): + if a.is_undefined(): + return 0 + return -1 + if comp is not None: + res = comp.call(a.undefined, (a, b)) + return res.to_int() + x, y = a.to_string(), b.to_string() + if xy: + return 1 + return 0 + + + + diff --git a/lib/js2py/prototypes/jsarraybuffer.py b/lib/js2py/prototypes/jsarraybuffer.py new file mode 100644 index 00000000..5c7cf348 --- /dev/null +++ b/lib/js2py/prototypes/jsarraybuffer.py @@ -0,0 +1,17 @@ +# this is based on jsarray.py + +import six + +if six.PY3: + xrange = range + import functools + +def to_arr(this): + """Returns Python array from Js array""" + return [this.get(str(e)) for e in xrange(len(this))] + + +ARR_STACK = set({}) + +class ArrayBufferPrototype: + pass diff --git a/lib/js2py/prototypes/jsboolean.py b/lib/js2py/prototypes/jsboolean.py new file mode 100644 index 00000000..1a96e23a --- /dev/null +++ b/lib/js2py/prototypes/jsboolean.py @@ -0,0 +1,16 @@ + + +class BooleanPrototype: + def toString(): + if this.Class!='Boolean': + raise this.Js(TypeError)('this must be a boolean') + return 'true' if this.value else 'false' + + def valueOf(): + if this.Class!='Boolean': + raise this.Js(TypeError)('this must be a boolean') + return this.value + + + + diff --git a/lib/js2py/prototypes/jserror.py b/lib/js2py/prototypes/jserror.py new file mode 100644 index 00000000..04a12881 --- /dev/null +++ b/lib/js2py/prototypes/jserror.py @@ -0,0 +1,10 @@ + +class ErrorPrototype: + def toString(): + if this.TYPE!='Object': + raise this.MakeError('TypeError', 'Error.prototype.toString called on non-object') + name = this.get('name') + name = 'Error' if name.is_undefined() else name.to_string().value + msg = this.get('message') + msg = '' if msg.is_undefined() else msg.to_string().value + return name + (name and msg and ': ') + msg \ No newline at end of file diff --git a/lib/js2py/prototypes/jsfunction.py b/lib/js2py/prototypes/jsfunction.py new file mode 100644 index 00000000..6a5e78b8 --- /dev/null +++ b/lib/js2py/prototypes/jsfunction.py @@ -0,0 +1,53 @@ +# python 3 support +import six +if six.PY3: + basestring = str + long = int + xrange = range + unicode = str + + +# todo fix apply and bind + +class FunctionPrototype: + def toString(): + if not this.is_callable(): + raise TypeError('toString is not generic!') + args = ', '.join(this.code.__code__.co_varnames[:this.argcount]) + return 'function %s(%s) '%(this.func_name, args)+this.source + + def call(): + arguments_ = arguments + if not len(arguments): + obj = this.Js(None) + else: + obj = arguments[0] + if len(arguments)<=1: + args = () + else: + args = tuple([arguments_[e] for e in xrange(1, len(arguments_))]) + return this.call(obj, args) + + def apply(): + if not len(arguments): + obj = this.Js(None) + else: + obj = arguments[0] + if len(arguments)<=1: + args = () + else: + appl = arguments[1] + args = tuple([appl[e] for e in xrange(len(appl))]) + return this.call(obj, args) + + def bind(thisArg): + target = this + if not target.is_callable(): + raise this.MakeError('Object must be callable in order to be used with bind method') + if len(arguments) <= 1: + args = () + else: + args = tuple([arguments[e] for e in xrange(1, len(arguments))]) + return this.PyJsBoundFunction(target, thisArg, args) + + diff --git a/lib/js2py/prototypes/jsjson.py b/lib/js2py/prototypes/jsjson.py new file mode 100644 index 00000000..df458cfb --- /dev/null +++ b/lib/js2py/prototypes/jsjson.py @@ -0,0 +1,210 @@ +import json +from ..base import Js +indent = '' +# python 3 support +import six +if six.PY3: + basestring = str + long = int + xrange = range + unicode = str + + +def parse(text): + reviver = arguments[1] + s = text.to_string().value + try: + unfiltered = json.loads(s) + except: + raise this.MakeError('SyntaxError', 'Could not parse JSON string - Invalid syntax') + unfiltered = to_js(this, unfiltered) + if reviver.is_callable(): + root = this.Js({'': unfiltered}) + walk(root, '', reviver) + else: + return unfiltered + + +def stringify(value, replacer, space): + global indent + stack = set([]) + indent = '' + property_list = replacer_function = this.undefined + if replacer.is_object(): + if replacer.is_callable(): + replacer_function = replacer + elif replacer.Class=='Array': + property_list = [] + for e in replacer: + v = replacer[e] + item = this.undefined + if v._type()=='Number': + item = v.to_string() + elif v._type()=='String': + item = v + elif v.is_object(): + if v.Class in ('String', 'Number'): + item = v.to_string() + if not item.is_undefined() and item.value not in property_list: + property_list.append(item.value) + if space.is_object(): + if space.Class=='Number': + space = space.to_number() + elif space.Class=='String': + space = space.to_string() + if space._type()=='Number': + space = this.Js(min(10, space.to_int())) + gap = max(int(space.value), 0)* ' ' + elif space._type()=='String': + gap = space.value[:10] + else: + gap = '' + return this.Js(Str('', this.Js({'':value}), replacer_function, property_list, gap, stack, space)) + + + +def Str(key, holder, replacer_function, property_list, gap, stack, space): + value = holder[key] + if value.is_object(): + to_json = value.get('toJSON') + if to_json.is_callable(): + value = to_json.call(value, (key,)) + if not replacer_function.is_undefined(): + value = replacer_function.call(holder, (key, value)) + + if value.is_object(): + if value.Class=='String': + value = value.to_string() + elif value.Class=='Number': + value = value.to_number() + elif value.Class=='Boolean': + value = value.to_boolean() + if value.is_null(): + return 'null' + elif value.Class=='Boolean': + return 'true' if value.value else 'false' + elif value._type()=='String': + return Quote(value) + elif value._type()=='Number': + if not value.is_infinity(): + return value.to_string() + return 'null' + if value.is_object() and not value.is_callable(): + if value.Class=='Array': + return ja(value, stack, gap, property_list, replacer_function, space) + else: + return jo(value, stack, gap, property_list, replacer_function, space) + return None # undefined + + + +def jo(value, stack, gap, property_list, replacer_function, space): + global indent + if value in stack: + raise value.MakeError('TypeError', 'Converting circular structure to JSON') + stack.add(value) + stepback = indent + indent += gap + if not property_list.is_undefined(): + k = property_list + else: + k = [e.value for e in value] + partial = [] + for p in k: + str_p = value.Js(Str(p, value, replacer_function, property_list, gap, stack, space)) + if not str_p.is_undefined(): + member = json.dumps(p) + ':' + (' ' if gap else '') + str_p.value # todo not sure here - what space character? + partial.append(member) + if not partial: + final = '{}' + else: + if not gap: + final = '{%s}' % ','.join(partial) + else: + sep = ',\n'+indent + properties = sep.join(partial) + final = '{\n'+indent+properties+'\n'+stepback+'}' + stack.remove(value) + indent = stepback + return final + + +def ja(value, stack, gap, property_list, replacer_function, space): + global indent + if value in stack: + raise value.MakeError('TypeError', 'Converting circular structure to JSON') + stack.add(value) + stepback = indent + indent += gap + partial = [] + length = len(value) + for index in xrange(length): + index = str(index) + str_index = value.Js(Str(index, value, replacer_function, property_list, gap, stack, space)) + if str_index.is_undefined(): + partial.append('null') + else: + partial.append(str_index.value) + if not partial: + final = '[]' + else: + if not gap: + final = '[%s]' % ','.join(partial) + else: + sep = ',\n'+indent + properties = sep.join(partial) + final = '[\n'+indent +properties+'\n'+stepback+']' + stack.remove(value) + indent = stepback + return final + + + + + +def Quote(string): + return string.Js(json.dumps(string.value)) + + +def to_js(this, d): + if isinstance(d, dict): + return this.Js(dict((k,this.Js(v)) for k, v in six.iteritems(d))) + return this.Js(d) + + + +def walk(holder, name, reviver): + val = holder.get(name) + if val.Class=='Array': + for i in xrange(len(val)): + i = unicode(i) + new_element = walk(val, i, reviver) + if new_element.is_undefined(): + val.delete(i) + else: + new_element.put(i, new_element) + elif val.is_object(): + for key in val: + new_element = walk(val, key, reviver) + if new_element.is_undefined(): + val.delete(key) + else: + val.put(key, new_element) + return reviver.call(holder, (name, val)) + + + + + + +JSON = Js({}) + +JSON.define_own_property('parse', {'value': Js(parse), + 'enumerable': False, + 'writable': True, + 'configurable': True}) + +JSON.define_own_property('stringify', {'value': Js(stringify), + 'enumerable': False, + 'writable': True, + 'configurable': True}) \ No newline at end of file diff --git a/lib/js2py/prototypes/jsnumber.py b/lib/js2py/prototypes/jsnumber.py new file mode 100644 index 00000000..d825c891 --- /dev/null +++ b/lib/js2py/prototypes/jsnumber.py @@ -0,0 +1,100 @@ +import six +if six.PY3: + basestring = str + long = int + xrange = range + unicode = str + + +RADIX_SYMBOLS = {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9', + 10: 'a', 11: 'b', 12: 'c', 13: 'd', 14: 'e', 15: 'f', 16: 'g', 17: 'h', 18: 'i', 19: 'j', 20: 'k', + 21: 'l', 22: 'm', 23: 'n', 24: 'o', 25: 'p', 26: 'q', 27: 'r', 28: 's', 29: 't', 30: 'u', 31: 'v', + 32: 'w', 33: 'x', 34: 'y', 35: 'z'} + + +def to_str_rep(num): + if num.is_nan(): + return num.Js('NaN') + elif num.is_infinity(): + sign = '-' if num.value<0 else '' + return num.Js(sign+'Infinity') + elif isinstance(num.value, (long, int)) or num.value.is_integer(): # dont print .0 + return num.Js(unicode(int(num.value))) + return num.Js(unicode(num.value)) # accurate enough + + +class NumberPrototype: + def toString(radix): + if this.Class!='Number': + raise this.MakeError('TypeError', 'Number.prototype.valueOf is not generic') + if radix.is_undefined(): + return to_str_rep(this) + r = radix.to_int() + if r==10: + return to_str_rep(this) + if r not in xrange(2, 37): + raise this.MakeError('RangeError', 'Number.prototype.toString() radix argument must be between 2 and 36') + num = this.to_int() + if num < 0: + num = -num + sign = '-' + else: + sign = '' + res = '' + while num: + s = RADIX_SYMBOLS[num % r] + num = num // r + res = s + res + return sign + (res if res else '0') + + def valueOf(): + if this.Class!='Number': + raise this.MakeError('TypeError', 'Number.prototype.valueOf is not generic') + return this.value + + def toLocaleString(): + return this.to_string() + + def toFixed (fractionDigits): + if this.Class!='Number': + raise this.MakeError('TypeError', 'Number.prototype.toFixed called on incompatible receiver') + digs = fractionDigits.to_int() + if digs<0 or digs>20: + raise this.MakeError('RangeError', 'toFixed() digits argument must be between 0 and 20') + elif this.is_infinity(): + return 'Infinity' if this.value>0 else '-Infinity' + elif this.is_nan(): + return 'NaN' + return format(this.value, '-.%df'%digs) + + + def toExponential (fractionDigits): + if this.Class!='Number': + raise this.MakeError('TypeError', 'Number.prototype.toExponential called on incompatible receiver') + digs = fractionDigits.to_int() + if digs<0 or digs>20: + raise this.MakeError('RangeError', 'toFixed() digits argument must be between 0 and 20') + elif this.is_infinity(): + return 'Infinity' if this.value>0 else '-Infinity' + elif this.is_nan(): + return 'NaN' + return format(this.value, '-.%de'%digs) + + def toPrecision (precision): + if this.Class!='Number': + raise this.MakeError('TypeError', 'Number.prototype.toPrecision called on incompatible receiver') + if precision.is_undefined(): + return this.to_string() + prec = precision.to_int() + if this.is_nan(): + return 'NaN' + elif this.is_infinity(): + return 'Infinity' if this.value>0 else '-Infinity' + digs = prec - len(str(int(this.value))) + if digs>=0: + return format(this.value, '-.%df'%digs) + else: + return format(this.value, '-.%df'%(prec-1)) + + + diff --git a/lib/js2py/prototypes/jsobject.py b/lib/js2py/prototypes/jsobject.py new file mode 100644 index 00000000..383a86f3 --- /dev/null +++ b/lib/js2py/prototypes/jsobject.py @@ -0,0 +1,36 @@ + +class ObjectPrototype: + def toString(): + return '[object %s]'%this.Class + + def valueOf(): + return this.to_object() + + + def toLocaleString(): + return this.callprop('toString') + + def hasOwnProperty(prop): + return this.get_own_property(prop.to_string().value) is not None + + def isPrototypeOf(obj): + #a bit stupid specification but well + # for example Object.prototype.isPrototypeOf.call((5).__proto__, 5) gives false + if not obj.is_object(): + return False + while 1: + obj = obj.prototype + if obj is None or obj.is_null(): + return False + if obj is this: + return True + + def propertyIsEnumerable(prop): + cand = this.own.get(prop.to_string().value) + return cand is not None and cand.get('enumerable') + + + + + + diff --git a/lib/js2py/prototypes/jsregexp.py b/lib/js2py/prototypes/jsregexp.py new file mode 100644 index 00000000..c14d9fda --- /dev/null +++ b/lib/js2py/prototypes/jsregexp.py @@ -0,0 +1,46 @@ + +class RegExpPrototype: + def toString(): + flags = u'' + try: + if this.glob: + flags += u'g' + if this.ignore_case: + flags += u'i' + if this.multiline: + flags += u'm' + except: + pass + v = this.value if this.value else '(?:)' + return u'/%s/'%v + flags + + def test(string): + return Exec(this, string) is not this.null + + def exec2(string): # will be changed to exec in base.py. cant name it exec here + return Exec(this, string) + + + + +def Exec(this, string): + if this.Class!='RegExp': + raise this.MakeError('TypeError', 'RegExp.prototype.exec is not generic!') + string = string.to_string() + length = len(string) + i = this.get('lastIndex').to_int() if this.glob else 0 + matched = False + while not matched: + if i < 0 or i > length: + this.put('lastIndex', this.Js(0)) + return this.null + matched = this.match(string.value, i) + i += 1 + start, end = matched.span()#[0]+i-1, matched.span()[1]+i-1 + if this.glob: + this.put('lastIndex', this.Js(end)) + arr = this.Js([this.Js(e) for e in [matched.group()]+list(matched.groups())]) + arr.put('index', this.Js(start)) + arr.put('input', string) + return arr + diff --git a/lib/js2py/prototypes/jsstring.py b/lib/js2py/prototypes/jsstring.py new file mode 100644 index 00000000..374c7353 --- /dev/null +++ b/lib/js2py/prototypes/jsstring.py @@ -0,0 +1,307 @@ +# -*- coding: utf-8 -*- +from .jsregexp import Exec +import re +DIGS = set('0123456789') +WHITE = u"\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF" + +def replacement_template(rep, source, span, npar): + """Takes the replacement template and some info about the match and returns filled template + """ + n = 0 + res = '' + while n < len(rep)-1: + char = rep[n] + if char=='$': + if rep[n+1]=='$': + res += '$' + n += 2 + continue + elif rep[n+1]=='`': + # replace with string that is BEFORE match + res += source[:span[0]] + n += 2 + continue + elif rep[n+1]=='\'': + # replace with string that is AFTER match + res += source[span[1]:] + n += 2 + continue + elif rep[n+1] in DIGS: + dig = rep[n+1] + if n+2len(npar): + res += '$'+dig + else: + # None - undefined has to be replaced with '' + res += npar[num-1] if npar[num-1] else '' + n += 1 + len(dig) + continue + res += char + n += 1 + if nthat: + return this.Js(1) + return this.Js(0) + + def match(regexp): + this.cok() + s = this.to_string() + r = this.RegExp(regexp) if regexp.Class!='RegExp' else regexp + if not r.glob: + return Exec(r, s) + r.put('lastIndex', this.Js(0)) + found = [] + previous_last_index = 0 + last_match = True + while last_match: + result = Exec(r, s) + if result.is_null(): + last_match=False + else: + this_index = r.get('lastIndex').value + if this_index==previous_last_index: + r.put('lastIndex', this.Js(this_index+1)) + previous_last_index += 1 + else: + previous_last_index = this_index + matchStr = result.get('0') + found.append(matchStr) + if not found: + return this.null + return found + + + def replace(searchValue, replaceValue): + # VERY COMPLICATED. to check again. + this.cok() + string = this.to_string() + s = string.value + res = '' + if not replaceValue.is_callable(): + replaceValue = replaceValue.to_string().value + func = False + else: + func = True + # Replace all ( global ) + if searchValue.Class == 'RegExp' and searchValue.glob: + last = 0 + for e in re.finditer(searchValue.pat, s): + res += s[last:e.span()[0]] + if func: + # prepare arguments for custom func (replaceValue) + args = (e.group(),) + e.groups() + (e.span()[1], string) + # convert all types to JS + args = map(this.Js, args) + res += replaceValue(*args).to_string().value + else: + res += replacement_template(replaceValue, s, e.span(), e.groups()) + last = e.span()[1] + res += s[last:] + return this.Js(res) + elif searchValue.Class=='RegExp': + e = re.search(searchValue.pat, s) + if e is None: + return string + span = e.span() + pars = e.groups() + match = e.group() + else: + match = searchValue.to_string().value + ind = s.find(match) + if ind==-1: + return string + span = ind, ind + len(match) + pars = () + res = s[:span[0]] + if func: + args = (match,) + pars + (span[1], string) + # convert all types to JS + this_ = this + args = tuple([this_.Js(x) for x in args]) + res += replaceValue(*args).to_string().value + else: + res += replacement_template(replaceValue, s, span, pars) + res += s[span[1]:] + return res + + def search(regexp): + this.cok() + string = this.to_string() + if regexp.Class=='RegExp': + rx = regexp + else: + rx = this.RegExp(regexp) + res = re.search(rx.pat, string.value) + if res is not None: + return this.Js(res.span()[0]) + return -1 + + def slice(start, end): + this.cok() + s = this.to_string() + start = start.to_int() + length = len(s.value) + end = length if end.is_undefined() else end.to_int() + #From = max(length+start, 0) if start<0 else min(length, start) + #To = max(length+end, 0) if end<0 else min(length, end) + return s.value[start:end] + + + def split (separator, limit): + # its a bit different that re.split! + this.cok() + S = this.to_string() + s = S.value + lim = 2**32-1 if limit.is_undefined() else limit.to_uint32() + if not lim: + return [] + if separator.is_undefined(): + return [s] + len_s = len(s) + res = [] + R = separator if separator.Class=='RegExp' else separator.to_string() + if not len_s: + if SplitMatch(s, 0, R) is None: + return [S] + return [] + p = q = 0 + while q!=len_s: + e, cap = SplitMatch(s, q, R) + if e is None or e==p: + q += 1 + continue + res.append(s[p:q]) + p = q = e + if len(res)==lim: + return res + for element in cap: + res.append(this.Js(element)) + if len(res)==lim: + return res + res.append(s[p:]) + return res + + + def substring (start, end): + this.cok() + s = this.to_string().value + start = start.to_int() + length = len(s) + end = length if end.is_undefined() else end.to_int() + fstart = min(max(start, 0), length) + fend = min(max(end, 0), length) + return this.Js(s[min(fstart, fend):max(fstart, fend)]) + + def substr(start, length): + #I hate this function and its description in specification + r1 = this.to_string().value + r2 = start.to_int() + r3 = 10**20 if length.is_undefined() else length.to_int() + r4 = len(r1) + r5 = r2 if r2>=0 else max(0, r2+r4) + r6 = min(max(r3 ,0), r4 - r5) + if r6<=0: + return '' + return r1[r5:r5+r6] + + def toLowerCase(): + this.cok() + return this.Js(this.to_string().value.lower()) + + def toLocaleLowerCase(): + this.cok() + return this.Js(this.to_string().value.lower()) + + def toUpperCase(): + this.cok() + return this.Js(this.to_string().value.upper()) + + def toLocaleUpperCase(): + this.cok() + return this.Js(this.to_string().value.upper()) + + def trim(): + this.cok() + return this.Js(this.to_string().value.strip(WHITE)) + + + + +def SplitMatch(s, q, R): + # s is Py String to match, q is the py int match start and R is Js RegExp or String. + if R.Class=='RegExp': + res = R.match(s, q) + return (None, ()) if res is None else (res.span()[1], res.groups()) + # R is just a string + if s[q:].startswith(R.value): + return q+len(R.value), () + return None, () + diff --git a/lib/js2py/prototypes/jstypedarray.py b/lib/js2py/prototypes/jstypedarray.py new file mode 100644 index 00000000..ba2c33a8 --- /dev/null +++ b/lib/js2py/prototypes/jstypedarray.py @@ -0,0 +1,324 @@ +# this is based on jsarray.py + +import six +try: + import numpy +except: + pass + +if six.PY3: + xrange = range + import functools + +def to_arr(this): + """Returns Python array from Js array""" + return [this.get(str(e)) for e in xrange(len(this))] + + +ARR_STACK = set({}) + +class TypedArrayPrototype: + + def toString(): + # this function is wrong + func = this.get('join') + if not func.is_callable(): + @this.Js + def func(): + return '[object %s]'%this.Class + return func.call(this, ()) + + def toLocaleString(locales=None,options=None): + array = this.to_object() + arr_len = array.get("length").to_uint32() + # separator is simply a comma ',' + if not arr_len: + return '' + res = [] + for i in xrange(arr_len): + element = array[str(i)] + if element.is_undefined() or element.is_null(): + res.append('') + else: + cand = element.to_object() + str_func = element.get('toLocaleString') + if not str_func.is_callable(): + raise this.MakeError('TypeError', 'toLocaleString method of item at index %d is not callable'%i) + res.append(element.callprop('toLocaleString').value) + return ','.join(res) + + def join(separator): + ARR_STACK.add(this) + array = this.to_object() + arr_len = array.get("length").to_uint32() + separator = ',' if separator.is_undefined() else separator.to_string().value + elems = [] + for e in xrange(arr_len): + elem = array.get(str(e)) + if elem in ARR_STACK: + s = '' + else: + s = elem.to_string().value + elems.append(s if not (elem.is_undefined() or elem.is_null()) else '') + res = separator.join(elems) + ARR_STACK.remove(this) + return res + + def reverse(): + array = this.to_object() # my own algorithm + vals = to_arr(array) + has_props = [array.has_property(str(e)) for e in xrange(len(array))] + vals.reverse() + has_props.reverse() + for i, val in enumerate(vals): + if has_props[i]: + array.put(str(i), val) + else: + array.delete(str(i)) + return array + + def slice(start, end): # todo check + array = this.to_object() + arr_len = array.get("length").to_uint32() + relative_start = start.to_int() + k = max((arr_len + relative_start), 0) if relative_start<0 else min(relative_start, arr_len) + relative_end = arr_len if end.is_undefined() else end.to_int() + final = max((arr_len + relative_end), 0) if relative_end<0 else min(relative_end, arr_len) + res = [] + n = 0 + while k1: + n = arguments[1].to_int() + else: + n = 0 + if n >= arr_len: + return -1 + if n >= 0: + k = n + else: + k = arr_len - abs(n) + if k < 0: + k = 0 + while k < arr_len: + if array.has_property(str(k)): + elementK = array.get(str(k)) + if searchElement.strict_equality_comparison(elementK): + return k + k += 1 + return -1 + + def lastIndexOf(searchElement): + array = this.to_object() + arr_len = array.get("length").to_uint32() + if arr_len == 0: + return -1 + if len(arguments)>1: + n = arguments[1].to_int() + else: + n = arr_len - 1 + if n >= 0: + k = min(n, arr_len-1) + else: + k = arr_len - abs(n) + while k >= 0: + if array.has_property(str(k)): + elementK = array.get(str(k)) + if searchElement.strict_equality_comparison(elementK): + return k + k -= 1 + return -1 + + def every(callbackfn): + array = this.to_object() + arr_len = array.get("length").to_uint32() + if not callbackfn.is_callable(): + raise this.MakeError('TypeError', 'callbackfn must be a function') + T = arguments[1] + k = 0 + while k1: # initial value present + accumulator = arguments[1] + else: + kPresent = False + while not kPresent and k1: # initial value present + accumulator = arguments[1] + else: + kPresent = False + while not kPresent and k>=0: + kPresent = array.has_property(str(k)) + if kPresent: + accumulator = array.get(str(k)) + k -= 1 + if not kPresent: + raise this.MakeError('TypeError', 'Reduce of empty array with no initial value') + while k>=0: + if array.has_property(str(k)): + kValue = array.get(str(k)) + accumulator = callbackfn.call(this.undefined, (accumulator, kValue, this.Js(k), array)) + k -= 1 + return accumulator + +def sort_compare(a, b, comp): + if a is None: + if b is None: + return 0 + return 1 + if b is None: + if a is None: + return 0 + return -1 + if a.is_undefined(): + if b.is_undefined(): + return 0 + return 1 + if b.is_undefined(): + if a.is_undefined(): + return 0 + return -1 + if comp is not None: + res = comp.call(a.undefined, (a, b)) + return res.to_int() + x, y = a.to_string(), b.to_string() + if xy: + return 1 + return 0 + + + + diff --git a/lib/js2py/pyjs.py b/lib/js2py/pyjs.py new file mode 100644 index 00000000..db49f4f7 --- /dev/null +++ b/lib/js2py/pyjs.py @@ -0,0 +1,66 @@ +from .base import * +from .constructors.jsmath import Math +from .constructors.jsdate import Date +from .constructors.jsobject import Object +from .constructors.jsfunction import Function +from .constructors.jsstring import String +from .constructors.jsnumber import Number +from .constructors.jsboolean import Boolean +from .constructors.jsregexp import RegExp +from .constructors.jsarray import Array +from .constructors.jsarraybuffer import ArrayBuffer +from .constructors.jsint8array import Int8Array +from .constructors.jsuint8array import Uint8Array +from .constructors.jsuint8clampedarray import Uint8ClampedArray +from .constructors.jsint16array import Int16Array +from .constructors.jsuint16array import Uint16Array +from .constructors.jsint32array import Int32Array +from .constructors.jsuint32array import Uint32Array +from .constructors.jsfloat32array import Float32Array +from .constructors.jsfloat64array import Float64Array +from .prototypes.jsjson import JSON +from .host.console import console +from .host.jseval import Eval +from .host.jsfunctions import parseFloat, parseInt, isFinite, isNaN + +# Now we have all the necessary items to create global environment for script +__all__ = ['Js', 'PyJsComma', 'PyJsStrictEq', 'PyJsStrictNeq', + 'PyJsException', 'PyJsBshift', 'Scope', 'PyExceptionToJs', + 'JsToPyException', 'JS_BUILTINS', 'appengine', 'set_global_object', + 'JsRegExp', 'PyJsException', 'PyExceptionToJs', 'JsToPyException', 'PyJsSwitchException'] + + +# these were defined in base.py +builtins = ('true','false','null','undefined','Infinity', + 'NaN', 'console', 'String', 'Number', 'Boolean', 'RegExp', + 'Math', 'Date', 'Object', 'Function', 'Array', + 'Int8Array', 'Uint8Array', 'Uint8ClampedArray', + 'Int16Array','Uint16Array', + 'Int32Array', 'Uint32Array', + 'Float32Array', 'Float64Array', + 'ArrayBuffer', + 'parseFloat', 'parseInt', 'isFinite', 'isNaN') + #Array, Function, JSON, Error is done later :) + # also some built in functions like eval... + +def set_global_object(obj): + obj.IS_CHILD_SCOPE = False + this = This({}) + this.own = obj.own + this.prototype = obj.prototype + PyJs.GlobalObject = this + # make this available + obj.register('this') + obj.put('this', this) + + + +scope = dict(zip(builtins, [globals()[e] for e in builtins])) +# Now add errors: +for name, error in ERRORS.items(): + scope[name] = error +#add eval +scope['eval'] = Eval +scope['JSON'] = JSON +JS_BUILTINS = dict((k,v) for k,v in scope.items()) + diff --git a/lib/js2py/translators/__init__.py b/lib/js2py/translators/__init__.py new file mode 100644 index 00000000..48acaa1a --- /dev/null +++ b/lib/js2py/translators/__init__.py @@ -0,0 +1,38 @@ +# The MIT License +# +# Copyright 2014, 2015 Piotr Dabkowski +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the 'Software'), +# to deal in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, subject +# to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all copies or +# substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +# LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +# OR THE USE OR OTHER DEALINGS IN THE SOFTWARE + +__all__ = ['PyJsParser', 'Node', 'WrappingNode', 'node_to_dict', 'parse', 'translate_js', 'translate', 'syntax_tree_translate', + 'DEFAULT_HEADER'] +__author__ = 'Piotr Dabkowski' +__version__ = '2.2.0' +from pyjsparser import PyJsParser +from .translator import translate_js, trasnlate, syntax_tree_translate, DEFAULT_HEADER + + +def parse(javascript_code): + """Returns syntax tree of javascript_code. + + Syntax tree has the same structure as syntax tree produced by esprima.js + + Same as PyJsParser().parse For your convenience :) """ + p = PyJsParser() + return p.parse(javascript_code) + + diff --git a/lib/js2py/translators/friendly_nodes.py b/lib/js2py/translators/friendly_nodes.py new file mode 100644 index 00000000..835cc827 --- /dev/null +++ b/lib/js2py/translators/friendly_nodes.py @@ -0,0 +1,327 @@ +import binascii + +from pyjsparser import PyJsParser +import six +if six.PY3: + basestring = str + long = int + xrange = range + unicode = str + +REGEXP_CONVERTER = PyJsParser() + +def to_hex(s): + return binascii.hexlify(s.encode('utf8')).decode('utf8') # fucking python 3, I hate it so much + # wtf was wrong with s.encode('hex') ??? +def indent(lines, ind=4): + return ind*' '+lines.replace('\n', '\n'+ind*' ').rstrip(' ') + +def inject_before_lval(source, lval, code): + if source.count(lval)>1: + print() + print(lval) + raise RuntimeError('To many lvals (%s)' % lval) + elif not source.count(lval): + print() + print(lval) + assert lval not in source + raise RuntimeError('No lval found "%s"' % lval) + end = source.index(lval) + inj = source.rfind('\n', 0, end) + ind = inj + while source[ind+1]==' ': + ind+=1 + ind -= inj + return source[:inj+1]+ indent(code, ind) + source[inj+1:] + + +def get_continue_label(label): + return CONTINUE_LABEL%to_hex(label) + +def get_break_label(label): + return BREAK_LABEL%to_hex(label) + + +def is_valid_py_name(name): + try: + compile(name+' = 11', 'a','exec') + except: + return False + return True + +def indent(lines, ind=4): + return ind*' '+lines.replace('\n', '\n'+ind*' ').rstrip(' ') + +def compose_regex(val): + reg, flags = val + #reg = REGEXP_CONVERTER._unescape_string(reg) + return u'/%s/%s' % (reg, flags) + +def float_repr(f): + if int(f)==f: + return repr(int(f)) + return repr(f) + +def argsplit(args, sep=','): + """used to split JS args (it is not that simple as it seems because + sep can be inside brackets). + + pass args *without* brackets! + + Used also to parse array and object elements, and more""" + parsed_len = 0 + last = 0 + splits = [] + for e in bracket_split(args, brackets=['()', '[]', '{}']): + if e[0] not in ('(', '[', '{'): + for i, char in enumerate(e): + if char==sep: + splits.append(args[last:parsed_len+i]) + last = parsed_len + i + 1 + parsed_len += len(e) + splits.append(args[last:]) + return splits + + +def bracket_split(source, brackets=('()','{}','[]'), strip=False): + """DOES NOT RETURN EMPTY STRINGS (can only return empty bracket content if strip=True)""" + starts = [e[0] for e in brackets] + in_bracket = 0 + n = 0 + last = 0 + while n='+b+')' + +def js_gt(a, b): + return '('+a+'>'+b+')' + +def js_in(a, b): + return b+'.contains('+a+')' + +def js_instanceof(a, b): + return a+'.instanceof('+b+')' + +def js_lshift(a, b): + return '('+a+'<<'+b+')' + +def js_rshift(a, b): + return '('+a+'>>'+b+')' + +def js_shit(a, b): + return 'PyJsBshift('+a+','+b+')' + +def js_add(a, b): # To simplify later process of converting unary operators + and ++ + return '(%s+%s)'%(a, b) + +def js_sub(a, b): # To simplify + return '(%s-%s)'%(a, b) + +def js_mul(a, b): + return '('+a+'*'+b+')' + +def js_div(a, b): + return '('+a+'/'+b+')' + +def js_mod(a, b): + return '('+a+'%'+b+')' + +def js_typeof(a): + cand = list(bracket_split(a, ('()',))) + if len(cand)==2 and cand[0]=='var.get': + return cand[0]+cand[1][:-1]+',throw=False).typeof()' + return a+'.typeof()' + +def js_void(a): + # eval and return undefined + return 'PyJsComma(%s, Js(None))' % a + +def js_new(a): + cands = list(bracket_split(a, ('()',))) + lim = len(cands) + if lim < 2: + return a + '.create()' + n = 0 + while n < lim: + c = cands[n] + if c[0]=='(': + if cands[n-1].endswith('.get') and n+1>=lim: # last get operation. + return a + '.create()' + elif cands[n-1][0]=='(': + return ''.join(cands[:n])+'.create' + c + ''.join(cands[n+1:]) + elif cands[n-1]=='.callprop': + beg = ''.join(cands[:n-1]) + args = argsplit(c[1:-1],',') + prop = args[0] + new_args = ','.join(args[1:]) + create = '.get(%s).create(%s)' % (prop, new_args) + return beg + create + ''.join(cands[n+1:]) + n+=1 + return a + '.create()' + + +def js_delete(a): + #replace last get with delete. + c = list(bracket_split(a, ['()'])) + beg, arglist = ''.join(c[:-1]).strip(), c[-1].strip() #strips just to make sure... I will remove it later + if beg[-4:]!='.get': + print(a) + raise SyntaxError('Invalid delete operation') + return beg[:-3]+'delete'+arglist + + +def js_neg(a): + return '(-'+a+')' + +def js_pos(a): + return '(+'+a+')' + +def js_inv(a): + return '(~'+a+')' + +def js_not(a): + return a+'.neg()' + +def js_postfix(a, inc, post): + bra = list(bracket_split(a, ('()',))) + meth = bra[-2] + if not meth.endswith('get'): + raise SyntaxError('Invalid ++ or -- operation.') + bra[-2] = bra[-2][:-3] + 'put' + bra[-1] = '(%s,Js(%s.to_number())%sJs(1))' % (bra[-1][1:-1], a, '+' if inc else '-') + res = ''.join(bra) + return res if not post else '(%s%sJs(1))' % (res, '-' if inc else '+') + +def js_pre_inc(a): + return js_postfix(a, True, False) + +def js_post_inc(a): + return js_postfix(a, True, True) + +def js_pre_dec(a): + return js_postfix(a, False, False) + +def js_post_dec(a): + return js_postfix(a, False, True) + + + +CONTINUE_LABEL = 'JS_CONTINUE_LABEL_%s' +BREAK_LABEL = 'JS_BREAK_LABEL_%s' +PREPARE = '''HOLDER = var.own.get(NAME)\nvar.force_own_put(NAME, PyExceptionToJs(PyJsTempException))\n''' +RESTORE = '''if HOLDER is not None:\n var.own[NAME] = HOLDER\nelse:\n del var.own[NAME]\ndel HOLDER\n''' +TRY_CATCH = '''%stry:\nBLOCKfinally:\n%s''' % (PREPARE, indent(RESTORE)) + + + +OR = {'||': js_or} +AND = {'&&': js_and} +BOR = {'|': js_bor} +BXOR = {'^': js_bxor} +BAND = {'&': js_band} + +EQS = {'===': js_strict_eq, + '!==': js_strict_neq, + '==': js_abstract_eq, # we need == and != too. Read a note above method + '!=': js_abstract_neq} + +#Since JS does not have chained comparisons we need to implement all cmp methods. +COMPS = {'<': js_lt, + '<=': js_le, + '>=': js_ge, + '>': js_gt, + 'instanceof': js_instanceof, #todo change to validitate + 'in': js_in} + +BSHIFTS = {'<<': js_lshift, + '>>': js_rshift, + '>>>': js_shit} + +ADDS = {'+': js_add, + '-': js_sub} + +MULTS = {'*': js_mul, + '/': js_div, + '%': js_mod} +BINARY = {} +BINARY.update(ADDS) +BINARY.update(MULTS) +BINARY.update(BSHIFTS) +BINARY.update(COMPS) +BINARY.update(EQS) +BINARY.update(BAND) +BINARY.update(BXOR) +BINARY.update(BOR) +BINARY.update(AND) +BINARY.update(OR) +#Note they dont contain ++ and -- methods because they both have 2 different methods +# correct method will be found automatically in translate function +UNARY = {'typeof': js_typeof, + 'void': js_void, + 'new': js_new, + 'delete': js_delete, + '!': js_not, + '-': js_neg, + '+': js_pos, + '~': js_inv, + '++': None, + '--': None + } \ No newline at end of file diff --git a/lib/js2py/translators/jsregexps.py b/lib/js2py/translators/jsregexps.py new file mode 100644 index 00000000..7a976cc3 --- /dev/null +++ b/lib/js2py/translators/jsregexps.py @@ -0,0 +1,219 @@ +from pyjsparser.pyjsparserdata import * + +REGEXP_SPECIAL_SINGLE = {'\\', '^', '$', '*', '+', '?', '.'} + +NOT_PATTERN_CHARS = {'^', '$', '\\', '.', '*', '+', '?', '(', ')', '[', ']', '|'} # what about '{', '}', ??? + +CHAR_CLASS_ESCAPE = {'d', 'D', 's', 'S', 'w', 'W'} +CONTROL_ESCAPE_CHARS = {'f', 'n', 'r', 't', 'v'} +CONTROL_LETTERS = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', + 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', + 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'} + +def SpecialChar(char): + return {'type': 'SpecialChar', + 'content': char} + + +def isPatternCharacter(char): + return char not in NOT_PATTERN_CHARS + +class JsRegExpParser: + def __init__(self, source, flags): + self.source = source + self.flags = flags + self.index = 0 + self.length = len(source) + self.lineNumber = 0 + self.lineStart = 0 + + + def parsePattern(self): + '''Perform sctring escape - for regexp literals''' + return {'type': 'Pattern', + 'contents': self.parseDisjunction()} + + def parseDisjunction(self): + alternatives = [] + while True: + alternatives.append(self.parseAlternative()) + if not self.isEOF(): + self.expect_character('|') + else: + break + return {'type': 'Disjunction', + 'contents': alternatives} + + def isEOF(self): + if self.index>=self.length: + return True + return False + + def expect_character(self, character): + if self.source[self.index]!=character: + self.throwUnexpected(character) + self.index += 1 + + def parseAlternative(self): + contents = [] + while not self.isEOF() and self.source[self.index]!='|': + contents.append(self.parseTerm()) + return {'type': 'Alternative', + 'contents': contents} + + def follows(self, chars): + for i, c in enumerate(chars): + if self.index+i>=self.length or self.source[self.index+i] != c: + return False + return True + + def parseTerm(self): + assertion = self.parseAssertion() + if assertion: + return assertion + else: + return {'type': 'Term', + 'contents': self.parseAtom()} # quantifier will go inside atom! + + + def parseAssertion(self): + if self.follows('$'): + content = SpecialChar('$') + self.index += 1 + elif self.follows('^'): + content = SpecialChar('^') + self.index += 1 + elif self.follows('\\b'): + content = SpecialChar('\\b') + self.index += 2 + elif self.follows('\\B'): + content = SpecialChar('\\B') + self.index += 2 + elif self.follows('(?='): + self.index += 3 + dis = self.parseDisjunction() + self.expect_character(')') + content = {'type': 'Lookached', + 'contents': dis, + 'negated': False} + elif self.follows('(?!'): + self.index += 3 + dis = self.parseDisjunction() + self.expect_character(')') + content = {'type': 'Lookached', + 'contents': dis, + 'negated': True} + else: + return None + return {'type': 'Assertion', + 'content': content} + + def parseAtom(self): + if self.follows('.'): + content = SpecialChar('.') + self.index += 1 + elif self.follows('\\'): + self.index += 1 + content = self.parseAtomEscape() + elif self.follows('['): + content = self.parseCharacterClass() + elif self.follows('(?:'): + self.index += 3 + dis = self.parseDisjunction() + self.expect_character(')') + content = 'idk' + elif self.follows('('): + self.index += 1 + dis = self.parseDisjunction() + self.expect_character(')') + content = 'idk' + elif isPatternCharacter(self.source[self.index]): + content = self.source[self.index] + self.index += 1 + else: + return None + quantifier = self.parseQuantifier() + return {'type': 'Atom', + 'content': content, + 'quantifier': quantifier} + + def parseQuantifier(self): + prefix = self.parseQuantifierPrefix() + if not prefix: + return None + greedy = True + if self.follows('?'): + self.index += 1 + greedy = False + return {'type': 'Quantifier', + 'contents': prefix, + 'greedy': greedy} + + def parseQuantifierPrefix(self): + if self.isEOF(): + return None + if self.follows('+'): + content = '+' + self.index += 1 + elif self.follows('?'): + content = '?' + self.index += 1 + elif self.follows('*'): + content = '*' + self.index += 1 + elif self.follows('{'): # try matching otherwise return None and restore the state + i = self.index + self.index += 1 + digs1 = self.scanDecimalDigs() + # if no minimal number of digs provided then return no quantifier + if not digs1: + self.index = i + return None + # scan char limit if provided + if self.follows(','): + self.index += 1 + digs2 = self.scanDecimalDigs() + else: + digs2 = '' + # must be valid! + if not self.follows('}'): + self.index = i + return None + else: + self.expect_character('}') + content = int(digs1), int(digs2) if digs2 else None + else: + return None + return content + + + def parseAtomEscape(self): + ch = self.source[self.index] + if isDecimalDigit(ch) and ch!=0: + digs = self.scanDecimalDigs() + elif ch in CHAR_CLASS_ESCAPE: + self.index += 1 + return SpecialChar('\\' + ch) + else: + return self.parseCharacterEscape() + + def parseCharacterEscape(self): + ch = self.source[self.index] + if ch in CONTROL_ESCAPE_CHARS: + return SpecialChar('\\' + ch) + if ch=='c': + 'ok, fuck this shit.' + + + def scanDecimalDigs(self): + s = self.index + while not self.isEOF() and isDecimalDigit(self.source[self.index]): + self.index += 1 + return self.source[s:self.index] + + + + + +a = JsRegExpParser('a(?=x)', '') +print(a.parsePattern()) \ No newline at end of file diff --git a/lib/js2py/translators/translating_nodes.py b/lib/js2py/translators/translating_nodes.py new file mode 100644 index 00000000..e63539a5 --- /dev/null +++ b/lib/js2py/translators/translating_nodes.py @@ -0,0 +1,641 @@ +from __future__ import unicode_literals +from pyjsparser.pyjsparserdata import * +from .friendly_nodes import * +import random +import six + +if six.PY3: + from functools import reduce + xrange = range + unicode = str +# number of characters above which expression will be split to multiple lines in order to avoid python parser stack overflow +# still experimental so I suggest to set it to 400 in order to avoid common errors +# set it to smaller value only if you have problems with parser stack overflow +LINE_LEN_LIMIT = 400 # 200 # or any other value - the larger the smaller probability of errors :) + +class ForController: + def __init__(self): + self.inside = [False] + self.update = '' + + def enter_for(self, update): + self.inside.append(True) + self.update = update + + def leave_for(self): + self.inside.pop() + + def enter_other(self): + self.inside.append(False) + + def leave_other(self): + self.inside.pop() + + def is_inside(self): + return self.inside[-1] + + + +class InlineStack: + NAME = 'PyJs_%s_%d_' + def __init__(self): + self.reps = {} + self.names = [] + + def inject_inlines(self, source): + for lval in self.names: # first in first out! Its important by the way + source = inject_before_lval(source, lval, self.reps[lval]) + return source + + def require(self, typ): + name = self.NAME % (typ, len(self.names)) + self.names.append(name) + return name + + def define(self, name, val): + self.reps[name] = val + + def reset(self): + self.rel = {} + self.names = [] + + +class ContextStack: + def __init__(self): + self.to_register = set([]) + self.to_define = {} + + def reset(self): + self.to_register = set([]) + self.to_define = {} + + def register(self, var): + self.to_register.add(var) + + def define(self, name, code): + self.to_define[name] = code + self.register(name) + + def get_code(self): + code = 'var.registers([%s])\n' % ', '.join(repr(e) for e in self.to_register) + for name, func_code in six.iteritems(self.to_define): + code += func_code + return code + + + +def clean_stacks(): + global Context, inline_stack + Context = ContextStack() + inline_stack = InlineStack() + + + + +def to_key(literal_or_identifier): + ''' returns string representation of this object''' + if literal_or_identifier['type']=='Identifier': + return literal_or_identifier['name'] + elif literal_or_identifier['type']=='Literal': + k = literal_or_identifier['value'] + if isinstance(k, float): + return unicode(float_repr(k)) + elif 'regex' in literal_or_identifier: + return compose_regex(k) + elif isinstance(k, bool): + return 'true' if k else 'false' + elif k is None: + return 'null' + else: + return unicode(k) + +def trans(ele, standard=False): + """Translates esprima syntax tree to python by delegating to appropriate translating node""" + try: + node = globals().get(ele['type']) + if not node: + raise NotImplementedError('%s is not supported!' % ele['type']) + if standard: + node = node.__dict__['standard'] if 'standard' in node.__dict__ else node + return node(**ele) + except: + #print ele + raise + + +def limited(func): + '''Decorator limiting resulting line length in order to avoid python parser stack overflow - + If expression longer than LINE_LEN_LIMIT characters then it will be moved to upper line + USE ONLY ON EXPRESSIONS!!! ''' + def f(standard=False, **args): + insert_pos = len(inline_stack.names) # in case line is longer than limit we will have to insert the lval at current position + # this is because calling func will change inline_stack. + # we cant use inline_stack.require here because we dont know whether line overflows yet + res = func(**args) + if len(res)>LINE_LEN_LIMIT: + name = inline_stack.require('LONG') + inline_stack.names.pop() + inline_stack.names.insert(insert_pos, name) + res = 'def %s(var=var):\n return %s\n' % (name, res) + inline_stack.define(name, res) + return name+'()' + else: + return res + f.__dict__['standard'] = func + return f + + + + + + +# ==== IDENTIFIERS AND LITERALS ======= + + +inf = float('inf') + + +def Literal(type, value, raw, regex=None): + if regex: # regex + return 'JsRegExp(%s)' % repr(compose_regex(value)) + elif value is None: # null + return 'var.get(u"null")' + # Todo template + # String, Bool, Float + return 'Js(%s)' % repr(value) if value!=inf else 'Js(float("inf"))' + +def Identifier(type, name): + return 'var.get(%s)' % repr(name) + +@limited +def MemberExpression(type, computed, object, property): + far_left = trans(object) + if computed: # obj[prop] type accessor + # may be literal which is the same in every case so we can save some time on conversion + if property['type'] == 'Literal': + prop = repr(to_key(property)) + else: # worst case + prop = trans(property) + else: # always the same since not computed (obj.prop accessor) + prop = repr(to_key(property)) + return far_left + '.get(%s)' % prop + + +def ThisExpression(type): + return 'var.get(u"this")' + +@limited +def CallExpression(type, callee, arguments): + arguments = [trans(e) for e in arguments] + if callee['type']=='MemberExpression': + far_left = trans(callee['object']) + if callee['computed']: # obj[prop] type accessor + # may be literal which is the same in every case so we can save some time on conversion + if callee['property']['type'] == 'Literal': + prop = repr(to_key(callee['property'])) + else: # worst case + prop = trans(callee['property']) # its not a string literal! so no repr + else: # always the same since not computed (obj.prop accessor) + prop = repr(to_key(callee['property'])) + arguments.insert(0, prop) + return far_left + '.callprop(%s)' % ', '.join(arguments) + else: # standard call + return trans(callee) + '(%s)' % ', '.join(arguments) + + + +# ========== ARRAYS ============ + + +def ArrayExpression(type, elements): # todo fix null inside problem + return 'Js([%s])' % ', '.join(trans(e) if e else 'None' for e in elements) + + + +# ========== OBJECTS ============= + +def ObjectExpression(type, properties): + name = inline_stack.require('Object') + elems = [] + after = '' + for p in properties: + if p['kind']=='init': + elems.append('%s:%s' % Property(**p)) + elif p['kind']=='set': + k, setter = Property(**p) # setter is just a lval referring to that function, it will be defined in InlineStack automatically + after += '%s.define_own_property(%s, {"set":%s, "configurable":True, "enumerable":True})\n' % (name, k, setter) + elif p['kind']=='get': + k, getter = Property(**p) + after += '%s.define_own_property(%s, {"get":%s, "configurable":True, "enumerable":True})\n' % (name, k, getter) + else: + raise RuntimeError('Unexpected object propery kind') + obj = '%s = Js({%s})\n' % (name, ','.join(elems)) + inline_stack.define(name, obj+after) + return name + + + +def Property(type, kind, key, computed, value, method, shorthand): + if shorthand or computed: + raise NotImplementedError('Shorthand and Computed properties not implemented!') + k = to_key(key) + if k is None: + raise SyntaxError('Invalid key in dictionary! Or bug in Js2Py') + v = trans(value) + return repr(k), v + + +# ========== EXPRESSIONS ============ + + +@limited +def UnaryExpression(type, operator, argument, prefix): + a = trans(argument, standard=True) # unary involve some complex operations so we cant use line shorteners here + if operator=='delete': + if argument['type'] in ('Identifier', 'MemberExpression'): + # means that operation is valid + return js_delete(a) + return 'PyJsComma(%s, Js(True))' % a # otherwise not valid, just perform expression and return true. + elif operator=='typeof': + return js_typeof(a) + return UNARY[operator](a) + +@limited +def BinaryExpression(type, operator, left, right): + a = trans(left) + b = trans(right) + # delegate to our friends + return BINARY[operator](a,b) + +@limited +def UpdateExpression(type, operator, argument, prefix): + a = trans(argument, standard=True) # also complex operation involving parsing of the result so no line length reducing here + return js_postfix(a, operator=='++', not prefix) + +@limited +def AssignmentExpression(type, operator, left, right): + operator = operator[:-1] + if left['type']=='Identifier': + if operator: + return 'var.put(%s, %s, %s)' % (repr(to_key(left)), trans(right), repr(operator)) + else: + return 'var.put(%s, %s)' % (repr(to_key(left)), trans(right)) + elif left['type']=='MemberExpression': + far_left = trans(left['object']) + if left['computed']: # obj[prop] type accessor + # may be literal which is the same in every case so we can save some time on conversion + if left['property']['type'] == 'Literal': + prop = repr(to_key(left['property'])) + else: # worst case + prop = trans(left['property']) # its not a string literal! so no repr + else: # always the same since not computed (obj.prop accessor) + prop = repr(to_key(left['property'])) + if operator: + return far_left + '.put(%s, %s, %s)' % (prop, trans(right), repr(operator)) + else: + return far_left + '.put(%s, %s)' % (prop, trans(right)) + else: + raise SyntaxError('Invalid left hand side in assignment!') +six +@limited +def SequenceExpression(type, expressions): + return reduce(js_comma, (trans(e) for e in expressions)) + +@limited +def NewExpression(type, callee, arguments): + return trans(callee) + '.create(%s)' % ', '.join(trans(e) for e in arguments) + +@limited +def ConditionalExpression(type, test, consequent, alternate): # caused plenty of problems in my home-made translator :) + return '(%s if %s else %s)' % (trans(consequent), trans(test), trans(alternate)) + + + +# =========== STATEMENTS ============= + + +def BlockStatement(type, body): + return StatementList(body) # never returns empty string! In the worst case returns pass\n + + +def ExpressionStatement(type, expression): + return trans(expression) + '\n' # end expression space with new line + + +def BreakStatement(type, label): + if label: + return 'raise %s("Breaked")\n' % (get_break_label(label['name'])) + else: + return 'break\n' + + +def ContinueStatement(type, label): + if label: + return 'raise %s("Continued")\n' % (get_continue_label(label['name'])) + else: + return 'continue\n' + +def ReturnStatement(type, argument): + return 'return %s\n' % (trans(argument) if argument else "var.get('undefined')") + + +def EmptyStatement(type): + return 'pass\n' + + +def DebuggerStatement(type): + return 'pass\n' + + +def DoWhileStatement(type, body, test): + inside = trans(body) + 'if not %s:\n' % trans(test) + indent('break\n') + result = 'while 1:\n' + indent(inside) + return result + + + +def ForStatement(type, init, test, update, body): + update = indent(trans(update)) if update else '' + init = trans(init) if init else '' + if not init.endswith('\n'): + init += '\n' + test = trans(test) if test else '1' + if not update: + result = '#for JS loop\n%swhile %s:\n%s%s\n' % (init, test, indent(trans(body)), update) + else: + result = '#for JS loop\n%swhile %s:\n' % (init, test) + body = 'try:\n%sfinally:\n %s\n' % (indent(trans(body)), update) + result += indent(body) + return result + + +def ForInStatement(type, left, right, body, each): + res = 'for PyJsTemp in %s:\n' % trans(right) + if left['type']=="VariableDeclaration": + addon = trans(left) # make sure variable is registered + if addon != 'pass\n': + res = addon + res # we have to execute this expression :( + # now extract the name + try: + name = left['declarations'][0]['id']['name'] + except: + raise RuntimeError('Unusual ForIn loop') + elif left['type']=='Identifier': + name = left['name'] + else: + raise RuntimeError('Unusual ForIn loop') + res += indent('var.put(%s, PyJsTemp)\n' % repr(name) + trans(body)) + return res + + +def IfStatement(type, test, consequent, alternate): + # NOTE we cannot do elif because function definition inside elif statement would not be possible! + IF = 'if %s:\n' % trans(test) + IF += indent(trans(consequent)) + if not alternate: + return IF + ELSE = 'else:\n' + indent(trans(alternate)) + return IF + ELSE + + +def LabeledStatement(type, label, body): + # todo consider using smarter approach! + inside = trans(body) + defs = '' + if inside.startswith('while ') or inside.startswith('for ') or inside.startswith('#for'): + # we have to add contine label as well... + # 3 or 1 since #for loop type has more lines before real for. + sep = 1 if not inside.startswith('#for') else 3 + cont_label = get_continue_label(label['name']) + temp = inside.split('\n') + injected = 'try:\n'+'\n'.join(temp[sep:]) + injected += 'except %s:\n pass\n'%cont_label + inside = '\n'.join(temp[:sep])+'\n'+indent(injected) + defs += 'class %s(Exception): pass\n'%cont_label + break_label = get_break_label(label['name']) + inside = 'try:\n%sexcept %s:\n pass\n'% (indent(inside), break_label) + defs += 'class %s(Exception): pass\n'%break_label + return defs + inside + + +def StatementList(lis): + if lis: # ensure we don't return empty string because it may ruin indentation! + code = ''.join(trans(e) for e in lis) + return code if code else 'pass\n' + else: + return 'pass\n' + +def PyimportStatement(type, imp): + lib = imp['name'] + jlib = 'PyImport_%s' % lib + code = 'import %s as %s\n' % (lib, jlib) + #check whether valid lib name... + try: + compile(code, '', 'exec') + except: + raise SyntaxError('Invalid Python module name (%s) in pyimport statement'%lib) + # var.pyimport will handle module conversion to PyJs object + code += 'var.pyimport(%s, %s)\n' % (repr(lib), jlib) + return code + +def SwitchStatement(type, discriminant, cases): + #TODO there will be a problem with continue in a switch statement.... FIX IT + code = 'while 1:\n' + indent('SWITCHED = False\nCONDITION = (%s)\n') + code = code % trans(discriminant) + for case in cases: + case_code = None + if case['test']: # case (x): + case_code = 'if SWITCHED or PyJsStrictEq(CONDITION, %s):\n' % (trans(case['test'])) + else: # default: + case_code = 'if True:\n' + case_code += indent('SWITCHED = True\n') + case_code += indent(StatementList(case['consequent'])) + # one more indent for whole + code += indent(case_code) + # prevent infinite loop and sort out nested switch... + code += indent('SWITCHED = True\nbreak\n') + return code + + +def ThrowStatement(type, argument): + return 'PyJsTempException = JsToPyException(%s)\nraise PyJsTempException\n' % trans(argument) + + +def TryStatement(type, block, handler, handlers, guardedHandlers, finalizer): + result = 'try:\n%s' % indent(trans(block)) + # complicated catch statement... + if handler: + identifier = handler['param']['name'] + holder = 'PyJsHolder_%s_%d'%(to_hex(identifier), random.randrange(1e8)) + identifier = repr(identifier) + result += 'except PyJsException as PyJsTempException:\n' + # fill in except ( catch ) block and remember to recover holder variable to its previous state + result += indent(TRY_CATCH.replace('HOLDER', holder).replace('NAME', identifier).replace('BLOCK', indent(trans(handler['body'])))) + # translate finally statement if present + if finalizer: + result += 'finally:\n%s' % indent(trans(finalizer)) + return result + + +def LexicalDeclaration(type, declarations, kind): + raise NotImplementedError('let and const not implemented yet but they will be soon! Check github for updates.') + + +def VariableDeclarator(type, id, init): + name = id['name'] + # register the name if not already registered + Context.register(name) + if init: + return 'var.put(%s, %s)\n' % (repr(name), trans(init)) + return '' + + +def VariableDeclaration(type, declarations, kind): + code = ''.join(trans(d) for d in declarations) + return code if code else 'pass\n' + + +def WhileStatement(type, test, body): + result = 'while %s:\n'%trans(test) + indent(trans(body)) + return result + + +def WithStatement(type, object, body): + raise NotImplementedError('With statement not implemented!') + + +def Program(type, body): + inline_stack.reset() + code = ''.join(trans(e) for e in body) + # here add hoisted elements (register variables and define functions) + code = Context.get_code() + code + # replace all inline variables + code = inline_stack.inject_inlines(code) + return code + + + +# ======== FUNCTIONS ============ + +def FunctionDeclaration(type, id, params, defaults, body, generator, expression): + if generator: + raise NotImplementedError('Generators not supported') + if defaults: + raise NotImplementedError('Defaults not supported') + if not id: + return FunctionExpression(type, id, params, defaults, body, generator, expression) + '\n' + JsName = id['name'] + PyName = 'PyJsHoisted_%s_' % JsName + PyName = PyName if is_valid_py_name(PyName) else 'PyJsHoistedNonPyName' + # this is quite complicated + global Context + previous_context = Context + # change context to the context of this function + Context = ContextStack() + # translate body within current context + code = trans(body) + # get arg names + vars = [v['name'] for v in params] + # args are automaticaly registered variables + Context.to_register.update(vars) + # add all hoisted elements inside function + code = Context.get_code() + code + # check whether args are valid python names: + used_vars = [] + for v in vars: + if is_valid_py_name(v): + used_vars.append(v) + else: # invalid arg in python, for example $, replace with alternatice arg + used_vars.append('PyJsArg_%s_' % to_hex(v)) + header = '@Js\n' + header+= 'def %s(%sthis, arguments, var=var):\n' % (PyName, ', '.join(used_vars) +(', ' if vars else '')) + # transfer names from Py scope to Js scope + arg_map = dict(zip(vars, used_vars)) + arg_map.update({'this':'this', 'arguments':'arguments'}) + arg_conv = 'var = Scope({%s}, var)\n' % ', '.join(repr(k)+':'+v for k,v in six.iteritems(arg_map)) + # and finally set the name of the function to its real name: + footer = '%s.func_name = %s\n' % (PyName, repr(JsName)) + footer+= 'var.put(%s, %s)\n' % (repr(JsName), PyName) + whole_code = header + indent(arg_conv+code) + footer + # restore context + Context = previous_context + # define in upper context + Context.define(JsName, whole_code) + return 'pass\n' + + +def FunctionExpression(type, id, params, defaults, body, generator, expression): + if generator: + raise NotImplementedError('Generators not supported') + if defaults: + raise NotImplementedError('Defaults not supported') + JsName = id['name'] if id else 'anonymous' + if not is_valid_py_name(JsName): + ScriptName = 'InlineNonPyName' + else: + ScriptName = JsName + PyName = inline_stack.require(ScriptName) # this is unique + + # again quite complicated + global Context + previous_context = Context + # change context to the context of this function + Context = ContextStack() + # translate body within current context + code = trans(body) + # get arg names + vars = [v['name'] for v in params] + # args are automaticaly registered variables + Context.to_register.update(vars) + # add all hoisted elements inside function + code = Context.get_code() + code + # check whether args are valid python names: + used_vars = [] + for v in vars: + if is_valid_py_name(v): + used_vars.append(v) + else: # invalid arg in python, for example $, replace with alternatice arg + used_vars.append('PyJsArg_%s_' % to_hex(v)) + header = '@Js\n' + header+= 'def %s(%sthis, arguments, var=var):\n' % (PyName, ', '.join(used_vars) +(', ' if vars else '')) + # transfer names from Py scope to Js scope + arg_map = dict(zip(vars, used_vars)) + arg_map.update({'this':'this', 'arguments':'arguments'}) + if id: # make self available from inside... + if id['name'] not in arg_map: + arg_map[id['name']] = PyName + arg_conv = 'var = Scope({%s}, var)\n' % ', '.join(repr(k)+':'+v for k,v in six.iteritems(arg_map)) + # and finally set the name of the function to its real name: + footer = '%s._set_name(%s)\n' % (PyName, repr(JsName)) + whole_code = header + indent(arg_conv+code) + footer + # restore context + Context = previous_context + # define in upper context + inline_stack.define(PyName, whole_code) + return PyName + + +LogicalExpression = BinaryExpression +PostfixExpression = UpdateExpression + +clean_stacks() + +if __name__=='__main__': + import codecs + import time + import pyjsparser + + c = None#'''`ijfdij`''' + if not c: + with codecs.open("esp.js", "r", "utf-8") as f: + c = f.read() + + print('Started') + t = time.time() + res = trans(pyjsparser.PyJsParser().parse(c)) + dt = time.time() - t+ 0.000000001 + print('Translated everyting in', round(dt,5), 'seconds.') + print('Thats %d characters per second' % int(len(c)/dt)) + with open('res.py', 'w') as f: + f.write(res) + diff --git a/lib/js2py/translators/translator.py b/lib/js2py/translators/translator.py new file mode 100644 index 00000000..1b9983c1 --- /dev/null +++ b/lib/js2py/translators/translator.py @@ -0,0 +1,179 @@ +import pyjsparser +import pyjsparser.parser +from . import translating_nodes + +import hashlib +import re + + +# Enable Js2Py exceptions and pyimport in parser +pyjsparser.parser.ENABLE_JS2PY_ERRORS = True +pyjsparser.parser.ENABLE_PYIMPORT = True + +# the re below is how we'll recognise numeric constants. +# it finds any 'simple numeric that is not preceded with an alphanumeric character +# the numeric can be a float (so a dot is found) but +# it does not recognise notation such as 123e5, 0xFF, infinity or NaN +CP_NUMERIC_RE = re.compile(r'(?= (3, 4): + for inst in dis.Bytecode(code_obj): + yield inst + else: + # otherwise we have to manually parse + code = code_obj.co_code + NewInstruction = namedtuple('Instruction', ('opcode', 'arg')) + if six.PY2: + code = map(ord, code) + i, L = 0, len(code) + extended_arg = 0 + while i < L: + op = code[i] + i+= 1 + if op < opcode.HAVE_ARGUMENT: + yield NewInstruction(op, None) + continue + oparg = code[i] + (code[i+1] << 8) + extended_arg + extended_arg = 0 + i += 2 + if op == opcode.EXTENDED_ARG: + extended_arg = oparg << 16 + continue + yield NewInstruction(op, oparg) + +def write_instruction(op, arg): + if sys.version_info < (3, 6): + if arg is None: + return [chr(op)] + elif arg <= 65536: + return [chr(op), chr(arg & 255), chr((arg >> 8) & 255)] + elif arg <= 4294967296: + return [chr(opcode.EXTENDED_ARG), + chr((arg >> 16) & 255), + chr((arg >> 24) & 255), + chr(op), + chr(arg & 255), + chr((arg >> 8) & 255)] + else: + raise ValueError("Invalid oparg: {0} is too large".format(oparg)) + else: # python 3.6+ uses wordcode instead of bytecode and they already supply all the EXTENDEND_ARG ops :) + if arg is None: + return [chr(op), 0] + return [chr(op), arg & 255] + # the code below is for case when extended args are to be determined automatically + # if op == opcode.EXTENDED_ARG: + # return [] # this will be added automatically + # elif arg < 1 << 8: + # return [chr(op), arg] + # elif arg < 1 << 32: + # subs = [1<<24, 1<<16, 1<<8] # allowed op extension sizes + # for sub in subs: + # if arg >= sub: + # fit = int(arg / sub) + # return [chr(opcode.EXTENDED_ARG), fit] + write_instruction(op, arg - fit * sub) + # else: + # raise ValueError("Invalid oparg: {0} is too large".format(oparg)) + + +def check(code_obj): + old_bytecode = code_obj.co_code + insts = list(instructions(code_obj)) + + pos_to_inst = {} + bytelist = [] + + for inst in insts: + pos_to_inst[len(bytelist)] = inst + bytelist.extend(write_instruction(inst.opcode, inst.arg)) + if six.PY2: + new_bytecode = ''.join(bytelist) + else: + new_bytecode = bytes(bytelist) + if new_bytecode != old_bytecode: + print(new_bytecode) + print(old_bytecode) + for i in range(min(len(new_bytecode), len(old_bytecode))): + if old_bytecode[i] != new_bytecode[i]: + while 1: + if i in pos_to_inst: + print(pos_to_inst[i]) + print(pos_to_inst[i-2]) + print(list(map(chr, old_bytecode))[i-4:i+8]) + print(bytelist[i-4:i+8]) + break + raise RuntimeError('Your python version made changes to the bytecode') + + +check(six.get_function_code(check)) + + + +if __name__=='__main__': + x = 'Wrong' + dick = 3000 + def func(a): + print(x,y,z, a) + print(dick) + d = (x,) + for e in (e for e in x): + print(e) + return x, y, z + func2 =types.FunctionType(append_arguments(six.get_function_code(func), ('x', 'y', 'z')), six.get_function_globals(func), func.__name__, closure=six.get_function_closure(func)) + args = (2,2,3,4),3,4 + assert func2(1, *args) == args diff --git a/lib/pyjsparser/__init__.py b/lib/pyjsparser/__init__.py new file mode 100644 index 00000000..2a9de69e --- /dev/null +++ b/lib/pyjsparser/__init__.py @@ -0,0 +1,4 @@ +__all__ = ['PyJsParser', 'parse', 'JsSyntaxError'] +__author__ = 'Piotr Dabkowski' +__version__ = '2.2.0' +from .parser import PyJsParser, parse, JsSyntaxError \ No newline at end of file diff --git a/lib/pyjsparser/parser.py b/lib/pyjsparser/parser.py new file mode 100644 index 00000000..fc604a52 --- /dev/null +++ b/lib/pyjsparser/parser.py @@ -0,0 +1,2905 @@ +# The MIT License +# +# Copyright 2014, 2015 Piotr Dabkowski +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the 'Software'), +# to deal in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, subject +# to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all copies or +# substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +# LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +# OR THE USE OR OTHER DEALINGS IN THE SOFTWARE +from __future__ import unicode_literals +from .pyjsparserdata import * +from .std_nodes import * +from pprint import pprint +import sys + +__all__ = ['PyJsParser', 'parse', 'ENABLE_JS2PY_ERRORS', 'ENABLE_PYIMPORT', 'JsSyntaxError'] +REGEXP_SPECIAL_SINGLE = ('\\', '^', '$', '*', '+', '?', '.', '[', ']', '(', ')', '{', '{', '|', '-') +ENABLE_PYIMPORT = False +ENABLE_JS2PY_ERRORS = False + +PY3 = sys.version_info >= (3,0) + +if PY3: + basestring = str + long = int + xrange = range + unicode = str + +ESPRIMA_VERSION = '2.2.0' +DEBUG = False +# Small naming convention changes +# len -> leng +# id -> d +# type -> typ +# str -> st +true = True +false = False +null = None + + +class PyJsParser: + """ Usage: + parser = PyJsParser() + parser.parse('var JavaScriptCode = 5.1') + """ + + def __init__(self): + self.clean() + + def test(self, code): + pprint(self.parse(code)) + + def clean(self): + self.strict = None + self.sourceType = None + self.index = 0 + self.lineNumber = 1 + self.lineStart = 0 + self.hasLineTerminator = None + self.lastIndex = None + self.lastLineNumber = None + self.lastLineStart = None + self.startIndex = None + self.startLineNumber = None + self.startLineStart = None + self.scanning = None + self.lookahead = None + self.state = None + self.extra = None + self.isBindingElement = None + self.isAssignmentTarget = None + self.firstCoverInitializedNameError = None + + # 7.4 Comments + + def skipSingleLineComment(self, offset): + start = self.index - offset; + while self.index < self.length: + ch = self.source[self.index]; + self.index += 1 + if isLineTerminator(ch): + if (ord(ch) == 13 and ord(self.source[self.index]) == 10): + self.index += 1 + self.lineNumber += 1 + self.hasLineTerminator = True + self.lineStart = self.index + return + + def skipMultiLineComment(self): + while self.index < self.length: + ch = ord(self.source[self.index]) + if isLineTerminator(ch): + if (ch == 0x0D and ord(self.source[self.index + 1]) == 0x0A): + self.index += 1 + self.lineNumber += 1 + self.index += 1 + self.hasLineTerminator = True + self.lineStart = self.index + elif ch == 0x2A: + # Block comment ends with '*/'. + if ord(self.source[self.index + 1]) == 0x2F: + self.index += 2 + return + self.index += 1 + else: + self.index += 1 + self.tolerateUnexpectedToken() + + def skipComment(self): + self.hasLineTerminator = False + start = (self.index == 0) + while self.index < self.length: + ch = ord(self.source[self.index]) + if isWhiteSpace(ch): + self.index += 1 + elif isLineTerminator(ch): + self.hasLineTerminator = True + self.index += 1 + if (ch == 0x0D and ord(self.source[self.index]) == 0x0A): + self.index += 1 + self.lineNumber += 1 + self.lineStart = self.index + start = True + elif (ch == 0x2F): # U+002F is '/' + ch = ord(self.source[self.index + 1]) + if (ch == 0x2F): + self.index += 2 + self.skipSingleLineComment(2) + start = True + elif (ch == 0x2A): # U+002A is '*' + self.index += 2 + self.skipMultiLineComment() + else: + break + elif (start and ch == 0x2D): # U+002D is '-' + # U+003E is '>' + if (ord(self.source[self.index + 1]) == 0x2D) and (ord(self.source[self.index + 2]) == 0x3E): + # '-->' is a single-line comment + self.index += 3 + self.skipSingleLineComment(3) + else: + break + elif (ch == 0x3C): # U+003C is '<' + if self.source[self.index + 1: self.index + 4] == '!--': + #