diff --git a/core/httptools.py b/core/httptools.py index d4b92542..9b478c03 100644 --- a/core/httptools.py +++ b/core/httptools.py @@ -409,7 +409,8 @@ def downloadpage(url, **opt): """ load_cookies() import requests - if 'Linux' in os.name and 'ANDROID_STORAGE' not in os.environ and config.get_platform(True)['num_version'] > 18.2: + if ('Linux' in os.name and 'ANDROID_STORAGE' not in os.environ and config.get_platform(True)['num_version'] > 18.2) \ + or ('nt' in os.name and 'ProfileDrive' in os.environ and 'LogDrive' in os.environ): from lib.cloudscraper import cloudscraper else: from lib.cloudscraper import cloudscraper_mod as cloudscraper diff --git a/lib/cloudscraper/cloudscraper/interpreters/js2py.py b/lib/cloudscraper/cloudscraper/interpreters/js2py.py index d3910461..35a13320 100644 --- a/lib/cloudscraper/cloudscraper/interpreters/js2py.py +++ b/lib/cloudscraper/cloudscraper/interpreters/js2py.py @@ -1,6 +1,6 @@ from __future__ import absolute_import -import js2py +from js2py import js2py import logging import base64 diff --git a/lib/cloudscraper/cloudscraper_mod/interpreters/js2py.py b/lib/cloudscraper/cloudscraper_mod/interpreters/js2py.py index 37aac8f0..050d5fee 100644 --- a/lib/cloudscraper/cloudscraper_mod/interpreters/js2py.py +++ b/lib/cloudscraper/cloudscraper_mod/interpreters/js2py.py @@ -1,6 +1,6 @@ from __future__ import absolute_import -import js2py +from js2py import js2py_old as js2py import logging import base64 diff --git a/lib/js2py/__init__.py b/lib/js2py/__init__.py index a7fe5979..e69de29b 100644 --- a/lib/js2py/__init__.py +++ b/lib/js2py/__init__.py @@ -1,75 +0,0 @@ -# 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', 'require' -] - -from .base import PyJsException -from .evaljs import * -from .translators import parse as parse_js -from .node_import import require diff --git a/lib/js2py/js2py/__init__.py b/lib/js2py/js2py/__init__.py new file mode 100644 index 00000000..a7fe5979 --- /dev/null +++ b/lib/js2py/js2py/__init__.py @@ -0,0 +1,75 @@ +# 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', 'require' +] + +from .base import PyJsException +from .evaljs import * +from .translators import parse as parse_js +from .node_import import require diff --git a/lib/js2py/js2py/base.py b/lib/js2py/js2py/base.py new file mode 100644 index 00000000..cf1eca08 --- /dev/null +++ b/lib/js2py/js2py/base.py @@ -0,0 +1,3273 @@ +'''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 +from math import floor, log10 +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'] + elif isinstance(val, PyJsArray) and val.CONVERT_TO_PY_PRIMITIVES: + return to_list(val) + elif isinstance(val, PyJsObject) and val.CONVERT_TO_PY_PRIMITIVES: + return to_dict(val) + else: + 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 + CONVERT_TO_PY_PRIMITIVES = 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': + return Js(unicode(js_dtoa(self.value))) + 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) + if a.Class == b.Class == 'PyObjectWrapper': + return Js(a.obj == b.obj) + 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 + + +from .internals.simplex import JsException as PyJsException, js_dtoa +import pyjsparser +pyjsparser.parser.ENABLE_JS2PY_ERRORS = lambda msg: MakeError('SyntaxError', msg) + + +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, op=None, throw=False): + if not isinstance(prop, basestring): + prop = prop.to_string().value + try: + if isinstance(op, bool): + raise ValueError("Op must be a string") + elif op is not None: + if op: # increment operation + val = getattr(self.get(prop), OP_METHODS[op])(val) + 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) < arglen: + args += (undefined, ) * (arglen - len(args)) + args += this, arguments #append extra params to the arg list + try: + return Js(self.code(*args)) + except NotImplementedError: + raise + except RuntimeError as e: # maximum recursion + raise MakeError( + 'RangeError', e.message if + not isinstance(e, NotImplementedError) else 'Not implemented!') + + def has_instance(self, other): + # I am not sure here so instanceof may not work lol. + if not other.is_object(): + return false + proto = self.get('prototype') + if not proto.is_object(): + raise TypeError( + 'Function has non-object prototype in instanceof check') + while True: + other = other.prototype + if not other: # todo make sure that the condition is not None or null + return false + if other is proto: + return true + + def create(self, *args): + proto = self.get('prototype') + if not proto.is_object(): + proto = ObjectPrototype + new = PyJsObject(prototype=proto) + res = self.call(new, args) + if res.is_object(): + return res + return new + + +class PyJsBoundFunction(PyJsFunction): + def __init__(self, target, bound_this, bound_args): + self.target = target + self.bound_this = bound_this + self.bound_args = bound_args + self.argcount = target.argcount + self.code = target.code + self.source = target.source + self.func_name = target.func_name + self.extensible = True + self.prototype = FunctionPrototype + self.own = {} + # set own property length to the number of arguments + self.define_own_property( + 'length', { + 'value': target.get('length') - Js(len(self.bound_args)), + '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 call(self, this, args=()): + return self.target.call(self.bound_this, self.bound_args + args) + + def has_instance(self, other): + return self.target.has_instance(other) + + +PyJs.PyJsBoundFunction = PyJsBoundFunction + +OP_METHODS = { + '*': '__mul__', + '/': '__div__', + '%': '__mod__', + '+': '__add__', + '-': '__sub__', + '<<': '__lshift__', + '>>': '__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_len < old_len: + # not very efficient for sparse arrays, so using different method for sparse: + if old_len > 30 * 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: + old_len -= 1 + if not self.delete( + str(int(old_len)) + ): # 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 + if not new_writable: + self.own['length']['writable'] = False + return True + elif prop.isdigit(): + index = int(int(prop) % 2**32) + if index >= 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_len < old_len: + # not very efficient for sparse arrays, so using different method for sparse: + if old_len > 30 * 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: + old_len -= 1 + if not self.delete( + str(int(old_len)) + ): # 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 + if not new_writable: + self.own['length']['writable'] = False + return True + elif prop.isdigit(): + index = int(int(prop) % 2**32) + if index >= 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_len < old_len: + # not very efficient for sparse arrays, so using different method for sparse: + if old_len > 30 * 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: + old_len -= 1 + if not self.delete( + str(int(old_len)) + ): # 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 + if not new_writable: + self.own['length']['writable'] = False + return True + elif prop.isdigit(): + index = int(int(prop) % 2**32) + if index >= 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_len < old_len: + # not very efficient for sparse arrays, so using different method for sparse: + if old_len > 30 * 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: + old_len -= 1 + if not self.delete( + str(int(old_len)) + ): # 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 + if not new_writable: + self.own['length']['writable'] = False + return True + elif prop.isdigit(): + index = int(int(prop) % 2**32) + if index >= 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_len < old_len: + # not very efficient for sparse arrays, so using different method for sparse: + if old_len > 30 * 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: + old_len -= 1 + if not self.delete( + str(int(old_len)) + ): # 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 + if not new_writable: + self.own['length']['writable'] = False + return True + elif prop.isdigit(): + index = int(int(prop) % 2**32) + if index >= 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_len < old_len: + # not very efficient for sparse arrays, so using different method for sparse: + if old_len > 30 * 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: + old_len -= 1 + if not self.delete( + str(int(old_len)) + ): # 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 + if not new_writable: + self.own['length']['writable'] = False + return True + elif prop.isdigit(): + index = int(int(prop) % 2**32) + if index >= 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_len < old_len: + # not very efficient for sparse arrays, so using different method for sparse: + if old_len > 30 * 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: + old_len -= 1 + if not self.delete( + str(int(old_len)) + ): # 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 + if not new_writable: + self.own['length']['writable'] = False + return True + elif prop.isdigit(): + index = int(int(prop) % 2**32) + if index >= 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_len < old_len: + # not very efficient for sparse arrays, so using different method for sparse: + if old_len > 30 * 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: + old_len -= 1 + if not self.delete( + str(int(old_len)) + ): # 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 + if not new_writable: + self.own['length']['writable'] = False + return True + elif prop.isdigit(): + index = int(int(prop) % 2**32) + if index >= 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_len < old_len: + # not very efficient for sparse arrays, so using different method for sparse: + if old_len > 30 * 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: + old_len -= 1 + if not self.delete( + str(int(old_len)) + ): # 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 + if not new_writable: + self.own['length']['writable'] = False + return True + elif prop.isdigit(): + index = int(int(prop) % 2**32) + if index >= 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_len < old_len: + # not very efficient for sparse arrays, so using different method for sparse: + if old_len > 30 * 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: + old_len -= 1 + if not self.delete( + str(int(old_len)) + ): # 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 + if not new_writable: + self.own['length']['writable'] = False + return True + elif prop.isdigit(): + index = int(int(prop) % 2**32) + if index >= 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_len < old_len: + # not very efficient for sparse arrays, so using different method for sparse: + if old_len > 30 * 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: + old_len -= 1 + if not self.delete( + str(int(old_len)) + ): # 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 + if not new_writable: + self.own['length']['writable'] = False + return True + elif prop.isdigit(): + index = int(int(prop) % 2**32) + if index >= 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/js2py/constructors/__init__.py similarity index 100% rename from lib/js2py/constructors/__init__.py rename to lib/js2py/js2py/constructors/__init__.py diff --git a/lib/js2py/constructors/jsarray.py b/lib/js2py/js2py/constructors/jsarray.py similarity index 100% rename from lib/js2py/constructors/jsarray.py rename to lib/js2py/js2py/constructors/jsarray.py diff --git a/lib/js2py/constructors/jsarraybuffer.py b/lib/js2py/js2py/constructors/jsarraybuffer.py similarity index 100% rename from lib/js2py/constructors/jsarraybuffer.py rename to lib/js2py/js2py/constructors/jsarraybuffer.py diff --git a/lib/js2py/constructors/jsboolean.py b/lib/js2py/js2py/constructors/jsboolean.py similarity index 100% rename from lib/js2py/constructors/jsboolean.py rename to lib/js2py/js2py/constructors/jsboolean.py diff --git a/lib/js2py/constructors/jsdate.py b/lib/js2py/js2py/constructors/jsdate.py similarity index 100% rename from lib/js2py/constructors/jsdate.py rename to lib/js2py/js2py/constructors/jsdate.py diff --git a/lib/js2py/constructors/jsfloat32array.py b/lib/js2py/js2py/constructors/jsfloat32array.py similarity index 100% rename from lib/js2py/constructors/jsfloat32array.py rename to lib/js2py/js2py/constructors/jsfloat32array.py diff --git a/lib/js2py/constructors/jsfloat64array.py b/lib/js2py/js2py/constructors/jsfloat64array.py similarity index 100% rename from lib/js2py/constructors/jsfloat64array.py rename to lib/js2py/js2py/constructors/jsfloat64array.py diff --git a/lib/js2py/constructors/jsfunction.py b/lib/js2py/js2py/constructors/jsfunction.py similarity index 100% rename from lib/js2py/constructors/jsfunction.py rename to lib/js2py/js2py/constructors/jsfunction.py diff --git a/lib/js2py/constructors/jsint16array.py b/lib/js2py/js2py/constructors/jsint16array.py similarity index 100% rename from lib/js2py/constructors/jsint16array.py rename to lib/js2py/js2py/constructors/jsint16array.py diff --git a/lib/js2py/constructors/jsint32array.py b/lib/js2py/js2py/constructors/jsint32array.py similarity index 100% rename from lib/js2py/constructors/jsint32array.py rename to lib/js2py/js2py/constructors/jsint32array.py diff --git a/lib/js2py/constructors/jsint8array.py b/lib/js2py/js2py/constructors/jsint8array.py similarity index 100% rename from lib/js2py/constructors/jsint8array.py rename to lib/js2py/js2py/constructors/jsint8array.py diff --git a/lib/js2py/constructors/jsmath.py b/lib/js2py/js2py/constructors/jsmath.py similarity index 100% rename from lib/js2py/constructors/jsmath.py rename to lib/js2py/js2py/constructors/jsmath.py diff --git a/lib/js2py/constructors/jsnumber.py b/lib/js2py/js2py/constructors/jsnumber.py similarity index 100% rename from lib/js2py/constructors/jsnumber.py rename to lib/js2py/js2py/constructors/jsnumber.py diff --git a/lib/js2py/constructors/jsobject.py b/lib/js2py/js2py/constructors/jsobject.py similarity index 100% rename from lib/js2py/constructors/jsobject.py rename to lib/js2py/js2py/constructors/jsobject.py diff --git a/lib/js2py/constructors/jsregexp.py b/lib/js2py/js2py/constructors/jsregexp.py similarity index 100% rename from lib/js2py/constructors/jsregexp.py rename to lib/js2py/js2py/constructors/jsregexp.py diff --git a/lib/js2py/constructors/jsstring.py b/lib/js2py/js2py/constructors/jsstring.py similarity index 100% rename from lib/js2py/constructors/jsstring.py rename to lib/js2py/js2py/constructors/jsstring.py diff --git a/lib/js2py/constructors/jsuint16array.py b/lib/js2py/js2py/constructors/jsuint16array.py similarity index 100% rename from lib/js2py/constructors/jsuint16array.py rename to lib/js2py/js2py/constructors/jsuint16array.py diff --git a/lib/js2py/constructors/jsuint32array.py b/lib/js2py/js2py/constructors/jsuint32array.py similarity index 100% rename from lib/js2py/constructors/jsuint32array.py rename to lib/js2py/js2py/constructors/jsuint32array.py diff --git a/lib/js2py/constructors/jsuint8array.py b/lib/js2py/js2py/constructors/jsuint8array.py similarity index 100% rename from lib/js2py/constructors/jsuint8array.py rename to lib/js2py/js2py/constructors/jsuint8array.py diff --git a/lib/js2py/constructors/jsuint8clampedarray.py b/lib/js2py/js2py/constructors/jsuint8clampedarray.py similarity index 100% rename from lib/js2py/constructors/jsuint8clampedarray.py rename to lib/js2py/js2py/constructors/jsuint8clampedarray.py diff --git a/lib/js2py/constructors/time_helpers.py b/lib/js2py/js2py/constructors/time_helpers.py similarity index 100% rename from lib/js2py/constructors/time_helpers.py rename to lib/js2py/js2py/constructors/time_helpers.py diff --git a/lib/js2py/es6/__init__.py b/lib/js2py/js2py/es6/__init__.py similarity index 100% rename from lib/js2py/es6/__init__.py rename to lib/js2py/js2py/es6/__init__.py diff --git a/lib/js2py/es6/babel.py b/lib/js2py/js2py/es6/babel.py similarity index 100% rename from lib/js2py/es6/babel.py rename to lib/js2py/js2py/es6/babel.py diff --git a/lib/js2py/js2py/evaljs.py b/lib/js2py/js2py/evaljs.py new file mode 100644 index 00000000..ef4d7d95 --- /dev/null +++ b/lib/js2py/js2py/evaljs.py @@ -0,0 +1,281 @@ +# 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): + """Just like eval_js but with experimental support for js6 via babel.""" + return eval_js(js6_to_js5(js)) + + +def translate_js6(js): + """Just like translate_js but with experimental support for js6 via babel.""" + return translate_js(js6_to_js5(js)) + + +class EvalJs(object): + """This class supports continuous execution of javascript under same context. + + >>> ctx = EvalJs() + >>> ctx.execute('var a = 10;function f(x) {return x*x};') + >>> ctx.f(9) + 81 + >>> ctx.a + 10 + + context is a python dict or object that contains python variables that should be available to JavaScript + For example: + >>> ctx = EvalJs({'a': 30}) + >>> ctx.execute('var x = a') + >>> ctx.x + 30 + + You can enable JS require function via enable_require. With this feature enabled you can use js modules + from npm, for example: + >>> ctx = EvalJs(enable_require=True) + >>> ctx.execute("var esprima = require('esprima');") + >>> ctx.execute("esprima.parse('var a = 1')") + + You can run interactive javascript console with console method!""" + + def __init__(self, context={}, enable_require=False): + self.__dict__['_context'] = {} + exec (DEFAULT_HEADER, self._context) + self.__dict__['_var'] = self._context['var'].to_python() + + if enable_require: + def _js_require_impl(npm_module_name): + from .node_import import require + from .base import to_python + return require(to_python(npm_module_name), context=self._context) + setattr(self._var, 'require', _js_require_impl) + + 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.encode("utf-8")).hexdigest() + '.py' + try: + with open(filename, mode='w') as f: + f.write(code) + with open(filename, "r") as f: + pyCode = compile(f.read(), filename, 'exec') + exec(pyCode, 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/js2py/host/__init__.py similarity index 100% rename from lib/js2py/host/__init__.py rename to lib/js2py/js2py/host/__init__.py diff --git a/lib/js2py/host/console.py b/lib/js2py/js2py/host/console.py similarity index 100% rename from lib/js2py/host/console.py rename to lib/js2py/js2py/host/console.py diff --git a/lib/js2py/host/jseval.py b/lib/js2py/js2py/host/jseval.py similarity index 100% rename from lib/js2py/host/jseval.py rename to lib/js2py/js2py/host/jseval.py diff --git a/lib/js2py/host/jsfunctions.py b/lib/js2py/js2py/host/jsfunctions.py similarity index 100% rename from lib/js2py/host/jsfunctions.py rename to lib/js2py/js2py/host/jsfunctions.py diff --git a/lib/js2py/host/dom/__init__.py b/lib/js2py/js2py/internals/__init__.py similarity index 100% rename from lib/js2py/host/dom/__init__.py rename to lib/js2py/js2py/internals/__init__.py diff --git a/lib/js2py/internals/base.py b/lib/js2py/js2py/internals/base.py similarity index 100% rename from lib/js2py/internals/base.py rename to lib/js2py/js2py/internals/base.py diff --git a/lib/js2py/internals/byte_trans.py b/lib/js2py/js2py/internals/byte_trans.py similarity index 100% rename from lib/js2py/internals/byte_trans.py rename to lib/js2py/js2py/internals/byte_trans.py diff --git a/lib/js2py/internals/code.py b/lib/js2py/js2py/internals/code.py similarity index 100% rename from lib/js2py/internals/code.py rename to lib/js2py/js2py/internals/code.py diff --git a/lib/js2py/internals/constructors/__init__.py b/lib/js2py/js2py/internals/constructors/__init__.py similarity index 100% rename from lib/js2py/internals/constructors/__init__.py rename to lib/js2py/js2py/internals/constructors/__init__.py diff --git a/lib/js2py/internals/constructors/jsarray.py b/lib/js2py/js2py/internals/constructors/jsarray.py similarity index 100% rename from lib/js2py/internals/constructors/jsarray.py rename to lib/js2py/js2py/internals/constructors/jsarray.py diff --git a/lib/js2py/internals/constructors/jsboolean.py b/lib/js2py/js2py/internals/constructors/jsboolean.py similarity index 100% rename from lib/js2py/internals/constructors/jsboolean.py rename to lib/js2py/js2py/internals/constructors/jsboolean.py diff --git a/lib/js2py/internals/constructors/jsconsole.py b/lib/js2py/js2py/internals/constructors/jsconsole.py similarity index 100% rename from lib/js2py/internals/constructors/jsconsole.py rename to lib/js2py/js2py/internals/constructors/jsconsole.py diff --git a/lib/js2py/internals/constructors/jsdate.py b/lib/js2py/js2py/internals/constructors/jsdate.py similarity index 100% rename from lib/js2py/internals/constructors/jsdate.py rename to lib/js2py/js2py/internals/constructors/jsdate.py diff --git a/lib/js2py/js2py/internals/constructors/jsfunction.py b/lib/js2py/js2py/internals/constructors/jsfunction.py new file mode 100644 index 00000000..d62731ac --- /dev/null +++ b/lib/js2py/js2py/internals/constructors/jsfunction.py @@ -0,0 +1,76 @@ +from ..base import * +from ..conversions import * +from ..func_utils import * +from pyjsparser import parse +from ..byte_trans import ByteCodeGenerator, Code + + +def Function(this, args): + # convert arguments to python list of strings + a = map(to_string, tuple(args)) + _body = u';' + _args = () + if len(a): + _body = u'%s;' % a[-1] + _args = a[:-1] + return executable_function(_body, _args, args.space, global_context=True) + + +def executable_function(_body, _args, space, global_context=True): + func_str = u'(function (%s) { ; %s ; });' % (u', '.join(_args), _body) + + co = executable_code( + code_str=func_str, space=space, global_context=global_context) + return co() + + +# you can use this one lovely piece of function to compile and execute code on the fly! Watch out though as it may generate lots of code. +# todo tape cleanup? we dont know which pieces are needed and which are not so rather impossible without smarter machinery something like GC, +# a one solution would be to have a separate tape for functions +def executable_code(code_str, space, global_context=True): + # parse first to check if any SyntaxErrors + parsed = parse(code_str) + + old_tape_len = len(space.byte_generator.exe.tape) + space.byte_generator.record_state() + start = space.byte_generator.exe.get_new_label() + skip = space.byte_generator.exe.get_new_label() + space.byte_generator.emit('JUMP', skip) + space.byte_generator.emit('LABEL', start) + space.byte_generator.emit(parsed) + space.byte_generator.emit('NOP') + space.byte_generator.emit('LABEL', skip) + space.byte_generator.emit('NOP') + space.byte_generator.restore_state() + + space.byte_generator.exe.compile( + start_loc=old_tape_len + ) # dont read the code from the beginning, dont be stupid! + + ctx = space.GlobalObj if global_context else space.exe.current_ctx + + def ex_code(): + ret, status, token = space.byte_generator.exe.execute_fragment_under_context( + ctx, start, skip) + # todo Clean up the tape! + # this is NOT a way to do that because the fragment may contain the executable code! We dont want to remove it + #del space.byte_generator.exe.tape[old_tape_len:] + if status == 0: + return ret + elif status == 3: + raise token + else: + raise RuntimeError( + 'Unexpected return status during JIT execution: %d' % status) + + return ex_code + + +def _eval(this, args): + code_str = to_string(get_arg(args, 0)) + return executable_code(code_str, args.space, global_context=True)() + + +def log(this, args): + print(' '.join(map(to_string, args))) + return undefined diff --git a/lib/js2py/internals/constructors/jsmath.py b/lib/js2py/js2py/internals/constructors/jsmath.py similarity index 100% rename from lib/js2py/internals/constructors/jsmath.py rename to lib/js2py/js2py/internals/constructors/jsmath.py diff --git a/lib/js2py/internals/constructors/jsnumber.py b/lib/js2py/js2py/internals/constructors/jsnumber.py similarity index 100% rename from lib/js2py/internals/constructors/jsnumber.py rename to lib/js2py/js2py/internals/constructors/jsnumber.py diff --git a/lib/js2py/internals/constructors/jsobject.py b/lib/js2py/js2py/internals/constructors/jsobject.py similarity index 100% rename from lib/js2py/internals/constructors/jsobject.py rename to lib/js2py/js2py/internals/constructors/jsobject.py diff --git a/lib/js2py/internals/constructors/jsregexp.py b/lib/js2py/js2py/internals/constructors/jsregexp.py similarity index 100% rename from lib/js2py/internals/constructors/jsregexp.py rename to lib/js2py/js2py/internals/constructors/jsregexp.py diff --git a/lib/js2py/internals/constructors/jsstring.py b/lib/js2py/js2py/internals/constructors/jsstring.py similarity index 100% rename from lib/js2py/internals/constructors/jsstring.py rename to lib/js2py/js2py/internals/constructors/jsstring.py diff --git a/lib/js2py/internals/constructors/time_helpers.py b/lib/js2py/js2py/internals/constructors/time_helpers.py similarity index 100% rename from lib/js2py/internals/constructors/time_helpers.py rename to lib/js2py/js2py/internals/constructors/time_helpers.py diff --git a/lib/js2py/internals/conversions.py b/lib/js2py/js2py/internals/conversions.py similarity index 100% rename from lib/js2py/internals/conversions.py rename to lib/js2py/js2py/internals/conversions.py diff --git a/lib/js2py/internals/desc.py b/lib/js2py/js2py/internals/desc.py similarity index 100% rename from lib/js2py/internals/desc.py rename to lib/js2py/js2py/internals/desc.py diff --git a/lib/js2py/internals/fill_space.py b/lib/js2py/js2py/internals/fill_space.py similarity index 100% rename from lib/js2py/internals/fill_space.py rename to lib/js2py/js2py/internals/fill_space.py diff --git a/lib/js2py/internals/func_utils.py b/lib/js2py/js2py/internals/func_utils.py similarity index 100% rename from lib/js2py/internals/func_utils.py rename to lib/js2py/js2py/internals/func_utils.py diff --git a/lib/js2py/internals/gen.py b/lib/js2py/js2py/internals/gen.py similarity index 100% rename from lib/js2py/internals/gen.py rename to lib/js2py/js2py/internals/gen.py diff --git a/lib/js2py/internals/opcodes.py b/lib/js2py/js2py/internals/opcodes.py similarity index 100% rename from lib/js2py/internals/opcodes.py rename to lib/js2py/js2py/internals/opcodes.py diff --git a/lib/js2py/internals/operations.py b/lib/js2py/js2py/internals/operations.py similarity index 100% rename from lib/js2py/internals/operations.py rename to lib/js2py/js2py/internals/operations.py diff --git a/lib/js2py/internals/prototypes/__init__.py b/lib/js2py/js2py/internals/prototypes/__init__.py similarity index 100% rename from lib/js2py/internals/prototypes/__init__.py rename to lib/js2py/js2py/internals/prototypes/__init__.py diff --git a/lib/js2py/internals/prototypes/jsarray.py b/lib/js2py/js2py/internals/prototypes/jsarray.py similarity index 100% rename from lib/js2py/internals/prototypes/jsarray.py rename to lib/js2py/js2py/internals/prototypes/jsarray.py diff --git a/lib/js2py/internals/prototypes/jsboolean.py b/lib/js2py/js2py/internals/prototypes/jsboolean.py similarity index 100% rename from lib/js2py/internals/prototypes/jsboolean.py rename to lib/js2py/js2py/internals/prototypes/jsboolean.py diff --git a/lib/js2py/internals/prototypes/jserror.py b/lib/js2py/js2py/internals/prototypes/jserror.py similarity index 100% rename from lib/js2py/internals/prototypes/jserror.py rename to lib/js2py/js2py/internals/prototypes/jserror.py diff --git a/lib/js2py/internals/prototypes/jsfunction.py b/lib/js2py/js2py/internals/prototypes/jsfunction.py similarity index 100% rename from lib/js2py/internals/prototypes/jsfunction.py rename to lib/js2py/js2py/internals/prototypes/jsfunction.py diff --git a/lib/js2py/internals/prototypes/jsjson.py b/lib/js2py/js2py/internals/prototypes/jsjson.py similarity index 100% rename from lib/js2py/internals/prototypes/jsjson.py rename to lib/js2py/js2py/internals/prototypes/jsjson.py diff --git a/lib/js2py/internals/prototypes/jsnumber.py b/lib/js2py/js2py/internals/prototypes/jsnumber.py similarity index 100% rename from lib/js2py/internals/prototypes/jsnumber.py rename to lib/js2py/js2py/internals/prototypes/jsnumber.py diff --git a/lib/js2py/internals/prototypes/jsobject.py b/lib/js2py/js2py/internals/prototypes/jsobject.py similarity index 100% rename from lib/js2py/internals/prototypes/jsobject.py rename to lib/js2py/js2py/internals/prototypes/jsobject.py diff --git a/lib/js2py/internals/prototypes/jsregexp.py b/lib/js2py/js2py/internals/prototypes/jsregexp.py similarity index 100% rename from lib/js2py/internals/prototypes/jsregexp.py rename to lib/js2py/js2py/internals/prototypes/jsregexp.py diff --git a/lib/js2py/js2py/internals/prototypes/jsstring.py b/lib/js2py/js2py/internals/prototypes/jsstring.py new file mode 100644 index 00000000..be38802e --- /dev/null +++ b/lib/js2py/js2py/internals/prototypes/jsstring.py @@ -0,0 +1,323 @@ +from __future__ import unicode_literals + +# -*- coding: utf-8 -*- +import re +from ..conversions import * +from ..func_utils import * +from .jsregexp import RegExpExec + +DIGS = set(u'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 + 2 < len(rep) and rep[n + 2] in DIGS: + dig += rep[n + 2] + num = int(dig) + # we will not do any replacements if we dont have this npar or dig is 0 + if not num or num > len(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 n < len(rep): + res += rep[-1] + return res + + +################################################### + + +class StringPrototype: + def toString(this, args): + if GetClass(this) != 'String': + raise MakeError('TypeError', + 'String.prototype.toString is not generic') + if type(this) == unicode: + return this + assert type(this.value) == unicode + return this.value + + def valueOf(this, args): + if GetClass(this) != 'String': + raise MakeError('TypeError', + 'String.prototype.valueOf is not generic') + if type(this) == unicode: + return this + assert type(this.value) == unicode + return this.value + + def charAt(this, args): + cok(this) + pos = to_int(get_arg(args, 0)) + s = to_string(this) + if 0 <= pos < len(s): + return s[pos] + return u'' + + def charCodeAt(this, args): + cok(this) + pos = to_int(get_arg(args, 0)) + s = to_string(this) + if 0 <= pos < len(s): + return float(ord(s[pos])) + return NaN + + def concat(this, args): + cok(this) + return to_string(this) + u''.join(map(to_string, args)) + + def indexOf(this, args): + cok(this) + search = to_string(get_arg(args, 0)) + pos = to_int(get_arg(args, 1)) + s = to_string(this) + return float(s.find(search, min(max(pos, 0), len(s)))) + + def lastIndexOf(this, args): + cok(this) + search = to_string(get_arg(args, 0)) + pos = get_arg(args, 1) + s = to_string(this) + pos = 10**12 if is_nan(pos) else to_int(pos) + return float(s.rfind(search, 0, min(max(pos, 0) + 1, len(s)))) + + def localeCompare(this, args): + cok(this) + s = to_string(this) + that = to_string(get_arg(args, 0)) + if s < that: + return -1. + elif s > that: + return 1. + return 0. + + def match(this, args): + cok(this) + s = to_string(this) + regexp = get_arg(args, 0) + r = args.space.NewRegExp( + regexp, '') if GetClass(regexp) != 'RegExp' else regexp + if not r.glob: + return RegExpExec(r, s, space=args.space) + r.put('lastIndex', float(0)) + found = [] + previous_last_index = 0 + last_match = True + while last_match: + result = RegExpExec(r, s, space=args.space) + if is_null(result): + last_match = False + else: + this_index = r.get('lastIndex') + if this_index == previous_last_index: + r.put('lastIndex', float(this_index + 1)) + previous_last_index += 1 + else: + previous_last_index = this_index + matchStr = result.get('0') + found.append(matchStr) + if not found: + return null + return args.space.ConstructArray(found) + + def replace(this, args): + # VERY COMPLICATED. to check again. + cok(this) + s = to_string(this) + searchValue = get_arg(args, 0) + replaceValue = get_arg(args, 1) + res = '' + if not is_callable(replaceValue): + replaceValue = to_string(replaceValue) + func = False + else: + func = True + # Replace all ( global ) + if GetClass(searchValue) == '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) + call_args = (e.group(), ) + e.groups() + (e.span()[1], s) + # convert all types to JS before Js bytecode call... + res += to_string( + replaceValue.call( + this, ensure_js_types(call_args, + space=args.space))) + else: + res += replacement_template(replaceValue, s, e.span(), + e.groups()) + last = e.span()[1] + res += s[last:] + return res + elif GetClass(searchValue) == 'RegExp': + e = re.search(searchValue.pat, s) + if e is None: + return s + span = e.span() + pars = e.groups() + match = e.group() + else: + match = to_string(searchValue) + ind = s.find(match) + if ind == -1: + return s + span = ind, ind + len(match) + pars = () + res = s[:span[0]] + if func: + call_args = (match, ) + pars + (span[1], s) + # convert all types to JS before Js bytecode call... + res += to_string( + replaceValue.call(this, + ensure_js_types(call_args, + space=args.space))) + else: + res += replacement_template(replaceValue, s, span, pars) + res += s[span[1]:] + return res + + def search(this, args): + cok(this) + string = to_string(this) + regexp = get_arg(args, 0) + if GetClass(regexp) == 'RegExp': + rx = regexp + else: + rx = args.space.NewRegExp(regexp, '') + res = re.search(rx.pat, string) + if res is not None: + return float(res.span()[0]) + return -1. + + def slice(this, args): + cok(this) + s = to_string(this) + start = to_int(get_arg(args, 0)) + length = len(s) + end = get_arg(args, 1) + end = length if is_undefined(end) else to_int(end) + #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[start:end] + + def split(this, args): + # its a bit different from re.split! + cok(this) + s = to_string(this) + separator = get_arg(args, 0) + limit = get_arg(args, 1) + lim = 2**32 - 1 if is_undefined(limit) else to_uint32(limit) + if not lim: + return args.space.ConstructArray([]) + if is_undefined(separator): + return args.space.ConstructArray([s]) + len_s = len(s) + res = [] + R = separator if GetClass(separator) == 'RegExp' else to_string( + separator) + if not len_s: + if SplitMatch(s, 0, R) is None: + return args.space.ConstructArray([s]) + return args.space.ConstructArray([]) + 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 args.space.ConstructArray(res) + for element in cap: + res.append(element) + if len(res) == lim: + return args.space.ConstructArray(res) + res.append(s[p:]) + return args.space.ConstructArray(res) + + def substring(this, args): + cok(this) + s = to_string(this) + start = to_int(get_arg(args, 0)) + length = len(s) + end = get_arg(args, 1) + end = length if is_undefined(end) else to_int(end) + fstart = min(max(start, 0), length) + fend = min(max(end, 0), length) + return s[min(fstart, fend):max(fstart, fend)] + + def substr(this, args): + cok(this) + #I hate this function and its description in specification + r1 = to_string(this) + r2 = to_int(get_arg(args, 0)) + length = get_arg(args, 1) + r3 = 10**20 if is_undefined(length) else to_int(length) + 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, args): + cok(this) + return to_string(this).lower() + + def toLocaleLowerCase(this, args): + cok(this) + return to_string(this).lower() + + def toUpperCase(this, args): + cok(this) + return to_string(this).upper() + + def toLocaleUpperCase(this, args): + cok(this) + return to_string(this).upper() + + def trim(this, args): + cok(this) + return to_string(this).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 GetClass(R) == '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): + return q + len(R), () + return None, () diff --git a/lib/js2py/internals/prototypes/jsutils.py b/lib/js2py/js2py/internals/prototypes/jsutils.py similarity index 100% rename from lib/js2py/internals/prototypes/jsutils.py rename to lib/js2py/js2py/internals/prototypes/jsutils.py diff --git a/lib/js2py/internals/seval.py b/lib/js2py/js2py/internals/seval.py similarity index 100% rename from lib/js2py/internals/seval.py rename to lib/js2py/js2py/internals/seval.py diff --git a/lib/js2py/internals/simplex.py b/lib/js2py/js2py/internals/simplex.py similarity index 100% rename from lib/js2py/internals/simplex.py rename to lib/js2py/js2py/internals/simplex.py diff --git a/lib/js2py/internals/space.py b/lib/js2py/js2py/internals/space.py similarity index 100% rename from lib/js2py/internals/space.py rename to lib/js2py/js2py/internals/space.py diff --git a/lib/js2py/internals/speed.py b/lib/js2py/js2py/internals/speed.py similarity index 100% rename from lib/js2py/internals/speed.py rename to lib/js2py/js2py/internals/speed.py diff --git a/lib/js2py/internals/trans_utils.py b/lib/js2py/js2py/internals/trans_utils.py similarity index 100% rename from lib/js2py/internals/trans_utils.py rename to lib/js2py/js2py/internals/trans_utils.py diff --git a/lib/js2py/js2py/node_import.py b/lib/js2py/js2py/node_import.py new file mode 100644 index 00000000..605c4b3a --- /dev/null +++ b/lib/js2py/js2py/node_import.py @@ -0,0 +1,145 @@ +__all__ = ['require'] +import subprocess, os, codecs, glob +from .evaljs import translate_js, DEFAULT_HEADER +import six +DID_INIT = False +DIRNAME = os.path.dirname(os.path.abspath(__file__)) +PY_NODE_MODULES_PATH = os.path.join(DIRNAME, 'py_node_modules') + + +def _init(): + global DID_INIT + if DID_INIT: + return + assert subprocess.call( + 'node -v', shell=True, cwd=DIRNAME + ) == 0, 'You must have node installed! run: brew install node' + assert subprocess.call( + 'cd %s;npm install babel-core babel-cli babel-preset-es2015 babel-polyfill babelify browserify browserify-shim' + % repr(DIRNAME), + shell=True, + cwd=DIRNAME) == 0, 'Could not link required node_modules' + DID_INIT = True + + +ADD_TO_GLOBALS_FUNC = ''' +;function addToGlobals(name, obj) { + if (!Object.prototype.hasOwnProperty('_fake_exports')) { + Object.prototype._fake_exports = {}; + } + Object.prototype._fake_exports[name] = obj; +}; + +''' +# subprocess.call("""node -e 'require("browserify")'""", shell=True) +GET_FROM_GLOBALS_FUNC = ''' +;function getFromGlobals(name) { + if (!Object.prototype.hasOwnProperty('_fake_exports')) { + throw Error("Could not find any value named "+name); + } + if (Object.prototype._fake_exports.hasOwnProperty(name)) { + return Object.prototype._fake_exports[name]; + } else { + throw Error("Could not find any value named "+name); + } +}; + +''' + +def _get_module_py_name(module_name): + return module_name.replace('-', '_') + +def _get_module_var_name(module_name): + return _get_module_py_name(module_name).rpartition('/')[-1] + + +def _get_and_translate_npm_module(module_name, include_polyfill=False, update=False): + assert isinstance(module_name, str), 'module_name must be a string!' + py_name = _get_module_py_name(module_name) + module_filename = '%s.py' % py_name + var_name = _get_module_var_name(module_name) + if not os.path.exists(os.path.join(PY_NODE_MODULES_PATH, + module_filename)) or update: + _init() + in_file_name = 'tmp0in439341018923js2py.js' + out_file_name = 'tmp0out439341018923js2py.js' + code = ADD_TO_GLOBALS_FUNC + if include_polyfill: + code += "\n;require('babel-polyfill');\n" + code += """ + var module_temp_love_python = require(%s); + addToGlobals(%s, module_temp_love_python); + """ % (repr(module_name), repr(module_name)) + with open(os.path.join(DIRNAME, in_file_name), 'wb') as f: + f.write(code.encode('utf-8') if six.PY3 else code) + + pkg_name = module_name.partition('/')[0] + # make sure the module is installed + assert subprocess.call( + 'cd %s;npm install %s' % (repr(DIRNAME), pkg_name), + shell=True, + cwd=DIRNAME + ) == 0, 'Could not install the required module: ' + pkg_name + + # convert the module + assert subprocess.call( + '''node -e "(require('browserify')('./%s').bundle(function (err,data) {if (err) {console.log(err);throw new Error(err);};fs.writeFile('%s', require('babel-core').transform(data, {'presets': require('babel-preset-es2015')}).code, ()=>{});}))"''' + % (in_file_name, out_file_name), + shell=True, + cwd=DIRNAME, + ) == 0, 'Error when converting module to the js bundle' + + os.remove(os.path.join(DIRNAME, in_file_name)) + with codecs.open(os.path.join(DIRNAME, out_file_name), "r", + "utf-8") as f: + js_code = f.read() + os.remove(os.path.join(DIRNAME, out_file_name)) + if len(js_code) < 50: + raise RuntimeError("Candidate JS bundle too short - likely browserify issue.") + js_code += GET_FROM_GLOBALS_FUNC + js_code += ';var %s = getFromGlobals(%s);%s' % ( + var_name, repr(module_name), var_name) + print('Please wait, translating...') + py_code = translate_js(js_code) + + dirname = os.path.dirname( + os.path.join(PY_NODE_MODULES_PATH, module_filename)) + if not os.path.isdir(dirname): + os.makedirs(dirname) + with open(os.path.join(PY_NODE_MODULES_PATH, module_filename), + 'wb') as f: + f.write(py_code.encode('utf-8') if six.PY3 else py_code) + else: + with codecs.open( + os.path.join(PY_NODE_MODULES_PATH, module_filename), "r", + "utf-8") as f: + py_code = f.read() + return py_code + + +def require(module_name, include_polyfill=False, update=False, context=None): + """ + Installs the provided npm module, exports a js bundle via browserify, converts to ECMA 5.1 via babel and + finally translates the generated JS bundle to Python via Js2Py. + Returns a pure python object that behaves like the installed module. Nice! + + :param module_name: Name of the npm module to require. For example 'esprima'. + :param include_polyfill: Whether the babel-polyfill should be included as part of the translation. May be needed + for some modules that use unsupported features. + :param update: Whether to force update the translation. Otherwise uses a cached version if exists. + :param context: Optional context in which the translated module should be executed in. If provided, the + header (js2py imports) will be skipped as it is assumed that the context already has all the necessary imports. + :return: The JsObjectWrapper containing the translated module object. Can be used like a standard python object. + """ + py_code = _get_and_translate_npm_module(module_name, include_polyfill=include_polyfill, update=update) + # this is a bit hacky but we need to strip the default header from the generated code... + if context is not None: + if not py_code.startswith(DEFAULT_HEADER): + # new header version? retranslate... + assert not update, "Unexpected header." + py_code = _get_and_translate_npm_module(module_name, include_polyfill=include_polyfill, update=True) + assert py_code.startswith(DEFAULT_HEADER), "Unexpected header." + py_code = py_code[len(DEFAULT_HEADER):] + context = {} if context is None else context + exec (py_code, context) + return context['var'][_get_module_var_name(module_name)].to_py() diff --git a/lib/js2py/prototypes/__init__.py b/lib/js2py/js2py/prototypes/__init__.py similarity index 100% rename from lib/js2py/prototypes/__init__.py rename to lib/js2py/js2py/prototypes/__init__.py diff --git a/lib/js2py/prototypes/jsarray.py b/lib/js2py/js2py/prototypes/jsarray.py similarity index 100% rename from lib/js2py/prototypes/jsarray.py rename to lib/js2py/js2py/prototypes/jsarray.py diff --git a/lib/js2py/prototypes/jsarraybuffer.py b/lib/js2py/js2py/prototypes/jsarraybuffer.py similarity index 100% rename from lib/js2py/prototypes/jsarraybuffer.py rename to lib/js2py/js2py/prototypes/jsarraybuffer.py diff --git a/lib/js2py/prototypes/jsboolean.py b/lib/js2py/js2py/prototypes/jsboolean.py similarity index 100% rename from lib/js2py/prototypes/jsboolean.py rename to lib/js2py/js2py/prototypes/jsboolean.py diff --git a/lib/js2py/prototypes/jserror.py b/lib/js2py/js2py/prototypes/jserror.py similarity index 100% rename from lib/js2py/prototypes/jserror.py rename to lib/js2py/js2py/prototypes/jserror.py diff --git a/lib/js2py/js2py/prototypes/jsfunction.py b/lib/js2py/js2py/prototypes/jsfunction.py new file mode 100644 index 00000000..2ed417e0 --- /dev/null +++ b/lib/js2py/js2py/prototypes/jsfunction.py @@ -0,0 +1,51 @@ +# python 3 support +import six +if six.PY3: + basestring = str + long = int + xrange = range + unicode = str + + +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): + arguments_ = arguments + 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/js2py/prototypes/jsjson.py similarity index 100% rename from lib/js2py/prototypes/jsjson.py rename to lib/js2py/js2py/prototypes/jsjson.py diff --git a/lib/js2py/prototypes/jsnumber.py b/lib/js2py/js2py/prototypes/jsnumber.py similarity index 100% rename from lib/js2py/prototypes/jsnumber.py rename to lib/js2py/js2py/prototypes/jsnumber.py diff --git a/lib/js2py/prototypes/jsobject.py b/lib/js2py/js2py/prototypes/jsobject.py similarity index 100% rename from lib/js2py/prototypes/jsobject.py rename to lib/js2py/js2py/prototypes/jsobject.py diff --git a/lib/js2py/prototypes/jsregexp.py b/lib/js2py/js2py/prototypes/jsregexp.py similarity index 100% rename from lib/js2py/prototypes/jsregexp.py rename to lib/js2py/js2py/prototypes/jsregexp.py diff --git a/lib/js2py/prototypes/jsstring.py b/lib/js2py/js2py/prototypes/jsstring.py similarity index 100% rename from lib/js2py/prototypes/jsstring.py rename to lib/js2py/js2py/prototypes/jsstring.py diff --git a/lib/js2py/prototypes/jstypedarray.py b/lib/js2py/js2py/prototypes/jstypedarray.py similarity index 100% rename from lib/js2py/prototypes/jstypedarray.py rename to lib/js2py/js2py/prototypes/jstypedarray.py diff --git a/lib/js2py/py_node_modules/__init__.py b/lib/js2py/js2py/py_node_modules/__init__.py similarity index 100% rename from lib/js2py/py_node_modules/__init__.py rename to lib/js2py/js2py/py_node_modules/__init__.py diff --git a/lib/js2py/js2py/py_node_modules/chalk.py b/lib/js2py/js2py/py_node_modules/chalk.py new file mode 100644 index 00000000..1719ce5e --- /dev/null +++ b/lib/js2py/js2py/py_node_modules/chalk.py @@ -0,0 +1,13682 @@ +from js2py.pyjs import * +# setting scope +var = Scope( JS_BUILTINS ) +set_global_object(var) + +# Code follows: +var.registers([u'chalk', u'getFromGlobals', u'_typeof']) +@Js +def PyJsHoisted_getFromGlobals_(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'Object').get(u'prototype').callprop(u'hasOwnProperty', Js(u'_fake_exports')).neg(): + PyJsTempException = JsToPyException(var.get(u'Error')((Js(u'Could not find any value named ')+var.get(u'name')))) + raise PyJsTempException + if var.get(u'Object').get(u'prototype').get(u'_fake_exports').callprop(u'hasOwnProperty', var.get(u'name')): + return var.get(u'Object').get(u'prototype').get(u'_fake_exports').get(var.get(u'name')) + else: + PyJsTempException = JsToPyException(var.get(u'Error')((Js(u'Could not find any value named ')+var.get(u'name')))) + raise PyJsTempException +PyJsHoisted_getFromGlobals_.func_name = u'getFromGlobals' +var.put(u'getFromGlobals', PyJsHoisted_getFromGlobals_) +Js(u'use strict') +@Js +def PyJs_anonymous_0_(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_0_._set_name(u'anonymous') +@Js +def PyJs_anonymous_1_(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_1_._set_name(u'anonymous') +var.put(u'_typeof', (PyJs_anonymous_0_ 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_1_)) +@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']) + PyJs_Object_4_ = Js({}) + @Js + def PyJs_anonymous_5_(PyJsArg_676c6f62616c_, this, arguments, var=var): + var = Scope({u'this':this, u'global':PyJsArg_676c6f62616c_, u'arguments':arguments}, var) + var.registers([u'DEFINE_PROPERTY', u'global', u'define']) + @Js + def PyJsHoisted_define_(O, key, value, this, arguments, var=var): + var = Scope({u'this':this, u'value':value, u'key':key, u'O':O, u'arguments':arguments}, var) + var.registers([u'value', u'key', u'O']) + PyJs_Object_6_ = Js({u'writable':Js(True),u'configurable':Js(True),u'value':var.get(u'value')}) + (var.get(u'O').get(var.get(u'key')) or var.get(u'Object').callprop(var.get(u'DEFINE_PROPERTY'), var.get(u'O'), var.get(u'key'), PyJs_Object_6_)) + PyJsHoisted_define_.func_name = u'define' + var.put(u'define', PyJsHoisted_define_) + Js(u'use strict') + var.get(u'require')(Js(u'core-js/shim')) + var.get(u'require')(Js(u'regenerator-runtime/runtime')) + var.get(u'require')(Js(u'core-js/fn/regexp/escape')) + if var.get(u'global').get(u'_babelPolyfill'): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'only one instance of babel-polyfill is allowed'))) + raise PyJsTempException + var.get(u'global').put(u'_babelPolyfill', Js(True)) + var.put(u'DEFINE_PROPERTY', Js(u'defineProperty')) + pass + var.get(u'define')(var.get(u'String').get(u'prototype'), Js(u'padLeft'), Js(u'').get(u'padStart')) + var.get(u'define')(var.get(u'String').get(u'prototype'), Js(u'padRight'), Js(u'').get(u'padEnd')) + @Js + def PyJs_anonymous_7_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key}, var) + var.registers([u'key']) + (Js([]).get(var.get(u'key')) and var.get(u'define')(var.get(u'Array'), var.get(u'key'), var.get(u'Function').get(u'call').callprop(u'bind', Js([]).get(var.get(u'key'))))) + PyJs_anonymous_7_._set_name(u'anonymous') + Js(u'pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill').callprop(u'split', Js(u',')).callprop(u'forEach', PyJs_anonymous_7_) + PyJs_anonymous_5_._set_name(u'anonymous') + PyJs_anonymous_5_.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_4_)))) +PyJs_anonymous_3_._set_name(u'anonymous') +PyJs_Object_8_ = Js({u'core-js/fn/regexp/escape':Js(11.0),u'core-js/shim':Js(334.0),u'regenerator-runtime/runtime':Js(2.0)}) +@Js +def PyJs_anonymous_9_(require, module, exports, this, 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_10_ = Js({}) + @Js + def PyJs_anonymous_11_(PyJsArg_676c6f62616c_, this, arguments, var=var): + var = Scope({u'this':this, u'global':PyJsArg_676c6f62616c_, u'arguments':arguments}, var) + var.registers([u'global']) + def PyJs_LONG_12_(var=var): + return (var.get(u'global') if PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'global',throw=False).typeof(),Js(u'undefined')) else var.get(u'_typeof')(var.get(u'global'))),Js(u'object')) else (var.get(u'window') if PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'window',throw=False).typeof(),Js(u'undefined')) else var.get(u'_typeof')(var.get(u'window'))),Js(u'object')) else (var.get(u'self') if PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'self',throw=False).typeof(),Js(u'undefined')) else var.get(u'_typeof')(var.get(u'self'))),Js(u'object')) else var.get(u"this")))) + @Js + def PyJs_anonymous_13_(PyJsArg_676c6f62616c_, this, arguments, var=var): + var = Scope({u'this':this, u'global':PyJsArg_676c6f62616c_, u'arguments':arguments}, var) + var.registers([u'iteratorSymbol', u'resetTryEntry', u'Context', u'Generator', u'AsyncIterator', u'getProto', u'defineIteratorMethods', u'GenStateExecuting', u'wrap', u'maybeInvokeDelegate', u'NativeIteratorPrototype', u'doneResult', u'tryCatch', u'GenStateSuspendedYield', u'inModule', u'global', u'pushTryEntry', u'GenStateCompleted', u'GenStateSuspendedStart', u'toStringTagSymbol', u'makeInvokeMethod', u'Op', u'asyncIteratorSymbol', u'ContinueSentinel', u'undefined', u'Gp', u'IteratorPrototype', u'hasOwn', u'$Symbol', u'values', u'GeneratorFunction', u'runtime', u'GeneratorFunctionPrototype']) + @Js + def PyJsHoisted_resetTryEntry_(entry, this, arguments, var=var): + var = Scope({u'this':this, u'entry':entry, u'arguments':arguments}, var) + var.registers([u'record', u'entry']) + PyJs_Object_39_ = Js({}) + var.put(u'record', (var.get(u'entry').get(u'completion') or PyJs_Object_39_)) + var.get(u'record').put(u'type', Js(u'normal')) + var.get(u'record').delete(u'arg') + var.get(u'entry').put(u'completion', var.get(u'record')) + PyJsHoisted_resetTryEntry_.func_name = u'resetTryEntry' + var.put(u'resetTryEntry', PyJsHoisted_resetTryEntry_) + @Js + def PyJsHoisted_maybeInvokeDelegate_(delegate, context, this, arguments, var=var): + var = Scope({u'this':this, u'delegate':delegate, u'context':context, u'arguments':arguments}, var) + var.registers([u'info', u'record', u'method', u'context', u'delegate']) + var.put(u'method', var.get(u'delegate').get(u'iterator').get(var.get(u'context').get(u'method'))) + if PyJsStrictEq(var.get(u'method'),var.get(u'undefined')): + var.get(u'context').put(u'delegate', var.get(u"null")) + if PyJsStrictEq(var.get(u'context').get(u'method'),Js(u'throw')): + if var.get(u'delegate').get(u'iterator').get(u'return'): + var.get(u'context').put(u'method', Js(u'return')) + var.get(u'context').put(u'arg', var.get(u'undefined')) + var.get(u'maybeInvokeDelegate')(var.get(u'delegate'), var.get(u'context')) + if PyJsStrictEq(var.get(u'context').get(u'method'),Js(u'throw')): + return var.get(u'ContinueSentinel') + var.get(u'context').put(u'method', Js(u'throw')) + var.get(u'context').put(u'arg', var.get(u'TypeError').create(Js(u"The iterator does not provide a 'throw' method"))) + return var.get(u'ContinueSentinel') + var.put(u'record', var.get(u'tryCatch')(var.get(u'method'), var.get(u'delegate').get(u'iterator'), var.get(u'context').get(u'arg'))) + if PyJsStrictEq(var.get(u'record').get(u'type'),Js(u'throw')): + var.get(u'context').put(u'method', Js(u'throw')) + var.get(u'context').put(u'arg', var.get(u'record').get(u'arg')) + var.get(u'context').put(u'delegate', var.get(u"null")) + return var.get(u'ContinueSentinel') + var.put(u'info', var.get(u'record').get(u'arg')) + if var.get(u'info').neg(): + var.get(u'context').put(u'method', Js(u'throw')) + var.get(u'context').put(u'arg', var.get(u'TypeError').create(Js(u'iterator result is not an object'))) + var.get(u'context').put(u'delegate', var.get(u"null")) + return var.get(u'ContinueSentinel') + if var.get(u'info').get(u'done'): + var.get(u'context').put(var.get(u'delegate').get(u'resultName'), var.get(u'info').get(u'value')) + var.get(u'context').put(u'next', var.get(u'delegate').get(u'nextLoc')) + if PyJsStrictNeq(var.get(u'context').get(u'method'),Js(u'return')): + var.get(u'context').put(u'method', Js(u'next')) + var.get(u'context').put(u'arg', var.get(u'undefined')) + else: + return var.get(u'info') + var.get(u'context').put(u'delegate', var.get(u"null")) + return var.get(u'ContinueSentinel') + PyJsHoisted_maybeInvokeDelegate_.func_name = u'maybeInvokeDelegate' + var.put(u'maybeInvokeDelegate', PyJsHoisted_maybeInvokeDelegate_) + @Js + def PyJsHoisted_pushTryEntry_(locs, this, arguments, var=var): + var = Scope({u'this':this, u'locs':locs, u'arguments':arguments}, var) + var.registers([u'entry', u'locs']) + PyJs_Object_38_ = Js({u'tryLoc':var.get(u'locs').get(u'0')}) + var.put(u'entry', PyJs_Object_38_) + if var.get(u'locs').contains(Js(1.0)): + var.get(u'entry').put(u'catchLoc', var.get(u'locs').get(u'1')) + if var.get(u'locs').contains(Js(2.0)): + var.get(u'entry').put(u'finallyLoc', var.get(u'locs').get(u'2')) + var.get(u'entry').put(u'afterLoc', var.get(u'locs').get(u'3')) + var.get(u"this").get(u'tryEntries').callprop(u'push', var.get(u'entry')) + PyJsHoisted_pushTryEntry_.func_name = u'pushTryEntry' + var.put(u'pushTryEntry', PyJsHoisted_pushTryEntry_) + @Js + def PyJsHoisted_Generator_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJsHoisted_Generator_.func_name = u'Generator' + var.put(u'Generator', PyJsHoisted_Generator_) + @Js + def PyJsHoisted_doneResult_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_45_ = Js({u'value':var.get(u'undefined'),u'done':Js(True)}) + return PyJs_Object_45_ + PyJsHoisted_doneResult_.func_name = u'doneResult' + var.put(u'doneResult', PyJsHoisted_doneResult_) + @Js + def PyJsHoisted_makeInvokeMethod_(innerFn, self, context, this, arguments, var=var): + var = Scope({u'this':this, u'self':self, u'innerFn':innerFn, u'arguments':arguments, u'context':context}, var) + var.registers([u'state', u'innerFn', u'self', u'context']) + var.put(u'state', var.get(u'GenStateSuspendedStart')) + @Js + def PyJs_invoke_34_(method, arg, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'method':method, u'invoke':PyJs_invoke_34_, u'arg':arg}, var) + var.registers([u'record', u'arg', u'delegateResult', u'delegate', u'method']) + if PyJsStrictEq(var.get(u'state'),var.get(u'GenStateExecuting')): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'Generator is already running'))) + raise PyJsTempException + if PyJsStrictEq(var.get(u'state'),var.get(u'GenStateCompleted')): + if PyJsStrictEq(var.get(u'method'),Js(u'throw')): + PyJsTempException = JsToPyException(var.get(u'arg')) + raise PyJsTempException + return var.get(u'doneResult')() + var.get(u'context').put(u'method', var.get(u'method')) + var.get(u'context').put(u'arg', var.get(u'arg')) + while Js(True): + var.put(u'delegate', var.get(u'context').get(u'delegate')) + if var.get(u'delegate'): + var.put(u'delegateResult', var.get(u'maybeInvokeDelegate')(var.get(u'delegate'), var.get(u'context'))) + if var.get(u'delegateResult'): + if PyJsStrictEq(var.get(u'delegateResult'),var.get(u'ContinueSentinel')): + continue + return var.get(u'delegateResult') + if PyJsStrictEq(var.get(u'context').get(u'method'),Js(u'next')): + var.get(u'context').put(u'sent', var.get(u'context').put(u'_sent', var.get(u'context').get(u'arg'))) + else: + if PyJsStrictEq(var.get(u'context').get(u'method'),Js(u'throw')): + if PyJsStrictEq(var.get(u'state'),var.get(u'GenStateSuspendedStart')): + var.put(u'state', var.get(u'GenStateCompleted')) + PyJsTempException = JsToPyException(var.get(u'context').get(u'arg')) + raise PyJsTempException + var.get(u'context').callprop(u'dispatchException', var.get(u'context').get(u'arg')) + else: + if PyJsStrictEq(var.get(u'context').get(u'method'),Js(u'return')): + var.get(u'context').callprop(u'abrupt', Js(u'return'), var.get(u'context').get(u'arg')) + var.put(u'state', var.get(u'GenStateExecuting')) + var.put(u'record', var.get(u'tryCatch')(var.get(u'innerFn'), var.get(u'self'), var.get(u'context'))) + if PyJsStrictEq(var.get(u'record').get(u'type'),Js(u'normal')): + var.put(u'state', (var.get(u'GenStateCompleted') if var.get(u'context').get(u'done') else var.get(u'GenStateSuspendedYield'))) + if PyJsStrictEq(var.get(u'record').get(u'arg'),var.get(u'ContinueSentinel')): + continue + PyJs_Object_35_ = Js({u'value':var.get(u'record').get(u'arg'),u'done':var.get(u'context').get(u'done')}) + return PyJs_Object_35_ + else: + if PyJsStrictEq(var.get(u'record').get(u'type'),Js(u'throw')): + var.put(u'state', var.get(u'GenStateCompleted')) + var.get(u'context').put(u'method', Js(u'throw')) + var.get(u'context').put(u'arg', var.get(u'record').get(u'arg')) + PyJs_invoke_34_._set_name(u'invoke') + return PyJs_invoke_34_ + PyJsHoisted_makeInvokeMethod_.func_name = u'makeInvokeMethod' + var.put(u'makeInvokeMethod', PyJsHoisted_makeInvokeMethod_) + @Js + def PyJsHoisted_tryCatch_(fn, obj, arg, this, arguments, var=var): + var = Scope({u'this':this, u'obj':obj, u'arguments':arguments, u'fn':fn, u'arg':arg}, var) + var.registers([u'obj', u'fn', u'arg']) + try: + PyJs_Object_16_ = Js({u'type':Js(u'normal'),u'arg':var.get(u'fn').callprop(u'call', var.get(u'obj'), var.get(u'arg'))}) + return PyJs_Object_16_ + except PyJsException as PyJsTempException: + PyJsHolder_657272_99859491 = var.own.get(u'err') + var.force_own_put(u'err', PyExceptionToJs(PyJsTempException)) + try: + PyJs_Object_17_ = Js({u'type':Js(u'throw'),u'arg':var.get(u'err')}) + return PyJs_Object_17_ + finally: + if PyJsHolder_657272_99859491 is not None: + var.own[u'err'] = PyJsHolder_657272_99859491 + else: + del var.own[u'err'] + del PyJsHolder_657272_99859491 + PyJsHoisted_tryCatch_.func_name = u'tryCatch' + var.put(u'tryCatch', PyJsHoisted_tryCatch_) + @Js + def PyJsHoisted_defineIteratorMethods_(prototype, this, arguments, var=var): + var = Scope({u'this':this, u'prototype':prototype, u'arguments':arguments}, var) + var.registers([u'prototype']) + @Js + def PyJs_anonymous_21_(method, this, arguments, var=var): + var = Scope({u'this':this, u'method':method, u'arguments':arguments}, var) + var.registers([u'method']) + @Js + def PyJs_anonymous_22_(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"this").callprop(u'_invoke', var.get(u'method'), var.get(u'arg')) + PyJs_anonymous_22_._set_name(u'anonymous') + var.get(u'prototype').put(var.get(u'method'), PyJs_anonymous_22_) + PyJs_anonymous_21_._set_name(u'anonymous') + Js([Js(u'next'), Js(u'throw'), Js(u'return')]).callprop(u'forEach', PyJs_anonymous_21_) + PyJsHoisted_defineIteratorMethods_.func_name = u'defineIteratorMethods' + var.put(u'defineIteratorMethods', PyJsHoisted_defineIteratorMethods_) + @Js + def PyJsHoisted_values_(iterable, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'iterable':iterable}, var) + var.registers([u'i', u'iteratorMethod', u'iterable', u'next']) + if var.get(u'iterable'): + var.put(u'iteratorMethod', var.get(u'iterable').get(var.get(u'iteratorSymbol'))) + if var.get(u'iteratorMethod'): + return var.get(u'iteratorMethod').callprop(u'call', var.get(u'iterable')) + if PyJsStrictEq(var.get(u'iterable').get(u'next').typeof(),Js(u'function')): + return var.get(u'iterable') + if var.get(u'isNaN')(var.get(u'iterable').get(u'length')).neg(): + var.put(u'i', (-Js(1.0))) + @Js + def PyJs_next_43_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'next':PyJs_next_43_}, var) + var.registers([]) + while (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))=Js(0.0)): + try: + var.put(u'entry', var.get(u"this").get(u'tryEntries').get(var.get(u'i'))) + var.put(u'record', var.get(u'entry').get(u'completion')) + if PyJsStrictEq(var.get(u'entry').get(u'tryLoc'),Js(u'root')): + return var.get(u'handle')(Js(u'end')) + if (var.get(u'entry').get(u'tryLoc')<=var.get(u"this").get(u'prev')): + var.put(u'hasCatch', var.get(u'hasOwn').callprop(u'call', var.get(u'entry'), Js(u'catchLoc'))) + var.put(u'hasFinally', var.get(u'hasOwn').callprop(u'call', var.get(u'entry'), Js(u'finallyLoc'))) + if (var.get(u'hasCatch') and var.get(u'hasFinally')): + if (var.get(u"this").get(u'prev')=Js(0.0)): + try: + var.put(u'entry', var.get(u"this").get(u'tryEntries').get(var.get(u'i'))) + if (((var.get(u'entry').get(u'tryLoc')<=var.get(u"this").get(u'prev')) and var.get(u'hasOwn').callprop(u'call', var.get(u'entry'), Js(u'finallyLoc'))) and (var.get(u"this").get(u'prev')=Js(0.0)): + try: + var.put(u'entry', var.get(u"this").get(u'tryEntries').get(var.get(u'i'))) + if PyJsStrictEq(var.get(u'entry').get(u'finallyLoc'),var.get(u'finallyLoc')): + var.get(u"this").callprop(u'complete', var.get(u'entry').get(u'completion'), var.get(u'entry').get(u'afterLoc')) + var.get(u'resetTryEntry')(var.get(u'entry')) + return var.get(u'ContinueSentinel') + finally: + var.put(u'i',Js(var.get(u'i').to_number())-Js(1)) + PyJs_finish_53_._set_name(u'finish') + @Js + def PyJs__catch_54_(tryLoc, this, arguments, var=var): + var = Scope({u'this':this, u'_catch':PyJs__catch_54_, u'tryLoc':tryLoc, u'arguments':arguments}, var) + var.registers([u'i', u'entry', u'thrown', u'tryLoc', u'record']) + #for JS loop + var.put(u'i', (var.get(u"this").get(u'tryEntries').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'tryEntries').get(var.get(u'i'))) + if PyJsStrictEq(var.get(u'entry').get(u'tryLoc'),var.get(u'tryLoc')): + var.put(u'record', var.get(u'entry').get(u'completion')) + if PyJsStrictEq(var.get(u'record').get(u'type'),Js(u'throw')): + var.put(u'thrown', var.get(u'record').get(u'arg')) + var.get(u'resetTryEntry')(var.get(u'entry')) + return var.get(u'thrown') + finally: + var.put(u'i',Js(var.get(u'i').to_number())-Js(1)) + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'illegal catch attempt'))) + raise PyJsTempException + PyJs__catch_54_._set_name(u'_catch') + @Js + def PyJs_delegateYield_55_(iterable, resultName, nextLoc, this, arguments, var=var): + var = Scope({u'this':this, u'resultName':resultName, u'delegateYield':PyJs_delegateYield_55_, u'arguments':arguments, u'nextLoc':nextLoc, u'iterable':iterable}, var) + var.registers([u'nextLoc', u'resultName', u'iterable']) + PyJs_Object_56_ = Js({u'iterator':var.get(u'values')(var.get(u'iterable')),u'resultName':var.get(u'resultName'),u'nextLoc':var.get(u'nextLoc')}) + var.get(u"this").put(u'delegate', PyJs_Object_56_) + if PyJsStrictEq(var.get(u"this").get(u'method'),Js(u'next')): + var.get(u"this").put(u'arg', var.get(u'undefined')) + return var.get(u'ContinueSentinel') + PyJs_delegateYield_55_._set_name(u'delegateYield') + PyJs_Object_46_ = Js({u'constructor':var.get(u'Context'),u'reset':PyJs_reset_47_,u'stop':PyJs_stop_48_,u'dispatchException':PyJs_dispatchException_49_,u'abrupt':PyJs_abrupt_50_,u'complete':PyJs_complete_52_,u'finish':PyJs_finish_53_,u'catch':PyJs__catch_54_,u'delegateYield':PyJs_delegateYield_55_}) + var.get(u'Context').put(u'prototype', PyJs_Object_46_) + PyJs_anonymous_13_._set_name(u'anonymous') + PyJs_anonymous_13_(PyJs_LONG_12_()).neg() + PyJs_anonymous_11_._set_name(u'anonymous') + PyJs_anonymous_11_.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_10_)))) +PyJs_anonymous_9_._set_name(u'anonymous') +PyJs_Object_57_ = Js({}) +@Js +def PyJs_anonymous_58_(require, module, exports, this, 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_59_(process, this, arguments, var=var): + var = Scope({u'process':process, u'this':this, u'arguments':arguments}, var) + var.registers([u'_iteratorNormalCompletion', u'process', u'isSimpleWindowsTerm', u'ansiStyles', u'_ret3', u'_iteratorError', u'levelMapping', u'_loop3', u'_loop2', u'skipModels', u'_loop', u'proto', u'_iteratorError2', u'_iteratorError3', u'_step3', u'chalkTag', u'applyOptions', u'_step2', u'build', u'template', u'_didIteratorError2', u'_didIteratorError3', u'styles', u'escapeStringRegexp', u'applyStyle', u'_didIteratorError', u'Chalk', u'_iterator', u'stdoutColor', u'_iteratorNormalCompletion2', u'_iteratorNormalCompletion3', u'_step', u'_ret2', u'_iterator3', u'_iterator2']) + @Js + def PyJsHoisted_Chalk_(options, this, arguments, var=var): + var = Scope({u'this':this, u'options':options, u'arguments':arguments}, var) + var.registers([u'chalk', u'options']) + if ((var.get(u"this").neg() or var.get(u"this").instanceof(var.get(u'Chalk')).neg()) or var.get(u"this").get(u'template')): + PyJs_Object_61_ = Js({}) + var.put(u'chalk', PyJs_Object_61_) + var.get(u'applyOptions')(var.get(u'chalk'), var.get(u'options')) + @Js + def PyJs_anonymous_62_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'args']) + var.put(u'args', Js([]).get(u'slice').callprop(u'call', var.get(u'arguments'))) + return var.get(u'chalkTag').callprop(u'apply', var.get(u"null"), Js([var.get(u'chalk').get(u'template')]).callprop(u'concat', var.get(u'args'))) + PyJs_anonymous_62_._set_name(u'anonymous') + var.get(u'chalk').put(u'template', PyJs_anonymous_62_) + var.get(u'Object').callprop(u'setPrototypeOf', var.get(u'chalk'), var.get(u'Chalk').get(u'prototype')) + var.get(u'Object').callprop(u'setPrototypeOf', var.get(u'chalk').get(u'template'), var.get(u'chalk')) + var.get(u'chalk').get(u'template').put(u'constructor', var.get(u'Chalk')) + return var.get(u'chalk').get(u'template') + var.get(u'applyOptions')(var.get(u"this"), var.get(u'options')) + 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'_iteratorNormalCompletion4', u'code', u'args', u'_iteratorError4', u'originalDim', u'_step4', u'str', u'_iterator4', u'argsLen', u'_didIteratorError4']) + var.put(u'args', var.get(u'arguments')) + var.put(u'argsLen', var.get(u'args').get(u'length')) + var.put(u'str', var.get(u'String')(var.get(u'arguments').get(u'0'))) + if PyJsStrictEq(var.get(u'argsLen'),Js(0.0)): + return Js(u'') + 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)))) + PyJsHoisted_applyOptions_.func_name = u'applyOptions' + var.put(u'applyOptions', PyJsHoisted_applyOptions_) + @Js + def PyJsHoisted_build_(_styles, _empty, key, this, arguments, var=var): + var = Scope({u'this':this, u'_styles':_styles, u'_empty':_empty, u'arguments':arguments, u'key':key}, var) + var.registers([u'builder', u'_empty', u'self', u'key', u'_styles']) + @Js + def PyJs_builder_79_(this, arguments, var=var): + var = Scope({u'this':this, u'builder':PyJs_builder_79_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'applyStyle').callprop(u'apply', var.get(u'builder'), var.get(u'arguments')) + PyJs_builder_79_._set_name(u'builder') + var.put(u'builder', PyJs_builder_79_) + var.get(u'builder').put(u'_styles', var.get(u'_styles')) + var.get(u'builder').put(u'_empty', var.get(u'_empty')) + var.put(u'self', var.get(u"this")) + @Js + def PyJs_get_81_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_81_}, var) + var.registers([]) + return var.get(u'self').get(u'level') + PyJs_get_81_._set_name(u'get') + @Js + def PyJs_set_82_(level, this, arguments, var=var): + var = Scope({u'this':this, u'set':PyJs_set_82_, u'arguments':arguments, u'level':level}, var) + var.registers([u'level']) + var.get(u'self').put(u'level', var.get(u'level')) + PyJs_set_82_._set_name(u'set') + PyJs_Object_80_ = Js({u'enumerable':Js(True),u'get':PyJs_get_81_,u'set':PyJs_set_82_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'builder'), Js(u'level'), PyJs_Object_80_) + @Js + def PyJs_get_84_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_84_}, var) + var.registers([]) + return var.get(u'self').get(u'enabled') + PyJs_get_84_._set_name(u'get') + @Js + def PyJs_set_85_(enabled, this, arguments, var=var): + var = Scope({u'this':this, u'set':PyJs_set_85_, u'enabled':enabled, u'arguments':arguments}, var) + var.registers([u'enabled']) + var.get(u'self').put(u'enabled', var.get(u'enabled')) + PyJs_set_85_._set_name(u'set') + PyJs_Object_83_ = Js({u'enumerable':Js(True),u'get':PyJs_get_84_,u'set':PyJs_set_85_}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'builder'), Js(u'enabled'), PyJs_Object_83_) + var.get(u'builder').put(u'hasGrey', ((var.get(u"this").get(u'hasGrey') or PyJsStrictEq(var.get(u'key'),Js(u'gray'))) or PyJsStrictEq(var.get(u'key'),Js(u'grey')))) + var.get(u'builder').put(u'__proto__', var.get(u'proto')) + return var.get(u'builder') + PyJsHoisted_build_.func_name = u'build' + var.put(u'build', PyJsHoisted_build_) + @Js + def PyJsHoisted_chalkTag_(chalk, strings, this, arguments, var=var): + var = Scope({u'chalk':chalk, u'this':this, u'strings':strings, u'arguments':arguments}, var) + var.registers([u'i', u'chalk', u'args', u'parts', u'strings']) + if var.get(u'Array').callprop(u'isArray', var.get(u'strings')).neg(): + return Js([]).get(u'slice').callprop(u'call', var.get(u'arguments'), Js(1.0)).callprop(u'join', Js(u' ')) + var.put(u'args', Js([]).get(u'slice').callprop(u'call', var.get(u'arguments'), Js(2.0))) + var.put(u'parts', Js([var.get(u'strings').get(u'raw').get(u'0')])) + #for JS loop + var.put(u'i', Js(1.0)) + while (var.get(u'i')Js(0.0)): + var.put(u'current', var.get(u'current').get(var.get(u'styleName')).callprop(u'apply', var.get(u'current'), var.get(u'enabled').get(var.get(u'styleName')))) + else: + var.put(u'current', var.get(u'current').get(var.get(u'styleName'))) + finally: + var.put(u'_iteratorNormalCompletion10', Js(True)) + except PyJsException as PyJsTempException: + PyJsHolder_657272_36032491 = var.own.get(u'err') + var.force_own_put(u'err', PyExceptionToJs(PyJsTempException)) + try: + var.put(u'_didIteratorError10', Js(True)) + var.put(u'_iteratorError10', var.get(u'err')) + finally: + if PyJsHolder_657272_36032491 is not None: + var.own[u'err'] = PyJsHolder_657272_36032491 + else: + del var.own[u'err'] + del PyJsHolder_657272_36032491 + finally: + try: + if (var.get(u'_iteratorNormalCompletion10').neg() and var.get(u'_iterator10').get(u'return')): + var.get(u'_iterator10').callprop(u'return') + finally: + if var.get(u'_didIteratorError10'): + PyJsTempException = JsToPyException(var.get(u'_iteratorError10')) + raise PyJsTempException + return var.get(u'current') + PyJsHoisted_buildStyle_.func_name = u'buildStyle' + var.put(u'buildStyle', PyJsHoisted_buildStyle_) + Js(u'use strict') + var.put(u'TEMPLATE_REGEX', JsRegExp(u'/(?:\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi')) + var.put(u'STYLE_REGEX', JsRegExp(u'/(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g')) + var.put(u'STRING_REGEX', JsRegExp(u'/^([\'"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/')) + var.put(u'ESCAPE_REGEX', JsRegExp(u'/\\\\(u[a-f\\d]{4}|x[a-f\\d]{2}|.)|([^\\\\])/gi')) + var.put(u'ESCAPES', var.get(u'Map').create(Js([Js([Js(u'n'), Js(u'\n')]), Js([Js(u'r'), Js(u'\r')]), Js([Js(u't'), Js(u'\t')]), Js([Js(u'b'), Js(u'\x08')]), Js([Js(u'f'), Js(u'\x0c')]), Js([Js(u'v'), Js(u'\x0b')]), Js([Js(u'0'), Js(u'\x00')]), Js([Js(u'\\'), Js(u'\\')]), Js([Js(u'e'), Js(u'\x1b')]), Js([Js(u'a'), Js(u'\x07')])]))) + pass + pass + pass + pass + @Js + def PyJs_anonymous_117_(chalk, tmp, this, arguments, var=var): + var = Scope({u'chalk':chalk, u'tmp':tmp, u'this':this, u'arguments':arguments}, var) + var.registers([u'styles', u'tmp', u'chunk', u'chalk', u'chunks', u'errMsg']) + var.put(u'styles', Js([])) + var.put(u'chunks', Js([])) + var.put(u'chunk', Js([])) + @Js + def PyJs_anonymous_118_(m, escapeChar, inverse, style, close, chr, this, arguments, var=var): + var = Scope({u'style':style, u'inverse':inverse, u'this':this, u'm':m, u'chr':chr, u'escapeChar':escapeChar, u'arguments':arguments, u'close':close}, var) + var.registers([u'style', u'inverse', u'm', u'chr', u'escapeChar', u'str', u'close']) + if var.get(u'escapeChar'): + var.get(u'chunk').callprop(u'push', var.get(u'unescape')(var.get(u'escapeChar'))) + else: + if var.get(u'style'): + var.put(u'str', var.get(u'chunk').callprop(u'join', Js(u''))) + var.put(u'chunk', Js([])) + var.get(u'chunks').callprop(u'push', (var.get(u'str') if PyJsStrictEq(var.get(u'styles').get(u'length'),Js(0.0)) else var.get(u'buildStyle')(var.get(u'chalk'), var.get(u'styles'))(var.get(u'str')))) + PyJs_Object_119_ = Js({u'inverse':var.get(u'inverse'),u'styles':var.get(u'parseStyle')(var.get(u'style'))}) + var.get(u'styles').callprop(u'push', PyJs_Object_119_) + else: + if var.get(u'close'): + if PyJsStrictEq(var.get(u'styles').get(u'length'),Js(0.0)): + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'Found extraneous } in Chalk template literal'))) + raise PyJsTempException + var.get(u'chunks').callprop(u'push', var.get(u'buildStyle')(var.get(u'chalk'), var.get(u'styles'))(var.get(u'chunk').callprop(u'join', Js(u'')))) + var.put(u'chunk', Js([])) + var.get(u'styles').callprop(u'pop') + else: + var.get(u'chunk').callprop(u'push', var.get(u'chr')) + PyJs_anonymous_118_._set_name(u'anonymous') + var.get(u'tmp').callprop(u'replace', var.get(u'TEMPLATE_REGEX'), PyJs_anonymous_118_) + var.get(u'chunks').callprop(u'push', var.get(u'chunk').callprop(u'join', Js(u''))) + if (var.get(u'styles').get(u'length')>Js(0.0)): + var.put(u'errMsg', ((((Js(u'Chalk template literal is missing ')+var.get(u'styles').get(u'length'))+Js(u' closing bracket'))+(Js(u'') if PyJsStrictEq(var.get(u'styles').get(u'length'),Js(1.0)) else Js(u's')))+Js(u' (`}`)'))) + PyJsTempException = JsToPyException(var.get(u'Error').create(var.get(u'errMsg'))) + raise PyJsTempException + return var.get(u'chunks').callprop(u'join', Js(u'')) + PyJs_anonymous_117_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_117_) +PyJs_anonymous_114_._set_name(u'anonymous') +PyJs_Object_120_ = Js({}) +@Js +def PyJs_anonymous_121_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'comparativeDistance', u'convert', u'reverseKeywords', u'require', u'labels', u'exports', u'module', u'channels', u'cssKeywords', u'key', u'model']) + @Js + def PyJsHoisted_comparativeDistance_(x, y, this, arguments, var=var): + var = Scope({u'y':y, u'x':x, u'this':this, u'arguments':arguments}, var) + var.registers([u'y', u'x']) + return ((var.get(u'Math').callprop(u'pow', (var.get(u'x').get(u'0')-var.get(u'y').get(u'0')), Js(2.0))+var.get(u'Math').callprop(u'pow', (var.get(u'x').get(u'1')-var.get(u'y').get(u'1')), Js(2.0)))+var.get(u'Math').callprop(u'pow', (var.get(u'x').get(u'2')-var.get(u'y').get(u'2')), Js(2.0))) + PyJsHoisted_comparativeDistance_.func_name = u'comparativeDistance' + var.put(u'comparativeDistance', PyJsHoisted_comparativeDistance_) + var.put(u'cssKeywords', var.get(u'require')(Js(u'color-name'))) + PyJs_Object_122_ = Js({}) + var.put(u'reverseKeywords', PyJs_Object_122_) + for PyJsTemp in var.get(u'cssKeywords'): + var.put(u'key', PyJsTemp) + if var.get(u'cssKeywords').callprop(u'hasOwnProperty', var.get(u'key')): + var.get(u'reverseKeywords').put(var.get(u'cssKeywords').get(var.get(u'key')), var.get(u'key')) + PyJs_Object_124_ = Js({u'channels':Js(3.0),u'labels':Js(u'rgb')}) + PyJs_Object_125_ = Js({u'channels':Js(3.0),u'labels':Js(u'hsl')}) + PyJs_Object_126_ = Js({u'channels':Js(3.0),u'labels':Js(u'hsv')}) + PyJs_Object_127_ = Js({u'channels':Js(3.0),u'labels':Js(u'hwb')}) + PyJs_Object_128_ = Js({u'channels':Js(4.0),u'labels':Js(u'cmyk')}) + PyJs_Object_129_ = Js({u'channels':Js(3.0),u'labels':Js(u'xyz')}) + PyJs_Object_130_ = Js({u'channels':Js(3.0),u'labels':Js(u'lab')}) + PyJs_Object_131_ = Js({u'channels':Js(3.0),u'labels':Js(u'lch')}) + PyJs_Object_132_ = Js({u'channels':Js(1.0),u'labels':Js([Js(u'hex')])}) + PyJs_Object_133_ = Js({u'channels':Js(1.0),u'labels':Js([Js(u'keyword')])}) + PyJs_Object_134_ = Js({u'channels':Js(1.0),u'labels':Js([Js(u'ansi16')])}) + PyJs_Object_135_ = Js({u'channels':Js(1.0),u'labels':Js([Js(u'ansi256')])}) + PyJs_Object_136_ = Js({u'channels':Js(3.0),u'labels':Js([Js(u'h'), Js(u'c'), Js(u'g')])}) + PyJs_Object_137_ = Js({u'channels':Js(3.0),u'labels':Js([Js(u'r16'), Js(u'g16'), Js(u'b16')])}) + PyJs_Object_138_ = Js({u'channels':Js(1.0),u'labels':Js([Js(u'gray')])}) + PyJs_Object_123_ = Js({u'rgb':PyJs_Object_124_,u'hsl':PyJs_Object_125_,u'hsv':PyJs_Object_126_,u'hwb':PyJs_Object_127_,u'cmyk':PyJs_Object_128_,u'xyz':PyJs_Object_129_,u'lab':PyJs_Object_130_,u'lch':PyJs_Object_131_,u'hex':PyJs_Object_132_,u'keyword':PyJs_Object_133_,u'ansi16':PyJs_Object_134_,u'ansi256':PyJs_Object_135_,u'hcg':PyJs_Object_136_,u'apple':PyJs_Object_137_,u'gray':PyJs_Object_138_}) + var.put(u'convert', var.get(u'module').put(u'exports', PyJs_Object_123_)) + for PyJsTemp in var.get(u'convert'): + var.put(u'model', PyJsTemp) + if var.get(u'convert').callprop(u'hasOwnProperty', var.get(u'model')): + if var.get(u'convert').get(var.get(u'model')).contains(Js(u'channels')).neg(): + PyJsTempException = JsToPyException(var.get(u'Error').create((Js(u'missing channels property: ')+var.get(u'model')))) + raise PyJsTempException + if var.get(u'convert').get(var.get(u'model')).contains(Js(u'labels')).neg(): + PyJsTempException = JsToPyException(var.get(u'Error').create((Js(u'missing channel labels property: ')+var.get(u'model')))) + raise PyJsTempException + if PyJsStrictNeq(var.get(u'convert').get(var.get(u'model')).get(u'labels').get(u'length'),var.get(u'convert').get(var.get(u'model')).get(u'channels')): + PyJsTempException = JsToPyException(var.get(u'Error').create((Js(u'channel and label counts mismatch: ')+var.get(u'model')))) + raise PyJsTempException + var.put(u'channels', var.get(u'convert').get(var.get(u'model')).get(u'channels')) + var.put(u'labels', var.get(u'convert').get(var.get(u'model')).get(u'labels')) + var.get(u'convert').get(var.get(u'model')).delete(u'channels') + var.get(u'convert').get(var.get(u'model')).delete(u'labels') + PyJs_Object_139_ = Js({u'value':var.get(u'channels')}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'convert').get(var.get(u'model')), Js(u'channels'), PyJs_Object_139_) + PyJs_Object_140_ = Js({u'value':var.get(u'labels')}) + var.get(u'Object').callprop(u'defineProperty', var.get(u'convert').get(var.get(u'model')), Js(u'labels'), PyJs_Object_140_) + @Js + def PyJs_anonymous_141_(rgb, this, arguments, var=var): + var = Scope({u'this':this, u'rgb':rgb, u'arguments':arguments}, var) + var.registers([u'b', u'g', u'min', u'max', u'l', u's', u'r', u'rgb', u'delta', u'h']) + var.put(u'r', (var.get(u'rgb').get(u'0')/Js(255.0))) + var.put(u'g', (var.get(u'rgb').get(u'1')/Js(255.0))) + var.put(u'b', (var.get(u'rgb').get(u'2')/Js(255.0))) + var.put(u'min', var.get(u'Math').callprop(u'min', var.get(u'r'), var.get(u'g'), var.get(u'b'))) + var.put(u'max', var.get(u'Math').callprop(u'max', var.get(u'r'), var.get(u'g'), var.get(u'b'))) + var.put(u'delta', (var.get(u'max')-var.get(u'min'))) + pass + pass + pass + if PyJsStrictEq(var.get(u'max'),var.get(u'min')): + var.put(u'h', Js(0.0)) + else: + if PyJsStrictEq(var.get(u'r'),var.get(u'max')): + var.put(u'h', ((var.get(u'g')-var.get(u'b'))/var.get(u'delta'))) + else: + if PyJsStrictEq(var.get(u'g'),var.get(u'max')): + var.put(u'h', (Js(2.0)+((var.get(u'b')-var.get(u'r'))/var.get(u'delta')))) + else: + if PyJsStrictEq(var.get(u'b'),var.get(u'max')): + var.put(u'h', (Js(4.0)+((var.get(u'r')-var.get(u'g'))/var.get(u'delta')))) + var.put(u'h', var.get(u'Math').callprop(u'min', (var.get(u'h')*Js(60.0)), Js(360.0))) + if (var.get(u'h')Js(1.0)): + var.put(u'h', Js(1.0), u'-') + return Js([(var.get(u'h')*Js(360.0)), (var.get(u's')*Js(100.0)), (var.get(u'v')*Js(100.0))]) + PyJs_anonymous_142_._set_name(u'anonymous') + var.get(u'convert').get(u'rgb').put(u'hsv', PyJs_anonymous_142_) + @Js + def PyJs_anonymous_144_(rgb, this, arguments, var=var): + var = Scope({u'this':this, u'rgb':rgb, u'arguments':arguments}, var) + var.registers([u'b', u'g', u'h', u'rgb', u'r', u'w']) + var.put(u'r', var.get(u'rgb').get(u'0')) + var.put(u'g', var.get(u'rgb').get(u'1')) + var.put(u'b', var.get(u'rgb').get(u'2')) + var.put(u'h', var.get(u'convert').get(u'rgb').callprop(u'hsl', var.get(u'rgb')).get(u'0')) + var.put(u'w', ((Js(1.0)/Js(255.0))*var.get(u'Math').callprop(u'min', var.get(u'r'), var.get(u'Math').callprop(u'min', var.get(u'g'), var.get(u'b'))))) + var.put(u'b', (Js(1.0)-((Js(1.0)/Js(255.0))*var.get(u'Math').callprop(u'max', var.get(u'r'), var.get(u'Math').callprop(u'max', var.get(u'g'), var.get(u'b')))))) + return Js([var.get(u'h'), (var.get(u'w')*Js(100.0)), (var.get(u'b')*Js(100.0))]) + PyJs_anonymous_144_._set_name(u'anonymous') + var.get(u'convert').get(u'rgb').put(u'hwb', PyJs_anonymous_144_) + @Js + def PyJs_anonymous_145_(rgb, this, arguments, var=var): + var = Scope({u'this':this, u'rgb':rgb, u'arguments':arguments}, var) + var.registers([u'c', u'b', u'g', u'k', u'm', u'rgb', u'r', u'y']) + var.put(u'r', (var.get(u'rgb').get(u'0')/Js(255.0))) + var.put(u'g', (var.get(u'rgb').get(u'1')/Js(255.0))) + var.put(u'b', (var.get(u'rgb').get(u'2')/Js(255.0))) + pass + pass + pass + pass + var.put(u'k', var.get(u'Math').callprop(u'min', (Js(1.0)-var.get(u'r')), (Js(1.0)-var.get(u'g')), (Js(1.0)-var.get(u'b')))) + var.put(u'c', ((((Js(1.0)-var.get(u'r'))-var.get(u'k'))/(Js(1.0)-var.get(u'k'))) or Js(0.0))) + var.put(u'm', ((((Js(1.0)-var.get(u'g'))-var.get(u'k'))/(Js(1.0)-var.get(u'k'))) or Js(0.0))) + var.put(u'y', ((((Js(1.0)-var.get(u'b'))-var.get(u'k'))/(Js(1.0)-var.get(u'k'))) or Js(0.0))) + return Js([(var.get(u'c')*Js(100.0)), (var.get(u'm')*Js(100.0)), (var.get(u'y')*Js(100.0)), (var.get(u'k')*Js(100.0))]) + PyJs_anonymous_145_._set_name(u'anonymous') + var.get(u'convert').get(u'rgb').put(u'cmyk', PyJs_anonymous_145_) + pass + @Js + def PyJs_anonymous_146_(rgb, this, arguments, var=var): + var = Scope({u'this':this, u'rgb':rgb, u'arguments':arguments}, var) + var.registers([u'distance', u'keyword', u'currentClosestKeyword', u'reversed', u'currentClosestDistance', u'value', u'rgb']) + var.put(u'reversed', var.get(u'reverseKeywords').get(var.get(u'rgb'))) + if var.get(u'reversed'): + return var.get(u'reversed') + var.put(u'currentClosestDistance', var.get(u'Infinity')) + pass + for PyJsTemp in var.get(u'cssKeywords'): + var.put(u'keyword', PyJsTemp) + if var.get(u'cssKeywords').callprop(u'hasOwnProperty', var.get(u'keyword')): + var.put(u'value', var.get(u'cssKeywords').get(var.get(u'keyword'))) + var.put(u'distance', var.get(u'comparativeDistance')(var.get(u'rgb'), var.get(u'value'))) + if (var.get(u'distance')Js(0.04045)) else (var.get(u'r')/Js(12.92)))) + var.put(u'g', (var.get(u'Math').callprop(u'pow', ((var.get(u'g')+Js(0.055))/Js(1.055)), Js(2.4)) if (var.get(u'g')>Js(0.04045)) else (var.get(u'g')/Js(12.92)))) + var.put(u'b', (var.get(u'Math').callprop(u'pow', ((var.get(u'b')+Js(0.055))/Js(1.055)), Js(2.4)) if (var.get(u'b')>Js(0.04045)) else (var.get(u'b')/Js(12.92)))) + var.put(u'x', (((var.get(u'r')*Js(0.4124))+(var.get(u'g')*Js(0.3576)))+(var.get(u'b')*Js(0.1805)))) + var.put(u'y', (((var.get(u'r')*Js(0.2126))+(var.get(u'g')*Js(0.7152)))+(var.get(u'b')*Js(0.0722)))) + var.put(u'z', (((var.get(u'r')*Js(0.0193))+(var.get(u'g')*Js(0.1192)))+(var.get(u'b')*Js(0.9505)))) + return Js([(var.get(u'x')*Js(100.0)), (var.get(u'y')*Js(100.0)), (var.get(u'z')*Js(100.0))]) + PyJs_anonymous_148_._set_name(u'anonymous') + var.get(u'convert').get(u'rgb').put(u'xyz', PyJs_anonymous_148_) + @Js + def PyJs_anonymous_149_(rgb, this, arguments, var=var): + var = Scope({u'this':this, u'rgb':rgb, u'arguments':arguments}, var) + var.registers([u'a', u'b', u'xyz', u'l', u'rgb', u'y', u'x', u'z']) + var.put(u'xyz', var.get(u'convert').get(u'rgb').callprop(u'xyz', var.get(u'rgb'))) + var.put(u'x', var.get(u'xyz').get(u'0')) + var.put(u'y', var.get(u'xyz').get(u'1')) + var.put(u'z', var.get(u'xyz').get(u'2')) + pass + pass + pass + var.put(u'x', Js(95.047), u'/') + var.put(u'y', Js(100.0), u'/') + var.put(u'z', Js(108.883), u'/') + var.put(u'x', (var.get(u'Math').callprop(u'pow', var.get(u'x'), (Js(1.0)/Js(3.0))) if (var.get(u'x')>Js(0.008856)) else ((Js(7.787)*var.get(u'x'))+(Js(16.0)/Js(116.0))))) + var.put(u'y', (var.get(u'Math').callprop(u'pow', var.get(u'y'), (Js(1.0)/Js(3.0))) if (var.get(u'y')>Js(0.008856)) else ((Js(7.787)*var.get(u'y'))+(Js(16.0)/Js(116.0))))) + var.put(u'z', (var.get(u'Math').callprop(u'pow', var.get(u'z'), (Js(1.0)/Js(3.0))) if (var.get(u'z')>Js(0.008856)) else ((Js(7.787)*var.get(u'z'))+(Js(16.0)/Js(116.0))))) + var.put(u'l', ((Js(116.0)*var.get(u'y'))-Js(16.0))) + var.put(u'a', (Js(500.0)*(var.get(u'x')-var.get(u'y')))) + var.put(u'b', (Js(200.0)*(var.get(u'y')-var.get(u'z')))) + return Js([var.get(u'l'), var.get(u'a'), var.get(u'b')]) + PyJs_anonymous_149_._set_name(u'anonymous') + var.get(u'convert').get(u'rgb').put(u'lab', PyJs_anonymous_149_) + @Js + def PyJs_anonymous_150_(hsl, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'hsl':hsl}, var) + var.registers([u'val', u'i', u'h', u't2', u't3', u'hsl', u'l', u's', u'rgb', u't1']) + var.put(u'h', (var.get(u'hsl').get(u'0')/Js(360.0))) + var.put(u's', (var.get(u'hsl').get(u'1')/Js(100.0))) + var.put(u'l', (var.get(u'hsl').get(u'2')/Js(100.0))) + pass + pass + pass + pass + pass + if PyJsStrictEq(var.get(u's'),Js(0.0)): + var.put(u'val', (var.get(u'l')*Js(255.0))) + return Js([var.get(u'val'), var.get(u'val'), var.get(u'val')]) + if (var.get(u'l')Js(1.0)): + (var.put(u't3',Js(var.get(u't3').to_number())-Js(1))+Js(1)) + if ((Js(6.0)*var.get(u't3'))Js(1.0)): + var.put(u'wh', var.get(u'ratio'), u'/') + var.put(u'bl', var.get(u'ratio'), u'/') + var.put(u'i', var.get(u'Math').callprop(u'floor', (Js(6.0)*var.get(u'h')))) + var.put(u'v', (Js(1.0)-var.get(u'bl'))) + var.put(u'f', ((Js(6.0)*var.get(u'h'))-var.get(u'i'))) + if PyJsStrictNeq((var.get(u'i')&Js(1)),Js(0.0)): + var.put(u'f', (Js(1.0)-var.get(u'f'))) + var.put(u'n', (var.get(u'wh')+(var.get(u'f')*(var.get(u'v')-var.get(u'wh'))))) + pass + pass + pass + while 1: + SWITCHED = False + CONDITION = (var.get(u'i')) + if True: + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(6.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(0.0)): + SWITCHED = True + var.put(u'r', var.get(u'v')) + var.put(u'g', var.get(u'n')) + var.put(u'b', var.get(u'wh')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(1.0)): + SWITCHED = True + var.put(u'r', var.get(u'n')) + var.put(u'g', var.get(u'v')) + var.put(u'b', var.get(u'wh')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(2.0)): + SWITCHED = True + var.put(u'r', var.get(u'wh')) + var.put(u'g', var.get(u'v')) + var.put(u'b', var.get(u'n')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + var.put(u'r', var.get(u'wh')) + var.put(u'g', var.get(u'n')) + var.put(u'b', var.get(u'v')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(4.0)): + SWITCHED = True + var.put(u'r', var.get(u'n')) + var.put(u'g', var.get(u'wh')) + var.put(u'b', var.get(u'v')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(5.0)): + SWITCHED = True + var.put(u'r', var.get(u'v')) + var.put(u'g', var.get(u'wh')) + var.put(u'b', var.get(u'n')) + break + SWITCHED = True + break + return Js([(var.get(u'r')*Js(255.0)), (var.get(u'g')*Js(255.0)), (var.get(u'b')*Js(255.0))]) + PyJs_anonymous_154_._set_name(u'anonymous') + var.get(u'convert').get(u'hwb').put(u'rgb', PyJs_anonymous_154_) + @Js + def PyJs_anonymous_155_(cmyk, this, arguments, var=var): + var = Scope({u'cmyk':cmyk, u'this':this, u'arguments':arguments}, var) + var.registers([u'c', u'b', u'g', u'k', u'm', u'cmyk', u'r', u'y']) + var.put(u'c', (var.get(u'cmyk').get(u'0')/Js(100.0))) + var.put(u'm', (var.get(u'cmyk').get(u'1')/Js(100.0))) + var.put(u'y', (var.get(u'cmyk').get(u'2')/Js(100.0))) + var.put(u'k', (var.get(u'cmyk').get(u'3')/Js(100.0))) + pass + pass + pass + var.put(u'r', (Js(1.0)-var.get(u'Math').callprop(u'min', Js(1.0), ((var.get(u'c')*(Js(1.0)-var.get(u'k')))+var.get(u'k'))))) + var.put(u'g', (Js(1.0)-var.get(u'Math').callprop(u'min', Js(1.0), ((var.get(u'm')*(Js(1.0)-var.get(u'k')))+var.get(u'k'))))) + var.put(u'b', (Js(1.0)-var.get(u'Math').callprop(u'min', Js(1.0), ((var.get(u'y')*(Js(1.0)-var.get(u'k')))+var.get(u'k'))))) + return Js([(var.get(u'r')*Js(255.0)), (var.get(u'g')*Js(255.0)), (var.get(u'b')*Js(255.0))]) + PyJs_anonymous_155_._set_name(u'anonymous') + var.get(u'convert').get(u'cmyk').put(u'rgb', PyJs_anonymous_155_) + @Js + def PyJs_anonymous_156_(xyz, this, arguments, var=var): + var = Scope({u'this':this, u'xyz':xyz, u'arguments':arguments}, var) + var.registers([u'b', u'g', u'xyz', u'r', u'y', u'x', u'z']) + var.put(u'x', (var.get(u'xyz').get(u'0')/Js(100.0))) + var.put(u'y', (var.get(u'xyz').get(u'1')/Js(100.0))) + var.put(u'z', (var.get(u'xyz').get(u'2')/Js(100.0))) + pass + pass + pass + var.put(u'r', (((var.get(u'x')*Js(3.2406))+(var.get(u'y')*(-Js(1.5372))))+(var.get(u'z')*(-Js(0.4986))))) + var.put(u'g', (((var.get(u'x')*(-Js(0.9689)))+(var.get(u'y')*Js(1.8758)))+(var.get(u'z')*Js(0.0415)))) + var.put(u'b', (((var.get(u'x')*Js(0.0557))+(var.get(u'y')*(-Js(0.204))))+(var.get(u'z')*Js(1.057)))) + var.put(u'r', (((Js(1.055)*var.get(u'Math').callprop(u'pow', var.get(u'r'), (Js(1.0)/Js(2.4))))-Js(0.055)) if (var.get(u'r')>Js(0.0031308)) else (var.get(u'r')*Js(12.92)))) + var.put(u'g', (((Js(1.055)*var.get(u'Math').callprop(u'pow', var.get(u'g'), (Js(1.0)/Js(2.4))))-Js(0.055)) if (var.get(u'g')>Js(0.0031308)) else (var.get(u'g')*Js(12.92)))) + var.put(u'b', (((Js(1.055)*var.get(u'Math').callprop(u'pow', var.get(u'b'), (Js(1.0)/Js(2.4))))-Js(0.055)) if (var.get(u'b')>Js(0.0031308)) else (var.get(u'b')*Js(12.92)))) + var.put(u'r', var.get(u'Math').callprop(u'min', var.get(u'Math').callprop(u'max', Js(0.0), var.get(u'r')), Js(1.0))) + var.put(u'g', var.get(u'Math').callprop(u'min', var.get(u'Math').callprop(u'max', Js(0.0), var.get(u'g')), Js(1.0))) + var.put(u'b', var.get(u'Math').callprop(u'min', var.get(u'Math').callprop(u'max', Js(0.0), var.get(u'b')), Js(1.0))) + return Js([(var.get(u'r')*Js(255.0)), (var.get(u'g')*Js(255.0)), (var.get(u'b')*Js(255.0))]) + PyJs_anonymous_156_._set_name(u'anonymous') + var.get(u'convert').get(u'xyz').put(u'rgb', PyJs_anonymous_156_) + @Js + def PyJs_anonymous_157_(xyz, this, arguments, var=var): + var = Scope({u'this':this, u'xyz':xyz, u'arguments':arguments}, var) + var.registers([u'a', u'b', u'xyz', u'l', u'y', u'x', u'z']) + var.put(u'x', var.get(u'xyz').get(u'0')) + var.put(u'y', var.get(u'xyz').get(u'1')) + var.put(u'z', var.get(u'xyz').get(u'2')) + pass + pass + pass + var.put(u'x', Js(95.047), u'/') + var.put(u'y', Js(100.0), u'/') + var.put(u'z', Js(108.883), u'/') + var.put(u'x', (var.get(u'Math').callprop(u'pow', var.get(u'x'), (Js(1.0)/Js(3.0))) if (var.get(u'x')>Js(0.008856)) else ((Js(7.787)*var.get(u'x'))+(Js(16.0)/Js(116.0))))) + var.put(u'y', (var.get(u'Math').callprop(u'pow', var.get(u'y'), (Js(1.0)/Js(3.0))) if (var.get(u'y')>Js(0.008856)) else ((Js(7.787)*var.get(u'y'))+(Js(16.0)/Js(116.0))))) + var.put(u'z', (var.get(u'Math').callprop(u'pow', var.get(u'z'), (Js(1.0)/Js(3.0))) if (var.get(u'z')>Js(0.008856)) else ((Js(7.787)*var.get(u'z'))+(Js(16.0)/Js(116.0))))) + var.put(u'l', ((Js(116.0)*var.get(u'y'))-Js(16.0))) + var.put(u'a', (Js(500.0)*(var.get(u'x')-var.get(u'y')))) + var.put(u'b', (Js(200.0)*(var.get(u'y')-var.get(u'z')))) + return Js([var.get(u'l'), var.get(u'a'), var.get(u'b')]) + PyJs_anonymous_157_._set_name(u'anonymous') + var.get(u'convert').get(u'xyz').put(u'lab', PyJs_anonymous_157_) + @Js + def PyJs_anonymous_158_(lab, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'lab':lab}, var) + var.registers([u'a', u'b', u'y2', u'l', u'lab', u'x2', u'y', u'x', u'z', u'z2']) + var.put(u'l', var.get(u'lab').get(u'0')) + var.put(u'a', var.get(u'lab').get(u'1')) + var.put(u'b', var.get(u'lab').get(u'2')) + pass + pass + pass + var.put(u'y', ((var.get(u'l')+Js(16.0))/Js(116.0))) + var.put(u'x', ((var.get(u'a')/Js(500.0))+var.get(u'y'))) + var.put(u'z', (var.get(u'y')-(var.get(u'b')/Js(200.0)))) + var.put(u'y2', var.get(u'Math').callprop(u'pow', var.get(u'y'), Js(3.0))) + var.put(u'x2', var.get(u'Math').callprop(u'pow', var.get(u'x'), Js(3.0))) + var.put(u'z2', var.get(u'Math').callprop(u'pow', var.get(u'z'), Js(3.0))) + var.put(u'y', (var.get(u'y2') if (var.get(u'y2')>Js(0.008856)) else ((var.get(u'y')-(Js(16.0)/Js(116.0)))/Js(7.787)))) + var.put(u'x', (var.get(u'x2') if (var.get(u'x2')>Js(0.008856)) else ((var.get(u'x')-(Js(16.0)/Js(116.0)))/Js(7.787)))) + var.put(u'z', (var.get(u'z2') if (var.get(u'z2')>Js(0.008856)) else ((var.get(u'z')-(Js(16.0)/Js(116.0)))/Js(7.787)))) + var.put(u'x', Js(95.047), u'*') + var.put(u'y', Js(100.0), u'*') + var.put(u'z', Js(108.883), u'*') + return Js([var.get(u'x'), var.get(u'y'), var.get(u'z')]) + PyJs_anonymous_158_._set_name(u'anonymous') + var.get(u'convert').get(u'lab').put(u'xyz', PyJs_anonymous_158_) + @Js + def PyJs_anonymous_159_(lab, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'lab':lab}, var) + var.registers([u'a', u'c', u'b', u'hr', u'h', u'l', u'lab']) + var.put(u'l', var.get(u'lab').get(u'0')) + var.put(u'a', var.get(u'lab').get(u'1')) + var.put(u'b', var.get(u'lab').get(u'2')) + pass + pass + pass + var.put(u'hr', var.get(u'Math').callprop(u'atan2', var.get(u'b'), var.get(u'a'))) + var.put(u'h', (((var.get(u'hr')*Js(360.0))/Js(2.0))/var.get(u'Math').get(u'PI'))) + if (var.get(u'h')Js(248.0)): + return Js(231.0) + return (var.get(u'Math').callprop(u'round', (((var.get(u'r')-Js(8.0))/Js(247.0))*Js(24.0)))+Js(232.0)) + var.put(u'ansi', (((Js(16.0)+(Js(36.0)*var.get(u'Math').callprop(u'round', ((var.get(u'r')/Js(255.0))*Js(5.0)))))+(Js(6.0)*var.get(u'Math').callprop(u'round', ((var.get(u'g')/Js(255.0))*Js(5.0)))))+var.get(u'Math').callprop(u'round', ((var.get(u'b')/Js(255.0))*Js(5.0))))) + return var.get(u'ansi') + PyJs_anonymous_163_._set_name(u'anonymous') + var.get(u'convert').get(u'rgb').put(u'ansi256', PyJs_anonymous_163_) + @Js + def PyJs_anonymous_164_(args, this, arguments, var=var): + var = Scope({u'this':this, u'args':args, u'arguments':arguments}, var) + var.registers([u'b', u'g', u'color', u'args', u'r', u'mult']) + var.put(u'color', (var.get(u'args')%Js(10.0))) + if (PyJsStrictEq(var.get(u'color'),Js(0.0)) or PyJsStrictEq(var.get(u'color'),Js(7.0))): + if (var.get(u'args')>Js(50.0)): + var.put(u'color', Js(3.5), u'+') + var.put(u'color', ((var.get(u'color')/Js(10.5))*Js(255.0))) + return Js([var.get(u'color'), var.get(u'color'), var.get(u'color')]) + var.put(u'mult', (((~(~(var.get(u'args')>Js(50.0))))+Js(1.0))*Js(0.5))) + var.put(u'r', (((var.get(u'color')&Js(1.0))*var.get(u'mult'))*Js(255.0))) + var.put(u'g', ((((var.get(u'color')>>Js(1.0))&Js(1.0))*var.get(u'mult'))*Js(255.0))) + var.put(u'b', ((((var.get(u'color')>>Js(2.0))&Js(1.0))*var.get(u'mult'))*Js(255.0))) + return Js([var.get(u'r'), var.get(u'g'), var.get(u'b')]) + PyJs_anonymous_164_._set_name(u'anonymous') + var.get(u'convert').get(u'ansi16').put(u'rgb', PyJs_anonymous_164_) + @Js + def PyJs_anonymous_165_(args, this, arguments, var=var): + var = Scope({u'this':this, u'args':args, u'arguments':arguments}, var) + var.registers([u'c', u'b', u'g', u'args', u'r', u'rem']) + if (var.get(u'args')>=Js(232.0)): + var.put(u'c', (((var.get(u'args')-Js(232.0))*Js(10.0))+Js(8.0))) + return Js([var.get(u'c'), var.get(u'c'), var.get(u'c')]) + var.put(u'args', Js(16.0), u'-') + pass + var.put(u'r', ((var.get(u'Math').callprop(u'floor', (var.get(u'args')/Js(36.0)))/Js(5.0))*Js(255.0))) + var.put(u'g', ((var.get(u'Math').callprop(u'floor', (var.put(u'rem', (var.get(u'args')%Js(36.0)))/Js(6.0)))/Js(5.0))*Js(255.0))) + var.put(u'b', (((var.get(u'rem')%Js(6.0))/Js(5.0))*Js(255.0))) + return Js([var.get(u'r'), var.get(u'g'), var.get(u'b')]) + PyJs_anonymous_165_._set_name(u'anonymous') + var.get(u'convert').get(u'ansi256').put(u'rgb', PyJs_anonymous_165_) + @Js + def PyJs_anonymous_166_(args, this, arguments, var=var): + var = Scope({u'this':this, u'args':args, u'arguments':arguments}, var) + var.registers([u'integer', u'args', u'string']) + var.put(u'integer', ((((var.get(u'Math').callprop(u'round', var.get(u'args').get(u'0'))&Js(255))<>Js(16.0))&Js(255))) + var.put(u'g', ((var.get(u'integer')>>Js(8.0))&Js(255))) + var.put(u'b', (var.get(u'integer')&Js(255))) + return Js([var.get(u'r'), var.get(u'g'), var.get(u'b')]) + PyJs_anonymous_167_._set_name(u'anonymous') + var.get(u'convert').get(u'hex').put(u'rgb', PyJs_anonymous_167_) + @Js + def PyJs_anonymous_169_(rgb, this, arguments, var=var): + var = Scope({u'this':this, u'rgb':rgb, u'arguments':arguments}, var) + var.registers([u'hue', u'b', u'g', u'min', u'max', u'chroma', u'rgb', u'r', u'grayscale']) + var.put(u'r', (var.get(u'rgb').get(u'0')/Js(255.0))) + var.put(u'g', (var.get(u'rgb').get(u'1')/Js(255.0))) + var.put(u'b', (var.get(u'rgb').get(u'2')/Js(255.0))) + var.put(u'max', var.get(u'Math').callprop(u'max', var.get(u'Math').callprop(u'max', var.get(u'r'), var.get(u'g')), var.get(u'b'))) + var.put(u'min', var.get(u'Math').callprop(u'min', var.get(u'Math').callprop(u'min', var.get(u'r'), var.get(u'g')), var.get(u'b'))) + var.put(u'chroma', (var.get(u'max')-var.get(u'min'))) + pass + pass + if (var.get(u'chroma')Js(0.0)): + var.put(u'f', (var.get(u'c')/var.get(u'v'))) + return Js([var.get(u'hcg').get(u'0'), (var.get(u'f')*Js(100.0)), (var.get(u'v')*Js(100.0))]) + PyJs_anonymous_173_._set_name(u'anonymous') + var.get(u'convert').get(u'hcg').put(u'hsv', PyJs_anonymous_173_) + @Js + def PyJs_anonymous_174_(hcg, this, arguments, var=var): + var = Scope({u'this':this, u'hcg':hcg, u'arguments':arguments}, var) + var.registers([u's', u'c', u'l', u'g', u'hcg']) + var.put(u'c', (var.get(u'hcg').get(u'1')/Js(100.0))) + var.put(u'g', (var.get(u'hcg').get(u'2')/Js(100.0))) + var.put(u'l', ((var.get(u'g')*(Js(1.0)-var.get(u'c')))+(Js(0.5)*var.get(u'c')))) + var.put(u's', Js(0.0)) + if ((var.get(u'l')>Js(0.0)) and (var.get(u'l')=Js(0.5)) and (var.get(u'l')Js(1.0)): + var.put(u'args', var.get(u'Array').get(u'prototype').get(u'slice').callprop(u'call', var.get(u'arguments'))) + return var.get(u'fn')(var.get(u'args')) + PyJs_wrappedFn_189_._set_name(u'wrappedFn') + var.put(u'wrappedFn', PyJs_wrappedFn_189_) + if var.get(u'fn').contains(Js(u'conversion')): + var.get(u'wrappedFn').put(u'conversion', var.get(u'fn').get(u'conversion')) + return var.get(u'wrappedFn') + PyJsHoisted_wrapRaw_.func_name = u'wrapRaw' + var.put(u'wrapRaw', PyJsHoisted_wrapRaw_) + @Js + def PyJsHoisted_wrapRounded_(fn, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'fn':fn}, var) + var.registers([u'fn', u'wrappedFn']) + @Js + def PyJs_wrappedFn_190_(args, this, arguments, var=var): + var = Scope({u'this':this, u'args':args, u'arguments':arguments, u'wrappedFn':PyJs_wrappedFn_190_}, var) + var.registers([u'i', u'args', u'result', u'len']) + if (PyJsStrictEq(var.get(u'args'),var.get(u'undefined')) or PyJsStrictEq(var.get(u'args'),var.get(u"null"))): + return var.get(u'args') + if (var.get(u'arguments').get(u'length')>Js(1.0)): + var.put(u'args', var.get(u'Array').get(u'prototype').get(u'slice').callprop(u'call', var.get(u'arguments'))) + var.put(u'result', var.get(u'fn')(var.get(u'args'))) + if PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'result',throw=False).typeof(),Js(u'undefined')) else var.get(u'_typeof')(var.get(u'result'))),Js(u'object')): + #for JS loop + var.put(u'len', var.get(u'result').get(u'length')) + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(2.0)) else var.get(u'undefined'))) + var.put(u'count', var.get(u'Math').callprop(u'min', ((var.get(u'len') if PyJsStrictEq(var.get(u'end'),var.get(u'undefined')) else var.get(u'toAbsoluteIndex')(var.get(u'end'), var.get(u'len')))-var.get(u'from')), (var.get(u'len')-var.get(u'to')))) + var.put(u'inc', Js(1.0)) + if ((var.get(u'from')Js(0.0)): + if var.get(u'O').contains(var.get(u'from')): + var.get(u'O').put(var.get(u'to'), var.get(u'O').get(var.get(u'from'))) + else: + var.get(u'O').delete(var.get(u'to')) + var.put(u'to', var.get(u'inc'), u'+') + var.put(u'from', var.get(u'inc'), u'+') + return var.get(u'O') + PyJs_copyWithin_226_._set_name(u'copyWithin') + var.get(u'module').put(u'exports', (Js([]).get(u'copyWithin') or PyJs_copyWithin_226_)) +PyJs_anonymous_225_._set_name(u'anonymous') +PyJs_Object_227_ = Js({u'./_to-absolute-index':Js(120.0),u'./_to-length':Js(124.0),u'./_to-object':Js(125.0)}) +@Js +def PyJs_anonymous_228_(require, module, exports, this, 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'toAbsoluteIndex', u'toObject', u'module', u'toLength', u'require']) + Js(u'use strict') + var.put(u'toObject', var.get(u'require')(Js(u'./_to-object'))) + var.put(u'toAbsoluteIndex', var.get(u'require')(Js(u'./_to-absolute-index'))) + var.put(u'toLength', var.get(u'require')(Js(u'./_to-length'))) + @Js + def PyJs_fill_229_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value, u'fill':PyJs_fill_229_}, var) + var.registers([u'index', u'end', u'aLen', u'O', u'length', u'endPos', u'value']) + var.put(u'O', var.get(u'toObject')(var.get(u"this"))) + var.put(u'length', var.get(u'toLength')(var.get(u'O').get(u'length'))) + var.put(u'aLen', var.get(u'arguments').get(u'length')) + var.put(u'index', var.get(u'toAbsoluteIndex')((var.get(u'arguments').get(u'1') if (var.get(u'aLen')>Js(1.0)) else var.get(u'undefined')), var.get(u'length'))) + var.put(u'end', (var.get(u'arguments').get(u'2') if (var.get(u'aLen')>Js(2.0)) else var.get(u'undefined'))) + var.put(u'endPos', (var.get(u'length') if PyJsStrictEq(var.get(u'end'),var.get(u'undefined')) else var.get(u'toAbsoluteIndex')(var.get(u'end'), var.get(u'length')))) + while (var.get(u'endPos')>var.get(u'index')): + var.get(u'O').put((var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1)), var.get(u'value')) + return var.get(u'O') + PyJs_fill_229_._set_name(u'fill') + var.get(u'module').put(u'exports', PyJs_fill_229_) +PyJs_anonymous_228_._set_name(u'anonymous') +PyJs_Object_230_ = Js({u'./_to-absolute-index':Js(120.0),u'./_to-length':Js(124.0),u'./_to-object':Js(125.0)}) +@Js +def PyJs_anonymous_231_(require, module, exports, this, 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_232_(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_232_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_232_) +PyJs_anonymous_231_._set_name(u'anonymous') +PyJs_Object_233_ = Js({u'./_for-of':Js(48.0)}) +@Js +def PyJs_anonymous_234_(require, module, exports, this, 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'module', u'toAbsoluteIndex', 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'toAbsoluteIndex', var.get(u'require')(Js(u'./_to-absolute-index'))) + @Js + def PyJs_anonymous_235_(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_236_(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'toAbsoluteIndex')(var.get(u'fromIndex'), var.get(u'length'))) + pass + 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 Js(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_236_._set_name(u'anonymous') + return PyJs_anonymous_236_ + PyJs_anonymous_235_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_235_) +PyJs_anonymous_234_._set_name(u'anonymous') +PyJs_Object_237_ = Js({u'./_to-absolute-index':Js(120.0),u'./_to-iobject':Js(123.0),u'./_to-length':Js(124.0)}) +@Js +def PyJs_anonymous_238_(require, module, exports, this, 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_239_(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_240_(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')))) + pass + #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 Js(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_240_._set_name(u'anonymous') + return PyJs_anonymous_240_ + PyJs_anonymous_239_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_239_) +PyJs_anonymous_238_._set_name(u'anonymous') +PyJs_Object_241_ = Js({u'./_array-species-create':Js(24.0),u'./_ctx':Js(34.0),u'./_iobject':Js(56.0),u'./_to-length':Js(124.0),u'./_to-object':Js(125.0)}) +@Js +def PyJs_anonymous_242_(require, module, exports, this, 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'module', u'aFunction', u'require']) + var.put(u'aFunction', var.get(u'require')(Js(u'./_a-function'))) + 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'toLength', var.get(u'require')(Js(u'./_to-length'))) + @Js + def PyJs_anonymous_243_(that, callbackfn, aLen, memo, isRight, this, arguments, var=var): + var = Scope({u'aLen':aLen, u'callbackfn':callbackfn, u'arguments':arguments, u'that':that, u'this':this, u'isRight':isRight, u'memo':memo}, var) + var.registers([u'index', u'callbackfn', u'that', u'i', u'self', u'aLen', u'O', u'length', u'isRight', u'memo']) + var.get(u'aFunction')(var.get(u'callbackfn')) + var.put(u'O', var.get(u'toObject')(var.get(u'that'))) + var.put(u'self', var.get(u'IObject')(var.get(u'O'))) + var.put(u'length', var.get(u'toLength')(var.get(u'O').get(u'length'))) + var.put(u'index', ((var.get(u'length')-Js(1.0)) if var.get(u'isRight') else Js(0.0))) + var.put(u'i', ((-Js(1.0)) if var.get(u'isRight') else Js(1.0))) + if (var.get(u'aLen')=Js(0.0)) if var.get(u'isRight') else (var.get(u'length')>var.get(u'index'))): + try: + if var.get(u'self').contains(var.get(u'index')): + var.put(u'memo', var.get(u'callbackfn')(var.get(u'memo'), var.get(u'self').get(var.get(u'index')), var.get(u'index'), var.get(u'O'))) + finally: + var.put(u'index', var.get(u'i'), u'+') + return var.get(u'memo') + PyJs_anonymous_243_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_243_) +PyJs_anonymous_242_._set_name(u'anonymous') +PyJs_Object_244_ = Js({u'./_a-function':Js(12.0),u'./_iobject':Js(56.0),u'./_to-length':Js(124.0),u'./_to-object':Js(125.0)}) +@Js +def PyJs_anonymous_245_(require, module, exports, this, 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_246_(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_246_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_246_) +PyJs_anonymous_245_._set_name(u'anonymous') +PyJs_Object_247_ = Js({u'./_is-array':Js(58.0),u'./_is-object':Js(60.0),u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_248_(require, module, exports, this, 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_249_(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_249_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_249_) +PyJs_anonymous_248_._set_name(u'anonymous') +PyJs_Object_250_ = Js({u'./_array-species-constructor':Js(23.0)}) +@Js +def PyJs_anonymous_251_(require, module, exports, this, 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'invoke', u'require', u'construct', u'module', u'aFunction', u'arraySlice', u'factories', u'isObject']) + Js(u'use strict') + var.put(u'aFunction', var.get(u'require')(Js(u'./_a-function'))) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'invoke', var.get(u'require')(Js(u'./_invoke'))) + var.put(u'arraySlice', Js([]).get(u'slice')) + PyJs_Object_252_ = Js({}) + var.put(u'factories', PyJs_Object_252_) + @Js + def PyJs_construct_253_(F, len, args, this, arguments, var=var): + var = Scope({u'F':F, u'this':this, u'args':args, u'construct':PyJs_construct_253_, u'len':len, u'arguments':arguments}, var) + var.registers([u'i', u'args', u'F', u'len', u'n']) + if var.get(u'factories').contains(var.get(u'len')).neg(): + #for JS loop + var.put(u'n', Js([])) + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(1.0)) else var.get(u'undefined')), Js(3.0))) + pass + 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_275_._set_name(u'forEach') + @Js + def PyJs_has_276_(key, this, arguments, var=var): + var = Scope({u'this':this, u'has':PyJs_has_276_, u'arguments':arguments, u'key':key}, var) + var.registers([u'key']) + return var.get(u'getEntry')(var.get(u'validate')(var.get(u"this"), var.get(u'NAME')), var.get(u'key')).neg().neg() + PyJs_has_276_._set_name(u'has') + PyJs_Object_272_ = Js({u'clear':PyJs_clear_273_,u'delete':PyJs__delete_274_,u'forEach':PyJs_forEach_275_,u'has':PyJs_has_276_}) + var.get(u'redefineAll')(var.get(u'C').get(u'prototype'), PyJs_Object_272_) + if var.get(u'DESCRIPTORS'): + @Js + def PyJs_get_278_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_278_}, var) + var.registers([]) + return var.get(u'validate')(var.get(u"this"), var.get(u'NAME')).get(var.get(u'SIZE')) + PyJs_get_278_._set_name(u'get') + PyJs_Object_277_ = Js({u'get':PyJs_get_278_}) + var.get(u'dP')(var.get(u'C').get(u'prototype'), Js(u'size'), PyJs_Object_277_) + return var.get(u'C') + PyJs_getConstructor_270_._set_name(u'getConstructor') + @Js + def PyJs_InlineNonPyName_279_(that, key, value, this, arguments, var=var): + var = Scope({u'that':that, u'this':this, u'value':value, u'arguments':arguments, u'key':key, u'def':PyJs_InlineNonPyName_279_}, 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'))) + pass + if var.get(u'entry'): + var.get(u'entry').put(u'v', var.get(u'value')) + else: + PyJs_Object_280_ = Js({u'i':var.put(u'index', var.get(u'fastKey')(var.get(u'key'), Js(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_280_)) + 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_InlineNonPyName_279_._set_name(u'def') + @Js + def PyJs_setStrong_281_(C, NAME, IS_MAP, this, arguments, var=var): + var = Scope({u'C':C, u'NAME':NAME, u'this':this, u'IS_MAP':IS_MAP, u'setStrong':PyJs_setStrong_281_, u'arguments':arguments}, var) + var.registers([u'C', u'NAME', u'IS_MAP']) + @Js + def PyJs_anonymous_282_(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'validate')(var.get(u'iterated'), var.get(u'NAME'))) + var.get(u"this").put(u'_k', var.get(u'kind')) + var.get(u"this").put(u'_l', var.get(u'undefined')) + PyJs_anonymous_282_._set_name(u'anonymous') + @Js + def PyJs_anonymous_283_(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_283_._set_name(u'anonymous') + var.get(u'$iterDefine')(var.get(u'C'), var.get(u'NAME'), PyJs_anonymous_282_, PyJs_anonymous_283_, (Js(u'entries') if var.get(u'IS_MAP') else Js(u'values')), var.get(u'IS_MAP').neg(), Js(True)) + var.get(u'setSpecies')(var.get(u'NAME')) + PyJs_setStrong_281_._set_name(u'setStrong') + PyJs_Object_269_ = Js({u'getConstructor':PyJs_getConstructor_270_,u'def':PyJs_InlineNonPyName_279_,u'getEntry':var.get(u'getEntry'),u'setStrong':PyJs_setStrong_281_}) + var.get(u'module').put(u'exports', PyJs_Object_269_) +PyJs_anonymous_267_._set_name(u'anonymous') +PyJs_Object_284_ = Js({u'./_an-instance':Js(15.0),u'./_ctx':Js(34.0),u'./_descriptors':Js(38.0),u'./_for-of':Js(48.0),u'./_iter-define':Js(64.0),u'./_iter-step':Js(66.0),u'./_meta':Js(74.0),u'./_object-create':Js(79.0),u'./_object-dp':Js(80.0),u'./_redefine-all':Js(99.0),u'./_set-species':Js(106.0),u'./_validate-collection':Js(132.0)}) +@Js +def PyJs_anonymous_285_(require, module, exports, this, 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_286_(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_287_(this, arguments, var=var): + var = Scope({u'this':this, u'toJSON':PyJs_toJSON_287_, 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_287_._set_name(u'toJSON') + return PyJs_toJSON_287_ + PyJs_anonymous_286_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_286_) +PyJs_anonymous_285_._set_name(u'anonymous') +PyJs_Object_288_ = Js({u'./_array-from-iterable':Js(19.0),u'./_classof':Js(26.0)}) +@Js +def PyJs_anonymous_289_(require, module, exports, this, 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'validate', 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'validate', var.get(u'require')(Js(u'./_validate-collection'))) + 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_uncaughtFrozenStore_290_(that, this, arguments, var=var): + var = Scope({u'this':this, u'uncaughtFrozenStore':PyJs_uncaughtFrozenStore_290_, 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_uncaughtFrozenStore_290_._set_name(u'uncaughtFrozenStore') + var.put(u'uncaughtFrozenStore', PyJs_uncaughtFrozenStore_290_) + @Js + def PyJs_UncaughtFrozenStore_291_(this, arguments, var=var): + var = Scope({u'this':this, u'UncaughtFrozenStore':PyJs_UncaughtFrozenStore_291_, u'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put(u'a', Js([])) + PyJs_UncaughtFrozenStore_291_._set_name(u'UncaughtFrozenStore') + var.put(u'UncaughtFrozenStore', PyJs_UncaughtFrozenStore_291_) + @Js + def PyJs_findUncaughtFrozen_292_(store, key, this, arguments, var=var): + var = Scope({u'this':this, u'findUncaughtFrozen':PyJs_findUncaughtFrozen_292_, u'key':key, u'store':store, u'arguments':arguments}, var) + var.registers([u'key', u'store']) + @Js + def PyJs_anonymous_293_(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_293_._set_name(u'anonymous') + return var.get(u'arrayFind')(var.get(u'store').get(u'a'), PyJs_anonymous_293_) + PyJs_findUncaughtFrozen_292_._set_name(u'findUncaughtFrozen') + var.put(u'findUncaughtFrozen', PyJs_findUncaughtFrozen_292_) + @Js + def PyJs_get_295_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key, u'get':PyJs_get_295_}, 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_get_295_._set_name(u'get') + @Js + def PyJs_has_296_(key, this, arguments, var=var): + var = Scope({u'this':this, u'has':PyJs_has_296_, 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_has_296_._set_name(u'has') + @Js + def PyJs_set_297_(key, value, this, arguments, var=var): + var = Scope({u'this':this, u'set':PyJs_set_297_, 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_set_297_._set_name(u'set') + @Js + def PyJs__delete_298_(key, this, arguments, var=var): + var = Scope({u'this':this, u'_delete':PyJs__delete_298_, u'arguments':arguments, u'key':key}, var) + var.registers([u'index', u'key']) + @Js + def PyJs_anonymous_299_(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_299_._set_name(u'anonymous') + var.put(u'index', var.get(u'arrayFindIndex')(var.get(u"this").get(u'a'), PyJs_anonymous_299_)) + 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__delete_298_._set_name(u'_delete') + PyJs_Object_294_ = Js({u'get':PyJs_get_295_,u'has':PyJs_has_296_,u'set':PyJs_set_297_,u'delete':PyJs__delete_298_}) + var.get(u'UncaughtFrozenStore').put(u'prototype', PyJs_Object_294_) + @Js + def PyJs_getConstructor_301_(wrapper, NAME, IS_MAP, ADDER, this, arguments, var=var): + var = Scope({u'ADDER':ADDER, u'getConstructor':PyJs_getConstructor_301_, 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_302_(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'_t', var.get(u'NAME')) + 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_302_._set_name(u'anonymous') + var.put(u'C', var.get(u'wrapper')(PyJs_anonymous_302_)) + @Js + def PyJs__delete_304_(key, this, arguments, var=var): + var = Scope({u'this':this, u'_delete':PyJs__delete_304_, 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'),Js(True)): + return var.get(u'uncaughtFrozenStore')(var.get(u'validate')(var.get(u"this"), var.get(u'NAME'))).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__delete_304_._set_name(u'_delete') + @Js + def PyJs_has_305_(key, this, arguments, var=var): + var = Scope({u'this':this, u'has':PyJs_has_305_, 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'),Js(True)): + return var.get(u'uncaughtFrozenStore')(var.get(u'validate')(var.get(u"this"), var.get(u'NAME'))).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_305_._set_name(u'has') + PyJs_Object_303_ = Js({u'delete':PyJs__delete_304_,u'has':PyJs_has_305_}) + var.get(u'redefineAll')(var.get(u'C').get(u'prototype'), PyJs_Object_303_) + return var.get(u'C') + PyJs_getConstructor_301_._set_name(u'getConstructor') + @Js + def PyJs_InlineNonPyName_306_(that, key, value, this, arguments, var=var): + var = Scope({u'that':that, u'this':this, u'value':value, u'arguments':arguments, u'key':key, u'def':PyJs_InlineNonPyName_306_}, 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')), Js(True))) + if PyJsStrictEq(var.get(u'data'),Js(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_InlineNonPyName_306_._set_name(u'def') + PyJs_Object_300_ = Js({u'getConstructor':PyJs_getConstructor_301_,u'def':PyJs_InlineNonPyName_306_,u'ufstore':var.get(u'uncaughtFrozenStore')}) + var.get(u'module').put(u'exports', PyJs_Object_300_) +PyJs_anonymous_289_._set_name(u'anonymous') +PyJs_Object_307_ = Js({u'./_an-instance':Js(15.0),u'./_an-object':Js(16.0),u'./_array-methods':Js(21.0),u'./_for-of':Js(48.0),u'./_has':Js(50.0),u'./_is-object':Js(60.0),u'./_meta':Js(74.0),u'./_redefine-all':Js(99.0),u'./_validate-collection':Js(132.0)}) +@Js +def PyJs_anonymous_308_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'redefine', u'forOf', u'$iterDetect', u'anInstance', u'$export', u'setToStringTag', u'global', u'fails', u'module', u'meta', u'redefineAll', u'require', u'isObject', u'exports', u'inheritIfRequired']) + 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'redefine', var.get(u'require')(Js(u'./_redefine'))) + var.put(u'redefineAll', var.get(u'require')(Js(u'./_redefine-all'))) + var.put(u'meta', var.get(u'require')(Js(u'./_meta'))) + 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'fails', var.get(u'require')(Js(u'./_fails'))) + var.put(u'$iterDetect', var.get(u'require')(Js(u'./_iter-detect'))) + var.put(u'setToStringTag', var.get(u'require')(Js(u'./_set-to-string-tag'))) + var.put(u'inheritIfRequired', var.get(u'require')(Js(u'./_inherit-if-required'))) + @Js + def PyJs_anonymous_309_(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'ACCEPT_ITERABLES', u'BUGGY_ZERO', u'C', u'wrapper', u'NAME', u'fixMethod', u'common', u'HASNT_CHAINING', u'proto', u'IS_MAP', u'O', u'instance', u'Base', u'IS_WEAK', u'ADDER', u'THROWS_ON_PRIMITIVES', 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_310_ = Js({}) + var.put(u'O', PyJs_Object_310_) + @Js + def PyJs_fixMethod_311_(KEY, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'KEY':KEY, u'fixMethod':PyJs_fixMethod_311_}, var) + var.registers([u'KEY', u'fn']) + var.put(u'fn', var.get(u'proto').get(var.get(u'KEY'))) + @Js + def PyJs_anonymous_312_(a, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'arguments':arguments}, var) + var.registers([u'a']) + return (Js(False) if (var.get(u'IS_WEAK') and var.get(u'isObject')(var.get(u'a')).neg()) else var.get(u'fn').callprop(u'call', var.get(u"this"), (Js(0.0) if PyJsStrictEq(var.get(u'a'),Js(0.0)) else var.get(u'a')))) + PyJs_anonymous_312_._set_name(u'anonymous') + @Js + def PyJs_has_313_(a, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'has':PyJs_has_313_, u'arguments':arguments}, var) + var.registers([u'a']) + return (Js(False) if (var.get(u'IS_WEAK') and var.get(u'isObject')(var.get(u'a')).neg()) else var.get(u'fn').callprop(u'call', var.get(u"this"), (Js(0.0) if PyJsStrictEq(var.get(u'a'),Js(0.0)) else var.get(u'a')))) + PyJs_has_313_._set_name(u'has') + @Js + def PyJs_get_314_(a, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'arguments':arguments, u'get':PyJs_get_314_}, var) + var.registers([u'a']) + return (var.get(u'undefined') if (var.get(u'IS_WEAK') and var.get(u'isObject')(var.get(u'a')).neg()) else var.get(u'fn').callprop(u'call', var.get(u"this"), (Js(0.0) if PyJsStrictEq(var.get(u'a'),Js(0.0)) else var.get(u'a')))) + PyJs_get_314_._set_name(u'get') + @Js + def PyJs_add_315_(a, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'add':PyJs_add_315_, u'arguments':arguments}, var) + var.registers([u'a']) + var.get(u'fn').callprop(u'call', var.get(u"this"), (Js(0.0) if PyJsStrictEq(var.get(u'a'),Js(0.0)) else var.get(u'a'))) + return var.get(u"this") + PyJs_add_315_._set_name(u'add') + @Js + def PyJs_set_316_(a, b, this, arguments, var=var): + var = Scope({u'a':a, u'this':this, u'b':b, u'set':PyJs_set_316_, u'arguments':arguments}, var) + var.registers([u'a', u'b']) + var.get(u'fn').callprop(u'call', var.get(u"this"), (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") + PyJs_set_316_._set_name(u'set') + var.get(u'redefine')(var.get(u'proto'), var.get(u'KEY'), (PyJs_anonymous_312_ if (var.get(u'KEY')==Js(u'delete')) else (PyJs_has_313_ if (var.get(u'KEY')==Js(u'has')) else (PyJs_get_314_ if (var.get(u'KEY')==Js(u'get')) else (PyJs_add_315_ if (var.get(u'KEY')==Js(u'add')) else PyJs_set_316_))))) + PyJs_fixMethod_311_._set_name(u'fixMethod') + var.put(u'fixMethod', PyJs_fixMethod_311_) + @Js + def PyJs_anonymous_317_(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_317_._set_name(u'anonymous') + if ((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_317_).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', Js(True)) + else: + var.put(u'instance', var.get(u'C').create()) + PyJs_Object_318_ = Js({}) + var.put(u'HASNT_CHAINING', (var.get(u'instance').callprop(var.get(u'ADDER'), (PyJs_Object_318_ if var.get(u'IS_WEAK') else (-Js(0.0))), Js(1.0))!=var.get(u'instance'))) + @Js + def PyJs_anonymous_319_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'instance').callprop(u'has', Js(1.0)) + PyJs_anonymous_319_._set_name(u'anonymous') + var.put(u'THROWS_ON_PRIMITIVES', var.get(u'fails')(PyJs_anonymous_319_)) + @Js + def PyJs_anonymous_320_(iter, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'iter':iter}, var) + var.registers([u'iter']) + var.get(u'C').create(var.get(u'iter')) + PyJs_anonymous_320_._set_name(u'anonymous') + var.put(u'ACCEPT_ITERABLES', var.get(u'$iterDetect')(PyJs_anonymous_320_)) + @Js + def PyJs_anonymous_321_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'index', u'$instance']) + var.put(u'$instance', var.get(u'C').create()) + var.put(u'index', Js(5.0)) + while (var.put(u'index',Js(var.get(u'index').to_number())-Js(1))+Js(1)): + var.get(u'$instance').callprop(var.get(u'ADDER'), var.get(u'index'), var.get(u'index')) + return var.get(u'$instance').callprop(u'has', (-Js(0.0))).neg() + PyJs_anonymous_321_._set_name(u'anonymous') + var.put(u'BUGGY_ZERO', (var.get(u'IS_WEAK').neg() and var.get(u'fails')(PyJs_anonymous_321_))) + if var.get(u'ACCEPT_ITERABLES').neg(): + @Js + def PyJs_anonymous_322_(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', u'that']) + var.get(u'anInstance')(var.get(u'target'), var.get(u'C'), var.get(u'NAME')) + var.put(u'that', var.get(u'inheritIfRequired')(var.get(u'Base').create(), var.get(u'target'), var.get(u'C'))) + 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')) + return var.get(u'that') + PyJs_anonymous_322_._set_name(u'anonymous') + var.put(u'C', var.get(u'wrapper')(PyJs_anonymous_322_)) + var.get(u'C').put(u'prototype', var.get(u'proto')) + var.get(u'proto').put(u'constructor', var.get(u'C')) + if (var.get(u'THROWS_ON_PRIMITIVES') or var.get(u'BUGGY_ZERO')): + var.get(u'fixMethod')(Js(u'delete')) + var.get(u'fixMethod')(Js(u'has')) + (var.get(u'IS_MAP') and var.get(u'fixMethod')(Js(u'get'))) + if (var.get(u'BUGGY_ZERO') or var.get(u'HASNT_CHAINING')): + var.get(u'fixMethod')(var.get(u'ADDER')) + if (var.get(u'IS_WEAK') and var.get(u'proto').get(u'clear')): + var.get(u'proto').delete(u'clear') + 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'C')!=var.get(u'Base')))), 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_309_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_309_) +PyJs_anonymous_308_._set_name(u'anonymous') +PyJs_Object_323_ = Js({u'./_an-instance':Js(15.0),u'./_export':Js(42.0),u'./_fails':Js(44.0),u'./_for-of':Js(48.0),u'./_global':Js(49.0),u'./_inherit-if-required':Js(54.0),u'./_is-object':Js(60.0),u'./_iter-detect':Js(65.0),u'./_meta':Js(74.0),u'./_redefine':Js(100.0),u'./_redefine-all':Js(99.0),u'./_set-to-string-tag':Js(107.0)}) +@Js +def PyJs_anonymous_324_(require, module, exports, this, 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_325_ = Js({u'version':Js(u'2.5.7')}) + var.put(u'core', var.get(u'module').put(u'exports', PyJs_Object_325_)) + if (var.get(u'__e',throw=False).typeof()==Js(u'number')): + var.put(u'__e', var.get(u'core')) +PyJs_anonymous_324_._set_name(u'anonymous') +PyJs_Object_326_ = Js({}) +@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'require', u'exports', u'$defineProperty', u'module', u'createDesc']) + Js(u'use strict') + var.put(u'$defineProperty', var.get(u'require')(Js(u'./_object-dp'))) + var.put(u'createDesc', var.get(u'require')(Js(u'./_property-desc'))) + @Js + def PyJs_anonymous_328_(object, index, value, this, arguments, var=var): + var = Scope({u'this':this, u'index':index, u'object':object, u'arguments':arguments, u'value':value}, var) + var.registers([u'index', u'object', u'value']) + if var.get(u'object').contains(var.get(u'index')): + var.get(u'$defineProperty').callprop(u'f', var.get(u'object'), var.get(u'index'), var.get(u'createDesc')(Js(0.0), var.get(u'value'))) + else: + var.get(u'object').put(var.get(u'index'), var.get(u'value')) + PyJs_anonymous_328_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_328_) +PyJs_anonymous_327_._set_name(u'anonymous') +PyJs_Object_329_ = Js({u'./_object-dp':Js(80.0),u'./_property-desc':Js(98.0)}) +@Js +def PyJs_anonymous_330_(require, module, exports, this, 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_331_(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_332_(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_332_._set_name(u'anonymous') + return PyJs_anonymous_332_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(2.0)): + SWITCHED = True + @Js + def PyJs_anonymous_333_(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_333_._set_name(u'anonymous') + return PyJs_anonymous_333_ + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + @Js + def PyJs_anonymous_334_(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_334_._set_name(u'anonymous') + return PyJs_anonymous_334_ + SWITCHED = True + break + @Js + def PyJs_anonymous_335_(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_335_._set_name(u'anonymous') + return PyJs_anonymous_335_ + PyJs_anonymous_331_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_331_) +PyJs_anonymous_330_._set_name(u'anonymous') +PyJs_Object_336_ = Js({u'./_a-function':Js(12.0)}) +@Js +def PyJs_anonymous_337_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'fails', u'getTime', u'require', u'exports', u'module', u'$toISOString', u'lz']) + Js(u'use strict') + var.put(u'fails', var.get(u'require')(Js(u'./_fails'))) + var.put(u'getTime', var.get(u'Date').get(u'prototype').get(u'getTime')) + var.put(u'$toISOString', var.get(u'Date').get(u'prototype').get(u'toISOString')) + @Js + def PyJs_lz_338_(num, this, arguments, var=var): + var = Scope({u'this':this, u'num':num, u'lz':PyJs_lz_338_, u'arguments':arguments}, var) + var.registers([u'num']) + return (var.get(u'num') if (var.get(u'num')>Js(9.0)) else (Js(u'0')+var.get(u'num'))) + PyJs_lz_338_._set_name(u'lz') + var.put(u'lz', PyJs_lz_338_) + @Js + def PyJs_toISOString_339_(this, arguments, var=var): + var = Scope({u'this':this, u'toISOString':PyJs_toISOString_339_, u'arguments':arguments}, var) + var.registers([u'y', u's', u'm', u'd']) + if var.get(u'isFinite')(var.get(u'getTime').callprop(u'call', var.get(u"this"))).neg(): + PyJsTempException = JsToPyException(var.get(u'RangeError')(Js(u'Invalid time value'))) + raise PyJsTempException + var.put(u'd', var.get(u"this")) + var.put(u'y', var.get(u'd').callprop(u'getUTCFullYear')) + var.put(u'm', var.get(u'd').callprop(u'getUTCMilliseconds')) + var.put(u's', (Js(u'-') if (var.get(u'y')Js(9999.0)) else Js(u'')))) + def PyJs_LONG_340_(var=var): + return (((((((((var.get(u's')+(Js(u'00000')+var.get(u'Math').callprop(u'abs', var.get(u'y'))).callprop(u'slice', ((-Js(6.0)) if var.get(u's') else (-Js(4.0)))))+Js(u'-'))+var.get(u'lz')((var.get(u'd').callprop(u'getUTCMonth')+Js(1.0))))+Js(u'-'))+var.get(u'lz')(var.get(u'd').callprop(u'getUTCDate')))+Js(u'T'))+var.get(u'lz')(var.get(u'd').callprop(u'getUTCHours')))+Js(u':'))+var.get(u'lz')(var.get(u'd').callprop(u'getUTCMinutes'))) + return (((((PyJs_LONG_340_()+Js(u':'))+var.get(u'lz')(var.get(u'd').callprop(u'getUTCSeconds')))+Js(u'.'))+(var.get(u'm') if (var.get(u'm')>Js(99.0)) else (Js(u'0')+var.get(u'lz')(var.get(u'm')))))+Js(u'Z')) + PyJs_toISOString_339_._set_name(u'toISOString') + @Js + def PyJs_anonymous_341_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return (var.get(u'$toISOString').callprop(u'call', var.get(u'Date').create(((-Js(50000000000000.0))-Js(1.0))))!=Js(u'0385-07-25T07:06:39.999Z')) + PyJs_anonymous_341_._set_name(u'anonymous') + @Js + def PyJs_anonymous_342_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'$toISOString').callprop(u'call', var.get(u'Date').create(var.get(u'NaN'))) + PyJs_anonymous_342_._set_name(u'anonymous') + var.get(u'module').put(u'exports', (PyJs_toISOString_339_ if (var.get(u'fails')(PyJs_anonymous_341_) or var.get(u'fails')(PyJs_anonymous_342_).neg()) else var.get(u'$toISOString'))) +PyJs_anonymous_337_._set_name(u'anonymous') +PyJs_Object_343_ = Js({u'./_fails':Js(44.0)}) +@Js +def PyJs_anonymous_344_(require, module, exports, this, 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'NUMBER', u'anObject']) + Js(u'use strict') + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + var.put(u'toPrimitive', var.get(u'require')(Js(u'./_to-primitive'))) + var.put(u'NUMBER', Js(u'number')) + @Js + def PyJs_anonymous_345_(hint, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'hint':hint}, var) + var.registers([u'hint']) + if ((PyJsStrictNeq(var.get(u'hint'),Js(u'string')) and PyJsStrictNeq(var.get(u'hint'),var.get(u'NUMBER'))) and PyJsStrictNeq(var.get(u'hint'),Js(u'default'))): + PyJsTempException = JsToPyException(var.get(u'TypeError')(Js(u'Incorrect hint'))) + raise PyJsTempException + return var.get(u'toPrimitive')(var.get(u'anObject')(var.get(u"this")), (var.get(u'hint')!=var.get(u'NUMBER'))) + PyJs_anonymous_345_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_345_) +PyJs_anonymous_344_._set_name(u'anonymous') +PyJs_Object_346_ = Js({u'./_an-object':Js(16.0),u'./_to-primitive':Js(126.0)}) +@Js +def PyJs_anonymous_347_(require, module, exports, this, 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_348_(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_348_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_348_) +PyJs_anonymous_347_._set_name(u'anonymous') +PyJs_Object_349_ = Js({}) +@Js +def PyJs_anonymous_350_(require, module, exports, this, 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_351_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_352_ = Js({}) + @Js + def PyJs_get_354_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_354_}, var) + var.registers([]) + return Js(7.0) + PyJs_get_354_._set_name(u'get') + PyJs_Object_353_ = Js({u'get':PyJs_get_354_}) + return (var.get(u'Object').callprop(u'defineProperty', PyJs_Object_352_, Js(u'a'), PyJs_Object_353_).get(u'a')!=Js(7.0)) + PyJs_anonymous_351_._set_name(u'anonymous') + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./_fails'))(PyJs_anonymous_351_).neg()) +PyJs_anonymous_350_._set_name(u'anonymous') +PyJs_Object_355_ = Js({u'./_fails':Js(44.0)}) +@Js +def PyJs_anonymous_356_(require, module, exports, this, 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_357_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + PyJs_Object_358_ = Js({}) + return (var.get(u'document').callprop(u'createElement', var.get(u'it')) if var.get(u'is') else PyJs_Object_358_) + PyJs_anonymous_357_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_357_) +PyJs_anonymous_356_._set_name(u'anonymous') +PyJs_Object_359_ = Js({u'./_global':Js(49.0),u'./_is-object':Js(60.0)}) +@Js +def PyJs_anonymous_360_(require, module, exports, this, 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_360_._set_name(u'anonymous') +PyJs_Object_361_ = Js({}) +@Js +def PyJs_anonymous_362_(require, module, exports, this, 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_363_(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)) + pass + 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_363_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_363_) +PyJs_anonymous_362_._set_name(u'anonymous') +PyJs_Object_364_ = Js({u'./_object-gops':Js(86.0),u'./_object-keys':Js(89.0),u'./_object-pie':Js(90.0)}) +@Js +def PyJs_anonymous_365_(require, module, exports, this, 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'redefine', u'hide', u'$export', u'require', u'global', u'ctx', u'exports', 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'hide', var.get(u'require')(Js(u'./_hide'))) + var.put(u'redefine', var.get(u'require')(Js(u'./_redefine'))) + var.put(u'ctx', var.get(u'require')(Js(u'./_ctx'))) + var.put(u'PROTOTYPE', Js(u'prototype')) + @Js + def PyJs_InlineNonPyName_366_(type, name, source, this, arguments, var=var): + var = Scope({u'name':name, u'this':this, u'$export':PyJs_InlineNonPyName_366_, u'source':source, u'arguments':arguments, u'type':type}, var) + var.registers([u'IS_STATIC', u'expProto', u'exports', u'IS_GLOBAL', u'target', u'type', u'name', u'source', u'IS_PROTO', u'key', u'own', u'IS_FORCED', u'exp', 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'))) + PyJs_Object_367_ = Js({}) + PyJs_Object_368_ = 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')) or var.get(u'global').put(var.get(u'name'), PyJs_Object_367_)) if var.get(u'IS_STATIC') else (var.get(u'global').get(var.get(u'name')) or PyJs_Object_368_).get(var.get(u'PROTOTYPE'))))) + PyJs_Object_369_ = 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_369_)))) + PyJs_Object_370_ = Js({}) + var.put(u'expProto', (var.get(u'exports').get(var.get(u'PROTOTYPE')) or var.get(u'exports').put(var.get(u'PROTOTYPE'), PyJs_Object_370_))) + pass + 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')))) + var.put(u'out', (var.get(u'target') if var.get(u'own') else var.get(u'source')).get(var.get(u'key'))) + var.put(u'exp', (var.get(u'ctx')(var.get(u'out'), var.get(u'global')) if (var.get(u'IS_BIND') and var.get(u'own')) 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')))) + if var.get(u'target'): + var.get(u'redefine')(var.get(u'target'), var.get(u'key'), var.get(u'out'), (var.get(u'type')&var.get(u'$export').get(u'U'))) + if (var.get(u'exports').get(var.get(u'key'))!=var.get(u'out')): + var.get(u'hide')(var.get(u'exports'), var.get(u'key'), var.get(u'exp')) + if (var.get(u'IS_PROTO') and (var.get(u'expProto').get(var.get(u'key'))!=var.get(u'out'))): + var.get(u'expProto').put(var.get(u'key'), var.get(u'out')) + PyJs_InlineNonPyName_366_._set_name(u'$export') + var.put(u'$export', PyJs_InlineNonPyName_366_) + var.get(u'global').put(u'core', var.get(u'core')) + 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_365_._set_name(u'anonymous') +PyJs_Object_371_ = Js({u'./_core':Js(32.0),u'./_ctx':Js(34.0),u'./_global':Js(49.0),u'./_hide':Js(51.0),u'./_redefine':Js(100.0)}) +@Js +def PyJs_anonymous_372_(require, module, exports, this, 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'MATCH']) + var.put(u'MATCH', var.get(u'require')(Js(u'./_wks'))(Js(u'match'))) + @Js + def PyJs_anonymous_373_(KEY, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'KEY':KEY}, var) + var.registers([u're', u'KEY']) + var.put(u're', JsRegExp(u'/./')) + try: + Js(u'/./').callprop(var.get(u'KEY'), var.get(u're')) + except PyJsException as PyJsTempException: + PyJsHolder_65_77048563 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + try: + var.get(u're').put(var.get(u'MATCH'), Js(False)) + return Js(u'/./').callprop(var.get(u'KEY'), var.get(u're')).neg() + except PyJsException as PyJsTempException: + PyJsHolder_66_62369123 = var.own.get(u'f') + var.force_own_put(u'f', PyExceptionToJs(PyJsTempException)) + try: + pass + finally: + if PyJsHolder_66_62369123 is not None: + var.own[u'f'] = PyJsHolder_66_62369123 + else: + del var.own[u'f'] + del PyJsHolder_66_62369123 + finally: + if PyJsHolder_65_77048563 is not None: + var.own[u'e'] = PyJsHolder_65_77048563 + else: + del var.own[u'e'] + del PyJsHolder_65_77048563 + return Js(True) + PyJs_anonymous_373_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_373_) +PyJs_anonymous_372_._set_name(u'anonymous') +PyJs_Object_374_ = Js({u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_375_(require, module, exports, this, 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_376_(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_41918319 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + return Js(True) + finally: + if PyJsHolder_65_41918319 is not None: + var.own[u'e'] = PyJsHolder_65_41918319 + else: + del var.own[u'e'] + del PyJsHolder_65_41918319 + PyJs_anonymous_376_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_376_) +PyJs_anonymous_375_._set_name(u'anonymous') +PyJs_Object_377_ = Js({}) +@Js +def PyJs_anonymous_378_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'redefine', u'hide', u'exports', u'defined', u'require', u'fails', u'module', u'wks']) + Js(u'use strict') + var.put(u'hide', var.get(u'require')(Js(u'./_hide'))) + var.put(u'redefine', var.get(u'require')(Js(u'./_redefine'))) + var.put(u'fails', var.get(u'require')(Js(u'./_fails'))) + var.put(u'defined', var.get(u'require')(Js(u'./_defined'))) + var.put(u'wks', var.get(u'require')(Js(u'./_wks'))) + @Js + def PyJs_anonymous_379_(KEY, length, PyJsArg_65786563_, this, arguments, var=var): + var = Scope({u'this':this, u'length':length, u'arguments':arguments, u'KEY':KEY, u'exec':PyJsArg_65786563_}, var) + var.registers([u'strfn', u'fns', u'exec', u'SYMBOL', u'rxfn', u'length', u'KEY']) + var.put(u'SYMBOL', var.get(u'wks')(var.get(u'KEY'))) + var.put(u'fns', var.get(u'exec')(var.get(u'defined'), var.get(u'SYMBOL'), Js(u'').get(var.get(u'KEY')))) + var.put(u'strfn', var.get(u'fns').get(u'0')) + var.put(u'rxfn', var.get(u'fns').get(u'1')) + @Js + def PyJs_anonymous_380_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'O']) + PyJs_Object_381_ = Js({}) + var.put(u'O', PyJs_Object_381_) + @Js + def PyJs_anonymous_382_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return Js(7.0) + PyJs_anonymous_382_._set_name(u'anonymous') + var.get(u'O').put(var.get(u'SYMBOL'), PyJs_anonymous_382_) + return (Js(u'').callprop(var.get(u'KEY'), var.get(u'O'))!=Js(7.0)) + PyJs_anonymous_380_._set_name(u'anonymous') + if var.get(u'fails')(PyJs_anonymous_380_): + var.get(u'redefine')(var.get(u'String').get(u'prototype'), var.get(u'KEY'), var.get(u'strfn')) + @Js + def PyJs_anonymous_383_(string, arg, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'string':string, u'arg':arg}, var) + var.registers([u'string', u'arg']) + return var.get(u'rxfn').callprop(u'call', var.get(u'string'), var.get(u"this"), var.get(u'arg')) + PyJs_anonymous_383_._set_name(u'anonymous') + @Js + def PyJs_anonymous_384_(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'rxfn').callprop(u'call', var.get(u'string'), var.get(u"this")) + PyJs_anonymous_384_._set_name(u'anonymous') + var.get(u'hide')(var.get(u'RegExp').get(u'prototype'), var.get(u'SYMBOL'), (PyJs_anonymous_383_ if (var.get(u'length')==Js(2.0)) else PyJs_anonymous_384_)) + PyJs_anonymous_379_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_379_) +PyJs_anonymous_378_._set_name(u'anonymous') +PyJs_Object_385_ = Js({u'./_defined':Js(37.0),u'./_fails':Js(44.0),u'./_hide':Js(51.0),u'./_redefine':Js(100.0),u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_386_(require, module, exports, this, 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']) + Js(u'use strict') + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + @Js + def PyJs_anonymous_387_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'result', u'that']) + var.put(u'that', var.get(u'anObject')(var.get(u"this"))) + var.put(u'result', Js(u'')) + if var.get(u'that').get(u'global'): + var.put(u'result', Js(u'g'), u'+') + if var.get(u'that').get(u'ignoreCase'): + var.put(u'result', Js(u'i'), u'+') + if var.get(u'that').get(u'multiline'): + var.put(u'result', Js(u'm'), u'+') + if var.get(u'that').get(u'unicode'): + var.put(u'result', Js(u'u'), u'+') + if var.get(u'that').get(u'sticky'): + var.put(u'result', Js(u'y'), u'+') + return var.get(u'result') + PyJs_anonymous_387_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_387_) +PyJs_anonymous_386_._set_name(u'anonymous') +PyJs_Object_388_ = Js({u'./_an-object':Js(16.0)}) +@Js +def PyJs_anonymous_389_(require, module, exports, this, 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'toLength', u'require', u'IS_CONCAT_SPREADABLE', u'ctx', u'module', u'flattenIntoArray', u'isObject']) + @Js + def PyJsHoisted_flattenIntoArray_(target, original, source, sourceLen, start, depth, mapper, thisArg, this, arguments, var=var): + var = Scope({u'mapper':mapper, u'target':target, u'start':start, u'this':this, u'original':original, u'source':source, u'depth':depth, u'arguments':arguments, u'thisArg':thisArg, u'sourceLen':sourceLen}, var) + var.registers([u'mapper', u'spreadable', u'target', u'start', u'sourceLen', u'mapFn', u'depth', u'element', u'source', u'sourceIndex', u'thisArg', u'original', u'targetIndex']) + var.put(u'targetIndex', var.get(u'start')) + var.put(u'sourceIndex', Js(0.0)) + var.put(u'mapFn', (var.get(u'ctx')(var.get(u'mapper'), var.get(u'thisArg'), Js(3.0)) if var.get(u'mapper') else Js(False))) + pass + while (var.get(u'sourceIndex')Js(0.0))): + var.put(u'targetIndex', (var.get(u'flattenIntoArray')(var.get(u'target'), var.get(u'original'), var.get(u'element'), var.get(u'toLength')(var.get(u'element').get(u'length')), var.get(u'targetIndex'), (var.get(u'depth')-Js(1.0)))-Js(1.0))) + else: + if (var.get(u'targetIndex')>=Js(9007199254740991)): + PyJsTempException = JsToPyException(var.get(u'TypeError')()) + raise PyJsTempException + var.get(u'target').put(var.get(u'targetIndex'), var.get(u'element')) + (var.put(u'targetIndex',Js(var.get(u'targetIndex').to_number())+Js(1))-Js(1)) + (var.put(u'sourceIndex',Js(var.get(u'sourceIndex').to_number())+Js(1))-Js(1)) + return var.get(u'targetIndex') + PyJsHoisted_flattenIntoArray_.func_name = u'flattenIntoArray' + var.put(u'flattenIntoArray', PyJsHoisted_flattenIntoArray_) + Js(u'use strict') + var.put(u'isArray', var.get(u'require')(Js(u'./_is-array'))) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'toLength', var.get(u'require')(Js(u'./_to-length'))) + var.put(u'ctx', var.get(u'require')(Js(u'./_ctx'))) + var.put(u'IS_CONCAT_SPREADABLE', var.get(u'require')(Js(u'./_wks'))(Js(u'isConcatSpreadable'))) + pass + var.get(u'module').put(u'exports', var.get(u'flattenIntoArray')) +PyJs_anonymous_389_._set_name(u'anonymous') +PyJs_Object_390_ = Js({u'./_ctx':Js(34.0),u'./_is-array':Js(58.0),u'./_is-object':Js(60.0),u'./_to-length':Js(124.0),u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_391_(require, module, exports, this, 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_392_ = Js({}) + var.put(u'BREAK', PyJs_Object_392_) + PyJs_Object_393_ = Js({}) + var.put(u'RETURN', PyJs_Object_393_) + @Js + def PyJs_anonymous_394_(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_395_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'iterable') + PyJs_anonymous_395_._set_name(u'anonymous') + var.put(u'iterFn', (PyJs_anonymous_395_ 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)) + pass + 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_394_._set_name(u'anonymous') + var.put(u'exports', var.get(u'module').put(u'exports', PyJs_anonymous_394_)) + var.get(u'exports').put(u'BREAK', var.get(u'BREAK')) + var.get(u'exports').put(u'RETURN', var.get(u'RETURN')) +PyJs_anonymous_391_._set_name(u'anonymous') +PyJs_Object_396_ = Js({u'./_an-object':Js(16.0),u'./_ctx':Js(34.0),u'./_is-array-iter':Js(57.0),u'./_iter-call':Js(62.0),u'./_to-length':Js(124.0),u'./core.get-iterator-method':Js(136.0)}) +@Js +def PyJs_anonymous_397_(require, module, exports, this, 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_397_._set_name(u'anonymous') +PyJs_Object_398_ = Js({}) +@Js +def PyJs_anonymous_399_(require, module, exports, this, 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_400_ = Js({}) + var.put(u'hasOwnProperty', PyJs_Object_400_.get(u'hasOwnProperty')) + @Js + def PyJs_anonymous_401_(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_401_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_401_) +PyJs_anonymous_399_._set_name(u'anonymous') +PyJs_Object_402_ = Js({}) +@Js +def PyJs_anonymous_403_(require, module, exports, this, 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_404_(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_404_._set_name(u'anonymous') + @Js + def PyJs_anonymous_405_(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_405_._set_name(u'anonymous') + var.get(u'module').put(u'exports', (PyJs_anonymous_404_ if var.get(u'require')(Js(u'./_descriptors')) else PyJs_anonymous_405_)) +PyJs_anonymous_403_._set_name(u'anonymous') +PyJs_Object_406_ = Js({u'./_descriptors':Js(38.0),u'./_object-dp':Js(80.0),u'./_property-desc':Js(98.0)}) +@Js +def PyJs_anonymous_407_(require, module, exports, this, 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'document', u'exports', u'module']) + var.put(u'document', var.get(u'require')(Js(u'./_global')).get(u'document')) + var.get(u'module').put(u'exports', (var.get(u'document') and var.get(u'document').get(u'documentElement'))) +PyJs_anonymous_407_._set_name(u'anonymous') +PyJs_Object_408_ = Js({u'./_global':Js(49.0)}) +@Js +def PyJs_anonymous_409_(require, module, exports, this, 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_410_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_get_412_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_412_}, var) + var.registers([]) + return Js(7.0) + PyJs_get_412_._set_name(u'get') + PyJs_Object_411_ = Js({u'get':PyJs_get_412_}) + return (var.get(u'Object').callprop(u'defineProperty', var.get(u'require')(Js(u'./_dom-create'))(Js(u'div')), Js(u'a'), PyJs_Object_411_).get(u'a')!=Js(7.0)) + PyJs_anonymous_410_._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_410_).neg())) +PyJs_anonymous_409_._set_name(u'anonymous') +PyJs_Object_413_ = Js({u'./_descriptors':Js(38.0),u'./_dom-create':Js(39.0),u'./_fails':Js(44.0)}) +@Js +def PyJs_anonymous_414_(require, module, exports, this, 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'setPrototypeOf', u'exports', u'isObject', u'module']) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'setPrototypeOf', var.get(u'require')(Js(u'./_set-proto')).get(u'set')) + @Js + def PyJs_anonymous_415_(that, target, C, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'C':C, u'target':target, u'that':that}, var) + var.registers([u'C', u'P', u'S', u'target', u'that']) + var.put(u'S', var.get(u'target').get(u'constructor')) + pass + if ((((PyJsStrictNeq(var.get(u'S'),var.get(u'C')) and (var.get(u'S',throw=False).typeof()==Js(u'function'))) and PyJsStrictNeq(var.put(u'P', var.get(u'S').get(u'prototype')),var.get(u'C').get(u'prototype'))) and var.get(u'isObject')(var.get(u'P'))) and var.get(u'setPrototypeOf')): + var.get(u'setPrototypeOf')(var.get(u'that'), var.get(u'P')) + return var.get(u'that') + PyJs_anonymous_415_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_415_) +PyJs_anonymous_414_._set_name(u'anonymous') +PyJs_Object_416_ = Js({u'./_is-object':Js(60.0),u'./_set-proto':Js(105.0)}) +@Js +def PyJs_anonymous_417_(require, module, exports, this, 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_418_(fn, args, that, this, arguments, var=var): + var = Scope({u'this':this, u'args':args, u'arguments':arguments, u'fn':fn, u'that':that}, var) + var.registers([u'args', u'un', u'fn', u'that']) + var.put(u'un', PyJsStrictEq(var.get(u'that'),var.get(u'undefined'))) + while 1: + SWITCHED = False + CONDITION = (var.get(u'args').get(u'length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(0.0)): + SWITCHED = True + return (var.get(u'fn')() if var.get(u'un') else var.get(u'fn').callprop(u'call', var.get(u'that'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(1.0)): + SWITCHED = True + return (var.get(u'fn')(var.get(u'args').get(u'0')) if var.get(u'un') else var.get(u'fn').callprop(u'call', var.get(u'that'), var.get(u'args').get(u'0'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(2.0)): + SWITCHED = True + return (var.get(u'fn')(var.get(u'args').get(u'0'), var.get(u'args').get(u'1')) if var.get(u'un') else var.get(u'fn').callprop(u'call', var.get(u'that'), var.get(u'args').get(u'0'), var.get(u'args').get(u'1'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + return (var.get(u'fn')(var.get(u'args').get(u'0'), var.get(u'args').get(u'1'), var.get(u'args').get(u'2')) if var.get(u'un') else var.get(u'fn').callprop(u'call', var.get(u'that'), var.get(u'args').get(u'0'), var.get(u'args').get(u'1'), var.get(u'args').get(u'2'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(4.0)): + SWITCHED = True + return (var.get(u'fn')(var.get(u'args').get(u'0'), var.get(u'args').get(u'1'), var.get(u'args').get(u'2'), var.get(u'args').get(u'3')) if var.get(u'un') else var.get(u'fn').callprop(u'call', var.get(u'that'), var.get(u'args').get(u'0'), var.get(u'args').get(u'1'), var.get(u'args').get(u'2'), var.get(u'args').get(u'3'))) + SWITCHED = True + break + return var.get(u'fn').callprop(u'apply', var.get(u'that'), var.get(u'args')) + PyJs_anonymous_418_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_418_) +PyJs_anonymous_417_._set_name(u'anonymous') +PyJs_Object_419_ = Js({}) +@Js +def PyJs_anonymous_420_(require, module, exports, this, 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_421_(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_421_._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_421_)) +PyJs_anonymous_420_._set_name(u'anonymous') +PyJs_Object_422_ = Js({u'./_cof':Js(27.0)}) +@Js +def PyJs_anonymous_423_(require, module, exports, this, 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_424_(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_424_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_424_) +PyJs_anonymous_423_._set_name(u'anonymous') +PyJs_Object_425_ = Js({u'./_iterators':Js(67.0),u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_426_(require, module, exports, this, 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_427_(arg, this, arguments, var=var): + var = Scope({u'this':this, u'isArray':PyJs_isArray_427_, 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_427_._set_name(u'isArray') + var.get(u'module').put(u'exports', (var.get(u'Array').get(u'isArray') or PyJs_isArray_427_)) +PyJs_anonymous_426_._set_name(u'anonymous') +PyJs_Object_428_ = Js({u'./_cof':Js(27.0)}) +@Js +def PyJs_anonymous_429_(require, module, exports, this, 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', u'floor']) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'floor', var.get(u'Math').get(u'floor')) + @Js + def PyJs_isInteger_430_(it, this, arguments, var=var): + var = Scope({u'this':this, u'isInteger':PyJs_isInteger_430_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return ((var.get(u'isObject')(var.get(u'it')).neg() and var.get(u'isFinite')(var.get(u'it'))) and PyJsStrictEq(var.get(u'floor')(var.get(u'it')),var.get(u'it'))) + PyJs_isInteger_430_._set_name(u'isInteger') + var.get(u'module').put(u'exports', PyJs_isInteger_430_) +PyJs_anonymous_429_._set_name(u'anonymous') +PyJs_Object_431_ = Js({u'./_is-object':Js(60.0)}) +@Js +def PyJs_anonymous_432_(require, module, exports, this, 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_433_(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((Js(u'undefined') if PyJsStrictEq(var.get(u'it',throw=False).typeof(),Js(u'undefined')) else var.get(u'_typeof')(var.get(u'it'))),Js(u'object')) else PyJsStrictEq(var.get(u'it',throw=False).typeof(),Js(u'function'))) + PyJs_anonymous_433_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_433_) +PyJs_anonymous_432_._set_name(u'anonymous') +PyJs_Object_434_ = Js({}) +@Js +def PyJs_anonymous_435_(require, module, exports, this, 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'cof', u'isObject', u'MATCH']) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'cof', var.get(u'require')(Js(u'./_cof'))) + var.put(u'MATCH', var.get(u'require')(Js(u'./_wks'))(Js(u'match'))) + @Js + def PyJs_anonymous_436_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it', u'isRegExp']) + pass + return (var.get(u'isObject')(var.get(u'it')) and (var.get(u'isRegExp').neg().neg() if PyJsStrictNeq(var.put(u'isRegExp', var.get(u'it').get(var.get(u'MATCH'))),var.get(u'undefined')) else (var.get(u'cof')(var.get(u'it'))==Js(u'RegExp')))) + PyJs_anonymous_436_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_436_) +PyJs_anonymous_435_._set_name(u'anonymous') +PyJs_Object_437_ = Js({u'./_cof':Js(27.0),u'./_is-object':Js(60.0),u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_438_(require, module, exports, this, 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_439_(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_28795909 = 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_28795909 is not None: + var.own[u'e'] = PyJsHolder_65_28795909 + else: + del var.own[u'e'] + del PyJsHolder_65_28795909 + PyJs_anonymous_439_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_439_) +PyJs_anonymous_438_._set_name(u'anonymous') +PyJs_Object_440_ = Js({u'./_an-object':Js(16.0)}) +@Js +def PyJs_anonymous_441_(require, module, exports, this, 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_442_ = Js({}) + var.put(u'IteratorPrototype', PyJs_Object_442_) + @Js + def PyJs_anonymous_443_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this") + PyJs_anonymous_443_._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_443_) + @Js + def PyJs_anonymous_444_(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_445_ = 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_445_)) + var.get(u'setToStringTag')(var.get(u'Constructor'), (var.get(u'NAME')+Js(u' Iterator'))) + PyJs_anonymous_444_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_444_) +PyJs_anonymous_441_._set_name(u'anonymous') +PyJs_Object_446_ = Js({u'./_hide':Js(51.0),u'./_object-create':Js(79.0),u'./_property-desc':Js(98.0),u'./_set-to-string-tag':Js(107.0),u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_447_(require, module, exports, this, 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'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'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_returnThis_448_(this, arguments, var=var): + var = Scope({u'this':this, u'returnThis':PyJs_returnThis_448_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this") + PyJs_returnThis_448_._set_name(u'returnThis') + var.put(u'returnThis', PyJs_returnThis_448_) + @Js + def PyJs_anonymous_449_(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_getMethod_450_(kind, this, arguments, var=var): + var = Scope({u'this':this, u'kind':kind, u'arguments':arguments, u'getMethod':PyJs_getMethod_450_}, 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_451_(this, arguments, var=var): + var = Scope({u'this':this, u'keys':PyJs_keys_451_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'Constructor').create(var.get(u"this"), var.get(u'kind')) + PyJs_keys_451_._set_name(u'keys') + return PyJs_keys_451_ + if SWITCHED or PyJsStrictEq(CONDITION, var.get(u'VALUES')): + SWITCHED = True + @Js + def PyJs_values_452_(this, arguments, var=var): + var = Scope({u'this':this, u'values':PyJs_values_452_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'Constructor').create(var.get(u"this"), var.get(u'kind')) + PyJs_values_452_._set_name(u'values') + return PyJs_values_452_ + SWITCHED = True + break + @Js + def PyJs_entries_453_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'entries':PyJs_entries_453_}, var) + var.registers([]) + return var.get(u'Constructor').create(var.get(u"this"), var.get(u'kind')) + PyJs_entries_453_._set_name(u'entries') + return PyJs_entries_453_ + PyJs_getMethod_450_._set_name(u'getMethod') + var.put(u'getMethod', PyJs_getMethod_450_) + 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'))) + pass + 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')) and var.get(u'IteratorPrototype').get(u'next')): + var.get(u'setToStringTag')(var.get(u'IteratorPrototype'), var.get(u'TAG'), Js(True)) + if (var.get(u'LIBRARY').neg() and (var.get(u'IteratorPrototype').get(var.get(u'ITERATOR')).typeof()!=Js(u'function'))): + 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', Js(True)) + @Js + def PyJs_values_454_(this, arguments, var=var): + var = Scope({u'this':this, u'values':PyJs_values_454_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'$native').callprop(u'call', var.get(u"this")) + PyJs_values_454_._set_name(u'values') + var.put(u'$default', PyJs_values_454_) + 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_455_ = 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_455_) + 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_449_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_449_) +PyJs_anonymous_447_._set_name(u'anonymous') +PyJs_Object_456_ = Js({u'./_export':Js(42.0),u'./_hide':Js(51.0),u'./_iter-create':Js(63.0),u'./_iterators':Js(67.0),u'./_library':Js(68.0),u'./_object-gpo':Js(87.0),u'./_redefine':Js(100.0),u'./_set-to-string-tag':Js(107.0),u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_457_(require, module, exports, this, 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'SAFE_CLOSING', u'riter', u'module']) + var.put(u'ITERATOR', var.get(u'require')(Js(u'./_wks'))(Js(u'iterator'))) + var.put(u'SAFE_CLOSING', Js(False)) + try: + var.put(u'riter', Js([Js(7.0)]).callprop(var.get(u'ITERATOR'))) + @Js + def PyJs_anonymous_458_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.put(u'SAFE_CLOSING', Js(True)) + PyJs_anonymous_458_._set_name(u'anonymous') + var.get(u'riter').put(u'return', PyJs_anonymous_458_) + @Js + def PyJs_anonymous_459_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJsTempException = JsToPyException(Js(2.0)) + raise PyJsTempException + PyJs_anonymous_459_._set_name(u'anonymous') + var.get(u'Array').callprop(u'from', var.get(u'riter'), PyJs_anonymous_459_) + except PyJsException as PyJsTempException: + PyJsHolder_65_88890124 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + pass + finally: + if PyJsHolder_65_88890124 is not None: + var.own[u'e'] = PyJsHolder_65_88890124 + else: + del var.own[u'e'] + del PyJsHolder_65_88890124 + @Js + def PyJs_anonymous_460_(PyJsArg_65786563_, skipClosing, this, arguments, var=var): + var = Scope({u'this':this, u'skipClosing':skipClosing, u'arguments':arguments, u'exec':PyJsArg_65786563_}, var) + var.registers([u'skipClosing', u'arr', u'safe', u'iter', u'exec']) + if (var.get(u'skipClosing').neg() and var.get(u'SAFE_CLOSING').neg()): + return Js(False) + var.put(u'safe', Js(False)) + try: + var.put(u'arr', Js([Js(7.0)])) + var.put(u'iter', var.get(u'arr').callprop(var.get(u'ITERATOR'))) + @Js + def PyJs_anonymous_461_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_462_ = Js({u'done':var.put(u'safe', Js(True))}) + return PyJs_Object_462_ + PyJs_anonymous_461_._set_name(u'anonymous') + var.get(u'iter').put(u'next', PyJs_anonymous_461_) + @Js + def PyJs_anonymous_463_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'iter') + PyJs_anonymous_463_._set_name(u'anonymous') + var.get(u'arr').put(var.get(u'ITERATOR'), PyJs_anonymous_463_) + var.get(u'exec')(var.get(u'arr')) + except PyJsException as PyJsTempException: + PyJsHolder_65_84215978 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + pass + finally: + if PyJsHolder_65_84215978 is not None: + var.own[u'e'] = PyJsHolder_65_84215978 + else: + del var.own[u'e'] + del PyJsHolder_65_84215978 + return var.get(u'safe') + PyJs_anonymous_460_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_460_) +PyJs_anonymous_457_._set_name(u'anonymous') +PyJs_Object_464_ = Js({u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_465_(require, module, exports, this, 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_466_(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_467_ = Js({u'value':var.get(u'value'),u'done':var.get(u'done').neg().neg()}) + return PyJs_Object_467_ + PyJs_anonymous_466_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_466_) +PyJs_anonymous_465_._set_name(u'anonymous') +PyJs_Object_468_ = Js({}) +@Js +def PyJs_anonymous_469_(require, module, exports, this, 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_470_ = Js({}) + var.get(u'module').put(u'exports', PyJs_Object_470_) +PyJs_anonymous_469_._set_name(u'anonymous') +PyJs_Object_471_ = Js({}) +@Js +def PyJs_anonymous_472_(require, module, exports, this, 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(False)) +PyJs_anonymous_472_._set_name(u'anonymous') +PyJs_Object_473_ = Js({}) +@Js +def PyJs_anonymous_474_(require, module, exports, this, 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'$expm1', u'module']) + var.put(u'$expm1', var.get(u'Math').get(u'expm1')) + @Js + def PyJs_expm1_475_(x, this, arguments, var=var): + var = Scope({u'this':this, u'x':x, u'expm1':PyJs_expm1_475_, u'arguments':arguments}, var) + var.registers([u'x']) + return (var.get(u'x') if (var.put(u'x', (+var.get(u'x')))==Js(0.0)) else ((var.get(u'x')+((var.get(u'x')*var.get(u'x'))/Js(2.0))) if ((var.get(u'x')>(-Js(1e-06))) and (var.get(u'x')Js(22025.465794806718))) or (var.get(u'$expm1')(Js(10.0))var.get(u'MAX32')) or (var.get(u'result')!=var.get(u'result'))): + return (var.get(u'$sign')*var.get(u'Infinity')) + return (var.get(u'$sign')*var.get(u'result')) + PyJs_fround_479_._set_name(u'fround') + var.get(u'module').put(u'exports', (var.get(u'Math').get(u'fround') or PyJs_fround_479_)) +PyJs_anonymous_477_._set_name(u'anonymous') +PyJs_Object_480_ = Js({u'./_math-sign':Js(73.0)}) +@Js +def PyJs_anonymous_481_(require, module, exports, this, 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_log1p_482_(x, this, arguments, var=var): + var = Scope({u'this':this, u'x':x, u'log1p':PyJs_log1p_482_, u'arguments':arguments}, var) + var.registers([u'x']) + return ((var.get(u'x')-((var.get(u'x')*var.get(u'x'))/Js(2.0))) if ((var.put(u'x', (+var.get(u'x')))>(-Js(1e-08))) and (var.get(u'x')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)) + pass + 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_530_._set_name(u'assign') + @Js + def PyJs_anonymous_531_(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_532_ = Js({}) + var.put(u'A', PyJs_Object_532_) + PyJs_Object_533_ = Js({}) + var.put(u'B', PyJs_Object_533_) + 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_534_(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_534_._set_name(u'anonymous') + var.get(u'K').callprop(u'split', Js(u'')).callprop(u'forEach', PyJs_anonymous_534_) + PyJs_Object_535_ = Js({}) + PyJs_Object_536_ = Js({}) + return ((var.get(u'$assign')(PyJs_Object_535_, 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_536_, var.get(u'B'))).callprop(u'join', Js(u''))!=var.get(u'K'))) + PyJs_anonymous_531_._set_name(u'anonymous') + var.get(u'module').put(u'exports', (PyJs_assign_530_ if (var.get(u'$assign').neg() or var.get(u'require')(Js(u'./_fails'))(PyJs_anonymous_531_)) else var.get(u'$assign'))) +PyJs_anonymous_529_._set_name(u'anonymous') +PyJs_Object_537_ = Js({u'./_fails':Js(44.0),u'./_iobject':Js(56.0),u'./_object-gops':Js(86.0),u'./_object-keys':Js(89.0),u'./_object-pie':Js(90.0),u'./_to-object':Js(125.0)}) +@Js +def PyJs_anonymous_538_(require, module, exports, this, 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_Empty_539_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'Empty':PyJs_Empty_539_}, var) + var.registers([]) + pass + PyJs_Empty_539_._set_name(u'Empty') + var.put(u'Empty', PyJs_Empty_539_) + var.put(u'PROTOTYPE', Js(u'prototype')) + @Js + def PyJs_createDict_540_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'createDict':PyJs_createDict_540_}, 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'>')) + pass + 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_createDict_540_._set_name(u'createDict') + var.put(u'_createDict', PyJs_createDict_540_) + @Js + def PyJs_create_541_(O, Properties, this, arguments, var=var): + var = Scope({u'this':this, u'create':PyJs_create_541_, 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_541_._set_name(u'create') + var.get(u'module').put(u'exports', (var.get(u'Object').get(u'create') or PyJs_create_541_)) +PyJs_anonymous_538_._set_name(u'anonymous') +PyJs_Object_542_ = Js({u'./_an-object':Js(16.0),u'./_dom-create':Js(39.0),u'./_enum-bug-keys':Js(40.0),u'./_html':Js(52.0),u'./_object-dps':Js(81.0),u'./_shared-key':Js(108.0)}) +@Js +def PyJs_anonymous_543_(require, module, exports, this, 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_544_(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_544_, 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'), Js(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_51999376 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + pass + finally: + if PyJsHolder_65_51999376 is not None: + var.own[u'e'] = PyJsHolder_65_51999376 + else: + del var.own[u'e'] + del PyJsHolder_65_51999376 + 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_544_._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_544_)) +PyJs_anonymous_543_._set_name(u'anonymous') +PyJs_Object_545_ = Js({u'./_an-object':Js(16.0),u'./_descriptors':Js(38.0),u'./_ie8-dom-define':Js(53.0),u'./_to-primitive':Js(126.0)}) +@Js +def PyJs_anonymous_546_(require, module, exports, this, 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_547_(O, Properties, this, arguments, var=var): + var = Scope({u'this':this, u'defineProperties':PyJs_defineProperties_547_, 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)) + pass + 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_547_._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_547_)) +PyJs_anonymous_546_._set_name(u'anonymous') +PyJs_Object_548_ = Js({u'./_an-object':Js(16.0),u'./_descriptors':Js(38.0),u'./_object-dp':Js(80.0),u'./_object-keys':Js(89.0)}) +@Js +def PyJs_anonymous_549_(require, module, exports, this, 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_550_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'K']) + var.put(u'K', var.get(u'Math').callprop(u'random')) + @Js + def PyJs_anonymous_551_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJs_anonymous_551_._set_name(u'anonymous') + var.get(u'__defineSetter__').callprop(u'call', var.get(u"null"), var.get(u'K'), PyJs_anonymous_551_) + var.get(u'require')(Js(u'./_global')).delete(var.get(u'K')) + PyJs_anonymous_550_._set_name(u'anonymous') + var.get(u'module').put(u'exports', (var.get(u'require')(Js(u'./_library')) or var.get(u'require')(Js(u'./_fails'))(PyJs_anonymous_550_).neg())) +PyJs_anonymous_549_._set_name(u'anonymous') +PyJs_Object_552_ = Js({u'./_fails':Js(44.0),u'./_global':Js(49.0),u'./_library':Js(68.0)}) +@Js +def PyJs_anonymous_553_(require, module, exports, this, 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_554_(O, P, this, arguments, var=var): + var = Scope({u'this':this, u'P':P, u'getOwnPropertyDescriptor':PyJs_getOwnPropertyDescriptor_554_, 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'), Js(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_21594272 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + pass + finally: + if PyJsHolder_65_21594272 is not None: + var.own[u'e'] = PyJsHolder_65_21594272 + else: + del var.own[u'e'] + del PyJsHolder_65_21594272 + 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_554_._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_554_)) +PyJs_anonymous_553_._set_name(u'anonymous') +PyJs_Object_555_ = Js({u'./_descriptors':Js(38.0),u'./_has':Js(50.0),u'./_ie8-dom-define':Js(53.0),u'./_object-pie':Js(90.0),u'./_property-desc':Js(98.0),u'./_to-iobject':Js(123.0),u'./_to-primitive':Js(126.0)}) +@Js +def PyJs_anonymous_556_(require, module, exports, this, 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_557_ = Js({}) + var.put(u'toString', PyJs_Object_557_.get(u'toString')) + var.put(u'windowNames', (var.get(u'Object').callprop(u'getOwnPropertyNames', var.get(u'window')) if ((((Js(u'undefined') if PyJsStrictEq(var.get(u'window',throw=False).typeof(),Js(u'undefined')) else var.get(u'_typeof')(var.get(u'window')))==Js(u'object')) and var.get(u'window')) and var.get(u'Object').get(u'getOwnPropertyNames')) else Js([]))) + @Js + def PyJs_getWindowNames_558_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'getWindowNames':PyJs_getWindowNames_558_, u'arguments':arguments}, var) + var.registers([u'it']) + try: + return var.get(u'gOPN')(var.get(u'it')) + except PyJsException as PyJsTempException: + PyJsHolder_65_6386948 = 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_6386948 is not None: + var.own[u'e'] = PyJsHolder_65_6386948 + else: + del var.own[u'e'] + del PyJsHolder_65_6386948 + PyJs_getWindowNames_558_._set_name(u'getWindowNames') + var.put(u'getWindowNames', PyJs_getWindowNames_558_) + @Js + def PyJs_getOwnPropertyNames_559_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'getOwnPropertyNames':PyJs_getOwnPropertyNames_559_, 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_559_._set_name(u'getOwnPropertyNames') + var.get(u'module').get(u'exports').put(u'f', PyJs_getOwnPropertyNames_559_) +PyJs_anonymous_556_._set_name(u'anonymous') +PyJs_Object_560_ = Js({u'./_object-gopn':Js(85.0),u'./_to-iobject':Js(123.0)}) +@Js +def PyJs_anonymous_561_(require, module, exports, this, 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_562_(O, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'O':O, u'getOwnPropertyNames':PyJs_getOwnPropertyNames_562_}, var) + var.registers([u'O']) + return var.get(u'$keys')(var.get(u'O'), var.get(u'hiddenKeys')) + PyJs_getOwnPropertyNames_562_._set_name(u'getOwnPropertyNames') + var.get(u'exports').put(u'f', (var.get(u'Object').get(u'getOwnPropertyNames') or PyJs_getOwnPropertyNames_562_)) +PyJs_anonymous_561_._set_name(u'anonymous') +PyJs_Object_563_ = Js({u'./_enum-bug-keys':Js(40.0),u'./_object-keys-internal':Js(88.0)}) +@Js +def PyJs_anonymous_564_(require, module, exports, this, 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_564_._set_name(u'anonymous') +PyJs_Object_565_ = Js({}) +@Js +def PyJs_anonymous_566_(require, module, exports, this, 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_567_(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_567_._set_name(u'anonymous') + var.get(u'module').put(u'exports', (var.get(u'Object').get(u'getPrototypeOf') or PyJs_anonymous_567_)) +PyJs_anonymous_566_._set_name(u'anonymous') +PyJs_Object_568_ = Js({u'./_has':Js(50.0),u'./_shared-key':Js(108.0),u'./_to-object':Js(125.0)}) +@Js +def PyJs_anonymous_569_(require, module, exports, this, 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_570_(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([])) + pass + 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_570_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_570_) +PyJs_anonymous_569_._set_name(u'anonymous') +PyJs_Object_571_ = Js({u'./_array-includes':Js(20.0),u'./_has':Js(50.0),u'./_shared-key':Js(108.0),u'./_to-iobject':Js(123.0)}) +@Js +def PyJs_anonymous_572_(require, module, exports, this, 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_573_(O, this, arguments, var=var): + var = Scope({u'this':this, u'keys':PyJs_keys_573_, 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_573_._set_name(u'keys') + var.get(u'module').put(u'exports', (var.get(u'Object').get(u'keys') or PyJs_keys_573_)) +PyJs_anonymous_572_._set_name(u'anonymous') +PyJs_Object_574_ = Js({u'./_enum-bug-keys':Js(40.0),u'./_object-keys-internal':Js(88.0)}) +@Js +def PyJs_anonymous_575_(require, module, exports, this, 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_576_ = Js({}) + var.get(u'exports').put(u'f', PyJs_Object_576_.get(u'propertyIsEnumerable')) +PyJs_anonymous_575_._set_name(u'anonymous') +PyJs_Object_577_ = Js({}) +@Js +def PyJs_anonymous_578_(require, module, exports, this, 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_579_(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_580_ = Js({}) + var.put(u'fn', ((var.get(u'core').get(u'Object') or PyJs_Object_580_).get(var.get(u'KEY')) or var.get(u'Object').get(var.get(u'KEY')))) + PyJs_Object_581_ = Js({}) + var.put(u'exp', PyJs_Object_581_) + var.get(u'exp').put(var.get(u'KEY'), var.get(u'exec')(var.get(u'fn'))) + @Js + def PyJs_anonymous_582_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'fn')(Js(1.0)) + PyJs_anonymous_582_._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_582_))), Js(u'Object'), var.get(u'exp')) + PyJs_anonymous_579_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_579_) +PyJs_anonymous_578_._set_name(u'anonymous') +PyJs_Object_583_ = Js({u'./_core':Js(32.0),u'./_export':Js(42.0),u'./_fails':Js(44.0)}) +@Js +def PyJs_anonymous_584_(require, module, exports, this, 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'isEnum', u'toIObject']) + var.put(u'getKeys', var.get(u'require')(Js(u'./_object-keys'))) + var.put(u'toIObject', var.get(u'require')(Js(u'./_to-iobject'))) + var.put(u'isEnum', var.get(u'require')(Js(u'./_object-pie')).get(u'f')) + @Js + def PyJs_anonymous_585_(isEntries, this, arguments, var=var): + var = Scope({u'this':this, u'isEntries':isEntries, u'arguments':arguments}, var) + var.registers([u'isEntries']) + @Js + def PyJs_anonymous_586_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'keys', u'it', u'O', u'i', u'length', u'result', u'key']) + var.put(u'O', var.get(u'toIObject')(var.get(u'it'))) + 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'i', Js(0.0)) + var.put(u'result', Js([])) + pass + while (var.get(u'length')>var.get(u'i')): + if var.get(u'isEnum').callprop(u'call', var.get(u'O'), 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'result').callprop(u'push', (Js([var.get(u'key'), var.get(u'O').get(var.get(u'key'))]) if var.get(u'isEntries') else var.get(u'O').get(var.get(u'key')))) + return var.get(u'result') + PyJs_anonymous_586_._set_name(u'anonymous') + return PyJs_anonymous_586_ + PyJs_anonymous_585_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_585_) +PyJs_anonymous_584_._set_name(u'anonymous') +PyJs_Object_587_ = Js({u'./_object-keys':Js(89.0),u'./_object-pie':Js(90.0),u'./_to-iobject':Js(123.0)}) +@Js +def PyJs_anonymous_588_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'Reflect', u'exports', u'require', u'gOPS', u'module', u'gOPN', u'anObject']) + var.put(u'gOPN', var.get(u'require')(Js(u'./_object-gopn'))) + var.put(u'gOPS', var.get(u'require')(Js(u'./_object-gops'))) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + var.put(u'Reflect', var.get(u'require')(Js(u'./_global')).get(u'Reflect')) + @Js + def PyJs_ownKeys_589_(it, this, arguments, var=var): + var = Scope({u'this':this, u'ownKeys':PyJs_ownKeys_589_, u'it':it, u'arguments':arguments}, var) + var.registers([u'keys', u'getSymbols', u'it']) + var.put(u'keys', var.get(u'gOPN').callprop(u'f', var.get(u'anObject')(var.get(u'it')))) + var.put(u'getSymbols', var.get(u'gOPS').get(u'f')) + return (var.get(u'keys').callprop(u'concat', var.get(u'getSymbols')(var.get(u'it'))) if var.get(u'getSymbols') else var.get(u'keys')) + PyJs_ownKeys_589_._set_name(u'ownKeys') + var.get(u'module').put(u'exports', ((var.get(u'Reflect') and var.get(u'Reflect').get(u'ownKeys')) or PyJs_ownKeys_589_)) +PyJs_anonymous_588_._set_name(u'anonymous') +PyJs_Object_590_ = Js({u'./_an-object':Js(16.0),u'./_global':Js(49.0),u'./_object-gopn':Js(85.0),u'./_object-gops':Js(86.0)}) +@Js +def PyJs_anonymous_591_(require, module, exports, this, 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'$trim', u'$parseFloat']) + var.put(u'$parseFloat', var.get(u'require')(Js(u'./_global')).get(u'parseFloat')) + var.put(u'$trim', var.get(u'require')(Js(u'./_string-trim')).get(u'trim')) + @Js + def PyJs_parseFloat_592_(str, this, arguments, var=var): + var = Scope({u'this':this, u'parseFloat':PyJs_parseFloat_592_, u'arguments':arguments, u'str':str}, var) + var.registers([u'string', u'str', u'result']) + var.put(u'string', var.get(u'$trim')(var.get(u'String')(var.get(u'str')), Js(3.0))) + var.put(u'result', var.get(u'$parseFloat')(var.get(u'string'))) + return ((-Js(0.0)) if (PyJsStrictEq(var.get(u'result'),Js(0.0)) and (var.get(u'string').callprop(u'charAt', Js(0.0))==Js(u'-'))) else var.get(u'result')) + PyJs_parseFloat_592_._set_name(u'parseFloat') + var.get(u'module').put(u'exports', (PyJs_parseFloat_592_ if PyJsStrictNeq((Js(1.0)/var.get(u'$parseFloat')((var.get(u'require')(Js(u'./_string-ws'))+Js(u'-0')))),(-var.get(u'Infinity'))) else var.get(u'$parseFloat'))) +PyJs_anonymous_591_._set_name(u'anonymous') +PyJs_Object_593_ = Js({u'./_global':Js(49.0),u'./_string-trim':Js(117.0),u'./_string-ws':Js(118.0)}) +@Js +def PyJs_anonymous_594_(require, module, exports, this, 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'$parseInt', u'require', u'hex', u'module', u'ws', u'$trim']) + var.put(u'$parseInt', var.get(u'require')(Js(u'./_global')).get(u'parseInt')) + var.put(u'$trim', var.get(u'require')(Js(u'./_string-trim')).get(u'trim')) + var.put(u'ws', var.get(u'require')(Js(u'./_string-ws'))) + var.put(u'hex', JsRegExp(u'/^[-+]?0[xX]/')) + @Js + def PyJs_parseInt_595_(str, radix, this, arguments, var=var): + var = Scope({u'this':this, u'parseInt':PyJs_parseInt_595_, u'radix':radix, u'arguments':arguments, u'str':str}, var) + var.registers([u'radix', u'string', u'str']) + var.put(u'string', var.get(u'$trim')(var.get(u'String')(var.get(u'str')), Js(3.0))) + return var.get(u'$parseInt')(var.get(u'string'), (PyJsBshift(var.get(u'radix'),Js(0.0)) or (Js(16.0) if var.get(u'hex').callprop(u'test', var.get(u'string')) else Js(10.0)))) + PyJs_parseInt_595_._set_name(u'parseInt') + var.get(u'module').put(u'exports', (PyJs_parseInt_595_ if (PyJsStrictNeq(var.get(u'$parseInt')((var.get(u'ws')+Js(u'08'))),Js(8.0)) or PyJsStrictNeq(var.get(u'$parseInt')((var.get(u'ws')+Js(u'0x16'))),Js(22.0))) else var.get(u'$parseInt'))) +PyJs_anonymous_594_._set_name(u'anonymous') +PyJs_Object_596_ = Js({u'./_global':Js(49.0),u'./_string-trim':Js(117.0),u'./_string-ws':Js(118.0)}) +@Js +def PyJs_anonymous_597_(require, module, exports, this, 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_598_(PyJsArg_65786563_, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'exec':PyJsArg_65786563_}, var) + var.registers([u'exec']) + try: + PyJs_Object_599_ = Js({u'e':Js(False),u'v':var.get(u'exec')()}) + return PyJs_Object_599_ + except PyJsException as PyJsTempException: + PyJsHolder_65_96719600 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + PyJs_Object_600_ = Js({u'e':Js(True),u'v':var.get(u'e')}) + return PyJs_Object_600_ + finally: + if PyJsHolder_65_96719600 is not None: + var.own[u'e'] = PyJsHolder_65_96719600 + else: + del var.own[u'e'] + del PyJsHolder_65_96719600 + PyJs_anonymous_598_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_598_) +PyJs_anonymous_597_._set_name(u'anonymous') +PyJs_Object_601_ = Js({}) +@Js +def PyJs_anonymous_602_(require, module, exports, this, 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'anObject', u'newPromiseCapability', u'isObject']) + 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'newPromiseCapability', var.get(u'require')(Js(u'./_new-promise-capability'))) + @Js + def PyJs_anonymous_603_(C, x, this, arguments, var=var): + var = Scope({u'this':this, u'x':x, u'C':C, u'arguments':arguments}, var) + var.registers([u'promiseCapability', u'x', u'C', u'resolve']) + var.get(u'anObject')(var.get(u'C')) + if (var.get(u'isObject')(var.get(u'x')) and PyJsStrictEq(var.get(u'x').get(u'constructor'),var.get(u'C'))): + return var.get(u'x') + var.put(u'promiseCapability', var.get(u'newPromiseCapability').callprop(u'f', var.get(u'C'))) + var.put(u'resolve', var.get(u'promiseCapability').get(u'resolve')) + var.get(u'resolve')(var.get(u'x')) + return var.get(u'promiseCapability').get(u'promise') + PyJs_anonymous_603_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_603_) +PyJs_anonymous_602_._set_name(u'anonymous') +PyJs_Object_604_ = Js({u'./_an-object':Js(16.0),u'./_is-object':Js(60.0),u'./_new-promise-capability':Js(77.0)}) +@Js +def PyJs_anonymous_605_(require, module, exports, this, 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_606_(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_607_ = 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_607_ + PyJs_anonymous_606_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_606_) +PyJs_anonymous_605_._set_name(u'anonymous') +PyJs_Object_608_ = Js({}) +@Js +def PyJs_anonymous_609_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'redefine', u'exports', u'require', u'module']) + var.put(u'redefine', var.get(u'require')(Js(u'./_redefine'))) + @Js + def PyJs_anonymous_610_(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) + var.get(u'redefine')(var.get(u'target'), var.get(u'key'), var.get(u'src').get(var.get(u'key')), var.get(u'safe')) + return var.get(u'target') + PyJs_anonymous_610_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_610_) +PyJs_anonymous_609_._set_name(u'anonymous') +PyJs_Object_611_ = Js({u'./_redefine':Js(100.0)}) +@Js +def PyJs_anonymous_612_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'SRC', u'exports', u'TPL', u'hide', u'require', u'global', u'module', u'TO_STRING', u'$toString', u'has']) + 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'has', var.get(u'require')(Js(u'./_has'))) + var.put(u'SRC', var.get(u'require')(Js(u'./_uid'))(Js(u'src'))) + var.put(u'TO_STRING', Js(u'toString')) + var.put(u'$toString', var.get(u'Function').get(var.get(u'TO_STRING'))) + var.put(u'TPL', (Js(u'')+var.get(u'$toString')).callprop(u'split', var.get(u'TO_STRING'))) + @Js + def PyJs_anonymous_613_(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')) + PyJs_anonymous_613_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_core')).put(u'inspectSource', PyJs_anonymous_613_) + @Js + def PyJs_toString_614_(this, arguments, var=var): + var = Scope({u'this':this, u'toString':PyJs_toString_614_, u'arguments':arguments}, var) + var.registers([]) + return (((var.get(u"this",throw=False).typeof()==Js(u'function')) and var.get(u"this").get(var.get(u'SRC'))) or var.get(u'$toString').callprop(u'call', var.get(u"this"))) + PyJs_toString_614_._set_name(u'toString') + @Js + def PyJs_anonymous_615_(O, key, val, safe, this, arguments, var=var): + var = Scope({u'key':key, u'val':val, u'this':this, u'safe':safe, u'O':O, u'arguments':arguments}, var) + var.registers([u'isFunction', u'val', u'safe', u'key', u'O']) + var.put(u'isFunction', (var.get(u'val',throw=False).typeof()==Js(u'function'))) + if var.get(u'isFunction'): + (var.get(u'has')(var.get(u'val'), Js(u'name')) or var.get(u'hide')(var.get(u'val'), Js(u'name'), var.get(u'key'))) + if PyJsStrictEq(var.get(u'O').get(var.get(u'key')),var.get(u'val')): + return var.get('undefined') + if var.get(u'isFunction'): + (var.get(u'has')(var.get(u'val'), var.get(u'SRC')) or var.get(u'hide')(var.get(u'val'), var.get(u'SRC'), ((Js(u'')+var.get(u'O').get(var.get(u'key'))) if var.get(u'O').get(var.get(u'key')) else var.get(u'TPL').callprop(u'join', var.get(u'String')(var.get(u'key')))))) + if PyJsStrictEq(var.get(u'O'),var.get(u'global')): + var.get(u'O').put(var.get(u'key'), var.get(u'val')) + else: + if var.get(u'safe').neg(): + var.get(u'O').delete(var.get(u'key')) + var.get(u'hide')(var.get(u'O'), var.get(u'key'), var.get(u'val')) + else: + if var.get(u'O').get(var.get(u'key')): + var.get(u'O').put(var.get(u'key'), var.get(u'val')) + else: + var.get(u'hide')(var.get(u'O'), var.get(u'key'), var.get(u'val')) + PyJs_anonymous_615_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_615_)(var.get(u'Function').get(u'prototype'), var.get(u'TO_STRING'), PyJs_toString_614_) +PyJs_anonymous_612_._set_name(u'anonymous') +PyJs_Object_616_ = Js({u'./_core':Js(32.0),u'./_global':Js(49.0),u'./_has':Js(50.0),u'./_hide':Js(51.0),u'./_uid':Js(130.0)}) +@Js +def PyJs_anonymous_617_(require, module, exports, this, 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_618_(regExp, replace, this, arguments, var=var): + var = Scope({u'this':this, u'regExp':regExp, u'arguments':arguments, u'replace':replace}, var) + var.registers([u'regExp', u'replacer', u'replace']) + @Js + def PyJs_anonymous_619_(part, this, arguments, var=var): + var = Scope({u'this':this, u'part':part, u'arguments':arguments}, var) + var.registers([u'part']) + return var.get(u'replace').get(var.get(u'part')) + PyJs_anonymous_619_._set_name(u'anonymous') + var.put(u'replacer', (PyJs_anonymous_619_ if PyJsStrictEq(var.get(u'replace'),var.get(u'Object')(var.get(u'replace'))) else var.get(u'replace'))) + @Js + def PyJs_anonymous_620_(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'String')(var.get(u'it')).callprop(u'replace', var.get(u'regExp'), var.get(u'replacer')) + PyJs_anonymous_620_._set_name(u'anonymous') + return PyJs_anonymous_620_ + PyJs_anonymous_618_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_618_) +PyJs_anonymous_617_._set_name(u'anonymous') +PyJs_Object_621_ = Js({}) +@Js +def PyJs_anonymous_622_(require, module, exports, this, 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_InlineNonPyName_623_(x, y, this, arguments, var=var): + var = Scope({u'y':y, u'x':x, u'is':PyJs_InlineNonPyName_623_, u'this':this, u'arguments':arguments}, var) + var.registers([u'y', u'x']) + return ((PyJsStrictNeq(var.get(u'x'),Js(0.0)) or PyJsStrictEq((Js(1.0)/var.get(u'x')),(Js(1.0)/var.get(u'y')))) if PyJsStrictEq(var.get(u'x'),var.get(u'y')) else ((var.get(u'x')!=var.get(u'x')) and (var.get(u'y')!=var.get(u'y')))) + PyJs_InlineNonPyName_623_._set_name(u'is') + var.get(u'module').put(u'exports', (var.get(u'Object').get(u'is') or PyJs_InlineNonPyName_623_)) +PyJs_anonymous_622_._set_name(u'anonymous') +PyJs_Object_624_ = Js({}) +@Js +def PyJs_anonymous_625_(require, module, exports, this, 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'$export', u'require', u'ctx', u'module', u'aFunction']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'aFunction', var.get(u'require')(Js(u'./_a-function'))) + var.put(u'ctx', var.get(u'require')(Js(u'./_ctx'))) + var.put(u'forOf', var.get(u'require')(Js(u'./_for-of'))) + @Js + def PyJs_anonymous_626_(COLLECTION, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'COLLECTION':COLLECTION}, var) + var.registers([u'COLLECTION']) + @Js + def PyJs_InlineNonPyName_628_(source, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'from':PyJs_InlineNonPyName_628_, u'arguments':arguments}, var) + var.registers([u'A', u'cb', u'mapFn', u'mapping', u'n', u'source']) + var.put(u'mapFn', var.get(u'arguments').get(u'1')) + pass + var.get(u'aFunction')(var.get(u"this")) + var.put(u'mapping', PyJsStrictNeq(var.get(u'mapFn'),var.get(u'undefined'))) + if var.get(u'mapping'): + var.get(u'aFunction')(var.get(u'mapFn')) + if (var.get(u'source')==var.get(u'undefined')): + return var.get(u"this").create() + var.put(u'A', Js([])) + if var.get(u'mapping'): + var.put(u'n', Js(0.0)) + var.put(u'cb', var.get(u'ctx')(var.get(u'mapFn'), var.get(u'arguments').get(u'2'), Js(2.0))) + @Js + def PyJs_anonymous_629_(nextItem, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'nextItem':nextItem}, var) + var.registers([u'nextItem']) + var.get(u'A').callprop(u'push', var.get(u'cb')(var.get(u'nextItem'), (var.put(u'n',Js(var.get(u'n').to_number())+Js(1))-Js(1)))) + PyJs_anonymous_629_._set_name(u'anonymous') + var.get(u'forOf')(var.get(u'source'), Js(False), PyJs_anonymous_629_) + else: + var.get(u'forOf')(var.get(u'source'), Js(False), var.get(u'A').get(u'push'), var.get(u'A')) + return var.get(u"this").create(var.get(u'A')) + PyJs_InlineNonPyName_628_._set_name(u'from') + PyJs_Object_627_ = Js({u'from':PyJs_InlineNonPyName_628_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), var.get(u'COLLECTION'), PyJs_Object_627_) + PyJs_anonymous_626_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_626_) +PyJs_anonymous_625_._set_name(u'anonymous') +PyJs_Object_630_ = Js({u'./_a-function':Js(12.0),u'./_ctx':Js(34.0),u'./_export':Js(42.0),u'./_for-of':Js(48.0)}) +@Js +def PyJs_anonymous_631_(require, module, exports, this, 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']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + @Js + def PyJs_anonymous_632_(COLLECTION, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'COLLECTION':COLLECTION}, var) + var.registers([u'COLLECTION']) + @Js + def PyJs_of_634_(this, arguments, var=var): + var = Scope({u'this':this, u'of':PyJs_of_634_, u'arguments':arguments}, var) + var.registers([u'A', u'length']) + var.put(u'length', var.get(u'arguments').get(u'length')) + var.put(u'A', var.get(u'Array').create(var.get(u'length'))) + while (var.put(u'length',Js(var.get(u'length').to_number())-Js(1))+Js(1)): + var.get(u'A').put(var.get(u'length'), var.get(u'arguments').get(var.get(u'length'))) + return var.get(u"this").create(var.get(u'A')) + PyJs_of_634_._set_name(u'of') + PyJs_Object_633_ = Js({u'of':PyJs_of_634_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), var.get(u'COLLECTION'), PyJs_Object_633_) + PyJs_anonymous_632_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_632_) +PyJs_anonymous_631_._set_name(u'anonymous') +PyJs_Object_635_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_636_(require, module, exports, this, 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_check_637_(O, proto, this, arguments, var=var): + var = Scope({u'this':this, u'check':PyJs_check_637_, 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_check_637_._set_name(u'check') + var.put(u'check', PyJs_check_637_) + PyJs_Object_639_ = Js({}) + @Js + def PyJs_anonymous_640_(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_70987041 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + var.put(u'buggy', Js(True)) + finally: + if PyJsHolder_65_70987041 is not None: + var.own[u'e'] = PyJsHolder_65_70987041 + else: + del var.own[u'e'] + del PyJsHolder_65_70987041 + @Js + def PyJs_setPrototypeOf_641_(O, proto, this, arguments, var=var): + var = Scope({u'this':this, u'setPrototypeOf':PyJs_setPrototypeOf_641_, 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_641_._set_name(u'setPrototypeOf') + return PyJs_setPrototypeOf_641_ + PyJs_anonymous_640_._set_name(u'anonymous') + PyJs_Object_642_ = Js({}) + PyJs_Object_638_ = Js({u'set':(var.get(u'Object').get(u'setPrototypeOf') or (PyJs_anonymous_640_(PyJs_Object_639_, Js(False)) if PyJs_Object_642_.contains(Js(u'__proto__')) else var.get(u'undefined'))),u'check':var.get(u'check')}) + var.get(u'module').put(u'exports', PyJs_Object_638_) +PyJs_anonymous_636_._set_name(u'anonymous') +PyJs_Object_643_ = Js({u'./_an-object':Js(16.0),u'./_ctx':Js(34.0),u'./_is-object':Js(60.0),u'./_object-gopd':Js(83.0)}) +@Js +def PyJs_anonymous_644_(require, module, exports, this, 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'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'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_645_(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'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_get_647_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_647_}, var) + var.registers([]) + return var.get(u"this") + PyJs_get_647_._set_name(u'get') + PyJs_Object_646_ = Js({u'configurable':Js(True),u'get':PyJs_get_647_}) + var.get(u'dP').callprop(u'f', var.get(u'C'), var.get(u'SPECIES'), PyJs_Object_646_) + PyJs_anonymous_645_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_645_) +PyJs_anonymous_644_._set_name(u'anonymous') +PyJs_Object_648_ = Js({u'./_descriptors':Js(38.0),u'./_global':Js(49.0),u'./_object-dp':Js(80.0),u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_649_(require, module, exports, this, 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_650_(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_651_ = Js({u'configurable':Js(True),u'value':var.get(u'tag')}) + var.get(u'def')(var.get(u'it'), var.get(u'TAG'), PyJs_Object_651_) + PyJs_anonymous_650_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_650_) +PyJs_anonymous_649_._set_name(u'anonymous') +PyJs_Object_652_ = Js({u'./_has':Js(50.0),u'./_object-dp':Js(80.0),u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_653_(require, module, exports, this, 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_654_(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_654_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_654_) +PyJs_anonymous_653_._set_name(u'anonymous') +PyJs_Object_655_ = Js({u'./_shared':Js(109.0),u'./_uid':Js(130.0)}) +@Js +def PyJs_anonymous_656_(require, module, exports, this, 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'require', u'global', u'module', u'SHARED', u'store']) + var.put(u'core', var.get(u'require')(Js(u'./_core'))) + var.put(u'global', var.get(u'require')(Js(u'./_global'))) + var.put(u'SHARED', Js(u'__core-js_shared__')) + PyJs_Object_657_ = 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_657_))) + PyJs_Object_658_ = Js({u'version':var.get(u'core').get(u'version'),u'mode':(Js(u'pure') if var.get(u'require')(Js(u'./_library')) else Js(u'global')),u'copyright':Js(u'\xa9 2018 Denis Pushkarev (zloirock.ru)')}) + @Js + def PyJs_anonymous_659_(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']) + PyJs_Object_660_ = Js({}) + return (var.get(u'store').get(var.get(u'key')) or var.get(u'store').put(var.get(u'key'), (var.get(u'value') if PyJsStrictNeq(var.get(u'value'),var.get(u'undefined')) else PyJs_Object_660_))) + PyJs_anonymous_659_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_659_)(Js(u'versions'), Js([])).callprop(u'push', PyJs_Object_658_) +PyJs_anonymous_656_._set_name(u'anonymous') +PyJs_Object_661_ = Js({u'./_core':Js(32.0),u'./_global':Js(49.0),u'./_library':Js(68.0)}) +@Js +def PyJs_anonymous_662_(require, module, exports, this, 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'anObject', u'aFunction', u'SPECIES']) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + var.put(u'aFunction', var.get(u'require')(Js(u'./_a-function'))) + var.put(u'SPECIES', var.get(u'require')(Js(u'./_wks'))(Js(u'species'))) + @Js + def PyJs_anonymous_663_(O, D, this, arguments, var=var): + var = Scope({u'this':this, u'D':D, u'O':O, u'arguments':arguments}, var) + var.registers([u'C', u'S', u'O', u'D']) + var.put(u'C', var.get(u'anObject')(var.get(u'O')).get(u'constructor')) + pass + return (var.get(u'D') if (PyJsStrictEq(var.get(u'C'),var.get(u'undefined')) or (var.put(u'S', var.get(u'anObject')(var.get(u'C')).get(var.get(u'SPECIES')))==var.get(u'undefined'))) else var.get(u'aFunction')(var.get(u'S'))) + PyJs_anonymous_663_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_663_) +PyJs_anonymous_662_._set_name(u'anonymous') +PyJs_Object_664_ = Js({u'./_a-function':Js(12.0),u'./_an-object':Js(16.0),u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_665_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'fails', u'exports', u'require', u'module']) + Js(u'use strict') + var.put(u'fails', var.get(u'require')(Js(u'./_fails'))) + @Js + def PyJs_anonymous_666_(method, arg, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'method':method, u'arg':arg}, var) + var.registers([u'method', u'arg']) + @Js + def PyJs_anonymous_667_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_anonymous_668_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJs_anonymous_668_._set_name(u'anonymous') + (var.get(u'method').callprop(u'call', var.get(u"null"), PyJs_anonymous_668_, Js(1.0)) if var.get(u'arg') else var.get(u'method').callprop(u'call', var.get(u"null"))) + PyJs_anonymous_667_._set_name(u'anonymous') + return (var.get(u'method').neg().neg() and var.get(u'fails')(PyJs_anonymous_667_)) + PyJs_anonymous_666_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_666_) +PyJs_anonymous_665_._set_name(u'anonymous') +PyJs_Object_669_ = Js({u'./_fails':Js(44.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'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_671_(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_672_(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')) + pass + 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_673_(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))<'))+var.get(u'S'))+Js(u'')) + PyJs_createHTML_679_._set_name(u'createHTML') + var.put(u'createHTML', PyJs_createHTML_679_) + @Js + def PyJs_anonymous_680_(NAME, PyJsArg_65786563_, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'NAME':NAME, u'exec':PyJsArg_65786563_}, var) + var.registers([u'NAME', u'O', u'exec']) + PyJs_Object_681_ = Js({}) + var.put(u'O', PyJs_Object_681_) + var.get(u'O').put(var.get(u'NAME'), var.get(u'exec')(var.get(u'createHTML'))) + @Js + def PyJs_anonymous_682_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'test']) + var.put(u'test', Js(u'').callprop(var.get(u'NAME'), Js(u'"'))) + return (PyJsStrictNeq(var.get(u'test'),var.get(u'test').callprop(u'toLowerCase')) or (var.get(u'test').callprop(u'split', Js(u'"')).get(u'length')>Js(3.0))) + PyJs_anonymous_682_._set_name(u'anonymous') + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*var.get(u'fails')(PyJs_anonymous_682_))), Js(u'String'), var.get(u'O')) + PyJs_anonymous_680_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_680_) +PyJs_anonymous_678_._set_name(u'anonymous') +PyJs_Object_683_ = Js({u'./_defined':Js(37.0),u'./_export':Js(42.0),u'./_fails':Js(44.0)}) +@Js +def PyJs_anonymous_684_(require, module, exports, this, 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'defined', u'require', u'module', u'repeat']) + var.put(u'toLength', var.get(u'require')(Js(u'./_to-length'))) + var.put(u'repeat', var.get(u'require')(Js(u'./_string-repeat'))) + var.put(u'defined', var.get(u'require')(Js(u'./_defined'))) + @Js + def PyJs_anonymous_685_(that, maxLength, fillString, left, this, arguments, var=var): + var = Scope({u'arguments':arguments, u'maxLength':maxLength, u'this':this, u'that':that, u'fillString':fillString, u'left':left}, var) + var.registers([u'fillStr', u'that', u'intMaxLength', u'fillString', u'S', u'stringLength', u'maxLength', u'left', u'stringFiller', u'fillLen']) + var.put(u'S', var.get(u'String')(var.get(u'defined')(var.get(u'that')))) + var.put(u'stringLength', var.get(u'S').get(u'length')) + var.put(u'fillStr', (Js(u' ') if PyJsStrictEq(var.get(u'fillString'),var.get(u'undefined')) else var.get(u'String')(var.get(u'fillString')))) + var.put(u'intMaxLength', var.get(u'toLength')(var.get(u'maxLength'))) + if ((var.get(u'intMaxLength')<=var.get(u'stringLength')) or (var.get(u'fillStr')==Js(u''))): + return var.get(u'S') + var.put(u'fillLen', (var.get(u'intMaxLength')-var.get(u'stringLength'))) + var.put(u'stringFiller', var.get(u'repeat').callprop(u'call', var.get(u'fillStr'), var.get(u'Math').callprop(u'ceil', (var.get(u'fillLen')/var.get(u'fillStr').get(u'length'))))) + if (var.get(u'stringFiller').get(u'length')>var.get(u'fillLen')): + var.put(u'stringFiller', var.get(u'stringFiller').callprop(u'slice', Js(0.0), var.get(u'fillLen'))) + return ((var.get(u'stringFiller')+var.get(u'S')) if var.get(u'left') else (var.get(u'S')+var.get(u'stringFiller'))) + PyJs_anonymous_685_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_685_) +PyJs_anonymous_684_._set_name(u'anonymous') +PyJs_Object_686_ = Js({u'./_defined':Js(37.0),u'./_string-repeat':Js(116.0),u'./_to-length':Js(124.0)}) +@Js +def PyJs_anonymous_687_(require, module, exports, this, 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']) + Js(u'use strict') + 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_repeat_688_(count, this, arguments, var=var): + var = Scope({u'count':count, u'this':this, u'repeat':PyJs_repeat_688_, u'arguments':arguments}, var) + var.registers([u'count', u'res', u'str', u'n']) + var.put(u'str', var.get(u'String')(var.get(u'defined')(var.get(u"this")))) + var.put(u'res', Js(u'')) + var.put(u'n', var.get(u'toInteger')(var.get(u'count'))) + if ((var.get(u'n')Js(0.0)): + try: + if (var.get(u'n')&Js(1.0)): + var.put(u'res', var.get(u'str'), u'+') + finally: + (var.put(u'n', Js(1.0), u'>>>') and var.put(u'str', var.get(u'str'), u'+')) + return var.get(u'res') + PyJs_repeat_688_._set_name(u'repeat') + var.get(u'module').put(u'exports', PyJs_repeat_688_) +PyJs_anonymous_687_._set_name(u'anonymous') +PyJs_Object_689_ = Js({u'./_defined':Js(37.0),u'./_to-integer':Js(122.0)}) +@Js +def PyJs_anonymous_690_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'trim', u'fails', u'exporter', u'exports', u'ltrim', u'space', u'defined', u'$export', u'require', u'non', u'module', u'spaces', u'rtrim']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'defined', var.get(u'require')(Js(u'./_defined'))) + var.put(u'fails', var.get(u'require')(Js(u'./_fails'))) + var.put(u'spaces', var.get(u'require')(Js(u'./_string-ws'))) + var.put(u'space', ((Js(u'[')+var.get(u'spaces'))+Js(u']'))) + var.put(u'non', Js(u'\u200b\x85')) + var.put(u'ltrim', var.get(u'RegExp')((((Js(u'^')+var.get(u'space'))+var.get(u'space'))+Js(u'*')))) + var.put(u'rtrim', var.get(u'RegExp')(((var.get(u'space')+var.get(u'space'))+Js(u'*$')))) + @Js + def PyJs_exporter_691_(KEY, PyJsArg_65786563_, ALIAS, this, arguments, var=var): + var = Scope({u'exporter':PyJs_exporter_691_, u'exec':PyJsArg_65786563_, u'this':this, u'ALIAS':ALIAS, u'arguments':arguments, u'KEY':KEY}, var) + var.registers([u'FORCE', u'exp', u'exec', u'ALIAS', u'KEY', u'fn']) + PyJs_Object_692_ = Js({}) + var.put(u'exp', PyJs_Object_692_) + @Js + def PyJs_anonymous_693_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return (var.get(u'spaces').callprop(var.get(u'KEY')).neg().neg() or (var.get(u'non').callprop(var.get(u'KEY'))!=var.get(u'non'))) + PyJs_anonymous_693_._set_name(u'anonymous') + var.put(u'FORCE', var.get(u'fails')(PyJs_anonymous_693_)) + var.put(u'fn', var.get(u'exp').put(var.get(u'KEY'), (var.get(u'exec')(var.get(u'trim')) if var.get(u'FORCE') else var.get(u'spaces').get(var.get(u'KEY'))))) + if var.get(u'ALIAS'): + var.get(u'exp').put(var.get(u'ALIAS'), var.get(u'fn')) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*var.get(u'FORCE'))), Js(u'String'), var.get(u'exp')) + PyJs_exporter_691_._set_name(u'exporter') + var.put(u'exporter', PyJs_exporter_691_) + @Js + def PyJs_anonymous_694_(string, TYPE, this, arguments, var=var): + var = Scope({u'this':this, u'TYPE':TYPE, u'string':string, u'arguments':arguments}, var) + var.registers([u'TYPE', u'string']) + var.put(u'string', var.get(u'String')(var.get(u'defined')(var.get(u'string')))) + if (var.get(u'TYPE')&Js(1.0)): + var.put(u'string', var.get(u'string').callprop(u'replace', var.get(u'ltrim'), Js(u''))) + if (var.get(u'TYPE')&Js(2.0)): + var.put(u'string', var.get(u'string').callprop(u'replace', var.get(u'rtrim'), Js(u''))) + return var.get(u'string') + PyJs_anonymous_694_._set_name(u'anonymous') + var.put(u'trim', var.get(u'exporter').put(u'trim', PyJs_anonymous_694_)) + var.get(u'module').put(u'exports', var.get(u'exporter')) +PyJs_anonymous_690_._set_name(u'anonymous') +PyJs_Object_695_ = Js({u'./_defined':Js(37.0),u'./_export':Js(42.0),u'./_fails':Js(44.0),u'./_string-ws':Js(118.0)}) +@Js +def PyJs_anonymous_696_(require, module, exports, this, 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'\t\n\x0b\x0c\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003')+Js(u'\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff'))) +PyJs_anonymous_696_._set_name(u'anonymous') +PyJs_Object_697_ = Js({}) +@Js +def PyJs_anonymous_698_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'setTask', u'defer', u'exports', u'cel', u'run', u'clearTask', u'invoke', u'process', u'require', u'global', u'ctx', u'Dispatch', u'port', u'queue', u'html', u'module', u'listener', u'MessageChannel', u'ONREADYSTATECHANGE', u'channel', u'counter']) + var.put(u'ctx', var.get(u'require')(Js(u'./_ctx'))) + var.put(u'invoke', var.get(u'require')(Js(u'./_invoke'))) + var.put(u'html', var.get(u'require')(Js(u'./_html'))) + var.put(u'cel', var.get(u'require')(Js(u'./_dom-create'))) + var.put(u'global', var.get(u'require')(Js(u'./_global'))) + var.put(u'process', var.get(u'global').get(u'process')) + var.put(u'setTask', var.get(u'global').get(u'setImmediate')) + var.put(u'clearTask', var.get(u'global').get(u'clearImmediate')) + var.put(u'MessageChannel', var.get(u'global').get(u'MessageChannel')) + var.put(u'Dispatch', var.get(u'global').get(u'Dispatch')) + var.put(u'counter', Js(0.0)) + PyJs_Object_699_ = Js({}) + var.put(u'queue', PyJs_Object_699_) + var.put(u'ONREADYSTATECHANGE', Js(u'onreadystatechange')) + pass + @Js + def PyJs_run_700_(this, arguments, var=var): + var = Scope({u'this':this, u'run':PyJs_run_700_, u'arguments':arguments}, var) + var.registers([u'id', u'fn']) + var.put(u'id', (+var.get(u"this"))) + if var.get(u'queue').callprop(u'hasOwnProperty', var.get(u'id')): + var.put(u'fn', var.get(u'queue').get(var.get(u'id'))) + var.get(u'queue').delete(var.get(u'id')) + var.get(u'fn')() + PyJs_run_700_._set_name(u'run') + var.put(u'run', PyJs_run_700_) + @Js + def PyJs_listener_701_(event, this, arguments, var=var): + var = Scope({u'this':this, u'listener':PyJs_listener_701_, u'event':event, u'arguments':arguments}, var) + var.registers([u'event']) + var.get(u'run').callprop(u'call', var.get(u'event').get(u'data')) + PyJs_listener_701_._set_name(u'listener') + var.put(u'listener', PyJs_listener_701_) + if (var.get(u'setTask').neg() or var.get(u'clearTask').neg()): + @Js + def PyJs_setImmediate_702_(fn, this, arguments, var=var): + var = Scope({u'this':this, u'setImmediate':PyJs_setImmediate_702_, u'arguments':arguments, u'fn':fn}, var) + var.registers([u'i', u'args', u'fn']) + var.put(u'args', Js([])) + 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)))) + @Js + def PyJs_anonymous_703_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'invoke')((var.get(u'fn') if (var.get(u'fn',throw=False).typeof()==Js(u'function')) else var.get(u'Function')(var.get(u'fn'))), var.get(u'args')) + PyJs_anonymous_703_._set_name(u'anonymous') + var.get(u'queue').put(var.put(u'counter',Js(var.get(u'counter').to_number())+Js(1)), PyJs_anonymous_703_) + var.get(u'defer')(var.get(u'counter')) + return var.get(u'counter') + PyJs_setImmediate_702_._set_name(u'setImmediate') + var.put(u'setTask', PyJs_setImmediate_702_) + @Js + def PyJs_clearImmediate_704_(id, this, arguments, var=var): + var = Scope({u'this':this, u'clearImmediate':PyJs_clearImmediate_704_, u'id':id, u'arguments':arguments}, var) + var.registers([u'id']) + var.get(u'queue').delete(var.get(u'id')) + PyJs_clearImmediate_704_._set_name(u'clearImmediate') + var.put(u'clearTask', PyJs_clearImmediate_704_) + if (var.get(u'require')(Js(u'./_cof'))(var.get(u'process'))==Js(u'process')): + @Js + def PyJs_defer_705_(id, this, arguments, var=var): + var = Scope({u'this':this, u'defer':PyJs_defer_705_, u'id':id, u'arguments':arguments}, var) + var.registers([u'id']) + var.get(u'process').callprop(u'nextTick', var.get(u'ctx')(var.get(u'run'), var.get(u'id'), Js(1.0))) + PyJs_defer_705_._set_name(u'defer') + var.put(u'defer', PyJs_defer_705_) + else: + if (var.get(u'Dispatch') and var.get(u'Dispatch').get(u'now')): + @Js + def PyJs_defer_706_(id, this, arguments, var=var): + var = Scope({u'this':this, u'defer':PyJs_defer_706_, u'id':id, u'arguments':arguments}, var) + var.registers([u'id']) + var.get(u'Dispatch').callprop(u'now', var.get(u'ctx')(var.get(u'run'), var.get(u'id'), Js(1.0))) + PyJs_defer_706_._set_name(u'defer') + var.put(u'defer', PyJs_defer_706_) + else: + if var.get(u'MessageChannel'): + var.put(u'channel', var.get(u'MessageChannel').create()) + var.put(u'port', var.get(u'channel').get(u'port2')) + var.get(u'channel').get(u'port1').put(u'onmessage', var.get(u'listener')) + var.put(u'defer', var.get(u'ctx')(var.get(u'port').get(u'postMessage'), var.get(u'port'), Js(1.0))) + else: + if ((var.get(u'global').get(u'addEventListener') and (var.get(u'postMessage',throw=False).typeof()==Js(u'function'))) and var.get(u'global').get(u'importScripts').neg()): + @Js + def PyJs_defer_707_(id, this, arguments, var=var): + var = Scope({u'this':this, u'defer':PyJs_defer_707_, u'id':id, u'arguments':arguments}, var) + var.registers([u'id']) + var.get(u'global').callprop(u'postMessage', (var.get(u'id')+Js(u'')), Js(u'*')) + PyJs_defer_707_._set_name(u'defer') + var.put(u'defer', PyJs_defer_707_) + var.get(u'global').callprop(u'addEventListener', Js(u'message'), var.get(u'listener'), Js(False)) + else: + if var.get(u'cel')(Js(u'script')).contains(var.get(u'ONREADYSTATECHANGE')): + @Js + def PyJs_defer_708_(id, this, arguments, var=var): + var = Scope({u'this':this, u'defer':PyJs_defer_708_, u'id':id, u'arguments':arguments}, var) + var.registers([u'id']) + @Js + def PyJs_anonymous_709_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'html').callprop(u'removeChild', var.get(u"this")) + var.get(u'run').callprop(u'call', var.get(u'id')) + PyJs_anonymous_709_._set_name(u'anonymous') + var.get(u'html').callprop(u'appendChild', var.get(u'cel')(Js(u'script'))).put(var.get(u'ONREADYSTATECHANGE'), PyJs_anonymous_709_) + PyJs_defer_708_._set_name(u'defer') + var.put(u'defer', PyJs_defer_708_) + else: + @Js + def PyJs_defer_710_(id, this, arguments, var=var): + var = Scope({u'this':this, u'defer':PyJs_defer_710_, u'id':id, u'arguments':arguments}, var) + var.registers([u'id']) + var.get(u'setTimeout')(var.get(u'ctx')(var.get(u'run'), var.get(u'id'), Js(1.0)), Js(0.0)) + PyJs_defer_710_._set_name(u'defer') + var.put(u'defer', PyJs_defer_710_) + PyJs_Object_711_ = Js({u'set':var.get(u'setTask'),u'clear':var.get(u'clearTask')}) + var.get(u'module').put(u'exports', PyJs_Object_711_) +PyJs_anonymous_698_._set_name(u'anonymous') +PyJs_Object_712_ = Js({u'./_cof':Js(27.0),u'./_ctx':Js(34.0),u'./_dom-create':Js(39.0),u'./_global':Js(49.0),u'./_html':Js(52.0),u'./_invoke':Js(55.0)}) +@Js +def PyJs_anonymous_713_(require, module, exports, this, 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'min', u'max', u'toInteger', u'module', u'require']) + var.put(u'toInteger', var.get(u'require')(Js(u'./_to-integer'))) + var.put(u'max', var.get(u'Math').get(u'max')) + var.put(u'min', var.get(u'Math').get(u'min')) + @Js + def PyJs_anonymous_714_(index, length, this, arguments, var=var): + var = Scope({u'this':this, u'index':index, u'length':length, u'arguments':arguments}, var) + var.registers([u'index', u'length']) + var.put(u'index', var.get(u'toInteger')(var.get(u'index'))) + return (var.get(u'max')((var.get(u'index')+var.get(u'length')), Js(0.0)) if (var.get(u'index')Js(0.0)) else var.get(u'ceil'))(var.get(u'it'))) + PyJs_anonymous_720_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_720_) +PyJs_anonymous_719_._set_name(u'anonymous') +PyJs_Object_721_ = Js({}) +@Js +def PyJs_anonymous_722_(require, module, exports, this, 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_723_(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_723_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_723_) +PyJs_anonymous_722_._set_name(u'anonymous') +PyJs_Object_724_ = Js({u'./_defined':Js(37.0),u'./_iobject':Js(56.0)}) +@Js +def PyJs_anonymous_725_(require, module, exports, this, 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_726_(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_726_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_726_) +PyJs_anonymous_725_._set_name(u'anonymous') +PyJs_Object_727_ = Js({u'./_to-integer':Js(122.0)}) +@Js +def PyJs_anonymous_728_(require, module, exports, this, 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_729_(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_729_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_729_) +PyJs_anonymous_728_._set_name(u'anonymous') +PyJs_Object_730_ = Js({u'./_defined':Js(37.0)}) +@Js +def PyJs_anonymous_731_(require, module, exports, this, 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_732_(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_732_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_732_) +PyJs_anonymous_731_._set_name(u'anonymous') +PyJs_Object_733_ = Js({u'./_is-object':Js(60.0)}) +@Js +def PyJs_anonymous_734_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'propertyDesc', u'$slice', u'$typed', u'$of', u'toObject', u'global', u'arrayIncludes', u'isTAIndex', u'$set', u'fromList', u'$getDesc', u'arrayForEach', u'toPrimitive', u'$GOPD', u'TYPED_CONSTRUCTOR', u'TAG', u'redefineAll', u'has', u'arrayToLocaleString', u'arrayFind', u'exports', u'ITERATOR', u'ARRAY_BUFFER', u'toIndex', u'getPrototypeOf', u'$buffer', u'arrayKeys', u'BYTES_PER_ELEMENT', u'dP', u'VIEW', u'WRONG_LENGTH', u'toAbsoluteIndex', u'$DataView', u'arraySome', u'module', u'$setDesc', u'arrayValues', u'fails', u'hide', u'$from', u'LIBRARY', u'Iterators', u'allocate', u'$toLocaleString', u'toLength', u'arrayEntries', u'arrayIndexOf', u'arrayReduce', u'TO_LOCALE_BUG', u'TypeError', u'anInstance', u'ctx', u'speciesFromList', u'classof', u'PROTOTYPE', u'create', u'$DP', u'Uint8Array', u'arrayLastIndexOf', u'RangeError', u'TYPED_ARRAY', u'speciesConstructor', u'$TypedArrayPrototype$', u'toOffset', u'createArrayIncludes', u'arrayFilter', u'$ArrayBuffer', u'arrayJoin', u'getIterFn', u'require', u'DEF_CONSTRUCTOR', u'$map', u'setSpecies', u'ArrayIterators', u'uid', u'ArrayProto', u'arraySort', u'SHARED_BUFFER', u'arrayToString', u'arrayReduceRight', u'arraySlice', u'wks', u'proto', u'$export', u'arrayFindIndex', u'gOPN', u'ALL_CONSTRUCTORS', u'gOPD', u'$iterators', u'addGetter', u'createArrayMethod', u'FORCED_SET', u'$iterDetect', u'validate', u'LITTLE_ENDIAN', u'isObject', u'arrayCopyWithin', u'toInteger', u'isArrayIter', u'arrayFill', u'arrayEvery']) + Js(u'use strict') + if var.get(u'require')(Js(u'./_descriptors')): + var.put(u'LIBRARY', var.get(u'require')(Js(u'./_library'))) + var.put(u'global', var.get(u'require')(Js(u'./_global'))) + var.put(u'fails', var.get(u'require')(Js(u'./_fails'))) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$typed', var.get(u'require')(Js(u'./_typed'))) + var.put(u'$buffer', var.get(u'require')(Js(u'./_typed-buffer'))) + 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'propertyDesc', var.get(u'require')(Js(u'./_property-desc'))) + 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'toInteger', var.get(u'require')(Js(u'./_to-integer'))) + var.put(u'toLength', var.get(u'require')(Js(u'./_to-length'))) + var.put(u'toIndex', var.get(u'require')(Js(u'./_to-index'))) + var.put(u'toAbsoluteIndex', var.get(u'require')(Js(u'./_to-absolute-index'))) + 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'classof', var.get(u'require')(Js(u'./_classof'))) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'toObject', var.get(u'require')(Js(u'./_to-object'))) + var.put(u'isArrayIter', var.get(u'require')(Js(u'./_is-array-iter'))) + var.put(u'create', var.get(u'require')(Js(u'./_object-create'))) + var.put(u'getPrototypeOf', var.get(u'require')(Js(u'./_object-gpo'))) + var.put(u'gOPN', var.get(u'require')(Js(u'./_object-gopn')).get(u'f')) + var.put(u'getIterFn', var.get(u'require')(Js(u'./core.get-iterator-method'))) + 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'createArrayMethod', var.get(u'require')(Js(u'./_array-methods'))) + var.put(u'createArrayIncludes', var.get(u'require')(Js(u'./_array-includes'))) + var.put(u'speciesConstructor', var.get(u'require')(Js(u'./_species-constructor'))) + var.put(u'ArrayIterators', var.get(u'require')(Js(u'./es6.array.iterator'))) + var.put(u'Iterators', var.get(u'require')(Js(u'./_iterators'))) + var.put(u'$iterDetect', var.get(u'require')(Js(u'./_iter-detect'))) + var.put(u'setSpecies', var.get(u'require')(Js(u'./_set-species'))) + var.put(u'arrayFill', var.get(u'require')(Js(u'./_array-fill'))) + var.put(u'arrayCopyWithin', var.get(u'require')(Js(u'./_array-copy-within'))) + var.put(u'$DP', var.get(u'require')(Js(u'./_object-dp'))) + var.put(u'$GOPD', var.get(u'require')(Js(u'./_object-gopd'))) + var.put(u'dP', var.get(u'$DP').get(u'f')) + var.put(u'gOPD', var.get(u'$GOPD').get(u'f')) + var.put(u'RangeError', var.get(u'global').get(u'RangeError')) + var.put(u'TypeError', var.get(u'global').get(u'TypeError')) + var.put(u'Uint8Array', var.get(u'global').get(u'Uint8Array')) + var.put(u'ARRAY_BUFFER', Js(u'ArrayBuffer')) + var.put(u'SHARED_BUFFER', (Js(u'Shared')+var.get(u'ARRAY_BUFFER'))) + var.put(u'BYTES_PER_ELEMENT', Js(u'BYTES_PER_ELEMENT')) + var.put(u'PROTOTYPE', Js(u'prototype')) + var.put(u'ArrayProto', var.get(u'Array').get(var.get(u'PROTOTYPE'))) + var.put(u'$ArrayBuffer', var.get(u'$buffer').get(u'ArrayBuffer')) + var.put(u'$DataView', var.get(u'$buffer').get(u'DataView')) + var.put(u'arrayForEach', var.get(u'createArrayMethod')(Js(0.0))) + var.put(u'arrayFilter', var.get(u'createArrayMethod')(Js(2.0))) + var.put(u'arraySome', var.get(u'createArrayMethod')(Js(3.0))) + var.put(u'arrayEvery', var.get(u'createArrayMethod')(Js(4.0))) + 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'arrayIncludes', var.get(u'createArrayIncludes')(Js(True))) + var.put(u'arrayIndexOf', var.get(u'createArrayIncludes')(Js(False))) + var.put(u'arrayValues', var.get(u'ArrayIterators').get(u'values')) + var.put(u'arrayKeys', var.get(u'ArrayIterators').get(u'keys')) + var.put(u'arrayEntries', var.get(u'ArrayIterators').get(u'entries')) + var.put(u'arrayLastIndexOf', var.get(u'ArrayProto').get(u'lastIndexOf')) + var.put(u'arrayReduce', var.get(u'ArrayProto').get(u'reduce')) + var.put(u'arrayReduceRight', var.get(u'ArrayProto').get(u'reduceRight')) + var.put(u'arrayJoin', var.get(u'ArrayProto').get(u'join')) + var.put(u'arraySort', var.get(u'ArrayProto').get(u'sort')) + var.put(u'arraySlice', var.get(u'ArrayProto').get(u'slice')) + var.put(u'arrayToString', var.get(u'ArrayProto').get(u'toString')) + var.put(u'arrayToLocaleString', var.get(u'ArrayProto').get(u'toLocaleString')) + var.put(u'ITERATOR', var.get(u'wks')(Js(u'iterator'))) + var.put(u'TAG', var.get(u'wks')(Js(u'toStringTag'))) + var.put(u'TYPED_CONSTRUCTOR', var.get(u'uid')(Js(u'typed_constructor'))) + var.put(u'DEF_CONSTRUCTOR', var.get(u'uid')(Js(u'def_constructor'))) + var.put(u'ALL_CONSTRUCTORS', var.get(u'$typed').get(u'CONSTR')) + var.put(u'TYPED_ARRAY', var.get(u'$typed').get(u'TYPED')) + var.put(u'VIEW', var.get(u'$typed').get(u'VIEW')) + var.put(u'WRONG_LENGTH', Js(u'Wrong length!')) + @Js + def PyJs_anonymous_735_(O, length, this, arguments, var=var): + var = Scope({u'this':this, u'length':length, u'arguments':arguments, u'O':O}, var) + var.registers([u'length', u'O']) + return var.get(u'allocate')(var.get(u'speciesConstructor')(var.get(u'O'), var.get(u'O').get(var.get(u'DEF_CONSTRUCTOR'))), var.get(u'length')) + PyJs_anonymous_735_._set_name(u'anonymous') + var.put(u'$map', var.get(u'createArrayMethod')(Js(1.0), PyJs_anonymous_735_)) + @Js + def PyJs_anonymous_736_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return PyJsStrictEq(var.get(u'Uint8Array').create(var.get(u'Uint16Array').create(Js([Js(1.0)])).get(u'buffer')).get(u'0'),Js(1.0)) + PyJs_anonymous_736_._set_name(u'anonymous') + var.put(u'LITTLE_ENDIAN', var.get(u'fails')(PyJs_anonymous_736_)) + @Js + def PyJs_anonymous_737_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_738_ = Js({}) + var.get(u'Uint8Array').create(Js(1.0)).callprop(u'set', PyJs_Object_738_) + PyJs_anonymous_737_._set_name(u'anonymous') + var.put(u'FORCED_SET', ((var.get(u'Uint8Array').neg().neg() and var.get(u'Uint8Array').get(var.get(u'PROTOTYPE')).get(u'set').neg().neg()) and var.get(u'fails')(PyJs_anonymous_737_))) + @Js + def PyJs_toOffset_739_(it, BYTES, this, arguments, var=var): + var = Scope({u'this':this, u'toOffset':PyJs_toOffset_739_, u'BYTES':BYTES, u'it':it, u'arguments':arguments}, var) + var.registers([u'BYTES', u'it', u'offset']) + var.put(u'offset', var.get(u'toInteger')(var.get(u'it'))) + if ((var.get(u'offset')var.get(u'index')): + var.get(u'result').put(var.get(u'index'), var.get(u'list').get((var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1)))) + return var.get(u'result') + PyJs_fromList_743_._set_name(u'fromList') + var.put(u'fromList', PyJs_fromList_743_) + @Js + def PyJs_addGetter_744_(it, key, internal, this, arguments, var=var): + var = Scope({u'addGetter':PyJs_addGetter_744_, u'this':this, u'it':it, u'internal':internal, u'arguments':arguments, u'key':key}, var) + var.registers([u'internal', u'it', u'key']) + @Js + def PyJs_get_746_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_746_}, var) + var.registers([]) + return var.get(u"this").get(u'_d').get(var.get(u'internal')) + PyJs_get_746_._set_name(u'get') + PyJs_Object_745_ = Js({u'get':PyJs_get_746_}) + var.get(u'dP')(var.get(u'it'), var.get(u'key'), PyJs_Object_745_) + PyJs_addGetter_744_._set_name(u'addGetter') + var.put(u'addGetter', PyJs_addGetter_744_) + @Js + def PyJs_InlineNonPyName_747_(source, this, arguments, var=var): + var = Scope({u'this':this, u'source':source, u'from':PyJs_InlineNonPyName_747_, u'arguments':arguments}, var) + var.registers([u'iterFn', u'iterator', u'i', u'mapfn', u'mapping', u'O', u'source', u'aLen', u'values', u'result', u'step', u'length']) + var.put(u'O', var.get(u'toObject')(var.get(u'source'))) + var.put(u'aLen', var.get(u'arguments').get(u'length')) + var.put(u'mapfn', (var.get(u'arguments').get(u'1') if (var.get(u'aLen')>Js(1.0)) else var.get(u'undefined'))) + var.put(u'mapping', PyJsStrictNeq(var.get(u'mapfn'),var.get(u'undefined'))) + var.put(u'iterFn', var.get(u'getIterFn')(var.get(u'O'))) + pass + if ((var.get(u'iterFn')!=var.get(u'undefined')) and var.get(u'isArrayIter')(var.get(u'iterFn')).neg()): + #for JS loop + PyJsComma(PyJsComma(var.put(u'iterator', var.get(u'iterFn').callprop(u'call', var.get(u'O'))),var.put(u'values', Js([]))),var.put(u'i', Js(0.0))) + while var.put(u'step', var.get(u'iterator').callprop(u'next')).get(u'done').neg(): + try: + var.get(u'values').callprop(u'push', var.get(u'step').get(u'value')) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + var.put(u'O', var.get(u'values')) + if (var.get(u'mapping') and (var.get(u'aLen')>Js(2.0))): + var.put(u'mapfn', var.get(u'ctx')(var.get(u'mapfn'), var.get(u'arguments').get(u'2'), Js(2.0))) + #for JS loop + PyJsComma(PyJsComma(var.put(u'i', Js(0.0)),var.put(u'length', var.get(u'toLength')(var.get(u'O').get(u'length')))),var.put(u'result', var.get(u'allocate')(var.get(u"this"), var.get(u'length')))) + while (var.get(u'length')>var.get(u'i')): + try: + var.get(u'result').put(var.get(u'i'), (var.get(u'mapfn')(var.get(u'O').get(var.get(u'i')), var.get(u'i')) if var.get(u'mapping') else var.get(u'O').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'result') + PyJs_InlineNonPyName_747_._set_name(u'from') + var.put(u'$from', PyJs_InlineNonPyName_747_) + @Js + def PyJs_of_748_(this, arguments, var=var): + var = Scope({u'this':this, u'of':PyJs_of_748_, u'arguments':arguments}, var) + var.registers([u'index', u'length', u'result']) + var.put(u'index', Js(0.0)) + var.put(u'length', var.get(u'arguments').get(u'length')) + var.put(u'result', var.get(u'allocate')(var.get(u"this"), var.get(u'length'))) + while (var.get(u'length')>var.get(u'index')): + var.get(u'result').put(var.get(u'index'), var.get(u'arguments').get((var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1)))) + return var.get(u'result') + PyJs_of_748_._set_name(u'of') + var.put(u'$of', PyJs_of_748_) + @Js + def PyJs_anonymous_749_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.get(u'arrayToLocaleString').callprop(u'call', var.get(u'Uint8Array').create(Js(1.0))) + PyJs_anonymous_749_._set_name(u'anonymous') + var.put(u'TO_LOCALE_BUG', (var.get(u'Uint8Array').neg().neg() and var.get(u'fails')(PyJs_anonymous_749_))) + @Js + def PyJs_toLocaleString_750_(this, arguments, var=var): + var = Scope({u'this':this, u'toLocaleString':PyJs_toLocaleString_750_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'arrayToLocaleString').callprop(u'apply', (var.get(u'arraySlice').callprop(u'call', var.get(u'validate')(var.get(u"this"))) if var.get(u'TO_LOCALE_BUG') else var.get(u'validate')(var.get(u"this"))), var.get(u'arguments')) + PyJs_toLocaleString_750_._set_name(u'toLocaleString') + var.put(u'$toLocaleString', PyJs_toLocaleString_750_) + @Js + def PyJs_copyWithin_752_(target, start, this, arguments, var=var): + var = Scope({u'this':this, u'start':start, u'copyWithin':PyJs_copyWithin_752_, u'target':target, u'arguments':arguments}, var) + var.registers([u'start', u'target']) + return var.get(u'arrayCopyWithin').callprop(u'call', var.get(u'validate')(var.get(u"this")), var.get(u'target'), var.get(u'start'), (var.get(u'arguments').get(u'2') if (var.get(u'arguments').get(u'length')>Js(2.0)) else var.get(u'undefined'))) + PyJs_copyWithin_752_._set_name(u'copyWithin') + @Js + def PyJs_every_753_(callbackfn, this, arguments, var=var): + var = Scope({u'this':this, u'callbackfn':callbackfn, u'every':PyJs_every_753_, u'arguments':arguments}, var) + var.registers([u'callbackfn']) + return var.get(u'arrayEvery')(var.get(u'validate')(var.get(u"this")), 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'))) + PyJs_every_753_._set_name(u'every') + @Js + def PyJs_fill_754_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value, u'fill':PyJs_fill_754_}, var) + var.registers([u'value']) + return var.get(u'arrayFill').callprop(u'apply', var.get(u'validate')(var.get(u"this")), var.get(u'arguments')) + PyJs_fill_754_._set_name(u'fill') + @Js + def PyJs_filter_755_(callbackfn, this, arguments, var=var): + var = Scope({u'this':this, u'filter':PyJs_filter_755_, u'callbackfn':callbackfn, u'arguments':arguments}, var) + var.registers([u'callbackfn']) + return var.get(u'speciesFromList')(var.get(u"this"), var.get(u'arrayFilter')(var.get(u'validate')(var.get(u"this")), 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')))) + PyJs_filter_755_._set_name(u'filter') + @Js + def PyJs_find_756_(predicate, this, arguments, var=var): + var = Scope({u'this':this, u'predicate':predicate, u'arguments':arguments, u'find':PyJs_find_756_}, var) + var.registers([u'predicate']) + return var.get(u'arrayFind')(var.get(u'validate')(var.get(u"this")), var.get(u'predicate'), (var.get(u'arguments').get(u'1') if (var.get(u'arguments').get(u'length')>Js(1.0)) else var.get(u'undefined'))) + PyJs_find_756_._set_name(u'find') + @Js + def PyJs_findIndex_757_(predicate, this, arguments, var=var): + var = Scope({u'this':this, u'predicate':predicate, u'findIndex':PyJs_findIndex_757_, u'arguments':arguments}, var) + var.registers([u'predicate']) + return var.get(u'arrayFindIndex')(var.get(u'validate')(var.get(u"this")), var.get(u'predicate'), (var.get(u'arguments').get(u'1') if (var.get(u'arguments').get(u'length')>Js(1.0)) else var.get(u'undefined'))) + PyJs_findIndex_757_._set_name(u'findIndex') + @Js + def PyJs_forEach_758_(callbackfn, this, arguments, var=var): + var = Scope({u'this':this, u'callbackfn':callbackfn, u'arguments':arguments, u'forEach':PyJs_forEach_758_}, var) + var.registers([u'callbackfn']) + var.get(u'arrayForEach')(var.get(u'validate')(var.get(u"this")), 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'))) + PyJs_forEach_758_._set_name(u'forEach') + @Js + def PyJs_indexOf_759_(searchElement, this, arguments, var=var): + var = Scope({u'this':this, u'searchElement':searchElement, u'indexOf':PyJs_indexOf_759_, u'arguments':arguments}, var) + var.registers([u'searchElement']) + return var.get(u'arrayIndexOf')(var.get(u'validate')(var.get(u"this")), var.get(u'searchElement'), (var.get(u'arguments').get(u'1') if (var.get(u'arguments').get(u'length')>Js(1.0)) else var.get(u'undefined'))) + PyJs_indexOf_759_._set_name(u'indexOf') + @Js + def PyJs_includes_760_(searchElement, this, arguments, var=var): + var = Scope({u'this':this, u'searchElement':searchElement, u'arguments':arguments, u'includes':PyJs_includes_760_}, var) + var.registers([u'searchElement']) + return var.get(u'arrayIncludes')(var.get(u'validate')(var.get(u"this")), var.get(u'searchElement'), (var.get(u'arguments').get(u'1') if (var.get(u'arguments').get(u'length')>Js(1.0)) else var.get(u'undefined'))) + PyJs_includes_760_._set_name(u'includes') + @Js + def PyJs_join_761_(separator, this, arguments, var=var): + var = Scope({u'this':this, u'join':PyJs_join_761_, u'separator':separator, u'arguments':arguments}, var) + var.registers([u'separator']) + return var.get(u'arrayJoin').callprop(u'apply', var.get(u'validate')(var.get(u"this")), var.get(u'arguments')) + PyJs_join_761_._set_name(u'join') + @Js + def PyJs_lastIndexOf_762_(searchElement, this, arguments, var=var): + var = Scope({u'this':this, u'searchElement':searchElement, u'lastIndexOf':PyJs_lastIndexOf_762_, u'arguments':arguments}, var) + var.registers([u'searchElement']) + return var.get(u'arrayLastIndexOf').callprop(u'apply', var.get(u'validate')(var.get(u"this")), var.get(u'arguments')) + PyJs_lastIndexOf_762_._set_name(u'lastIndexOf') + @Js + def PyJs_map_763_(mapfn, this, arguments, var=var): + var = Scope({u'this':this, u'map':PyJs_map_763_, u'mapfn':mapfn, u'arguments':arguments}, var) + var.registers([u'mapfn']) + return var.get(u'$map')(var.get(u'validate')(var.get(u"this")), var.get(u'mapfn'), (var.get(u'arguments').get(u'1') if (var.get(u'arguments').get(u'length')>Js(1.0)) else var.get(u'undefined'))) + PyJs_map_763_._set_name(u'map') + @Js + def PyJs_reduce_764_(callbackfn, this, arguments, var=var): + var = Scope({u'this':this, u'callbackfn':callbackfn, u'reduce':PyJs_reduce_764_, u'arguments':arguments}, var) + var.registers([u'callbackfn']) + return var.get(u'arrayReduce').callprop(u'apply', var.get(u'validate')(var.get(u"this")), var.get(u'arguments')) + PyJs_reduce_764_._set_name(u'reduce') + @Js + def PyJs_reduceRight_765_(callbackfn, this, arguments, var=var): + var = Scope({u'this':this, u'callbackfn':callbackfn, u'arguments':arguments, u'reduceRight':PyJs_reduceRight_765_}, var) + var.registers([u'callbackfn']) + return var.get(u'arrayReduceRight').callprop(u'apply', var.get(u'validate')(var.get(u"this")), var.get(u'arguments')) + PyJs_reduceRight_765_._set_name(u'reduceRight') + @Js + def PyJs_reverse_766_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'reverse':PyJs_reverse_766_}, var) + var.registers([u'middle', u'length', u'index', u'value', u'that']) + var.put(u'that', var.get(u"this")) + var.put(u'length', var.get(u'validate')(var.get(u'that')).get(u'length')) + var.put(u'middle', var.get(u'Math').callprop(u'floor', (var.get(u'length')/Js(2.0)))) + var.put(u'index', Js(0.0)) + pass + while (var.get(u'index')Js(1.0)) else var.get(u'undefined'))) + PyJs_some_767_._set_name(u'some') + @Js + def PyJs_sort_768_(comparefn, this, arguments, var=var): + var = Scope({u'this':this, u'sort':PyJs_sort_768_, u'comparefn':comparefn, u'arguments':arguments}, var) + var.registers([u'comparefn']) + return var.get(u'arraySort').callprop(u'call', var.get(u'validate')(var.get(u"this")), var.get(u'comparefn')) + PyJs_sort_768_._set_name(u'sort') + @Js + def PyJs_subarray_769_(begin, end, this, arguments, var=var): + var = Scope({u'this':this, u'subarray':PyJs_subarray_769_, u'begin':begin, u'end':end, u'arguments':arguments}, var) + var.registers([u'begin', u'length', u'end', u'$begin', u'O']) + var.put(u'O', var.get(u'validate')(var.get(u"this"))) + var.put(u'length', var.get(u'O').get(u'length')) + var.put(u'$begin', var.get(u'toAbsoluteIndex')(var.get(u'begin'), var.get(u'length'))) + def PyJs_LONG_770_(var=var): + return var.get(u'speciesConstructor')(var.get(u'O'), var.get(u'O').get(var.get(u'DEF_CONSTRUCTOR'))).create(var.get(u'O').get(u'buffer'), (var.get(u'O').get(u'byteOffset')+(var.get(u'$begin')*var.get(u'O').get(u'BYTES_PER_ELEMENT'))), var.get(u'toLength')(((var.get(u'length') if PyJsStrictEq(var.get(u'end'),var.get(u'undefined')) else var.get(u'toAbsoluteIndex')(var.get(u'end'), var.get(u'length')))-var.get(u'$begin')))) + return PyJs_LONG_770_() + PyJs_subarray_769_._set_name(u'subarray') + PyJs_Object_751_ = Js({u'copyWithin':PyJs_copyWithin_752_,u'every':PyJs_every_753_,u'fill':PyJs_fill_754_,u'filter':PyJs_filter_755_,u'find':PyJs_find_756_,u'findIndex':PyJs_findIndex_757_,u'forEach':PyJs_forEach_758_,u'indexOf':PyJs_indexOf_759_,u'includes':PyJs_includes_760_,u'join':PyJs_join_761_,u'lastIndexOf':PyJs_lastIndexOf_762_,u'map':PyJs_map_763_,u'reduce':PyJs_reduce_764_,u'reduceRight':PyJs_reduceRight_765_,u'reverse':PyJs_reverse_766_,u'some':PyJs_some_767_,u'sort':PyJs_sort_768_,u'subarray':PyJs_subarray_769_}) + var.put(u'proto', PyJs_Object_751_) + @Js + def PyJs_slice_771_(start, end, this, arguments, var=var): + var = Scope({u'this':this, u'start':start, u'slice':PyJs_slice_771_, u'end':end, u'arguments':arguments}, var) + var.registers([u'start', u'end']) + return var.get(u'speciesFromList')(var.get(u"this"), var.get(u'arraySlice').callprop(u'call', var.get(u'validate')(var.get(u"this")), var.get(u'start'), var.get(u'end'))) + PyJs_slice_771_._set_name(u'slice') + var.put(u'$slice', PyJs_slice_771_) + @Js + def PyJs_set_772_(arrayLike, this, arguments, var=var): + var = Scope({u'this':this, u'arrayLike':arrayLike, u'set':PyJs_set_772_, u'arguments':arguments}, var) + var.registers([u'src', u'arrayLike', u'index', u'len', u'length', u'offset']) + var.get(u'validate')(var.get(u"this")) + var.put(u'offset', var.get(u'toOffset')(var.get(u'arguments').get(u'1'), Js(1.0))) + var.put(u'length', var.get(u"this").get(u'length')) + var.put(u'src', var.get(u'toObject')(var.get(u'arrayLike'))) + var.put(u'len', var.get(u'toLength')(var.get(u'src').get(u'length'))) + var.put(u'index', Js(0.0)) + if ((var.get(u'len')+var.get(u'offset'))>var.get(u'length')): + PyJsTempException = JsToPyException(var.get(u'RangeError')(var.get(u'WRONG_LENGTH'))) + raise PyJsTempException + while (var.get(u'index')Js(255)) else (var.get(u'value')&Js(255))))) + var.get(u'data').get(u'v').callprop(var.get(u'SETTER'), ((var.get(u'index')*var.get(u'BYTES'))+var.get(u'data').get(u'o')), var.get(u'value'), var.get(u'LITTLE_ENDIAN')) + PyJs_setter_794_._set_name(u'setter') + var.put(u'setter', PyJs_setter_794_) + @Js + def PyJs_addElement_795_(that, index, this, arguments, var=var): + var = Scope({u'this':this, u'index':index, u'addElement':PyJs_addElement_795_, u'arguments':arguments, u'that':that}, var) + var.registers([u'index', u'that']) + @Js + def PyJs_get_797_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_797_}, var) + var.registers([]) + return var.get(u'getter')(var.get(u"this"), var.get(u'index')) + PyJs_get_797_._set_name(u'get') + @Js + def PyJs_set_798_(value, this, arguments, var=var): + var = Scope({u'this':this, u'set':PyJs_set_798_, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return var.get(u'setter')(var.get(u"this"), var.get(u'index'), var.get(u'value')) + PyJs_set_798_._set_name(u'set') + PyJs_Object_796_ = Js({u'get':PyJs_get_797_,u'set':PyJs_set_798_,u'enumerable':Js(True)}) + var.get(u'dP')(var.get(u'that'), var.get(u'index'), PyJs_Object_796_) + PyJs_addElement_795_._set_name(u'addElement') + var.put(u'addElement', PyJs_addElement_795_) + if var.get(u'FORCED'): + @Js + def PyJs_anonymous_799_(that, data, PyJsArg_246f6666736574_, PyJsArg_246c656e677468_, this, arguments, var=var): + var = Scope({u'arguments':arguments, u'$length':PyJsArg_246c656e677468_, u'this':this, u'$offset':PyJsArg_246f6666736574_, u'that':that, u'data':data}, var) + var.registers([u'byteLength', u'index', u'$len', u'that', u'buffer', u'$offset', u'$length', u'length', u'klass', u'offset', u'data']) + var.get(u'anInstance')(var.get(u'that'), var.get(u'TypedArray'), var.get(u'NAME'), Js(u'_d')) + var.put(u'index', Js(0.0)) + var.put(u'offset', Js(0.0)) + pass + if var.get(u'isObject')(var.get(u'data')).neg(): + var.put(u'length', var.get(u'toIndex')(var.get(u'data'))) + var.put(u'byteLength', (var.get(u'length')*var.get(u'BYTES'))) + var.put(u'buffer', var.get(u'$ArrayBuffer').create(var.get(u'byteLength'))) + else: + if ((var.get(u'data').instanceof(var.get(u'$ArrayBuffer')) or (var.put(u'klass', var.get(u'classof')(var.get(u'data')))==var.get(u'ARRAY_BUFFER'))) or (var.get(u'klass')==var.get(u'SHARED_BUFFER'))): + var.put(u'buffer', var.get(u'data')) + var.put(u'offset', var.get(u'toOffset')(var.get(u'$offset'), var.get(u'BYTES'))) + var.put(u'$len', var.get(u'data').get(u'byteLength')) + if PyJsStrictEq(var.get(u'$length'),var.get(u'undefined')): + if (var.get(u'$len')%var.get(u'BYTES')): + PyJsTempException = JsToPyException(var.get(u'RangeError')(var.get(u'WRONG_LENGTH'))) + raise PyJsTempException + var.put(u'byteLength', (var.get(u'$len')-var.get(u'offset'))) + if (var.get(u'byteLength')var.get(u'$len')): + PyJsTempException = JsToPyException(var.get(u'RangeError')(var.get(u'WRONG_LENGTH'))) + raise PyJsTempException + var.put(u'length', (var.get(u'byteLength')/var.get(u'BYTES'))) + else: + if var.get(u'data').contains(var.get(u'TYPED_ARRAY')): + return var.get(u'fromList')(var.get(u'TypedArray'), var.get(u'data')) + else: + return var.get(u'$from').callprop(u'call', var.get(u'TypedArray'), var.get(u'data')) + PyJs_Object_800_ = Js({u'b':var.get(u'buffer'),u'o':var.get(u'offset'),u'l':var.get(u'byteLength'),u'e':var.get(u'length'),u'v':var.get(u'$DataView').create(var.get(u'buffer'))}) + var.get(u'hide')(var.get(u'that'), Js(u'_d'), PyJs_Object_800_) + while (var.get(u'index')>Js(1.0))) + var.put(u'nBits', (var.get(u'eLen')-Js(7.0))) + var.put(u'i', (var.get(u'nBytes')-Js(1.0))) + var.put(u's', var.get(u'buffer').get((var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)))) + var.put(u'e', (var.get(u's')&Js(127.0))) + pass + var.put(u's', Js(7.0), 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'i')))),(var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1))),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'i')))),(var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1))),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 ((-var.get(u'Infinity')) if var.get(u's') else var.get(u'Infinity'))) + else: + var.put(u'm', (var.get(u'm')+var.get(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'pow')(Js(2.0), (var.get(u'e')-var.get(u'mLen')))) + PyJsHoisted_unpackIEEE754_.func_name = u'unpackIEEE754' + var.put(u'unpackIEEE754', PyJsHoisted_unpackIEEE754_) + @Js + def PyJsHoisted_packI32_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return Js([(var.get(u'it')&Js(255)), ((var.get(u'it')>>Js(8.0))&Js(255)), ((var.get(u'it')>>Js(16.0))&Js(255)), ((var.get(u'it')>>Js(24.0))&Js(255))]) + PyJsHoisted_packI32_.func_name = u'packI32' + var.put(u'packI32', PyJsHoisted_packI32_) + @Js + def PyJsHoisted_get_(view, bytes, index, isLittleEndian, this, arguments, var=var): + var = Scope({u'index':index, u'isLittleEndian':isLittleEndian, u'arguments':arguments, u'this':this, u'bytes':bytes, u'view':view}, var) + var.registers([u'index', u'bytes', u'start', u'isLittleEndian', u'intIndex', u'pack', u'numIndex', u'store', u'view']) + var.put(u'numIndex', (+var.get(u'index'))) + var.put(u'intIndex', var.get(u'toIndex')(var.get(u'numIndex'))) + if ((var.get(u'intIndex')+var.get(u'bytes'))>var.get(u'view').get(var.get(u'$LENGTH'))): + PyJsTempException = JsToPyException(var.get(u'RangeError')(var.get(u'WRONG_INDEX'))) + raise PyJsTempException + var.put(u'store', var.get(u'view').get(var.get(u'$BUFFER')).get(u'_b')) + var.put(u'start', (var.get(u'intIndex')+var.get(u'view').get(var.get(u'$OFFSET')))) + var.put(u'pack', var.get(u'store').callprop(u'slice', var.get(u'start'), (var.get(u'start')+var.get(u'bytes')))) + return (var.get(u'pack') if var.get(u'isLittleEndian') else var.get(u'pack').callprop(u'reverse')) + PyJsHoisted_get_.func_name = u'get' + var.put(u'get', PyJsHoisted_get_) + @Js + def PyJsHoisted_unpackI32_(bytes, this, arguments, var=var): + var = Scope({u'this':this, u'bytes':bytes, u'arguments':arguments}, var) + var.registers([u'bytes']) + return ((((var.get(u'bytes').get(u'3')<>Js(1.0))) + var.put(u'rt', ((var.get(u'pow')(Js(2.0), (-Js(24.0)))-var.get(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)) + 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'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'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'pow')(Js(2.0), (var.get(u'eBias')-Js(1.0))))*var.get(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(var.get(u'buffer').put((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)), (var.get(u'm')&Js(255.0))),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(var.get(u'buffer').put((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)), (var.get(u'e')&Js(255.0))),var.put(u'e', Js(256.0), u'/')),var.put(u'eLen', Js(8.0), u'-')) + var.get(u'buffer').put(var.put(u'i',Js(var.get(u'i').to_number())-Js(1)), (var.get(u's')*Js(128.0)), u'|') + return var.get(u'buffer') + PyJsHoisted_packIEEE754_.func_name = u'packIEEE754' + var.put(u'packIEEE754', PyJsHoisted_packIEEE754_) + @Js + def PyJsHoisted_set_(view, bytes, index, conversion, value, isLittleEndian, this, arguments, var=var): + var = Scope({u'index':index, u'conversion':conversion, u'this':this, u'bytes':bytes, u'value':value, u'isLittleEndian':isLittleEndian, u'arguments':arguments, u'view':view}, var) + var.registers([u'index', u'conversion', u'i', u'bytes', u'value', u'start', u'isLittleEndian', u'intIndex', u'view', u'numIndex', u'store', u'pack']) + var.put(u'numIndex', (+var.get(u'index'))) + var.put(u'intIndex', var.get(u'toIndex')(var.get(u'numIndex'))) + if ((var.get(u'intIndex')+var.get(u'bytes'))>var.get(u'view').get(var.get(u'$LENGTH'))): + PyJsTempException = JsToPyException(var.get(u'RangeError')(var.get(u'WRONG_INDEX'))) + raise PyJsTempException + var.put(u'store', var.get(u'view').get(var.get(u'$BUFFER')).get(u'_b')) + var.put(u'start', (var.get(u'intIndex')+var.get(u'view').get(var.get(u'$OFFSET')))) + var.put(u'pack', var.get(u'conversion')((+var.get(u'value')))) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')>Js(8.0))&Js(255))]) + PyJsHoisted_packI16_.func_name = u'packI16' + var.put(u'packI16', PyJsHoisted_packI16_) + Js(u'use strict') + var.put(u'global', var.get(u'require')(Js(u'./_global'))) + var.put(u'DESCRIPTORS', var.get(u'require')(Js(u'./_descriptors'))) + var.put(u'LIBRARY', var.get(u'require')(Js(u'./_library'))) + var.put(u'$typed', var.get(u'require')(Js(u'./_typed'))) + 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'fails', var.get(u'require')(Js(u'./_fails'))) + var.put(u'anInstance', var.get(u'require')(Js(u'./_an-instance'))) + var.put(u'toInteger', var.get(u'require')(Js(u'./_to-integer'))) + var.put(u'toLength', var.get(u'require')(Js(u'./_to-length'))) + var.put(u'toIndex', var.get(u'require')(Js(u'./_to-index'))) + var.put(u'gOPN', var.get(u'require')(Js(u'./_object-gopn')).get(u'f')) + var.put(u'dP', var.get(u'require')(Js(u'./_object-dp')).get(u'f')) + var.put(u'arrayFill', var.get(u'require')(Js(u'./_array-fill'))) + var.put(u'setToStringTag', var.get(u'require')(Js(u'./_set-to-string-tag'))) + var.put(u'ARRAY_BUFFER', Js(u'ArrayBuffer')) + var.put(u'DATA_VIEW', Js(u'DataView')) + var.put(u'PROTOTYPE', Js(u'prototype')) + var.put(u'WRONG_LENGTH', Js(u'Wrong length!')) + var.put(u'WRONG_INDEX', Js(u'Wrong index!')) + var.put(u'$ArrayBuffer', var.get(u'global').get(var.get(u'ARRAY_BUFFER'))) + var.put(u'$DataView', var.get(u'global').get(var.get(u'DATA_VIEW'))) + var.put(u'Math', var.get(u'global').get(u'Math')) + var.put(u'RangeError', var.get(u'global').get(u'RangeError')) + var.put(u'Infinity', var.get(u'global').get(u'Infinity')) + var.put(u'BaseBuffer', var.get(u'$ArrayBuffer')) + var.put(u'abs', var.get(u'Math').get(u'abs')) + var.put(u'pow', var.get(u'Math').get(u'pow')) + var.put(u'floor', var.get(u'Math').get(u'floor')) + var.put(u'log', var.get(u'Math').get(u'log')) + var.put(u'LN2', var.get(u'Math').get(u'LN2')) + var.put(u'BUFFER', Js(u'buffer')) + var.put(u'BYTE_LENGTH', Js(u'byteLength')) + var.put(u'BYTE_OFFSET', Js(u'byteOffset')) + var.put(u'$BUFFER', (Js(u'_b') if var.get(u'DESCRIPTORS') else var.get(u'BUFFER'))) + var.put(u'$LENGTH', (Js(u'_l') if var.get(u'DESCRIPTORS') else var.get(u'BYTE_LENGTH'))) + var.put(u'$OFFSET', (Js(u'_o') if var.get(u'DESCRIPTORS') else var.get(u'BYTE_OFFSET'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + if var.get(u'$typed').get(u'ABV').neg(): + @Js + def PyJs_ArrayBuffer_823_(length, this, arguments, var=var): + var = Scope({u'this':this, u'ArrayBuffer':PyJs_ArrayBuffer_823_, u'length':length, u'arguments':arguments}, var) + var.registers([u'byteLength', u'length']) + var.get(u'anInstance')(var.get(u"this"), var.get(u'$ArrayBuffer'), var.get(u'ARRAY_BUFFER')) + var.put(u'byteLength', var.get(u'toIndex')(var.get(u'length'))) + var.get(u"this").put(u'_b', var.get(u'arrayFill').callprop(u'call', var.get(u'Array').create(var.get(u'byteLength')), Js(0.0))) + var.get(u"this").put(var.get(u'$LENGTH'), var.get(u'byteLength')) + PyJs_ArrayBuffer_823_._set_name(u'ArrayBuffer') + var.put(u'$ArrayBuffer', PyJs_ArrayBuffer_823_) + @Js + def PyJs_DataView_824_(buffer, byteOffset, byteLength, this, arguments, var=var): + var = Scope({u'byteLength':byteLength, u'buffer':buffer, u'DataView':PyJs_DataView_824_, u'this':this, u'byteOffset':byteOffset, u'arguments':arguments}, var) + var.registers([u'buffer', u'byteLength', u'byteOffset', u'bufferLength', u'offset']) + var.get(u'anInstance')(var.get(u"this"), var.get(u'$DataView'), var.get(u'DATA_VIEW')) + var.get(u'anInstance')(var.get(u'buffer'), var.get(u'$ArrayBuffer'), var.get(u'DATA_VIEW')) + var.put(u'bufferLength', var.get(u'buffer').get(var.get(u'$LENGTH'))) + var.put(u'offset', var.get(u'toInteger')(var.get(u'byteOffset'))) + if ((var.get(u'offset')var.get(u'bufferLength'))): + PyJsTempException = JsToPyException(var.get(u'RangeError')(Js(u'Wrong offset!'))) + raise PyJsTempException + var.put(u'byteLength', ((var.get(u'bufferLength')-var.get(u'offset')) if PyJsStrictEq(var.get(u'byteLength'),var.get(u'undefined')) else var.get(u'toLength')(var.get(u'byteLength')))) + if ((var.get(u'offset')+var.get(u'byteLength'))>var.get(u'bufferLength')): + PyJsTempException = JsToPyException(var.get(u'RangeError')(var.get(u'WRONG_LENGTH'))) + raise PyJsTempException + var.get(u"this").put(var.get(u'$BUFFER'), var.get(u'buffer')) + var.get(u"this").put(var.get(u'$OFFSET'), var.get(u'offset')) + var.get(u"this").put(var.get(u'$LENGTH'), var.get(u'byteLength')) + PyJs_DataView_824_._set_name(u'DataView') + var.put(u'$DataView', PyJs_DataView_824_) + if var.get(u'DESCRIPTORS'): + var.get(u'addGetter')(var.get(u'$ArrayBuffer'), var.get(u'BYTE_LENGTH'), Js(u'_l')) + var.get(u'addGetter')(var.get(u'$DataView'), var.get(u'BUFFER'), Js(u'_b')) + var.get(u'addGetter')(var.get(u'$DataView'), var.get(u'BYTE_LENGTH'), Js(u'_l')) + var.get(u'addGetter')(var.get(u'$DataView'), var.get(u'BYTE_OFFSET'), Js(u'_o')) + @Js + def PyJs_getInt8_826_(byteOffset, this, arguments, var=var): + var = Scope({u'this':this, u'getInt8':PyJs_getInt8_826_, u'byteOffset':byteOffset, u'arguments':arguments}, var) + var.registers([u'byteOffset']) + return ((var.get(u'get')(var.get(u"this"), Js(1.0), var.get(u'byteOffset')).get(u'0')<>Js(24.0)) + PyJs_getInt8_826_._set_name(u'getInt8') + @Js + def PyJs_getUint8_827_(byteOffset, this, arguments, var=var): + var = Scope({u'this':this, u'getUint8':PyJs_getUint8_827_, u'byteOffset':byteOffset, u'arguments':arguments}, var) + var.registers([u'byteOffset']) + return var.get(u'get')(var.get(u"this"), Js(1.0), var.get(u'byteOffset')).get(u'0') + PyJs_getUint8_827_._set_name(u'getUint8') + @Js + def PyJs_getInt16_828_(byteOffset, this, arguments, var=var): + var = Scope({u'this':this, u'getInt16':PyJs_getInt16_828_, u'byteOffset':byteOffset, u'arguments':arguments}, var) + var.registers([u'bytes', u'byteOffset']) + var.put(u'bytes', var.get(u'get')(var.get(u"this"), Js(2.0), var.get(u'byteOffset'), var.get(u'arguments').get(u'1'))) + return ((((var.get(u'bytes').get(u'1')<>Js(16.0)) + PyJs_getInt16_828_._set_name(u'getInt16') + @Js + def PyJs_getUint16_829_(byteOffset, this, arguments, var=var): + var = Scope({u'this':this, u'getUint16':PyJs_getUint16_829_, u'byteOffset':byteOffset, u'arguments':arguments}, var) + var.registers([u'bytes', u'byteOffset']) + var.put(u'bytes', var.get(u'get')(var.get(u"this"), Js(2.0), var.get(u'byteOffset'), var.get(u'arguments').get(u'1'))) + return ((var.get(u'bytes').get(u'1')<var.get(u'j')): + if var.get(u'$ArrayBuffer').contains(var.put(u'key', var.get(u'keys').get((var.put(u'j',Js(var.get(u'j').to_number())+Js(1))-Js(1))))).neg(): + var.get(u'hide')(var.get(u'$ArrayBuffer'), var.get(u'key'), var.get(u'BaseBuffer').get(var.get(u'key'))) + + if var.get(u'LIBRARY').neg(): + var.get(u'ArrayBufferProto').put(u'constructor', var.get(u'$ArrayBuffer')) + var.put(u'view', var.get(u'$DataView').create(var.get(u'$ArrayBuffer').create(Js(2.0)))) + var.put(u'$setInt8', var.get(u'$DataView').get(var.get(u'PROTOTYPE')).get(u'setInt8')) + var.get(u'view').callprop(u'setInt8', Js(0.0), Js(2147483648.0)) + var.get(u'view').callprop(u'setInt8', Js(1.0), Js(2147483649.0)) + if (var.get(u'view').callprop(u'getInt8', Js(0.0)) or var.get(u'view').callprop(u'getInt8', Js(1.0)).neg()): + @Js + def PyJs_setInt8_847_(byteOffset, value, this, arguments, var=var): + var = Scope({u'this':this, u'setInt8':PyJs_setInt8_847_, u'byteOffset':byteOffset, u'value':value, u'arguments':arguments}, var) + var.registers([u'byteOffset', u'value']) + var.get(u'$setInt8').callprop(u'call', var.get(u"this"), var.get(u'byteOffset'), ((var.get(u'value')<>Js(24.0))) + PyJs_setInt8_847_._set_name(u'setInt8') + @Js + def PyJs_setUint8_848_(byteOffset, value, this, arguments, var=var): + var = Scope({u'this':this, u'setUint8':PyJs_setUint8_848_, u'byteOffset':byteOffset, u'value':value, u'arguments':arguments}, var) + var.registers([u'byteOffset', u'value']) + var.get(u'$setInt8').callprop(u'call', var.get(u"this"), var.get(u'byteOffset'), ((var.get(u'value')<>Js(24.0))) + PyJs_setUint8_848_._set_name(u'setUint8') + PyJs_Object_846_ = Js({u'setInt8':PyJs_setInt8_847_,u'setUint8':PyJs_setUint8_848_}) + var.get(u'redefineAll')(var.get(u'$DataView').get(var.get(u'PROTOTYPE')), PyJs_Object_846_, Js(True)) + var.get(u'setToStringTag')(var.get(u'$ArrayBuffer'), var.get(u'ARRAY_BUFFER')) + var.get(u'setToStringTag')(var.get(u'$DataView'), var.get(u'DATA_VIEW')) + var.get(u'hide')(var.get(u'$DataView').get(var.get(u'PROTOTYPE')), var.get(u'$typed').get(u'VIEW'), Js(True)) + var.get(u'exports').put(var.get(u'ARRAY_BUFFER'), var.get(u'$ArrayBuffer')) + var.get(u'exports').put(var.get(u'DATA_VIEW'), var.get(u'$DataView')) +PyJs_anonymous_820_._set_name(u'anonymous') +PyJs_Object_849_ = Js({u'./_an-instance':Js(15.0),u'./_array-fill':Js(18.0),u'./_descriptors':Js(38.0),u'./_fails':Js(44.0),u'./_global':Js(49.0),u'./_hide':Js(51.0),u'./_library':Js(68.0),u'./_object-dp':Js(80.0),u'./_object-gopn':Js(85.0),u'./_redefine-all':Js(99.0),u'./_set-to-string-tag':Js(107.0),u'./_to-index':Js(121.0),u'./_to-integer':Js(122.0),u'./_to-length':Js(124.0),u'./_typed':Js(129.0)}) +@Js +def PyJs_anonymous_850_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'Typed', u'exports', u'hide', u'uid', u'i', u'TYPED', u'require', u'global', u'l', u'TypedArrayConstructors', u'module', u'ABV', u'CONSTR', u'VIEW']) + 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'uid', var.get(u'require')(Js(u'./_uid'))) + var.put(u'TYPED', var.get(u'uid')(Js(u'typed_array'))) + var.put(u'VIEW', var.get(u'uid')(Js(u'view'))) + var.put(u'ABV', (var.get(u'global').get(u'ArrayBuffer') and var.get(u'global').get(u'DataView')).neg().neg()) + var.put(u'CONSTR', var.get(u'ABV')) + var.put(u'i', Js(0.0)) + var.put(u'l', Js(9.0)) + pass + var.put(u'TypedArrayConstructors', Js(u'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array').callprop(u'split', Js(u','))) + while (var.get(u'i')Js(1.0)) else var.get(u'undefined'))) + PyJs_findIndex_896_._set_name(u'findIndex') + PyJs_Object_895_ = Js({u'findIndex':PyJs_findIndex_896_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*var.get(u'forced'))), Js(u'Array'), PyJs_Object_895_) + var.get(u'require')(Js(u'./_add-to-unscopables'))(var.get(u'KEY')) +PyJs_anonymous_893_._set_name(u'anonymous') +PyJs_Object_897_ = Js({u'./_add-to-unscopables':Js(14.0),u'./_array-methods':Js(21.0),u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_898_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'$find', u'forced', u'exports', u'$export', u'require', u'module', u'KEY']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$find', var.get(u'require')(Js(u'./_array-methods'))(Js(5.0))) + var.put(u'KEY', Js(u'find')) + var.put(u'forced', Js(True)) + if Js([]).contains(var.get(u'KEY')): + @Js + def PyJs_anonymous_899_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.put(u'forced', Js(False)) + PyJs_anonymous_899_._set_name(u'anonymous') + var.get(u'Array')(Js(1.0)).callprop(var.get(u'KEY'), PyJs_anonymous_899_) + @Js + def PyJs_find_901_(callbackfn, this, arguments, var=var): + var = Scope({u'this':this, u'callbackfn':callbackfn, u'arguments':arguments, u'find':PyJs_find_901_}, var) + var.registers([u'callbackfn']) + return var.get(u'$find')(var.get(u"this"), 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'))) + PyJs_find_901_._set_name(u'find') + PyJs_Object_900_ = Js({u'find':PyJs_find_901_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*var.get(u'forced'))), Js(u'Array'), PyJs_Object_900_) + var.get(u'require')(Js(u'./_add-to-unscopables'))(var.get(u'KEY')) +PyJs_anonymous_898_._set_name(u'anonymous') +PyJs_Object_902_ = Js({u'./_add-to-unscopables':Js(14.0),u'./_array-methods':Js(21.0),u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_903_(require, module, exports, this, 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'$export', u'require', u'module', u'STRICT', u'$forEach']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$forEach', var.get(u'require')(Js(u'./_array-methods'))(Js(0.0))) + var.put(u'STRICT', var.get(u'require')(Js(u'./_strict-method'))(Js([]).get(u'forEach'), Js(True))) + @Js + def PyJs_forEach_905_(callbackfn, this, arguments, var=var): + var = Scope({u'this':this, u'callbackfn':callbackfn, u'arguments':arguments, u'forEach':PyJs_forEach_905_}, var) + var.registers([u'callbackfn']) + return var.get(u'$forEach')(var.get(u"this"), var.get(u'callbackfn'), var.get(u'arguments').get(u'1')) + PyJs_forEach_905_._set_name(u'forEach') + PyJs_Object_904_ = Js({u'forEach':PyJs_forEach_905_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*var.get(u'STRICT').neg())), Js(u'Array'), PyJs_Object_904_) +PyJs_anonymous_903_._set_name(u'anonymous') +PyJs_Object_906_ = Js({u'./_array-methods':Js(21.0),u'./_export':Js(42.0),u'./_strict-method':Js(111.0)}) +@Js +def PyJs_anonymous_907_(require, module, exports, this, 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'$export', u'toObject', u'ctx', u'module', u'getIterFn', u'call', u'isArrayIter', u'createProperty', u'require']) + Js(u'use strict') + var.put(u'ctx', var.get(u'require')(Js(u'./_ctx'))) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'toObject', var.get(u'require')(Js(u'./_to-object'))) + 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'toLength', var.get(u'require')(Js(u'./_to-length'))) + var.put(u'createProperty', var.get(u'require')(Js(u'./_create-property'))) + var.put(u'getIterFn', var.get(u'require')(Js(u'./core.get-iterator-method'))) + @Js + def PyJs_anonymous_908_(iter, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'iter':iter}, var) + var.registers([u'iter']) + var.get(u'Array').callprop(u'from', var.get(u'iter')) + PyJs_anonymous_908_._set_name(u'anonymous') + @Js + def PyJs_InlineNonPyName_910_(arrayLike, this, arguments, var=var): + var = Scope({u'this':this, u'arrayLike':arrayLike, u'from':PyJs_InlineNonPyName_910_, u'arguments':arguments}, var) + var.registers([u'iterFn', u'index', u'C', u'arrayLike', u'iterator', u'mapfn', u'mapping', u'O', u'aLen', u'result', u'step', u'length']) + var.put(u'O', var.get(u'toObject')(var.get(u'arrayLike'))) + var.put(u'C', (var.get(u"this") if (var.get(u"this",throw=False).typeof()==Js(u'function')) else var.get(u'Array'))) + var.put(u'aLen', var.get(u'arguments').get(u'length')) + var.put(u'mapfn', (var.get(u'arguments').get(u'1') if (var.get(u'aLen')>Js(1.0)) else var.get(u'undefined'))) + var.put(u'mapping', PyJsStrictNeq(var.get(u'mapfn'),var.get(u'undefined'))) + var.put(u'index', Js(0.0)) + var.put(u'iterFn', var.get(u'getIterFn')(var.get(u'O'))) + pass + if var.get(u'mapping'): + var.put(u'mapfn', var.get(u'ctx')(var.get(u'mapfn'), (var.get(u'arguments').get(u'2') if (var.get(u'aLen')>Js(2.0)) else var.get(u'undefined')), Js(2.0))) + if ((var.get(u'iterFn')!=var.get(u'undefined')) and ((var.get(u'C')==var.get(u'Array')) and var.get(u'isArrayIter')(var.get(u'iterFn'))).neg()): + #for JS loop + PyJsComma(var.put(u'iterator', var.get(u'iterFn').callprop(u'call', var.get(u'O'))),var.put(u'result', var.get(u'C').create())) + while var.put(u'step', var.get(u'iterator').callprop(u'next')).get(u'done').neg(): + try: + var.get(u'createProperty')(var.get(u'result'), var.get(u'index'), (var.get(u'call')(var.get(u'iterator'), var.get(u'mapfn'), Js([var.get(u'step').get(u'value'), var.get(u'index')]), Js(True)) if var.get(u'mapping') else var.get(u'step').get(u'value'))) + finally: + (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1)) + else: + var.put(u'length', var.get(u'toLength')(var.get(u'O').get(u'length'))) + #for JS loop + var.put(u'result', var.get(u'C').create(var.get(u'length'))) + while (var.get(u'length')>var.get(u'index')): + try: + var.get(u'createProperty')(var.get(u'result'), var.get(u'index'), (var.get(u'mapfn')(var.get(u'O').get(var.get(u'index')), var.get(u'index')) if var.get(u'mapping') else var.get(u'O').get(var.get(u'index')))) + finally: + (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1)) + var.get(u'result').put(u'length', var.get(u'index')) + return var.get(u'result') + PyJs_InlineNonPyName_910_._set_name(u'from') + PyJs_Object_909_ = Js({u'from':PyJs_InlineNonPyName_910_}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*var.get(u'require')(Js(u'./_iter-detect'))(PyJs_anonymous_908_).neg())), Js(u'Array'), PyJs_Object_909_) +PyJs_anonymous_907_._set_name(u'anonymous') +PyJs_Object_911_ = Js({u'./_create-property':Js(33.0),u'./_ctx':Js(34.0),u'./_export':Js(42.0),u'./_is-array-iter':Js(57.0),u'./_iter-call':Js(62.0),u'./_iter-detect':Js(65.0),u'./_to-length':Js(124.0),u'./_to-object':Js(125.0),u'./core.get-iterator-method':Js(136.0)}) +@Js +def PyJs_anonymous_912_(require, module, exports, this, 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'NEGATIVE_ZERO', u'$export', u'require', u'$indexOf', u'module', u'$native']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$indexOf', var.get(u'require')(Js(u'./_array-includes'))(Js(False))) + var.put(u'$native', Js([]).get(u'indexOf')) + var.put(u'NEGATIVE_ZERO', (var.get(u'$native').neg().neg() and ((Js(1.0)/Js([Js(1.0)]).callprop(u'indexOf', Js(1.0), (-Js(0.0))))=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_921_._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_920_, PyJs_anonymous_921_, 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_919_._set_name(u'anonymous') +PyJs_Object_922_ = Js({u'./_add-to-unscopables':Js(14.0),u'./_iter-define':Js(64.0),u'./_iter-step':Js(66.0),u'./_iterators':Js(67.0),u'./_to-iobject':Js(123.0)}) +@Js +def PyJs_anonymous_923_(require, module, exports, this, 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'$export', u'require', u'arrayJoin', u'module', u'toIObject']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'toIObject', var.get(u'require')(Js(u'./_to-iobject'))) + var.put(u'arrayJoin', Js([]).get(u'join')) + @Js + def PyJs_join_925_(separator, this, arguments, var=var): + var = Scope({u'this':this, u'join':PyJs_join_925_, u'separator':separator, u'arguments':arguments}, var) + var.registers([u'separator']) + return var.get(u'arrayJoin').callprop(u'call', var.get(u'toIObject')(var.get(u"this")), (Js(u',') if PyJsStrictEq(var.get(u'separator'),var.get(u'undefined')) else var.get(u'separator'))) + PyJs_join_925_._set_name(u'join') + PyJs_Object_924_ = Js({u'join':PyJs_join_925_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*((var.get(u'require')(Js(u'./_iobject'))!=var.get(u'Object')) or var.get(u'require')(Js(u'./_strict-method'))(var.get(u'arrayJoin')).neg()))), Js(u'Array'), PyJs_Object_924_) +PyJs_anonymous_923_._set_name(u'anonymous') +PyJs_Object_926_ = Js({u'./_export':Js(42.0),u'./_iobject':Js(56.0),u'./_strict-method':Js(111.0),u'./_to-iobject':Js(123.0)}) +@Js +def PyJs_anonymous_927_(require, module, exports, this, 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'$export', u'toInteger', u'NEGATIVE_ZERO', u'module', u'toIObject', u'$native', u'require']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'toIObject', var.get(u'require')(Js(u'./_to-iobject'))) + var.put(u'toInteger', var.get(u'require')(Js(u'./_to-integer'))) + var.put(u'toLength', var.get(u'require')(Js(u'./_to-length'))) + var.put(u'$native', Js([]).get(u'lastIndexOf')) + var.put(u'NEGATIVE_ZERO', (var.get(u'$native').neg().neg() and ((Js(1.0)/Js([Js(1.0)]).callprop(u'lastIndexOf', Js(1.0), (-Js(0.0))))Js(1.0)): + var.put(u'index', var.get(u'Math').callprop(u'min', var.get(u'index'), var.get(u'toInteger')(var.get(u'arguments').get(u'1')))) + if (var.get(u'index')=Js(0.0)): + try: + if var.get(u'O').contains(var.get(u'index')): + if PyJsStrictEq(var.get(u'O').get(var.get(u'index')),var.get(u'searchElement')): + return (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 (-Js(1.0)) + PyJs_lastIndexOf_929_._set_name(u'lastIndexOf') + PyJs_Object_928_ = Js({u'lastIndexOf':PyJs_lastIndexOf_929_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*(var.get(u'NEGATIVE_ZERO') or var.get(u'require')(Js(u'./_strict-method'))(var.get(u'$native')).neg()))), Js(u'Array'), PyJs_Object_928_) +PyJs_anonymous_927_._set_name(u'anonymous') +PyJs_Object_930_ = Js({u'./_export':Js(42.0),u'./_strict-method':Js(111.0),u'./_to-integer':Js(122.0),u'./_to-iobject':Js(123.0),u'./_to-length':Js(124.0)}) +@Js +def PyJs_anonymous_931_(require, module, exports, this, 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'$map', u'exports', u'require', u'module']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$map', var.get(u'require')(Js(u'./_array-methods'))(Js(1.0))) + @Js + def PyJs_map_933_(callbackfn, this, arguments, var=var): + var = Scope({u'this':this, u'map':PyJs_map_933_, u'callbackfn':callbackfn, u'arguments':arguments}, var) + var.registers([u'callbackfn']) + return var.get(u'$map')(var.get(u"this"), var.get(u'callbackfn'), var.get(u'arguments').get(u'1')) + PyJs_map_933_._set_name(u'map') + PyJs_Object_932_ = Js({u'map':PyJs_map_933_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*var.get(u'require')(Js(u'./_strict-method'))(Js([]).get(u'map'), Js(True)).neg())), Js(u'Array'), PyJs_Object_932_) +PyJs_anonymous_931_._set_name(u'anonymous') +PyJs_Object_934_ = Js({u'./_array-methods':Js(21.0),u'./_export':Js(42.0),u'./_strict-method':Js(111.0)}) +@Js +def PyJs_anonymous_935_(require, module, exports, this, 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', u'createProperty']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'createProperty', var.get(u'require')(Js(u'./_create-property'))) + @Js + def PyJs_anonymous_936_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'F']) + @Js + def PyJsHoisted_F_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJsHoisted_F_.func_name = u'F' + var.put(u'F', PyJsHoisted_F_) + pass + return var.get(u'Array').get(u'of').callprop(u'call', var.get(u'F')).instanceof(var.get(u'F')).neg() + PyJs_anonymous_936_._set_name(u'anonymous') + @Js + def PyJs_of_938_(this, arguments, var=var): + var = Scope({u'this':this, u'of':PyJs_of_938_, u'arguments':arguments}, var) + var.registers([u'index', u'aLen', u'result']) + var.put(u'index', Js(0.0)) + var.put(u'aLen', var.get(u'arguments').get(u'length')) + var.put(u'result', (var.get(u"this") if (var.get(u"this",throw=False).typeof()==Js(u'function')) else var.get(u'Array')).create(var.get(u'aLen'))) + while (var.get(u'aLen')>var.get(u'index')): + var.get(u'createProperty')(var.get(u'result'), var.get(u'index'), var.get(u'arguments').get((var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1)))) + var.get(u'result').put(u'length', var.get(u'aLen')) + return var.get(u'result') + PyJs_of_938_._set_name(u'of') + PyJs_Object_937_ = Js({u'of':PyJs_of_938_}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*var.get(u'require')(Js(u'./_fails'))(PyJs_anonymous_936_))), Js(u'Array'), PyJs_Object_937_) +PyJs_anonymous_935_._set_name(u'anonymous') +PyJs_Object_939_ = Js({u'./_create-property':Js(33.0),u'./_export':Js(42.0),u'./_fails':Js(44.0)}) +@Js +def PyJs_anonymous_940_(require, module, exports, this, 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', u'$reduce']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$reduce', var.get(u'require')(Js(u'./_array-reduce'))) + @Js + def PyJs_reduceRight_942_(callbackfn, this, arguments, var=var): + var = Scope({u'this':this, u'callbackfn':callbackfn, u'arguments':arguments, u'reduceRight':PyJs_reduceRight_942_}, var) + var.registers([u'callbackfn']) + return var.get(u'$reduce')(var.get(u"this"), var.get(u'callbackfn'), var.get(u'arguments').get(u'length'), var.get(u'arguments').get(u'1'), Js(True)) + PyJs_reduceRight_942_._set_name(u'reduceRight') + PyJs_Object_941_ = Js({u'reduceRight':PyJs_reduceRight_942_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*var.get(u'require')(Js(u'./_strict-method'))(Js([]).get(u'reduceRight'), Js(True)).neg())), Js(u'Array'), PyJs_Object_941_) +PyJs_anonymous_940_._set_name(u'anonymous') +PyJs_Object_943_ = Js({u'./_array-reduce':Js(22.0),u'./_export':Js(42.0),u'./_strict-method':Js(111.0)}) +@Js +def PyJs_anonymous_944_(require, module, exports, this, 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', u'$reduce']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$reduce', var.get(u'require')(Js(u'./_array-reduce'))) + @Js + def PyJs_reduce_946_(callbackfn, this, arguments, var=var): + var = Scope({u'this':this, u'callbackfn':callbackfn, u'reduce':PyJs_reduce_946_, u'arguments':arguments}, var) + var.registers([u'callbackfn']) + return var.get(u'$reduce')(var.get(u"this"), var.get(u'callbackfn'), var.get(u'arguments').get(u'length'), var.get(u'arguments').get(u'1'), Js(False)) + PyJs_reduce_946_._set_name(u'reduce') + PyJs_Object_945_ = Js({u'reduce':PyJs_reduce_946_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*var.get(u'require')(Js(u'./_strict-method'))(Js([]).get(u'reduce'), Js(True)).neg())), Js(u'Array'), PyJs_Object_945_) +PyJs_anonymous_944_._set_name(u'anonymous') +PyJs_Object_947_ = Js({u'./_array-reduce':Js(22.0),u'./_export':Js(42.0),u'./_strict-method':Js(111.0)}) +@Js +def PyJs_anonymous_948_(require, module, exports, this, 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'toAbsoluteIndex', u'toLength', u'$export', u'require', u'module', u'html', u'cof', u'arraySlice']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'html', var.get(u'require')(Js(u'./_html'))) + var.put(u'cof', var.get(u'require')(Js(u'./_cof'))) + var.put(u'toAbsoluteIndex', var.get(u'require')(Js(u'./_to-absolute-index'))) + var.put(u'toLength', var.get(u'require')(Js(u'./_to-length'))) + var.put(u'arraySlice', Js([]).get(u'slice')) + @Js + def PyJs_anonymous_949_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if var.get(u'html'): + var.get(u'arraySlice').callprop(u'call', var.get(u'html')) + PyJs_anonymous_949_._set_name(u'anonymous') + @Js + def PyJs_slice_951_(begin, end, this, arguments, var=var): + var = Scope({u'this':this, u'begin':begin, u'slice':PyJs_slice_951_, u'end':end, u'arguments':arguments}, var) + var.registers([u'upTo', u'begin', u'end', u'i', u'len', u'cloned', u'start', u'klass', u'size']) + var.put(u'len', var.get(u'toLength')(var.get(u"this").get(u'length'))) + var.put(u'klass', var.get(u'cof')(var.get(u"this"))) + 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'klass')==Js(u'Array')): + return var.get(u'arraySlice').callprop(u'call', var.get(u"this"), var.get(u'begin'), var.get(u'end')) + var.put(u'start', var.get(u'toAbsoluteIndex')(var.get(u'begin'), var.get(u'len'))) + var.put(u'upTo', var.get(u'toAbsoluteIndex')(var.get(u'end'), var.get(u'len'))) + var.put(u'size', var.get(u'toLength')((var.get(u'upTo')-var.get(u'start')))) + var.put(u'cloned', var.get(u'Array').create(var.get(u'size'))) + var.put(u'i', Js(0.0)) + #for JS loop + + while (var.get(u'i')Js(0.0)) else var.get(u'undefined'))) + PyJs_Map_997_._set_name(u'Map') + return PyJs_Map_997_ + PyJs_anonymous_996_._set_name(u'anonymous') + @Js + def PyJs_get_999_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key, u'get':PyJs_get_999_}, var) + var.registers([u'entry', u'key']) + var.put(u'entry', var.get(u'strong').callprop(u'getEntry', var.get(u'validate')(var.get(u"this"), var.get(u'MAP')), var.get(u'key'))) + return (var.get(u'entry') and var.get(u'entry').get(u'v')) + PyJs_get_999_._set_name(u'get') + @Js + def PyJs_set_1000_(key, value, this, arguments, var=var): + var = Scope({u'this':this, u'set':PyJs_set_1000_, 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'validate')(var.get(u"this"), var.get(u'MAP')), (Js(0.0) if PyJsStrictEq(var.get(u'key'),Js(0.0)) else var.get(u'key')), var.get(u'value')) + PyJs_set_1000_._set_name(u'set') + PyJs_Object_998_ = Js({u'get':PyJs_get_999_,u'set':PyJs_set_1000_}) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./_collection'))(var.get(u'MAP'), PyJs_anonymous_996_, PyJs_Object_998_, var.get(u'strong'), Js(True))) +PyJs_anonymous_995_._set_name(u'anonymous') +PyJs_Object_1001_ = Js({u'./_collection':Js(31.0),u'./_collection-strong':Js(28.0),u'./_validate-collection':Js(132.0)}) +@Js +def PyJs_anonymous_1002_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'$acosh', u'exports', u'$export', u'require', u'module', u'sqrt', u'log1p']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'log1p', var.get(u'require')(Js(u'./_math-log1p'))) + var.put(u'sqrt', var.get(u'Math').get(u'sqrt')) + var.put(u'$acosh', var.get(u'Math').get(u'acosh')) + @Js + def PyJs_acosh_1004_(x, this, arguments, var=var): + var = Scope({u'this':this, u'x':x, u'arguments':arguments, u'acosh':PyJs_acosh_1004_}, var) + var.registers([u'x']) + return (var.get(u'NaN') if (var.put(u'x', (+var.get(u'x')))Js(94906265.62425156)) else var.get(u'log1p')(((var.get(u'x')-Js(1.0))+(var.get(u'sqrt')((var.get(u'x')-Js(1.0)))*var.get(u'sqrt')((var.get(u'x')+Js(1.0)))))))) + PyJs_acosh_1004_._set_name(u'acosh') + PyJs_Object_1003_ = Js({u'acosh':PyJs_acosh_1004_}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*((var.get(u'$acosh') and (var.get(u'Math').callprop(u'floor', var.get(u'$acosh')(var.get(u'Number').get(u'MAX_VALUE')))==Js(710.0))) and (var.get(u'$acosh')(var.get(u'Infinity'))==var.get(u'Infinity'))).neg())), Js(u'Math'), PyJs_Object_1003_) +PyJs_anonymous_1002_._set_name(u'anonymous') +PyJs_Object_1005_ = Js({u'./_export':Js(42.0),u'./_math-log1p':Js(71.0)}) +@Js +def PyJs_anonymous_1006_(require, module, exports, this, 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'$export', u'require', u'asinh', u'module', u'$asinh']) + @Js + def PyJsHoisted_asinh_(x, this, arguments, var=var): + var = Scope({u'this':this, u'x':x, u'arguments':arguments}, var) + var.registers([u'x']) + return (var.get(u'x') if (var.get(u'isFinite')(var.put(u'x', (+var.get(u'x')))).neg() or (var.get(u'x')==Js(0.0))) else ((-var.get(u'asinh')((-var.get(u'x')))) if (var.get(u'x')Js(0.0))).neg())), Js(u'Math'), PyJs_Object_1007_) +PyJs_anonymous_1006_._set_name(u'anonymous') +PyJs_Object_1008_ = Js({u'./_export':Js(42.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'$export', u'require', u'$atanh', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$atanh', var.get(u'Math').get(u'atanh')) + @Js + def PyJs_atanh_1011_(x, this, arguments, var=var): + var = Scope({u'this':this, u'x':x, u'atanh':PyJs_atanh_1011_, u'arguments':arguments}, var) + var.registers([u'x']) + return (var.get(u'x') if (var.put(u'x', (+var.get(u'x')))==Js(0.0)) else (var.get(u'Math').callprop(u'log', ((Js(1.0)+var.get(u'x'))/(Js(1.0)-var.get(u'x'))))/Js(2.0))) + PyJs_atanh_1011_._set_name(u'atanh') + PyJs_Object_1010_ = Js({u'atanh':PyJs_atanh_1011_}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*(var.get(u'$atanh') and ((Js(1.0)/var.get(u'$atanh')((-Js(0.0))))>>') else Js(32.0)) + PyJs_clz32_1019_._set_name(u'clz32') + PyJs_Object_1018_ = Js({u'clz32':PyJs_clz32_1019_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1018_) +PyJs_anonymous_1017_._set_name(u'anonymous') +PyJs_Object_1020_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1021_(require, module, exports, this, 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', u'exp']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'exp', var.get(u'Math').get(u'exp')) + @Js + def PyJs_cosh_1023_(x, this, arguments, var=var): + var = Scope({u'this':this, u'x':x, u'arguments':arguments, u'cosh':PyJs_cosh_1023_}, var) + var.registers([u'x']) + return ((var.get(u'exp')(var.put(u'x', (+var.get(u'x'))))+var.get(u'exp')((-var.get(u'x'))))/Js(2.0)) + PyJs_cosh_1023_._set_name(u'cosh') + PyJs_Object_1022_ = Js({u'cosh':PyJs_cosh_1023_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1022_) +PyJs_anonymous_1021_._set_name(u'anonymous') +PyJs_Object_1024_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1025_(require, module, exports, this, 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'$expm1', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$expm1', var.get(u'require')(Js(u'./_math-expm1'))) + PyJs_Object_1026_ = Js({u'expm1':var.get(u'$expm1')}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*(var.get(u'$expm1')!=var.get(u'Math').get(u'expm1')))), Js(u'Math'), PyJs_Object_1026_) +PyJs_anonymous_1025_._set_name(u'anonymous') +PyJs_Object_1027_ = Js({u'./_export':Js(42.0),u'./_math-expm1':Js(69.0)}) +@Js +def PyJs_anonymous_1028_(require, module, exports, this, 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_1029_ = Js({u'fround':var.get(u'require')(Js(u'./_math-fround'))}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1029_) +PyJs_anonymous_1028_._set_name(u'anonymous') +PyJs_Object_1030_ = Js({u'./_export':Js(42.0),u'./_math-fround':Js(70.0)}) +@Js +def PyJs_anonymous_1031_(require, module, exports, this, 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'abs', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'abs', var.get(u'Math').get(u'abs')) + @Js + def PyJs_hypot_1033_(value1, value2, this, arguments, var=var): + var = Scope({u'this':this, u'hypot':PyJs_hypot_1033_, u'value2':value2, u'value1':value1, u'arguments':arguments}, var) + var.registers([u'i', u'sum', u'aLen', u'larg', u'value2', u'value1', u'arg', u'div']) + var.put(u'sum', Js(0.0)) + var.put(u'i', Js(0.0)) + var.put(u'aLen', var.get(u'arguments').get(u'length')) + var.put(u'larg', Js(0.0)) + pass + while (var.get(u'i')Js(0.0)): + var.put(u'div', (var.get(u'arg')/var.get(u'larg'))) + var.put(u'sum', (var.get(u'div')*var.get(u'div')), u'+') + else: + var.put(u'sum', var.get(u'arg'), u'+') + return (var.get(u'Infinity') if PyJsStrictEq(var.get(u'larg'),var.get(u'Infinity')) else (var.get(u'larg')*var.get(u'Math').callprop(u'sqrt', var.get(u'sum')))) + PyJs_hypot_1033_._set_name(u'hypot') + PyJs_Object_1032_ = Js({u'hypot':PyJs_hypot_1033_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1032_) +PyJs_anonymous_1031_._set_name(u'anonymous') +PyJs_Object_1034_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1035_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'$imul', u'$export', u'require', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$imul', var.get(u'Math').get(u'imul')) + @Js + def PyJs_anonymous_1036_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return ((var.get(u'$imul')(Js(4294967295), Js(5.0))!=(-Js(5.0))) or (var.get(u'$imul').get(u'length')!=Js(2.0))) + PyJs_anonymous_1036_._set_name(u'anonymous') + @Js + def PyJs_imul_1038_(x, y, this, arguments, var=var): + var = Scope({u'y':y, u'x':x, u'this':this, u'arguments':arguments, u'imul':PyJs_imul_1038_}, var) + var.registers([u'xn', u'yl', u'xl', u'yn', u'UINT16', u'y', u'x']) + var.put(u'UINT16', Js(65535)) + var.put(u'xn', (+var.get(u'x'))) + var.put(u'yn', (+var.get(u'y'))) + var.put(u'xl', (var.get(u'UINT16')&var.get(u'xn'))) + var.put(u'yl', (var.get(u'UINT16')&var.get(u'yn'))) + return (Js(0.0)|((var.get(u'xl')*var.get(u'yl'))+PyJsBshift(((((var.get(u'UINT16')&PyJsBshift(var.get(u'xn'),Js(16.0)))*var.get(u'yl'))+(var.get(u'xl')*(var.get(u'UINT16')&PyJsBshift(var.get(u'yn'),Js(16.0)))))<Js(0.0)) else var.get(u'Math').get(u'ceil'))(var.get(u'it')) + PyJs_trunc_1065_._set_name(u'trunc') + PyJs_Object_1064_ = Js({u'trunc':PyJs_trunc_1065_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1064_) +PyJs_anonymous_1063_._set_name(u'anonymous') +PyJs_Object_1066_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1067_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'global', u'NUMBER', u'module', u'fails', u'proto', u'toPrimitive', u'gOPN', u'keys', u'Base', u'toNumber', u'gOPD', u'has', u'TRIM', u'exports', u'$Number', u'key', u'inheritIfRequired', u'require', u'j', u'BROKEN_COF', u'cof', u'$trim', u'dP']) + 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'cof', var.get(u'require')(Js(u'./_cof'))) + var.put(u'inheritIfRequired', var.get(u'require')(Js(u'./_inherit-if-required'))) + var.put(u'toPrimitive', var.get(u'require')(Js(u'./_to-primitive'))) + var.put(u'fails', var.get(u'require')(Js(u'./_fails'))) + var.put(u'gOPN', var.get(u'require')(Js(u'./_object-gopn')).get(u'f')) + var.put(u'gOPD', var.get(u'require')(Js(u'./_object-gopd')).get(u'f')) + var.put(u'dP', var.get(u'require')(Js(u'./_object-dp')).get(u'f')) + var.put(u'$trim', var.get(u'require')(Js(u'./_string-trim')).get(u'trim')) + var.put(u'NUMBER', Js(u'Number')) + var.put(u'$Number', var.get(u'global').get(var.get(u'NUMBER'))) + var.put(u'Base', var.get(u'$Number')) + var.put(u'proto', var.get(u'$Number').get(u'prototype')) + var.put(u'BROKEN_COF', (var.get(u'cof')(var.get(u'require')(Js(u'./_object-create'))(var.get(u'proto')))==var.get(u'NUMBER'))) + var.put(u'TRIM', var.get(u'String').get(u'prototype').contains(Js(u'trim'))) + @Js + def PyJs_toNumber_1068_(argument, this, arguments, var=var): + var = Scope({u'this':this, u'toNumber':PyJs_toNumber_1068_, u'argument':argument, u'arguments':arguments}, var) + var.registers([u'digits', u'radix', u'third', u'maxCode', u'i', u'argument', u'it', u'l', u'code', u'first']) + var.put(u'it', var.get(u'toPrimitive')(var.get(u'argument'), Js(False))) + if ((var.get(u'it',throw=False).typeof()==Js(u'string')) and (var.get(u'it').get(u'length')>Js(2.0))): + var.put(u'it', (var.get(u'it').callprop(u'trim') if var.get(u'TRIM') else var.get(u'$trim')(var.get(u'it'), Js(3.0)))) + var.put(u'first', var.get(u'it').callprop(u'charCodeAt', Js(0.0))) + pass + if (PyJsStrictEq(var.get(u'first'),Js(43.0)) or PyJsStrictEq(var.get(u'first'),Js(45.0))): + var.put(u'third', var.get(u'it').callprop(u'charCodeAt', Js(2.0))) + if (PyJsStrictEq(var.get(u'third'),Js(88.0)) or PyJsStrictEq(var.get(u'third'),Js(120.0))): + return var.get(u'NaN') + else: + if PyJsStrictEq(var.get(u'first'),Js(48.0)): + while 1: + SWITCHED = False + CONDITION = (var.get(u'it').callprop(u'charCodeAt', Js(1.0))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(66.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(98.0)): + SWITCHED = True + var.put(u'radix', Js(2.0)) + var.put(u'maxCode', Js(49.0)) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(79.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(111.0)): + SWITCHED = True + var.put(u'radix', Js(8.0)) + var.put(u'maxCode', Js(55.0)) + break + if True: + SWITCHED = True + return (+var.get(u'it')) + SWITCHED = True + break + #for JS loop + var.put(u'digits', var.get(u'it').callprop(u'slice', Js(2.0))) + var.put(u'i', Js(0.0)) + var.put(u'l', var.get(u'digits').get(u'length')) + while (var.get(u'i')var.get(u'maxCode'))): + return var.get(u'NaN') + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + return var.get(u'parseInt')(var.get(u'digits'), var.get(u'radix')) + return (+var.get(u'it')) + PyJs_toNumber_1068_._set_name(u'toNumber') + var.put(u'toNumber', PyJs_toNumber_1068_) + if ((var.get(u'$Number')(Js(u' 0o1')).neg() or var.get(u'$Number')(Js(u'0b1')).neg()) or var.get(u'$Number')(Js(u'+0x1'))): + @Js + def PyJs_Number_1069_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value, u'Number':PyJs_Number_1069_}, var) + var.registers([u'it', u'value', u'that']) + var.put(u'it', (Js(0.0) if (var.get(u'arguments').get(u'length')var.get(u'j')): + try: + if (var.get(u'has')(var.get(u'Base'), var.put(u'key', var.get(u'keys').get(var.get(u'j')))) and var.get(u'has')(var.get(u'$Number'), var.get(u'key')).neg()): + var.get(u'dP')(var.get(u'$Number'), var.get(u'key'), var.get(u'gOPD')(var.get(u'Base'), var.get(u'key'))) + finally: + (var.put(u'j',Js(var.get(u'j').to_number())+Js(1))-Js(1)) + var.get(u'$Number').put(u'prototype', var.get(u'proto')) + var.get(u'proto').put(u'constructor', var.get(u'$Number')) + var.get(u'require')(Js(u'./_redefine'))(var.get(u'global'), var.get(u'NUMBER'), var.get(u'$Number')) +PyJs_anonymous_1067_._set_name(u'anonymous') +PyJs_Object_1071_ = Js({u'./_cof':Js(27.0),u'./_descriptors':Js(38.0),u'./_fails':Js(44.0),u'./_global':Js(49.0),u'./_has':Js(50.0),u'./_inherit-if-required':Js(54.0),u'./_object-create':Js(79.0),u'./_object-dp':Js(80.0),u'./_object-gopd':Js(83.0),u'./_object-gopn':Js(85.0),u'./_redefine':Js(100.0),u'./_string-trim':Js(117.0),u'./_to-primitive':Js(126.0)}) +@Js +def PyJs_anonymous_1072_(require, module, exports, this, 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_1073_ = Js({u'EPSILON':var.get(u'Math').callprop(u'pow', Js(2.0), (-Js(52.0)))}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Number'), PyJs_Object_1073_) +PyJs_anonymous_1072_._set_name(u'anonymous') +PyJs_Object_1074_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1075_(require, module, exports, this, 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'_isFinite', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'_isFinite', var.get(u'require')(Js(u'./_global')).get(u'isFinite')) + @Js + def PyJs_isFinite_1077_(it, this, arguments, var=var): + var = Scope({u'this':this, u'isFinite':PyJs_isFinite_1077_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return ((var.get(u'it',throw=False).typeof()==Js(u'number')) and var.get(u'_isFinite')(var.get(u'it'))) + PyJs_isFinite_1077_._set_name(u'isFinite') + PyJs_Object_1076_ = Js({u'isFinite':PyJs_isFinite_1077_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Number'), PyJs_Object_1076_) +PyJs_anonymous_1075_._set_name(u'anonymous') +PyJs_Object_1078_ = Js({u'./_export':Js(42.0),u'./_global':Js(49.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'$export', u'require', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + PyJs_Object_1080_ = Js({u'isInteger':var.get(u'require')(Js(u'./_is-integer'))}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Number'), PyJs_Object_1080_) +PyJs_anonymous_1079_._set_name(u'anonymous') +PyJs_Object_1081_ = Js({u'./_export':Js(42.0),u'./_is-integer':Js(59.0)}) +@Js +def PyJs_anonymous_1082_(require, module, exports, this, 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'))) + @Js + def PyJs_isNaN_1084_(number, this, arguments, var=var): + var = Scope({u'this':this, u'isNaN':PyJs_isNaN_1084_, u'number':number, u'arguments':arguments}, var) + var.registers([u'number']) + return (var.get(u'number')!=var.get(u'number')) + PyJs_isNaN_1084_._set_name(u'isNaN') + PyJs_Object_1083_ = Js({u'isNaN':PyJs_isNaN_1084_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Number'), PyJs_Object_1083_) +PyJs_anonymous_1082_._set_name(u'anonymous') +PyJs_Object_1085_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1086_(require, module, exports, this, 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'$export', u'require', u'module', u'abs', u'isInteger']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'isInteger', var.get(u'require')(Js(u'./_is-integer'))) + var.put(u'abs', var.get(u'Math').get(u'abs')) + @Js + def PyJs_isSafeInteger_1088_(number, this, arguments, var=var): + var = Scope({u'this':this, u'isSafeInteger':PyJs_isSafeInteger_1088_, u'number':number, u'arguments':arguments}, var) + var.registers([u'number']) + return (var.get(u'isInteger')(var.get(u'number')) and (var.get(u'abs')(var.get(u'number'))<=Js(9007199254740991))) + PyJs_isSafeInteger_1088_._set_name(u'isSafeInteger') + PyJs_Object_1087_ = Js({u'isSafeInteger':PyJs_isSafeInteger_1088_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Number'), PyJs_Object_1087_) +PyJs_anonymous_1086_._set_name(u'anonymous') +PyJs_Object_1089_ = Js({u'./_export':Js(42.0),u'./_is-integer':Js(59.0)}) +@Js +def PyJs_anonymous_1090_(require, module, exports, this, 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_1091_ = Js({u'MAX_SAFE_INTEGER':Js(9007199254740991)}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Number'), PyJs_Object_1091_) +PyJs_anonymous_1090_._set_name(u'anonymous') +PyJs_Object_1092_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1093_(require, module, exports, this, 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_1094_ = Js({u'MIN_SAFE_INTEGER':(-Js(9007199254740991))}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Number'), PyJs_Object_1094_) +PyJs_anonymous_1093_._set_name(u'anonymous') +PyJs_Object_1095_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1096_(require, module, exports, this, 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', u'$parseFloat']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$parseFloat', var.get(u'require')(Js(u'./_parse-float'))) + PyJs_Object_1097_ = Js({u'parseFloat':var.get(u'$parseFloat')}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*(var.get(u'Number').get(u'parseFloat')!=var.get(u'$parseFloat')))), Js(u'Number'), PyJs_Object_1097_) +PyJs_anonymous_1096_._set_name(u'anonymous') +PyJs_Object_1098_ = Js({u'./_export':Js(42.0),u'./_parse-float':Js(94.0)}) +@Js +def PyJs_anonymous_1099_(require, module, exports, this, 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'$parseInt', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$parseInt', var.get(u'require')(Js(u'./_parse-int'))) + PyJs_Object_1100_ = Js({u'parseInt':var.get(u'$parseInt')}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*(var.get(u'Number').get(u'parseInt')!=var.get(u'$parseInt')))), Js(u'Number'), PyJs_Object_1100_) +PyJs_anonymous_1099_._set_name(u'anonymous') +PyJs_Object_1101_ = Js({u'./_export':Js(42.0),u'./_parse-int':Js(95.0)}) +@Js +def PyJs_anonymous_1102_(require, module, exports, this, 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'repeat', u'divide', u'floor', u'pow', u'$export', u'toInteger', u'numToString', u'module', u'ZERO', u'aNumberValue', u'ERROR', u'multiply', u'$toFixed', u'data', u'require', u'log']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'toInteger', var.get(u'require')(Js(u'./_to-integer'))) + var.put(u'aNumberValue', var.get(u'require')(Js(u'./_a-number-value'))) + var.put(u'repeat', var.get(u'require')(Js(u'./_string-repeat'))) + var.put(u'$toFixed', Js(1.0).get(u'toFixed')) + var.put(u'floor', var.get(u'Math').get(u'floor')) + var.put(u'data', Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.0)])) + var.put(u'ERROR', Js(u'Number.toFixed: incorrect invocation!')) + var.put(u'ZERO', Js(u'0')) + @Js + def PyJs_multiply_1103_(n, c, this, arguments, var=var): + var = Scope({u'this':this, u'multiply':PyJs_multiply_1103_, u'c':c, u'arguments':arguments, u'n':n}, var) + var.registers([u'i', u'c2', u'c', u'n']) + var.put(u'i', (-Js(1.0))) + var.put(u'c2', var.get(u'c')) + while (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))=Js(0.0)): + var.put(u'c', var.get(u'data').get(var.get(u'i')), u'+') + var.get(u'data').put(var.get(u'i'), var.get(u'floor')((var.get(u'c')/var.get(u'n')))) + var.put(u'c', ((var.get(u'c')%var.get(u'n'))*Js(10000000.0))) + PyJs_divide_1104_._set_name(u'divide') + var.put(u'divide', PyJs_divide_1104_) + @Js + def PyJs_numToString_1105_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'numToString':PyJs_numToString_1105_}, var) + var.registers([u'i', u's', u't']) + var.put(u'i', Js(6.0)) + var.put(u's', Js(u'')) + while (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))>=Js(0.0)): + if ((PyJsStrictNeq(var.get(u's'),Js(u'')) or PyJsStrictEq(var.get(u'i'),Js(0.0))) or PyJsStrictNeq(var.get(u'data').get(var.get(u'i')),Js(0.0))): + var.put(u't', var.get(u'String')(var.get(u'data').get(var.get(u'i')))) + var.put(u's', (var.get(u't') if PyJsStrictEq(var.get(u's'),Js(u'')) else ((var.get(u's')+var.get(u'repeat').callprop(u'call', var.get(u'ZERO'), (Js(7.0)-var.get(u't').get(u'length'))))+var.get(u't')))) + return var.get(u's') + PyJs_numToString_1105_._set_name(u'numToString') + var.put(u'numToString', PyJs_numToString_1105_) + @Js + def PyJs_pow_1106_(x, n, acc, this, arguments, var=var): + var = Scope({u'acc':acc, u'this':this, u'pow':PyJs_pow_1106_, u'n':n, u'arguments':arguments, u'x':x}, var) + var.registers([u'acc', u'x', u'n']) + return (var.get(u'acc') if PyJsStrictEq(var.get(u'n'),Js(0.0)) else (var.get(u'pow')(var.get(u'x'), (var.get(u'n')-Js(1.0)), (var.get(u'acc')*var.get(u'x'))) if PyJsStrictEq((var.get(u'n')%Js(2.0)),Js(1.0)) else var.get(u'pow')((var.get(u'x')*var.get(u'x')), (var.get(u'n')/Js(2.0)), var.get(u'acc')))) + PyJs_pow_1106_._set_name(u'pow') + var.put(u'pow', PyJs_pow_1106_) + @Js + def PyJs_log_1107_(x, this, arguments, var=var): + var = Scope({u'this':this, u'x':x, u'arguments':arguments, u'log':PyJs_log_1107_}, var) + var.registers([u'x2', u'x', u'n']) + var.put(u'n', Js(0.0)) + var.put(u'x2', var.get(u'x')) + while (var.get(u'x2')>=Js(4096.0)): + var.put(u'n', Js(12.0), u'+') + var.put(u'x2', Js(4096.0), u'/') + while (var.get(u'x2')>=Js(2.0)): + var.put(u'n', Js(1.0), u'+') + var.put(u'x2', Js(2.0), u'/') + return var.get(u'n') + PyJs_log_1107_._set_name(u'log') + var.put(u'log', PyJs_log_1107_) + def PyJs_LONG_1110_(var=var): + @Js + def PyJs_anonymous_1108_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_1109_ = Js({}) + var.get(u'$toFixed').callprop(u'call', PyJs_Object_1109_) + PyJs_anonymous_1108_._set_name(u'anonymous') + return ((var.get(u'$toFixed').neg().neg() and (((PyJsStrictNeq(Js(8e-05).callprop(u'toFixed', Js(3.0)),Js(u'0.000')) or PyJsStrictNeq(Js(0.9).callprop(u'toFixed', Js(0.0)),Js(u'1'))) or PyJsStrictNeq(Js(1.255).callprop(u'toFixed', Js(2.0)),Js(u'1.25'))) or PyJsStrictNeq(Js(1.0000000000000001e+18).callprop(u'toFixed', Js(0.0)),Js(u'1000000000000000128')))) or var.get(u'require')(Js(u'./_fails'))(PyJs_anonymous_1108_).neg()) + @Js + def PyJs_toFixed_1112_(fractionDigits, this, arguments, var=var): + var = Scope({u'this':this, u'toFixed':PyJs_toFixed_1112_, u'fractionDigits':fractionDigits, u'arguments':arguments}, var) + var.registers([u'e', u'f', u'k', u'j', u'm', u's', u'x', u'fractionDigits', u'z']) + var.put(u'x', var.get(u'aNumberValue')(var.get(u"this"), var.get(u'ERROR'))) + var.put(u'f', var.get(u'toInteger')(var.get(u'fractionDigits'))) + var.put(u's', Js(u'')) + var.put(u'm', var.get(u'ZERO')) + pass + if ((var.get(u'f')Js(20.0))): + PyJsTempException = JsToPyException(var.get(u'RangeError')(var.get(u'ERROR'))) + raise PyJsTempException + if (var.get(u'x')!=var.get(u'x')): + return Js(u'NaN') + if ((var.get(u'x')<=(-Js(1e+21))) or (var.get(u'x')>=Js(1e+21))): + return var.get(u'String')(var.get(u'x')) + if (var.get(u'x')Js(1e-21)): + var.put(u'e', (var.get(u'log')((var.get(u'x')*var.get(u'pow')(Js(2.0), Js(69.0), Js(1.0))))-Js(69.0))) + var.put(u'z', ((var.get(u'x')*var.get(u'pow')(Js(2.0), (-var.get(u'e')), Js(1.0))) if (var.get(u'e')Js(0.0)): + var.get(u'multiply')(Js(0.0), var.get(u'z')) + var.put(u'j', var.get(u'f')) + while (var.get(u'j')>=Js(7.0)): + var.get(u'multiply')(Js(10000000.0), Js(0.0)) + var.put(u'j', Js(7.0), u'-') + var.get(u'multiply')(var.get(u'pow')(Js(10.0), var.get(u'j'), Js(1.0)), Js(0.0)) + var.put(u'j', (var.get(u'e')-Js(1.0))) + while (var.get(u'j')>=Js(23.0)): + var.get(u'divide')((Js(1.0)<Js(0.0)): + var.put(u'k', var.get(u'm').get(u'length')) + var.put(u'm', (var.get(u's')+(((Js(u'0.')+var.get(u'repeat').callprop(u'call', var.get(u'ZERO'), (var.get(u'f')-var.get(u'k'))))+var.get(u'm')) if (var.get(u'k')<=var.get(u'f')) else ((var.get(u'm').callprop(u'slice', Js(0.0), (var.get(u'k')-var.get(u'f')))+Js(u'.'))+var.get(u'm').callprop(u'slice', (var.get(u'k')-var.get(u'f'))))))) + else: + var.put(u'm', (var.get(u's')+var.get(u'm'))) + return var.get(u'm') + PyJs_toFixed_1112_._set_name(u'toFixed') + PyJs_Object_1111_ = Js({u'toFixed':PyJs_toFixed_1112_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*PyJs_LONG_1110_())), Js(u'Number'), PyJs_Object_1111_) +PyJs_anonymous_1102_._set_name(u'anonymous') +PyJs_Object_1113_ = Js({u'./_a-number-value':Js(13.0),u'./_export':Js(42.0),u'./_fails':Js(44.0),u'./_string-repeat':Js(116.0),u'./_to-integer':Js(122.0)}) +@Js +def PyJs_anonymous_1114_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'$toPrecision', u'exports', u'$fails', u'$export', u'require', u'module', u'aNumberValue']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$fails', var.get(u'require')(Js(u'./_fails'))) + var.put(u'aNumberValue', var.get(u'require')(Js(u'./_a-number-value'))) + var.put(u'$toPrecision', Js(1.0).get(u'toPrecision')) + @Js + def PyJs_anonymous_1115_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return PyJsStrictNeq(var.get(u'$toPrecision').callprop(u'call', Js(1.0), var.get(u'undefined')),Js(u'1')) + PyJs_anonymous_1115_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1116_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_1117_ = Js({}) + var.get(u'$toPrecision').callprop(u'call', PyJs_Object_1117_) + PyJs_anonymous_1116_._set_name(u'anonymous') + @Js + def PyJs_toPrecision_1119_(precision, this, arguments, var=var): + var = Scope({u'this':this, u'toPrecision':PyJs_toPrecision_1119_, u'precision':precision, u'arguments':arguments}, var) + var.registers([u'precision', u'that']) + var.put(u'that', var.get(u'aNumberValue')(var.get(u"this"), Js(u'Number#toPrecision: incorrect invocation!'))) + return (var.get(u'$toPrecision').callprop(u'call', var.get(u'that')) if PyJsStrictEq(var.get(u'precision'),var.get(u'undefined')) else var.get(u'$toPrecision').callprop(u'call', var.get(u'that'), var.get(u'precision'))) + PyJs_toPrecision_1119_._set_name(u'toPrecision') + PyJs_Object_1118_ = Js({u'toPrecision':PyJs_toPrecision_1119_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*(var.get(u'$fails')(PyJs_anonymous_1115_) or var.get(u'$fails')(PyJs_anonymous_1116_).neg()))), Js(u'Number'), PyJs_Object_1118_) +PyJs_anonymous_1114_._set_name(u'anonymous') +PyJs_Object_1120_ = Js({u'./_a-number-value':Js(13.0),u'./_export':Js(42.0),u'./_fails':Js(44.0)}) +@Js +def PyJs_anonymous_1121_(require, module, exports, this, 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_1122_ = 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_1122_) +PyJs_anonymous_1121_._set_name(u'anonymous') +PyJs_Object_1123_ = Js({u'./_export':Js(42.0),u'./_object-assign':Js(78.0)}) +@Js +def PyJs_anonymous_1124_(require, module, exports, this, 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_1125_ = 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_1125_) +PyJs_anonymous_1124_._set_name(u'anonymous') +PyJs_Object_1126_ = Js({u'./_export':Js(42.0),u'./_object-create':Js(79.0)}) +@Js +def PyJs_anonymous_1127_(require, module, exports, this, 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_1128_ = Js({u'defineProperties':var.get(u'require')(Js(u'./_object-dps'))}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*var.get(u'require')(Js(u'./_descriptors')).neg())), Js(u'Object'), PyJs_Object_1128_) +PyJs_anonymous_1127_._set_name(u'anonymous') +PyJs_Object_1129_ = Js({u'./_descriptors':Js(38.0),u'./_export':Js(42.0),u'./_object-dps':Js(81.0)}) +@Js +def PyJs_anonymous_1130_(require, module, exports, this, 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_1131_ = Js({u'defineProperty':var.get(u'require')(Js(u'./_object-dp')).get(u'f')}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*var.get(u'require')(Js(u'./_descriptors')).neg())), Js(u'Object'), PyJs_Object_1131_) +PyJs_anonymous_1130_._set_name(u'anonymous') +PyJs_Object_1132_ = Js({u'./_descriptors':Js(38.0),u'./_export':Js(42.0),u'./_object-dp':Js(80.0)}) +@Js +def PyJs_anonymous_1133_(require, module, exports, this, 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'meta', u'exports', u'isObject', u'module']) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'meta', var.get(u'require')(Js(u'./_meta')).get(u'onFreeze')) + @Js + def PyJs_anonymous_1134_(PyJsArg_24667265657a65_, this, arguments, var=var): + var = Scope({u'this':this, u'$freeze':PyJsArg_24667265657a65_, u'arguments':arguments}, var) + var.registers([u'$freeze']) + @Js + def PyJs_freeze_1135_(it, this, arguments, var=var): + var = Scope({u'this':this, u'freeze':PyJs_freeze_1135_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return (var.get(u'$freeze')(var.get(u'meta')(var.get(u'it'))) if (var.get(u'$freeze') and var.get(u'isObject')(var.get(u'it'))) else var.get(u'it')) + PyJs_freeze_1135_._set_name(u'freeze') + return PyJs_freeze_1135_ + PyJs_anonymous_1134_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_object-sap'))(Js(u'freeze'), PyJs_anonymous_1134_) +PyJs_anonymous_1133_._set_name(u'anonymous') +PyJs_Object_1136_ = Js({u'./_is-object':Js(60.0),u'./_meta':Js(74.0),u'./_object-sap':Js(91.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'toIObject', u'$getOwnPropertyDescriptor', u'module']) + var.put(u'toIObject', var.get(u'require')(Js(u'./_to-iobject'))) + var.put(u'$getOwnPropertyDescriptor', var.get(u'require')(Js(u'./_object-gopd')).get(u'f')) + @Js + def PyJs_anonymous_1138_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_getOwnPropertyDescriptor_1139_(it, key, this, arguments, var=var): + var = Scope({u'this':this, u'getOwnPropertyDescriptor':PyJs_getOwnPropertyDescriptor_1139_, u'it':it, u'key':key, u'arguments':arguments}, var) + var.registers([u'it', u'key']) + return var.get(u'$getOwnPropertyDescriptor')(var.get(u'toIObject')(var.get(u'it')), var.get(u'key')) + PyJs_getOwnPropertyDescriptor_1139_._set_name(u'getOwnPropertyDescriptor') + return PyJs_getOwnPropertyDescriptor_1139_ + PyJs_anonymous_1138_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_object-sap'))(Js(u'getOwnPropertyDescriptor'), PyJs_anonymous_1138_) +PyJs_anonymous_1137_._set_name(u'anonymous') +PyJs_Object_1140_ = Js({u'./_object-gopd':Js(83.0),u'./_object-sap':Js(91.0),u'./_to-iobject':Js(123.0)}) +@Js +def PyJs_anonymous_1141_(require, module, exports, this, 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_1142_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'require')(Js(u'./_object-gopn-ext')).get(u'f') + PyJs_anonymous_1142_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_object-sap'))(Js(u'getOwnPropertyNames'), PyJs_anonymous_1142_) +PyJs_anonymous_1141_._set_name(u'anonymous') +PyJs_Object_1143_ = Js({u'./_object-gopn-ext':Js(84.0),u'./_object-sap':Js(91.0)}) +@Js +def PyJs_anonymous_1144_(require, module, exports, this, 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'$getPrototypeOf', u'module']) + var.put(u'toObject', var.get(u'require')(Js(u'./_to-object'))) + var.put(u'$getPrototypeOf', var.get(u'require')(Js(u'./_object-gpo'))) + @Js + def PyJs_anonymous_1145_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_getPrototypeOf_1146_(it, this, arguments, var=var): + var = Scope({u'this':this, u'getPrototypeOf':PyJs_getPrototypeOf_1146_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return var.get(u'$getPrototypeOf')(var.get(u'toObject')(var.get(u'it'))) + PyJs_getPrototypeOf_1146_._set_name(u'getPrototypeOf') + return PyJs_getPrototypeOf_1146_ + PyJs_anonymous_1145_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_object-sap'))(Js(u'getPrototypeOf'), PyJs_anonymous_1145_) +PyJs_anonymous_1144_._set_name(u'anonymous') +PyJs_Object_1147_ = Js({u'./_object-gpo':Js(87.0),u'./_object-sap':Js(91.0),u'./_to-object':Js(125.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'require', u'exports', u'isObject', u'module']) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + @Js + def PyJs_anonymous_1149_(PyJsArg_246973457874656e7369626c65_, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'$isExtensible':PyJsArg_246973457874656e7369626c65_}, var) + var.registers([u'$isExtensible']) + @Js + def PyJs_isExtensible_1150_(it, this, arguments, var=var): + var = Scope({u'this':this, u'isExtensible':PyJs_isExtensible_1150_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return ((var.get(u'$isExtensible')(var.get(u'it')) if var.get(u'$isExtensible') else Js(True)) if var.get(u'isObject')(var.get(u'it')) else Js(False)) + PyJs_isExtensible_1150_._set_name(u'isExtensible') + return PyJs_isExtensible_1150_ + PyJs_anonymous_1149_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_object-sap'))(Js(u'isExtensible'), PyJs_anonymous_1149_) +PyJs_anonymous_1148_._set_name(u'anonymous') +PyJs_Object_1151_ = Js({u'./_is-object':Js(60.0),u'./_object-sap':Js(91.0)}) +@Js +def PyJs_anonymous_1152_(require, module, exports, this, 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_1153_(PyJsArg_24697346726f7a656e_, this, arguments, var=var): + var = Scope({u'this':this, u'$isFrozen':PyJsArg_24697346726f7a656e_, u'arguments':arguments}, var) + var.registers([u'$isFrozen']) + @Js + def PyJs_isFrozen_1154_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'isFrozen':PyJs_isFrozen_1154_, u'arguments':arguments}, var) + var.registers([u'it']) + return ((var.get(u'$isFrozen')(var.get(u'it')) if var.get(u'$isFrozen') else Js(False)) if var.get(u'isObject')(var.get(u'it')) else Js(True)) + PyJs_isFrozen_1154_._set_name(u'isFrozen') + return PyJs_isFrozen_1154_ + PyJs_anonymous_1153_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_object-sap'))(Js(u'isFrozen'), PyJs_anonymous_1153_) +PyJs_anonymous_1152_._set_name(u'anonymous') +PyJs_Object_1155_ = Js({u'./_is-object':Js(60.0),u'./_object-sap':Js(91.0)}) +@Js +def PyJs_anonymous_1156_(require, module, exports, this, 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_1157_(PyJsArg_2469735365616c6564_, this, arguments, var=var): + var = Scope({u'this':this, u'$isSealed':PyJsArg_2469735365616c6564_, u'arguments':arguments}, var) + var.registers([u'$isSealed']) + @Js + def PyJs_isSealed_1158_(it, this, arguments, var=var): + var = Scope({u'this':this, u'isSealed':PyJs_isSealed_1158_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return ((var.get(u'$isSealed')(var.get(u'it')) if var.get(u'$isSealed') else Js(False)) if var.get(u'isObject')(var.get(u'it')) else Js(True)) + PyJs_isSealed_1158_._set_name(u'isSealed') + return PyJs_isSealed_1158_ + PyJs_anonymous_1157_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_object-sap'))(Js(u'isSealed'), PyJs_anonymous_1157_) +PyJs_anonymous_1156_._set_name(u'anonymous') +PyJs_Object_1159_ = Js({u'./_is-object':Js(60.0),u'./_object-sap':Js(91.0)}) +@Js +def PyJs_anonymous_1160_(require, module, exports, this, 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_1161_ = Js({u'is':var.get(u'require')(Js(u'./_same-value'))}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Object'), PyJs_Object_1161_) +PyJs_anonymous_1160_._set_name(u'anonymous') +PyJs_Object_1162_ = Js({u'./_export':Js(42.0),u'./_same-value':Js(102.0)}) +@Js +def PyJs_anonymous_1163_(require, module, exports, this, 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_1164_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_keys_1165_(it, this, arguments, var=var): + var = Scope({u'this':this, u'keys':PyJs_keys_1165_, 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_1165_._set_name(u'keys') + return PyJs_keys_1165_ + PyJs_anonymous_1164_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_object-sap'))(Js(u'keys'), PyJs_anonymous_1164_) +PyJs_anonymous_1163_._set_name(u'anonymous') +PyJs_Object_1166_ = Js({u'./_object-keys':Js(89.0),u'./_object-sap':Js(91.0),u'./_to-object':Js(125.0)}) +@Js +def PyJs_anonymous_1167_(require, module, exports, this, 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'meta', u'exports', u'isObject', u'module']) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'meta', var.get(u'require')(Js(u'./_meta')).get(u'onFreeze')) + @Js + def PyJs_anonymous_1168_(PyJsArg_2470726576656e74457874656e73696f6e73_, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'$preventExtensions':PyJsArg_2470726576656e74457874656e73696f6e73_}, var) + var.registers([u'$preventExtensions']) + @Js + def PyJs_preventExtensions_1169_(it, this, arguments, var=var): + var = Scope({u'this':this, u'preventExtensions':PyJs_preventExtensions_1169_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return (var.get(u'$preventExtensions')(var.get(u'meta')(var.get(u'it'))) if (var.get(u'$preventExtensions') and var.get(u'isObject')(var.get(u'it'))) else var.get(u'it')) + PyJs_preventExtensions_1169_._set_name(u'preventExtensions') + return PyJs_preventExtensions_1169_ + PyJs_anonymous_1168_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_object-sap'))(Js(u'preventExtensions'), PyJs_anonymous_1168_) +PyJs_anonymous_1167_._set_name(u'anonymous') +PyJs_Object_1170_ = Js({u'./_is-object':Js(60.0),u'./_meta':Js(74.0),u'./_object-sap':Js(91.0)}) +@Js +def PyJs_anonymous_1171_(require, module, exports, this, 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'meta', u'exports', u'isObject', u'module']) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'meta', var.get(u'require')(Js(u'./_meta')).get(u'onFreeze')) + @Js + def PyJs_anonymous_1172_(PyJsArg_247365616c_, this, arguments, var=var): + var = Scope({u'this':this, u'$seal':PyJsArg_247365616c_, u'arguments':arguments}, var) + var.registers([u'$seal']) + @Js + def PyJs_seal_1173_(it, this, arguments, var=var): + var = Scope({u'this':this, u'seal':PyJs_seal_1173_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return (var.get(u'$seal')(var.get(u'meta')(var.get(u'it'))) if (var.get(u'$seal') and var.get(u'isObject')(var.get(u'it'))) else var.get(u'it')) + PyJs_seal_1173_._set_name(u'seal') + return PyJs_seal_1173_ + PyJs_anonymous_1172_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_object-sap'))(Js(u'seal'), PyJs_anonymous_1172_) +PyJs_anonymous_1171_._set_name(u'anonymous') +PyJs_Object_1174_ = Js({u'./_is-object':Js(60.0),u'./_meta':Js(74.0),u'./_object-sap':Js(91.0)}) +@Js +def PyJs_anonymous_1175_(require, module, exports, this, 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_1176_ = 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_1176_) +PyJs_anonymous_1175_._set_name(u'anonymous') +PyJs_Object_1177_ = Js({u'./_export':Js(42.0),u'./_set-proto':Js(105.0)}) +@Js +def PyJs_anonymous_1178_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'test', u'require', u'classof', u'exports', u'module']) + Js(u'use strict') + var.put(u'classof', var.get(u'require')(Js(u'./_classof'))) + PyJs_Object_1179_ = Js({}) + var.put(u'test', PyJs_Object_1179_) + var.get(u'test').put(var.get(u'require')(Js(u'./_wks'))(Js(u'toStringTag')), Js(u'z')) + if ((var.get(u'test')+Js(u''))!=Js(u'[object z]')): + @Js + def PyJs_toString_1180_(this, arguments, var=var): + var = Scope({u'this':this, u'toString':PyJs_toString_1180_, u'arguments':arguments}, var) + var.registers([]) + return ((Js(u'[object ')+var.get(u'classof')(var.get(u"this")))+Js(u']')) + PyJs_toString_1180_._set_name(u'toString') + var.get(u'require')(Js(u'./_redefine'))(var.get(u'Object').get(u'prototype'), Js(u'toString'), PyJs_toString_1180_, Js(True)) +PyJs_anonymous_1178_._set_name(u'anonymous') +PyJs_Object_1181_ = Js({u'./_classof':Js(26.0),u'./_redefine':Js(100.0),u'./_wks':Js(135.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'$export', u'require', u'exports', u'module', u'$parseFloat']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$parseFloat', var.get(u'require')(Js(u'./_parse-float'))) + PyJs_Object_1183_ = Js({u'parseFloat':var.get(u'$parseFloat')}) + var.get(u'$export')((var.get(u'$export').get(u'G')+(var.get(u'$export').get(u'F')*(var.get(u'parseFloat')!=var.get(u'$parseFloat')))), PyJs_Object_1183_) +PyJs_anonymous_1182_._set_name(u'anonymous') +PyJs_Object_1184_ = Js({u'./_export':Js(42.0),u'./_parse-float':Js(94.0)}) +@Js +def PyJs_anonymous_1185_(require, module, exports, this, 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'$parseInt', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$parseInt', var.get(u'require')(Js(u'./_parse-int'))) + PyJs_Object_1186_ = Js({u'parseInt':var.get(u'$parseInt')}) + var.get(u'$export')((var.get(u'$export').get(u'G')+(var.get(u'$export').get(u'F')*(var.get(u'parseInt')!=var.get(u'$parseInt')))), PyJs_Object_1186_) +PyJs_anonymous_1185_._set_name(u'anonymous') +PyJs_Object_1187_ = Js({u'./_export':Js(42.0),u'./_parse-int':Js(95.0)}) +@Js +def PyJs_anonymous_1188_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'process', u'microtask', u'global', u'exports', u'Wrapper', u'newPromiseCapabilityModule', u'Internal', u'classof', u'notify', u'userAgent', u'promiseResolve', u'perform', u'$export', u'LIBRARY', u'onUnhandled', u'isThenable', u'isNode', u'empty', u'$Promise', u'isUnhandled', u'forOf', u'speciesConstructor', u'task', u'module', u'v8', u'isObject', u'USE_NATIVE', u'TypeError', u'anInstance', u'versions', u'require', u'onHandleUnhandled', u'ctx', u'OwnPromiseCapability', u'$resolve', u'PROMISE', u'newGenericPromiseCapability', u'newPromiseCapability', u'aFunction', u'$reject']) + Js(u'use strict') + var.put(u'LIBRARY', var.get(u'require')(Js(u'./_library'))) + var.put(u'global', var.get(u'require')(Js(u'./_global'))) + var.put(u'ctx', var.get(u'require')(Js(u'./_ctx'))) + var.put(u'classof', var.get(u'require')(Js(u'./_classof'))) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'aFunction', var.get(u'require')(Js(u'./_a-function'))) + 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'speciesConstructor', var.get(u'require')(Js(u'./_species-constructor'))) + var.put(u'task', var.get(u'require')(Js(u'./_task')).get(u'set')) + var.put(u'microtask', var.get(u'require')(Js(u'./_microtask'))()) + var.put(u'newPromiseCapabilityModule', var.get(u'require')(Js(u'./_new-promise-capability'))) + var.put(u'perform', var.get(u'require')(Js(u'./_perform'))) + var.put(u'userAgent', var.get(u'require')(Js(u'./_user-agent'))) + var.put(u'promiseResolve', var.get(u'require')(Js(u'./_promise-resolve'))) + var.put(u'PROMISE', Js(u'Promise')) + var.put(u'TypeError', var.get(u'global').get(u'TypeError')) + var.put(u'process', var.get(u'global').get(u'process')) + var.put(u'versions', (var.get(u'process') and var.get(u'process').get(u'versions'))) + var.put(u'v8', ((var.get(u'versions') and var.get(u'versions').get(u'v8')) or Js(u''))) + var.put(u'$Promise', var.get(u'global').get(var.get(u'PROMISE'))) + var.put(u'isNode', (var.get(u'classof')(var.get(u'process'))==Js(u'process'))) + @Js + def PyJs_empty_1189_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'empty':PyJs_empty_1189_}, var) + var.registers([]) + pass + PyJs_empty_1189_._set_name(u'empty') + var.put(u'empty', PyJs_empty_1189_) + pass + var.put(u'newPromiseCapability', var.put(u'newGenericPromiseCapability', var.get(u'newPromiseCapabilityModule').get(u'f'))) + @Js + def PyJs_anonymous_1190_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'FakePromise', u'promise']) + try: + var.put(u'promise', var.get(u'$Promise').callprop(u'resolve', Js(1.0))) + PyJs_Object_1191_ = Js({}) + @Js + def PyJs_anonymous_1192_(PyJsArg_65786563_, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'exec':PyJsArg_65786563_}, var) + var.registers([u'exec']) + var.get(u'exec')(var.get(u'empty'), var.get(u'empty')) + PyJs_anonymous_1192_._set_name(u'anonymous') + var.put(u'FakePromise', var.get(u'promise').put(u'constructor', PyJs_Object_1191_).put(var.get(u'require')(Js(u'./_wks'))(Js(u'species')), PyJs_anonymous_1192_)) + return ((((var.get(u'isNode') or (var.get(u'PromiseRejectionEvent',throw=False).typeof()==Js(u'function'))) and var.get(u'promise').callprop(u'then', var.get(u'empty')).instanceof(var.get(u'FakePromise'))) and PyJsStrictNeq(var.get(u'v8').callprop(u'indexOf', Js(u'6.6')),Js(0.0))) and PyJsStrictEq(var.get(u'userAgent').callprop(u'indexOf', Js(u'Chrome/66')),(-Js(1.0)))) + except PyJsException as PyJsTempException: + PyJsHolder_65_49076450 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + pass + finally: + if PyJsHolder_65_49076450 is not None: + var.own[u'e'] = PyJsHolder_65_49076450 + else: + del var.own[u'e'] + del PyJsHolder_65_49076450 + PyJs_anonymous_1190_._set_name(u'anonymous') + var.put(u'USE_NATIVE', PyJs_anonymous_1190_().neg().neg()) + @Js + def PyJs_isThenable_1193_(it, this, arguments, var=var): + var = Scope({u'this':this, u'isThenable':PyJs_isThenable_1193_, u'it':it, u'arguments':arguments}, var) + var.registers([u'then', u'it']) + pass + return (var.get(u'then') if (var.get(u'isObject')(var.get(u'it')) and (var.put(u'then', var.get(u'it').get(u'then')).typeof()==Js(u'function'))) else Js(False)) + PyJs_isThenable_1193_._set_name(u'isThenable') + var.put(u'isThenable', PyJs_isThenable_1193_) + @Js + def PyJs_notify_1194_(promise, isReject, this, arguments, var=var): + var = Scope({u'this':this, u'isReject':isReject, u'promise':promise, u'arguments':arguments, u'notify':PyJs_notify_1194_}, var) + var.registers([u'isReject', u'promise', u'chain']) + if var.get(u'promise').get(u'_n'): + return var.get('undefined') + var.get(u'promise').put(u'_n', Js(True)) + var.put(u'chain', var.get(u'promise').get(u'_c')) + @Js + def PyJs_anonymous_1195_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'i', u'run', u'ok', u'value']) + var.put(u'value', var.get(u'promise').get(u'_v')) + var.put(u'ok', (var.get(u'promise').get(u'_s')==Js(1.0))) + var.put(u'i', Js(0.0)) + @Js + def PyJs_run_1196_(reaction, this, arguments, var=var): + var = Scope({u'this':this, u'reaction':reaction, u'run':PyJs_run_1196_, u'arguments':arguments}, var) + var.registers([u'then', u'domain', u'resolve', u'reaction', u'handler', u'result', u'reject', u'exited']) + var.put(u'handler', (var.get(u'reaction').get(u'ok') if var.get(u'ok') else var.get(u'reaction').get(u'fail'))) + var.put(u'resolve', var.get(u'reaction').get(u'resolve')) + var.put(u'reject', var.get(u'reaction').get(u'reject')) + var.put(u'domain', var.get(u'reaction').get(u'domain')) + pass + try: + if var.get(u'handler'): + if var.get(u'ok').neg(): + if (var.get(u'promise').get(u'_h')==Js(2.0)): + var.get(u'onHandleUnhandled')(var.get(u'promise')) + var.get(u'promise').put(u'_h', Js(1.0)) + if PyJsStrictEq(var.get(u'handler'),Js(True)): + var.put(u'result', var.get(u'value')) + else: + if var.get(u'domain'): + var.get(u'domain').callprop(u'enter') + var.put(u'result', var.get(u'handler')(var.get(u'value'))) + if var.get(u'domain'): + var.get(u'domain').callprop(u'exit') + var.put(u'exited', Js(True)) + if PyJsStrictEq(var.get(u'result'),var.get(u'reaction').get(u'promise')): + var.get(u'reject')(var.get(u'TypeError')(Js(u'Promise-chain cycle'))) + else: + if var.put(u'then', var.get(u'isThenable')(var.get(u'result'))): + var.get(u'then').callprop(u'call', var.get(u'result'), var.get(u'resolve'), var.get(u'reject')) + else: + var.get(u'resolve')(var.get(u'result')) + else: + var.get(u'reject')(var.get(u'value')) + except PyJsException as PyJsTempException: + PyJsHolder_65_96725125 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + if (var.get(u'domain') and var.get(u'exited').neg()): + var.get(u'domain').callprop(u'exit') + var.get(u'reject')(var.get(u'e')) + finally: + if PyJsHolder_65_96725125 is not None: + var.own[u'e'] = PyJsHolder_65_96725125 + else: + del var.own[u'e'] + del PyJsHolder_65_96725125 + PyJs_run_1196_._set_name(u'run') + var.put(u'run', PyJs_run_1196_) + while (var.get(u'chain').get(u'length')>var.get(u'i')): + var.get(u'run')(var.get(u'chain').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)))) + var.get(u'promise').put(u'_c', Js([])) + var.get(u'promise').put(u'_n', Js(False)) + if (var.get(u'isReject') and var.get(u'promise').get(u'_h').neg()): + var.get(u'onUnhandled')(var.get(u'promise')) + PyJs_anonymous_1195_._set_name(u'anonymous') + var.get(u'microtask')(PyJs_anonymous_1195_) + PyJs_notify_1194_._set_name(u'notify') + var.put(u'notify', PyJs_notify_1194_) + @Js + def PyJs_onUnhandled_1197_(promise, this, arguments, var=var): + var = Scope({u'this':this, u'promise':promise, u'arguments':arguments, u'onUnhandled':PyJs_onUnhandled_1197_}, var) + var.registers([u'promise']) + @Js + def PyJs_anonymous_1198_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'unhandled', u'handler', u'console', u'result', u'value']) + var.put(u'value', var.get(u'promise').get(u'_v')) + var.put(u'unhandled', var.get(u'isUnhandled')(var.get(u'promise'))) + pass + if var.get(u'unhandled'): + @Js + def PyJs_anonymous_1199_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if var.get(u'isNode'): + var.get(u'process').callprop(u'emit', Js(u'unhandledRejection'), var.get(u'value'), var.get(u'promise')) + else: + if var.put(u'handler', var.get(u'global').get(u'onunhandledrejection')): + PyJs_Object_1200_ = Js({u'promise':var.get(u'promise'),u'reason':var.get(u'value')}) + var.get(u'handler')(PyJs_Object_1200_) + else: + if (var.put(u'console', var.get(u'global').get(u'console')) and var.get(u'console').get(u'error')): + var.get(u'console').callprop(u'error', Js(u'Unhandled promise rejection'), var.get(u'value')) + PyJs_anonymous_1199_._set_name(u'anonymous') + var.put(u'result', var.get(u'perform')(PyJs_anonymous_1199_)) + var.get(u'promise').put(u'_h', (Js(2.0) if (var.get(u'isNode') or var.get(u'isUnhandled')(var.get(u'promise'))) else Js(1.0))) + var.get(u'promise').put(u'_a', var.get(u'undefined')) + if (var.get(u'unhandled') and var.get(u'result').get(u'e')): + PyJsTempException = JsToPyException(var.get(u'result').get(u'v')) + raise PyJsTempException + PyJs_anonymous_1198_._set_name(u'anonymous') + var.get(u'task').callprop(u'call', var.get(u'global'), PyJs_anonymous_1198_) + PyJs_onUnhandled_1197_._set_name(u'onUnhandled') + var.put(u'onUnhandled', PyJs_onUnhandled_1197_) + @Js + def PyJs_isUnhandled_1201_(promise, this, arguments, var=var): + var = Scope({u'this':this, u'isUnhandled':PyJs_isUnhandled_1201_, u'promise':promise, u'arguments':arguments}, var) + var.registers([u'promise']) + return (PyJsStrictNeq(var.get(u'promise').get(u'_h'),Js(1.0)) and PyJsStrictEq((var.get(u'promise').get(u'_a') or var.get(u'promise').get(u'_c')).get(u'length'),Js(0.0))) + PyJs_isUnhandled_1201_._set_name(u'isUnhandled') + var.put(u'isUnhandled', PyJs_isUnhandled_1201_) + @Js + def PyJs_onHandleUnhandled_1202_(promise, this, arguments, var=var): + var = Scope({u'this':this, u'onHandleUnhandled':PyJs_onHandleUnhandled_1202_, u'promise':promise, u'arguments':arguments}, var) + var.registers([u'promise']) + @Js + def PyJs_anonymous_1203_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'handler']) + pass + if var.get(u'isNode'): + var.get(u'process').callprop(u'emit', Js(u'rejectionHandled'), var.get(u'promise')) + else: + if var.put(u'handler', var.get(u'global').get(u'onrejectionhandled')): + PyJs_Object_1204_ = Js({u'promise':var.get(u'promise'),u'reason':var.get(u'promise').get(u'_v')}) + var.get(u'handler')(PyJs_Object_1204_) + PyJs_anonymous_1203_._set_name(u'anonymous') + var.get(u'task').callprop(u'call', var.get(u'global'), PyJs_anonymous_1203_) + PyJs_onHandleUnhandled_1202_._set_name(u'onHandleUnhandled') + var.put(u'onHandleUnhandled', PyJs_onHandleUnhandled_1202_) + @Js + def PyJs_InlineNonPyName_1205_(value, this, arguments, var=var): + var = Scope({u'this':this, u'$reject':PyJs_InlineNonPyName_1205_, u'arguments':arguments, u'value':value}, var) + var.registers([u'promise', u'value']) + var.put(u'promise', var.get(u"this")) + if var.get(u'promise').get(u'_d'): + return var.get('undefined') + var.get(u'promise').put(u'_d', Js(True)) + var.put(u'promise', (var.get(u'promise').get(u'_w') or var.get(u'promise'))) + var.get(u'promise').put(u'_v', var.get(u'value')) + var.get(u'promise').put(u'_s', Js(2.0)) + if var.get(u'promise').get(u'_a').neg(): + var.get(u'promise').put(u'_a', var.get(u'promise').get(u'_c').callprop(u'slice')) + var.get(u'notify')(var.get(u'promise'), Js(True)) + PyJs_InlineNonPyName_1205_._set_name(u'$reject') + var.put(u'$reject', PyJs_InlineNonPyName_1205_) + @Js + def PyJs_InlineNonPyName_1206_(value, this, arguments, var=var): + var = Scope({u'this':this, u'$resolve':PyJs_InlineNonPyName_1206_, u'arguments':arguments, u'value':value}, var) + var.registers([u'then', u'promise', u'value']) + var.put(u'promise', var.get(u"this")) + pass + if var.get(u'promise').get(u'_d'): + return var.get('undefined') + var.get(u'promise').put(u'_d', Js(True)) + var.put(u'promise', (var.get(u'promise').get(u'_w') or var.get(u'promise'))) + try: + if PyJsStrictEq(var.get(u'promise'),var.get(u'value')): + PyJsTempException = JsToPyException(var.get(u'TypeError')(Js(u"Promise can't be resolved itself"))) + raise PyJsTempException + if var.put(u'then', var.get(u'isThenable')(var.get(u'value'))): + @Js + def PyJs_anonymous_1207_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'wrapper']) + PyJs_Object_1208_ = Js({u'_w':var.get(u'promise'),u'_d':Js(False)}) + var.put(u'wrapper', PyJs_Object_1208_) + try: + var.get(u'then').callprop(u'call', var.get(u'value'), var.get(u'ctx')(var.get(u'$resolve'), var.get(u'wrapper'), Js(1.0)), var.get(u'ctx')(var.get(u'$reject'), var.get(u'wrapper'), Js(1.0))) + except PyJsException as PyJsTempException: + PyJsHolder_65_61228726 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + var.get(u'$reject').callprop(u'call', var.get(u'wrapper'), var.get(u'e')) + finally: + if PyJsHolder_65_61228726 is not None: + var.own[u'e'] = PyJsHolder_65_61228726 + else: + del var.own[u'e'] + del PyJsHolder_65_61228726 + PyJs_anonymous_1207_._set_name(u'anonymous') + var.get(u'microtask')(PyJs_anonymous_1207_) + else: + var.get(u'promise').put(u'_v', var.get(u'value')) + var.get(u'promise').put(u'_s', Js(1.0)) + var.get(u'notify')(var.get(u'promise'), Js(False)) + except PyJsException as PyJsTempException: + PyJsHolder_65_93399815 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + PyJs_Object_1209_ = Js({u'_w':var.get(u'promise'),u'_d':Js(False)}) + var.get(u'$reject').callprop(u'call', PyJs_Object_1209_, var.get(u'e')) + finally: + if PyJsHolder_65_93399815 is not None: + var.own[u'e'] = PyJsHolder_65_93399815 + else: + del var.own[u'e'] + del PyJsHolder_65_93399815 + PyJs_InlineNonPyName_1206_._set_name(u'$resolve') + var.put(u'$resolve', PyJs_InlineNonPyName_1206_) + if var.get(u'USE_NATIVE').neg(): + @Js + def PyJs_Promise_1210_(executor, this, arguments, var=var): + var = Scope({u'this':this, u'Promise':PyJs_Promise_1210_, u'arguments':arguments, u'executor':executor}, var) + var.registers([u'executor']) + var.get(u'anInstance')(var.get(u"this"), var.get(u'$Promise'), var.get(u'PROMISE'), Js(u'_h')) + var.get(u'aFunction')(var.get(u'executor')) + var.get(u'Internal').callprop(u'call', var.get(u"this")) + try: + var.get(u'executor')(var.get(u'ctx')(var.get(u'$resolve'), var.get(u"this"), Js(1.0)), var.get(u'ctx')(var.get(u'$reject'), var.get(u"this"), Js(1.0))) + except PyJsException as PyJsTempException: + PyJsHolder_657272_28042353 = var.own.get(u'err') + var.force_own_put(u'err', PyExceptionToJs(PyJsTempException)) + try: + var.get(u'$reject').callprop(u'call', var.get(u"this"), var.get(u'err')) + finally: + if PyJsHolder_657272_28042353 is not None: + var.own[u'err'] = PyJsHolder_657272_28042353 + else: + del var.own[u'err'] + del PyJsHolder_657272_28042353 + PyJs_Promise_1210_._set_name(u'Promise') + var.put(u'$Promise', PyJs_Promise_1210_) + @Js + def PyJs_Promise_1211_(executor, this, arguments, var=var): + var = Scope({u'this':this, u'Promise':PyJs_Promise_1211_, u'arguments':arguments, u'executor':executor}, var) + var.registers([u'executor']) + var.get(u"this").put(u'_c', Js([])) + var.get(u"this").put(u'_a', var.get(u'undefined')) + var.get(u"this").put(u'_s', Js(0.0)) + var.get(u"this").put(u'_d', Js(False)) + var.get(u"this").put(u'_v', var.get(u'undefined')) + var.get(u"this").put(u'_h', Js(0.0)) + var.get(u"this").put(u'_n', Js(False)) + PyJs_Promise_1211_._set_name(u'Promise') + var.put(u'Internal', PyJs_Promise_1211_) + @Js + def PyJs_then_1213_(onFulfilled, onRejected, this, arguments, var=var): + var = Scope({u'this':this, u'then':PyJs_then_1213_, u'onRejected':onRejected, u'arguments':arguments, u'onFulfilled':onFulfilled}, var) + var.registers([u'reaction', u'onRejected', u'onFulfilled']) + var.put(u'reaction', var.get(u'newPromiseCapability')(var.get(u'speciesConstructor')(var.get(u"this"), var.get(u'$Promise')))) + var.get(u'reaction').put(u'ok', (var.get(u'onFulfilled') if (var.get(u'onFulfilled',throw=False).typeof()==Js(u'function')) else Js(True))) + var.get(u'reaction').put(u'fail', ((var.get(u'onRejected',throw=False).typeof()==Js(u'function')) and var.get(u'onRejected'))) + var.get(u'reaction').put(u'domain', (var.get(u'process').get(u'domain') if var.get(u'isNode') else var.get(u'undefined'))) + var.get(u"this").get(u'_c').callprop(u'push', var.get(u'reaction')) + if var.get(u"this").get(u'_a'): + var.get(u"this").get(u'_a').callprop(u'push', var.get(u'reaction')) + if var.get(u"this").get(u'_s'): + var.get(u'notify')(var.get(u"this"), Js(False)) + return var.get(u'reaction').get(u'promise') + PyJs_then_1213_._set_name(u'then') + @Js + def PyJs__catch_1214_(onRejected, this, arguments, var=var): + var = Scope({u'this':this, u'_catch':PyJs__catch_1214_, u'onRejected':onRejected, u'arguments':arguments}, var) + var.registers([u'onRejected']) + return var.get(u"this").callprop(u'then', var.get(u'undefined'), var.get(u'onRejected')) + PyJs__catch_1214_._set_name(u'_catch') + PyJs_Object_1212_ = Js({u'then':PyJs_then_1213_,u'catch':PyJs__catch_1214_}) + var.get(u'Internal').put(u'prototype', var.get(u'require')(Js(u'./_redefine-all'))(var.get(u'$Promise').get(u'prototype'), PyJs_Object_1212_)) + @Js + def PyJs_OwnPromiseCapability_1215_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'OwnPromiseCapability':PyJs_OwnPromiseCapability_1215_}, var) + var.registers([u'promise']) + var.put(u'promise', var.get(u'Internal').create()) + var.get(u"this").put(u'promise', var.get(u'promise')) + var.get(u"this").put(u'resolve', var.get(u'ctx')(var.get(u'$resolve'), var.get(u'promise'), Js(1.0))) + var.get(u"this").put(u'reject', var.get(u'ctx')(var.get(u'$reject'), var.get(u'promise'), Js(1.0))) + PyJs_OwnPromiseCapability_1215_._set_name(u'OwnPromiseCapability') + var.put(u'OwnPromiseCapability', PyJs_OwnPromiseCapability_1215_) + @Js + def PyJs_newPromiseCapability_1216_(C, this, arguments, var=var): + var = Scope({u'this':this, u'C':C, u'arguments':arguments, u'newPromiseCapability':PyJs_newPromiseCapability_1216_}, var) + var.registers([u'C']) + return (var.get(u'OwnPromiseCapability').create(var.get(u'C')) if (PyJsStrictEq(var.get(u'C'),var.get(u'$Promise')) or PyJsStrictEq(var.get(u'C'),var.get(u'Wrapper'))) else var.get(u'newGenericPromiseCapability')(var.get(u'C'))) + PyJs_newPromiseCapability_1216_._set_name(u'newPromiseCapability') + var.get(u'newPromiseCapabilityModule').put(u'f', var.put(u'newPromiseCapability', PyJs_newPromiseCapability_1216_)) + PyJs_Object_1217_ = Js({u'Promise':var.get(u'$Promise')}) + 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_1217_) + var.get(u'require')(Js(u'./_set-to-string-tag'))(var.get(u'$Promise'), var.get(u'PROMISE')) + var.get(u'require')(Js(u'./_set-species'))(var.get(u'PROMISE')) + var.put(u'Wrapper', var.get(u'require')(Js(u'./_core')).get(var.get(u'PROMISE'))) + @Js + def PyJs_reject_1219_(r, this, arguments, var=var): + var = Scope({u'this':this, u'r':r, u'arguments':arguments, u'reject':PyJs_reject_1219_}, var) + var.registers([u'capability', u'$$reject', u'r']) + var.put(u'capability', var.get(u'newPromiseCapability')(var.get(u"this"))) + var.put(u'$$reject', var.get(u'capability').get(u'reject')) + var.get(u'$$reject')(var.get(u'r')) + return var.get(u'capability').get(u'promise') + PyJs_reject_1219_._set_name(u'reject') + PyJs_Object_1218_ = Js({u'reject':PyJs_reject_1219_}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*var.get(u'USE_NATIVE').neg())), var.get(u'PROMISE'), PyJs_Object_1218_) + @Js + def PyJs_resolve_1221_(x, this, arguments, var=var): + var = Scope({u'this':this, u'x':x, u'resolve':PyJs_resolve_1221_, u'arguments':arguments}, var) + var.registers([u'x']) + return var.get(u'promiseResolve')((var.get(u'$Promise') if (var.get(u'LIBRARY') and PyJsStrictEq(var.get(u"this"),var.get(u'Wrapper'))) else var.get(u"this")), var.get(u'x')) + PyJs_resolve_1221_._set_name(u'resolve') + PyJs_Object_1220_ = Js({u'resolve':PyJs_resolve_1221_}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*(var.get(u'LIBRARY') or var.get(u'USE_NATIVE').neg()))), var.get(u'PROMISE'), PyJs_Object_1220_) + @Js + def PyJs_anonymous_1222_(iter, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'iter':iter}, var) + var.registers([u'iter']) + var.get(u'$Promise').callprop(u'all', var.get(u'iter')).callprop(u'catch', var.get(u'empty')) + PyJs_anonymous_1222_._set_name(u'anonymous') + @Js + def PyJs_all_1224_(iterable, this, arguments, var=var): + var = Scope({u'this':this, u'all':PyJs_all_1224_, u'arguments':arguments, u'iterable':iterable}, var) + var.registers([u'C', u'resolve', u'capability', u'result', u'reject', u'iterable']) + var.put(u'C', var.get(u"this")) + var.put(u'capability', var.get(u'newPromiseCapability')(var.get(u'C'))) + var.put(u'resolve', var.get(u'capability').get(u'resolve')) + var.put(u'reject', var.get(u'capability').get(u'reject')) + @Js + def PyJs_anonymous_1225_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'index', u'values', u'remaining']) + var.put(u'values', Js([])) + var.put(u'index', Js(0.0)) + var.put(u'remaining', Js(1.0)) + @Js + def PyJs_anonymous_1226_(promise, this, arguments, var=var): + var = Scope({u'this':this, u'promise':promise, u'arguments':arguments}, var) + var.registers([u'alreadyCalled', u'promise', u'$index']) + var.put(u'$index', (var.put(u'index',Js(var.get(u'index').to_number())+Js(1))-Js(1))) + var.put(u'alreadyCalled', Js(False)) + var.get(u'values').callprop(u'push', var.get(u'undefined')) + (var.put(u'remaining',Js(var.get(u'remaining').to_number())+Js(1))-Js(1)) + @Js + def PyJs_anonymous_1227_(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'alreadyCalled'): + return var.get('undefined') + var.put(u'alreadyCalled', Js(True)) + var.get(u'values').put(var.get(u'$index'), var.get(u'value')) + (var.put(u'remaining',Js(var.get(u'remaining').to_number())-Js(1)) or var.get(u'resolve')(var.get(u'values'))) + PyJs_anonymous_1227_._set_name(u'anonymous') + var.get(u'C').callprop(u'resolve', var.get(u'promise')).callprop(u'then', PyJs_anonymous_1227_, var.get(u'reject')) + PyJs_anonymous_1226_._set_name(u'anonymous') + var.get(u'forOf')(var.get(u'iterable'), Js(False), PyJs_anonymous_1226_) + (var.put(u'remaining',Js(var.get(u'remaining').to_number())-Js(1)) or var.get(u'resolve')(var.get(u'values'))) + PyJs_anonymous_1225_._set_name(u'anonymous') + var.put(u'result', var.get(u'perform')(PyJs_anonymous_1225_)) + if var.get(u'result').get(u'e'): + var.get(u'reject')(var.get(u'result').get(u'v')) + return var.get(u'capability').get(u'promise') + PyJs_all_1224_._set_name(u'all') + @Js + def PyJs_race_1228_(iterable, this, arguments, var=var): + var = Scope({u'this':this, u'race':PyJs_race_1228_, u'arguments':arguments, u'iterable':iterable}, var) + var.registers([u'capability', u'C', u'result', u'iterable', u'reject']) + var.put(u'C', var.get(u"this")) + var.put(u'capability', var.get(u'newPromiseCapability')(var.get(u'C'))) + var.put(u'reject', var.get(u'capability').get(u'reject')) + @Js + def PyJs_anonymous_1229_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_anonymous_1230_(promise, this, arguments, var=var): + var = Scope({u'this':this, u'promise':promise, u'arguments':arguments}, var) + var.registers([u'promise']) + var.get(u'C').callprop(u'resolve', var.get(u'promise')).callprop(u'then', var.get(u'capability').get(u'resolve'), var.get(u'reject')) + PyJs_anonymous_1230_._set_name(u'anonymous') + var.get(u'forOf')(var.get(u'iterable'), Js(False), PyJs_anonymous_1230_) + PyJs_anonymous_1229_._set_name(u'anonymous') + var.put(u'result', var.get(u'perform')(PyJs_anonymous_1229_)) + if var.get(u'result').get(u'e'): + var.get(u'reject')(var.get(u'result').get(u'v')) + return var.get(u'capability').get(u'promise') + PyJs_race_1228_._set_name(u'race') + PyJs_Object_1223_ = Js({u'all':PyJs_all_1224_,u'race':PyJs_race_1228_}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*(var.get(u'USE_NATIVE') and var.get(u'require')(Js(u'./_iter-detect'))(PyJs_anonymous_1222_)).neg())), var.get(u'PROMISE'), PyJs_Object_1223_) +PyJs_anonymous_1188_._set_name(u'anonymous') +PyJs_Object_1231_ = Js({u'./_a-function':Js(12.0),u'./_an-instance':Js(15.0),u'./_classof':Js(26.0),u'./_core':Js(32.0),u'./_ctx':Js(34.0),u'./_export':Js(42.0),u'./_for-of':Js(48.0),u'./_global':Js(49.0),u'./_is-object':Js(60.0),u'./_iter-detect':Js(65.0),u'./_library':Js(68.0),u'./_microtask':Js(76.0),u'./_new-promise-capability':Js(77.0),u'./_perform':Js(96.0),u'./_promise-resolve':Js(97.0),u'./_redefine-all':Js(99.0),u'./_set-species':Js(106.0),u'./_set-to-string-tag':Js(107.0),u'./_species-constructor':Js(110.0),u'./_task':Js(119.0),u'./_user-agent':Js(131.0),u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_1232_(require, module, exports, this, 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'$export', u'require', u'module', u'fApply', u'anObject', u'aFunction', u'rApply']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'aFunction', var.get(u'require')(Js(u'./_a-function'))) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + PyJs_Object_1233_ = Js({}) + var.put(u'rApply', (var.get(u'require')(Js(u'./_global')).get(u'Reflect') or PyJs_Object_1233_).get(u'apply')) + var.put(u'fApply', var.get(u'Function').get(u'apply')) + @Js + def PyJs_anonymous_1234_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_anonymous_1235_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJs_anonymous_1235_._set_name(u'anonymous') + var.get(u'rApply')(PyJs_anonymous_1235_) + PyJs_anonymous_1234_._set_name(u'anonymous') + @Js + def PyJs_apply_1237_(target, thisArgument, argumentsList, this, arguments, var=var): + var = Scope({u'target':target, u'this':this, u'argumentsList':argumentsList, u'thisArgument':thisArgument, u'arguments':arguments, u'apply':PyJs_apply_1237_}, var) + var.registers([u'thisArgument', u'argumentsList', u'target', u'T', u'L']) + var.put(u'T', var.get(u'aFunction')(var.get(u'target'))) + var.put(u'L', var.get(u'anObject')(var.get(u'argumentsList'))) + return (var.get(u'rApply')(var.get(u'T'), var.get(u'thisArgument'), var.get(u'L')) if var.get(u'rApply') else var.get(u'fApply').callprop(u'call', var.get(u'T'), var.get(u'thisArgument'), var.get(u'L'))) + PyJs_apply_1237_._set_name(u'apply') + PyJs_Object_1236_ = Js({u'apply':PyJs_apply_1237_}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*var.get(u'require')(Js(u'./_fails'))(PyJs_anonymous_1234_).neg())), Js(u'Reflect'), PyJs_Object_1236_) +PyJs_anonymous_1232_._set_name(u'anonymous') +PyJs_Object_1238_ = Js({u'./_a-function':Js(12.0),u'./_an-object':Js(16.0),u'./_export':Js(42.0),u'./_fails':Js(44.0),u'./_global':Js(49.0)}) +@Js +def PyJs_anonymous_1239_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'fails', u'exports', u'$export', u'create', u'require', u'module', u'rConstruct', u'NEW_TARGET_BUG', u'anObject', u'bind', u'aFunction', u'ARGS_BUG', u'isObject']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'create', var.get(u'require')(Js(u'./_object-create'))) + var.put(u'aFunction', var.get(u'require')(Js(u'./_a-function'))) + 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'fails', var.get(u'require')(Js(u'./_fails'))) + var.put(u'bind', var.get(u'require')(Js(u'./_bind'))) + PyJs_Object_1240_ = Js({}) + var.put(u'rConstruct', (var.get(u'require')(Js(u'./_global')).get(u'Reflect') or PyJs_Object_1240_).get(u'construct')) + @Js + def PyJs_anonymous_1241_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'F']) + @Js + def PyJsHoisted_F_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJsHoisted_F_.func_name = u'F' + var.put(u'F', PyJsHoisted_F_) + pass + @Js + def PyJs_anonymous_1242_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJs_anonymous_1242_._set_name(u'anonymous') + return var.get(u'rConstruct')(PyJs_anonymous_1242_, Js([]), var.get(u'F')).instanceof(var.get(u'F')).neg() + PyJs_anonymous_1241_._set_name(u'anonymous') + var.put(u'NEW_TARGET_BUG', var.get(u'fails')(PyJs_anonymous_1241_)) + @Js + def PyJs_anonymous_1243_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + @Js + def PyJs_anonymous_1244_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJs_anonymous_1244_._set_name(u'anonymous') + var.get(u'rConstruct')(PyJs_anonymous_1244_) + PyJs_anonymous_1243_._set_name(u'anonymous') + var.put(u'ARGS_BUG', var.get(u'fails')(PyJs_anonymous_1243_).neg()) + @Js + def PyJs_construct_1246_(Target, args, this, arguments, var=var): + var = Scope({u'this':this, u'args':args, u'Target':Target, u'construct':PyJs_construct_1246_, u'arguments':arguments}, var) + var.registers([u'Target', u'proto', u'args', u'instance', u'result', u'newTarget', u'$args']) + var.get(u'aFunction')(var.get(u'Target')) + var.get(u'anObject')(var.get(u'args')) + var.put(u'newTarget', (var.get(u'Target') if (var.get(u'arguments').get(u'length')=var.get(u'keys').get(u'length')): + PyJs_Object_1263_ = Js({u'value':var.get(u'undefined'),u'done':Js(True)}) + return PyJs_Object_1263_ + if not var.get(u'that').get(u'_t').contains(var.put(u'key', var.get(u'keys').get((var.get(u'that').put(u'_i',Js(var.get(u'that').get(u'_i').to_number())+Js(1))-Js(1))))).neg(): + break + PyJs_Object_1264_ = Js({u'value':var.get(u'key'),u'done':Js(False)}) + return PyJs_Object_1264_ + PyJs_anonymous_1262_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_iter-create'))(var.get(u'Enumerate'), Js(u'Object'), PyJs_anonymous_1262_) + @Js + def PyJs_enumerate_1266_(target, this, arguments, var=var): + var = Scope({u'this':this, u'enumerate':PyJs_enumerate_1266_, u'target':target, u'arguments':arguments}, var) + var.registers([u'target']) + return var.get(u'Enumerate').create(var.get(u'target')) + PyJs_enumerate_1266_._set_name(u'enumerate') + PyJs_Object_1265_ = Js({u'enumerate':PyJs_enumerate_1266_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Reflect'), PyJs_Object_1265_) +PyJs_anonymous_1260_._set_name(u'anonymous') +PyJs_Object_1267_ = Js({u'./_an-object':Js(16.0),u'./_export':Js(42.0),u'./_iter-create':Js(63.0)}) +@Js +def PyJs_anonymous_1268_(require, module, exports, this, 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'$export', u'require', u'module', u'anObject', u'gOPD']) + var.put(u'gOPD', var.get(u'require')(Js(u'./_object-gopd'))) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + @Js + def PyJs_getOwnPropertyDescriptor_1270_(target, propertyKey, this, arguments, var=var): + var = Scope({u'this':this, u'getOwnPropertyDescriptor':PyJs_getOwnPropertyDescriptor_1270_, u'propertyKey':propertyKey, u'target':target, u'arguments':arguments}, var) + var.registers([u'propertyKey', u'target']) + return var.get(u'gOPD').callprop(u'f', var.get(u'anObject')(var.get(u'target')), var.get(u'propertyKey')) + PyJs_getOwnPropertyDescriptor_1270_._set_name(u'getOwnPropertyDescriptor') + PyJs_Object_1269_ = Js({u'getOwnPropertyDescriptor':PyJs_getOwnPropertyDescriptor_1270_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Reflect'), PyJs_Object_1269_) +PyJs_anonymous_1268_._set_name(u'anonymous') +PyJs_Object_1271_ = Js({u'./_an-object':Js(16.0),u'./_export':Js(42.0),u'./_object-gopd':Js(83.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'exports', u'$export', u'require', u'module', u'anObject', u'getProto']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'getProto', var.get(u'require')(Js(u'./_object-gpo'))) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + @Js + def PyJs_getPrototypeOf_1274_(target, this, arguments, var=var): + var = Scope({u'this':this, u'getPrototypeOf':PyJs_getPrototypeOf_1274_, u'target':target, u'arguments':arguments}, var) + var.registers([u'target']) + return var.get(u'getProto')(var.get(u'anObject')(var.get(u'target'))) + PyJs_getPrototypeOf_1274_._set_name(u'getPrototypeOf') + PyJs_Object_1273_ = Js({u'getPrototypeOf':PyJs_getPrototypeOf_1274_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Reflect'), PyJs_Object_1273_) +PyJs_anonymous_1272_._set_name(u'anonymous') +PyJs_Object_1275_ = Js({u'./_an-object':Js(16.0),u'./_export':Js(42.0),u'./_object-gpo':Js(87.0)}) +@Js +def PyJs_anonymous_1276_(require, module, exports, this, 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'$export', u'require', u'module', u'getPrototypeOf', u'anObject', u'gOPD', u'has', u'isObject']) + @Js + def PyJsHoisted_get_(target, propertyKey, this, arguments, var=var): + var = Scope({u'this':this, u'propertyKey':propertyKey, u'target':target, u'arguments':arguments}, var) + var.registers([u'desc', u'target', u'proto', u'propertyKey', u'receiver']) + var.put(u'receiver', (var.get(u'target') if (var.get(u'arguments').get(u'length')var.get(u'i')): + var.get(u'proxy')(var.get(u'keys').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)))) + + var.get(u'proto').put(u'constructor', var.get(u'$RegExp')) + var.get(u'$RegExp').put(u'prototype', var.get(u'proto')) + var.get(u'require')(Js(u'./_redefine'))(var.get(u'global'), Js(u'RegExp'), var.get(u'$RegExp')) + var.get(u'require')(Js(u'./_set-species'))(Js(u'RegExp')) +PyJs_anonymous_1301_._set_name(u'anonymous') +PyJs_Object_1309_ = Js({u'./_descriptors':Js(38.0),u'./_fails':Js(44.0),u'./_flags':Js(46.0),u'./_global':Js(49.0),u'./_inherit-if-required':Js(54.0),u'./_is-regexp':Js(61.0),u'./_object-dp':Js(80.0),u'./_object-gopn':Js(85.0),u'./_redefine':Js(100.0),u'./_set-species':Js(106.0),u'./_wks':Js(135.0)}) +@Js +def PyJs_anonymous_1310_(require, module, exports, this, 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 (var.get(u'require')(Js(u'./_descriptors')) and (JsRegExp(u'/./g').get(u'flags')!=Js(u'g'))): + PyJs_Object_1311_ = Js({u'configurable':Js(True),u'get':var.get(u'require')(Js(u'./_flags'))}) + var.get(u'require')(Js(u'./_object-dp')).callprop(u'f', var.get(u'RegExp').get(u'prototype'), Js(u'flags'), PyJs_Object_1311_) +PyJs_anonymous_1310_._set_name(u'anonymous') +PyJs_Object_1312_ = Js({u'./_descriptors':Js(38.0),u'./_flags':Js(46.0),u'./_object-dp':Js(80.0)}) +@Js +def PyJs_anonymous_1313_(require, module, exports, this, 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_1314_(defined, MATCH, PyJsArg_246d61746368_, this, arguments, var=var): + var = Scope({u'defined':defined, u'$match':PyJsArg_246d61746368_, u'this':this, u'arguments':arguments, u'MATCH':MATCH}, var) + var.registers([u'defined', u'$match', u'MATCH']) + @Js + def PyJs_match_1315_(regexp, this, arguments, var=var): + var = Scope({u'this':this, u'regexp':regexp, u'arguments':arguments, u'match':PyJs_match_1315_}, var) + var.registers([u'regexp', u'fn', u'O']) + Js(u'use strict') + var.put(u'O', var.get(u'defined')(var.get(u"this"))) + var.put(u'fn', (var.get(u'undefined') if (var.get(u'regexp')==var.get(u'undefined')) else var.get(u'regexp').get(var.get(u'MATCH')))) + return (var.get(u'fn').callprop(u'call', var.get(u'regexp'), var.get(u'O')) if PyJsStrictNeq(var.get(u'fn'),var.get(u'undefined')) else var.get(u'RegExp').create(var.get(u'regexp')).callprop(var.get(u'MATCH'), var.get(u'String')(var.get(u'O')))) + PyJs_match_1315_._set_name(u'match') + return Js([PyJs_match_1315_, var.get(u'$match')]) + PyJs_anonymous_1314_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_fix-re-wks'))(Js(u'match'), Js(1.0), PyJs_anonymous_1314_) +PyJs_anonymous_1313_._set_name(u'anonymous') +PyJs_Object_1316_ = Js({u'./_fix-re-wks':Js(45.0)}) +@Js +def PyJs_anonymous_1317_(require, module, exports, this, 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_1318_(defined, REPLACE, PyJsArg_247265706c616365_, this, arguments, var=var): + var = Scope({u'defined':defined, u'this':this, u'$replace':PyJsArg_247265706c616365_, u'arguments':arguments, u'REPLACE':REPLACE}, var) + var.registers([u'defined', u'$replace', u'REPLACE']) + @Js + def PyJs_replace_1319_(searchValue, replaceValue, this, arguments, var=var): + var = Scope({u'this':this, u'replace':PyJs_replace_1319_, u'searchValue':searchValue, u'arguments':arguments, u'replaceValue':replaceValue}, var) + var.registers([u'searchValue', u'fn', u'O', u'replaceValue']) + Js(u'use strict') + var.put(u'O', var.get(u'defined')(var.get(u"this"))) + var.put(u'fn', (var.get(u'undefined') if (var.get(u'searchValue')==var.get(u'undefined')) else var.get(u'searchValue').get(var.get(u'REPLACE')))) + return (var.get(u'fn').callprop(u'call', var.get(u'searchValue'), var.get(u'O'), var.get(u'replaceValue')) if PyJsStrictNeq(var.get(u'fn'),var.get(u'undefined')) else var.get(u'$replace').callprop(u'call', var.get(u'String')(var.get(u'O')), var.get(u'searchValue'), var.get(u'replaceValue'))) + PyJs_replace_1319_._set_name(u'replace') + return Js([PyJs_replace_1319_, var.get(u'$replace')]) + PyJs_anonymous_1318_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_fix-re-wks'))(Js(u'replace'), Js(2.0), PyJs_anonymous_1318_) +PyJs_anonymous_1317_._set_name(u'anonymous') +PyJs_Object_1320_ = Js({u'./_fix-re-wks':Js(45.0)}) +@Js +def PyJs_anonymous_1321_(require, module, exports, this, 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_1322_(defined, SEARCH, PyJsArg_24736561726368_, this, arguments, var=var): + var = Scope({u'defined':defined, u'this':this, u'SEARCH':SEARCH, u'arguments':arguments, u'$search':PyJsArg_24736561726368_}, var) + var.registers([u'defined', u'SEARCH', u'$search']) + @Js + def PyJs_search_1323_(regexp, this, arguments, var=var): + var = Scope({u'this':this, u'regexp':regexp, u'search':PyJs_search_1323_, u'arguments':arguments}, var) + var.registers([u'regexp', u'fn', u'O']) + Js(u'use strict') + var.put(u'O', var.get(u'defined')(var.get(u"this"))) + var.put(u'fn', (var.get(u'undefined') if (var.get(u'regexp')==var.get(u'undefined')) else var.get(u'regexp').get(var.get(u'SEARCH')))) + return (var.get(u'fn').callprop(u'call', var.get(u'regexp'), var.get(u'O')) if PyJsStrictNeq(var.get(u'fn'),var.get(u'undefined')) else var.get(u'RegExp').create(var.get(u'regexp')).callprop(var.get(u'SEARCH'), var.get(u'String')(var.get(u'O')))) + PyJs_search_1323_._set_name(u'search') + return Js([PyJs_search_1323_, var.get(u'$search')]) + PyJs_anonymous_1322_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_fix-re-wks'))(Js(u'search'), Js(1.0), PyJs_anonymous_1322_) +PyJs_anonymous_1321_._set_name(u'anonymous') +PyJs_Object_1324_ = Js({u'./_fix-re-wks':Js(45.0)}) +@Js +def PyJs_anonymous_1325_(require, module, exports, this, 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_1326_(defined, SPLIT, PyJsArg_2473706c6974_, this, arguments, var=var): + var = Scope({u'defined':defined, u'this':this, u'$split':PyJsArg_2473706c6974_, u'SPLIT':SPLIT, u'arguments':arguments}, var) + var.registers([u'NPCG', u'defined', u'$SPLIT', u'LAST_INDEX', u'LENGTH', u'SPLIT', u'$split', u'isRegExp', u'$push', u'_split']) + Js(u'use strict') + var.put(u'isRegExp', var.get(u'require')(Js(u'./_is-regexp'))) + var.put(u'_split', var.get(u'$split')) + var.put(u'$push', Js([]).get(u'push')) + var.put(u'$SPLIT', Js(u'split')) + var.put(u'LENGTH', Js(u'length')) + var.put(u'LAST_INDEX', Js(u'lastIndex')) + def PyJs_LONG_1327_(var=var): + return ((((Js(u'abbc').callprop(var.get(u'$SPLIT'), JsRegExp(u'/(b)*/')).get(u'1')==Js(u'c')) or (Js(u'test').callprop(var.get(u'$SPLIT'), JsRegExp(u'/(?:)/'), (-Js(1.0))).get(var.get(u'LENGTH'))!=Js(4.0))) or (Js(u'ab').callprop(var.get(u'$SPLIT'), JsRegExp(u'/(?:ab)*/')).get(var.get(u'LENGTH'))!=Js(2.0))) or (Js(u'.').callprop(var.get(u'$SPLIT'), JsRegExp(u'/(.?)(.?)/')).get(var.get(u'LENGTH'))!=Js(4.0))) + if ((PyJs_LONG_1327_() or (Js(u'.').callprop(var.get(u'$SPLIT'), JsRegExp(u'/()()/')).get(var.get(u'LENGTH'))>Js(1.0))) or Js(u'').callprop(var.get(u'$SPLIT'), JsRegExp(u'/.?/')).get(var.get(u'LENGTH'))): + var.put(u'NPCG', PyJsStrictEq(JsRegExp(u'/()??/').callprop(u'exec', Js(u'')).get(u'1'),var.get(u'undefined'))) + @Js + def PyJs_InlineNonPyName_1328_(separator, limit, this, arguments, var=var): + var = Scope({u'this':this, u'limit':limit, u'$split':PyJs_InlineNonPyName_1328_, u'separator':separator, u'arguments':arguments}, var) + var.registers([u'string', u'i', u'lastLastIndex', u'splitLimit', u'separator', u'lastIndex', u'separatorCopy', u'flags', u'lastLength', u'output', u'separator2', u'limit', u'match']) + var.put(u'string', var.get(u'String')(var.get(u"this"))) + if (PyJsStrictEq(var.get(u'separator'),var.get(u'undefined')) and PyJsStrictEq(var.get(u'limit'),Js(0.0))): + return Js([]) + if var.get(u'isRegExp')(var.get(u'separator')).neg(): + return var.get(u'_split').callprop(u'call', var.get(u'string'), var.get(u'separator'), var.get(u'limit')) + var.put(u'output', Js([])) + var.put(u'flags', ((((Js(u'i') if var.get(u'separator').get(u'ignoreCase') else Js(u''))+(Js(u'm') if var.get(u'separator').get(u'multiline') else Js(u'')))+(Js(u'u') if var.get(u'separator').get(u'unicode') else Js(u'')))+(Js(u'y') if var.get(u'separator').get(u'sticky') else Js(u'')))) + var.put(u'lastLastIndex', Js(0.0)) + var.put(u'splitLimit', (Js(4294967295.0) if PyJsStrictEq(var.get(u'limit'),var.get(u'undefined')) else PyJsBshift(var.get(u'limit'),Js(0.0)))) + var.put(u'separatorCopy', var.get(u'RegExp').create(var.get(u'separator').get(u'source'), (var.get(u'flags')+Js(u'g')))) + pass + if var.get(u'NPCG').neg(): + var.put(u'separator2', var.get(u'RegExp').create(((Js(u'^')+var.get(u'separatorCopy').get(u'source'))+Js(u'$(?!\\s)')), var.get(u'flags'))) + while var.put(u'match', var.get(u'separatorCopy').callprop(u'exec', var.get(u'string'))): + var.put(u'lastIndex', (var.get(u'match').get(u'index')+var.get(u'match').get(u'0').get(var.get(u'LENGTH')))) + if (var.get(u'lastIndex')>var.get(u'lastLastIndex')): + var.get(u'output').callprop(u'push', var.get(u'string').callprop(u'slice', var.get(u'lastLastIndex'), var.get(u'match').get(u'index'))) + if (var.get(u'NPCG').neg() and (var.get(u'match').get(var.get(u'LENGTH'))>Js(1.0))): + @Js + def PyJs_anonymous_1329_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + #for JS loop + var.put(u'i', Js(1.0)) + while (var.get(u'i')<(var.get(u'arguments').get(var.get(u'LENGTH'))-Js(2.0))): + try: + if PyJsStrictEq(var.get(u'arguments').get(var.get(u'i')),var.get(u'undefined')): + var.get(u'match').put(var.get(u'i'), var.get(u'undefined')) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)) + PyJs_anonymous_1329_._set_name(u'anonymous') + var.get(u'match').get(u'0').callprop(u'replace', var.get(u'separator2'), PyJs_anonymous_1329_) + if ((var.get(u'match').get(var.get(u'LENGTH'))>Js(1.0)) and (var.get(u'match').get(u'index')=var.get(u'splitLimit')): + break + if PyJsStrictEq(var.get(u'separatorCopy').get(var.get(u'LAST_INDEX')),var.get(u'match').get(u'index')): + (var.get(u'separatorCopy').put(var.get(u'LAST_INDEX'),Js(var.get(u'separatorCopy').get(var.get(u'LAST_INDEX')).to_number())+Js(1))-Js(1)) + if PyJsStrictEq(var.get(u'lastLastIndex'),var.get(u'string').get(var.get(u'LENGTH'))): + if (var.get(u'lastLength') or var.get(u'separatorCopy').callprop(u'test', Js(u'')).neg()): + var.get(u'output').callprop(u'push', Js(u'')) + else: + var.get(u'output').callprop(u'push', var.get(u'string').callprop(u'slice', var.get(u'lastLastIndex'))) + return (var.get(u'output').callprop(u'slice', Js(0.0), var.get(u'splitLimit')) if (var.get(u'output').get(var.get(u'LENGTH'))>var.get(u'splitLimit')) else var.get(u'output')) + PyJs_InlineNonPyName_1328_._set_name(u'$split') + var.put(u'$split', PyJs_InlineNonPyName_1328_) + else: + if Js(u'0').callprop(var.get(u'$SPLIT'), var.get(u'undefined'), Js(0.0)).get(var.get(u'LENGTH')): + @Js + def PyJs_InlineNonPyName_1330_(separator, limit, this, arguments, var=var): + var = Scope({u'this':this, u'limit':limit, u'$split':PyJs_InlineNonPyName_1330_, u'separator':separator, u'arguments':arguments}, var) + var.registers([u'limit', u'separator']) + return (Js([]) if (PyJsStrictEq(var.get(u'separator'),var.get(u'undefined')) and PyJsStrictEq(var.get(u'limit'),Js(0.0))) else var.get(u'_split').callprop(u'call', var.get(u"this"), var.get(u'separator'), var.get(u'limit'))) + PyJs_InlineNonPyName_1330_._set_name(u'$split') + var.put(u'$split', PyJs_InlineNonPyName_1330_) + @Js + def PyJs_split_1331_(separator, limit, this, arguments, var=var): + var = Scope({u'this':this, u'limit':limit, u'separator':separator, u'arguments':arguments, u'split':PyJs_split_1331_}, var) + var.registers([u'limit', u'separator', u'fn', u'O']) + var.put(u'O', var.get(u'defined')(var.get(u"this"))) + var.put(u'fn', (var.get(u'undefined') if (var.get(u'separator')==var.get(u'undefined')) else var.get(u'separator').get(var.get(u'SPLIT')))) + return (var.get(u'fn').callprop(u'call', var.get(u'separator'), var.get(u'O'), var.get(u'limit')) if PyJsStrictNeq(var.get(u'fn'),var.get(u'undefined')) else var.get(u'$split').callprop(u'call', var.get(u'String')(var.get(u'O')), var.get(u'separator'), var.get(u'limit'))) + PyJs_split_1331_._set_name(u'split') + return Js([PyJs_split_1331_, var.get(u'$split')]) + PyJs_anonymous_1326_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_fix-re-wks'))(Js(u'split'), Js(2.0), PyJs_anonymous_1326_) +PyJs_anonymous_1325_._set_name(u'anonymous') +PyJs_Object_1332_ = Js({u'./_fix-re-wks':Js(45.0),u'./_is-regexp':Js(61.0)}) +@Js +def PyJs_anonymous_1333_(require, module, exports, this, 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'DESCRIPTORS', u'require', u'module', u'TO_STRING', u'$toString', u'$flags', u'anObject', u'define']) + Js(u'use strict') + var.get(u'require')(Js(u'./es6.regexp.flags')) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + var.put(u'$flags', var.get(u'require')(Js(u'./_flags'))) + var.put(u'DESCRIPTORS', var.get(u'require')(Js(u'./_descriptors'))) + var.put(u'TO_STRING', Js(u'toString')) + var.put(u'$toString', JsRegExp(u'/./').get(var.get(u'TO_STRING'))) + @Js + def PyJs_define_1334_(fn, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'fn':fn, u'define':PyJs_define_1334_}, var) + var.registers([u'fn']) + var.get(u'require')(Js(u'./_redefine'))(var.get(u'RegExp').get(u'prototype'), var.get(u'TO_STRING'), var.get(u'fn'), Js(True)) + PyJs_define_1334_._set_name(u'define') + var.put(u'define', PyJs_define_1334_) + @Js + def PyJs_anonymous_1335_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_1336_ = Js({u'source':Js(u'a'),u'flags':Js(u'b')}) + return (var.get(u'$toString').callprop(u'call', PyJs_Object_1336_)!=Js(u'/a/b')) + PyJs_anonymous_1335_._set_name(u'anonymous') + if var.get(u'require')(Js(u'./_fails'))(PyJs_anonymous_1335_): + @Js + def PyJs_toString_1337_(this, arguments, var=var): + var = Scope({u'this':this, u'toString':PyJs_toString_1337_, u'arguments':arguments}, var) + var.registers([u'R']) + var.put(u'R', var.get(u'anObject')(var.get(u"this"))) + return Js(u'/').callprop(u'concat', var.get(u'R').get(u'source'), Js(u'/'), (var.get(u'R').get(u'flags') if var.get(u'R').contains(Js(u'flags')) else (var.get(u'$flags').callprop(u'call', var.get(u'R')) if (var.get(u'DESCRIPTORS').neg() and var.get(u'R').instanceof(var.get(u'RegExp'))) else var.get(u'undefined')))) + PyJs_toString_1337_._set_name(u'toString') + var.get(u'define')(PyJs_toString_1337_) + else: + if (var.get(u'$toString').get(u'name')!=var.get(u'TO_STRING')): + @Js + def PyJs_toString_1338_(this, arguments, var=var): + var = Scope({u'this':this, u'toString':PyJs_toString_1338_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'$toString').callprop(u'call', var.get(u"this")) + PyJs_toString_1338_._set_name(u'toString') + var.get(u'define')(PyJs_toString_1338_) +PyJs_anonymous_1333_._set_name(u'anonymous') +PyJs_Object_1339_ = Js({u'./_an-object':Js(16.0),u'./_descriptors':Js(38.0),u'./_fails':Js(44.0),u'./_flags':Js(46.0),u'./_redefine':Js(100.0),u'./es6.regexp.flags':Js(232.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'exports', u'SET', u'require', u'module', u'validate', u'strong']) + Js(u'use strict') + var.put(u'strong', var.get(u'require')(Js(u'./_collection-strong'))) + var.put(u'validate', var.get(u'require')(Js(u'./_validate-collection'))) + var.put(u'SET', Js(u'Set')) + @Js + def PyJs_anonymous_1341_(get, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':get}, var) + var.registers([u'get']) + @Js + def PyJs_Set_1342_(this, arguments, var=var): + var = Scope({u'this':this, u'Set':PyJs_Set_1342_, 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_Set_1342_._set_name(u'Set') + return PyJs_Set_1342_ + PyJs_anonymous_1341_._set_name(u'anonymous') + @Js + def PyJs_add_1344_(value, this, arguments, var=var): + var = Scope({u'this':this, u'add':PyJs_add_1344_, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return var.get(u'strong').callprop(u'def', var.get(u'validate')(var.get(u"this"), var.get(u'SET')), var.put(u'value', (Js(0.0) if PyJsStrictEq(var.get(u'value'),Js(0.0)) else var.get(u'value'))), var.get(u'value')) + PyJs_add_1344_._set_name(u'add') + PyJs_Object_1343_ = Js({u'add':PyJs_add_1344_}) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./_collection'))(var.get(u'SET'), PyJs_anonymous_1341_, PyJs_Object_1343_, var.get(u'strong'))) +PyJs_anonymous_1340_._set_name(u'anonymous') +PyJs_Object_1345_ = Js({u'./_collection':Js(31.0),u'./_collection-strong':Js(28.0),u'./_validate-collection':Js(132.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']) + Js(u'use strict') + @Js + def PyJs_anonymous_1347_(createHTML, this, arguments, var=var): + var = Scope({u'this':this, u'createHTML':createHTML, u'arguments':arguments}, var) + var.registers([u'createHTML']) + @Js + def PyJs_anchor_1348_(name, this, arguments, var=var): + var = Scope({u'this':this, u'anchor':PyJs_anchor_1348_, u'name':name, u'arguments':arguments}, var) + var.registers([u'name']) + return var.get(u'createHTML')(var.get(u"this"), Js(u'a'), Js(u'name'), var.get(u'name')) + PyJs_anchor_1348_._set_name(u'anchor') + return PyJs_anchor_1348_ + PyJs_anonymous_1347_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-html'))(Js(u'anchor'), PyJs_anonymous_1347_) +PyJs_anonymous_1346_._set_name(u'anonymous') +PyJs_Object_1349_ = Js({u'./_string-html':Js(114.0)}) +@Js +def PyJs_anonymous_1350_(require, module, exports, this, 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_1351_(createHTML, this, arguments, var=var): + var = Scope({u'this':this, u'createHTML':createHTML, u'arguments':arguments}, var) + var.registers([u'createHTML']) + @Js + def PyJs_big_1352_(this, arguments, var=var): + var = Scope({u'this':this, u'big':PyJs_big_1352_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'createHTML')(var.get(u"this"), Js(u'big'), Js(u''), Js(u'')) + PyJs_big_1352_._set_name(u'big') + return PyJs_big_1352_ + PyJs_anonymous_1351_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-html'))(Js(u'big'), PyJs_anonymous_1351_) +PyJs_anonymous_1350_._set_name(u'anonymous') +PyJs_Object_1353_ = Js({u'./_string-html':Js(114.0)}) +@Js +def PyJs_anonymous_1354_(require, module, exports, this, 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_1355_(createHTML, this, arguments, var=var): + var = Scope({u'this':this, u'createHTML':createHTML, u'arguments':arguments}, var) + var.registers([u'createHTML']) + @Js + def PyJs_blink_1356_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'blink':PyJs_blink_1356_}, var) + var.registers([]) + return var.get(u'createHTML')(var.get(u"this"), Js(u'blink'), Js(u''), Js(u'')) + PyJs_blink_1356_._set_name(u'blink') + return PyJs_blink_1356_ + PyJs_anonymous_1355_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-html'))(Js(u'blink'), PyJs_anonymous_1355_) +PyJs_anonymous_1354_._set_name(u'anonymous') +PyJs_Object_1357_ = Js({u'./_string-html':Js(114.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']) + Js(u'use strict') + @Js + def PyJs_anonymous_1359_(createHTML, this, arguments, var=var): + var = Scope({u'this':this, u'createHTML':createHTML, u'arguments':arguments}, var) + var.registers([u'createHTML']) + @Js + def PyJs_bold_1360_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'bold':PyJs_bold_1360_}, var) + var.registers([]) + return var.get(u'createHTML')(var.get(u"this"), Js(u'b'), Js(u''), Js(u'')) + PyJs_bold_1360_._set_name(u'bold') + return PyJs_bold_1360_ + PyJs_anonymous_1359_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-html'))(Js(u'bold'), PyJs_anonymous_1359_) +PyJs_anonymous_1358_._set_name(u'anonymous') +PyJs_Object_1361_ = Js({u'./_string-html':Js(114.0)}) +@Js +def PyJs_anonymous_1362_(require, module, exports, this, 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'$export', u'require', u'exports', u'module']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$at', var.get(u'require')(Js(u'./_string-at'))(Js(False))) + @Js + def PyJs_codePointAt_1364_(pos, this, arguments, var=var): + var = Scope({u'this':this, u'codePointAt':PyJs_codePointAt_1364_, u'pos':pos, u'arguments':arguments}, var) + var.registers([u'pos']) + return var.get(u'$at')(var.get(u"this"), var.get(u'pos')) + PyJs_codePointAt_1364_._set_name(u'codePointAt') + PyJs_Object_1363_ = Js({u'codePointAt':PyJs_codePointAt_1364_}) + var.get(u'$export')(var.get(u'$export').get(u'P'), Js(u'String'), PyJs_Object_1363_) +PyJs_anonymous_1362_._set_name(u'anonymous') +PyJs_Object_1365_ = Js({u'./_export':Js(42.0),u'./_string-at':Js(112.0)}) +@Js +def PyJs_anonymous_1366_(require, module, exports, this, 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'$export', u'require', u'module', u'$endsWith', u'context', u'ENDS_WITH']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'toLength', var.get(u'require')(Js(u'./_to-length'))) + var.put(u'context', var.get(u'require')(Js(u'./_string-context'))) + var.put(u'ENDS_WITH', Js(u'endsWith')) + var.put(u'$endsWith', Js(u'').get(var.get(u'ENDS_WITH'))) + @Js + def PyJs_endsWith_1368_(searchString, this, arguments, var=var): + var = Scope({u'this':this, u'endsWith':PyJs_endsWith_1368_, u'searchString':searchString, u'arguments':arguments}, var) + var.registers([u'search', u'searchString', u'end', u'endPosition', u'that', u'len']) + var.put(u'that', var.get(u'context')(var.get(u"this"), var.get(u'searchString'), var.get(u'ENDS_WITH'))) + var.put(u'endPosition', (var.get(u'arguments').get(u'1') if (var.get(u'arguments').get(u'length')>Js(1.0)) else var.get(u'undefined'))) + var.put(u'len', var.get(u'toLength')(var.get(u'that').get(u'length'))) + var.put(u'end', (var.get(u'len') if PyJsStrictEq(var.get(u'endPosition'),var.get(u'undefined')) else var.get(u'Math').callprop(u'min', var.get(u'toLength')(var.get(u'endPosition')), var.get(u'len')))) + var.put(u'search', var.get(u'String')(var.get(u'searchString'))) + return (var.get(u'$endsWith').callprop(u'call', var.get(u'that'), var.get(u'search'), var.get(u'end')) if var.get(u'$endsWith') else PyJsStrictEq(var.get(u'that').callprop(u'slice', (var.get(u'end')-var.get(u'search').get(u'length')), var.get(u'end')),var.get(u'search'))) + PyJs_endsWith_1368_._set_name(u'endsWith') + PyJs_Object_1367_ = Js({u'endsWith':PyJs_endsWith_1368_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*var.get(u'require')(Js(u'./_fails-is-regexp'))(var.get(u'ENDS_WITH')))), Js(u'String'), PyJs_Object_1367_) +PyJs_anonymous_1366_._set_name(u'anonymous') +PyJs_Object_1369_ = Js({u'./_export':Js(42.0),u'./_fails-is-regexp':Js(43.0),u'./_string-context':Js(113.0),u'./_to-length':Js(124.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']) + Js(u'use strict') + @Js + def PyJs_anonymous_1371_(createHTML, this, arguments, var=var): + var = Scope({u'this':this, u'createHTML':createHTML, u'arguments':arguments}, var) + var.registers([u'createHTML']) + @Js + def PyJs_fixed_1372_(this, arguments, var=var): + var = Scope({u'this':this, u'fixed':PyJs_fixed_1372_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'createHTML')(var.get(u"this"), Js(u'tt'), Js(u''), Js(u'')) + PyJs_fixed_1372_._set_name(u'fixed') + return PyJs_fixed_1372_ + PyJs_anonymous_1371_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-html'))(Js(u'fixed'), PyJs_anonymous_1371_) +PyJs_anonymous_1370_._set_name(u'anonymous') +PyJs_Object_1373_ = Js({u'./_string-html':Js(114.0)}) +@Js +def PyJs_anonymous_1374_(require, module, exports, this, 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_1375_(createHTML, this, arguments, var=var): + var = Scope({u'this':this, u'createHTML':createHTML, u'arguments':arguments}, var) + var.registers([u'createHTML']) + @Js + def PyJs_fontcolor_1376_(color, this, arguments, var=var): + var = Scope({u'color':color, u'this':this, u'arguments':arguments, u'fontcolor':PyJs_fontcolor_1376_}, var) + var.registers([u'color']) + return var.get(u'createHTML')(var.get(u"this"), Js(u'font'), Js(u'color'), var.get(u'color')) + PyJs_fontcolor_1376_._set_name(u'fontcolor') + return PyJs_fontcolor_1376_ + PyJs_anonymous_1375_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-html'))(Js(u'fontcolor'), PyJs_anonymous_1375_) +PyJs_anonymous_1374_._set_name(u'anonymous') +PyJs_Object_1377_ = Js({u'./_string-html':Js(114.0)}) +@Js +def PyJs_anonymous_1378_(require, module, exports, this, 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_1379_(createHTML, this, arguments, var=var): + var = Scope({u'this':this, u'createHTML':createHTML, u'arguments':arguments}, var) + var.registers([u'createHTML']) + @Js + def PyJs_fontsize_1380_(size, this, arguments, var=var): + var = Scope({u'this':this, u'fontsize':PyJs_fontsize_1380_, u'arguments':arguments, u'size':size}, var) + var.registers([u'size']) + return var.get(u'createHTML')(var.get(u"this"), Js(u'font'), Js(u'size'), var.get(u'size')) + PyJs_fontsize_1380_._set_name(u'fontsize') + return PyJs_fontsize_1380_ + PyJs_anonymous_1379_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-html'))(Js(u'fontsize'), PyJs_anonymous_1379_) +PyJs_anonymous_1378_._set_name(u'anonymous') +PyJs_Object_1381_ = Js({u'./_string-html':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'$fromCodePoint', u'exports', u'toAbsoluteIndex', u'$export', u'require', u'module', u'fromCharCode']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'toAbsoluteIndex', var.get(u'require')(Js(u'./_to-absolute-index'))) + var.put(u'fromCharCode', var.get(u'String').get(u'fromCharCode')) + var.put(u'$fromCodePoint', var.get(u'String').get(u'fromCodePoint')) + @Js + def PyJs_fromCodePoint_1384_(x, this, arguments, var=var): + var = Scope({u'this':this, u'x':x, u'arguments':arguments, u'fromCodePoint':PyJs_fromCodePoint_1384_}, var) + var.registers([u'i', u'res', u'aLen', u'code', u'x']) + var.put(u'res', Js([])) + var.put(u'aLen', var.get(u'arguments').get(u'length')) + var.put(u'i', Js(0.0)) + pass + while (var.get(u'aLen')>var.get(u'i')): + var.put(u'code', (+var.get(u'arguments').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1))))) + if PyJsStrictNeq(var.get(u'toAbsoluteIndex')(var.get(u'code'), Js(1114111)),var.get(u'code')): + PyJsTempException = JsToPyException(var.get(u'RangeError')((var.get(u'code')+Js(u' is not a valid code point')))) + raise PyJsTempException + var.get(u'res').callprop(u'push', (var.get(u'fromCharCode')(var.get(u'code')) if (var.get(u'code')>Js(10.0))+Js(55296)), ((var.get(u'code')%Js(1024))+Js(56320))))) + return var.get(u'res').callprop(u'join', Js(u'')) + PyJs_fromCodePoint_1384_._set_name(u'fromCodePoint') + PyJs_Object_1383_ = Js({u'fromCodePoint':PyJs_fromCodePoint_1384_}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*(var.get(u'$fromCodePoint').neg().neg() and (var.get(u'$fromCodePoint').get(u'length')!=Js(1.0))))), Js(u'String'), PyJs_Object_1383_) +PyJs_anonymous_1382_._set_name(u'anonymous') +PyJs_Object_1385_ = Js({u'./_export':Js(42.0),u'./_to-absolute-index':Js(120.0)}) +@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'exports', u'$export', u'require', u'module', u'INCLUDES', u'context']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'context', var.get(u'require')(Js(u'./_string-context'))) + var.put(u'INCLUDES', Js(u'includes')) + @Js + def PyJs_includes_1388_(searchString, this, arguments, var=var): + var = Scope({u'this':this, u'searchString':searchString, u'arguments':arguments, u'includes':PyJs_includes_1388_}, var) + var.registers([u'searchString']) + return (~var.get(u'context')(var.get(u"this"), var.get(u'searchString'), var.get(u'INCLUDES')).callprop(u'indexOf', var.get(u'searchString'), (var.get(u'arguments').get(u'1') if (var.get(u'arguments').get(u'length')>Js(1.0)) else var.get(u'undefined')))).neg().neg() + PyJs_includes_1388_._set_name(u'includes') + PyJs_Object_1387_ = Js({u'includes':PyJs_includes_1388_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*var.get(u'require')(Js(u'./_fails-is-regexp'))(var.get(u'INCLUDES')))), Js(u'String'), PyJs_Object_1387_) +PyJs_anonymous_1386_._set_name(u'anonymous') +PyJs_Object_1389_ = Js({u'./_export':Js(42.0),u'./_fails-is-regexp':Js(43.0),u'./_string-context':Js(113.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'require', u'exports', u'module']) + Js(u'use strict') + @Js + def PyJs_anonymous_1391_(createHTML, this, arguments, var=var): + var = Scope({u'this':this, u'createHTML':createHTML, u'arguments':arguments}, var) + var.registers([u'createHTML']) + @Js + def PyJs_italics_1392_(this, arguments, var=var): + var = Scope({u'this':this, u'italics':PyJs_italics_1392_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'createHTML')(var.get(u"this"), Js(u'i'), Js(u''), Js(u'')) + PyJs_italics_1392_._set_name(u'italics') + return PyJs_italics_1392_ + PyJs_anonymous_1391_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-html'))(Js(u'italics'), PyJs_anonymous_1391_) +PyJs_anonymous_1390_._set_name(u'anonymous') +PyJs_Object_1393_ = Js({u'./_string-html':Js(114.0)}) +@Js +def PyJs_anonymous_1394_(require, module, exports, this, 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'))(Js(True))) + @Js + def PyJs_anonymous_1395_(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_1395_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1396_(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')) + pass + if (var.get(u'index')>=var.get(u'O').get(u'length')): + PyJs_Object_1397_ = Js({u'value':var.get(u'undefined'),u'done':Js(True)}) + return PyJs_Object_1397_ + 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_1398_ = Js({u'value':var.get(u'point'),u'done':Js(False)}) + return PyJs_Object_1398_ + PyJs_anonymous_1396_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_iter-define'))(var.get(u'String'), Js(u'String'), PyJs_anonymous_1395_, PyJs_anonymous_1396_) +PyJs_anonymous_1394_._set_name(u'anonymous') +PyJs_Object_1399_ = Js({u'./_iter-define':Js(64.0),u'./_string-at':Js(112.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'require', u'exports', u'module']) + Js(u'use strict') + @Js + def PyJs_anonymous_1401_(createHTML, this, arguments, var=var): + var = Scope({u'this':this, u'createHTML':createHTML, u'arguments':arguments}, var) + var.registers([u'createHTML']) + @Js + def PyJs_link_1402_(url, this, arguments, var=var): + var = Scope({u'url':url, u'this':this, u'link':PyJs_link_1402_, u'arguments':arguments}, var) + var.registers([u'url']) + return var.get(u'createHTML')(var.get(u"this"), Js(u'a'), Js(u'href'), var.get(u'url')) + PyJs_link_1402_._set_name(u'link') + return PyJs_link_1402_ + PyJs_anonymous_1401_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-html'))(Js(u'link'), PyJs_anonymous_1401_) +PyJs_anonymous_1400_._set_name(u'anonymous') +PyJs_Object_1403_ = Js({u'./_string-html':Js(114.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'exports', u'toLength', u'$export', u'require', u'module', u'toIObject']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'toIObject', var.get(u'require')(Js(u'./_to-iobject'))) + var.put(u'toLength', var.get(u'require')(Js(u'./_to-length'))) + @Js + def PyJs_raw_1406_(callSite, this, arguments, var=var): + var = Scope({u'this':this, u'callSite':callSite, u'arguments':arguments, u'raw':PyJs_raw_1406_}, var) + var.registers([u'i', u'res', u'tpl', u'len', u'callSite', u'aLen']) + var.put(u'tpl', var.get(u'toIObject')(var.get(u'callSite').get(u'raw'))) + var.put(u'len', var.get(u'toLength')(var.get(u'tpl').get(u'length'))) + var.put(u'aLen', var.get(u'arguments').get(u'length')) + var.put(u'res', Js([])) + var.put(u'i', Js(0.0)) + while (var.get(u'len')>var.get(u'i')): + var.get(u'res').callprop(u'push', var.get(u'String')(var.get(u'tpl').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1))))) + if (var.get(u'i')Js(1.0)) else var.get(u'undefined')), var.get(u'that').get(u'length')))) + var.put(u'search', var.get(u'String')(var.get(u'searchString'))) + return (var.get(u'$startsWith').callprop(u'call', var.get(u'that'), var.get(u'search'), var.get(u'index')) if var.get(u'$startsWith') else PyJsStrictEq(var.get(u'that').callprop(u'slice', var.get(u'index'), (var.get(u'index')+var.get(u'search').get(u'length'))),var.get(u'search'))) + PyJs_startsWith_1417_._set_name(u'startsWith') + PyJs_Object_1416_ = Js({u'startsWith':PyJs_startsWith_1417_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*var.get(u'require')(Js(u'./_fails-is-regexp'))(var.get(u'STARTS_WITH')))), Js(u'String'), PyJs_Object_1416_) +PyJs_anonymous_1415_._set_name(u'anonymous') +PyJs_Object_1418_ = Js({u'./_export':Js(42.0),u'./_fails-is-regexp':Js(43.0),u'./_string-context':Js(113.0),u'./_to-length':Js(124.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']) + Js(u'use strict') + @Js + def PyJs_anonymous_1420_(createHTML, this, arguments, var=var): + var = Scope({u'this':this, u'createHTML':createHTML, u'arguments':arguments}, var) + var.registers([u'createHTML']) + @Js + def PyJs_strike_1421_(this, arguments, var=var): + var = Scope({u'this':this, u'strike':PyJs_strike_1421_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'createHTML')(var.get(u"this"), Js(u'strike'), Js(u''), Js(u'')) + PyJs_strike_1421_._set_name(u'strike') + return PyJs_strike_1421_ + PyJs_anonymous_1420_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-html'))(Js(u'strike'), PyJs_anonymous_1420_) +PyJs_anonymous_1419_._set_name(u'anonymous') +PyJs_Object_1422_ = Js({u'./_string-html':Js(114.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']) + Js(u'use strict') + @Js + def PyJs_anonymous_1424_(createHTML, this, arguments, var=var): + var = Scope({u'this':this, u'createHTML':createHTML, u'arguments':arguments}, var) + var.registers([u'createHTML']) + @Js + def PyJs_sub_1425_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'sub':PyJs_sub_1425_}, var) + var.registers([]) + return var.get(u'createHTML')(var.get(u"this"), Js(u'sub'), Js(u''), Js(u'')) + PyJs_sub_1425_._set_name(u'sub') + return PyJs_sub_1425_ + PyJs_anonymous_1424_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-html'))(Js(u'sub'), PyJs_anonymous_1424_) +PyJs_anonymous_1423_._set_name(u'anonymous') +PyJs_Object_1426_ = Js({u'./_string-html':Js(114.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']) + Js(u'use strict') + @Js + def PyJs_anonymous_1428_(createHTML, this, arguments, var=var): + var = Scope({u'this':this, u'createHTML':createHTML, u'arguments':arguments}, var) + var.registers([u'createHTML']) + @Js + def PyJs_sup_1429_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'sup':PyJs_sup_1429_}, var) + var.registers([]) + return var.get(u'createHTML')(var.get(u"this"), Js(u'sup'), Js(u''), Js(u'')) + PyJs_sup_1429_._set_name(u'sup') + return PyJs_sup_1429_ + PyJs_anonymous_1428_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-html'))(Js(u'sup'), PyJs_anonymous_1428_) +PyJs_anonymous_1427_._set_name(u'anonymous') +PyJs_Object_1430_ = Js({u'./_string-html':Js(114.0)}) +@Js +def PyJs_anonymous_1431_(require, module, exports, this, 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_1432_(PyJsArg_247472696d_, this, arguments, var=var): + var = Scope({u'this':this, u'$trim':PyJsArg_247472696d_, u'arguments':arguments}, var) + var.registers([u'$trim']) + @Js + def PyJs_trim_1433_(this, arguments, var=var): + var = Scope({u'this':this, u'trim':PyJs_trim_1433_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'$trim')(var.get(u"this"), Js(3.0)) + PyJs_trim_1433_._set_name(u'trim') + return PyJs_trim_1433_ + PyJs_anonymous_1432_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-trim'))(Js(u'trim'), PyJs_anonymous_1432_) +PyJs_anonymous_1431_._set_name(u'anonymous') +PyJs_Object_1434_ = Js({u'./_string-trim':Js(117.0)}) +@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'_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'shared', u'gOPD', u'has', u'isArray', u'exports', u'wksExt', u'$fails', u'TO_PRIMITIVE', u'setToStringTag', u'es6Symbols', u'require', u'enumKeys', u'SymbolRegistry', u'$defineProperties', u'anObject', u'module', u'$getOwnPropertyDescriptor', u'isObject', u'USE_NATIVE', u'wellKnownSymbols', u'setSymbolDesc', u'DESCRIPTORS', u'k', u'j', u'$getOwnPropertyNames', u'$Symbol', u'_stringify', u'wksDefine', u'HIDDEN', u'AllSymbols', 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'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'isObject', var.get(u'require')(Js(u'./_is-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_1436_ = Js({}) + var.put(u'isEnum', PyJs_Object_1436_.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_1437_(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_1437_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1438_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJs_Object_1439_ = Js({}) + @Js + def PyJs_get_1441_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'get':PyJs_get_1441_}, var) + var.registers([]) + PyJs_Object_1442_ = Js({u'value':Js(7.0)}) + return var.get(u'dP')(var.get(u"this"), Js(u'a'), PyJs_Object_1442_).get(u'a') + PyJs_get_1441_._set_name(u'get') + PyJs_Object_1440_ = Js({u'get':PyJs_get_1441_}) + return (var.get(u'_create')(var.get(u'dP')(PyJs_Object_1439_, Js(u'a'), PyJs_Object_1440_)).get(u'a')!=Js(7.0)) + PyJs_anonymous_1438_._set_name(u'anonymous') + var.put(u'setSymbolDesc', (PyJs_anonymous_1437_ if (var.get(u'DESCRIPTORS') and var.get(u'$fails')(PyJs_anonymous_1438_)) else var.get(u'dP'))) + @Js + def PyJs_wrap_1443_(tag, this, arguments, var=var): + var = Scope({u'this':this, u'wrap':PyJs_wrap_1443_, 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_wrap_1443_._set_name(u'wrap') + var.put(u'wrap', PyJs_wrap_1443_) + @Js + def PyJs_anonymous_1444_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return ((Js(u'undefined') if PyJsStrictEq(var.get(u'it',throw=False).typeof(),Js(u'undefined')) else var.get(u'_typeof')(var.get(u'it')))==Js(u'symbol')) + PyJs_anonymous_1444_._set_name(u'anonymous') + @Js + def PyJs_anonymous_1445_(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_1445_._set_name(u'anonymous') + var.put(u'isSymbol', (PyJs_anonymous_1444_ if (var.get(u'USE_NATIVE') and (var.get(u'_typeof')(var.get(u'$Symbol').get(u'iterator'))==Js(u'symbol'))) else PyJs_anonymous_1445_)) + @Js + def PyJs_defineProperty_1446_(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_1446_}, 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'), Js(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_1447_ = Js({}) + var.get(u'dP')(var.get(u'it'), var.get(u'HIDDEN'), var.get(u'createDesc')(Js(1.0), PyJs_Object_1447_)) + var.get(u'it').get(var.get(u'HIDDEN')).put(var.get(u'key'), Js(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_1448_ = 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_1448_)) + 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_1446_._set_name(u'defineProperty') + var.put(u'$defineProperty', PyJs_defineProperty_1446_) + @Js + def PyJs_defineProperties_1449_(it, P, this, arguments, var=var): + var = Scope({u'this':this, u'P':P, u'it':it, u'defineProperties':PyJs_defineProperties_1449_, 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')) + pass + 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_1449_._set_name(u'defineProperties') + var.put(u'$defineProperties', PyJs_defineProperties_1449_) + @Js + def PyJs_create_1450_(it, P, this, arguments, var=var): + var = Scope({u'this':this, u'P':P, u'create':PyJs_create_1450_, 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_1450_._set_name(u'create') + var.put(u'$create', PyJs_create_1450_) + @Js + def PyJs_propertyIsEnumerable_1451_(key, this, arguments, var=var): + var = Scope({u'this':this, u'propertyIsEnumerable':PyJs_propertyIsEnumerable_1451_, 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'), Js(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 Js(True)) + PyJs_propertyIsEnumerable_1451_._set_name(u'propertyIsEnumerable') + var.put(u'$propertyIsEnumerable', PyJs_propertyIsEnumerable_1451_) + @Js + def PyJs_getOwnPropertyDescriptor_1452_(it, key, this, arguments, var=var): + var = Scope({u'this':this, u'getOwnPropertyDescriptor':PyJs_getOwnPropertyDescriptor_1452_, 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'), Js(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', Js(True)) + return var.get(u'D') + PyJs_getOwnPropertyDescriptor_1452_._set_name(u'getOwnPropertyDescriptor') + var.put(u'$getOwnPropertyDescriptor', PyJs_getOwnPropertyDescriptor_1452_) + @Js + def PyJs_getOwnPropertyNames_1453_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'getOwnPropertyNames':PyJs_getOwnPropertyNames_1453_, 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)) + pass + 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_1453_._set_name(u'getOwnPropertyNames') + var.put(u'$getOwnPropertyNames', PyJs_getOwnPropertyNames_1453_) + @Js + def PyJs_getOwnPropertySymbols_1454_(it, this, arguments, var=var): + var = Scope({u'this':this, u'getOwnPropertySymbols':PyJs_getOwnPropertySymbols_1454_, 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)) + pass + 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 Js(True))): + var.get(u'result').callprop(u'push', var.get(u'AllSymbols').get(var.get(u'key'))) + return var.get(u'result') + PyJs_getOwnPropertySymbols_1454_._set_name(u'getOwnPropertySymbols') + var.put(u'$getOwnPropertySymbols', PyJs_getOwnPropertySymbols_1454_) + if var.get(u'USE_NATIVE').neg(): + @Js + def PyJs__Symbol2_1455_(this, arguments, var=var): + var = Scope({u'this':this, u'_Symbol2':PyJs__Symbol2_1455_, 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_InlineNonPyName_1456_(value, this, arguments, var=var): + var = Scope({u'this':this, u'$set':PyJs_InlineNonPyName_1456_, 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_InlineNonPyName_1456_._set_name(u'$set') + var.put(u'$set', PyJs_InlineNonPyName_1456_) + if (var.get(u'DESCRIPTORS') and var.get(u'setter')): + PyJs_Object_1457_ = Js({u'configurable':Js(True),u'set':var.get(u'$set')}) + var.get(u'setSymbolDesc')(var.get(u'ObjectProto'), var.get(u'tag'), PyJs_Object_1457_) + return var.get(u'wrap')(var.get(u'tag')) + PyJs__Symbol2_1455_._set_name(u'_Symbol2') + var.put(u'$Symbol', PyJs__Symbol2_1455_) + @Js + def PyJs_toString_1458_(this, arguments, var=var): + var = Scope({u'this':this, u'toString':PyJs_toString_1458_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u"this").get(u'_k') + PyJs_toString_1458_._set_name(u'toString') + var.get(u'redefine')(var.get(u'$Symbol').get(var.get(u'PROTOTYPE')), Js(u'toString'), PyJs_toString_1458_) + 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'), Js(True)) + @Js + def PyJs_anonymous_1459_(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_1459_._set_name(u'anonymous') + var.get(u'wksExt').put(u'f', PyJs_anonymous_1459_) + PyJs_Object_1460_ = 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_1460_) + #for JS loop + var.put(u'es6Symbols', Js(u'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables').callprop(u'split', Js(u','))) + var.put(u'j', Js(0.0)) + while (var.get(u'es6Symbols').get(u'length')>var.get(u'j')): + var.get(u'wks')(var.get(u'es6Symbols').get((var.put(u'j',Js(var.get(u'j').to_number())+Js(1))-Js(1)))) + + #for JS loop + var.put(u'wellKnownSymbols', var.get(u'$keys')(var.get(u'wks').get(u'store'))) + var.put(u'k', Js(0.0)) + while (var.get(u'wellKnownSymbols').get(u'length')>var.get(u'k')): + var.get(u'wksDefine')(var.get(u'wellKnownSymbols').get((var.put(u'k',Js(var.get(u'k').to_number())+Js(1))-Js(1)))) + + @Js + def PyJs__for_1462_(key, this, arguments, var=var): + var = Scope({u'this':this, u'_for':PyJs__for_1462_, 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__for_1462_._set_name(u'_for') + @Js + def PyJs_keyFor_1463_(sym, this, arguments, var=var): + var = Scope({u'this':this, u'keyFor':PyJs_keyFor_1463_, u'arguments':arguments, u'sym':sym}, var) + var.registers([u'sym', u'key']) + if var.get(u'isSymbol')(var.get(u'sym')).neg(): + PyJsTempException = JsToPyException(var.get(u'TypeError')((var.get(u'sym')+Js(u' is not a symbol!')))) + raise PyJsTempException + for PyJsTemp in var.get(u'SymbolRegistry'): + var.put(u'key', PyJsTemp) + if PyJsStrictEq(var.get(u'SymbolRegistry').get(var.get(u'key')),var.get(u'sym')): + return var.get(u'key') + PyJs_keyFor_1463_._set_name(u'keyFor') + @Js + def PyJs_useSetter_1464_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'useSetter':PyJs_useSetter_1464_}, var) + var.registers([]) + var.put(u'setter', Js(True)) + PyJs_useSetter_1464_._set_name(u'useSetter') + @Js + def PyJs_useSimple_1465_(this, arguments, var=var): + var = Scope({u'this':this, u'useSimple':PyJs_useSimple_1465_, u'arguments':arguments}, var) + var.registers([]) + var.put(u'setter', Js(False)) + PyJs_useSimple_1465_._set_name(u'useSimple') + PyJs_Object_1461_ = Js({u'for':PyJs__for_1462_,u'keyFor':PyJs_keyFor_1463_,u'useSetter':PyJs_useSetter_1464_,u'useSimple':PyJs_useSimple_1465_}) + 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_1461_) + PyJs_Object_1466_ = 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_1466_) + @Js + def PyJs_anonymous_1467_(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_1468_ = 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_1468_)!=Js(u'{}'))) or (var.get(u'_stringify')(var.get(u'Object')(var.get(u'S')))!=Js(u'{}'))) + PyJs_anonymous_1467_._set_name(u'anonymous') + @Js + def PyJs_stringify_1470_(it, this, arguments, var=var): + var = Scope({u'this':this, u'stringify':PyJs_stringify_1470_, u'it':it, u'arguments':arguments}, var) + var.registers([u'i', u'replacer', u'args', u'it', u'$replacer']) + var.put(u'args', Js([var.get(u'it')])) + var.put(u'i', Js(1.0)) + pass + 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.put(u'replacer', var.get(u'args').get(u'1'))) + if ((var.get(u'isObject')(var.get(u'replacer')).neg() and PyJsStrictEq(var.get(u'it'),var.get(u'undefined'))) or var.get(u'isSymbol')(var.get(u'it'))): + return var.get('undefined') + if var.get(u'isArray')(var.get(u'replacer')).neg(): + @Js + def PyJs_replacer_1471_(key, value, this, arguments, var=var): + var = Scope({u'this':this, u'replacer':PyJs_replacer_1471_, u'value':value, u'key':key, u'arguments':arguments}, var) + var.registers([u'value', u'key']) + if (var.get(u'$replacer',throw=False).typeof()==Js(u'function')): + 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_replacer_1471_._set_name(u'replacer') + var.put(u'replacer', PyJs_replacer_1471_) + 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_1470_._set_name(u'stringify') + PyJs_Object_1469_ = Js({u'stringify':PyJs_stringify_1470_}) + (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_1467_)))), Js(u'JSON'), PyJs_Object_1469_)) + (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'), Js(True)) + var.get(u'setToStringTag')(var.get(u'global').get(u'JSON'), Js(u'JSON'), Js(True)) +PyJs_anonymous_1435_._set_name(u'anonymous') +PyJs_Object_1472_ = Js({u'./_an-object':Js(16.0),u'./_descriptors':Js(38.0),u'./_enum-keys':Js(41.0),u'./_export':Js(42.0),u'./_fails':Js(44.0),u'./_global':Js(49.0),u'./_has':Js(50.0),u'./_hide':Js(51.0),u'./_is-array':Js(58.0),u'./_is-object':Js(60.0),u'./_library':Js(68.0),u'./_meta':Js(74.0),u'./_object-create':Js(79.0),u'./_object-dp':Js(80.0),u'./_object-gopd':Js(83.0),u'./_object-gopn':Js(85.0),u'./_object-gopn-ext':Js(84.0),u'./_object-gops':Js(86.0),u'./_object-keys':Js(89.0),u'./_object-pie':Js(90.0),u'./_property-desc':Js(98.0),u'./_redefine':Js(100.0),u'./_set-to-string-tag':Js(107.0),u'./_shared':Js(109.0),u'./_to-iobject':Js(123.0),u'./_to-primitive':Js(126.0),u'./_uid':Js(130.0),u'./_wks':Js(135.0),u'./_wks-define':Js(133.0),u'./_wks-ext':Js(134.0)}) +@Js +def PyJs_anonymous_1473_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'$ArrayBuffer', u'exports', u'toAbsoluteIndex', u'$slice', u'$DataView', u'$typed', u'$isView', u'buffer', u'$export', u'ArrayBuffer', u'ARRAY_BUFFER', u'require', u'module', u'speciesConstructor', u'toLength', u'anObject', u'isObject', u'VIEW']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$typed', var.get(u'require')(Js(u'./_typed'))) + var.put(u'buffer', var.get(u'require')(Js(u'./_typed-buffer'))) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + var.put(u'toAbsoluteIndex', var.get(u'require')(Js(u'./_to-absolute-index'))) + var.put(u'toLength', var.get(u'require')(Js(u'./_to-length'))) + var.put(u'isObject', var.get(u'require')(Js(u'./_is-object'))) + var.put(u'ArrayBuffer', var.get(u'require')(Js(u'./_global')).get(u'ArrayBuffer')) + var.put(u'speciesConstructor', var.get(u'require')(Js(u'./_species-constructor'))) + var.put(u'$ArrayBuffer', var.get(u'buffer').get(u'ArrayBuffer')) + var.put(u'$DataView', var.get(u'buffer').get(u'DataView')) + var.put(u'$isView', (var.get(u'$typed').get(u'ABV') and var.get(u'ArrayBuffer').get(u'isView'))) + var.put(u'$slice', var.get(u'$ArrayBuffer').get(u'prototype').get(u'slice')) + var.put(u'VIEW', var.get(u'$typed').get(u'VIEW')) + var.put(u'ARRAY_BUFFER', Js(u'ArrayBuffer')) + PyJs_Object_1474_ = Js({u'ArrayBuffer':var.get(u'$ArrayBuffer')}) + 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')*PyJsStrictNeq(var.get(u'ArrayBuffer'),var.get(u'$ArrayBuffer')))), PyJs_Object_1474_) + @Js + def PyJs_isView_1476_(it, this, arguments, var=var): + var = Scope({u'this':this, u'isView':PyJs_isView_1476_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return ((var.get(u'$isView') and var.get(u'$isView')(var.get(u'it'))) or (var.get(u'isObject')(var.get(u'it')) and var.get(u'it').contains(var.get(u'VIEW')))) + PyJs_isView_1476_._set_name(u'isView') + PyJs_Object_1475_ = Js({u'isView':PyJs_isView_1476_}) + var.get(u'$export')((var.get(u'$export').get(u'S')+(var.get(u'$export').get(u'F')*var.get(u'$typed').get(u'CONSTR').neg())), var.get(u'ARRAY_BUFFER'), PyJs_Object_1475_) + @Js + def PyJs_anonymous_1477_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'$ArrayBuffer').create(Js(2.0)).callprop(u'slice', Js(1.0), var.get(u'undefined')).get(u'byteLength').neg() + PyJs_anonymous_1477_._set_name(u'anonymous') + @Js + def PyJs_slice_1479_(start, end, this, arguments, var=var): + var = Scope({u'this':this, u'start':start, u'slice':PyJs_slice_1479_, u'end':end, u'arguments':arguments}, var) + var.registers([u'viewT', u'index', u'end', u'viewS', u'len', u'start', u'result', u'fin', u'first']) + if (PyJsStrictNeq(var.get(u'$slice'),var.get(u'undefined')) and PyJsStrictEq(var.get(u'end'),var.get(u'undefined'))): + return var.get(u'$slice').callprop(u'call', var.get(u'anObject')(var.get(u"this")), var.get(u'start')) + var.put(u'len', var.get(u'anObject')(var.get(u"this")).get(u'byteLength')) + var.put(u'first', var.get(u'toAbsoluteIndex')(var.get(u'start'), var.get(u'len'))) + var.put(u'fin', var.get(u'toAbsoluteIndex')((var.get(u'len') if PyJsStrictEq(var.get(u'end'),var.get(u'undefined')) else var.get(u'end')), var.get(u'len'))) + var.put(u'result', var.get(u'speciesConstructor')(var.get(u"this"), var.get(u'$ArrayBuffer')).create(var.get(u'toLength')((var.get(u'fin')-var.get(u'first'))))) + var.put(u'viewS', var.get(u'$DataView').create(var.get(u"this"))) + var.put(u'viewT', var.get(u'$DataView').create(var.get(u'result'))) + var.put(u'index', Js(0.0)) + while (var.get(u'first')Js(0.0)) else var.get(u'undefined'))) + PyJs_WeakMap_1523_._set_name(u'WeakMap') + return PyJs_WeakMap_1523_ + PyJs_wrapper_1522_._set_name(u'wrapper') + var.put(u'wrapper', PyJs_wrapper_1522_) + @Js + def PyJs_get_1525_(key, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'key':key, u'get':PyJs_get_1525_}, 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'),Js(True)): + return var.get(u'uncaughtFrozenStore')(var.get(u'validate')(var.get(u"this"), var.get(u'WEAK_MAP'))).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_1525_._set_name(u'get') + @Js + def PyJs_set_1526_(key, value, this, arguments, var=var): + var = Scope({u'this':this, u'set':PyJs_set_1526_, 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'validate')(var.get(u"this"), var.get(u'WEAK_MAP')), var.get(u'key'), var.get(u'value')) + PyJs_set_1526_._set_name(u'set') + PyJs_Object_1524_ = Js({u'get':PyJs_get_1525_,u'set':PyJs_set_1526_}) + var.put(u'methods', PyJs_Object_1524_) + var.put(u'$WeakMap', var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./_collection'))(var.get(u'WEAK_MAP'), var.get(u'wrapper'), var.get(u'methods'), var.get(u'weak'), Js(True), Js(True)))) + @Js + def PyJs_anonymous_1527_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + return (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)) + PyJs_anonymous_1527_._set_name(u'anonymous') + if var.get(u'fails')(PyJs_anonymous_1527_): + var.put(u'InternalMap', var.get(u'weak').callprop(u'getConstructor', var.get(u'wrapper'), var.get(u'WEAK_MAP'))) + var.get(u'assign')(var.get(u'InternalMap').get(u'prototype'), var.get(u'methods')) + var.get(u'meta').put(u'NEED', Js(True)) + @Js + def PyJs_anonymous_1528_(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_1529_(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_1529_._set_name(u'anonymous') + var.get(u'redefine')(var.get(u'proto'), var.get(u'key'), PyJs_anonymous_1529_) + PyJs_anonymous_1528_._set_name(u'anonymous') + var.get(u'each')(Js([Js(u'delete'), Js(u'has'), Js(u'get'), Js(u'set')]), PyJs_anonymous_1528_) +PyJs_anonymous_1520_._set_name(u'anonymous') +PyJs_Object_1530_ = Js({u'./_array-methods':Js(21.0),u'./_collection':Js(31.0),u'./_collection-weak':Js(30.0),u'./_fails':Js(44.0),u'./_is-object':Js(60.0),u'./_meta':Js(74.0),u'./_object-assign':Js(78.0),u'./_redefine':Js(100.0),u'./_validate-collection':Js(132.0)}) +@Js +def PyJs_anonymous_1531_(require, module, exports, this, 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'weak', u'module', u'WEAK_SET', u'validate']) + Js(u'use strict') + var.put(u'weak', var.get(u'require')(Js(u'./_collection-weak'))) + var.put(u'validate', var.get(u'require')(Js(u'./_validate-collection'))) + var.put(u'WEAK_SET', Js(u'WeakSet')) + @Js + def PyJs_anonymous_1532_(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_1533_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'WeakSet':PyJs_WeakSet_1533_}, 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_1533_._set_name(u'WeakSet') + return PyJs_WeakSet_1533_ + PyJs_anonymous_1532_._set_name(u'anonymous') + @Js + def PyJs_add_1535_(value, this, arguments, var=var): + var = Scope({u'this':this, u'add':PyJs_add_1535_, u'arguments':arguments, u'value':value}, var) + var.registers([u'value']) + return var.get(u'weak').callprop(u'def', var.get(u'validate')(var.get(u"this"), var.get(u'WEAK_SET')), var.get(u'value'), Js(True)) + PyJs_add_1535_._set_name(u'add') + PyJs_Object_1534_ = Js({u'add':PyJs_add_1535_}) + var.get(u'require')(Js(u'./_collection'))(var.get(u'WEAK_SET'), PyJs_anonymous_1532_, PyJs_Object_1534_, var.get(u'weak'), Js(False), Js(True)) +PyJs_anonymous_1531_._set_name(u'anonymous') +PyJs_Object_1536_ = Js({u'./_collection':Js(31.0),u'./_collection-weak':Js(30.0),u'./_validate-collection':Js(132.0)}) +@Js +def PyJs_anonymous_1537_(require, module, exports, this, 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'$export', u'toObject', u'flattenIntoArray', u'module', u'arraySpeciesCreate', u'aFunction', u'require']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'flattenIntoArray', var.get(u'require')(Js(u'./_flatten-into-array'))) + 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'aFunction', var.get(u'require')(Js(u'./_a-function'))) + var.put(u'arraySpeciesCreate', var.get(u'require')(Js(u'./_array-species-create'))) + @Js + def PyJs_flatMap_1539_(callbackfn, this, arguments, var=var): + var = Scope({u'this':this, u'flatMap':PyJs_flatMap_1539_, u'callbackfn':callbackfn, u'arguments':arguments}, var) + var.registers([u'A', u'callbackfn', u'sourceLen', u'O']) + var.put(u'O', var.get(u'toObject')(var.get(u"this"))) + pass + var.get(u'aFunction')(var.get(u'callbackfn')) + var.put(u'sourceLen', var.get(u'toLength')(var.get(u'O').get(u'length'))) + var.put(u'A', var.get(u'arraySpeciesCreate')(var.get(u'O'), Js(0.0))) + var.get(u'flattenIntoArray')(var.get(u'A'), var.get(u'O'), var.get(u'O'), var.get(u'sourceLen'), Js(0.0), Js(1.0), var.get(u'callbackfn'), var.get(u'arguments').get(u'1')) + return var.get(u'A') + PyJs_flatMap_1539_._set_name(u'flatMap') + PyJs_Object_1538_ = Js({u'flatMap':PyJs_flatMap_1539_}) + var.get(u'$export')(var.get(u'$export').get(u'P'), Js(u'Array'), PyJs_Object_1538_) + var.get(u'require')(Js(u'./_add-to-unscopables'))(Js(u'flatMap')) +PyJs_anonymous_1537_._set_name(u'anonymous') +PyJs_Object_1540_ = Js({u'./_a-function':Js(12.0),u'./_add-to-unscopables':Js(14.0),u'./_array-species-create':Js(24.0),u'./_export':Js(42.0),u'./_flatten-into-array':Js(47.0),u'./_to-length':Js(124.0),u'./_to-object':Js(125.0)}) +@Js +def PyJs_anonymous_1541_(require, module, exports, this, 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'$export', u'toObject', u'flattenIntoArray', u'require', u'module', u'arraySpeciesCreate', u'toInteger']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'flattenIntoArray', var.get(u'require')(Js(u'./_flatten-into-array'))) + 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'toInteger', var.get(u'require')(Js(u'./_to-integer'))) + var.put(u'arraySpeciesCreate', var.get(u'require')(Js(u'./_array-species-create'))) + @Js + def PyJs_flatten_1543_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'flatten':PyJs_flatten_1543_}, var) + var.registers([u'A', u'depthArg', u'O', u'sourceLen']) + var.put(u'depthArg', var.get(u'arguments').get(u'0')) + var.put(u'O', var.get(u'toObject')(var.get(u"this"))) + var.put(u'sourceLen', var.get(u'toLength')(var.get(u'O').get(u'length'))) + var.put(u'A', var.get(u'arraySpeciesCreate')(var.get(u'O'), Js(0.0))) + var.get(u'flattenIntoArray')(var.get(u'A'), var.get(u'O'), var.get(u'O'), var.get(u'sourceLen'), Js(0.0), (Js(1.0) if PyJsStrictEq(var.get(u'depthArg'),var.get(u'undefined')) else var.get(u'toInteger')(var.get(u'depthArg')))) + return var.get(u'A') + PyJs_flatten_1543_._set_name(u'flatten') + PyJs_Object_1542_ = Js({u'flatten':PyJs_flatten_1543_}) + var.get(u'$export')(var.get(u'$export').get(u'P'), Js(u'Array'), PyJs_Object_1542_) + var.get(u'require')(Js(u'./_add-to-unscopables'))(Js(u'flatten')) +PyJs_anonymous_1541_._set_name(u'anonymous') +PyJs_Object_1544_ = Js({u'./_add-to-unscopables':Js(14.0),u'./_array-species-create':Js(24.0),u'./_export':Js(42.0),u'./_flatten-into-array':Js(47.0),u'./_to-integer':Js(122.0),u'./_to-length':Js(124.0),u'./_to-object':Js(125.0)}) +@Js +def PyJs_anonymous_1545_(require, module, exports, this, 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'$includes', u'exports', u'require', u'module']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$includes', var.get(u'require')(Js(u'./_array-includes'))(Js(True))) + @Js + def PyJs_includes_1547_(el, this, arguments, var=var): + var = Scope({u'this':this, u'el':el, u'arguments':arguments, u'includes':PyJs_includes_1547_}, var) + var.registers([u'el']) + return var.get(u'$includes')(var.get(u"this"), var.get(u'el'), (var.get(u'arguments').get(u'1') if (var.get(u'arguments').get(u'length')>Js(1.0)) else var.get(u'undefined'))) + PyJs_includes_1547_._set_name(u'includes') + PyJs_Object_1546_ = Js({u'includes':PyJs_includes_1547_}) + var.get(u'$export')(var.get(u'$export').get(u'P'), Js(u'Array'), PyJs_Object_1546_) + var.get(u'require')(Js(u'./_add-to-unscopables'))(Js(u'includes')) +PyJs_anonymous_1545_._set_name(u'anonymous') +PyJs_Object_1548_ = Js({u'./_add-to-unscopables':Js(14.0),u'./_array-includes':Js(20.0),u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1549_(require, module, exports, this, 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'process', u'$export', u'microtask', u'module', u'isNode', u'require']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'microtask', var.get(u'require')(Js(u'./_microtask'))()) + var.put(u'process', var.get(u'require')(Js(u'./_global')).get(u'process')) + var.put(u'isNode', (var.get(u'require')(Js(u'./_cof'))(var.get(u'process'))==Js(u'process'))) + @Js + def PyJs_asap_1551_(fn, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'fn':fn, u'asap':PyJs_asap_1551_}, var) + var.registers([u'domain', u'fn']) + var.put(u'domain', (var.get(u'isNode') and var.get(u'process').get(u'domain'))) + var.get(u'microtask')((var.get(u'domain').callprop(u'bind', var.get(u'fn')) if var.get(u'domain') else var.get(u'fn'))) + PyJs_asap_1551_._set_name(u'asap') + PyJs_Object_1550_ = Js({u'asap':PyJs_asap_1551_}) + var.get(u'$export')(var.get(u'$export').get(u'G'), PyJs_Object_1550_) +PyJs_anonymous_1549_._set_name(u'anonymous') +PyJs_Object_1552_ = Js({u'./_cof':Js(27.0),u'./_export':Js(42.0),u'./_global':Js(49.0),u'./_microtask':Js(76.0)}) +@Js +def PyJs_anonymous_1553_(require, module, exports, this, 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', u'cof']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'cof', var.get(u'require')(Js(u'./_cof'))) + @Js + def PyJs_isError_1555_(it, this, arguments, var=var): + var = Scope({u'this':this, u'isError':PyJs_isError_1555_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return PyJsStrictEq(var.get(u'cof')(var.get(u'it')),Js(u'Error')) + PyJs_isError_1555_._set_name(u'isError') + PyJs_Object_1554_ = Js({u'isError':PyJs_isError_1555_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Error'), PyJs_Object_1554_) +PyJs_anonymous_1553_._set_name(u'anonymous') +PyJs_Object_1556_ = Js({u'./_cof':Js(27.0),u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1557_(require, module, exports, this, 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_1558_ = Js({u'global':var.get(u'require')(Js(u'./_global'))}) + var.get(u'$export')(var.get(u'$export').get(u'G'), PyJs_Object_1558_) +PyJs_anonymous_1557_._set_name(u'anonymous') +PyJs_Object_1559_ = Js({u'./_export':Js(42.0),u'./_global':Js(49.0)}) +@Js +def PyJs_anonymous_1560_(require, module, exports, this, 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'./_set-collection-from'))(Js(u'Map')) +PyJs_anonymous_1560_._set_name(u'anonymous') +PyJs_Object_1561_ = Js({u'./_set-collection-from':Js(103.0)}) +@Js +def PyJs_anonymous_1562_(require, module, exports, this, 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'./_set-collection-of'))(Js(u'Map')) +PyJs_anonymous_1562_._set_name(u'anonymous') +PyJs_Object_1563_ = Js({u'./_set-collection-of':Js(104.0)}) +@Js +def PyJs_anonymous_1564_(require, module, exports, this, 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_1565_ = 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_1565_) +PyJs_anonymous_1564_._set_name(u'anonymous') +PyJs_Object_1566_ = Js({u'./_collection-to-json':Js(29.0),u'./_export':Js(42.0)}) +@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'$export', u'require', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + @Js + def PyJs_clamp_1569_(x, lower, upper, this, arguments, var=var): + var = Scope({u'clamp':PyJs_clamp_1569_, u'upper':upper, u'lower':lower, u'this':this, u'arguments':arguments, u'x':x}, var) + var.registers([u'x', u'lower', u'upper']) + return var.get(u'Math').callprop(u'min', var.get(u'upper'), var.get(u'Math').callprop(u'max', var.get(u'lower'), var.get(u'x'))) + PyJs_clamp_1569_._set_name(u'clamp') + PyJs_Object_1568_ = Js({u'clamp':PyJs_clamp_1569_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1568_) +PyJs_anonymous_1567_._set_name(u'anonymous') +PyJs_Object_1570_ = Js({u'./_export':Js(42.0)}) +@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'$export', u'require', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + PyJs_Object_1572_ = Js({u'DEG_PER_RAD':(var.get(u'Math').get(u'PI')/Js(180.0))}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1572_) +PyJs_anonymous_1571_._set_name(u'anonymous') +PyJs_Object_1573_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1574_(require, module, exports, this, 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'RAD_PER_DEG', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'RAD_PER_DEG', (Js(180.0)/var.get(u'Math').get(u'PI'))) + @Js + def PyJs_degrees_1576_(radians, this, arguments, var=var): + var = Scope({u'this':this, u'degrees':PyJs_degrees_1576_, u'radians':radians, u'arguments':arguments}, var) + var.registers([u'radians']) + return (var.get(u'radians')*var.get(u'RAD_PER_DEG')) + PyJs_degrees_1576_._set_name(u'degrees') + PyJs_Object_1575_ = Js({u'degrees':PyJs_degrees_1576_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1575_) +PyJs_anonymous_1574_._set_name(u'anonymous') +PyJs_Object_1577_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1578_(require, module, exports, this, 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'scale', u'$export', u'require', u'module', u'fround']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'scale', var.get(u'require')(Js(u'./_math-scale'))) + var.put(u'fround', var.get(u'require')(Js(u'./_math-fround'))) + @Js + def PyJs_fscale_1580_(x, inLow, inHigh, outLow, outHigh, this, arguments, var=var): + var = Scope({u'inLow':inLow, u'outLow':outLow, u'arguments':arguments, u'inHigh':inHigh, u'this':this, u'x':x, u'fscale':PyJs_fscale_1580_, u'outHigh':outHigh}, var) + var.registers([u'inLow', u'x', u'outHigh', u'outLow', u'inHigh']) + return var.get(u'fround')(var.get(u'scale')(var.get(u'x'), var.get(u'inLow'), var.get(u'inHigh'), var.get(u'outLow'), var.get(u'outHigh'))) + PyJs_fscale_1580_._set_name(u'fscale') + PyJs_Object_1579_ = Js({u'fscale':PyJs_fscale_1580_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1579_) +PyJs_anonymous_1578_._set_name(u'anonymous') +PyJs_Object_1581_ = Js({u'./_export':Js(42.0),u'./_math-fround':Js(70.0),u'./_math-scale':Js(72.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'$export', u'require', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + @Js + def PyJs_iaddh_1584_(x0, x1, y0, y1, this, arguments, var=var): + var = Scope({u'this':this, u'iaddh':PyJs_iaddh_1584_, u'arguments':arguments, u'y1':y1, u'y0':y0, u'x0':x0, u'x1':x1}, var) + var.registers([u'$y0', u'$x1', u'$x0', u'y1', u'y0', u'x0', u'x1']) + var.put(u'$x0', PyJsBshift(var.get(u'x0'),Js(0.0))) + var.put(u'$x1', PyJsBshift(var.get(u'x1'),Js(0.0))) + var.put(u'$y0', PyJsBshift(var.get(u'y0'),Js(0.0))) + return (((var.get(u'$x1')+PyJsBshift(var.get(u'y1'),Js(0.0)))+PyJsBshift(((var.get(u'$x0')&var.get(u'$y0'))|((var.get(u'$x0')|var.get(u'$y0'))&(~PyJsBshift((var.get(u'$x0')+var.get(u'$y0')),Js(0.0))))),Js(31.0)))|Js(0.0)) + PyJs_iaddh_1584_._set_name(u'iaddh') + PyJs_Object_1583_ = Js({u'iaddh':PyJs_iaddh_1584_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1583_) +PyJs_anonymous_1582_._set_name(u'anonymous') +PyJs_Object_1585_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1586_(require, module, exports, this, 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'))) + @Js + def PyJs_imulh_1588_(u, v, this, arguments, var=var): + var = Scope({u'this':this, u'u':u, u'arguments':arguments, u'imulh':PyJs_imulh_1588_, u'v':v}, var) + var.registers([u'u1', u'u0', u'v0', u'v1', u'UINT16', u'u', u't', u'v', u'$v', u'$u']) + var.put(u'UINT16', Js(65535)) + var.put(u'$u', (+var.get(u'u'))) + var.put(u'$v', (+var.get(u'v'))) + var.put(u'u0', (var.get(u'$u')&var.get(u'UINT16'))) + var.put(u'v0', (var.get(u'$v')&var.get(u'UINT16'))) + var.put(u'u1', (var.get(u'$u')>>Js(16.0))) + var.put(u'v1', (var.get(u'$v')>>Js(16.0))) + var.put(u't', (PyJsBshift((var.get(u'u1')*var.get(u'v0')),Js(0.0))+PyJsBshift((var.get(u'u0')*var.get(u'v0')),Js(16.0)))) + return (((var.get(u'u1')*var.get(u'v1'))+(var.get(u't')>>Js(16.0)))+((PyJsBshift((var.get(u'u0')*var.get(u'v1')),Js(0.0))+(var.get(u't')&var.get(u'UINT16')))>>Js(16.0))) + PyJs_imulh_1588_._set_name(u'imulh') + PyJs_Object_1587_ = Js({u'imulh':PyJs_imulh_1588_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1587_) +PyJs_anonymous_1586_._set_name(u'anonymous') +PyJs_Object_1589_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1590_(require, module, exports, this, 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'))) + @Js + def PyJs_isubh_1592_(x0, x1, y0, y1, this, arguments, var=var): + var = Scope({u'this':this, u'isubh':PyJs_isubh_1592_, u'arguments':arguments, u'y1':y1, u'y0':y0, u'x0':x0, u'x1':x1}, var) + var.registers([u'$y0', u'$x1', u'$x0', u'y1', u'y0', u'x0', u'x1']) + var.put(u'$x0', PyJsBshift(var.get(u'x0'),Js(0.0))) + var.put(u'$x1', PyJsBshift(var.get(u'x1'),Js(0.0))) + var.put(u'$y0', PyJsBshift(var.get(u'y0'),Js(0.0))) + return (((var.get(u'$x1')-PyJsBshift(var.get(u'y1'),Js(0.0)))-PyJsBshift((((~var.get(u'$x0'))&var.get(u'$y0'))|((~(var.get(u'$x0')^var.get(u'$y0')))&PyJsBshift((var.get(u'$x0')-var.get(u'$y0')),Js(0.0)))),Js(31.0)))|Js(0.0)) + PyJs_isubh_1592_._set_name(u'isubh') + PyJs_Object_1591_ = Js({u'isubh':PyJs_isubh_1592_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1591_) +PyJs_anonymous_1590_._set_name(u'anonymous') +PyJs_Object_1593_ = Js({u'./_export':Js(42.0)}) +@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'$export', u'require', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + PyJs_Object_1595_ = Js({u'RAD_PER_DEG':(Js(180.0)/var.get(u'Math').get(u'PI'))}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1595_) +PyJs_anonymous_1594_._set_name(u'anonymous') +PyJs_Object_1596_ = Js({u'./_export':Js(42.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'$export', u'require', u'DEG_PER_RAD', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'DEG_PER_RAD', (var.get(u'Math').get(u'PI')/Js(180.0))) + @Js + def PyJs_radians_1599_(degrees, this, arguments, var=var): + var = Scope({u'this':this, u'degrees':degrees, u'arguments':arguments, u'radians':PyJs_radians_1599_}, var) + var.registers([u'degrees']) + return (var.get(u'degrees')*var.get(u'DEG_PER_RAD')) + PyJs_radians_1599_._set_name(u'radians') + PyJs_Object_1598_ = Js({u'radians':PyJs_radians_1599_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1598_) +PyJs_anonymous_1597_._set_name(u'anonymous') +PyJs_Object_1600_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1601_(require, module, exports, this, 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_1602_ = Js({u'scale':var.get(u'require')(Js(u'./_math-scale'))}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1602_) +PyJs_anonymous_1601_._set_name(u'anonymous') +PyJs_Object_1603_ = Js({u'./_export':Js(42.0),u'./_math-scale':Js(72.0)}) +@Js +def PyJs_anonymous_1604_(require, module, exports, this, 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'))) + @Js + def PyJs_signbit_1606_(x, this, arguments, var=var): + var = Scope({u'this':this, u'x':x, u'signbit':PyJs_signbit_1606_, u'arguments':arguments}, var) + var.registers([u'x']) + return (var.get(u'x') if (var.put(u'x', (+var.get(u'x')))!=var.get(u'x')) else (((Js(1.0)/var.get(u'x'))==var.get(u'Infinity')) if (var.get(u'x')==Js(0.0)) else (var.get(u'x')>Js(0.0)))) + PyJs_signbit_1606_._set_name(u'signbit') + PyJs_Object_1605_ = Js({u'signbit':PyJs_signbit_1606_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1605_) +PyJs_anonymous_1604_._set_name(u'anonymous') +PyJs_Object_1607_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1608_(require, module, exports, this, 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'))) + @Js + def PyJs_umulh_1610_(u, v, this, arguments, var=var): + var = Scope({u'this':this, u'umulh':PyJs_umulh_1610_, u'u':u, u'arguments':arguments, u'v':v}, var) + var.registers([u'u1', u'u0', u'v0', u'v1', u'UINT16', u'u', u't', u'v', u'$v', u'$u']) + var.put(u'UINT16', Js(65535)) + var.put(u'$u', (+var.get(u'u'))) + var.put(u'$v', (+var.get(u'v'))) + var.put(u'u0', (var.get(u'$u')&var.get(u'UINT16'))) + var.put(u'v0', (var.get(u'$v')&var.get(u'UINT16'))) + var.put(u'u1', PyJsBshift(var.get(u'$u'),Js(16.0))) + var.put(u'v1', PyJsBshift(var.get(u'$v'),Js(16.0))) + var.put(u't', (PyJsBshift((var.get(u'u1')*var.get(u'v0')),Js(0.0))+PyJsBshift((var.get(u'u0')*var.get(u'v0')),Js(16.0)))) + return (((var.get(u'u1')*var.get(u'v1'))+PyJsBshift(var.get(u't'),Js(16.0)))+PyJsBshift((PyJsBshift((var.get(u'u0')*var.get(u'v1')),Js(0.0))+(var.get(u't')&var.get(u'UINT16'))),Js(16.0))) + PyJs_umulh_1610_._set_name(u'umulh') + PyJs_Object_1609_ = Js({u'umulh':PyJs_umulh_1610_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Math'), PyJs_Object_1609_) +PyJs_anonymous_1608_._set_name(u'anonymous') +PyJs_Object_1611_ = Js({u'./_export':Js(42.0)}) +@Js +def PyJs_anonymous_1612_(require, module, exports, this, 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'$export', u'toObject', u'module', u'$defineProperty', u'aFunction', u'require']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'toObject', var.get(u'require')(Js(u'./_to-object'))) + var.put(u'aFunction', var.get(u'require')(Js(u'./_a-function'))) + var.put(u'$defineProperty', var.get(u'require')(Js(u'./_object-dp'))) + @Js + def PyJs___defineGetter___1614_(P, getter, this, arguments, var=var): + var = Scope({u'this':this, u'P':P, u'getter':getter, u'__defineGetter__':PyJs___defineGetter___1614_, u'arguments':arguments}, var) + var.registers([u'P', u'getter']) + PyJs_Object_1615_ = Js({u'get':var.get(u'aFunction')(var.get(u'getter')),u'enumerable':Js(True),u'configurable':Js(True)}) + var.get(u'$defineProperty').callprop(u'f', var.get(u'toObject')(var.get(u"this")), var.get(u'P'), PyJs_Object_1615_) + PyJs___defineGetter___1614_._set_name(u'__defineGetter__') + PyJs_Object_1613_ = Js({u'__defineGetter__':PyJs___defineGetter___1614_}) + (var.get(u'require')(Js(u'./_descriptors')) and var.get(u'$export')((var.get(u'$export').get(u'P')+var.get(u'require')(Js(u'./_object-forced-pam'))), Js(u'Object'), PyJs_Object_1613_)) +PyJs_anonymous_1612_._set_name(u'anonymous') +PyJs_Object_1616_ = Js({u'./_a-function':Js(12.0),u'./_descriptors':Js(38.0),u'./_export':Js(42.0),u'./_object-dp':Js(80.0),u'./_object-forced-pam':Js(82.0),u'./_to-object':Js(125.0)}) +@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'exports', u'$export', u'toObject', u'module', u'$defineProperty', u'aFunction', u'require']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'toObject', var.get(u'require')(Js(u'./_to-object'))) + var.put(u'aFunction', var.get(u'require')(Js(u'./_a-function'))) + var.put(u'$defineProperty', var.get(u'require')(Js(u'./_object-dp'))) + @Js + def PyJs___defineSetter___1619_(P, setter, this, arguments, var=var): + var = Scope({u'this':this, u'P':P, u'arguments':arguments, u'__defineSetter__':PyJs___defineSetter___1619_, u'setter':setter}, var) + var.registers([u'P', u'setter']) + PyJs_Object_1620_ = Js({u'set':var.get(u'aFunction')(var.get(u'setter')),u'enumerable':Js(True),u'configurable':Js(True)}) + var.get(u'$defineProperty').callprop(u'f', var.get(u'toObject')(var.get(u"this")), var.get(u'P'), PyJs_Object_1620_) + PyJs___defineSetter___1619_._set_name(u'__defineSetter__') + PyJs_Object_1618_ = Js({u'__defineSetter__':PyJs___defineSetter___1619_}) + (var.get(u'require')(Js(u'./_descriptors')) and var.get(u'$export')((var.get(u'$export').get(u'P')+var.get(u'require')(Js(u'./_object-forced-pam'))), Js(u'Object'), PyJs_Object_1618_)) +PyJs_anonymous_1617_._set_name(u'anonymous') +PyJs_Object_1621_ = Js({u'./_a-function':Js(12.0),u'./_descriptors':Js(38.0),u'./_export':Js(42.0),u'./_object-dp':Js(80.0),u'./_object-forced-pam':Js(82.0),u'./_to-object':Js(125.0)}) +@Js +def PyJs_anonymous_1622_(require, module, exports, this, 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'$entries', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$entries', var.get(u'require')(Js(u'./_object-to-array'))(Js(True))) + @Js + def PyJs_entries_1624_(it, this, arguments, var=var): + var = Scope({u'this':this, u'entries':PyJs_entries_1624_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return var.get(u'$entries')(var.get(u'it')) + PyJs_entries_1624_._set_name(u'entries') + PyJs_Object_1623_ = Js({u'entries':PyJs_entries_1624_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Object'), PyJs_Object_1623_) +PyJs_anonymous_1622_._set_name(u'anonymous') +PyJs_Object_1625_ = Js({u'./_export':Js(42.0),u'./_object-to-array':Js(92.0)}) +@Js +def PyJs_anonymous_1626_(require, module, exports, this, 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'$export', u'require', u'ownKeys', u'module', u'toIObject', u'createProperty', u'gOPD']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'ownKeys', var.get(u'require')(Js(u'./_own-keys'))) + var.put(u'toIObject', var.get(u'require')(Js(u'./_to-iobject'))) + var.put(u'gOPD', var.get(u'require')(Js(u'./_object-gopd'))) + var.put(u'createProperty', var.get(u'require')(Js(u'./_create-property'))) + @Js + def PyJs_getOwnPropertyDescriptors_1628_(object, this, arguments, var=var): + var = Scope({u'this':this, u'getOwnPropertyDescriptors':PyJs_getOwnPropertyDescriptors_1628_, u'object':object, u'arguments':arguments}, var) + var.registers([u'i', u'getDesc', u'object', u'O', u'keys', u'result', u'key', u'desc']) + var.put(u'O', var.get(u'toIObject')(var.get(u'object'))) + var.put(u'getDesc', var.get(u'gOPD').get(u'f')) + var.put(u'keys', var.get(u'ownKeys')(var.get(u'O'))) + PyJs_Object_1629_ = Js({}) + var.put(u'result', PyJs_Object_1629_) + var.put(u'i', Js(0.0)) + pass + while (var.get(u'keys').get(u'length')>var.get(u'i')): + var.put(u'desc', var.get(u'getDesc')(var.get(u'O'), var.put(u'key', var.get(u'keys').get((var.put(u'i',Js(var.get(u'i').to_number())+Js(1))-Js(1)))))) + if PyJsStrictNeq(var.get(u'desc'),var.get(u'undefined')): + var.get(u'createProperty')(var.get(u'result'), var.get(u'key'), var.get(u'desc')) + return var.get(u'result') + PyJs_getOwnPropertyDescriptors_1628_._set_name(u'getOwnPropertyDescriptors') + PyJs_Object_1627_ = Js({u'getOwnPropertyDescriptors':PyJs_getOwnPropertyDescriptors_1628_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Object'), PyJs_Object_1627_) +PyJs_anonymous_1626_._set_name(u'anonymous') +PyJs_Object_1630_ = Js({u'./_create-property':Js(33.0),u'./_export':Js(42.0),u'./_object-gopd':Js(83.0),u'./_own-keys':Js(93.0),u'./_to-iobject':Js(123.0)}) +@Js +def PyJs_anonymous_1631_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'getOwnPropertyDescriptor', u'exports', u'$export', u'toObject', u'toPrimitive', u'module', u'getPrototypeOf', u'require']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'toObject', var.get(u'require')(Js(u'./_to-object'))) + var.put(u'toPrimitive', var.get(u'require')(Js(u'./_to-primitive'))) + var.put(u'getPrototypeOf', var.get(u'require')(Js(u'./_object-gpo'))) + var.put(u'getOwnPropertyDescriptor', var.get(u'require')(Js(u'./_object-gopd')).get(u'f')) + @Js + def PyJs___lookupGetter___1633_(P, this, arguments, var=var): + var = Scope({u'this':this, u'P':P, u'arguments':arguments, u'__lookupGetter__':PyJs___lookupGetter___1633_}, var) + var.registers([u'P', u'K', u'D', u'O']) + var.put(u'O', var.get(u'toObject')(var.get(u"this"))) + var.put(u'K', var.get(u'toPrimitive')(var.get(u'P'), Js(True))) + pass + while 1: + if var.put(u'D', var.get(u'getOwnPropertyDescriptor')(var.get(u'O'), var.get(u'K'))): + return var.get(u'D').get(u'get') + if not var.put(u'O', var.get(u'getPrototypeOf')(var.get(u'O'))): + break + PyJs___lookupGetter___1633_._set_name(u'__lookupGetter__') + PyJs_Object_1632_ = Js({u'__lookupGetter__':PyJs___lookupGetter___1633_}) + (var.get(u'require')(Js(u'./_descriptors')) and var.get(u'$export')((var.get(u'$export').get(u'P')+var.get(u'require')(Js(u'./_object-forced-pam'))), Js(u'Object'), PyJs_Object_1632_)) +PyJs_anonymous_1631_._set_name(u'anonymous') +PyJs_Object_1634_ = Js({u'./_descriptors':Js(38.0),u'./_export':Js(42.0),u'./_object-forced-pam':Js(82.0),u'./_object-gopd':Js(83.0),u'./_object-gpo':Js(87.0),u'./_to-object':Js(125.0),u'./_to-primitive':Js(126.0)}) +@Js +def PyJs_anonymous_1635_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'getOwnPropertyDescriptor', u'exports', u'$export', u'toObject', u'toPrimitive', u'module', u'getPrototypeOf', u'require']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'toObject', var.get(u'require')(Js(u'./_to-object'))) + var.put(u'toPrimitive', var.get(u'require')(Js(u'./_to-primitive'))) + var.put(u'getPrototypeOf', var.get(u'require')(Js(u'./_object-gpo'))) + var.put(u'getOwnPropertyDescriptor', var.get(u'require')(Js(u'./_object-gopd')).get(u'f')) + @Js + def PyJs___lookupSetter___1637_(P, this, arguments, var=var): + var = Scope({u'this':this, u'P':P, u'__lookupSetter__':PyJs___lookupSetter___1637_, u'arguments':arguments}, var) + var.registers([u'P', u'K', u'D', u'O']) + var.put(u'O', var.get(u'toObject')(var.get(u"this"))) + var.put(u'K', var.get(u'toPrimitive')(var.get(u'P'), Js(True))) + pass + while 1: + if var.put(u'D', var.get(u'getOwnPropertyDescriptor')(var.get(u'O'), var.get(u'K'))): + return var.get(u'D').get(u'set') + if not var.put(u'O', var.get(u'getPrototypeOf')(var.get(u'O'))): + break + PyJs___lookupSetter___1637_._set_name(u'__lookupSetter__') + PyJs_Object_1636_ = Js({u'__lookupSetter__':PyJs___lookupSetter___1637_}) + (var.get(u'require')(Js(u'./_descriptors')) and var.get(u'$export')((var.get(u'$export').get(u'P')+var.get(u'require')(Js(u'./_object-forced-pam'))), Js(u'Object'), PyJs_Object_1636_)) +PyJs_anonymous_1635_._set_name(u'anonymous') +PyJs_Object_1638_ = Js({u'./_descriptors':Js(38.0),u'./_export':Js(42.0),u'./_object-forced-pam':Js(82.0),u'./_object-gopd':Js(83.0),u'./_object-gpo':Js(87.0),u'./_to-object':Js(125.0),u'./_to-primitive':Js(126.0)}) +@Js +def PyJs_anonymous_1639_(require, module, exports, this, 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', u'$values']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$values', var.get(u'require')(Js(u'./_object-to-array'))(Js(False))) + @Js + def PyJs_values_1641_(it, this, arguments, var=var): + var = Scope({u'this':this, u'values':PyJs_values_1641_, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + return var.get(u'$values')(var.get(u'it')) + PyJs_values_1641_._set_name(u'values') + PyJs_Object_1640_ = Js({u'values':PyJs_values_1641_}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'Object'), PyJs_Object_1640_) +PyJs_anonymous_1639_._set_name(u'anonymous') +PyJs_Object_1642_ = Js({u'./_export':Js(42.0),u'./_object-to-array':Js(92.0)}) +@Js +def PyJs_anonymous_1643_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'RETURN', u'subscriptionClosed', u'microtask', u'global', u'module', u'SubscriptionObserver', u'closeSubscription', u'hide', u'$export', u'getMethod', u'redefineAll', u'Subscription', u'core', u'exports', u'forOf', u'anObject', u'OBSERVABLE', u'anInstance', u'require', u'cleanupSubscription', u'aFunction', u'$Observable']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + 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'microtask', var.get(u'require')(Js(u'./_microtask'))()) + var.put(u'OBSERVABLE', var.get(u'require')(Js(u'./_wks'))(Js(u'observable'))) + var.put(u'aFunction', var.get(u'require')(Js(u'./_a-function'))) + var.put(u'anObject', var.get(u'require')(Js(u'./_an-object'))) + var.put(u'anInstance', var.get(u'require')(Js(u'./_an-instance'))) + var.put(u'redefineAll', var.get(u'require')(Js(u'./_redefine-all'))) + var.put(u'hide', var.get(u'require')(Js(u'./_hide'))) + var.put(u'forOf', var.get(u'require')(Js(u'./_for-of'))) + var.put(u'RETURN', var.get(u'forOf').get(u'RETURN')) + @Js + def PyJs_getMethod_1644_(fn, this, arguments, var=var): + var = Scope({u'this':this, u'getMethod':PyJs_getMethod_1644_, u'arguments':arguments, u'fn':fn}, var) + var.registers([u'fn']) + return (var.get(u'undefined') if (var.get(u'fn')==var.get(u"null")) else var.get(u'aFunction')(var.get(u'fn'))) + PyJs_getMethod_1644_._set_name(u'getMethod') + var.put(u'getMethod', PyJs_getMethod_1644_) + @Js + def PyJs_cleanupSubscription_1645_(subscription, this, arguments, var=var): + var = Scope({u'this':this, u'cleanupSubscription':PyJs_cleanupSubscription_1645_, u'arguments':arguments, u'subscription':subscription}, var) + var.registers([u'cleanup', u'subscription']) + var.put(u'cleanup', var.get(u'subscription').get(u'_c')) + if var.get(u'cleanup'): + var.get(u'subscription').put(u'_c', var.get(u'undefined')) + var.get(u'cleanup')() + PyJs_cleanupSubscription_1645_._set_name(u'cleanupSubscription') + var.put(u'cleanupSubscription', PyJs_cleanupSubscription_1645_) + @Js + def PyJs_subscriptionClosed_1646_(subscription, this, arguments, var=var): + var = Scope({u'this':this, u'subscriptionClosed':PyJs_subscriptionClosed_1646_, u'arguments':arguments, u'subscription':subscription}, var) + var.registers([u'subscription']) + return PyJsStrictEq(var.get(u'subscription').get(u'_o'),var.get(u'undefined')) + PyJs_subscriptionClosed_1646_._set_name(u'subscriptionClosed') + var.put(u'subscriptionClosed', PyJs_subscriptionClosed_1646_) + @Js + def PyJs_closeSubscription_1647_(subscription, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'closeSubscription':PyJs_closeSubscription_1647_, u'subscription':subscription}, var) + var.registers([u'subscription']) + if var.get(u'subscriptionClosed')(var.get(u'subscription')).neg(): + var.get(u'subscription').put(u'_o', var.get(u'undefined')) + var.get(u'cleanupSubscription')(var.get(u'subscription')) + PyJs_closeSubscription_1647_._set_name(u'closeSubscription') + var.put(u'closeSubscription', PyJs_closeSubscription_1647_) + @Js + def PyJs_Subscription_1648_(observer, subscriber, this, arguments, var=var): + var = Scope({u'subscriber':subscriber, u'this':this, u'arguments':arguments, u'observer':observer, u'Subscription':PyJs_Subscription_1648_}, var) + var.registers([u'subscriber', u'cleanup', u'observer', u'subscription']) + var.get(u'anObject')(var.get(u'observer')) + var.get(u"this").put(u'_c', var.get(u'undefined')) + var.get(u"this").put(u'_o', var.get(u'observer')) + var.put(u'observer', var.get(u'SubscriptionObserver').create(var.get(u"this"))) + try: + var.put(u'cleanup', var.get(u'subscriber')(var.get(u'observer'))) + var.put(u'subscription', var.get(u'cleanup')) + if (var.get(u'cleanup')!=var.get(u"null")): + if PyJsStrictEq(var.get(u'cleanup').get(u'unsubscribe').typeof(),Js(u'function')): + @Js + def PyJs_cleanup_1649_(this, arguments, var=var): + var = Scope({u'this':this, u'cleanup':PyJs_cleanup_1649_, u'arguments':arguments}, var) + var.registers([]) + var.get(u'subscription').callprop(u'unsubscribe') + PyJs_cleanup_1649_._set_name(u'cleanup') + var.put(u'cleanup', PyJs_cleanup_1649_) + else: + var.get(u'aFunction')(var.get(u'cleanup')) + var.get(u"this").put(u'_c', var.get(u'cleanup')) + except PyJsException as PyJsTempException: + PyJsHolder_65_54492020 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + var.get(u'observer').callprop(u'error', var.get(u'e')) + return var.get('undefined') + finally: + if PyJsHolder_65_54492020 is not None: + var.own[u'e'] = PyJsHolder_65_54492020 + else: + del var.own[u'e'] + del PyJsHolder_65_54492020 + if var.get(u'subscriptionClosed')(var.get(u"this")): + var.get(u'cleanupSubscription')(var.get(u"this")) + PyJs_Subscription_1648_._set_name(u'Subscription') + var.put(u'Subscription', PyJs_Subscription_1648_) + PyJs_Object_1650_ = Js({}) + @Js + def PyJs_unsubscribe_1652_(this, arguments, var=var): + var = Scope({u'this':this, u'unsubscribe':PyJs_unsubscribe_1652_, u'arguments':arguments}, var) + var.registers([]) + var.get(u'closeSubscription')(var.get(u"this")) + PyJs_unsubscribe_1652_._set_name(u'unsubscribe') + PyJs_Object_1651_ = Js({u'unsubscribe':PyJs_unsubscribe_1652_}) + var.get(u'Subscription').put(u'prototype', var.get(u'redefineAll')(PyJs_Object_1650_, PyJs_Object_1651_)) + @Js + def PyJs_SubscriptionObserver_1653_(subscription, this, arguments, var=var): + var = Scope({u'this':this, u'SubscriptionObserver':PyJs_SubscriptionObserver_1653_, u'arguments':arguments, u'subscription':subscription}, var) + var.registers([u'subscription']) + var.get(u"this").put(u'_s', var.get(u'subscription')) + PyJs_SubscriptionObserver_1653_._set_name(u'SubscriptionObserver') + var.put(u'SubscriptionObserver', PyJs_SubscriptionObserver_1653_) + PyJs_Object_1654_ = Js({}) + @Js + def PyJs_next_1656_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value, u'next':PyJs_next_1656_}, var) + var.registers([u'm', u'value', u'observer', u'subscription']) + var.put(u'subscription', var.get(u"this").get(u'_s')) + if var.get(u'subscriptionClosed')(var.get(u'subscription')).neg(): + var.put(u'observer', var.get(u'subscription').get(u'_o')) + try: + var.put(u'm', var.get(u'getMethod')(var.get(u'observer').get(u'next'))) + if var.get(u'm'): + return var.get(u'm').callprop(u'call', var.get(u'observer'), var.get(u'value')) + except PyJsException as PyJsTempException: + PyJsHolder_65_13782816 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + try: + var.get(u'closeSubscription')(var.get(u'subscription')) + finally: + PyJsTempException = JsToPyException(var.get(u'e')) + raise PyJsTempException + finally: + if PyJsHolder_65_13782816 is not None: + var.own[u'e'] = PyJsHolder_65_13782816 + else: + del var.own[u'e'] + del PyJsHolder_65_13782816 + PyJs_next_1656_._set_name(u'next') + @Js + def PyJs_error_1657_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value, u'error':PyJs_error_1657_}, var) + var.registers([u'm', u'value', u'observer', u'subscription']) + var.put(u'subscription', var.get(u"this").get(u'_s')) + if var.get(u'subscriptionClosed')(var.get(u'subscription')): + PyJsTempException = JsToPyException(var.get(u'value')) + raise PyJsTempException + var.put(u'observer', var.get(u'subscription').get(u'_o')) + var.get(u'subscription').put(u'_o', var.get(u'undefined')) + try: + var.put(u'm', var.get(u'getMethod')(var.get(u'observer').get(u'error'))) + if var.get(u'm').neg(): + PyJsTempException = JsToPyException(var.get(u'value')) + raise PyJsTempException + var.put(u'value', var.get(u'm').callprop(u'call', var.get(u'observer'), var.get(u'value'))) + except PyJsException as PyJsTempException: + PyJsHolder_65_69094635 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + try: + var.get(u'cleanupSubscription')(var.get(u'subscription')) + finally: + PyJsTempException = JsToPyException(var.get(u'e')) + raise PyJsTempException + finally: + if PyJsHolder_65_69094635 is not None: + var.own[u'e'] = PyJsHolder_65_69094635 + else: + del var.own[u'e'] + del PyJsHolder_65_69094635 + var.get(u'cleanupSubscription')(var.get(u'subscription')) + return var.get(u'value') + PyJs_error_1657_._set_name(u'error') + @Js + def PyJs_complete_1658_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value, u'complete':PyJs_complete_1658_}, var) + var.registers([u'm', u'value', u'observer', u'subscription']) + var.put(u'subscription', var.get(u"this").get(u'_s')) + if var.get(u'subscriptionClosed')(var.get(u'subscription')).neg(): + var.put(u'observer', var.get(u'subscription').get(u'_o')) + var.get(u'subscription').put(u'_o', var.get(u'undefined')) + try: + var.put(u'm', var.get(u'getMethod')(var.get(u'observer').get(u'complete'))) + var.put(u'value', (var.get(u'm').callprop(u'call', var.get(u'observer'), var.get(u'value')) if var.get(u'm') else var.get(u'undefined'))) + except PyJsException as PyJsTempException: + PyJsHolder_65_43348252 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + try: + var.get(u'cleanupSubscription')(var.get(u'subscription')) + finally: + PyJsTempException = JsToPyException(var.get(u'e')) + raise PyJsTempException + finally: + if PyJsHolder_65_43348252 is not None: + var.own[u'e'] = PyJsHolder_65_43348252 + else: + del var.own[u'e'] + del PyJsHolder_65_43348252 + var.get(u'cleanupSubscription')(var.get(u'subscription')) + return var.get(u'value') + PyJs_complete_1658_._set_name(u'complete') + PyJs_Object_1655_ = Js({u'next':PyJs_next_1656_,u'error':PyJs_error_1657_,u'complete':PyJs_complete_1658_}) + var.get(u'SubscriptionObserver').put(u'prototype', var.get(u'redefineAll')(PyJs_Object_1654_, PyJs_Object_1655_)) + @Js + def PyJs_Observable_1659_(subscriber, this, arguments, var=var): + var = Scope({u'subscriber':subscriber, u'this':this, u'arguments':arguments, u'Observable':PyJs_Observable_1659_}, var) + var.registers([u'subscriber']) + var.get(u'anInstance')(var.get(u"this"), var.get(u'$Observable'), Js(u'Observable'), Js(u'_f')).put(u'_f', var.get(u'aFunction')(var.get(u'subscriber'))) + PyJs_Observable_1659_._set_name(u'Observable') + var.put(u'$Observable', PyJs_Observable_1659_) + @Js + def PyJs_subscribe_1661_(observer, this, arguments, var=var): + var = Scope({u'this':this, u'subscribe':PyJs_subscribe_1661_, u'arguments':arguments, u'observer':observer}, var) + var.registers([u'observer']) + return var.get(u'Subscription').create(var.get(u'observer'), var.get(u"this").get(u'_f')) + PyJs_subscribe_1661_._set_name(u'subscribe') + @Js + def PyJs_forEach_1662_(fn, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'fn':fn, u'forEach':PyJs_forEach_1662_}, var) + var.registers([u'fn', u'that']) + var.put(u'that', var.get(u"this")) + @Js + def PyJs_anonymous_1663_(resolve, reject, this, arguments, var=var): + var = Scope({u'this':this, u'resolve':resolve, u'arguments':arguments, u'reject':reject}, var) + var.registers([u'resolve', u'reject', u'subscription']) + var.get(u'aFunction')(var.get(u'fn')) + @Js + def PyJs_next_1665_(value, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'value':value, u'next':PyJs_next_1665_}, var) + var.registers([u'value']) + try: + return var.get(u'fn')(var.get(u'value')) + except PyJsException as PyJsTempException: + PyJsHolder_65_14796645 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + var.get(u'reject')(var.get(u'e')) + var.get(u'subscription').callprop(u'unsubscribe') + finally: + if PyJsHolder_65_14796645 is not None: + var.own[u'e'] = PyJsHolder_65_14796645 + else: + del var.own[u'e'] + del PyJsHolder_65_14796645 + PyJs_next_1665_._set_name(u'next') + PyJs_Object_1664_ = Js({u'next':PyJs_next_1665_,u'error':var.get(u'reject'),u'complete':var.get(u'resolve')}) + var.put(u'subscription', var.get(u'that').callprop(u'subscribe', PyJs_Object_1664_)) + PyJs_anonymous_1663_._set_name(u'anonymous') + return (var.get(u'core').get(u'Promise') or var.get(u'global').get(u'Promise')).create(PyJs_anonymous_1663_) + PyJs_forEach_1662_._set_name(u'forEach') + PyJs_Object_1660_ = Js({u'subscribe':PyJs_subscribe_1661_,u'forEach':PyJs_forEach_1662_}) + var.get(u'redefineAll')(var.get(u'$Observable').get(u'prototype'), PyJs_Object_1660_) + @Js + def PyJs_InlineNonPyName_1667_(x, this, arguments, var=var): + var = Scope({u'this':this, u'x':x, u'from':PyJs_InlineNonPyName_1667_, u'arguments':arguments}, var) + var.registers([u'observable', u'C', u'method', u'x']) + var.put(u'C', (var.get(u"this") if PyJsStrictEq(var.get(u"this",throw=False).typeof(),Js(u'function')) else var.get(u'$Observable'))) + var.put(u'method', var.get(u'getMethod')(var.get(u'anObject')(var.get(u'x')).get(var.get(u'OBSERVABLE')))) + if var.get(u'method'): + var.put(u'observable', var.get(u'anObject')(var.get(u'method').callprop(u'call', var.get(u'x')))) + @Js + def PyJs_anonymous_1668_(observer, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'observer':observer}, var) + var.registers([u'observer']) + return var.get(u'observable').callprop(u'subscribe', var.get(u'observer')) + PyJs_anonymous_1668_._set_name(u'anonymous') + return (var.get(u'observable') if PyJsStrictEq(var.get(u'observable').get(u'constructor'),var.get(u'C')) else var.get(u'C').create(PyJs_anonymous_1668_)) + @Js + def PyJs_anonymous_1669_(observer, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'observer':observer}, var) + var.registers([u'done', u'observer']) + var.put(u'done', Js(False)) + @Js + def PyJs_anonymous_1670_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if var.get(u'done').neg(): + try: + @Js + def PyJs_anonymous_1671_(it, this, arguments, var=var): + var = Scope({u'this':this, u'it':it, u'arguments':arguments}, var) + var.registers([u'it']) + var.get(u'observer').callprop(u'next', var.get(u'it')) + if var.get(u'done'): + return var.get(u'RETURN') + PyJs_anonymous_1671_._set_name(u'anonymous') + if PyJsStrictEq(var.get(u'forOf')(var.get(u'x'), Js(False), PyJs_anonymous_1671_),var.get(u'RETURN')): + return var.get('undefined') + except PyJsException as PyJsTempException: + PyJsHolder_65_28286601 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + if var.get(u'done'): + PyJsTempException = JsToPyException(var.get(u'e')) + raise PyJsTempException + var.get(u'observer').callprop(u'error', var.get(u'e')) + return var.get('undefined') + finally: + if PyJsHolder_65_28286601 is not None: + var.own[u'e'] = PyJsHolder_65_28286601 + else: + del var.own[u'e'] + del PyJsHolder_65_28286601 + var.get(u'observer').callprop(u'complete') + PyJs_anonymous_1670_._set_name(u'anonymous') + var.get(u'microtask')(PyJs_anonymous_1670_) + @Js + def PyJs_anonymous_1672_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + var.put(u'done', Js(True)) + PyJs_anonymous_1672_._set_name(u'anonymous') + return PyJs_anonymous_1672_ + PyJs_anonymous_1669_._set_name(u'anonymous') + return var.get(u'C').create(PyJs_anonymous_1669_) + PyJs_InlineNonPyName_1667_._set_name(u'from') + @Js + def PyJs_of_1673_(this, arguments, var=var): + var = Scope({u'this':this, u'of':PyJs_of_1673_, u'arguments':arguments}, var) + var.registers([u'i', u'items', u'l']) + #for JS loop + var.put(u'i', Js(0.0)) + var.put(u'l', var.get(u'arguments').get(u'length')) + var.put(u'items', var.get(u'Array').create(var.get(u'l'))) + while (var.get(u'i')Js(1.0)) else var.get(u'undefined')), Js(False)) + PyJs_padEnd_1752_._set_name(u'padEnd') + PyJs_Object_1751_ = Js({u'padEnd':PyJs_padEnd_1752_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*JsRegExp(u'/Version\\/10\\.\\d+(\\.\\d+)? Safari\\//').callprop(u'test', var.get(u'userAgent')))), Js(u'String'), PyJs_Object_1751_) +PyJs_anonymous_1750_._set_name(u'anonymous') +PyJs_Object_1753_ = Js({u'./_export':Js(42.0),u'./_string-pad':Js(115.0),u'./_user-agent':Js(131.0)}) +@Js +def PyJs_anonymous_1754_(require, module, exports, this, 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'$export', u'require', u'module', u'userAgent', u'$pad']) + Js(u'use strict') + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + var.put(u'$pad', var.get(u'require')(Js(u'./_string-pad'))) + var.put(u'userAgent', var.get(u'require')(Js(u'./_user-agent'))) + @Js + def PyJs_padStart_1756_(maxLength, this, arguments, var=var): + var = Scope({u'this':this, u'padStart':PyJs_padStart_1756_, u'arguments':arguments, u'maxLength':maxLength}, var) + var.registers([u'maxLength']) + return var.get(u'$pad')(var.get(u"this"), var.get(u'maxLength'), (var.get(u'arguments').get(u'1') if (var.get(u'arguments').get(u'length')>Js(1.0)) else var.get(u'undefined')), Js(True)) + PyJs_padStart_1756_._set_name(u'padStart') + PyJs_Object_1755_ = Js({u'padStart':PyJs_padStart_1756_}) + var.get(u'$export')((var.get(u'$export').get(u'P')+(var.get(u'$export').get(u'F')*JsRegExp(u'/Version\\/10\\.\\d+(\\.\\d+)? Safari\\//').callprop(u'test', var.get(u'userAgent')))), Js(u'String'), PyJs_Object_1755_) +PyJs_anonymous_1754_._set_name(u'anonymous') +PyJs_Object_1757_ = Js({u'./_export':Js(42.0),u'./_string-pad':Js(115.0),u'./_user-agent':Js(131.0)}) +@Js +def PyJs_anonymous_1758_(require, module, exports, this, 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_1759_(PyJsArg_247472696d_, this, arguments, var=var): + var = Scope({u'this':this, u'$trim':PyJsArg_247472696d_, u'arguments':arguments}, var) + var.registers([u'$trim']) + @Js + def PyJs_trimLeft_1760_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'trimLeft':PyJs_trimLeft_1760_}, var) + var.registers([]) + return var.get(u'$trim')(var.get(u"this"), Js(1.0)) + PyJs_trimLeft_1760_._set_name(u'trimLeft') + return PyJs_trimLeft_1760_ + PyJs_anonymous_1759_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-trim'))(Js(u'trimLeft'), PyJs_anonymous_1759_, Js(u'trimStart')) +PyJs_anonymous_1758_._set_name(u'anonymous') +PyJs_Object_1761_ = Js({u'./_string-trim':Js(117.0)}) +@Js +def PyJs_anonymous_1762_(require, module, exports, this, 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_1763_(PyJsArg_247472696d_, this, arguments, var=var): + var = Scope({u'this':this, u'$trim':PyJsArg_247472696d_, u'arguments':arguments}, var) + var.registers([u'$trim']) + @Js + def PyJs_trimRight_1764_(this, arguments, var=var): + var = Scope({u'this':this, u'trimRight':PyJs_trimRight_1764_, u'arguments':arguments}, var) + var.registers([]) + return var.get(u'$trim')(var.get(u"this"), Js(2.0)) + PyJs_trimRight_1764_._set_name(u'trimRight') + return PyJs_trimRight_1764_ + PyJs_anonymous_1763_._set_name(u'anonymous') + var.get(u'require')(Js(u'./_string-trim'))(Js(u'trimRight'), PyJs_anonymous_1763_, Js(u'trimEnd')) +PyJs_anonymous_1762_._set_name(u'anonymous') +PyJs_Object_1765_ = Js({u'./_string-trim':Js(117.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'require', u'exports', u'module']) + var.get(u'require')(Js(u'./_wks-define'))(Js(u'asyncIterator')) +PyJs_anonymous_1766_._set_name(u'anonymous') +PyJs_Object_1767_ = Js({u'./_wks-define':Js(133.0)}) +@Js +def PyJs_anonymous_1768_(require, module, exports, this, 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_1768_._set_name(u'anonymous') +PyJs_Object_1769_ = Js({u'./_wks-define':Js(133.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'$export', u'require', u'exports', u'module']) + var.put(u'$export', var.get(u'require')(Js(u'./_export'))) + PyJs_Object_1771_ = Js({u'global':var.get(u'require')(Js(u'./_global'))}) + var.get(u'$export')(var.get(u'$export').get(u'S'), Js(u'System'), PyJs_Object_1771_) +PyJs_anonymous_1770_._set_name(u'anonymous') +PyJs_Object_1772_ = Js({u'./_export':Js(42.0),u'./_global':Js(49.0)}) +@Js +def PyJs_anonymous_1773_(require, module, exports, this, 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'./_set-collection-from'))(Js(u'WeakMap')) +PyJs_anonymous_1773_._set_name(u'anonymous') +PyJs_Object_1774_ = Js({u'./_set-collection-from':Js(103.0)}) +@Js +def PyJs_anonymous_1775_(require, module, exports, this, 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'./_set-collection-of'))(Js(u'WeakMap')) +PyJs_anonymous_1775_._set_name(u'anonymous') +PyJs_Object_1776_ = Js({u'./_set-collection-of':Js(104.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'require', u'exports', u'module']) + var.get(u'require')(Js(u'./_set-collection-from'))(Js(u'WeakSet')) +PyJs_anonymous_1777_._set_name(u'anonymous') +PyJs_Object_1778_ = Js({u'./_set-collection-from':Js(103.0)}) +@Js +def PyJs_anonymous_1779_(require, module, exports, this, 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'./_set-collection-of'))(Js(u'WeakSet')) +PyJs_anonymous_1779_._set_name(u'anonymous') +PyJs_Object_1780_ = Js({u'./_set-collection-of':Js(104.0)}) +@Js +def PyJs_anonymous_1781_(require, module, exports, this, 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'redefine', u'hide', u'NAME', u'ITERATOR', u'DOMIterables', u'i', u'proto', u'require', u'global', u'explicit', u'exports', u'Collection', u'getKeys', u'Iterators', u'collections', u'module', u'key', u'wks', u'ArrayValues', u'$iterators']) + var.put(u'$iterators', var.get(u'require')(Js(u'./es6.array.iterator'))) + var.put(u'getKeys', var.get(u'require')(Js(u'./_object-keys'))) + var.put(u'redefine', var.get(u'require')(Js(u'./_redefine'))) + 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'wks', var.get(u'require')(Js(u'./_wks'))) + var.put(u'ITERATOR', var.get(u'wks')(Js(u'iterator'))) + var.put(u'TO_STRING_TAG', var.get(u'wks')(Js(u'toStringTag'))) + var.put(u'ArrayValues', var.get(u'Iterators').get(u'Array')) + PyJs_Object_1782_ = Js({u'CSSRuleList':Js(True),u'CSSStyleDeclaration':Js(False),u'CSSValueList':Js(False),u'ClientRectList':Js(False),u'DOMRectList':Js(False),u'DOMStringList':Js(False),u'DOMTokenList':Js(True),u'DataTransferItemList':Js(False),u'FileList':Js(False),u'HTMLAllCollection':Js(False),u'HTMLCollection':Js(False),u'HTMLFormElement':Js(False),u'HTMLSelectElement':Js(False),u'MediaList':Js(True),u'MimeTypeArray':Js(False),u'NamedNodeMap':Js(False),u'NodeList':Js(True),u'PaintRequestList':Js(False),u'Plugin':Js(False),u'PluginArray':Js(False),u'SVGLengthList':Js(False),u'SVGNumberList':Js(False),u'SVGPathSegList':Js(False),u'SVGPointList':Js(False),u'SVGStringList':Js(False),u'SVGTransformList':Js(False),u'SourceBufferList':Js(False),u'StyleSheetList':Js(True),u'TextTrackCueList':Js(False),u'TextTrackList':Js(False),u'TouchList':Js(False)}) + var.put(u'DOMIterables', PyJs_Object_1782_) + #for JS loop + var.put(u'collections', var.get(u'getKeys')(var.get(u'DOMIterables'))) + var.put(u'i', Js(0.0)) + while (var.get(u'i')Js(2.0))) + var.put(u'args', (var.get(u'slice').callprop(u'call', var.get(u'arguments'), Js(2.0)) if var.get(u'boundArgs') else Js(False))) + @Js + def PyJs_anonymous_1790_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + (var.get(u'fn') if (var.get(u'fn',throw=False).typeof()==Js(u'function')) else var.get(u'Function')(var.get(u'fn'))).callprop(u'apply', var.get(u"this"), var.get(u'args')) + PyJs_anonymous_1790_._set_name(u'anonymous') + return var.get(u'set')((PyJs_anonymous_1790_ if var.get(u'boundArgs') else var.get(u'fn')), var.get(u'time')) + PyJs_anonymous_1789_._set_name(u'anonymous') + return PyJs_anonymous_1789_ + PyJs_wrap_1788_._set_name(u'wrap') + var.put(u'wrap', PyJs_wrap_1788_) + PyJs_Object_1791_ = Js({u'setTimeout':var.get(u'wrap')(var.get(u'global').get(u'setTimeout')),u'setInterval':var.get(u'wrap')(var.get(u'global').get(u'setInterval'))}) + var.get(u'$export')(((var.get(u'$export').get(u'G')+var.get(u'$export').get(u'B'))+(var.get(u'$export').get(u'F')*var.get(u'MSIE'))), PyJs_Object_1791_) +PyJs_anonymous_1787_._set_name(u'anonymous') +PyJs_Object_1792_ = Js({u'./_export':Js(42.0),u'./_global':Js(49.0),u'./_user-agent':Js(131.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']) + var.get(u'require')(Js(u'./modules/es6.symbol')) + var.get(u'require')(Js(u'./modules/es6.object.create')) + var.get(u'require')(Js(u'./modules/es6.object.define-property')) + var.get(u'require')(Js(u'./modules/es6.object.define-properties')) + var.get(u'require')(Js(u'./modules/es6.object.get-own-property-descriptor')) + var.get(u'require')(Js(u'./modules/es6.object.get-prototype-of')) + var.get(u'require')(Js(u'./modules/es6.object.keys')) + var.get(u'require')(Js(u'./modules/es6.object.get-own-property-names')) + var.get(u'require')(Js(u'./modules/es6.object.freeze')) + var.get(u'require')(Js(u'./modules/es6.object.seal')) + var.get(u'require')(Js(u'./modules/es6.object.prevent-extensions')) + var.get(u'require')(Js(u'./modules/es6.object.is-frozen')) + var.get(u'require')(Js(u'./modules/es6.object.is-sealed')) + var.get(u'require')(Js(u'./modules/es6.object.is-extensible')) + var.get(u'require')(Js(u'./modules/es6.object.assign')) + var.get(u'require')(Js(u'./modules/es6.object.is')) + var.get(u'require')(Js(u'./modules/es6.object.set-prototype-of')) + var.get(u'require')(Js(u'./modules/es6.object.to-string')) + var.get(u'require')(Js(u'./modules/es6.function.bind')) + var.get(u'require')(Js(u'./modules/es6.function.name')) + var.get(u'require')(Js(u'./modules/es6.function.has-instance')) + var.get(u'require')(Js(u'./modules/es6.parse-int')) + var.get(u'require')(Js(u'./modules/es6.parse-float')) + var.get(u'require')(Js(u'./modules/es6.number.constructor')) + var.get(u'require')(Js(u'./modules/es6.number.to-fixed')) + var.get(u'require')(Js(u'./modules/es6.number.to-precision')) + var.get(u'require')(Js(u'./modules/es6.number.epsilon')) + var.get(u'require')(Js(u'./modules/es6.number.is-finite')) + var.get(u'require')(Js(u'./modules/es6.number.is-integer')) + var.get(u'require')(Js(u'./modules/es6.number.is-nan')) + var.get(u'require')(Js(u'./modules/es6.number.is-safe-integer')) + var.get(u'require')(Js(u'./modules/es6.number.max-safe-integer')) + var.get(u'require')(Js(u'./modules/es6.number.min-safe-integer')) + var.get(u'require')(Js(u'./modules/es6.number.parse-float')) + var.get(u'require')(Js(u'./modules/es6.number.parse-int')) + var.get(u'require')(Js(u'./modules/es6.math.acosh')) + var.get(u'require')(Js(u'./modules/es6.math.asinh')) + var.get(u'require')(Js(u'./modules/es6.math.atanh')) + var.get(u'require')(Js(u'./modules/es6.math.cbrt')) + var.get(u'require')(Js(u'./modules/es6.math.clz32')) + var.get(u'require')(Js(u'./modules/es6.math.cosh')) + var.get(u'require')(Js(u'./modules/es6.math.expm1')) + var.get(u'require')(Js(u'./modules/es6.math.fround')) + var.get(u'require')(Js(u'./modules/es6.math.hypot')) + var.get(u'require')(Js(u'./modules/es6.math.imul')) + var.get(u'require')(Js(u'./modules/es6.math.log10')) + var.get(u'require')(Js(u'./modules/es6.math.log1p')) + var.get(u'require')(Js(u'./modules/es6.math.log2')) + var.get(u'require')(Js(u'./modules/es6.math.sign')) + var.get(u'require')(Js(u'./modules/es6.math.sinh')) + var.get(u'require')(Js(u'./modules/es6.math.tanh')) + var.get(u'require')(Js(u'./modules/es6.math.trunc')) + var.get(u'require')(Js(u'./modules/es6.string.from-code-point')) + var.get(u'require')(Js(u'./modules/es6.string.raw')) + var.get(u'require')(Js(u'./modules/es6.string.trim')) + var.get(u'require')(Js(u'./modules/es6.string.iterator')) + var.get(u'require')(Js(u'./modules/es6.string.code-point-at')) + var.get(u'require')(Js(u'./modules/es6.string.ends-with')) + var.get(u'require')(Js(u'./modules/es6.string.includes')) + var.get(u'require')(Js(u'./modules/es6.string.repeat')) + var.get(u'require')(Js(u'./modules/es6.string.starts-with')) + var.get(u'require')(Js(u'./modules/es6.string.anchor')) + var.get(u'require')(Js(u'./modules/es6.string.big')) + var.get(u'require')(Js(u'./modules/es6.string.blink')) + var.get(u'require')(Js(u'./modules/es6.string.bold')) + var.get(u'require')(Js(u'./modules/es6.string.fixed')) + var.get(u'require')(Js(u'./modules/es6.string.fontcolor')) + var.get(u'require')(Js(u'./modules/es6.string.fontsize')) + var.get(u'require')(Js(u'./modules/es6.string.italics')) + var.get(u'require')(Js(u'./modules/es6.string.link')) + var.get(u'require')(Js(u'./modules/es6.string.small')) + var.get(u'require')(Js(u'./modules/es6.string.strike')) + var.get(u'require')(Js(u'./modules/es6.string.sub')) + var.get(u'require')(Js(u'./modules/es6.string.sup')) + var.get(u'require')(Js(u'./modules/es6.date.now')) + var.get(u'require')(Js(u'./modules/es6.date.to-json')) + var.get(u'require')(Js(u'./modules/es6.date.to-iso-string')) + var.get(u'require')(Js(u'./modules/es6.date.to-string')) + var.get(u'require')(Js(u'./modules/es6.date.to-primitive')) + var.get(u'require')(Js(u'./modules/es6.array.is-array')) + var.get(u'require')(Js(u'./modules/es6.array.from')) + var.get(u'require')(Js(u'./modules/es6.array.of')) + var.get(u'require')(Js(u'./modules/es6.array.join')) + var.get(u'require')(Js(u'./modules/es6.array.slice')) + var.get(u'require')(Js(u'./modules/es6.array.sort')) + var.get(u'require')(Js(u'./modules/es6.array.for-each')) + var.get(u'require')(Js(u'./modules/es6.array.map')) + var.get(u'require')(Js(u'./modules/es6.array.filter')) + var.get(u'require')(Js(u'./modules/es6.array.some')) + var.get(u'require')(Js(u'./modules/es6.array.every')) + var.get(u'require')(Js(u'./modules/es6.array.reduce')) + var.get(u'require')(Js(u'./modules/es6.array.reduce-right')) + var.get(u'require')(Js(u'./modules/es6.array.index-of')) + var.get(u'require')(Js(u'./modules/es6.array.last-index-of')) + var.get(u'require')(Js(u'./modules/es6.array.copy-within')) + var.get(u'require')(Js(u'./modules/es6.array.fill')) + var.get(u'require')(Js(u'./modules/es6.array.find')) + var.get(u'require')(Js(u'./modules/es6.array.find-index')) + var.get(u'require')(Js(u'./modules/es6.array.species')) + var.get(u'require')(Js(u'./modules/es6.array.iterator')) + var.get(u'require')(Js(u'./modules/es6.regexp.constructor')) + var.get(u'require')(Js(u'./modules/es6.regexp.to-string')) + var.get(u'require')(Js(u'./modules/es6.regexp.flags')) + var.get(u'require')(Js(u'./modules/es6.regexp.match')) + var.get(u'require')(Js(u'./modules/es6.regexp.replace')) + var.get(u'require')(Js(u'./modules/es6.regexp.search')) + var.get(u'require')(Js(u'./modules/es6.regexp.split')) + var.get(u'require')(Js(u'./modules/es6.promise')) + var.get(u'require')(Js(u'./modules/es6.map')) + var.get(u'require')(Js(u'./modules/es6.set')) + var.get(u'require')(Js(u'./modules/es6.weak-map')) + var.get(u'require')(Js(u'./modules/es6.weak-set')) + var.get(u'require')(Js(u'./modules/es6.typed.array-buffer')) + var.get(u'require')(Js(u'./modules/es6.typed.data-view')) + var.get(u'require')(Js(u'./modules/es6.typed.int8-array')) + var.get(u'require')(Js(u'./modules/es6.typed.uint8-array')) + var.get(u'require')(Js(u'./modules/es6.typed.uint8-clamped-array')) + var.get(u'require')(Js(u'./modules/es6.typed.int16-array')) + var.get(u'require')(Js(u'./modules/es6.typed.uint16-array')) + var.get(u'require')(Js(u'./modules/es6.typed.int32-array')) + var.get(u'require')(Js(u'./modules/es6.typed.uint32-array')) + var.get(u'require')(Js(u'./modules/es6.typed.float32-array')) + var.get(u'require')(Js(u'./modules/es6.typed.float64-array')) + var.get(u'require')(Js(u'./modules/es6.reflect.apply')) + var.get(u'require')(Js(u'./modules/es6.reflect.construct')) + var.get(u'require')(Js(u'./modules/es6.reflect.define-property')) + var.get(u'require')(Js(u'./modules/es6.reflect.delete-property')) + var.get(u'require')(Js(u'./modules/es6.reflect.enumerate')) + var.get(u'require')(Js(u'./modules/es6.reflect.get')) + var.get(u'require')(Js(u'./modules/es6.reflect.get-own-property-descriptor')) + var.get(u'require')(Js(u'./modules/es6.reflect.get-prototype-of')) + var.get(u'require')(Js(u'./modules/es6.reflect.has')) + var.get(u'require')(Js(u'./modules/es6.reflect.is-extensible')) + var.get(u'require')(Js(u'./modules/es6.reflect.own-keys')) + var.get(u'require')(Js(u'./modules/es6.reflect.prevent-extensions')) + var.get(u'require')(Js(u'./modules/es6.reflect.set')) + var.get(u'require')(Js(u'./modules/es6.reflect.set-prototype-of')) + var.get(u'require')(Js(u'./modules/es7.array.includes')) + var.get(u'require')(Js(u'./modules/es7.array.flat-map')) + var.get(u'require')(Js(u'./modules/es7.array.flatten')) + var.get(u'require')(Js(u'./modules/es7.string.at')) + var.get(u'require')(Js(u'./modules/es7.string.pad-start')) + var.get(u'require')(Js(u'./modules/es7.string.pad-end')) + var.get(u'require')(Js(u'./modules/es7.string.trim-left')) + var.get(u'require')(Js(u'./modules/es7.string.trim-right')) + var.get(u'require')(Js(u'./modules/es7.string.match-all')) + var.get(u'require')(Js(u'./modules/es7.symbol.async-iterator')) + var.get(u'require')(Js(u'./modules/es7.symbol.observable')) + var.get(u'require')(Js(u'./modules/es7.object.get-own-property-descriptors')) + var.get(u'require')(Js(u'./modules/es7.object.values')) + var.get(u'require')(Js(u'./modules/es7.object.entries')) + var.get(u'require')(Js(u'./modules/es7.object.define-getter')) + var.get(u'require')(Js(u'./modules/es7.object.define-setter')) + var.get(u'require')(Js(u'./modules/es7.object.lookup-getter')) + var.get(u'require')(Js(u'./modules/es7.object.lookup-setter')) + var.get(u'require')(Js(u'./modules/es7.map.to-json')) + var.get(u'require')(Js(u'./modules/es7.set.to-json')) + var.get(u'require')(Js(u'./modules/es7.map.of')) + var.get(u'require')(Js(u'./modules/es7.set.of')) + var.get(u'require')(Js(u'./modules/es7.weak-map.of')) + var.get(u'require')(Js(u'./modules/es7.weak-set.of')) + var.get(u'require')(Js(u'./modules/es7.map.from')) + var.get(u'require')(Js(u'./modules/es7.set.from')) + var.get(u'require')(Js(u'./modules/es7.weak-map.from')) + var.get(u'require')(Js(u'./modules/es7.weak-set.from')) + var.get(u'require')(Js(u'./modules/es7.global')) + var.get(u'require')(Js(u'./modules/es7.system.global')) + var.get(u'require')(Js(u'./modules/es7.error.is-error')) + var.get(u'require')(Js(u'./modules/es7.math.clamp')) + var.get(u'require')(Js(u'./modules/es7.math.deg-per-rad')) + var.get(u'require')(Js(u'./modules/es7.math.degrees')) + var.get(u'require')(Js(u'./modules/es7.math.fscale')) + var.get(u'require')(Js(u'./modules/es7.math.iaddh')) + var.get(u'require')(Js(u'./modules/es7.math.isubh')) + var.get(u'require')(Js(u'./modules/es7.math.imulh')) + var.get(u'require')(Js(u'./modules/es7.math.rad-per-deg')) + var.get(u'require')(Js(u'./modules/es7.math.radians')) + var.get(u'require')(Js(u'./modules/es7.math.scale')) + var.get(u'require')(Js(u'./modules/es7.math.umulh')) + var.get(u'require')(Js(u'./modules/es7.math.signbit')) + var.get(u'require')(Js(u'./modules/es7.promise.finally')) + var.get(u'require')(Js(u'./modules/es7.promise.try')) + var.get(u'require')(Js(u'./modules/es7.reflect.define-metadata')) + var.get(u'require')(Js(u'./modules/es7.reflect.delete-metadata')) + var.get(u'require')(Js(u'./modules/es7.reflect.get-metadata')) + var.get(u'require')(Js(u'./modules/es7.reflect.get-metadata-keys')) + var.get(u'require')(Js(u'./modules/es7.reflect.get-own-metadata')) + var.get(u'require')(Js(u'./modules/es7.reflect.get-own-metadata-keys')) + var.get(u'require')(Js(u'./modules/es7.reflect.has-metadata')) + var.get(u'require')(Js(u'./modules/es7.reflect.has-own-metadata')) + var.get(u'require')(Js(u'./modules/es7.reflect.metadata')) + var.get(u'require')(Js(u'./modules/es7.asap')) + var.get(u'require')(Js(u'./modules/es7.observable')) + var.get(u'require')(Js(u'./modules/web.timers')) + var.get(u'require')(Js(u'./modules/web.immediate')) + var.get(u'require')(Js(u'./modules/web.dom.iterable')) + var.get(u'module').put(u'exports', var.get(u'require')(Js(u'./modules/_core'))) +PyJs_anonymous_1793_._set_name(u'anonymous') +PyJs_Object_1794_ = Js({u'./modules/_core':Js(32.0),u'./modules/es6.array.copy-within':Js(138.0),u'./modules/es6.array.every':Js(139.0),u'./modules/es6.array.fill':Js(140.0),u'./modules/es6.array.filter':Js(141.0),u'./modules/es6.array.find':Js(143.0),u'./modules/es6.array.find-index':Js(142.0),u'./modules/es6.array.for-each':Js(144.0),u'./modules/es6.array.from':Js(145.0),u'./modules/es6.array.index-of':Js(146.0),u'./modules/es6.array.is-array':Js(147.0),u'./modules/es6.array.iterator':Js(148.0),u'./modules/es6.array.join':Js(149.0),u'./modules/es6.array.last-index-of':Js(150.0),u'./modules/es6.array.map':Js(151.0),u'./modules/es6.array.of':Js(152.0),u'./modules/es6.array.reduce':Js(154.0),u'./modules/es6.array.reduce-right':Js(153.0),u'./modules/es6.array.slice':Js(155.0),u'./modules/es6.array.some':Js(156.0),u'./modules/es6.array.sort':Js(157.0),u'./modules/es6.array.species':Js(158.0),u'./modules/es6.date.now':Js(159.0),u'./modules/es6.date.to-iso-string':Js(160.0),u'./modules/es6.date.to-json':Js(161.0),u'./modules/es6.date.to-primitive':Js(162.0),u'./modules/es6.date.to-string':Js(163.0),u'./modules/es6.function.bind':Js(164.0),u'./modules/es6.function.has-instance':Js(165.0),u'./modules/es6.function.name':Js(166.0),u'./modules/es6.map':Js(167.0),u'./modules/es6.math.acosh':Js(168.0),u'./modules/es6.math.asinh':Js(169.0),u'./modules/es6.math.atanh':Js(170.0),u'./modules/es6.math.cbrt':Js(171.0),u'./modules/es6.math.clz32':Js(172.0),u'./modules/es6.math.cosh':Js(173.0),u'./modules/es6.math.expm1':Js(174.0),u'./modules/es6.math.fround':Js(175.0),u'./modules/es6.math.hypot':Js(176.0),u'./modules/es6.math.imul':Js(177.0),u'./modules/es6.math.log10':Js(178.0),u'./modules/es6.math.log1p':Js(179.0),u'./modules/es6.math.log2':Js(180.0),u'./modules/es6.math.sign':Js(181.0),u'./modules/es6.math.sinh':Js(182.0),u'./modules/es6.math.tanh':Js(183.0),u'./modules/es6.math.trunc':Js(184.0),u'./modules/es6.number.constructor':Js(185.0),u'./modules/es6.number.epsilon':Js(186.0),u'./modules/es6.number.is-finite':Js(187.0),u'./modules/es6.number.is-integer':Js(188.0),u'./modules/es6.number.is-nan':Js(189.0),u'./modules/es6.number.is-safe-integer':Js(190.0),u'./modules/es6.number.max-safe-integer':Js(191.0),u'./modules/es6.number.min-safe-integer':Js(192.0),u'./modules/es6.number.parse-float':Js(193.0),u'./modules/es6.number.parse-int':Js(194.0),u'./modules/es6.number.to-fixed':Js(195.0),u'./modules/es6.number.to-precision':Js(196.0),u'./modules/es6.object.assign':Js(197.0),u'./modules/es6.object.create':Js(198.0),u'./modules/es6.object.define-properties':Js(199.0),u'./modules/es6.object.define-property':Js(200.0),u'./modules/es6.object.freeze':Js(201.0),u'./modules/es6.object.get-own-property-descriptor':Js(202.0),u'./modules/es6.object.get-own-property-names':Js(203.0),u'./modules/es6.object.get-prototype-of':Js(204.0),u'./modules/es6.object.is':Js(208.0),u'./modules/es6.object.is-extensible':Js(205.0),u'./modules/es6.object.is-frozen':Js(206.0),u'./modules/es6.object.is-sealed':Js(207.0),u'./modules/es6.object.keys':Js(209.0),u'./modules/es6.object.prevent-extensions':Js(210.0),u'./modules/es6.object.seal':Js(211.0),u'./modules/es6.object.set-prototype-of':Js(212.0),u'./modules/es6.object.to-string':Js(213.0),u'./modules/es6.parse-float':Js(214.0),u'./modules/es6.parse-int':Js(215.0),u'./modules/es6.promise':Js(216.0),u'./modules/es6.reflect.apply':Js(217.0),u'./modules/es6.reflect.construct':Js(218.0),u'./modules/es6.reflect.define-property':Js(219.0),u'./modules/es6.reflect.delete-property':Js(220.0),u'./modules/es6.reflect.enumerate':Js(221.0),u'./modules/es6.reflect.get':Js(224.0),u'./modules/es6.reflect.get-own-property-descriptor':Js(222.0),u'./modules/es6.reflect.get-prototype-of':Js(223.0),u'./modules/es6.reflect.has':Js(225.0),u'./modules/es6.reflect.is-extensible':Js(226.0),u'./modules/es6.reflect.own-keys':Js(227.0),u'./modules/es6.reflect.prevent-extensions':Js(228.0),u'./modules/es6.reflect.set':Js(230.0),u'./modules/es6.reflect.set-prototype-of':Js(229.0),u'./modules/es6.regexp.constructor':Js(231.0),u'./modules/es6.regexp.flags':Js(232.0),u'./modules/es6.regexp.match':Js(233.0),u'./modules/es6.regexp.replace':Js(234.0),u'./modules/es6.regexp.search':Js(235.0),u'./modules/es6.regexp.split':Js(236.0),u'./modules/es6.regexp.to-string':Js(237.0),u'./modules/es6.set':Js(238.0),u'./modules/es6.string.anchor':Js(239.0),u'./modules/es6.string.big':Js(240.0),u'./modules/es6.string.blink':Js(241.0),u'./modules/es6.string.bold':Js(242.0),u'./modules/es6.string.code-point-at':Js(243.0),u'./modules/es6.string.ends-with':Js(244.0),u'./modules/es6.string.fixed':Js(245.0),u'./modules/es6.string.fontcolor':Js(246.0),u'./modules/es6.string.fontsize':Js(247.0),u'./modules/es6.string.from-code-point':Js(248.0),u'./modules/es6.string.includes':Js(249.0),u'./modules/es6.string.italics':Js(250.0),u'./modules/es6.string.iterator':Js(251.0),u'./modules/es6.string.link':Js(252.0),u'./modules/es6.string.raw':Js(253.0),u'./modules/es6.string.repeat':Js(254.0),u'./modules/es6.string.small':Js(255.0),u'./modules/es6.string.starts-with':Js(256.0),u'./modules/es6.string.strike':Js(257.0),u'./modules/es6.string.sub':Js(258.0),u'./modules/es6.string.sup':Js(259.0),u'./modules/es6.string.trim':Js(260.0),u'./modules/es6.symbol':Js(261.0),u'./modules/es6.typed.array-buffer':Js(262.0),u'./modules/es6.typed.data-view':Js(263.0),u'./modules/es6.typed.float32-array':Js(264.0),u'./modules/es6.typed.float64-array':Js(265.0),u'./modules/es6.typed.int16-array':Js(266.0),u'./modules/es6.typed.int32-array':Js(267.0),u'./modules/es6.typed.int8-array':Js(268.0),u'./modules/es6.typed.uint16-array':Js(269.0),u'./modules/es6.typed.uint32-array':Js(270.0),u'./modules/es6.typed.uint8-array':Js(271.0),u'./modules/es6.typed.uint8-clamped-array':Js(272.0),u'./modules/es6.weak-map':Js(273.0),u'./modules/es6.weak-set':Js(274.0),u'./modules/es7.array.flat-map':Js(275.0),u'./modules/es7.array.flatten':Js(276.0),u'./modules/es7.array.includes':Js(277.0),u'./modules/es7.asap':Js(278.0),u'./modules/es7.error.is-error':Js(279.0),u'./modules/es7.global':Js(280.0),u'./modules/es7.map.from':Js(281.0),u'./modules/es7.map.of':Js(282.0),u'./modules/es7.map.to-json':Js(283.0),u'./modules/es7.math.clamp':Js(284.0),u'./modules/es7.math.deg-per-rad':Js(285.0),u'./modules/es7.math.degrees':Js(286.0),u'./modules/es7.math.fscale':Js(287.0),u'./modules/es7.math.iaddh':Js(288.0),u'./modules/es7.math.imulh':Js(289.0),u'./modules/es7.math.isubh':Js(290.0),u'./modules/es7.math.rad-per-deg':Js(291.0),u'./modules/es7.math.radians':Js(292.0),u'./modules/es7.math.scale':Js(293.0),u'./modules/es7.math.signbit':Js(294.0),u'./modules/es7.math.umulh':Js(295.0),u'./modules/es7.object.define-getter':Js(296.0),u'./modules/es7.object.define-setter':Js(297.0),u'./modules/es7.object.entries':Js(298.0),u'./modules/es7.object.get-own-property-descriptors':Js(299.0),u'./modules/es7.object.lookup-getter':Js(300.0),u'./modules/es7.object.lookup-setter':Js(301.0),u'./modules/es7.object.values':Js(302.0),u'./modules/es7.observable':Js(303.0),u'./modules/es7.promise.finally':Js(304.0),u'./modules/es7.promise.try':Js(305.0),u'./modules/es7.reflect.define-metadata':Js(306.0),u'./modules/es7.reflect.delete-metadata':Js(307.0),u'./modules/es7.reflect.get-metadata':Js(309.0),u'./modules/es7.reflect.get-metadata-keys':Js(308.0),u'./modules/es7.reflect.get-own-metadata':Js(311.0),u'./modules/es7.reflect.get-own-metadata-keys':Js(310.0),u'./modules/es7.reflect.has-metadata':Js(312.0),u'./modules/es7.reflect.has-own-metadata':Js(313.0),u'./modules/es7.reflect.metadata':Js(314.0),u'./modules/es7.set.from':Js(315.0),u'./modules/es7.set.of':Js(316.0),u'./modules/es7.set.to-json':Js(317.0),u'./modules/es7.string.at':Js(318.0),u'./modules/es7.string.match-all':Js(319.0),u'./modules/es7.string.pad-end':Js(320.0),u'./modules/es7.string.pad-start':Js(321.0),u'./modules/es7.string.trim-left':Js(322.0),u'./modules/es7.string.trim-right':Js(323.0),u'./modules/es7.symbol.async-iterator':Js(324.0),u'./modules/es7.symbol.observable':Js(325.0),u'./modules/es7.system.global':Js(326.0),u'./modules/es7.weak-map.from':Js(327.0),u'./modules/es7.weak-map.of':Js(328.0),u'./modules/es7.weak-set.from':Js(329.0),u'./modules/es7.weak-set.of':Js(330.0),u'./modules/web.dom.iterable':Js(331.0),u'./modules/web.immediate':Js(332.0),u'./modules/web.timers':Js(333.0)}) +@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'matchOperatorsRe', u'require', u'exports', u'module']) + Js(u'use strict') + var.put(u'matchOperatorsRe', JsRegExp(u'/[|\\\\{}()[\\]^$+*?.]/g')) + @Js + def PyJs_anonymous_1796_(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_1796_._set_name(u'anonymous') + var.get(u'module').put(u'exports', PyJs_anonymous_1796_) +PyJs_anonymous_1795_._set_name(u'anonymous') +PyJs_Object_1797_ = Js({}) +@Js +def PyJs_anonymous_1798_(require, module, exports, this, arguments, var=var): + var = Scope({u'this':this, u'require':require, u'exports':exports, u'module':module, u'arguments':arguments}, var) + var.registers([u'runClearTimeout', u'exports', u'cleanUpNextTick', u'currentQueue', u'Item', u'process', u'require', u'draining', u'module', u'drainQueue', u'queue', u'cachedClearTimeout', u'runTimeout', u'noop', u'defaultSetTimout', u'defaultClearTimeout', u'queueIndex', u'cachedSetTimeout']) + @Js + def PyJsHoisted_cleanUpNextTick_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + if (var.get(u'draining').neg() or var.get(u'currentQueue').neg()): + return var.get('undefined') + var.put(u'draining', Js(False)) + if var.get(u'currentQueue').get(u'length'): + var.put(u'queue', var.get(u'currentQueue').callprop(u'concat', var.get(u'queue'))) + else: + var.put(u'queueIndex', (-Js(1.0))) + if var.get(u'queue').get(u'length'): + var.get(u'drainQueue')() + PyJsHoisted_cleanUpNextTick_.func_name = u'cleanUpNextTick' + var.put(u'cleanUpNextTick', PyJsHoisted_cleanUpNextTick_) + @Js + def PyJsHoisted_runClearTimeout_(marker, this, arguments, var=var): + var = Scope({u'marker':marker, u'this':this, u'arguments':arguments}, var) + var.registers([u'marker']) + if PyJsStrictEq(var.get(u'cachedClearTimeout'),var.get(u'clearTimeout')): + return var.get(u'clearTimeout')(var.get(u'marker')) + if ((PyJsStrictEq(var.get(u'cachedClearTimeout'),var.get(u'defaultClearTimeout')) or var.get(u'cachedClearTimeout').neg()) and var.get(u'clearTimeout')): + var.put(u'cachedClearTimeout', var.get(u'clearTimeout')) + return var.get(u'clearTimeout')(var.get(u'marker')) + try: + return var.get(u'cachedClearTimeout')(var.get(u'marker')) + except PyJsException as PyJsTempException: + PyJsHolder_65_96188069 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + try: + return var.get(u'cachedClearTimeout').callprop(u'call', var.get(u"null"), var.get(u'marker')) + except PyJsException as PyJsTempException: + PyJsHolder_65_7577920 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + return var.get(u'cachedClearTimeout').callprop(u'call', var.get(u"this"), var.get(u'marker')) + finally: + if PyJsHolder_65_7577920 is not None: + var.own[u'e'] = PyJsHolder_65_7577920 + else: + del var.own[u'e'] + del PyJsHolder_65_7577920 + finally: + if PyJsHolder_65_96188069 is not None: + var.own[u'e'] = PyJsHolder_65_96188069 + else: + del var.own[u'e'] + del PyJsHolder_65_96188069 + PyJsHoisted_runClearTimeout_.func_name = u'runClearTimeout' + var.put(u'runClearTimeout', PyJsHoisted_runClearTimeout_) + @Js + def PyJsHoisted_Item_(fun, array, this, arguments, var=var): + var = Scope({u'fun':fun, u'this':this, u'array':array, u'arguments':arguments}, var) + var.registers([u'fun', u'array']) + var.get(u"this").put(u'fun', var.get(u'fun')) + var.get(u"this").put(u'array', var.get(u'array')) + PyJsHoisted_Item_.func_name = u'Item' + var.put(u'Item', PyJsHoisted_Item_) + @Js + def PyJsHoisted_runTimeout_(fun, this, arguments, var=var): + var = Scope({u'fun':fun, u'this':this, u'arguments':arguments}, var) + var.registers([u'fun']) + if PyJsStrictEq(var.get(u'cachedSetTimeout'),var.get(u'setTimeout')): + return var.get(u'setTimeout')(var.get(u'fun'), Js(0.0)) + if ((PyJsStrictEq(var.get(u'cachedSetTimeout'),var.get(u'defaultSetTimout')) or var.get(u'cachedSetTimeout').neg()) and var.get(u'setTimeout')): + var.put(u'cachedSetTimeout', var.get(u'setTimeout')) + return var.get(u'setTimeout')(var.get(u'fun'), Js(0.0)) + try: + return var.get(u'cachedSetTimeout')(var.get(u'fun'), Js(0.0)) + except PyJsException as PyJsTempException: + PyJsHolder_65_3564665 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + try: + return var.get(u'cachedSetTimeout').callprop(u'call', var.get(u"null"), var.get(u'fun'), Js(0.0)) + except PyJsException as PyJsTempException: + PyJsHolder_65_79351685 = var.own.get(u'e') + var.force_own_put(u'e', PyExceptionToJs(PyJsTempException)) + try: + return var.get(u'cachedSetTimeout').callprop(u'call', var.get(u"this"), var.get(u'fun'), Js(0.0)) + finally: + if PyJsHolder_65_79351685 is not None: + var.own[u'e'] = PyJsHolder_65_79351685 + else: + del var.own[u'e'] + del PyJsHolder_65_79351685 + finally: + if PyJsHolder_65_3564665 is not None: + var.own[u'e'] = PyJsHolder_65_3564665 + else: + del var.own[u'e'] + del PyJsHolder_65_3564665 + PyJsHoisted_runTimeout_.func_name = u'runTimeout' + var.put(u'runTimeout', PyJsHoisted_runTimeout_) + @Js + def PyJsHoisted_noop_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + pass + PyJsHoisted_noop_.func_name = u'noop' + var.put(u'noop', PyJsHoisted_noop_) + @Js + def PyJsHoisted_defaultSetTimout_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'setTimeout has not been defined'))) + raise PyJsTempException + PyJsHoisted_defaultSetTimout_.func_name = u'defaultSetTimout' + var.put(u'defaultSetTimout', PyJsHoisted_defaultSetTimout_) + @Js + def PyJsHoisted_defaultClearTimeout_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([]) + PyJsTempException = JsToPyException(var.get(u'Error').create(Js(u'clearTimeout has not been defined'))) + raise PyJsTempException + PyJsHoisted_defaultClearTimeout_.func_name = u'defaultClearTimeout' + var.put(u'defaultClearTimeout', PyJsHoisted_defaultClearTimeout_) + @Js + def PyJsHoisted_drainQueue_(this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments}, var) + var.registers([u'len', u'timeout']) + if var.get(u'draining'): + return var.get('undefined') + var.put(u'timeout', var.get(u'runTimeout')(var.get(u'cleanUpNextTick'))) + var.put(u'draining', Js(True)) + var.put(u'len', var.get(u'queue').get(u'length')) + while var.get(u'len'): + var.put(u'currentQueue', var.get(u'queue')) + var.put(u'queue', Js([])) + while (var.put(u'queueIndex',Js(var.get(u'queueIndex').to_number())+Js(1))Js(1.0)): + #for JS loop + var.put(u'i', Js(1.0)) + while (var.get(u'i')Js(6.0)) and ((var.get(u'ksRow')%var.get(u'keySize'))==Js(4.0))): + var.put(u't', ((((var.get(u'SBOX').get(PyJsBshift(var.get(u't'),Js(24.0)))<>Js(16)))&var.get(u'mask'))) + var.put(u'm_w', (((Js(18000)*(var.get(u'm_w')&Js(65535)))+(var.get(u'm_w')>>Js(16)))&var.get(u'mask'))) + var.put(u'result', (((var.get(u'm_z')<Js(0.5)) else (-Js(1.0)))) + PyJs_anonymous_99_._set_name(u'anonymous') + return PyJs_anonymous_99_ + PyJs_r_98_._set_name(u'r') + var.put(u'r', PyJs_r_98_) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')var.get(u'hasherBlockSizeBytes')): + var.put(u'key', var.get(u'hasher').callprop(u'finalize', var.get(u'key'))) + var.get(u'key').callprop(u'clamp') + var.put(u'oKey', var.get(u"this").put(u'_oKey', var.get(u'key').callprop(u'clone'))) + var.put(u'iKey', var.get(u"this").put(u'_iKey', var.get(u'key').callprop(u'clone'))) + var.put(u'oKeyWords', var.get(u'oKey').get(u'words')) + var.put(u'iKeyWords', var.get(u'iKey').get(u'words')) + #for JS loop + var.put(u'i', Js(0.0)) + while (var.get(u'i')>Js(24.0))&Js(255)),Js(255)): + var.put(u'b1', ((var.get(u'word')>>Js(16.0))&Js(255))) + var.put(u'b2', ((var.get(u'word')>>Js(8.0))&Js(255))) + var.put(u'b3', (var.get(u'word')&Js(255))) + if PyJsStrictEq(var.get(u'b1'),Js(255)): + var.put(u'b1', Js(0.0)) + if PyJsStrictEq(var.get(u'b2'),Js(255)): + var.put(u'b2', Js(0.0)) + if PyJsStrictEq(var.get(u'b3'),Js(255)): + var.put(u'b3', Js(0.0)) + else: + var.put(u'b3',Js(var.get(u'b3').to_number())+Js(1)) + else: + var.put(u'b2',Js(var.get(u'b2').to_number())+Js(1)) + else: + var.put(u'b1',Js(var.get(u'b1').to_number())+Js(1)) + var.put(u'word', Js(0.0)) + var.put(u'word', (var.get(u'b1')<Js(0.0)): + try: + var.get(u'generateKeystreamWord').callprop(u'call', var.get(u"this")) + finally: + (var.put(u'i',Js(var.get(u'i').to_number())-Js(1))+Js(1)) + PyJs__doReset_311_._set_name(u'_doReset') + PyJs_Object_309_ = Js({u'cfg':var.get(u'RC4').get(u'cfg').callprop(u'extend', PyJs_Object_310_),u'_doReset':PyJs__doReset_311_}) + var.put(u'RC4Drop', var.get(u'C_algo').put(u'RC4Drop', var.get(u'RC4').callprop(u'extend', PyJs_Object_309_))) + var.get(u'C').put(u'RC4Drop', var.get(u'StreamCipher').callprop(u'_createHelper', var.get(u'RC4Drop'))) + PyJs_anonymous_305_._set_name(u'anonymous') + PyJs_anonymous_305_() + return var.get(u'CryptoJS').get(u'RC4') + PyJs_anonymous_304_._set_name(u'anonymous') + @Js + def PyJs_anonymous_312_(root, factory, undef, this, arguments, var=var): + var = Scope({u'this':this, u'undef':undef, u'root':root, u'factory':factory, u'arguments':arguments}, var) + var.registers([u'undef', u'root', u'factory']) + if PyJsStrictEq((Js(u'undefined') if PyJsStrictEq(var.get(u'exports',throw=False).typeof(),Js(u'undefined')) else var.get(u'_typeof')(var.get(u'exports'))),Js(u'object')): + var.get(u'module').put(u'exports', var.put(u'exports', var.get(u'factory')(var.get(u'require')(Js(u'./core')), var.get(u'require')(Js(u'./enc-base64')), var.get(u'require')(Js(u'./md5')), var.get(u'require')(Js(u'./evpkdf')), var.get(u'require')(Js(u'./cipher-core'))))) + else: + if (PyJsStrictEq(var.get(u'define',throw=False).typeof(),Js(u'function')) and var.get(u'define').get(u'amd')): + var.get(u'define')(Js([Js(u'./core'), Js(u'./enc-base64'), Js(u'./md5'), Js(u'./evpkdf'), Js(u'./cipher-core')]), var.get(u'factory')) + else: + var.get(u'factory')(var.get(u'root').get(u'CryptoJS')) + PyJs_anonymous_312_._set_name(u'anonymous') + PyJs_anonymous_312_(var.get(u"this"), PyJs_anonymous_304_) +PyJs_anonymous_303_._set_name(u'anonymous') +PyJs_Object_313_ = Js({u'./cipher-core':Js(2.0),u'./core':Js(3.0),u'./enc-base64':Js(4.0),u'./evpkdf':Js(6.0),u'./md5':Js(11.0)}) +@Js +def PyJs_anonymous_314_(require, module, exports, this, 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 + @Js + def PyJs_anonymous_315_(CryptoJS, this, arguments, var=var): + var = Scope({u'this':this, u'CryptoJS':CryptoJS, u'arguments':arguments}, var) + var.registers([u'CryptoJS']) + @Js + def PyJs_anonymous_316_(Math, this, arguments, var=var): + var = Scope({u'this':this, u'arguments':arguments, u'Math':Math}, var) + var.registers([u'f1', u'C', u'_sr', u'_zr', u'_sl', u'f2', u'C_lib', u'rotl', u'_hl', u'C_algo', u'f3', u'_hr', u'WordArray', u'f4', u'_zl', u'Hasher', u'RIPEMD160', u'Math', u'f5']) + @Js + def PyJsHoisted_f1_(x, y, z, this, arguments, var=var): + var = Scope({u'y':y, u'x':x, u'z':z, u'this':this, u'arguments':arguments}, var) + var.registers([u'y', u'x', u'z']) + return ((var.get(u'x')^var.get(u'y'))^var.get(u'z')) + PyJsHoisted_f1_.func_name = u'f1' + var.put(u'f1', PyJsHoisted_f1_) + @Js + def PyJsHoisted_f2_(x, y, z, this, arguments, var=var): + var = Scope({u'y':y, u'x':x, u'z':z, u'this':this, u'arguments':arguments}, var) + var.registers([u'y', u'x', u'z']) + return ((var.get(u'x')&var.get(u'y'))|((~var.get(u'x'))&var.get(u'z'))) + PyJsHoisted_f2_.func_name = u'f2' + var.put(u'f2', PyJsHoisted_f2_) + @Js + def PyJsHoisted_f3_(x, y, z, this, arguments, var=var): + var = Scope({u'y':y, u'x':x, u'z':z, u'this':this, u'arguments':arguments}, var) + var.registers([u'y', u'x', u'z']) + return ((var.get(u'x')|(~var.get(u'y')))^var.get(u'z')) + PyJsHoisted_f3_.func_name = u'f3' + var.put(u'f3', PyJsHoisted_f3_) + @Js + def PyJsHoisted_f4_(x, y, z, this, arguments, var=var): + var = Scope({u'y':y, u'x':x, u'z':z, u'this':this, u'arguments':arguments}, var) + var.registers([u'y', u'x', u'z']) + return ((var.get(u'x')&var.get(u'z'))|(var.get(u'y')&(~var.get(u'z')))) + PyJsHoisted_f4_.func_name = u'f4' + var.put(u'f4', PyJsHoisted_f4_) + @Js + def PyJsHoisted_f5_(x, y, z, this, arguments, var=var): + var = Scope({u'y':y, u'x':x, u'z':z, u'this':this, u'arguments':arguments}, var) + var.registers([u'y', u'x', u'z']) + return (var.get(u'x')^(var.get(u'y')|(~var.get(u'z')))) + PyJsHoisted_f5_.func_name = u'f5' + var.put(u'f5', PyJsHoisted_f5_) + @Js + def PyJsHoisted_rotl_(x, n, this, arguments, var=var): + var = Scope({u'this':this, u'x':x, u'arguments':arguments, u'n':n}, var) + var.registers([u'x', u'n']) + return ((var.get(u'x')<Js(0.0)): + try: + if (var.get('num')&Js(1.0)): + var.put('result', var.get('str'), '+') + finally: + PyJsComma(var.put('num', Js(1.0), '>>>'),var.put('str', var.get('str'), '+')) + return var.get('result') + PyJsHoisted_stringRepeat_.func_name = 'stringRepeat' + var.put('stringRepeat', PyJsHoisted_stringRepeat_) + @Js + def PyJsHoisted_hasLineTerminator_(str, this, arguments, var=var): + var = Scope({'str':str, 'this':this, 'arguments':arguments}, var) + var.registers(['str']) + return JsRegExp('/[\\r\\n]/g').callprop('test', var.get('str')) + PyJsHoisted_hasLineTerminator_.func_name = 'hasLineTerminator' + var.put('hasLineTerminator', PyJsHoisted_hasLineTerminator_) + @Js + def PyJsHoisted_endsWithLineTerminator_(str, this, arguments, var=var): + var = Scope({'str':str, 'this':this, 'arguments':arguments}, var) + var.registers(['str', 'len']) + var.put('len', var.get('str').get('length')) + return (var.get('len') and var.get('esutils').get('code').callprop('isLineTerminator', var.get('str').callprop('charCodeAt', (var.get('len')-Js(1.0))))) + PyJsHoisted_endsWithLineTerminator_.func_name = 'endsWithLineTerminator' + var.put('endsWithLineTerminator', PyJsHoisted_endsWithLineTerminator_) + @Js + def PyJsHoisted_merge_(target, override, this, arguments, var=var): + var = Scope({'target':target, 'override':override, 'this':this, 'arguments':arguments}, var) + var.registers(['key', 'target', 'override']) + pass + for PyJsTemp in var.get('override'): + var.put('key', PyJsTemp) + if var.get('override').callprop('hasOwnProperty', var.get('key')): + var.get('target').put(var.get('key'), var.get('override').get(var.get('key'))) + return var.get('target') + PyJsHoisted_merge_.func_name = 'merge' + var.put('merge', PyJsHoisted_merge_) + @Js + def PyJsHoisted_updateDeeply_(target, override, this, arguments, var=var): + var = Scope({'target':target, 'override':override, 'this':this, 'arguments':arguments}, var) + var.registers(['target', 'val', 'key', 'isHashObject', 'override']) + @Js + def PyJsHoisted_isHashObject_(target, this, arguments, var=var): + var = Scope({'target':target, 'this':this, 'arguments':arguments}, var) + var.registers(['target']) + return ((PyJsStrictEq((Js('undefined') if PyJsStrictEq(var.get('target',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('target'))),Js('object')) and var.get('target').instanceof(var.get('Object'))) and var.get('target').instanceof(var.get('RegExp')).neg()) + PyJsHoisted_isHashObject_.func_name = 'isHashObject' + var.put('isHashObject', PyJsHoisted_isHashObject_) + pass + pass + for PyJsTemp in var.get('override'): + var.put('key', PyJsTemp) + if var.get('override').callprop('hasOwnProperty', var.get('key')): + var.put('val', var.get('override').get(var.get('key'))) + if var.get('isHashObject')(var.get('val')): + if var.get('isHashObject')(var.get('target').get(var.get('key'))): + var.get('updateDeeply')(var.get('target').get(var.get('key')), var.get('val')) + else: + PyJs_Object_13_ = Js({}) + var.get('target').put(var.get('key'), var.get('updateDeeply')(PyJs_Object_13_, var.get('val'))) + else: + var.get('target').put(var.get('key'), var.get('val')) + return var.get('target') + PyJsHoisted_updateDeeply_.func_name = 'updateDeeply' + var.put('updateDeeply', PyJsHoisted_updateDeeply_) + @Js + def PyJsHoisted_generateNumber_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['pos', 'value', 'result', 'temp', 'point', 'exponent']) + pass + if PyJsStrictNeq(var.get('value'),var.get('value')): + PyJsTempException = JsToPyException(var.get('Error').create(Js('Numeric literal whose value is NaN'))) + raise PyJsTempException + if ((var.get('value')Js(0.0)): + var.put('exponent', (+var.get('temp').callprop('slice', (var.get('pos')+Js(1.0))))) + var.put('temp', var.get('temp').callprop('slice', Js(0.0), var.get('pos'))) + if (var.get('point')>=Js(0.0)): + var.put('exponent', ((var.get('temp').get('length')-var.get('point'))-Js(1.0)), '-') + var.put('temp', ((+(var.get('temp').callprop('slice', Js(0.0), var.get('point'))+var.get('temp').callprop('slice', (var.get('point')+Js(1.0)))))+Js(''))) + var.put('pos', Js(0.0)) + while PyJsStrictEq(var.get('temp').callprop('charCodeAt', ((var.get('temp').get('length')+var.get('pos'))-Js(1.0))),Js(48)): + var.put('pos',Js(var.get('pos').to_number())-Js(1)) + if PyJsStrictNeq(var.get('pos'),Js(0.0)): + var.put('exponent', var.get('pos'), '-') + var.put('temp', var.get('temp').callprop('slice', Js(0.0), var.get('pos'))) + if PyJsStrictNeq(var.get('exponent'),Js(0.0)): + var.put('temp', (Js('e')+var.get('exponent')), '+') + def PyJs_LONG_14_(var=var): + return (((var.get('temp').get('length')Js(1000000000000.0))) and PyJsStrictEq(var.get('Math').callprop('floor', var.get('value')),var.get('value'))) and (var.put('temp', (Js('0x')+var.get('value').callprop('toString', Js(16.0)))).get('length')Js(255))): + return ((Js('\\u')+Js('0000').callprop('slice', var.get('hex').get('length')))+var.get('hex')) + else: + if (PyJsStrictEq(var.get('code'),Js(0)) and var.get('esutils').get('code').callprop('isDecimalDigit', var.get('next')).neg()): + return Js('\\0') + else: + if PyJsStrictEq(var.get('code'),Js(11)): + return Js('\\x0B') + else: + return ((Js('\\x')+Js('00').callprop('slice', var.get('hex').get('length')))+var.get('hex')) + PyJsHoisted_escapeAllowedCharacter_.func_name = 'escapeAllowedCharacter' + var.put('escapeAllowedCharacter', PyJsHoisted_escapeAllowedCharacter_) + @Js + def PyJsHoisted_escapeDisallowedCharacter_(code, this, arguments, var=var): + var = Scope({'code':code, 'this':this, 'arguments':arguments}, var) + var.registers(['code']) + if PyJsStrictEq(var.get('code'),Js(92)): + return Js('\\\\') + if PyJsStrictEq(var.get('code'),Js(10)): + return Js('\\n') + if PyJsStrictEq(var.get('code'),Js(13)): + return Js('\\r') + if PyJsStrictEq(var.get('code'),Js(8232)): + return Js('\\u2028') + if PyJsStrictEq(var.get('code'),Js(8233)): + return Js('\\u2029') + PyJsTempException = JsToPyException(var.get('Error').create(Js('Incorrectly classified character'))) + raise PyJsTempException + PyJsHoisted_escapeDisallowedCharacter_.func_name = 'escapeDisallowedCharacter' + var.put('escapeDisallowedCharacter', PyJsHoisted_escapeDisallowedCharacter_) + @Js + def PyJsHoisted_escapeDirective_(str, this, arguments, var=var): + var = Scope({'str':str, 'this':this, 'arguments':arguments}, var) + var.registers(['str', 'code', 'i', 'iz', 'quote']) + pass + var.put('quote', (Js('"') if PyJsStrictEq(var.get('quotes'),Js('double')) else Js("'"))) + #for JS loop + PyJsComma(var.put('i', Js(0.0)),var.put('iz', var.get('str').get('length'))) + while (var.get('i')Js(126)))))): + var.put('result', var.get('escapeAllowedCharacter')(var.get('code'), var.get('str').callprop('charCodeAt', (var.get('i')+Js(1.0)))), '+') + continue + var.put('result', var.get('String').callprop('fromCharCode', var.get('code')), '+') + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + var.put('single', (PyJsStrictEq(var.get('quotes'),Js('double')) or (PyJsStrictEq(var.get('quotes'),Js('auto')) and (var.get('doubleQuotes')=Js(0.0)): + try: + if var.get('esutils').get('code').callprop('isLineTerminator', var.get('str').callprop('charCodeAt', var.get('i'))): + break + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + return ((var.get('str').get('length')-Js(1.0))-var.get('i')) + PyJsHoisted_calculateSpaces_.func_name = 'calculateSpaces' + var.put('calculateSpaces', PyJsHoisted_calculateSpaces_) + @Js + def PyJsHoisted_adjustMultilineComment_(value, specialBase, this, arguments, var=var): + var = Scope({'value':value, 'specialBase':specialBase, 'this':this, 'arguments':arguments}, var) + var.registers(['array', 'j', 'sn', 'value', 'spaces', 'line', 'i', 'len', 'previousBase', 'specialBase']) + pass + var.put('array', var.get('value').callprop('split', JsRegExp('/\\r\\n|[\\r\\n]/'))) + var.put('spaces', var.get('Number').get('MAX_VALUE')) + #for JS loop + PyJsComma(var.put('i', Js(1.0)),var.put('len', var.get('array').get('length'))) + while (var.get('i')var.get('j')): + var.put('spaces', var.get('j')) + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + if PyJsStrictNeq(var.get('specialBase',throw=False).typeof(),Js('undefined')): + var.put('previousBase', var.get('base')) + if PyJsStrictEq(var.get('array').get('1').get(var.get('spaces')),Js('*')): + var.put('specialBase', Js(' '), '+') + var.put('base', var.get('specialBase')) + else: + if (var.get('spaces')&Js(1.0)): + var.put('spaces',Js(var.get('spaces').to_number())-Js(1)) + var.put('previousBase', var.get('base')) + #for JS loop + PyJsComma(var.put('i', Js(1.0)),var.put('len', var.get('array').get('length'))) + while (var.get('i')Js(0.0))): + var.put('save', var.get('result')) + if var.get('preserveBlankLines'): + var.put('comment', var.get('stmt').get('leadingComments').get('0')) + var.put('result', Js([])) + var.put('extRange', var.get('comment').get('extendedRange')) + var.put('range', var.get('comment').get('range')) + var.put('prefix', var.get('sourceCode').callprop('substring', var.get('extRange').get('0'), var.get('range').get('0'))) + var.put('count', (var.get('prefix').callprop('match', JsRegExp('/\\n/g')) or Js([])).get('length')) + if (var.get('count')>Js(0.0)): + var.get('result').callprop('push', var.get('stringRepeat')(Js('\n'), var.get('count'))) + var.get('result').callprop('push', var.get('addIndent')(var.get('generateComment')(var.get('comment')))) + else: + var.get('result').callprop('push', var.get('prefix')) + var.get('result').callprop('push', var.get('generateComment')(var.get('comment'))) + var.put('prevRange', var.get('range')) + #for JS loop + PyJsComma(var.put('i', Js(1.0)),var.put('len', var.get('stmt').get('leadingComments').get('length'))) + while (var.get('i')Js(0.0)): + var.get('result').callprop('push', var.get('stringRepeat')(Js('\n'), var.get('count'))) + var.get('result').callprop('push', var.get('addIndent')(var.get('generateComment')(var.get('comment')))) + else: + var.get('result').callprop('push', var.get('prefix')) + var.get('result').callprop('push', var.get('generateComment')(var.get('comment'))) + else: + var.put('tailingToStatement', var.get('endsWithLineTerminator')(var.get('toSourceNodeWhenNeeded')(var.get('result')).callprop('toString')).neg()) + var.put('specialBase', var.get('stringRepeat')(Js(' '), var.get('calculateSpaces')(var.get('toSourceNodeWhenNeeded')(Js([var.get('base'), var.get('result'), var.get('indent')])).callprop('toString')))) + #for JS loop + PyJsComma(var.put('i', Js(0.0)),var.put('len', var.get('stmt').get('trailingComments').get('length'))) + while (var.get('i')':var.get('Precedence').get('Relational'),'<=':var.get('Precedence').get('Relational'),'>=':var.get('Precedence').get('Relational'),'in':var.get('Precedence').get('Relational'),'instanceof':var.get('Precedence').get('Relational'),'<<':var.get('Precedence').get('BitwiseSHIFT'),'>>':var.get('Precedence').get('BitwiseSHIFT'),'>>>':var.get('Precedence').get('BitwiseSHIFT'),'+':var.get('Precedence').get('Additive'),'-':var.get('Precedence').get('Additive'),'*':var.get('Precedence').get('Multiplicative'),'%':var.get('Precedence').get('Multiplicative'),'/':var.get('Precedence').get('Multiplicative')}) + var.put('BinaryPrecedence', PyJs_Object_8_) + var.put('F_ALLOW_IN', Js(1.0)) + var.put('F_ALLOW_CALL', (Js(1.0)<')) + if var.get('node').get('expression'): + var.get('result').callprop('push', var.get('space')) + var.put('expr', var.get(u"this").callprop('generateExpression', var.get('node').get('body'), var.get('Precedence').get('Assignment'), var.get('E_TTT'))) + if PyJsStrictEq(var.get('expr').callprop('toString').callprop('charAt', Js(0.0)),Js('{')): + var.put('expr', Js([Js('('), var.get('expr'), Js(')')])) + var.get('result').callprop('push', var.get('expr')) + else: + var.get('result').callprop('push', var.get(u"this").callprop('maybeBlock', var.get('node').get('body'), var.get('S_TTFF'))) + return var.get('result') + PyJs_anonymous_23_._set_name('anonymous') + var.get('CodeGenerator').get('prototype').put('generateFunctionBody', PyJs_anonymous_23_) + @Js + def PyJs_anonymous_24_(operator, stmt, flags, this, arguments, var=var): + var = Scope({'operator':operator, 'stmt':stmt, 'flags':flags, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'operator', 'that', 'stmt', 'flags']) + var.put('result', Js([(((Js('for')+var.get('space'))+((Js('await')+var.get('space')) if var.get('stmt').get('await') else Js('')))+Js('('))])) + var.put('that', var.get(u"this")) + @Js + def PyJs_anonymous_25_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + if PyJsStrictEq(var.get('stmt').get('left').get('type'),var.get('Syntax').get('VariableDeclaration')): + @Js + def PyJs_anonymous_26_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get('result').callprop('push', (var.get('stmt').get('left').get('kind')+var.get('noEmptySpace')())) + var.get('result').callprop('push', var.get('that').callprop('generateStatement', var.get('stmt').get('left').get('declarations').get('0'), var.get('S_FFFF'))) + PyJs_anonymous_26_._set_name('anonymous') + var.get('withIndent')(PyJs_anonymous_26_) + else: + var.get('result').callprop('push', var.get('that').callprop('generateExpression', var.get('stmt').get('left'), var.get('Precedence').get('Call'), var.get('E_TTT'))) + var.put('result', var.get('join')(var.get('result'), var.get('operator'))) + var.put('result', Js([var.get('join')(var.get('result'), var.get('that').callprop('generateExpression', var.get('stmt').get('right'), var.get('Precedence').get('Assignment'), var.get('E_TTT'))), Js(')')])) + PyJs_anonymous_25_._set_name('anonymous') + var.get('withIndent')(PyJs_anonymous_25_) + var.get('result').callprop('push', var.get(u"this").callprop('maybeBlock', var.get('stmt').get('body'), var.get('flags'))) + return var.get('result') + PyJs_anonymous_24_._set_name('anonymous') + var.get('CodeGenerator').get('prototype').put('generateIterationForStatement', PyJs_anonymous_24_) + @Js + def PyJs_anonymous_27_(expr, computed, this, arguments, var=var): + var = Scope({'expr':expr, 'computed':computed, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'expr', 'computed']) + var.put('result', Js([])) + if var.get('computed'): + var.get('result').callprop('push', Js('[')) + var.get('result').callprop('push', var.get(u"this").callprop('generateExpression', var.get('expr'), var.get('Precedence').get('Sequence'), var.get('E_TTT'))) + if var.get('computed'): + var.get('result').callprop('push', Js(']')) + return var.get('result') + PyJs_anonymous_27_._set_name('anonymous') + var.get('CodeGenerator').get('prototype').put('generatePropertyKey', PyJs_anonymous_27_) + @Js + def PyJs_anonymous_28_(left, right, operator, precedence, flags, this, arguments, var=var): + var = Scope({'left':left, 'right':right, 'operator':operator, 'precedence':precedence, 'flags':flags, 'this':this, 'arguments':arguments}, var) + var.registers(['right', 'precedence', 'operator', 'left', 'flags']) + if (var.get('Precedence').get('Assignment')Js(2.0)): + var.put('content', var.get('sourceCode').callprop('substring', (var.get('range').get('0')+Js(1.0)), (var.get('range').get('1')-Js(1.0)))) + if PyJsStrictEq(var.get('content').get('0'),Js('\n')): + var.put('result', Js([Js('{')])) + var.get('result').callprop('push', var.get('content')) + pass + var.put('bodyFlags', var.get('S_TFFF')) + if (var.get('flags')&var.get('F_FUNC_BODY')): + var.put('bodyFlags', var.get('F_DIRECTIVE_CTX'), '|') + #for JS loop + PyJsComma(var.put('i', Js(0.0)),var.put('iz', var.get('stmt').get('body').get('length'))) + while (var.get('i')Js(0.0)): + if (var.get('stmt').get('body').get((var.get('i')-Js(1.0))).get('trailingComments').neg() and var.get('stmt').get('body').get(var.get('i')).get('leadingComments').neg()): + var.get('generateBlankLines')(var.get('stmt').get('body').get((var.get('i')-Js(1.0))).get('range').get('1'), var.get('stmt').get('body').get(var.get('i')).get('range').get('0'), var.get('result')) + if PyJsStrictEq(var.get('i'),(var.get('iz')-Js(1.0))): + var.put('bodyFlags', var.get('F_SEMICOLON_OPT'), '|') + if (var.get('stmt').get('body').get(var.get('i')).get('leadingComments') and var.get('preserveBlankLines')): + var.put('fragment', var.get('that').callprop('generateStatement', var.get('stmt').get('body').get(var.get('i')), var.get('bodyFlags'))) + else: + var.put('fragment', var.get('addIndent')(var.get('that').callprop('generateStatement', var.get('stmt').get('body').get(var.get('i')), var.get('bodyFlags')))) + var.get('result').callprop('push', var.get('fragment')) + if var.get('endsWithLineTerminator')(var.get('toSourceNodeWhenNeeded')(var.get('fragment')).callprop('toString')).neg(): + if (var.get('preserveBlankLines') and (var.get('i')<(var.get('iz')-Js(1.0)))): + if var.get('stmt').get('body').get((var.get('i')+Js(1.0))).get('leadingComments').neg(): + var.get('result').callprop('push', var.get('newline')) + else: + var.get('result').callprop('push', var.get('newline')) + if var.get('preserveBlankLines'): + if PyJsStrictEq(var.get('i'),(var.get('iz')-Js(1.0))): + if var.get('stmt').get('body').get(var.get('i')).get('trailingComments').neg(): + var.get('generateBlankLines')(var.get('stmt').get('body').get(var.get('i')).get('range').get('1'), var.get('stmt').get('range').get('1'), var.get('result')) + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + PyJs_anonymous_32_._set_name('anonymous') + var.get('withIndent')(PyJs_anonymous_32_) + var.get('result').callprop('push', var.get('addIndent')(Js('}'))) + return var.get('result') + PyJs_BlockStatement_31_._set_name('BlockStatement') + @Js + def PyJs_BreakStatement_33_(stmt, flags, this, arguments, var=var): + var = Scope({'stmt':stmt, 'flags':flags, 'this':this, 'arguments':arguments, 'BreakStatement':PyJs_BreakStatement_33_}, var) + var.registers(['flags', 'stmt']) + if var.get('stmt').get('label'): + return ((Js('break ')+var.get('stmt').get('label').get('name'))+var.get(u"this").callprop('semicolon', var.get('flags'))) + return (Js('break')+var.get(u"this").callprop('semicolon', var.get('flags'))) + PyJs_BreakStatement_33_._set_name('BreakStatement') + @Js + def PyJs_ContinueStatement_34_(stmt, flags, this, arguments, var=var): + var = Scope({'stmt':stmt, 'flags':flags, 'this':this, 'arguments':arguments, 'ContinueStatement':PyJs_ContinueStatement_34_}, var) + var.registers(['flags', 'stmt']) + if var.get('stmt').get('label'): + return ((Js('continue ')+var.get('stmt').get('label').get('name'))+var.get(u"this").callprop('semicolon', var.get('flags'))) + return (Js('continue')+var.get(u"this").callprop('semicolon', var.get('flags'))) + PyJs_ContinueStatement_34_._set_name('ContinueStatement') + @Js + def PyJs_ClassBody_35_(stmt, flags, this, arguments, var=var): + var = Scope({'stmt':stmt, 'flags':flags, 'this':this, 'arguments':arguments, 'ClassBody':PyJs_ClassBody_35_}, var) + var.registers(['result', 'that', 'stmt', 'flags']) + var.put('result', Js([Js('{'), var.get('newline')])) + var.put('that', var.get(u"this")) + @Js + def PyJs_anonymous_36_(indent, this, arguments, var=var): + var = Scope({'indent':indent, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'indent', 'iz']) + pass + #for JS loop + PyJsComma(var.put('i', Js(0.0)),var.put('iz', var.get('stmt').get('body').get('length'))) + while (var.get('i')Js(1.0)): + var.get('withIndent')(var.get('block')) + else: + var.get('block')() + var.get('result').callprop('push', var.get(u"this").callprop('semicolon', var.get('flags'))) + return var.get('result') + PyJs_VariableDeclaration_53_._set_name('VariableDeclaration') + @Js + def PyJs_ThrowStatement_54_(stmt, flags, this, arguments, var=var): + var = Scope({'stmt':stmt, 'flags':flags, 'this':this, 'arguments':arguments, 'ThrowStatement':PyJs_ThrowStatement_54_}, var) + var.registers(['flags', 'stmt']) + return Js([var.get('join')(Js('throw'), var.get(u"this").callprop('generateExpression', var.get('stmt').get('argument'), var.get('Precedence').get('Sequence'), var.get('E_TTT'))), var.get(u"this").callprop('semicolon', var.get('flags'))]) + PyJs_ThrowStatement_54_._set_name('ThrowStatement') + @Js + def PyJs_TryStatement_55_(stmt, flags, this, arguments, var=var): + var = Scope({'stmt':stmt, 'flags':flags, 'this':this, 'arguments':arguments, 'TryStatement':PyJs_TryStatement_55_}, var) + var.registers(['result', 'guardedHandlers', 'i', 'iz', 'stmt', 'flags']) + pass + var.put('result', Js([Js('try'), var.get(u"this").callprop('maybeBlock', var.get('stmt').get('block'), var.get('S_TFFF'))])) + var.put('result', var.get(u"this").callprop('maybeBlockSuffix', var.get('stmt').get('block'), var.get('result'))) + if var.get('stmt').get('handlers'): + #for JS loop + PyJsComma(var.put('i', Js(0.0)),var.put('iz', var.get('stmt').get('handlers').get('length'))) + while (var.get('i')Js(0.0))) else Js(''))])) + var.put('bodyFlags', var.get('S_TFTF')) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0)): + if (var.get('stmt').get('body').get((var.get('i')-Js(1.0))).get('trailingComments').neg() and var.get('stmt').get('body').get(var.get('i')).get('leadingComments').neg()): + var.get('generateBlankLines')(var.get('stmt').get('body').get((var.get('i')-Js(1.0))).get('range').get('1'), var.get('stmt').get('body').get(var.get('i')).get('range').get('0'), var.get('result')) + var.put('fragment', var.get('addIndent')(var.get(u"this").callprop('generateStatement', var.get('stmt').get('body').get(var.get('i')), var.get('bodyFlags')))) + var.get('result').callprop('push', var.get('fragment')) + if (((var.get('i')+Js(1.0))Js(0.0))): + var.get('result').callprop('push', Js('(')) + #for JS loop + PyJsComma(var.put('i', Js(0.0)),var.put('iz', var.get('length'))) + while (var.get('i')=Js(2.0)) and PyJsStrictEq(var.get('fragment').callprop('charCodeAt', Js(0.0)),Js(48.0))).neg()) + if PyJs_LONG_85_(): + var.get('result').callprop('push', Js(' ')) + var.get('result').callprop('push', Js('.')) + var.get('result').callprop('push', var.get('generateIdentifier')(var.get('expr').get('property'))) + return var.get('parenthesize')(var.get('result'), var.get('Precedence').get('Member'), var.get('precedence')) + PyJs_MemberExpression_84_._set_name('MemberExpression') + @Js + def PyJs_MetaProperty_86_(expr, precedence, flags, this, arguments, var=var): + var = Scope({'expr':expr, 'precedence':precedence, 'flags':flags, 'this':this, 'arguments':arguments, 'MetaProperty':PyJs_MetaProperty_86_}, var) + var.registers(['result', 'expr', 'flags', 'precedence']) + pass + var.put('result', Js([])) + var.get('result').callprop('push', (var.get('expr').get('meta') if PyJsStrictEq(var.get('expr').get('meta').typeof(),Js('string')) else var.get('generateIdentifier')(var.get('expr').get('meta')))) + var.get('result').callprop('push', Js('.')) + var.get('result').callprop('push', (var.get('expr').get('property') if PyJsStrictEq(var.get('expr').get('property').typeof(),Js('string')) else var.get('generateIdentifier')(var.get('expr').get('property')))) + return var.get('parenthesize')(var.get('result'), var.get('Precedence').get('Member'), var.get('precedence')) + PyJs_MetaProperty_86_._set_name('MetaProperty') + @Js + def PyJs_UnaryExpression_87_(expr, precedence, flags, this, arguments, var=var): + var = Scope({'expr':expr, 'precedence':precedence, 'flags':flags, 'this':this, 'arguments':arguments, 'UnaryExpression':PyJs_UnaryExpression_87_}, var) + var.registers(['expr', 'rightCharCode', 'result', 'fragment', 'precedence', 'leftSource', 'leftCharCode', 'flags']) + pass + var.put('fragment', var.get(u"this").callprop('generateExpression', var.get('expr').get('argument'), var.get('Precedence').get('Unary'), var.get('E_TTT'))) + if PyJsStrictEq(var.get('space'),Js('')): + var.put('result', var.get('join')(var.get('expr').get('operator'), var.get('fragment'))) + else: + var.put('result', Js([var.get('expr').get('operator')])) + if (var.get('expr').get('operator').get('length')>Js(2.0)): + var.put('result', var.get('join')(var.get('result'), var.get('fragment'))) + else: + var.put('leftSource', var.get('toSourceNodeWhenNeeded')(var.get('result')).callprop('toString')) + var.put('leftCharCode', var.get('leftSource').callprop('charCodeAt', (var.get('leftSource').get('length')-Js(1.0)))) + var.put('rightCharCode', var.get('fragment').callprop('toString').callprop('charCodeAt', Js(0.0))) + if (((PyJsStrictEq(var.get('leftCharCode'),Js(43)) or PyJsStrictEq(var.get('leftCharCode'),Js(45))) and PyJsStrictEq(var.get('leftCharCode'),var.get('rightCharCode'))) or (var.get('esutils').get('code').callprop('isIdentifierPartES5', var.get('leftCharCode')) and var.get('esutils').get('code').callprop('isIdentifierPartES5', var.get('rightCharCode')))): + var.get('result').callprop('push', var.get('noEmptySpace')()) + var.get('result').callprop('push', var.get('fragment')) + else: + var.get('result').callprop('push', var.get('fragment')) + return var.get('parenthesize')(var.get('result'), var.get('Precedence').get('Unary'), var.get('precedence')) + PyJs_UnaryExpression_87_._set_name('UnaryExpression') + @Js + def PyJs_YieldExpression_88_(expr, precedence, flags, this, arguments, var=var): + var = Scope({'expr':expr, 'precedence':precedence, 'flags':flags, 'this':this, 'arguments':arguments, 'YieldExpression':PyJs_YieldExpression_88_}, var) + var.registers(['result', 'expr', 'flags', 'precedence']) + pass + if var.get('expr').get('delegate'): + var.put('result', Js('yield*')) + else: + var.put('result', Js('yield')) + if var.get('expr').get('argument'): + var.put('result', var.get('join')(var.get('result'), var.get(u"this").callprop('generateExpression', var.get('expr').get('argument'), var.get('Precedence').get('Yield'), var.get('E_TTT')))) + return var.get('parenthesize')(var.get('result'), var.get('Precedence').get('Yield'), var.get('precedence')) + PyJs_YieldExpression_88_._set_name('YieldExpression') + @Js + def PyJs_AwaitExpression_89_(expr, precedence, flags, this, arguments, var=var): + var = Scope({'expr':expr, 'precedence':precedence, 'flags':flags, 'this':this, 'arguments':arguments, 'AwaitExpression':PyJs_AwaitExpression_89_}, var) + var.registers(['result', 'expr', 'flags', 'precedence']) + var.put('result', var.get('join')((Js('await*') if var.get('expr').get('all') else Js('await')), var.get(u"this").callprop('generateExpression', var.get('expr').get('argument'), var.get('Precedence').get('Await'), var.get('E_TTT')))) + return var.get('parenthesize')(var.get('result'), var.get('Precedence').get('Await'), var.get('precedence')) + PyJs_AwaitExpression_89_._set_name('AwaitExpression') + @Js + def PyJs_UpdateExpression_90_(expr, precedence, flags, this, arguments, var=var): + var = Scope({'expr':expr, 'precedence':precedence, 'flags':flags, 'this':this, 'arguments':arguments, 'UpdateExpression':PyJs_UpdateExpression_90_}, var) + var.registers(['expr', 'flags', 'precedence']) + if var.get('expr').get('prefix'): + return var.get('parenthesize')(Js([var.get('expr').get('operator'), var.get(u"this").callprop('generateExpression', var.get('expr').get('argument'), var.get('Precedence').get('Unary'), var.get('E_TTT'))]), var.get('Precedence').get('Unary'), var.get('precedence')) + return var.get('parenthesize')(Js([var.get(u"this").callprop('generateExpression', var.get('expr').get('argument'), var.get('Precedence').get('Postfix'), var.get('E_TTT')), var.get('expr').get('operator')]), var.get('Precedence').get('Postfix'), var.get('precedence')) + PyJs_UpdateExpression_90_._set_name('UpdateExpression') + @Js + def PyJs_FunctionExpression_91_(expr, precedence, flags, this, arguments, var=var): + var = Scope({'expr':expr, 'precedence':precedence, 'flags':flags, 'this':this, 'arguments':arguments, 'FunctionExpression':PyJs_FunctionExpression_91_}, var) + var.registers(['result', 'expr', 'flags', 'precedence']) + var.put('result', Js([var.get('generateAsyncPrefix')(var.get('expr'), Js(True)), Js('function')])) + if var.get('expr').get('id'): + var.get('result').callprop('push', (var.get('generateStarSuffix')(var.get('expr')) or var.get('noEmptySpace')())) + var.get('result').callprop('push', var.get('generateIdentifier')(var.get('expr').get('id'))) + else: + var.get('result').callprop('push', (var.get('generateStarSuffix')(var.get('expr')) or var.get('space'))) + var.get('result').callprop('push', var.get(u"this").callprop('generateFunctionBody', var.get('expr'))) + return var.get('result') + PyJs_FunctionExpression_91_._set_name('FunctionExpression') + @Js + def PyJs_ArrayPattern_92_(expr, precedence, flags, this, arguments, var=var): + var = Scope({'expr':expr, 'precedence':precedence, 'flags':flags, 'this':this, 'arguments':arguments, 'ArrayPattern':PyJs_ArrayPattern_92_}, var) + var.registers(['expr', 'flags', 'precedence']) + return var.get(u"this").callprop('ArrayExpression', var.get('expr'), var.get('precedence'), var.get('flags'), Js(True)) + PyJs_ArrayPattern_92_._set_name('ArrayPattern') + @Js + def PyJs_ArrayExpression_93_(expr, precedence, flags, isPattern, this, arguments, var=var): + var = Scope({'expr':expr, 'precedence':precedence, 'flags':flags, 'isPattern':isPattern, 'this':this, 'arguments':arguments, 'ArrayExpression':PyJs_ArrayExpression_93_}, var) + var.registers(['expr', 'multiline', 'isPattern', 'result', 'precedence', 'flags', 'that']) + var.put('that', var.get(u"this")) + if var.get('expr').get('elements').get('length').neg(): + return Js('[]') + var.put('multiline', (Js(False) if var.get('isPattern') else (var.get('expr').get('elements').get('length')>Js(1.0)))) + var.put('result', Js([Js('['), (var.get('newline') if var.get('multiline') else Js(''))])) + @Js + def PyJs_anonymous_94_(indent, this, arguments, var=var): + var = Scope({'indent':indent, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'indent', 'iz']) + pass + #for JS loop + PyJsComma(var.put('i', Js(0.0)),var.put('iz', var.get('expr').get('elements').get('length'))) + while (var.get('i')Js(1.0))) + @Js + def PyJs_anonymous_100_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.put('fragment', var.get('that').callprop('generateExpression', var.get('expr').get('properties').get('0'), var.get('Precedence').get('Sequence'), var.get('E_TTT'))) + PyJs_anonymous_100_._set_name('anonymous') + var.get('withIndent')(PyJs_anonymous_100_) + if var.get('multiline').neg(): + if var.get('hasLineTerminator')(var.get('toSourceNodeWhenNeeded')(var.get('fragment')).callprop('toString')).neg(): + return Js([Js('{'), var.get('space'), var.get('fragment'), var.get('space'), Js('}')]) + @Js + def PyJs_anonymous_101_(indent, this, arguments, var=var): + var = Scope({'indent':indent, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'indent', 'iz']) + pass + var.put('result', Js([Js('{'), var.get('newline'), var.get('indent'), var.get('fragment')])) + if var.get('multiline'): + var.get('result').callprop('push', (Js(',')+var.get('newline'))) + #for JS loop + PyJsComma(var.put('i', Js(1.0)),var.put('iz', var.get('expr').get('properties').get('length'))) + while (var.get('i')Js(0.0)) or var.get('extra').get('moz').get('comprehensionExpressionStartsWithAssignment')): + var.put('result', var.get('join')(var.get('result'), var.get('fragment'))) + else: + var.get('result').callprop('push', var.get('fragment')) + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + PyJs_anonymous_115_._set_name('anonymous') + var.get('withIndent')(PyJs_anonymous_115_) + if var.get('expr').get('filter'): + var.put('result', var.get('join')(var.get('result'), (Js('if')+var.get('space')))) + var.put('fragment', var.get(u"this").callprop('generateExpression', var.get('expr').get('filter'), var.get('Precedence').get('Sequence'), var.get('E_TTT'))) + var.put('result', var.get('join')(var.get('result'), Js([Js('('), var.get('fragment'), Js(')')]))) + if var.get('extra').get('moz').get('comprehensionExpressionStartsWithAssignment').neg(): + var.put('fragment', var.get(u"this").callprop('generateExpression', var.get('expr').get('body'), var.get('Precedence').get('Assignment'), var.get('E_TTT'))) + var.put('result', var.get('join')(var.get('result'), var.get('fragment'))) + var.get('result').callprop('push', (Js(')') if PyJsStrictEq(var.get('expr').get('type'),var.get('Syntax').get('GeneratorExpression')) else Js(']'))) + return var.get('result') + PyJs_ComprehensionExpression_114_._set_name('ComprehensionExpression') + @Js + def PyJs_ComprehensionBlock_116_(expr, precedence, flags, this, arguments, var=var): + var = Scope({'expr':expr, 'precedence':precedence, 'flags':flags, 'this':this, 'arguments':arguments, 'ComprehensionBlock':PyJs_ComprehensionBlock_116_}, var) + var.registers(['fragment', 'expr', 'flags', 'precedence']) + pass + if PyJsStrictEq(var.get('expr').get('left').get('type'),var.get('Syntax').get('VariableDeclaration')): + var.put('fragment', Js([var.get('expr').get('left').get('kind'), var.get('noEmptySpace')(), var.get(u"this").callprop('generateStatement', var.get('expr').get('left').get('declarations').get('0'), var.get('S_FFFF'))])) + else: + var.put('fragment', var.get(u"this").callprop('generateExpression', var.get('expr').get('left'), var.get('Precedence').get('Call'), var.get('E_TTT'))) + var.put('fragment', var.get('join')(var.get('fragment'), (Js('of') if var.get('expr').get('of') else Js('in')))) + var.put('fragment', var.get('join')(var.get('fragment'), var.get(u"this").callprop('generateExpression', var.get('expr').get('right'), var.get('Precedence').get('Sequence'), var.get('E_TTT')))) + return Js([((Js('for')+var.get('space'))+Js('(')), var.get('fragment'), Js(')')]) + PyJs_ComprehensionBlock_116_._set_name('ComprehensionBlock') + @Js + def PyJs_SpreadElement_117_(expr, precedence, flags, this, arguments, var=var): + var = Scope({'expr':expr, 'precedence':precedence, 'flags':flags, 'this':this, 'arguments':arguments, 'SpreadElement':PyJs_SpreadElement_117_}, var) + var.registers(['expr', 'flags', 'precedence']) + return Js([Js('...'), var.get(u"this").callprop('generateExpression', var.get('expr').get('argument'), var.get('Precedence').get('Assignment'), var.get('E_TTT'))]) + PyJs_SpreadElement_117_._set_name('SpreadElement') + @Js + def PyJs_TaggedTemplateExpression_118_(expr, precedence, flags, this, arguments, var=var): + var = Scope({'expr':expr, 'precedence':precedence, 'flags':flags, 'this':this, 'arguments':arguments, 'TaggedTemplateExpression':PyJs_TaggedTemplateExpression_118_}, var) + var.registers(['expr', 'result', 'precedence', 'itemFlags', 'flags']) + var.put('itemFlags', var.get('E_TTF')) + if (var.get('flags')&var.get('F_ALLOW_CALL')).neg(): + var.put('itemFlags', var.get('E_TFF')) + var.put('result', Js([var.get(u"this").callprop('generateExpression', var.get('expr').get('tag'), var.get('Precedence').get('Call'), var.get('itemFlags')), var.get(u"this").callprop('generateExpression', var.get('expr').get('quasi'), var.get('Precedence').get('Primary'), var.get('E_FFT'))])) + return var.get('parenthesize')(var.get('result'), var.get('Precedence').get('TaggedTemplate'), var.get('precedence')) + PyJs_TaggedTemplateExpression_118_._set_name('TaggedTemplateExpression') + @Js + def PyJs_TemplateElement_119_(expr, precedence, flags, this, arguments, var=var): + var = Scope({'expr':expr, 'precedence':precedence, 'flags':flags, 'this':this, 'arguments':arguments, 'TemplateElement':PyJs_TemplateElement_119_}, var) + var.registers(['expr', 'flags', 'precedence']) + return var.get('expr').get('value').get('raw') + PyJs_TemplateElement_119_._set_name('TemplateElement') + @Js + def PyJs_TemplateLiteral_120_(expr, precedence, flags, this, arguments, var=var): + var = Scope({'expr':expr, 'precedence':precedence, 'flags':flags, 'this':this, 'arguments':arguments, 'TemplateLiteral':PyJs_TemplateLiteral_120_}, var) + var.registers(['expr', 'result', 'precedence', 'i', 'iz', 'flags']) + pass + var.put('result', Js([Js('`')])) + #for JS loop + PyJsComma(var.put('i', Js(0.0)),var.put('iz', var.get('expr').get('quasis').get('length'))) + while (var.get('i')=Js(0.0)): + return var.get('idx') + else: + var.put('sStr', var.get('util').callprop('toSetString', var.get('aStr'))) + if var.get('has').callprop('call', var.get(u"this").get('_set'), var.get('sStr')): + return var.get(u"this").get('_set').get(var.get('sStr')) + PyJsTempException = JsToPyException(var.get('Error').create(((Js('"')+var.get('aStr'))+Js('" is not in the set.')))) + raise PyJsTempException + PyJs_ArraySet_indexOf_135_._set_name('ArraySet_indexOf') + var.get('ArraySet').get('prototype').put('indexOf', PyJs_ArraySet_indexOf_135_) + @Js + def PyJs_ArraySet_at_136_(aIdx, this, arguments, var=var): + var = Scope({'aIdx':aIdx, 'this':this, 'arguments':arguments, 'ArraySet_at':PyJs_ArraySet_at_136_}, var) + var.registers(['aIdx']) + if ((var.get('aIdx')>=Js(0.0)) and (var.get('aIdx')>Js(1.0))) + return ((-var.get('shifted')) if var.get('isNegative') else var.get('shifted')) + PyJsHoisted_fromVLQSigned_.func_name = 'fromVLQSigned' + var.put('fromVLQSigned', PyJsHoisted_fromVLQSigned_) + var.put('base64', var.get('require')(Js('./base64'))) + var.put('VLQ_BASE_SHIFT', Js(5.0)) + var.put('VLQ_BASE', (Js(1.0)<>>') + if (var.get('vlq')>Js(0.0)): + var.put('digit', var.get('VLQ_CONTINUATION_BIT'), '|') + var.put('encoded', var.get('base64').callprop('encode', var.get('digit')), '+') + if not (var.get('vlq')>Js(0.0)): + break + return var.get('encoded') + PyJs_base64VLQ_encode_140_._set_name('base64VLQ_encode') + var.get('exports').put('encode', PyJs_base64VLQ_encode_140_) + @Js + def PyJs_base64VLQ_decode_141_(aStr, aIndex, aOutParam, this, arguments, var=var): + var = Scope({'aStr':aStr, 'aIndex':aIndex, 'aOutParam':aOutParam, 'this':this, 'arguments':arguments, 'base64VLQ_decode':PyJs_base64VLQ_decode_141_}, var) + var.registers(['strLen', 'result', 'shift', 'digit', 'aStr', 'aOutParam', 'aIndex', 'continuation']) + var.put('strLen', var.get('aStr').get('length')) + var.put('result', Js(0.0)) + var.put('shift', Js(0.0)) + pass + while 1: + if (var.get('aIndex')>=var.get('strLen')): + PyJsTempException = JsToPyException(var.get('Error').create(Js('Expected more digits in base 64 VLQ value.'))) + raise PyJsTempException + var.put('digit', var.get('base64').callprop('decode', var.get('aStr').callprop('charCodeAt', (var.put('aIndex',Js(var.get('aIndex').to_number())+Js(1))-Js(1))))) + if PyJsStrictEq(var.get('digit'),(-Js(1.0))): + PyJsTempException = JsToPyException(var.get('Error').create((Js('Invalid base64 digit: ')+var.get('aStr').callprop('charAt', (var.get('aIndex')-Js(1.0)))))) + raise PyJsTempException + var.put('continuation', (var.get('digit')&var.get('VLQ_CONTINUATION_BIT')).neg().neg()) + var.put('digit', var.get('VLQ_BASE_MASK'), '&') + var.put('result', (var.get('result')+(var.get('digit')<Js(0.0)): + if ((var.get('aHigh')-var.get('mid'))>Js(1.0)): + return var.get('recursiveSearch')(var.get('mid'), var.get('aHigh'), var.get('aNeedle'), var.get('aHaystack'), var.get('aCompare'), var.get('aBias')) + if (var.get('aBias')==var.get('exports').get('LEAST_UPPER_BOUND')): + return (var.get('aHigh') if (var.get('aHigh')Js(1.0)): + return var.get('recursiveSearch')(var.get('aLow'), var.get('mid'), var.get('aNeedle'), var.get('aHaystack'), var.get('aCompare'), var.get('aBias')) + if (var.get('aBias')==var.get('exports').get('LEAST_UPPER_BOUND')): + return var.get('mid') + else: + return ((-Js(1.0)) if (var.get('aLow')=Js(0.0)): + if PyJsStrictNeq(var.get('aCompare')(var.get('aHaystack').get(var.get('index')), var.get('aHaystack').get((var.get('index')-Js(1.0))), Js(True)),Js(0.0)): + break + var.put('index',Js(var.get('index').to_number())-Js(1)) + return var.get('index') + PyJs_search_148_._set_name('search') + var.get('exports').put('search', PyJs_search_148_) +PyJs_anonymous_147_._set_name('anonymous') +PyJs_Object_149_ = Js({}) +@Js +def PyJs_anonymous_150_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['util', 'generatedPositionAfter', 'module', 'require', 'exports', 'MappingList']) + @Js + def PyJsHoisted_generatedPositionAfter_(mappingA, mappingB, this, arguments, var=var): + var = Scope({'mappingA':mappingA, 'mappingB':mappingB, 'this':this, 'arguments':arguments}, var) + var.registers(['mappingB', 'columnB', 'columnA', 'lineA', 'lineB', 'mappingA']) + var.put('lineA', var.get('mappingA').get('generatedLine')) + var.put('lineB', var.get('mappingB').get('generatedLine')) + var.put('columnA', var.get('mappingA').get('generatedColumn')) + var.put('columnB', var.get('mappingB').get('generatedColumn')) + return (((var.get('lineB')>var.get('lineA')) or ((var.get('lineB')==var.get('lineA')) and (var.get('columnB')>=var.get('columnA')))) or (var.get('util').callprop('compareByGeneratedPositionsInflated', var.get('mappingA'), var.get('mappingB'))<=Js(0.0))) + PyJsHoisted_generatedPositionAfter_.func_name = 'generatedPositionAfter' + var.put('generatedPositionAfter', PyJsHoisted_generatedPositionAfter_) + @Js + def PyJsHoisted_MappingList_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put('_array', Js([])) + var.get(u"this").put('_sorted', Js(True)) + PyJs_Object_151_ = Js({'generatedLine':(-Js(1.0)),'generatedColumn':Js(0.0)}) + var.get(u"this").put('_last', PyJs_Object_151_) + PyJsHoisted_MappingList_.func_name = 'MappingList' + var.put('MappingList', PyJsHoisted_MappingList_) + var.put('util', var.get('require')(Js('./util'))) + pass + pass + @Js + def PyJs_MappingList_forEach_152_(aCallback, aThisArg, this, arguments, var=var): + var = Scope({'aCallback':aCallback, 'aThisArg':aThisArg, 'this':this, 'arguments':arguments, 'MappingList_forEach':PyJs_MappingList_forEach_152_}, var) + var.registers(['aThisArg', 'aCallback']) + var.get(u"this").get('_array').callprop('forEach', var.get('aCallback'), var.get('aThisArg')) + PyJs_MappingList_forEach_152_._set_name('MappingList_forEach') + var.get('MappingList').get('prototype').put('unsortedForEach', PyJs_MappingList_forEach_152_) + @Js + def PyJs_MappingList_add_153_(aMapping, this, arguments, var=var): + var = Scope({'aMapping':aMapping, 'this':this, 'arguments':arguments, 'MappingList_add':PyJs_MappingList_add_153_}, var) + var.registers(['aMapping']) + if var.get('generatedPositionAfter')(var.get(u"this").get('_last'), var.get('aMapping')): + var.get(u"this").put('_last', var.get('aMapping')) + var.get(u"this").get('_array').callprop('push', var.get('aMapping')) + else: + var.get(u"this").put('_sorted', Js(False)) + var.get(u"this").get('_array').callprop('push', var.get('aMapping')) + PyJs_MappingList_add_153_._set_name('MappingList_add') + var.get('MappingList').get('prototype').put('add', PyJs_MappingList_add_153_) + @Js + def PyJs_MappingList_toArray_154_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'MappingList_toArray':PyJs_MappingList_toArray_154_}, var) + var.registers([]) + if var.get(u"this").get('_sorted').neg(): + var.get(u"this").get('_array').callprop('sort', var.get('util').get('compareByGeneratedPositionsInflated')) + var.get(u"this").put('_sorted', Js(True)) + return var.get(u"this").get('_array') + PyJs_MappingList_toArray_154_._set_name('MappingList_toArray') + var.get('MappingList').get('prototype').put('toArray', PyJs_MappingList_toArray_154_) + var.get('exports').put('MappingList', var.get('MappingList')) +PyJs_anonymous_150_._set_name('anonymous') +PyJs_Object_155_ = Js({'./util':Js(11.0)}) +@Js +def PyJs_anonymous_156_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['randomIntInRange', 'swap', 'module', 'require', 'exports', 'doQuickSort']) + @Js + def PyJsHoisted_swap_(ary, x, y, this, arguments, var=var): + var = Scope({'ary':ary, 'x':x, 'y':y, 'this':this, 'arguments':arguments}, var) + var.registers(['temp', 'ary', 'y', 'x']) + var.put('temp', var.get('ary').get(var.get('x'))) + var.get('ary').put(var.get('x'), var.get('ary').get(var.get('y'))) + var.get('ary').put(var.get('y'), var.get('temp')) + PyJsHoisted_swap_.func_name = 'swap' + var.put('swap', PyJsHoisted_swap_) + @Js + def PyJsHoisted_randomIntInRange_(low, high, this, arguments, var=var): + var = Scope({'low':low, 'high':high, 'this':this, 'arguments':arguments}, var) + var.registers(['high', 'low']) + return var.get('Math').callprop('round', (var.get('low')+(var.get('Math').callprop('random')*(var.get('high')-var.get('low'))))) + PyJsHoisted_randomIntInRange_.func_name = 'randomIntInRange' + var.put('randomIntInRange', PyJsHoisted_randomIntInRange_) + @Js + def PyJsHoisted_doQuickSort_(ary, comparator, p, r, this, arguments, var=var): + var = Scope({'ary':ary, 'comparator':comparator, 'p':p, 'r':r, 'this':this, 'arguments':arguments}, var) + var.registers(['pivot', 'j', 'pivotIndex', 'comparator', 'ary', 'i', 'p', 'r', 'q']) + if (var.get('p')=Js(0.0)): + var.put('mapping', var.get(u"this").get('_originalMappings').get(var.get('index'))) + if PyJsStrictEq(var.get('aArgs').get('column'),var.get('undefined')): + var.put('originalLine', var.get('mapping').get('originalLine')) + while (var.get('mapping') and PyJsStrictEq(var.get('mapping').get('originalLine'),var.get('originalLine'))): + PyJs_Object_172_ = Js({'line':var.get('util').callprop('getArg', var.get('mapping'), Js('generatedLine'), var.get(u"null")),'column':var.get('util').callprop('getArg', var.get('mapping'), Js('generatedColumn'), var.get(u"null")),'lastColumn':var.get('util').callprop('getArg', var.get('mapping'), Js('lastGeneratedColumn'), var.get(u"null"))}) + var.get('mappings').callprop('push', PyJs_Object_172_) + var.put('mapping', var.get(u"this").get('_originalMappings').get(var.put('index',Js(var.get('index').to_number())+Js(1)))) + else: + var.put('originalColumn', var.get('mapping').get('originalColumn')) + while ((var.get('mapping') and PyJsStrictEq(var.get('mapping').get('originalLine'),var.get('line'))) and (var.get('mapping').get('originalColumn')==var.get('originalColumn'))): + PyJs_Object_173_ = Js({'line':var.get('util').callprop('getArg', var.get('mapping'), Js('generatedLine'), var.get(u"null")),'column':var.get('util').callprop('getArg', var.get('mapping'), Js('generatedColumn'), var.get(u"null")),'lastColumn':var.get('util').callprop('getArg', var.get('mapping'), Js('lastGeneratedColumn'), var.get(u"null"))}) + var.get('mappings').callprop('push', PyJs_Object_173_) + var.put('mapping', var.get(u"this").get('_originalMappings').get(var.put('index',Js(var.get('index').to_number())+Js(1)))) + return var.get('mappings') + PyJs_SourceMapConsumer_allGeneratedPositionsFor_170_._set_name('SourceMapConsumer_allGeneratedPositionsFor') + var.get('SourceMapConsumer').get('prototype').put('allGeneratedPositionsFor', PyJs_SourceMapConsumer_allGeneratedPositionsFor_170_) + var.get('exports').put('SourceMapConsumer', var.get('SourceMapConsumer')) + pass + var.get('BasicSourceMapConsumer').put('prototype', var.get('Object').callprop('create', var.get('SourceMapConsumer').get('prototype'))) + var.get('BasicSourceMapConsumer').get('prototype').put('consumer', var.get('SourceMapConsumer')) + @Js + def PyJs_anonymous_176_(aSource, this, arguments, var=var): + var = Scope({'aSource':aSource, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'relativeSource', 'aSource']) + var.put('relativeSource', var.get('aSource')) + if (var.get(u"this").get('sourceRoot')!=var.get(u"null")): + var.put('relativeSource', var.get('util').callprop('relative', var.get(u"this").get('sourceRoot'), var.get('relativeSource'))) + if var.get(u"this").get('_sources').callprop('has', var.get('relativeSource')): + return var.get(u"this").get('_sources').callprop('indexOf', var.get('relativeSource')) + pass + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(1.0)): + var.get('mapping').put('source', (var.get('previousSource')+var.get('segment').get('1'))) + var.put('previousSource', var.get('segment').get('1'), '+') + var.get('mapping').put('originalLine', (var.get('previousOriginalLine')+var.get('segment').get('2'))) + var.put('previousOriginalLine', var.get('mapping').get('originalLine')) + var.get('mapping').put('originalLine', Js(1.0), '+') + var.get('mapping').put('originalColumn', (var.get('previousOriginalColumn')+var.get('segment').get('3'))) + var.put('previousOriginalColumn', var.get('mapping').get('originalColumn')) + if (var.get('segment').get('length')>Js(4.0)): + var.get('mapping').put('name', (var.get('previousName')+var.get('segment').get('4'))) + var.put('previousName', var.get('segment').get('4'), '+') + var.get('generatedMappings').callprop('push', var.get('mapping')) + if PyJsStrictEq(var.get('mapping').get('originalLine').typeof(),Js('number')): + var.get('originalMappings').callprop('push', var.get('mapping')) + var.get('quickSort')(var.get('generatedMappings'), var.get('util').get('compareByGeneratedPositionsDeflated')) + var.get(u"this").put('__generatedMappings', var.get('generatedMappings')) + var.get('quickSort')(var.get('originalMappings'), var.get('util').get('compareByOriginalPositions')) + var.get(u"this").put('__originalMappings', var.get('originalMappings')) + PyJs_SourceMapConsumer_parseMappings_181_._set_name('SourceMapConsumer_parseMappings') + var.get('BasicSourceMapConsumer').get('prototype').put('_parseMappings', PyJs_SourceMapConsumer_parseMappings_181_) + @Js + def PyJs_SourceMapConsumer_findMapping_184_(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias, this, arguments, var=var): + var = Scope({'aNeedle':aNeedle, 'aMappings':aMappings, 'aLineName':aLineName, 'aColumnName':aColumnName, 'aComparator':aComparator, 'aBias':aBias, 'this':this, 'arguments':arguments, 'SourceMapConsumer_findMapping':PyJs_SourceMapConsumer_findMapping_184_}, var) + var.registers(['aNeedle', 'aMappings', 'aBias', 'aComparator', 'aLineName', 'aColumnName']) + if (var.get('aNeedle').get(var.get('aLineName'))<=Js(0.0)): + PyJsTempException = JsToPyException(var.get('TypeError').create((Js('Line must be greater than or equal to 1, got ')+var.get('aNeedle').get(var.get('aLineName'))))) + raise PyJsTempException + if (var.get('aNeedle').get(var.get('aColumnName'))=Js(0.0)): + var.put('mapping', var.get(u"this").get('_generatedMappings').get(var.get('index'))) + if PyJsStrictEq(var.get('mapping').get('generatedLine'),var.get('needle').get('generatedLine')): + var.put('source', var.get('util').callprop('getArg', var.get('mapping'), Js('source'), var.get(u"null"))) + if PyJsStrictNeq(var.get('source'),var.get(u"null")): + var.put('source', var.get(u"this").get('_sources').callprop('at', var.get('source'))) + var.put('source', var.get('util').callprop('computeSourceURL', var.get(u"this").get('sourceRoot'), var.get('source'), var.get(u"this").get('_sourceMapURL'))) + var.put('name', var.get('util').callprop('getArg', var.get('mapping'), Js('name'), var.get(u"null"))) + if PyJsStrictNeq(var.get('name'),var.get(u"null")): + var.put('name', var.get(u"this").get('_names').callprop('at', var.get('name'))) + PyJs_Object_188_ = Js({'source':var.get('source'),'line':var.get('util').callprop('getArg', var.get('mapping'), Js('originalLine'), var.get(u"null")),'column':var.get('util').callprop('getArg', var.get('mapping'), Js('originalColumn'), var.get(u"null")),'name':var.get('name')}) + return PyJs_Object_188_ + PyJs_Object_189_ = Js({'source':var.get(u"null"),'line':var.get(u"null"),'column':var.get(u"null"),'name':var.get(u"null")}) + return PyJs_Object_189_ + PyJs_SourceMapConsumer_originalPositionFor_186_._set_name('SourceMapConsumer_originalPositionFor') + var.get('BasicSourceMapConsumer').get('prototype').put('originalPositionFor', PyJs_SourceMapConsumer_originalPositionFor_186_) + @Js + def PyJs_BasicSourceMapConsumer_hasContentsOfAllSources_190_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'BasicSourceMapConsumer_hasContentsOfAllSources':PyJs_BasicSourceMapConsumer_hasContentsOfAllSources_190_}, var) + var.registers([]) + if var.get(u"this").get('sourcesContent').neg(): + return Js(False) + @Js + def PyJs_anonymous_191_(sc, this, arguments, var=var): + var = Scope({'sc':sc, 'this':this, 'arguments':arguments}, var) + var.registers(['sc']) + return (var.get('sc')==var.get(u"null")) + PyJs_anonymous_191_._set_name('anonymous') + return ((var.get(u"this").get('sourcesContent').get('length')>=var.get(u"this").get('_sources').callprop('size')) and var.get(u"this").get('sourcesContent').callprop('some', PyJs_anonymous_191_).neg()) + PyJs_BasicSourceMapConsumer_hasContentsOfAllSources_190_._set_name('BasicSourceMapConsumer_hasContentsOfAllSources') + var.get('BasicSourceMapConsumer').get('prototype').put('hasContentsOfAllSources', PyJs_BasicSourceMapConsumer_hasContentsOfAllSources_190_) + @Js + def PyJs_SourceMapConsumer_sourceContentFor_192_(aSource, nullOnMissing, this, arguments, var=var): + var = Scope({'aSource':aSource, 'nullOnMissing':nullOnMissing, 'this':this, 'arguments':arguments, 'SourceMapConsumer_sourceContentFor':PyJs_SourceMapConsumer_sourceContentFor_192_}, var) + var.registers(['relativeSource', 'nullOnMissing', 'index', 'url', 'fileUriAbsPath', 'aSource']) + if var.get(u"this").get('sourcesContent').neg(): + return var.get(u"null") + var.put('index', var.get(u"this").callprop('_findSourceIndex', var.get('aSource'))) + if (var.get('index')>=Js(0.0)): + return var.get(u"this").get('sourcesContent').get(var.get('index')) + var.put('relativeSource', var.get('aSource')) + if (var.get(u"this").get('sourceRoot')!=var.get(u"null")): + var.put('relativeSource', var.get('util').callprop('relative', var.get(u"this").get('sourceRoot'), var.get('relativeSource'))) + pass + if ((var.get(u"this").get('sourceRoot')!=var.get(u"null")) and var.put('url', var.get('util').callprop('urlParse', var.get(u"this").get('sourceRoot')))): + var.put('fileUriAbsPath', var.get('relativeSource').callprop('replace', JsRegExp('/^file:\\/\\//'), Js(''))) + if ((var.get('url').get('scheme')==Js('file')) and var.get(u"this").get('_sources').callprop('has', var.get('fileUriAbsPath'))): + return var.get(u"this").get('sourcesContent').get(var.get(u"this").get('_sources').callprop('indexOf', var.get('fileUriAbsPath'))) + if ((var.get('url').get('path').neg() or (var.get('url').get('path')==Js('/'))) and var.get(u"this").get('_sources').callprop('has', (Js('/')+var.get('relativeSource')))): + return var.get(u"this").get('sourcesContent').get(var.get(u"this").get('_sources').callprop('indexOf', (Js('/')+var.get('relativeSource')))) + if var.get('nullOnMissing'): + return var.get(u"null") + else: + PyJsTempException = JsToPyException(var.get('Error').create(((Js('"')+var.get('relativeSource'))+Js('" is not in the SourceMap.')))) + raise PyJsTempException + PyJs_SourceMapConsumer_sourceContentFor_192_._set_name('SourceMapConsumer_sourceContentFor') + var.get('BasicSourceMapConsumer').get('prototype').put('sourceContentFor', PyJs_SourceMapConsumer_sourceContentFor_192_) + @Js + def PyJs_SourceMapConsumer_generatedPositionFor_193_(aArgs, this, arguments, var=var): + var = Scope({'aArgs':aArgs, 'this':this, 'arguments':arguments, 'SourceMapConsumer_generatedPositionFor':PyJs_SourceMapConsumer_generatedPositionFor_193_}, var) + var.registers(['source', 'index', 'aArgs', 'needle', 'mapping']) + var.put('source', var.get('util').callprop('getArg', var.get('aArgs'), Js('source'))) + var.put('source', var.get(u"this").callprop('_findSourceIndex', var.get('source'))) + if (var.get('source')=Js(0.0)): + var.put('mapping', var.get(u"this").get('_originalMappings').get(var.get('index'))) + if PyJsStrictEq(var.get('mapping').get('source'),var.get('needle').get('source')): + PyJs_Object_196_ = Js({'line':var.get('util').callprop('getArg', var.get('mapping'), Js('generatedLine'), var.get(u"null")),'column':var.get('util').callprop('getArg', var.get('mapping'), Js('generatedColumn'), var.get(u"null")),'lastColumn':var.get('util').callprop('getArg', var.get('mapping'), Js('lastGeneratedColumn'), var.get(u"null"))}) + return PyJs_Object_196_ + PyJs_Object_197_ = Js({'line':var.get(u"null"),'column':var.get(u"null"),'lastColumn':var.get(u"null")}) + return PyJs_Object_197_ + PyJs_SourceMapConsumer_generatedPositionFor_193_._set_name('SourceMapConsumer_generatedPositionFor') + var.get('BasicSourceMapConsumer').get('prototype').put('generatedPositionFor', PyJs_SourceMapConsumer_generatedPositionFor_193_) + var.get('exports').put('BasicSourceMapConsumer', var.get('BasicSourceMapConsumer')) + pass + var.get('IndexedSourceMapConsumer').put('prototype', var.get('Object').callprop('create', var.get('SourceMapConsumer').get('prototype'))) + var.get('IndexedSourceMapConsumer').get('prototype').put('constructor', var.get('SourceMapConsumer')) + var.get('IndexedSourceMapConsumer').get('prototype').put('_version', Js(3.0)) + @Js + def PyJs_get_203_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'get':PyJs_get_203_}, var) + var.registers(['sources', 'j', 'i']) + var.put('sources', Js([])) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0))) and (var.get('aGenerated').get('column')>=Js(0.0))) and var.get('aOriginal').neg()) and var.get('aSource').neg()) and var.get('aName').neg()): + return var.get('undefined') + else: + def PyJs_LONG_235_(var=var): + return (((((((((var.get('aGenerated') and var.get('aGenerated').contains(Js('line'))) and var.get('aGenerated').contains(Js('column'))) and var.get('aOriginal')) and var.get('aOriginal').contains(Js('line'))) and var.get('aOriginal').contains(Js('column'))) and (var.get('aGenerated').get('line')>Js(0.0))) and (var.get('aGenerated').get('column')>=Js(0.0))) and (var.get('aOriginal').get('line')>Js(0.0))) and (var.get('aOriginal').get('column')>=Js(0.0))) + if (PyJs_LONG_235_() and var.get('aSource')): + return var.get('undefined') + else: + PyJs_Object_236_ = Js({'generated':var.get('aGenerated'),'source':var.get('aSource'),'original':var.get('aOriginal'),'name':var.get('aName')}) + PyJsTempException = JsToPyException(var.get('Error').create((Js('Invalid mapping: ')+var.get('JSON').callprop('stringify', PyJs_Object_236_)))) + raise PyJsTempException + PyJs_SourceMapGenerator_validateMapping_234_._set_name('SourceMapGenerator_validateMapping') + var.get('SourceMapGenerator').get('prototype').put('_validateMapping', PyJs_SourceMapGenerator_validateMapping_234_) + @Js + def PyJs_SourceMapGenerator_serializeMappings_237_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'SourceMapGenerator_serializeMappings':PyJs_SourceMapGenerator_serializeMappings_237_}, var) + var.registers(['previousOriginalColumn', 'previousGeneratedColumn', 'previousName', 'result', 'sourceIdx', 'mappings', 'next', 'i', 'previousOriginalLine', 'nameIdx', 'len', 'previousGeneratedLine', 'previousSource', 'mapping']) + var.put('previousGeneratedColumn', Js(0.0)) + var.put('previousGeneratedLine', Js(1.0)) + var.put('previousOriginalColumn', Js(0.0)) + var.put('previousOriginalLine', Js(0.0)) + var.put('previousName', Js(0.0)) + var.put('previousSource', Js(0.0)) + var.put('result', Js('')) + pass + pass + pass + pass + var.put('mappings', var.get(u"this").get('_mappings').callprop('toArray')) + #for JS loop + var.put('i', Js(0.0)) + var.put('len', var.get('mappings').get('length')) + while (var.get('i')Js(0.0)): + if var.get('util').callprop('compareByGeneratedPositionsInflated', var.get('mapping'), var.get('mappings').get((var.get('i')-Js(1.0)))).neg(): + continue + var.put('next', Js(','), '+') + var.put('next', var.get('base64VLQ').callprop('encode', (var.get('mapping').get('generatedColumn')-var.get('previousGeneratedColumn'))), '+') + var.put('previousGeneratedColumn', var.get('mapping').get('generatedColumn')) + if (var.get('mapping').get('source')!=var.get(u"null")): + var.put('sourceIdx', var.get(u"this").get('_sources').callprop('indexOf', var.get('mapping').get('source'))) + var.put('next', var.get('base64VLQ').callprop('encode', (var.get('sourceIdx')-var.get('previousSource'))), '+') + var.put('previousSource', var.get('sourceIdx')) + var.put('next', var.get('base64VLQ').callprop('encode', ((var.get('mapping').get('originalLine')-Js(1.0))-var.get('previousOriginalLine'))), '+') + var.put('previousOriginalLine', (var.get('mapping').get('originalLine')-Js(1.0))) + var.put('next', var.get('base64VLQ').callprop('encode', (var.get('mapping').get('originalColumn')-var.get('previousOriginalColumn'))), '+') + var.put('previousOriginalColumn', var.get('mapping').get('originalColumn')) + if (var.get('mapping').get('name')!=var.get(u"null")): + var.put('nameIdx', var.get(u"this").get('_names').callprop('indexOf', var.get('mapping').get('name'))) + var.put('next', var.get('base64VLQ').callprop('encode', (var.get('nameIdx')-var.get('previousName'))), '+') + var.put('previousName', var.get('nameIdx')) + var.put('result', var.get('next'), '+') + finally: + (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) + return var.get('result') + PyJs_SourceMapGenerator_serializeMappings_237_._set_name('SourceMapGenerator_serializeMappings') + var.get('SourceMapGenerator').get('prototype').put('_serializeMappings', PyJs_SourceMapGenerator_serializeMappings_237_) + @Js + def PyJs_SourceMapGenerator_generateSourcesContent_238_(aSources, aSourceRoot, this, arguments, var=var): + var = Scope({'aSources':aSources, 'aSourceRoot':aSourceRoot, 'this':this, 'arguments':arguments, 'SourceMapGenerator_generateSourcesContent':PyJs_SourceMapGenerator_generateSourcesContent_238_}, var) + var.registers(['aSources', 'aSourceRoot']) + @Js + def PyJs_anonymous_239_(source, this, arguments, var=var): + var = Scope({'source':source, 'this':this, 'arguments':arguments}, var) + var.registers(['key', 'source']) + if var.get(u"this").get('_sourcesContents').neg(): + return var.get(u"null") + if (var.get('aSourceRoot')!=var.get(u"null")): + var.put('source', var.get('util').callprop('relative', var.get('aSourceRoot'), var.get('source'))) + var.put('key', var.get('util').callprop('toSetString', var.get('source'))) + return (var.get(u"this").get('_sourcesContents').get(var.get('key')) if var.get('Object').get('prototype').get('hasOwnProperty').callprop('call', var.get(u"this").get('_sourcesContents'), var.get('key')) else var.get(u"null")) + PyJs_anonymous_239_._set_name('anonymous') + return var.get('aSources').callprop('map', PyJs_anonymous_239_, var.get(u"this")) + PyJs_SourceMapGenerator_generateSourcesContent_238_._set_name('SourceMapGenerator_generateSourcesContent') + var.get('SourceMapGenerator').get('prototype').put('_generateSourcesContent', PyJs_SourceMapGenerator_generateSourcesContent_238_) + @Js + def PyJs_SourceMapGenerator_toJSON_240_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'SourceMapGenerator_toJSON':PyJs_SourceMapGenerator_toJSON_240_}, var) + var.registers(['map']) + PyJs_Object_241_ = Js({'version':var.get(u"this").get('_version'),'sources':var.get(u"this").get('_sources').callprop('toArray'),'names':var.get(u"this").get('_names').callprop('toArray'),'mappings':var.get(u"this").callprop('_serializeMappings')}) + var.put('map', PyJs_Object_241_) + if (var.get(u"this").get('_file')!=var.get(u"null")): + var.get('map').put('file', var.get(u"this").get('_file')) + if (var.get(u"this").get('_sourceRoot')!=var.get(u"null")): + var.get('map').put('sourceRoot', var.get(u"this").get('_sourceRoot')) + if var.get(u"this").get('_sourcesContents'): + var.get('map').put('sourcesContent', var.get(u"this").callprop('_generateSourcesContent', var.get('map').get('sources'), var.get('map').get('sourceRoot'))) + return var.get('map') + PyJs_SourceMapGenerator_toJSON_240_._set_name('SourceMapGenerator_toJSON') + var.get('SourceMapGenerator').get('prototype').put('toJSON', PyJs_SourceMapGenerator_toJSON_240_) + @Js + def PyJs_SourceMapGenerator_toString_242_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'SourceMapGenerator_toString':PyJs_SourceMapGenerator_toString_242_}, var) + var.registers([]) + return var.get('JSON').callprop('stringify', var.get(u"this").callprop('toJSON')) + PyJs_SourceMapGenerator_toString_242_._set_name('SourceMapGenerator_toString') + var.get('SourceMapGenerator').get('prototype').put('toString', PyJs_SourceMapGenerator_toString_242_) + var.get('exports').put('SourceMapGenerator', var.get('SourceMapGenerator')) +PyJs_anonymous_218_._set_name('anonymous') +PyJs_Object_243_ = Js({'./array-set':Js(2.0),'./base64-vlq':Js(3.0),'./mapping-list':Js(6.0),'./util':Js(11.0)}) +@Js +def PyJs_anonymous_244_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['NEWLINE_CODE', 'SourceNode', 'util', 'REGEX_NEWLINE', 'isSourceNode', 'module', 'SourceMapGenerator', 'require', 'exports']) + @Js + def PyJsHoisted_SourceNode_(aLine, aColumn, aSource, aChunks, aName, this, arguments, var=var): + var = Scope({'aLine':aLine, 'aColumn':aColumn, 'aSource':aSource, 'aChunks':aChunks, 'aName':aName, 'this':this, 'arguments':arguments}, var) + var.registers(['aColumn', 'aName', 'aLine', 'aChunks', 'aSource']) + var.get(u"this").put('children', Js([])) + PyJs_Object_245_ = Js({}) + var.get(u"this").put('sourceContents', PyJs_Object_245_) + var.get(u"this").put('line', (var.get(u"null") if (var.get('aLine')==var.get(u"null")) else var.get('aLine'))) + var.get(u"this").put('column', (var.get(u"null") if (var.get('aColumn')==var.get(u"null")) else var.get('aColumn'))) + var.get(u"this").put('source', (var.get(u"null") if (var.get('aSource')==var.get(u"null")) else var.get('aSource'))) + var.get(u"this").put('name', (var.get(u"null") if (var.get('aName')==var.get(u"null")) else var.get('aName'))) + var.get(u"this").put(var.get('isSourceNode'), Js(True)) + if (var.get('aChunks')!=var.get(u"null")): + var.get(u"this").callprop('add', var.get('aChunks')) + PyJsHoisted_SourceNode_.func_name = 'SourceNode' + var.put('SourceNode', PyJsHoisted_SourceNode_) + var.put('SourceMapGenerator', var.get('require')(Js('./source-map-generator')).get('SourceMapGenerator')) + var.put('util', var.get('require')(Js('./util'))) + var.put('REGEX_NEWLINE', JsRegExp('/(\\r?\\n)/')) + var.put('NEWLINE_CODE', Js(10.0)) + var.put('isSourceNode', Js('$$$isSourceNode$$$')) + pass + @Js + def PyJs_SourceNode_fromStringWithSourceMap_246_(aGeneratedCode, aSourceMapConsumer, aRelativePath, this, arguments, var=var): + var = Scope({'aGeneratedCode':aGeneratedCode, 'aSourceMapConsumer':aSourceMapConsumer, 'aRelativePath':aRelativePath, 'this':this, 'arguments':arguments, 'SourceNode_fromStringWithSourceMap':PyJs_SourceNode_fromStringWithSourceMap_246_}, var) + var.registers(['aGeneratedCode', 'node', 'remainingLines', 'shiftNextLine', 'lastGeneratedColumn', 'lastGeneratedLine', 'aSourceMapConsumer', 'lastMapping', 'aRelativePath', 'remainingLinesIndex', 'addMappingWithCode']) + @Js + def PyJsHoisted_addMappingWithCode_(mapping, code, this, arguments, var=var): + var = Scope({'mapping':mapping, 'code':code, 'this':this, 'arguments':arguments}, var) + var.registers(['source', 'code', 'mapping']) + if (PyJsStrictEq(var.get('mapping'),var.get(u"null")) or PyJsStrictEq(var.get('mapping').get('source'),var.get('undefined'))): + var.get('node').callprop('add', var.get('code')) + else: + var.put('source', (var.get('util').callprop('join', var.get('aRelativePath'), var.get('mapping').get('source')) if var.get('aRelativePath') else var.get('mapping').get('source'))) + var.get('node').callprop('add', var.get('SourceNode').create(var.get('mapping').get('originalLine'), var.get('mapping').get('originalColumn'), var.get('source'), var.get('code'), var.get('mapping').get('name'))) + PyJsHoisted_addMappingWithCode_.func_name = 'addMappingWithCode' + var.put('addMappingWithCode', PyJsHoisted_addMappingWithCode_) + var.put('node', var.get('SourceNode').create()) + var.put('remainingLines', var.get('aGeneratedCode').callprop('split', var.get('REGEX_NEWLINE'))) + var.put('remainingLinesIndex', Js(0.0)) + @Js + def PyJs_shiftNextLine_247_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'shiftNextLine':PyJs_shiftNextLine_247_}, var) + var.registers(['lineContents', 'newLine', 'getNextLine']) + @Js + def PyJsHoisted_getNextLine_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return (var.get('remainingLines').get((var.put('remainingLinesIndex',Js(var.get('remainingLinesIndex').to_number())+Js(1))-Js(1))) if (var.get('remainingLinesIndex')=Js(0.0)): + try: + var.get(u"this").callprop('prepend', var.get('aChunk').get(var.get('i'))) + finally: + (var.put('i',Js(var.get('i').to_number())-Js(1))+Js(1)) + else: + if (var.get('aChunk').get(var.get('isSourceNode')) or PyJsStrictEq(var.get('aChunk',throw=False).typeof(),Js('string'))): + var.get(u"this").get('children').callprop('unshift', var.get('aChunk')) + else: + PyJsTempException = JsToPyException(var.get('TypeError').create((Js('Expected a SourceNode, string, or an array of SourceNodes and strings. Got ')+var.get('aChunk')))) + raise PyJsTempException + return var.get(u"this") + PyJs_SourceNode_prepend_252_._set_name('SourceNode_prepend') + var.get('SourceNode').get('prototype').put('prepend', PyJs_SourceNode_prepend_252_) + @Js + def PyJs_SourceNode_walk_253_(aFn, this, arguments, var=var): + var = Scope({'aFn':aFn, 'this':this, 'arguments':arguments, 'SourceNode_walk':PyJs_SourceNode_walk_253_}, var) + var.registers(['i', 'aFn', 'chunk', 'len']) + pass + #for JS loop + var.put('i', Js(0.0)) + var.put('len', var.get(u"this").get('children').get('length')) + while (var.get('i')Js(0.0)): + var.put('newChildren', Js([])) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')<(var.get('len')-Js(1.0))): + try: + var.get('newChildren').callprop('push', var.get(u"this").get('children').get(var.get('i'))) + var.get('newChildren').callprop('push', var.get('aSep')) + finally: + (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) + var.get('newChildren').callprop('push', var.get(u"this").get('children').get(var.get('i'))) + var.get(u"this").put('children', var.get('newChildren')) + return var.get(u"this") + PyJs_SourceNode_join_255_._set_name('SourceNode_join') + var.get('SourceNode').get('prototype').put('join', PyJs_SourceNode_join_255_) + @Js + def PyJs_SourceNode_replaceRight_256_(aPattern, aReplacement, this, arguments, var=var): + var = Scope({'aPattern':aPattern, 'aReplacement':aReplacement, 'this':this, 'arguments':arguments, 'SourceNode_replaceRight':PyJs_SourceNode_replaceRight_256_}, var) + var.registers(['lastChild', 'aReplacement', 'aPattern']) + var.put('lastChild', var.get(u"this").get('children').get((var.get(u"this").get('children').get('length')-Js(1.0)))) + if var.get('lastChild').get(var.get('isSourceNode')): + var.get('lastChild').callprop('replaceRight', var.get('aPattern'), var.get('aReplacement')) + else: + if PyJsStrictEq(var.get('lastChild',throw=False).typeof(),Js('string')): + var.get(u"this").get('children').put((var.get(u"this").get('children').get('length')-Js(1.0)), var.get('lastChild').callprop('replace', var.get('aPattern'), var.get('aReplacement'))) + else: + var.get(u"this").get('children').callprop('push', Js('').callprop('replace', var.get('aPattern'), var.get('aReplacement'))) + return var.get(u"this") + PyJs_SourceNode_replaceRight_256_._set_name('SourceNode_replaceRight') + var.get('SourceNode').get('prototype').put('replaceRight', PyJs_SourceNode_replaceRight_256_) + @Js + def PyJs_SourceNode_setSourceContent_257_(aSourceFile, aSourceContent, this, arguments, var=var): + var = Scope({'aSourceFile':aSourceFile, 'aSourceContent':aSourceContent, 'this':this, 'arguments':arguments, 'SourceNode_setSourceContent':PyJs_SourceNode_setSourceContent_257_}, var) + var.registers(['aSourceContent', 'aSourceFile']) + var.get(u"this").get('sourceContents').put(var.get('util').callprop('toSetString', var.get('aSourceFile')), var.get('aSourceContent')) + PyJs_SourceNode_setSourceContent_257_._set_name('SourceNode_setSourceContent') + var.get('SourceNode').get('prototype').put('setSourceContent', PyJs_SourceNode_setSourceContent_257_) + @Js + def PyJs_SourceNode_walkSourceContents_258_(aFn, this, arguments, var=var): + var = Scope({'aFn':aFn, 'this':this, 'arguments':arguments, 'SourceNode_walkSourceContents':PyJs_SourceNode_walkSourceContents_258_}, var) + var.registers(['sources', 'i', 'aFn', 'len']) + #for JS loop + var.put('i', Js(0.0)) + var.put('len', var.get(u"this").get('children').get('length')) + while (var.get('i')=Js(0.0)): + try: + var.put('part', var.get('parts').get(var.get('i'))) + if PyJsStrictEq(var.get('part'),Js('.')): + var.get('parts').callprop('splice', var.get('i'), Js(1.0)) + else: + if PyJsStrictEq(var.get('part'),Js('..')): + (var.put('up',Js(var.get('up').to_number())+Js(1))-Js(1)) + else: + if (var.get('up')>Js(0.0)): + if PyJsStrictEq(var.get('part'),Js('')): + var.get('parts').callprop('splice', (var.get('i')+Js(1.0)), var.get('up')) + var.put('up', Js(0.0)) + else: + var.get('parts').callprop('splice', var.get('i'), Js(2.0)) + (var.put('up',Js(var.get('up').to_number())-Js(1))+Js(1)) + finally: + (var.put('i',Js(var.get('i').to_number())-Js(1))+Js(1)) + var.put('path', var.get('parts').callprop('join', Js('/'))) + if PyJsStrictEq(var.get('path'),Js('')): + var.put('path', (Js('/') if var.get('isAbsolute') else Js('.'))) + if var.get('url'): + var.get('url').put('path', var.get('path')) + return var.get('urlGenerate')(var.get('url')) + return var.get('path') + PyJsHoisted_normalize_.func_name = 'normalize' + var.put('normalize', PyJsHoisted_normalize_) + @Js + def PyJsHoisted_join_(aRoot, aPath, this, arguments, var=var): + var = Scope({'aRoot':aRoot, 'aPath':aPath, 'this':this, 'arguments':arguments}, var) + var.registers(['aPathUrl', 'aPath', 'aRootUrl', 'joined', 'aRoot']) + if PyJsStrictEq(var.get('aRoot'),Js('')): + var.put('aRoot', Js('.')) + if PyJsStrictEq(var.get('aPath'),Js('')): + var.put('aPath', Js('.')) + var.put('aPathUrl', var.get('urlParse')(var.get('aPath'))) + var.put('aRootUrl', var.get('urlParse')(var.get('aRoot'))) + if var.get('aRootUrl'): + var.put('aRoot', (var.get('aRootUrl').get('path') or Js('/'))) + if (var.get('aPathUrl') and var.get('aPathUrl').get('scheme').neg()): + if var.get('aRootUrl'): + var.get('aPathUrl').put('scheme', var.get('aRootUrl').get('scheme')) + return var.get('urlGenerate')(var.get('aPathUrl')) + if (var.get('aPathUrl') or var.get('aPath').callprop('match', var.get('dataUrlRegexp'))): + return var.get('aPath') + if ((var.get('aRootUrl') and var.get('aRootUrl').get('host').neg()) and var.get('aRootUrl').get('path').neg()): + var.get('aRootUrl').put('host', var.get('aPath')) + return var.get('urlGenerate')(var.get('aRootUrl')) + var.put('joined', (var.get('aPath') if PyJsStrictEq(var.get('aPath').callprop('charAt', Js(0.0)),Js('/')) else var.get('normalize')(((var.get('aRoot').callprop('replace', JsRegExp('/\\/+$/'), Js(''))+Js('/'))+var.get('aPath'))))) + if var.get('aRootUrl'): + var.get('aRootUrl').put('path', var.get('joined')) + return var.get('urlGenerate')(var.get('aRootUrl')) + return var.get('joined') + PyJsHoisted_join_.func_name = 'join' + var.put('join', PyJsHoisted_join_) + @Js + def PyJsHoisted_relative_(aRoot, aPath, this, arguments, var=var): + var = Scope({'aRoot':aRoot, 'aPath':aPath, 'this':this, 'arguments':arguments}, var) + var.registers(['index', 'aRoot', 'level', 'aPath']) + if PyJsStrictEq(var.get('aRoot'),Js('')): + var.put('aRoot', Js('.')) + var.put('aRoot', var.get('aRoot').callprop('replace', JsRegExp('/\\/$/'), Js(''))) + var.put('level', Js(0.0)) + while PyJsStrictNeq(var.get('aPath').callprop('indexOf', (var.get('aRoot')+Js('/'))),Js(0.0)): + var.put('index', var.get('aRoot').callprop('lastIndexOf', Js('/'))) + if (var.get('index')=Js(0.0)): + try: + if PyJsStrictNeq(var.get('s').callprop('charCodeAt', var.get('i')),Js(36.0)): + return Js(False) + finally: + (var.put('i',Js(var.get('i').to_number())-Js(1))+Js(1)) + return Js(True) + PyJsHoisted_isProtoString_.func_name = 'isProtoString' + var.put('isProtoString', PyJsHoisted_isProtoString_) + @Js + def PyJsHoisted_compareByOriginalPositions_(mappingA, mappingB, onlyCompareOriginal, this, arguments, var=var): + var = Scope({'mappingA':mappingA, 'mappingB':mappingB, 'onlyCompareOriginal':onlyCompareOriginal, 'this':this, 'arguments':arguments}, var) + var.registers(['mappingB', 'onlyCompareOriginal', 'cmp', 'mappingA']) + var.put('cmp', var.get('strcmp')(var.get('mappingA').get('source'), var.get('mappingB').get('source'))) + if PyJsStrictNeq(var.get('cmp'),Js(0.0)): + return var.get('cmp') + var.put('cmp', (var.get('mappingA').get('originalLine')-var.get('mappingB').get('originalLine'))) + if PyJsStrictNeq(var.get('cmp'),Js(0.0)): + return var.get('cmp') + var.put('cmp', (var.get('mappingA').get('originalColumn')-var.get('mappingB').get('originalColumn'))) + if (PyJsStrictNeq(var.get('cmp'),Js(0.0)) or var.get('onlyCompareOriginal')): + return var.get('cmp') + var.put('cmp', (var.get('mappingA').get('generatedColumn')-var.get('mappingB').get('generatedColumn'))) + if PyJsStrictNeq(var.get('cmp'),Js(0.0)): + return var.get('cmp') + var.put('cmp', (var.get('mappingA').get('generatedLine')-var.get('mappingB').get('generatedLine'))) + if PyJsStrictNeq(var.get('cmp'),Js(0.0)): + return var.get('cmp') + return var.get('strcmp')(var.get('mappingA').get('name'), var.get('mappingB').get('name')) + PyJsHoisted_compareByOriginalPositions_.func_name = 'compareByOriginalPositions' + var.put('compareByOriginalPositions', PyJsHoisted_compareByOriginalPositions_) + @Js + def PyJsHoisted_compareByGeneratedPositionsDeflated_(mappingA, mappingB, onlyCompareGenerated, this, arguments, var=var): + var = Scope({'mappingA':mappingA, 'mappingB':mappingB, 'onlyCompareGenerated':onlyCompareGenerated, 'this':this, 'arguments':arguments}, var) + var.registers(['mappingB', 'onlyCompareGenerated', 'cmp', 'mappingA']) + var.put('cmp', (var.get('mappingA').get('generatedLine')-var.get('mappingB').get('generatedLine'))) + if PyJsStrictNeq(var.get('cmp'),Js(0.0)): + return var.get('cmp') + var.put('cmp', (var.get('mappingA').get('generatedColumn')-var.get('mappingB').get('generatedColumn'))) + if (PyJsStrictNeq(var.get('cmp'),Js(0.0)) or var.get('onlyCompareGenerated')): + return var.get('cmp') + var.put('cmp', var.get('strcmp')(var.get('mappingA').get('source'), var.get('mappingB').get('source'))) + if PyJsStrictNeq(var.get('cmp'),Js(0.0)): + return var.get('cmp') + var.put('cmp', (var.get('mappingA').get('originalLine')-var.get('mappingB').get('originalLine'))) + if PyJsStrictNeq(var.get('cmp'),Js(0.0)): + return var.get('cmp') + var.put('cmp', (var.get('mappingA').get('originalColumn')-var.get('mappingB').get('originalColumn'))) + if PyJsStrictNeq(var.get('cmp'),Js(0.0)): + return var.get('cmp') + return var.get('strcmp')(var.get('mappingA').get('name'), var.get('mappingB').get('name')) + PyJsHoisted_compareByGeneratedPositionsDeflated_.func_name = 'compareByGeneratedPositionsDeflated' + var.put('compareByGeneratedPositionsDeflated', PyJsHoisted_compareByGeneratedPositionsDeflated_) + @Js + def PyJsHoisted_strcmp_(aStr1, aStr2, this, arguments, var=var): + var = Scope({'aStr1':aStr1, 'aStr2':aStr2, 'this':this, 'arguments':arguments}, var) + var.registers(['aStr2', 'aStr1']) + if PyJsStrictEq(var.get('aStr1'),var.get('aStr2')): + return Js(0.0) + if PyJsStrictEq(var.get('aStr1'),var.get(u"null")): + return Js(1.0) + if PyJsStrictEq(var.get('aStr2'),var.get(u"null")): + return (-Js(1.0)) + if (var.get('aStr1')>var.get('aStr2')): + return Js(1.0) + return (-Js(1.0)) + PyJsHoisted_strcmp_.func_name = 'strcmp' + var.put('strcmp', PyJsHoisted_strcmp_) + @Js + def PyJsHoisted_compareByGeneratedPositionsInflated_(mappingA, mappingB, this, arguments, var=var): + var = Scope({'mappingA':mappingA, 'mappingB':mappingB, 'this':this, 'arguments':arguments}, var) + var.registers(['mappingB', 'cmp', 'mappingA']) + var.put('cmp', (var.get('mappingA').get('generatedLine')-var.get('mappingB').get('generatedLine'))) + if PyJsStrictNeq(var.get('cmp'),Js(0.0)): + return var.get('cmp') + var.put('cmp', (var.get('mappingA').get('generatedColumn')-var.get('mappingB').get('generatedColumn'))) + if PyJsStrictNeq(var.get('cmp'),Js(0.0)): + return var.get('cmp') + var.put('cmp', var.get('strcmp')(var.get('mappingA').get('source'), var.get('mappingB').get('source'))) + if PyJsStrictNeq(var.get('cmp'),Js(0.0)): + return var.get('cmp') + var.put('cmp', (var.get('mappingA').get('originalLine')-var.get('mappingB').get('originalLine'))) + if PyJsStrictNeq(var.get('cmp'),Js(0.0)): + return var.get('cmp') + var.put('cmp', (var.get('mappingA').get('originalColumn')-var.get('mappingB').get('originalColumn'))) + if PyJsStrictNeq(var.get('cmp'),Js(0.0)): + return var.get('cmp') + return var.get('strcmp')(var.get('mappingA').get('name'), var.get('mappingB').get('name')) + PyJsHoisted_compareByGeneratedPositionsInflated_.func_name = 'compareByGeneratedPositionsInflated' + var.put('compareByGeneratedPositionsInflated', PyJsHoisted_compareByGeneratedPositionsInflated_) + @Js + def PyJsHoisted_parseSourceMapInput_(str, this, arguments, var=var): + var = Scope({'str':str, 'this':this, 'arguments':arguments}, var) + var.registers(['str']) + return var.get('JSON').callprop('parse', var.get('str').callprop('replace', JsRegExp("/^\\)]}'[^\\n]*\\n/"), Js(''))) + PyJsHoisted_parseSourceMapInput_.func_name = 'parseSourceMapInput' + var.put('parseSourceMapInput', PyJsHoisted_parseSourceMapInput_) + @Js + def PyJsHoisted_computeSourceURL_(sourceRoot, sourceURL, sourceMapURL, this, arguments, var=var): + var = Scope({'sourceRoot':sourceRoot, 'sourceURL':sourceURL, 'sourceMapURL':sourceMapURL, 'this':this, 'arguments':arguments}, var) + var.registers(['parsed', 'sourceURL', 'index', 'sourceRoot', 'sourceMapURL']) + var.put('sourceURL', (var.get('sourceURL') or Js(''))) + if var.get('sourceRoot'): + if (PyJsStrictNeq(var.get('sourceRoot').get((var.get('sourceRoot').get('length')-Js(1.0))),Js('/')) and PyJsStrictNeq(var.get('sourceURL').get('0'),Js('/'))): + var.put('sourceRoot', Js('/'), '+') + var.put('sourceURL', (var.get('sourceRoot')+var.get('sourceURL'))) + if var.get('sourceMapURL'): + var.put('parsed', var.get('urlParse')(var.get('sourceMapURL'))) + if var.get('parsed').neg(): + PyJsTempException = JsToPyException(var.get('Error').create(Js('sourceMapURL could not be parsed'))) + raise PyJsTempException + if var.get('parsed').get('path'): + var.put('index', var.get('parsed').get('path').callprop('lastIndexOf', Js('/'))) + if (var.get('index')>=Js(0.0)): + var.get('parsed').put('path', var.get('parsed').get('path').callprop('substring', Js(0.0), (var.get('index')+Js(1.0)))) + var.put('sourceURL', var.get('join')(var.get('urlGenerate')(var.get('parsed')), var.get('sourceURL'))) + return var.get('normalize')(var.get('sourceURL')) + PyJsHoisted_computeSourceURL_.func_name = 'computeSourceURL' + var.put('computeSourceURL', PyJsHoisted_computeSourceURL_) + pass + var.get('exports').put('getArg', var.get('getArg')) + var.put('urlRegexp', JsRegExp('/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/')) + var.put('dataUrlRegexp', JsRegExp('/^data:.+\\,.+$/')) + pass + var.get('exports').put('urlParse', var.get('urlParse')) + pass + var.get('exports').put('urlGenerate', var.get('urlGenerate')) + pass + var.get('exports').put('normalize', var.get('normalize')) + pass + var.get('exports').put('join', var.get('join')) + @Js + def PyJs_anonymous_277_(aPath, this, arguments, var=var): + var = Scope({'aPath':aPath, 'this':this, 'arguments':arguments}, var) + var.registers(['aPath']) + return (PyJsStrictEq(var.get('aPath').callprop('charAt', Js(0.0)),Js('/')) or var.get('urlRegexp').callprop('test', var.get('aPath'))) + PyJs_anonymous_277_._set_name('anonymous') + var.get('exports').put('isAbsolute', PyJs_anonymous_277_) + pass + var.get('exports').put('relative', var.get('relative')) + @Js + def PyJs_anonymous_278_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['obj']) + var.put('obj', var.get('Object').callprop('create', var.get(u"null"))) + return var.get('obj').contains(Js('__proto__')).neg() + PyJs_anonymous_278_._set_name('anonymous') + var.put('supportsNullProto', PyJs_anonymous_278_()) + pass + pass + var.get('exports').put('toSetString', (var.get('identity') if var.get('supportsNullProto') else var.get('toSetString'))) + pass + var.get('exports').put('fromSetString', (var.get('identity') if var.get('supportsNullProto') else var.get('fromSetString'))) + pass + pass + var.get('exports').put('compareByOriginalPositions', var.get('compareByOriginalPositions')) + pass + var.get('exports').put('compareByGeneratedPositionsDeflated', var.get('compareByGeneratedPositionsDeflated')) + pass + pass + var.get('exports').put('compareByGeneratedPositionsInflated', var.get('compareByGeneratedPositionsInflated')) + pass + var.get('exports').put('parseSourceMapInput', var.get('parseSourceMapInput')) + pass + var.get('exports').put('computeSourceURL', var.get('computeSourceURL')) +PyJs_anonymous_275_._set_name('anonymous') +PyJs_Object_280_ = Js({}) +@Js +def PyJs_anonymous_281_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['require', 'exports', 'module']) + var.get('exports').put('SourceMapGenerator', var.get('require')(Js('./lib/source-map-generator')).get('SourceMapGenerator')) + var.get('exports').put('SourceMapConsumer', var.get('require')(Js('./lib/source-map-consumer')).get('SourceMapConsumer')) + var.get('exports').put('SourceNode', var.get('require')(Js('./lib/source-node')).get('SourceNode')) +PyJs_anonymous_281_._set_name('anonymous') +PyJs_Object_282_ = Js({'./lib/source-map-consumer':Js(8.0),'./lib/source-map-generator':Js(9.0),'./lib/source-node':Js(10.0)}) +@Js +def PyJs_anonymous_283_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['require', 'exports', 'module']) + PyJs_Object_285_ = Js({}) + PyJs_Object_286_ = Js({'type':Js('tag'),'registry':Js(True),'raw':Js('escodegen'),'name':Js('escodegen'),'escapedName':Js('escodegen'),'rawSpec':Js(''),'saveSpec':var.get(u"null"),'fetchSpec':Js('latest')}) + PyJs_Object_287_ = Js({'esgenerate':Js('./bin/esgenerate.js'),'escodegen':Js('./bin/escodegen.js')}) + PyJs_Object_288_ = Js({'url':Js('https://github.com/estools/escodegen/issues')}) + PyJs_Object_289_ = Js({'esprima':Js('^3.1.3'),'estraverse':Js('^4.2.0'),'esutils':Js('^2.0.2'),'optionator':Js('^0.8.1'),'source-map':Js('~0.6.1')}) + PyJs_Object_290_ = Js({'acorn':Js('^4.0.4'),'bluebird':Js('^3.4.7'),'bower-registry-client':Js('^1.0.0'),'chai':Js('^3.5.0'),'commonjs-everywhere':Js('^0.9.7'),'gulp':Js('^3.8.10'),'gulp-eslint':Js('^3.0.1'),'gulp-mocha':Js('^3.0.1'),'semver':Js('^5.1.0')}) + PyJs_Object_291_ = Js({'node':Js('>=4.0')}) + PyJs_Object_292_ = Js({'name':Js('Yusuke Suzuki'),'email':Js('utatane.tea@gmail.com'),'url':Js('http://github.com/Constellation')}) + PyJs_Object_293_ = Js({'source-map':Js('~0.6.1')}) + PyJs_Object_294_ = Js({'type':Js('git'),'url':Js('git+ssh://git@github.com/estools/escodegen.git')}) + PyJs_Object_295_ = Js({'build':Js('cjsify -a path: tools/entry-point.js > escodegen.browser.js'),'build-min':Js('cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js'),'lint':Js('gulp lint'),'release':Js('node tools/release.js'),'test':Js('gulp travis'),'unit-test':Js('gulp test')}) + PyJs_Object_284_ = Js({'_from':Js('escodegen'),'_id':Js('escodegen@1.11.1'),'_inBundle':Js(False),'_integrity':Js('sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw=='),'_location':Js('/escodegen'),'_phantomChildren':PyJs_Object_285_,'_requested':PyJs_Object_286_,'_requiredBy':Js([Js('#USER'), Js('/')]),'_resolved':Js('https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz'),'_shasum':Js('c485ff8d6b4cdb89e27f4a856e91f118401ca510'),'_spec':Js('escodegen'),'_where':Js('/Users/piotrdabkowski/PycharmProjects/Js2Py/js2py'),'bin':PyJs_Object_287_,'bugs':PyJs_Object_288_,'bundleDependencies':Js(False),'dependencies':PyJs_Object_289_,'deprecated':Js(False),'description':Js('ECMAScript code generator'),'devDependencies':PyJs_Object_290_,'engines':PyJs_Object_291_,'files':Js([Js('LICENSE.BSD'), Js('README.md'), Js('bin'), Js('escodegen.js'), Js('package.json')]),'homepage':Js('http://github.com/estools/escodegen'),'license':Js('BSD-2-Clause'),'main':Js('escodegen.js'),'maintainers':Js([PyJs_Object_292_]),'name':Js('escodegen'),'optionalDependencies':PyJs_Object_293_,'repository':PyJs_Object_294_,'scripts':PyJs_Object_295_,'version':Js('1.11.1')}) + var.get('module').put('exports', PyJs_Object_284_) +PyJs_anonymous_283_._set_name('anonymous') +PyJs_Object_296_ = Js({}) +@Js +def PyJs_anonymous_297_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['require', 'exports', 'module']) + @Js + def PyJs_clone_298_(exports, this, arguments, var=var): + var = Scope({'exports':exports, 'this':this, 'arguments':arguments, 'clone':PyJs_clone_298_}, var) + var.registers(['Controller', 'VisitorKeys', 'BREAK', 'REMOVE', 'Element', 'shallowCopy', 'Syntax', 'traverse', 'extendCommentRange', 'SKIP', 'isArray', 'upperBound', 'ignoreJSHintError', 'isNode', 'replace', 'Reference', 'exports', 'objectKeys', 'extend', 'isProperty', 'lowerBound', 'objectCreate', 'deepCopy', 'VisitorOption', 'attachComments']) + @Js + def PyJsHoisted_ignoreJSHintError_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + pass + PyJsHoisted_ignoreJSHintError_.func_name = 'ignoreJSHintError' + var.put('ignoreJSHintError', PyJsHoisted_ignoreJSHintError_) + @Js + def PyJsHoisted_deepCopy_(obj, this, arguments, var=var): + var = Scope({'obj':obj, 'this':this, 'arguments':arguments}, var) + var.registers(['key', 'ret', 'obj', 'val']) + PyJs_Object_300_ = Js({}) + var.put('ret', PyJs_Object_300_) + for PyJsTemp in var.get('obj'): + var.put('key', PyJsTemp) + if var.get('obj').callprop('hasOwnProperty', var.get('key')): + var.put('val', var.get('obj').get(var.get('key'))) + if (PyJsStrictEq((Js('undefined') if PyJsStrictEq(var.get('val',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('val'))),Js('object')) and PyJsStrictNeq(var.get('val'),var.get(u"null"))): + var.get('ret').put(var.get('key'), var.get('deepCopy')(var.get('val'))) + else: + var.get('ret').put(var.get('key'), var.get('val')) + return var.get('ret') + PyJsHoisted_deepCopy_.func_name = 'deepCopy' + var.put('deepCopy', PyJsHoisted_deepCopy_) + @Js + def PyJsHoisted_shallowCopy_(obj, this, arguments, var=var): + var = Scope({'obj':obj, 'this':this, 'arguments':arguments}, var) + var.registers(['key', 'ret', 'obj']) + PyJs_Object_301_ = Js({}) + var.put('ret', PyJs_Object_301_) + for PyJsTemp in var.get('obj'): + var.put('key', PyJsTemp) + if var.get('obj').callprop('hasOwnProperty', var.get('key')): + var.get('ret').put(var.get('key'), var.get('obj').get(var.get('key'))) + return var.get('ret') + PyJsHoisted_shallowCopy_.func_name = 'shallowCopy' + var.put('shallowCopy', PyJsHoisted_shallowCopy_) + @Js + def PyJsHoisted_upperBound_(array, func, this, arguments, var=var): + var = Scope({'array':array, 'func':func, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'array', 'current', 'diff', 'i', 'len']) + pass + var.put('len', var.get('array').get('length')) + var.put('i', Js(0.0)) + while var.get('len'): + var.put('diff', PyJsBshift(var.get('len'),Js(1.0))) + var.put('current', (var.get('i')+var.get('diff'))) + if var.get('func')(var.get('array').get(var.get('current'))): + var.put('len', var.get('diff')) + else: + var.put('i', (var.get('current')+Js(1.0))) + var.put('len', (var.get('diff')+Js(1.0)), '-') + return var.get('i') + PyJsHoisted_upperBound_.func_name = 'upperBound' + var.put('upperBound', PyJsHoisted_upperBound_) + @Js + def PyJsHoisted_lowerBound_(array, func, this, arguments, var=var): + var = Scope({'array':array, 'func':func, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'array', 'current', 'diff', 'i', 'len']) + pass + var.put('len', var.get('array').get('length')) + var.put('i', Js(0.0)) + while var.get('len'): + var.put('diff', PyJsBshift(var.get('len'),Js(1.0))) + var.put('current', (var.get('i')+var.get('diff'))) + if var.get('func')(var.get('array').get(var.get('current'))): + var.put('i', (var.get('current')+Js(1.0))) + var.put('len', (var.get('diff')+Js(1.0)), '-') + else: + var.put('len', var.get('diff')) + return var.get('i') + PyJsHoisted_lowerBound_.func_name = 'lowerBound' + var.put('lowerBound', PyJsHoisted_lowerBound_) + @Js + def PyJsHoisted_extend_(to, PyJsArg_66726f6d_, this, arguments, var=var): + var = Scope({'to':to, 'from':PyJsArg_66726f6d_, 'this':this, 'arguments':arguments}, var) + var.registers(['to', 'from', 'key', 'i', 'len', 'keys']) + var.put('keys', var.get('objectKeys')(var.get('from'))) + #for JS loop + PyJsComma(var.put('i', Js(0.0)),var.put('len', var.get('keys').get('length'))) + while (var.get('i')var.get('comment').get('range').get('0')) + PyJs_search_328_._set_name('search') + var.put('target', var.get('upperBound')(var.get('tokens'), PyJs_search_328_)) + var.get('comment').put('extendedRange', Js([var.get('comment').get('range').get('0'), var.get('comment').get('range').get('1')])) + if PyJsStrictNeq(var.get('target'),var.get('tokens').get('length')): + var.get('comment').get('extendedRange').put('1', var.get('tokens').get(var.get('target')).get('range').get('0')) + var.put('target', Js(1.0), '-') + if (var.get('target')>=Js(0.0)): + var.get('comment').get('extendedRange').put('0', var.get('tokens').get(var.get('target')).get('range').get('1')) + return var.get('comment') + PyJsHoisted_extendCommentRange_.func_name = 'extendCommentRange' + var.put('extendCommentRange', PyJsHoisted_extendCommentRange_) + @Js + def PyJsHoisted_attachComments_(tree, providedComments, tokens, this, arguments, var=var): + var = Scope({'tree':tree, 'providedComments':providedComments, 'tokens':tokens, 'this':this, 'arguments':arguments}, var) + var.registers(['tree', 'comments', 'providedComments', 'comment', 'tokens', 'i', 'len', 'cursor']) + var.put('comments', Js([])) + if var.get('tree').get('range').neg(): + PyJsTempException = JsToPyException(var.get('Error').create(Js('attachComments needs range information'))) + raise PyJsTempException + if var.get('tokens').get('length').neg(): + if var.get('providedComments').get('length'): + #for JS loop + PyJsComma(var.put('i', Js(0.0)),var.put('len', var.get('providedComments').get('length'))) + while (var.get('i')var.get('node').get('range').get('0')): + break + if PyJsStrictEq(var.get('comment').get('extendedRange').get('1'),var.get('node').get('range').get('0')): + if var.get('node').get('leadingComments').neg(): + var.get('node').put('leadingComments', Js([])) + var.get('node').get('leadingComments').callprop('push', var.get('comment')) + var.get('comments').callprop('splice', var.get('cursor'), Js(1.0)) + else: + var.put('cursor', Js(1.0), '+') + if PyJsStrictEq(var.get('cursor'),var.get('comments').get('length')): + return var.get('VisitorOption').get('Break') + if (var.get('comments').get(var.get('cursor')).get('extendedRange').get('0')>var.get('node').get('range').get('1')): + return var.get('VisitorOption').get('Skip') + PyJs_enter_330_._set_name('enter') + PyJs_Object_329_ = Js({'enter':PyJs_enter_330_}) + var.get('traverse')(var.get('tree'), PyJs_Object_329_) + var.put('cursor', Js(0.0)) + @Js + def PyJs_leave_332_(node, this, arguments, var=var): + var = Scope({'node':node, 'this':this, 'arguments':arguments, 'leave':PyJs_leave_332_}, var) + var.registers(['node', 'comment']) + pass + while (var.get('cursor')var.get('node').get('range').get('1')): + return var.get('VisitorOption').get('Skip') + PyJs_leave_332_._set_name('leave') + PyJs_Object_331_ = Js({'leave':PyJs_leave_332_}) + var.get('traverse')(var.get('tree'), PyJs_Object_331_) + return var.get('tree') + PyJsHoisted_attachComments_.func_name = 'attachComments' + var.put('attachComments', PyJsHoisted_attachComments_) + Js('use strict') + pass + pass + var.put('isArray', var.get('Array').get('isArray')) + if var.get('isArray').neg(): + @Js + def PyJs_isArray_299_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments, 'isArray':PyJs_isArray_299_}, var) + var.registers(['array']) + return PyJsStrictEq(var.get('Object').get('prototype').get('toString').callprop('call', var.get('array')),Js('[object Array]')) + PyJs_isArray_299_._set_name('isArray') + var.put('isArray', PyJs_isArray_299_) + pass + pass + var.get('ignoreJSHintError')(var.get('shallowCopy')) + pass + pass + var.get('ignoreJSHintError')(var.get('lowerBound')) + @Js + def PyJs_anonymous_302_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['F']) + @Js + def PyJsHoisted_F_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + pass + PyJsHoisted_F_.func_name = 'F' + var.put('F', PyJsHoisted_F_) + pass + @Js + def PyJs_anonymous_303_(o, this, arguments, var=var): + var = Scope({'o':o, 'this':this, 'arguments':arguments}, var) + var.registers(['o']) + var.get('F').put('prototype', var.get('o')) + return var.get('F').create() + PyJs_anonymous_303_._set_name('anonymous') + return PyJs_anonymous_303_ + PyJs_anonymous_302_._set_name('anonymous') + var.put('objectCreate', (var.get('Object').get('create') or PyJs_anonymous_302_())) + @Js + def PyJs_anonymous_304_(o, this, arguments, var=var): + var = Scope({'o':o, 'this':this, 'arguments':arguments}, var) + var.registers(['key', 'keys', 'o']) + var.put('keys', Js([])) + for PyJsTemp in var.get('o'): + var.put('key', PyJsTemp) + var.get('keys').callprop('push', var.get('key')) + return var.get('keys') + PyJs_anonymous_304_._set_name('anonymous') + var.put('objectKeys', (var.get('Object').get('keys') or PyJs_anonymous_304_)) + pass + PyJs_Object_305_ = Js({'AssignmentExpression':Js('AssignmentExpression'),'AssignmentPattern':Js('AssignmentPattern'),'ArrayExpression':Js('ArrayExpression'),'ArrayPattern':Js('ArrayPattern'),'ArrowFunctionExpression':Js('ArrowFunctionExpression'),'AwaitExpression':Js('AwaitExpression'),'BlockStatement':Js('BlockStatement'),'BinaryExpression':Js('BinaryExpression'),'BreakStatement':Js('BreakStatement'),'CallExpression':Js('CallExpression'),'CatchClause':Js('CatchClause'),'ClassBody':Js('ClassBody'),'ClassDeclaration':Js('ClassDeclaration'),'ClassExpression':Js('ClassExpression'),'ComprehensionBlock':Js('ComprehensionBlock'),'ComprehensionExpression':Js('ComprehensionExpression'),'ConditionalExpression':Js('ConditionalExpression'),'ContinueStatement':Js('ContinueStatement'),'DebuggerStatement':Js('DebuggerStatement'),'DirectiveStatement':Js('DirectiveStatement'),'DoWhileStatement':Js('DoWhileStatement'),'EmptyStatement':Js('EmptyStatement'),'ExportAllDeclaration':Js('ExportAllDeclaration'),'ExportDefaultDeclaration':Js('ExportDefaultDeclaration'),'ExportNamedDeclaration':Js('ExportNamedDeclaration'),'ExportSpecifier':Js('ExportSpecifier'),'ExpressionStatement':Js('ExpressionStatement'),'ForStatement':Js('ForStatement'),'ForInStatement':Js('ForInStatement'),'ForOfStatement':Js('ForOfStatement'),'FunctionDeclaration':Js('FunctionDeclaration'),'FunctionExpression':Js('FunctionExpression'),'GeneratorExpression':Js('GeneratorExpression'),'Identifier':Js('Identifier'),'IfStatement':Js('IfStatement'),'ImportDeclaration':Js('ImportDeclaration'),'ImportDefaultSpecifier':Js('ImportDefaultSpecifier'),'ImportNamespaceSpecifier':Js('ImportNamespaceSpecifier'),'ImportSpecifier':Js('ImportSpecifier'),'Literal':Js('Literal'),'LabeledStatement':Js('LabeledStatement'),'LogicalExpression':Js('LogicalExpression'),'MemberExpression':Js('MemberExpression'),'MetaProperty':Js('MetaProperty'),'MethodDefinition':Js('MethodDefinition'),'ModuleSpecifier':Js('ModuleSpecifier'),'NewExpression':Js('NewExpression'),'ObjectExpression':Js('ObjectExpression'),'ObjectPattern':Js('ObjectPattern'),'Program':Js('Program'),'Property':Js('Property'),'RestElement':Js('RestElement'),'ReturnStatement':Js('ReturnStatement'),'SequenceExpression':Js('SequenceExpression'),'SpreadElement':Js('SpreadElement'),'Super':Js('Super'),'SwitchStatement':Js('SwitchStatement'),'SwitchCase':Js('SwitchCase'),'TaggedTemplateExpression':Js('TaggedTemplateExpression'),'TemplateElement':Js('TemplateElement'),'TemplateLiteral':Js('TemplateLiteral'),'ThisExpression':Js('ThisExpression'),'ThrowStatement':Js('ThrowStatement'),'TryStatement':Js('TryStatement'),'UnaryExpression':Js('UnaryExpression'),'UpdateExpression':Js('UpdateExpression'),'VariableDeclaration':Js('VariableDeclaration'),'VariableDeclarator':Js('VariableDeclarator'),'WhileStatement':Js('WhileStatement'),'WithStatement':Js('WithStatement'),'YieldExpression':Js('YieldExpression')}) + var.put('Syntax', PyJs_Object_305_) + PyJs_Object_306_ = Js({'AssignmentExpression':Js([Js('left'), Js('right')]),'AssignmentPattern':Js([Js('left'), Js('right')]),'ArrayExpression':Js([Js('elements')]),'ArrayPattern':Js([Js('elements')]),'ArrowFunctionExpression':Js([Js('params'), Js('body')]),'AwaitExpression':Js([Js('argument')]),'BlockStatement':Js([Js('body')]),'BinaryExpression':Js([Js('left'), Js('right')]),'BreakStatement':Js([Js('label')]),'CallExpression':Js([Js('callee'), Js('arguments')]),'CatchClause':Js([Js('param'), Js('body')]),'ClassBody':Js([Js('body')]),'ClassDeclaration':Js([Js('id'), Js('superClass'), Js('body')]),'ClassExpression':Js([Js('id'), Js('superClass'), Js('body')]),'ComprehensionBlock':Js([Js('left'), Js('right')]),'ComprehensionExpression':Js([Js('blocks'), Js('filter'), Js('body')]),'ConditionalExpression':Js([Js('test'), Js('consequent'), Js('alternate')]),'ContinueStatement':Js([Js('label')]),'DebuggerStatement':Js([]),'DirectiveStatement':Js([]),'DoWhileStatement':Js([Js('body'), Js('test')]),'EmptyStatement':Js([]),'ExportAllDeclaration':Js([Js('source')]),'ExportDefaultDeclaration':Js([Js('declaration')]),'ExportNamedDeclaration':Js([Js('declaration'), Js('specifiers'), Js('source')]),'ExportSpecifier':Js([Js('exported'), Js('local')]),'ExpressionStatement':Js([Js('expression')]),'ForStatement':Js([Js('init'), Js('test'), Js('update'), Js('body')]),'ForInStatement':Js([Js('left'), Js('right'), Js('body')]),'ForOfStatement':Js([Js('left'), Js('right'), Js('body')]),'FunctionDeclaration':Js([Js('id'), Js('params'), Js('body')]),'FunctionExpression':Js([Js('id'), Js('params'), Js('body')]),'GeneratorExpression':Js([Js('blocks'), Js('filter'), Js('body')]),'Identifier':Js([]),'IfStatement':Js([Js('test'), Js('consequent'), Js('alternate')]),'ImportDeclaration':Js([Js('specifiers'), Js('source')]),'ImportDefaultSpecifier':Js([Js('local')]),'ImportNamespaceSpecifier':Js([Js('local')]),'ImportSpecifier':Js([Js('imported'), Js('local')]),'Literal':Js([]),'LabeledStatement':Js([Js('label'), Js('body')]),'LogicalExpression':Js([Js('left'), Js('right')]),'MemberExpression':Js([Js('object'), Js('property')]),'MetaProperty':Js([Js('meta'), Js('property')]),'MethodDefinition':Js([Js('key'), Js('value')]),'ModuleSpecifier':Js([]),'NewExpression':Js([Js('callee'), Js('arguments')]),'ObjectExpression':Js([Js('properties')]),'ObjectPattern':Js([Js('properties')]),'Program':Js([Js('body')]),'Property':Js([Js('key'), Js('value')]),'RestElement':Js([Js('argument')]),'ReturnStatement':Js([Js('argument')]),'SequenceExpression':Js([Js('expressions')]),'SpreadElement':Js([Js('argument')]),'Super':Js([]),'SwitchStatement':Js([Js('discriminant'), Js('cases')]),'SwitchCase':Js([Js('test'), Js('consequent')]),'TaggedTemplateExpression':Js([Js('tag'), Js('quasi')]),'TemplateElement':Js([]),'TemplateLiteral':Js([Js('quasis'), Js('expressions')]),'ThisExpression':Js([]),'ThrowStatement':Js([Js('argument')]),'TryStatement':Js([Js('block'), Js('handler'), Js('finalizer')]),'UnaryExpression':Js([Js('argument')]),'UpdateExpression':Js([Js('argument')]),'VariableDeclaration':Js([Js('declarations')]),'VariableDeclarator':Js([Js('id'), Js('init')]),'WhileStatement':Js([Js('test'), Js('body')]),'WithStatement':Js([Js('object'), Js('body')]),'YieldExpression':Js([Js('argument')])}) + var.put('VisitorKeys', PyJs_Object_306_) + PyJs_Object_307_ = Js({}) + var.put('BREAK', PyJs_Object_307_) + PyJs_Object_308_ = Js({}) + var.put('SKIP', PyJs_Object_308_) + PyJs_Object_309_ = Js({}) + var.put('REMOVE', PyJs_Object_309_) + PyJs_Object_310_ = Js({'Break':var.get('BREAK'),'Skip':var.get('SKIP'),'Remove':var.get('REMOVE')}) + var.put('VisitorOption', PyJs_Object_310_) + pass + @Js + def PyJs_replace_311_(node, this, arguments, var=var): + var = Scope({'node':node, 'this':this, 'arguments':arguments, 'replace':PyJs_replace_311_}, var) + var.registers(['node']) + var.get(u"this").get('parent').put(var.get(u"this").get('key'), var.get('node')) + PyJs_replace_311_._set_name('replace') + var.get('Reference').get('prototype').put('replace', PyJs_replace_311_) + @Js + def PyJs_remove_312_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'remove':PyJs_remove_312_}, var) + var.registers([]) + if var.get('isArray')(var.get(u"this").get('parent')): + var.get(u"this").get('parent').callprop('splice', var.get(u"this").get('key'), Js(1.0)) + return Js(True) + else: + var.get(u"this").callprop('replace', var.get(u"null")) + return Js(False) + PyJs_remove_312_._set_name('remove') + var.get('Reference').get('prototype').put('remove', PyJs_remove_312_) + pass + pass + @Js + def PyJs_path_313_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'path':PyJs_path_313_}, var) + var.registers(['j', 'result', 'jz', 'i', 'iz', 'addToPath', 'element']) + @Js + def PyJsHoisted_addToPath_(result, path, this, arguments, var=var): + var = Scope({'result':result, 'path':path, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'path']) + if var.get('isArray')(var.get('path')): + #for JS loop + PyJsComma(var.put('j', Js(0.0)),var.put('jz', var.get('path').get('length'))) + while (var.get('j')=Js(0.0)): + var.put('key', var.get('candidates').get(var.get('current'))) + var.put('candidate', var.get('node').get(var.get('key'))) + if var.get('candidate').neg(): + continue + if var.get('isArray')(var.get('candidate')): + var.put('current2', var.get('candidate').get('length')) + while (var.put('current2', Js(1.0), '-')>=Js(0.0)): + if var.get('candidate').get(var.get('current2')).neg(): + continue + if var.get('isProperty')(var.get('nodeType'), var.get('candidates').get(var.get('current'))): + var.put('element', var.get('Element').create(var.get('candidate').get(var.get('current2')), Js([var.get('key'), var.get('current2')]), Js('Property'), var.get(u"null"))) + else: + if var.get('isNode')(var.get('candidate').get(var.get('current2'))): + var.put('element', var.get('Element').create(var.get('candidate').get(var.get('current2')), Js([var.get('key'), var.get('current2')]), var.get(u"null"), var.get(u"null"))) + else: + continue + var.get('worklist').callprop('push', var.get('element')) + else: + if var.get('isNode')(var.get('candidate')): + var.get('worklist').callprop('push', var.get('Element').create(var.get('candidate'), var.get('key'), var.get(u"null"), var.get(u"null"))) + PyJs_traverse_323_._set_name('traverse') + var.get('Controller').get('prototype').put('traverse', PyJs_traverse_323_) + @Js + def PyJs_replace_325_(root, visitor, this, arguments, var=var): + var = Scope({'root':root, 'visitor':visitor, 'this':this, 'arguments':arguments, 'replace':PyJs_replace_325_}, var) + var.registers(['node', 'target', 'outer', 'key', 'nodeType', 'current', 'sentinel', 'root', 'leavelist', 'removeElem', 'current2', 'visitor', 'element', 'candidate', 'candidates', 'worklist']) + @Js + def PyJsHoisted_removeElem_(element, this, arguments, var=var): + var = Scope({'element':element, 'this':this, 'arguments':arguments}, var) + var.registers(['key', 'parent', 'nextElem', 'i', 'element']) + pass + if var.get('element').get('ref').callprop('remove'): + var.put('key', var.get('element').get('ref').get('key')) + var.put('parent', var.get('element').get('ref').get('parent')) + var.put('i', var.get('worklist').get('length')) + while (var.put('i',Js(var.get('i').to_number())-Js(1))+Js(1)): + var.put('nextElem', var.get('worklist').get(var.get('i'))) + if (var.get('nextElem').get('ref') and PyJsStrictEq(var.get('nextElem').get('ref').get('parent'),var.get('parent'))): + if (var.get('nextElem').get('ref').get('key')=Js(0.0)): + var.put('key', var.get('candidates').get(var.get('current'))) + var.put('candidate', var.get('node').get(var.get('key'))) + if var.get('candidate').neg(): + continue + if var.get('isArray')(var.get('candidate')): + var.put('current2', var.get('candidate').get('length')) + while (var.put('current2', Js(1.0), '-')>=Js(0.0)): + if var.get('candidate').get(var.get('current2')).neg(): + continue + if var.get('isProperty')(var.get('nodeType'), var.get('candidates').get(var.get('current'))): + var.put('element', var.get('Element').create(var.get('candidate').get(var.get('current2')), Js([var.get('key'), var.get('current2')]), Js('Property'), var.get('Reference').create(var.get('candidate'), var.get('current2')))) + else: + if var.get('isNode')(var.get('candidate').get(var.get('current2'))): + var.put('element', var.get('Element').create(var.get('candidate').get(var.get('current2')), Js([var.get('key'), var.get('current2')]), var.get(u"null"), var.get('Reference').create(var.get('candidate'), var.get('current2')))) + else: + continue + var.get('worklist').callprop('push', var.get('element')) + else: + if var.get('isNode')(var.get('candidate')): + var.get('worklist').callprop('push', var.get('Element').create(var.get('candidate'), var.get('key'), var.get(u"null"), var.get('Reference').create(var.get('node'), var.get('key')))) + return var.get('outer').get('root') + PyJs_replace_325_._set_name('replace') + var.get('Controller').get('prototype').put('replace', PyJs_replace_325_) + pass + pass + pass + pass + var.get('exports').put('version', var.get('require')(Js('./package.json')).get('version')) + var.get('exports').put('Syntax', var.get('Syntax')) + var.get('exports').put('traverse', var.get('traverse')) + var.get('exports').put('replace', var.get('replace')) + var.get('exports').put('attachComments', var.get('attachComments')) + var.get('exports').put('VisitorKeys', var.get('VisitorKeys')) + var.get('exports').put('VisitorOption', var.get('VisitorOption')) + var.get('exports').put('Controller', var.get('Controller')) + @Js + def PyJs_anonymous_333_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + PyJs_Object_334_ = Js({}) + return var.get('clone')(PyJs_Object_334_) + PyJs_anonymous_333_._set_name('anonymous') + var.get('exports').put('cloneEnvironment', PyJs_anonymous_333_) + return var.get('exports') + PyJs_clone_298_._set_name('clone') + PyJs_clone_298_(var.get('exports')) +PyJs_anonymous_297_._set_name('anonymous') +PyJs_Object_335_ = Js({'./package.json':Js(15.0)}) +@Js +def PyJs_anonymous_336_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['require', 'exports', 'module']) + PyJs_Object_338_ = Js({}) + PyJs_Object_339_ = Js({'type':Js('range'),'registry':Js(True),'raw':Js('estraverse@^4.2.0'),'name':Js('estraverse'),'escapedName':Js('estraverse'),'rawSpec':Js('^4.2.0'),'saveSpec':var.get(u"null"),'fetchSpec':Js('^4.2.0')}) + PyJs_Object_340_ = Js({'url':Js('https://github.com/estools/estraverse/issues')}) + PyJs_Object_341_ = Js({'babel-preset-es2015':Js('^6.3.13'),'babel-register':Js('^6.3.13'),'chai':Js('^2.1.1'),'espree':Js('^1.11.0'),'gulp':Js('^3.8.10'),'gulp-bump':Js('^0.2.2'),'gulp-filter':Js('^2.0.0'),'gulp-git':Js('^1.0.1'),'gulp-tag-version':Js('^1.2.1'),'jshint':Js('^2.5.6'),'mocha':Js('^2.1.0')}) + PyJs_Object_342_ = Js({'node':Js('>=0.10.0')}) + PyJs_Object_343_ = Js({'name':Js('Yusuke Suzuki'),'email':Js('utatane.tea@gmail.com'),'url':Js('http://github.com/Constellation')}) + PyJs_Object_344_ = Js({'type':Js('git'),'url':Js('git+ssh://git@github.com/estools/estraverse.git')}) + PyJs_Object_345_ = Js({'lint':Js('jshint estraverse.js'),'test':Js('npm run-script lint && npm run-script unit-test'),'unit-test':Js('mocha --compilers js:babel-register')}) + PyJs_Object_337_ = Js({'_from':Js('estraverse@^4.2.0'),'_id':Js('estraverse@4.2.0'),'_inBundle':Js(False),'_integrity':Js('sha1-De4/7TH81GlhjOc0IJn8GvoL2xM='),'_location':Js('/estraverse'),'_phantomChildren':PyJs_Object_338_,'_requested':PyJs_Object_339_,'_requiredBy':Js([Js('/escodegen')]),'_resolved':Js('https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz'),'_shasum':Js('0dee3fed31fcd469618ce7342099fc1afa0bdb13'),'_spec':Js('estraverse@^4.2.0'),'_where':Js('/Users/piotrdabkowski/PycharmProjects/Js2Py/js2py/node_modules/escodegen'),'bugs':PyJs_Object_340_,'bundleDependencies':Js(False),'deprecated':Js(False),'description':Js('ECMAScript JS AST traversal functions'),'devDependencies':PyJs_Object_341_,'engines':PyJs_Object_342_,'homepage':Js('https://github.com/estools/estraverse'),'license':Js('BSD-2-Clause'),'main':Js('estraverse.js'),'maintainers':Js([PyJs_Object_343_]),'name':Js('estraverse'),'repository':PyJs_Object_344_,'scripts':PyJs_Object_345_,'version':Js('4.2.0')}) + var.get('module').put('exports', PyJs_Object_337_) +PyJs_anonymous_336_._set_name('anonymous') +PyJs_Object_346_ = Js({}) +@Js +def PyJs_anonymous_347_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['require', 'exports', 'module']) + @Js + def PyJs_anonymous_348_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['isExpression', 'isProblematicIfStatement', 'isIterationStatement', 'isStatement', 'trailingStatement', 'isSourceElement']) + @Js + def PyJsHoisted_isExpression_(node, this, arguments, var=var): + var = Scope({'node':node, 'this':this, 'arguments':arguments}, var) + var.registers(['node']) + if (var.get('node')==var.get(u"null")): + return Js(False) + while 1: + SWITCHED = False + CONDITION = (var.get('node').get('type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('ArrayExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('AssignmentExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('BinaryExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('CallExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ConditionalExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('FunctionExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('Identifier')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('Literal')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('LogicalExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('MemberExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('NewExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ObjectExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('SequenceExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ThisExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('UnaryExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('UpdateExpression')): + SWITCHED = True + return Js(True) + SWITCHED = True + break + return Js(False) + PyJsHoisted_isExpression_.func_name = 'isExpression' + var.put('isExpression', PyJsHoisted_isExpression_) + @Js + def PyJsHoisted_isIterationStatement_(node, this, arguments, var=var): + var = Scope({'node':node, 'this':this, 'arguments':arguments}, var) + var.registers(['node']) + if (var.get('node')==var.get(u"null")): + return Js(False) + while 1: + SWITCHED = False + CONDITION = (var.get('node').get('type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('DoWhileStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ForInStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ForStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('WhileStatement')): + SWITCHED = True + return Js(True) + SWITCHED = True + break + return Js(False) + PyJsHoisted_isIterationStatement_.func_name = 'isIterationStatement' + var.put('isIterationStatement', PyJsHoisted_isIterationStatement_) + @Js + def PyJsHoisted_isStatement_(node, this, arguments, var=var): + var = Scope({'node':node, 'this':this, 'arguments':arguments}, var) + var.registers(['node']) + if (var.get('node')==var.get(u"null")): + return Js(False) + while 1: + SWITCHED = False + CONDITION = (var.get('node').get('type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('BlockStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('BreakStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ContinueStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('DebuggerStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('DoWhileStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('EmptyStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ExpressionStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ForInStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ForStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('IfStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('LabeledStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ReturnStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('SwitchStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ThrowStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('TryStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('VariableDeclaration')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('WhileStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('WithStatement')): + SWITCHED = True + return Js(True) + SWITCHED = True + break + return Js(False) + PyJsHoisted_isStatement_.func_name = 'isStatement' + var.put('isStatement', PyJsHoisted_isStatement_) + @Js + def PyJsHoisted_isSourceElement_(node, this, arguments, var=var): + var = Scope({'node':node, 'this':this, 'arguments':arguments}, var) + var.registers(['node']) + return (var.get('isStatement')(var.get('node')) or ((var.get('node')!=var.get(u"null")) and PyJsStrictEq(var.get('node').get('type'),Js('FunctionDeclaration')))) + PyJsHoisted_isSourceElement_.func_name = 'isSourceElement' + var.put('isSourceElement', PyJsHoisted_isSourceElement_) + @Js + def PyJsHoisted_trailingStatement_(node, this, arguments, var=var): + var = Scope({'node':node, 'this':this, 'arguments':arguments}, var) + var.registers(['node']) + while 1: + SWITCHED = False + CONDITION = (var.get('node').get('type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('IfStatement')): + SWITCHED = True + if (var.get('node').get('alternate')!=var.get(u"null")): + return var.get('node').get('alternate') + return var.get('node').get('consequent') + if SWITCHED or PyJsStrictEq(CONDITION, Js('LabeledStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ForStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ForInStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('WhileStatement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('WithStatement')): + SWITCHED = True + return var.get('node').get('body') + SWITCHED = True + break + return var.get(u"null") + PyJsHoisted_trailingStatement_.func_name = 'trailingStatement' + var.put('trailingStatement', PyJsHoisted_trailingStatement_) + @Js + def PyJsHoisted_isProblematicIfStatement_(node, this, arguments, var=var): + var = Scope({'node':node, 'this':this, 'arguments':arguments}, var) + var.registers(['current', 'node']) + pass + if PyJsStrictNeq(var.get('node').get('type'),Js('IfStatement')): + return Js(False) + if (var.get('node').get('alternate')==var.get(u"null")): + return Js(False) + var.put('current', var.get('node').get('consequent')) + while 1: + if PyJsStrictEq(var.get('current').get('type'),Js('IfStatement')): + if (var.get('current').get('alternate')==var.get(u"null")): + return Js(True) + var.put('current', var.get('trailingStatement')(var.get('current'))) + if not var.get('current'): + break + return Js(False) + PyJsHoisted_isProblematicIfStatement_.func_name = 'isProblematicIfStatement' + var.put('isProblematicIfStatement', PyJsHoisted_isProblematicIfStatement_) + Js('use strict') + pass + pass + pass + pass + pass + pass + PyJs_Object_349_ = Js({'isExpression':var.get('isExpression'),'isStatement':var.get('isStatement'),'isIterationStatement':var.get('isIterationStatement'),'isSourceElement':var.get('isSourceElement'),'isProblematicIfStatement':var.get('isProblematicIfStatement'),'trailingStatement':var.get('trailingStatement')}) + var.get('module').put('exports', PyJs_Object_349_) + PyJs_anonymous_348_._set_name('anonymous') + PyJs_anonymous_348_() +PyJs_anonymous_347_._set_name('anonymous') +PyJs_Object_350_ = Js({}) +@Js +def PyJs_anonymous_351_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['require', 'exports', 'module']) + @Js + def PyJs_anonymous_352_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['isDecimalDigit', 'ES6Regex', 'IDENTIFIER_START', 'isWhiteSpace', 'isIdentifierStartES6', 'isIdentifierStartES5', 'isLineTerminator', 'isIdentifierPartES5', 'NON_ASCII_WHITESPACES', 'fromCodePoint', 'ch', 'isHexDigit', 'ES5Regex', 'IDENTIFIER_PART', 'isOctalDigit', 'isIdentifierPartES6']) + @Js + def PyJsHoisted_isDecimalDigit_(ch, this, arguments, var=var): + var = Scope({'ch':ch, 'this':this, 'arguments':arguments}, var) + var.registers(['ch']) + return ((Js(48)<=var.get('ch')) and (var.get('ch')<=Js(57))) + PyJsHoisted_isDecimalDigit_.func_name = 'isDecimalDigit' + var.put('isDecimalDigit', PyJsHoisted_isDecimalDigit_) + @Js + def PyJsHoisted_isHexDigit_(ch, this, arguments, var=var): + var = Scope({'ch':ch, 'this':this, 'arguments':arguments}, var) + var.registers(['ch']) + return ((((Js(48)<=var.get('ch')) and (var.get('ch')<=Js(57))) or ((Js(97)<=var.get('ch')) and (var.get('ch')<=Js(102)))) or ((Js(65)<=var.get('ch')) and (var.get('ch')<=Js(70)))) + PyJsHoisted_isHexDigit_.func_name = 'isHexDigit' + var.put('isHexDigit', PyJsHoisted_isHexDigit_) + @Js + def PyJsHoisted_isOctalDigit_(ch, this, arguments, var=var): + var = Scope({'ch':ch, 'this':this, 'arguments':arguments}, var) + var.registers(['ch']) + return ((var.get('ch')>=Js(48)) and (var.get('ch')<=Js(55))) + PyJsHoisted_isOctalDigit_.func_name = 'isOctalDigit' + var.put('isOctalDigit', PyJsHoisted_isOctalDigit_) + @Js + def PyJsHoisted_isWhiteSpace_(ch, this, arguments, var=var): + var = Scope({'ch':ch, 'this':this, 'arguments':arguments}, var) + var.registers(['ch']) + return (((((PyJsStrictEq(var.get('ch'),Js(32)) or PyJsStrictEq(var.get('ch'),Js(9))) or PyJsStrictEq(var.get('ch'),Js(11))) or PyJsStrictEq(var.get('ch'),Js(12))) or PyJsStrictEq(var.get('ch'),Js(160))) or ((var.get('ch')>=Js(5760)) and (var.get('NON_ASCII_WHITESPACES').callprop('indexOf', var.get('ch'))>=Js(0.0)))) + PyJsHoisted_isWhiteSpace_.func_name = 'isWhiteSpace' + var.put('isWhiteSpace', PyJsHoisted_isWhiteSpace_) + @Js + def PyJsHoisted_isLineTerminator_(ch, this, arguments, var=var): + var = Scope({'ch':ch, 'this':this, 'arguments':arguments}, var) + var.registers(['ch']) + return (((PyJsStrictEq(var.get('ch'),Js(10)) or PyJsStrictEq(var.get('ch'),Js(13))) or PyJsStrictEq(var.get('ch'),Js(8232))) or PyJsStrictEq(var.get('ch'),Js(8233))) + PyJsHoisted_isLineTerminator_.func_name = 'isLineTerminator' + var.put('isLineTerminator', PyJsHoisted_isLineTerminator_) + @Js + def PyJsHoisted_fromCodePoint_(cp, this, arguments, var=var): + var = Scope({'cp':cp, 'this':this, 'arguments':arguments}, var) + var.registers(['cu2', 'cu1', 'cp']) + if (var.get('cp')<=Js(65535)): + return var.get('String').callprop('fromCharCode', var.get('cp')) + var.put('cu1', var.get('String').callprop('fromCharCode', (var.get('Math').callprop('floor', ((var.get('cp')-Js(65536))/Js(1024)))+Js(55296)))) + var.put('cu2', var.get('String').callprop('fromCharCode', (((var.get('cp')-Js(65536))%Js(1024))+Js(56320)))) + return (var.get('cu1')+var.get('cu2')) + PyJsHoisted_fromCodePoint_.func_name = 'fromCodePoint' + var.put('fromCodePoint', PyJsHoisted_fromCodePoint_) + @Js + def PyJsHoisted_isIdentifierStartES5_(ch, this, arguments, var=var): + var = Scope({'ch':ch, 'this':this, 'arguments':arguments}, var) + var.registers(['ch']) + return (var.get('IDENTIFIER_START').get(var.get('ch')) if (var.get('ch')=Js(97)) and (var.get('ch')<=Js(122))) or ((var.get('ch')>=Js(65)) and (var.get('ch')<=Js(90)))) or PyJsStrictEq(var.get('ch'),Js(36))) or PyJsStrictEq(var.get('ch'),Js(95)))) + finally: + var.put('ch',Js(var.get('ch').to_number())+Js(1)) + var.put('IDENTIFIER_PART', var.get('Array').create(Js(128))) + #for JS loop + var.put('ch', Js(0.0)) + while (var.get('ch')=Js(97)) and (var.get('ch')<=Js(122))) or ((var.get('ch')>=Js(65)) and (var.get('ch')<=Js(90)))) or ((var.get('ch')>=Js(48)) and (var.get('ch')<=Js(57)))) or PyJsStrictEq(var.get('ch'),Js(36))) or PyJsStrictEq(var.get('ch'),Js(95)))) + finally: + var.put('ch',Js(var.get('ch').to_number())+Js(1)) + pass + pass + pass + pass + PyJs_Object_355_ = Js({'isDecimalDigit':var.get('isDecimalDigit'),'isHexDigit':var.get('isHexDigit'),'isOctalDigit':var.get('isOctalDigit'),'isWhiteSpace':var.get('isWhiteSpace'),'isLineTerminator':var.get('isLineTerminator'),'isIdentifierStartES5':var.get('isIdentifierStartES5'),'isIdentifierPartES5':var.get('isIdentifierPartES5'),'isIdentifierStartES6':var.get('isIdentifierStartES6'),'isIdentifierPartES6':var.get('isIdentifierPartES6')}) + var.get('module').put('exports', PyJs_Object_355_) + PyJs_anonymous_352_._set_name('anonymous') + PyJs_anonymous_352_() +PyJs_anonymous_351_._set_name('anonymous') +PyJs_Object_356_ = Js({}) +@Js +def PyJs_anonymous_357_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['require', 'exports', 'module']) + @Js + def PyJs_anonymous_358_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['isStrictModeReservedWordES6', 'isRestrictedWord', 'isIdentifierES5', 'code', 'isReservedWordES6', 'isKeywordES6', 'isReservedWordES5', 'isIdentifierNameES6', 'decodeUtf16', 'isIdentifierES6', 'isIdentifierNameES5', 'isKeywordES5']) + @Js + def PyJsHoisted_isStrictModeReservedWordES6_(id, this, arguments, var=var): + var = Scope({'id':id, 'this':this, 'arguments':arguments}, var) + var.registers(['id']) + while 1: + SWITCHED = False + CONDITION = (var.get('id')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('implements')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('interface')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('package')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('private')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('protected')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('public')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('static')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('let')): + SWITCHED = True + return Js(True) + if True: + SWITCHED = True + return Js(False) + SWITCHED = True + break + PyJsHoisted_isStrictModeReservedWordES6_.func_name = 'isStrictModeReservedWordES6' + var.put('isStrictModeReservedWordES6', PyJsHoisted_isStrictModeReservedWordES6_) + @Js + def PyJsHoisted_isKeywordES5_(id, strict, this, arguments, var=var): + var = Scope({'id':id, 'strict':strict, 'this':this, 'arguments':arguments}, var) + var.registers(['strict', 'id']) + if (var.get('strict').neg() and PyJsStrictEq(var.get('id'),Js('yield'))): + return Js(False) + return var.get('isKeywordES6')(var.get('id'), var.get('strict')) + PyJsHoisted_isKeywordES5_.func_name = 'isKeywordES5' + var.put('isKeywordES5', PyJsHoisted_isKeywordES5_) + @Js + def PyJsHoisted_isKeywordES6_(id, strict, this, arguments, var=var): + var = Scope({'id':id, 'strict':strict, 'this':this, 'arguments':arguments}, var) + var.registers(['strict', 'id']) + if (var.get('strict') and var.get('isStrictModeReservedWordES6')(var.get('id'))): + return Js(True) + while 1: + SWITCHED = False + CONDITION = (var.get('id').get('length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(2.0)): + SWITCHED = True + return ((PyJsStrictEq(var.get('id'),Js('if')) or PyJsStrictEq(var.get('id'),Js('in'))) or PyJsStrictEq(var.get('id'),Js('do'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + return (((PyJsStrictEq(var.get('id'),Js('var')) or PyJsStrictEq(var.get('id'),Js('for'))) or PyJsStrictEq(var.get('id'),Js('new'))) or PyJsStrictEq(var.get('id'),Js('try'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(4.0)): + SWITCHED = True + return (((((PyJsStrictEq(var.get('id'),Js('this')) or PyJsStrictEq(var.get('id'),Js('else'))) or PyJsStrictEq(var.get('id'),Js('case'))) or PyJsStrictEq(var.get('id'),Js('void'))) or PyJsStrictEq(var.get('id'),Js('with'))) or PyJsStrictEq(var.get('id'),Js('enum'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(5.0)): + SWITCHED = True + return (((((((PyJsStrictEq(var.get('id'),Js('while')) or PyJsStrictEq(var.get('id'),Js('break'))) or PyJsStrictEq(var.get('id'),Js('catch'))) or PyJsStrictEq(var.get('id'),Js('throw'))) or PyJsStrictEq(var.get('id'),Js('const'))) or PyJsStrictEq(var.get('id'),Js('yield'))) or PyJsStrictEq(var.get('id'),Js('class'))) or PyJsStrictEq(var.get('id'),Js('super'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(6.0)): + SWITCHED = True + return (((((PyJsStrictEq(var.get('id'),Js('return')) or PyJsStrictEq(var.get('id'),Js('typeof'))) or PyJsStrictEq(var.get('id'),Js('delete'))) or PyJsStrictEq(var.get('id'),Js('switch'))) or PyJsStrictEq(var.get('id'),Js('export'))) or PyJsStrictEq(var.get('id'),Js('import'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(7.0)): + SWITCHED = True + return ((PyJsStrictEq(var.get('id'),Js('default')) or PyJsStrictEq(var.get('id'),Js('finally'))) or PyJsStrictEq(var.get('id'),Js('extends'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(8.0)): + SWITCHED = True + return ((PyJsStrictEq(var.get('id'),Js('function')) or PyJsStrictEq(var.get('id'),Js('continue'))) or PyJsStrictEq(var.get('id'),Js('debugger'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(10.0)): + SWITCHED = True + return PyJsStrictEq(var.get('id'),Js('instanceof')) + if True: + SWITCHED = True + return Js(False) + SWITCHED = True + break + PyJsHoisted_isKeywordES6_.func_name = 'isKeywordES6' + var.put('isKeywordES6', PyJsHoisted_isKeywordES6_) + @Js + def PyJsHoisted_isReservedWordES5_(id, strict, this, arguments, var=var): + var = Scope({'id':id, 'strict':strict, 'this':this, 'arguments':arguments}, var) + var.registers(['strict', 'id']) + return (((PyJsStrictEq(var.get('id'),Js('null')) or PyJsStrictEq(var.get('id'),Js('true'))) or PyJsStrictEq(var.get('id'),Js('false'))) or var.get('isKeywordES5')(var.get('id'), var.get('strict'))) + PyJsHoisted_isReservedWordES5_.func_name = 'isReservedWordES5' + var.put('isReservedWordES5', PyJsHoisted_isReservedWordES5_) + @Js + def PyJsHoisted_isReservedWordES6_(id, strict, this, arguments, var=var): + var = Scope({'id':id, 'strict':strict, 'this':this, 'arguments':arguments}, var) + var.registers(['strict', 'id']) + return (((PyJsStrictEq(var.get('id'),Js('null')) or PyJsStrictEq(var.get('id'),Js('true'))) or PyJsStrictEq(var.get('id'),Js('false'))) or var.get('isKeywordES6')(var.get('id'), var.get('strict'))) + PyJsHoisted_isReservedWordES6_.func_name = 'isReservedWordES6' + var.put('isReservedWordES6', PyJsHoisted_isReservedWordES6_) + @Js + def PyJsHoisted_isRestrictedWord_(id, this, arguments, var=var): + var = Scope({'id':id, 'this':this, 'arguments':arguments}, var) + var.registers(['id']) + return (PyJsStrictEq(var.get('id'),Js('eval')) or PyJsStrictEq(var.get('id'),Js('arguments'))) + PyJsHoisted_isRestrictedWord_.func_name = 'isRestrictedWord' + var.put('isRestrictedWord', PyJsHoisted_isRestrictedWord_) + @Js + def PyJsHoisted_isIdentifierNameES5_(id, this, arguments, var=var): + var = Scope({'id':id, 'this':this, 'arguments':arguments}, var) + var.registers(['id', 'i', 'iz', 'ch']) + pass + if PyJsStrictEq(var.get('id').get('length'),Js(0.0)): + return Js(False) + var.put('ch', var.get('id').callprop('charCodeAt', Js(0.0))) + if var.get('code').callprop('isIdentifierStartES5', var.get('ch')).neg(): + return Js(False) + #for JS loop + PyJsComma(var.put('i', Js(1.0)),var.put('iz', var.get('id').get('length'))) + while (var.get('i')=var.get('iz')): + return Js(False) + var.put('lowCh', var.get('id').callprop('charCodeAt', var.get('i'))) + if ((Js(56320)<=var.get('lowCh')) and (var.get('lowCh')<=Js(57343))).neg(): + return Js(False) + var.put('ch', var.get('decodeUtf16')(var.get('ch'), var.get('lowCh'))) + if var.get('check')(var.get('ch')).neg(): + return Js(False) + var.put('check', var.get('code').get('isIdentifierPartES6')) + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + return Js(True) + PyJsHoisted_isIdentifierNameES6_.func_name = 'isIdentifierNameES6' + var.put('isIdentifierNameES6', PyJsHoisted_isIdentifierNameES6_) + @Js + def PyJsHoisted_isIdentifierES5_(id, strict, this, arguments, var=var): + var = Scope({'id':id, 'strict':strict, 'this':this, 'arguments':arguments}, var) + var.registers(['strict', 'id']) + return (var.get('isIdentifierNameES5')(var.get('id')) and var.get('isReservedWordES5')(var.get('id'), var.get('strict')).neg()) + PyJsHoisted_isIdentifierES5_.func_name = 'isIdentifierES5' + var.put('isIdentifierES5', PyJsHoisted_isIdentifierES5_) + @Js + def PyJsHoisted_isIdentifierES6_(id, strict, this, arguments, var=var): + var = Scope({'id':id, 'strict':strict, 'this':this, 'arguments':arguments}, var) + var.registers(['strict', 'id']) + return (var.get('isIdentifierNameES6')(var.get('id')) and var.get('isReservedWordES6')(var.get('id'), var.get('strict')).neg()) + PyJsHoisted_isIdentifierES6_.func_name = 'isIdentifierES6' + var.put('isIdentifierES6', PyJsHoisted_isIdentifierES6_) + Js('use strict') + var.put('code', var.get('require')(Js('./code'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + PyJs_Object_359_ = Js({'isKeywordES5':var.get('isKeywordES5'),'isKeywordES6':var.get('isKeywordES6'),'isReservedWordES5':var.get('isReservedWordES5'),'isReservedWordES6':var.get('isReservedWordES6'),'isRestrictedWord':var.get('isRestrictedWord'),'isIdentifierNameES5':var.get('isIdentifierNameES5'),'isIdentifierNameES6':var.get('isIdentifierNameES6'),'isIdentifierES5':var.get('isIdentifierES5'),'isIdentifierES6':var.get('isIdentifierES6')}) + var.get('module').put('exports', PyJs_Object_359_) + PyJs_anonymous_358_._set_name('anonymous') + PyJs_anonymous_358_() +PyJs_anonymous_357_._set_name('anonymous') +PyJs_Object_360_ = Js({'./code':Js(17.0)}) +@Js +def PyJs_anonymous_361_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['require', 'exports', 'module']) + @Js + def PyJs_anonymous_362_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + Js('use strict') + var.get('exports').put('ast', var.get('require')(Js('./ast'))) + var.get('exports').put('code', var.get('require')(Js('./code'))) + var.get('exports').put('keyword', var.get('require')(Js('./keyword'))) + PyJs_anonymous_362_._set_name('anonymous') + PyJs_anonymous_362_() +PyJs_anonymous_361_._set_name('anonymous') +PyJs_Object_363_ = Js({'./ast':Js(16.0),'./code':Js(17.0),'./keyword':Js(18.0)}) +@Js +def PyJs_anonymous_364_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['addToGlobals', 'module_temp_love_python', 'module', 'require', 'exports']) + @Js + def PyJsHoisted_addToGlobals_(name, obj, this, arguments, var=var): + var = Scope({'name':name, 'obj':obj, 'this':this, 'arguments':arguments}, var) + var.registers(['name', 'obj']) + if var.get('Object').get('prototype').callprop('hasOwnProperty', Js('_fake_exports')).neg(): + PyJs_Object_365_ = Js({}) + var.get('Object').get('prototype').put('_fake_exports', PyJs_Object_365_) + var.get('Object').get('prototype').get('_fake_exports').put(var.get('name'), var.get('obj')) + PyJsHoisted_addToGlobals_.func_name = 'addToGlobals' + var.put('addToGlobals', PyJsHoisted_addToGlobals_) + pass + pass + pass + var.put('module_temp_love_python', var.get('require')(Js('escodegen'))) + var.get('addToGlobals')(Js('escodegen'), var.get('module_temp_love_python')) +PyJs_anonymous_364_._set_name('anonymous') +PyJs_Object_366_ = Js({'escodegen':Js(1.0)}) +PyJs_Object_2_ = Js({'1':Js([PyJs_anonymous_3_, PyJs_Object_129_]),'2':Js([PyJs_anonymous_130_, PyJs_Object_138_]),'3':Js([PyJs_anonymous_139_, PyJs_Object_142_]),'4':Js([PyJs_anonymous_143_, PyJs_Object_146_]),'5':Js([PyJs_anonymous_147_, PyJs_Object_149_]),'6':Js([PyJs_anonymous_150_, PyJs_Object_155_]),'7':Js([PyJs_anonymous_156_, PyJs_Object_158_]),'8':Js([PyJs_anonymous_159_, PyJs_Object_217_]),'9':Js([PyJs_anonymous_218_, PyJs_Object_243_]),'10':Js([PyJs_anonymous_244_, PyJs_Object_274_]),'11':Js([PyJs_anonymous_275_, PyJs_Object_280_]),'12':Js([PyJs_anonymous_281_, PyJs_Object_282_]),'13':Js([PyJs_anonymous_283_, PyJs_Object_296_]),'14':Js([PyJs_anonymous_297_, PyJs_Object_335_]),'15':Js([PyJs_anonymous_336_, PyJs_Object_346_]),'16':Js([PyJs_anonymous_347_, PyJs_Object_350_]),'17':Js([PyJs_anonymous_351_, PyJs_Object_356_]),'18':Js([PyJs_anonymous_357_, PyJs_Object_360_]),'19':Js([PyJs_anonymous_361_, PyJs_Object_363_]),'20':Js([PyJs_anonymous_364_, PyJs_Object_366_])}) +PyJs_Object_367_ = Js({}) +@Js +def PyJs_anonymous_368_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['r']) + @Js + def PyJsHoisted_r_(e, n, t, this, arguments, var=var): + var = Scope({'e':e, 'n':n, 't':t, 'this':this, 'arguments':arguments}, var) + var.registers(['o', 'u', 'n', 't', 'e', 'i']) + @Js + def PyJsHoisted_o_(i, f, this, arguments, var=var): + var = Scope({'i':i, 'f':f, 'this':this, 'arguments':arguments}, var) + var.registers(['c', 'i', 'p', 'f', 'a']) + if var.get('n').get(var.get('i')).neg(): + if var.get('e').get(var.get('i')).neg(): + var.put('c', ((Js('function')==var.get('require',throw=False).typeof()) and var.get('require'))) + if (var.get('f').neg() and var.get('c')): + return var.get('c')(var.get('i'), Js(0.0).neg()) + if var.get('u'): + return var.get('u')(var.get('i'), Js(0.0).neg()) + var.put('a', var.get('Error').create(((Js("Cannot find module '")+var.get('i'))+Js("'")))) + PyJsTempException = JsToPyException(PyJsComma(var.get('a').put('code', Js('MODULE_NOT_FOUND')),var.get('a'))) + raise PyJsTempException + PyJs_Object_370_ = Js({}) + PyJs_Object_369_ = Js({'exports':PyJs_Object_370_}) + var.put('p', var.get('n').put(var.get('i'), PyJs_Object_369_)) + @Js + def PyJs_anonymous_371_(r, this, arguments, var=var): + var = Scope({'r':r, 'this':this, 'arguments':arguments}, var) + var.registers(['n', 'r']) + var.put('n', var.get('e').get(var.get('i')).get('1').get(var.get('r'))) + return var.get('o')((var.get('n') or var.get('r'))) + PyJs_anonymous_371_._set_name('anonymous') + var.get('e').get(var.get('i')).get('0').callprop('call', var.get('p').get('exports'), PyJs_anonymous_371_, var.get('p'), var.get('p').get('exports'), var.get('r'), var.get('e'), var.get('n'), var.get('t')) + return var.get('n').get(var.get('i')).get('exports') + PyJsHoisted_o_.func_name = 'o' + var.put('o', PyJsHoisted_o_) + pass + #for JS loop + var.put('u', ((Js('function')==var.get('require',throw=False).typeof()) and var.get('require'))) + var.put('i', Js(0.0)) + while (var.get('i')=Js(0.0)): + try: + var.put('entry', var.get(u"this").get('leading').get(var.get('i'))) + if (var.get('metadata').get('end').get('offset')>=var.get('entry').get('start')): + var.get('innerComments').callprop('unshift', var.get('entry').get('comment')) + var.get(u"this").get('leading').callprop('splice', var.get('i'), Js(1.0)) + var.get(u"this").get('trailing').callprop('splice', var.get('i'), Js(1.0)) + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + if var.get('innerComments').get('length'): + var.get('node').put('innerComments', var.get('innerComments')) + PyJs_anonymous_13_._set_name('anonymous') + var.get('CommentHandler').get('prototype').put('insertInnerComments', PyJs_anonymous_13_) + @Js + def PyJs_anonymous_14_(metadata, this, arguments, var=var): + var = Scope({'metadata':metadata, 'this':this, 'arguments':arguments}, var) + var.registers(['entry_1', 'i', 'firstComment', 'trailingComments', 'metadata', 'entry']) + var.put('trailingComments', Js([])) + if (var.get(u"this").get('trailing').get('length')>Js(0.0)): + #for JS loop + var.put('i', (var.get(u"this").get('trailing').get('length')-Js(1.0))) + while (var.get('i')>=Js(0.0)): + try: + var.put('entry_1', var.get(u"this").get('trailing').get(var.get('i'))) + if (var.get('entry_1').get('start')>=var.get('metadata').get('end').get('offset')): + var.get('trailingComments').callprop('unshift', var.get('entry_1').get('comment')) + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + var.get(u"this").get('trailing').put('length', Js(0.0)) + return var.get('trailingComments') + var.put('entry', var.get(u"this").get('stack').get((var.get(u"this").get('stack').get('length')-Js(1.0)))) + if (var.get('entry') and var.get('entry').get('node').get('trailingComments')): + var.put('firstComment', var.get('entry').get('node').get('trailingComments').get('0')) + if (var.get('firstComment') and (var.get('firstComment').get('range').get('0')>=var.get('metadata').get('end').get('offset'))): + var.put('trailingComments', var.get('entry').get('node').get('trailingComments')) + var.get('entry').get('node').delete('trailingComments') + return var.get('trailingComments') + PyJs_anonymous_14_._set_name('anonymous') + var.get('CommentHandler').get('prototype').put('findTrailingComments', PyJs_anonymous_14_) + @Js + def PyJs_anonymous_15_(metadata, this, arguments, var=var): + var = Scope({'metadata':metadata, 'this':this, 'arguments':arguments}, var) + var.registers(['leadingComments', 'target', 'count', 'i', 'comment', 'metadata', 'entry']) + var.put('leadingComments', Js([])) + pass + while (var.get(u"this").get('stack').get('length')>Js(0.0)): + var.put('entry', var.get(u"this").get('stack').get((var.get(u"this").get('stack').get('length')-Js(1.0)))) + if (var.get('entry') and (var.get('entry').get('start')>=var.get('metadata').get('start').get('offset'))): + var.put('target', var.get('entry').get('node')) + var.get(u"this").get('stack').callprop('pop') + else: + break + if var.get('target'): + var.put('count', (var.get('target').get('leadingComments').get('length') if var.get('target').get('leadingComments') else Js(0.0))) + #for JS loop + var.put('i', (var.get('count')-Js(1.0))) + while (var.get('i')>=Js(0.0)): + try: + var.put('comment', var.get('target').get('leadingComments').get(var.get('i'))) + if (var.get('comment').get('range').get('1')<=var.get('metadata').get('start').get('offset')): + var.get('leadingComments').callprop('unshift', var.get('comment')) + var.get('target').get('leadingComments').callprop('splice', var.get('i'), Js(1.0)) + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + if (var.get('target').get('leadingComments') and PyJsStrictEq(var.get('target').get('leadingComments').get('length'),Js(0.0))): + var.get('target').delete('leadingComments') + return var.get('leadingComments') + #for JS loop + var.put('i', (var.get(u"this").get('leading').get('length')-Js(1.0))) + while (var.get('i')>=Js(0.0)): + try: + var.put('entry', var.get(u"this").get('leading').get(var.get('i'))) + if (var.get('entry').get('start')<=var.get('metadata').get('start').get('offset')): + var.get('leadingComments').callprop('unshift', var.get('entry').get('comment')) + var.get(u"this").get('leading').callprop('splice', var.get('i'), Js(1.0)) + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + return var.get('leadingComments') + PyJs_anonymous_15_._set_name('anonymous') + var.get('CommentHandler').get('prototype').put('findLeadingComments', PyJs_anonymous_15_) + @Js + def PyJs_anonymous_16_(node, metadata, this, arguments, var=var): + var = Scope({'node':node, 'metadata':metadata, 'this':this, 'arguments':arguments}, var) + var.registers(['leadingComments', 'node', 'trailingComments', 'metadata']) + if (PyJsStrictEq(var.get('node').get('type'),var.get('syntax_1').get('Syntax').get('Program')) and (var.get('node').get('body').get('length')>Js(0.0))): + return var.get('undefined') + var.get(u"this").callprop('insertInnerComments', var.get('node'), var.get('metadata')) + var.put('trailingComments', var.get(u"this").callprop('findTrailingComments', var.get('metadata'))) + var.put('leadingComments', var.get(u"this").callprop('findLeadingComments', var.get('metadata'))) + if (var.get('leadingComments').get('length')>Js(0.0)): + var.get('node').put('leadingComments', var.get('leadingComments')) + if (var.get('trailingComments').get('length')>Js(0.0)): + var.get('node').put('trailingComments', var.get('trailingComments')) + PyJs_Object_17_ = Js({'node':var.get('node'),'start':var.get('metadata').get('start').get('offset')}) + var.get(u"this").get('stack').callprop('push', PyJs_Object_17_) + PyJs_anonymous_16_._set_name('anonymous') + var.get('CommentHandler').get('prototype').put('visitNode', PyJs_anonymous_16_) + @Js + def PyJs_anonymous_18_(node, metadata, this, arguments, var=var): + var = Scope({'node':node, 'metadata':metadata, 'this':this, 'arguments':arguments}, var) + var.registers(['node', 'comment', 'metadata', 'entry', 'type']) + var.put('type', (Js('Line') if PyJsStrictEq(var.get('node').get('type').get('0'),Js('L')) else Js('Block'))) + PyJs_Object_19_ = Js({'type':var.get('type'),'value':var.get('node').get('value')}) + var.put('comment', PyJs_Object_19_) + if var.get('node').get('range'): + var.get('comment').put('range', var.get('node').get('range')) + if var.get('node').get('loc'): + var.get('comment').put('loc', var.get('node').get('loc')) + var.get(u"this").get('comments').callprop('push', var.get('comment')) + if var.get(u"this").get('attach'): + PyJs_Object_21_ = Js({'type':var.get('type'),'value':var.get('node').get('value'),'range':Js([var.get('metadata').get('start').get('offset'), var.get('metadata').get('end').get('offset')])}) + PyJs_Object_20_ = Js({'comment':PyJs_Object_21_,'start':var.get('metadata').get('start').get('offset')}) + var.put('entry', PyJs_Object_20_) + if var.get('node').get('loc'): + var.get('entry').get('comment').put('loc', var.get('node').get('loc')) + var.get('node').put('type', var.get('type')) + var.get(u"this").get('leading').callprop('push', var.get('entry')) + var.get(u"this").get('trailing').callprop('push', var.get('entry')) + PyJs_anonymous_18_._set_name('anonymous') + var.get('CommentHandler').get('prototype').put('visitComment', PyJs_anonymous_18_) + @Js + def PyJs_anonymous_22_(node, metadata, this, arguments, var=var): + var = Scope({'node':node, 'metadata':metadata, 'this':this, 'arguments':arguments}, var) + var.registers(['node', 'metadata']) + if PyJsStrictEq(var.get('node').get('type'),Js('LineComment')): + var.get(u"this").callprop('visitComment', var.get('node'), var.get('metadata')) + else: + if PyJsStrictEq(var.get('node').get('type'),Js('BlockComment')): + var.get(u"this").callprop('visitComment', var.get('node'), var.get('metadata')) + else: + if var.get(u"this").get('attach'): + var.get(u"this").callprop('visitNode', var.get('node'), var.get('metadata')) + PyJs_anonymous_22_._set_name('anonymous') + var.get('CommentHandler').get('prototype').put('visit', PyJs_anonymous_22_) + return var.get('CommentHandler') + PyJs_anonymous_12_._set_name('anonymous') + var.put('CommentHandler', PyJs_anonymous_12_()) + var.get('exports').put('CommentHandler', var.get('CommentHandler')) + PyJs_anonymous_10_._set_name('anonymous') + @Js + def PyJs_anonymous_23_(module, exports, this, arguments, var=var): + var = Scope({'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['module', 'exports']) + Js('use strict') + PyJs_Object_24_ = Js({'value':Js(True)}) + var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), PyJs_Object_24_) + PyJs_Object_25_ = Js({'AssignmentExpression':Js('AssignmentExpression'),'AssignmentPattern':Js('AssignmentPattern'),'ArrayExpression':Js('ArrayExpression'),'ArrayPattern':Js('ArrayPattern'),'ArrowFunctionExpression':Js('ArrowFunctionExpression'),'AwaitExpression':Js('AwaitExpression'),'BlockStatement':Js('BlockStatement'),'BinaryExpression':Js('BinaryExpression'),'BreakStatement':Js('BreakStatement'),'CallExpression':Js('CallExpression'),'CatchClause':Js('CatchClause'),'ClassBody':Js('ClassBody'),'ClassDeclaration':Js('ClassDeclaration'),'ClassExpression':Js('ClassExpression'),'ConditionalExpression':Js('ConditionalExpression'),'ContinueStatement':Js('ContinueStatement'),'DoWhileStatement':Js('DoWhileStatement'),'DebuggerStatement':Js('DebuggerStatement'),'EmptyStatement':Js('EmptyStatement'),'ExportAllDeclaration':Js('ExportAllDeclaration'),'ExportDefaultDeclaration':Js('ExportDefaultDeclaration'),'ExportNamedDeclaration':Js('ExportNamedDeclaration'),'ExportSpecifier':Js('ExportSpecifier'),'ExpressionStatement':Js('ExpressionStatement'),'ForStatement':Js('ForStatement'),'ForOfStatement':Js('ForOfStatement'),'ForInStatement':Js('ForInStatement'),'FunctionDeclaration':Js('FunctionDeclaration'),'FunctionExpression':Js('FunctionExpression'),'Identifier':Js('Identifier'),'IfStatement':Js('IfStatement'),'ImportDeclaration':Js('ImportDeclaration'),'ImportDefaultSpecifier':Js('ImportDefaultSpecifier'),'ImportNamespaceSpecifier':Js('ImportNamespaceSpecifier'),'ImportSpecifier':Js('ImportSpecifier'),'Literal':Js('Literal'),'LabeledStatement':Js('LabeledStatement'),'LogicalExpression':Js('LogicalExpression'),'MemberExpression':Js('MemberExpression'),'MetaProperty':Js('MetaProperty'),'MethodDefinition':Js('MethodDefinition'),'NewExpression':Js('NewExpression'),'ObjectExpression':Js('ObjectExpression'),'ObjectPattern':Js('ObjectPattern'),'Program':Js('Program'),'Property':Js('Property'),'RestElement':Js('RestElement'),'ReturnStatement':Js('ReturnStatement'),'SequenceExpression':Js('SequenceExpression'),'SpreadElement':Js('SpreadElement'),'Super':Js('Super'),'SwitchCase':Js('SwitchCase'),'SwitchStatement':Js('SwitchStatement'),'TaggedTemplateExpression':Js('TaggedTemplateExpression'),'TemplateElement':Js('TemplateElement'),'TemplateLiteral':Js('TemplateLiteral'),'ThisExpression':Js('ThisExpression'),'ThrowStatement':Js('ThrowStatement'),'TryStatement':Js('TryStatement'),'UnaryExpression':Js('UnaryExpression'),'UpdateExpression':Js('UpdateExpression'),'VariableDeclaration':Js('VariableDeclaration'),'VariableDeclarator':Js('VariableDeclarator'),'WhileStatement':Js('WhileStatement'),'WithStatement':Js('WithStatement'),'YieldExpression':Js('YieldExpression')}) + var.get('exports').put('Syntax', PyJs_Object_25_) + PyJs_anonymous_23_._set_name('anonymous') + @Js + def PyJs_anonymous_26_(module, exports, __webpack_require__, this, arguments, var=var): + var = Scope({'module':module, 'exports':exports, '__webpack_require__':__webpack_require__, 'this':this, 'arguments':arguments}, var) + var.registers(['module', 'token_1', 'JSXNode', 'jsx_syntax_1', 'xhtml_entities_1', 'character_1', 'JSXParser', 'exports', '__webpack_require__', '__extends', 'getQualifiedElementName', 'Node', 'parser_1']) + @Js + def PyJsHoisted_getQualifiedElementName_(elementName, this, arguments, var=var): + var = Scope({'elementName':elementName, 'this':this, 'arguments':arguments}, var) + var.registers(['qualifiedName', 'expr', 'ns', 'id', 'elementName']) + pass + while 1: + SWITCHED = False + CONDITION = (var.get('elementName').get('type')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get('jsx_syntax_1').get('JSXSyntax').get('JSXIdentifier')): + SWITCHED = True + var.put('id', var.get('elementName')) + var.put('qualifiedName', var.get('id').get('name')) + break + if SWITCHED or PyJsStrictEq(CONDITION, var.get('jsx_syntax_1').get('JSXSyntax').get('JSXNamespacedName')): + SWITCHED = True + var.put('ns', var.get('elementName')) + var.put('qualifiedName', ((var.get('getQualifiedElementName')(var.get('ns').get('namespace'))+Js(':'))+var.get('getQualifiedElementName')(var.get('ns').get('name')))) + break + if SWITCHED or PyJsStrictEq(CONDITION, var.get('jsx_syntax_1').get('JSXSyntax').get('JSXMemberExpression')): + SWITCHED = True + var.put('expr', var.get('elementName')) + var.put('qualifiedName', ((var.get('getQualifiedElementName')(var.get('expr').get('object'))+Js('.'))+var.get('getQualifiedElementName')(var.get('expr').get('property')))) + break + if True: + SWITCHED = True + break + SWITCHED = True + break + return var.get('qualifiedName') + PyJsHoisted_getQualifiedElementName_.func_name = 'getQualifiedElementName' + var.put('getQualifiedElementName', PyJsHoisted_getQualifiedElementName_) + Js('use strict') + @Js + def PyJs_anonymous_27_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['extendStatics']) + PyJs_Object_28_ = Js({'__proto__':Js([])}) + @Js + def PyJs_anonymous_29_(d, b, this, arguments, var=var): + var = Scope({'d':d, 'b':b, 'this':this, 'arguments':arguments}, var) + var.registers(['b', 'd']) + var.get('d').put('__proto__', var.get('b')) + PyJs_anonymous_29_._set_name('anonymous') + @Js + def PyJs_anonymous_30_(d, b, this, arguments, var=var): + var = Scope({'d':d, 'b':b, 'this':this, 'arguments':arguments}, var) + var.registers(['b', 'd', 'p']) + for PyJsTemp in var.get('b'): + var.put('p', PyJsTemp) + if var.get('b').callprop('hasOwnProperty', var.get('p')): + var.get('d').put(var.get('p'), var.get('b').get(var.get('p'))) + PyJs_anonymous_30_._set_name('anonymous') + var.put('extendStatics', ((var.get('Object').get('setPrototypeOf') or (PyJs_Object_28_.instanceof(var.get('Array')) and PyJs_anonymous_29_)) or PyJs_anonymous_30_)) + @Js + def PyJs_anonymous_31_(d, b, this, arguments, var=var): + var = Scope({'d':d, 'b':b, 'this':this, 'arguments':arguments}, var) + var.registers(['b', 'd', '__']) + @Js + def PyJsHoisted____(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put('constructor', var.get('d')) + PyJsHoisted____.func_name = '__' + var.put('__', PyJsHoisted____) + var.get('extendStatics')(var.get('d'), var.get('b')) + pass + var.get('d').put('prototype', (var.get('Object').callprop('create', var.get('b')) if PyJsStrictEq(var.get('b'),var.get(u"null")) else PyJsComma(var.get('__').put('prototype', var.get('b').get('prototype')),var.get('__').create()))) + PyJs_anonymous_31_._set_name('anonymous') + return PyJs_anonymous_31_ + PyJs_anonymous_27_._set_name('anonymous') + var.put('__extends', ((var.get(u"this") and var.get(u"this").get('__extends')) or PyJs_anonymous_27_())) + PyJs_Object_32_ = Js({'value':Js(True)}) + var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), PyJs_Object_32_) + var.put('character_1', var.get('__webpack_require__')(Js(4.0))) + var.put('JSXNode', var.get('__webpack_require__')(Js(5.0))) + var.put('jsx_syntax_1', var.get('__webpack_require__')(Js(6.0))) + var.put('Node', var.get('__webpack_require__')(Js(7.0))) + var.put('parser_1', var.get('__webpack_require__')(Js(8.0))) + var.put('token_1', var.get('__webpack_require__')(Js(13.0))) + var.put('xhtml_entities_1', var.get('__webpack_require__')(Js(14.0))) + var.get('token_1').get('TokenName').put('100', Js('JSXIdentifier')) + var.get('token_1').get('TokenName').put('101', Js('JSXText')) + pass + @Js + def PyJs_anonymous_33_(_super, this, arguments, var=var): + var = Scope({'_super':_super, 'this':this, 'arguments':arguments}, var) + var.registers(['_super', 'JSXParser']) + @Js + def PyJsHoisted_JSXParser_(code, options, delegate, this, arguments, var=var): + var = Scope({'code':code, 'options':options, 'delegate':delegate, 'this':this, 'arguments':arguments}, var) + var.registers(['code', 'options', 'delegate']) + return (var.get('_super').callprop('call', var.get(u"this"), var.get('code'), var.get('options'), var.get('delegate')) or var.get(u"this")) + PyJsHoisted_JSXParser_.func_name = 'JSXParser' + var.put('JSXParser', PyJsHoisted_JSXParser_) + var.get('__extends')(var.get('JSXParser'), var.get('_super')) + pass + @Js + def PyJs_anonymous_34_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return (var.get(u"this").callprop('parseJSXRoot') if var.get(u"this").callprop('match', Js('<')) else var.get('_super').get('prototype').get('parsePrimaryExpression').callprop('call', var.get(u"this"))) + PyJs_anonymous_34_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parsePrimaryExpression', PyJs_anonymous_34_) + @Js + def PyJs_anonymous_35_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get(u"this").get('scanner').put('index', var.get(u"this").get('startMarker').get('index')) + var.get(u"this").get('scanner').put('lineNumber', var.get(u"this").get('startMarker').get('line')) + var.get(u"this").get('scanner').put('lineStart', (var.get(u"this").get('startMarker').get('index')-var.get(u"this").get('startMarker').get('column'))) + PyJs_anonymous_35_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('startJSX', PyJs_anonymous_35_) + @Js + def PyJs_anonymous_36_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop('nextToken') + PyJs_anonymous_36_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('finishJSX', PyJs_anonymous_36_) + @Js + def PyJs_anonymous_37_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop('startJSX') + var.get(u"this").callprop('expectJSX', Js('}')) + if var.get(u"this").get('config').get('tokens'): + var.get(u"this").get('tokens').callprop('pop') + PyJs_anonymous_37_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('reenterJSX', PyJs_anonymous_37_) + @Js + def PyJs_anonymous_38_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get(u"this").callprop('collectComments') + PyJs_Object_39_ = Js({'index':var.get(u"this").get('scanner').get('index'),'line':var.get(u"this").get('scanner').get('lineNumber'),'column':(var.get(u"this").get('scanner').get('index')-var.get(u"this").get('scanner').get('lineStart'))}) + return PyJs_Object_39_ + PyJs_anonymous_38_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('createJSXNode', PyJs_anonymous_38_) + @Js + def PyJs_anonymous_40_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + PyJs_Object_41_ = Js({'index':var.get(u"this").get('scanner').get('index'),'line':var.get(u"this").get('scanner').get('lineNumber'),'column':(var.get(u"this").get('scanner').get('index')-var.get(u"this").get('scanner').get('lineStart'))}) + return PyJs_Object_41_ + PyJs_anonymous_40_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('createJSXChildNode', PyJs_anonymous_40_) + @Js + def PyJs_anonymous_42_(quote, this, arguments, var=var): + var = Scope({'quote':quote, 'this':this, 'arguments':arguments}, var) + var.registers(['numeric', 'str', 'quote', 'valid', 'hex', 'terminated', 'ch', 'result']) + var.put('result', Js('&')) + var.put('valid', Js(True)) + var.put('terminated', Js(False)) + var.put('numeric', Js(False)) + var.put('hex', Js(False)) + while ((var.get(u"this").get('scanner').callprop('eof').neg() and var.get('valid')) and var.get('terminated').neg()): + var.put('ch', var.get(u"this").get('scanner').get('source').get(var.get(u"this").get('scanner').get('index'))) + if PyJsStrictEq(var.get('ch'),var.get('quote')): + break + var.put('terminated', PyJsStrictEq(var.get('ch'),Js(';'))) + var.put('result', var.get('ch'), '+') + var.get(u"this").get('scanner').put('index',Js(var.get(u"this").get('scanner').get('index').to_number())+Js(1)) + if var.get('terminated').neg(): + while 1: + SWITCHED = False + CONDITION = (var.get('result').get('length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(2.0)): + SWITCHED = True + var.put('numeric', PyJsStrictEq(var.get('ch'),Js('#'))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + if var.get('numeric'): + var.put('hex', PyJsStrictEq(var.get('ch'),Js('x'))) + var.put('valid', (var.get('hex') or var.get('character_1').get('Character').callprop('isDecimalDigit', var.get('ch').callprop('charCodeAt', Js(0.0))))) + var.put('numeric', (var.get('numeric') and var.get('hex').neg())) + break + if True: + SWITCHED = True + var.put('valid', (var.get('valid') and (var.get('numeric') and var.get('character_1').get('Character').callprop('isDecimalDigit', var.get('ch').callprop('charCodeAt', Js(0.0))).neg()).neg())) + var.put('valid', (var.get('valid') and (var.get('hex') and var.get('character_1').get('Character').callprop('isHexDigit', var.get('ch').callprop('charCodeAt', Js(0.0))).neg()).neg())) + break + SWITCHED = True + break + if ((var.get('valid') and var.get('terminated')) and (var.get('result').get('length')>Js(2.0))): + var.put('str', var.get('result').callprop('substr', Js(1.0), (var.get('result').get('length')-Js(2.0)))) + if (var.get('numeric') and (var.get('str').get('length')>Js(1.0))): + var.put('result', var.get('String').callprop('fromCharCode', var.get('parseInt')(var.get('str').callprop('substr', Js(1.0)), Js(10.0)))) + else: + if (var.get('hex') and (var.get('str').get('length')>Js(2.0))): + var.put('result', var.get('String').callprop('fromCharCode', var.get('parseInt')((Js('0')+var.get('str').callprop('substr', Js(1.0))), Js(16.0)))) + else: + if ((var.get('numeric').neg() and var.get('hex').neg()) and var.get('xhtml_entities_1').get('XHTMLEntities').get(var.get('str'))): + var.put('result', var.get('xhtml_entities_1').get('XHTMLEntities').get(var.get('str'))) + return var.get('result') + PyJs_anonymous_42_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('scanXHTMLEntity', PyJs_anonymous_42_) + @Js + def PyJs_anonymous_43_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['cp', 'quote', 'str', 'n1', 'start', 'n2', 'value', 'ch', 'id']) + var.put('cp', var.get(u"this").get('scanner').get('source').callprop('charCodeAt', var.get(u"this").get('scanner').get('index'))) + if ((((((PyJsStrictEq(var.get('cp'),Js(60.0)) or PyJsStrictEq(var.get('cp'),Js(62.0))) or PyJsStrictEq(var.get('cp'),Js(47.0))) or PyJsStrictEq(var.get('cp'),Js(58.0))) or PyJsStrictEq(var.get('cp'),Js(61.0))) or PyJsStrictEq(var.get('cp'),Js(123.0))) or PyJsStrictEq(var.get('cp'),Js(125.0))): + var.put('value', var.get(u"this").get('scanner').get('source').get((var.get(u"this").get('scanner').put('index',Js(var.get(u"this").get('scanner').get('index').to_number())+Js(1))-Js(1)))) + PyJs_Object_44_ = Js({'type':Js(7.0),'value':var.get('value'),'lineNumber':var.get(u"this").get('scanner').get('lineNumber'),'lineStart':var.get(u"this").get('scanner').get('lineStart'),'start':(var.get(u"this").get('scanner').get('index')-Js(1.0)),'end':var.get(u"this").get('scanner').get('index')}) + return PyJs_Object_44_ + if (PyJsStrictEq(var.get('cp'),Js(34.0)) or PyJsStrictEq(var.get('cp'),Js(39.0))): + var.put('start', var.get(u"this").get('scanner').get('index')) + var.put('quote', var.get(u"this").get('scanner').get('source').get((var.get(u"this").get('scanner').put('index',Js(var.get(u"this").get('scanner').get('index').to_number())+Js(1))-Js(1)))) + var.put('str', Js('')) + while var.get(u"this").get('scanner').callprop('eof').neg(): + var.put('ch', var.get(u"this").get('scanner').get('source').get((var.get(u"this").get('scanner').put('index',Js(var.get(u"this").get('scanner').get('index').to_number())+Js(1))-Js(1)))) + if PyJsStrictEq(var.get('ch'),var.get('quote')): + break + else: + if PyJsStrictEq(var.get('ch'),Js('&')): + var.put('str', var.get(u"this").callprop('scanXHTMLEntity', var.get('quote')), '+') + else: + var.put('str', var.get('ch'), '+') + PyJs_Object_45_ = Js({'type':Js(8.0),'value':var.get('str'),'lineNumber':var.get(u"this").get('scanner').get('lineNumber'),'lineStart':var.get(u"this").get('scanner').get('lineStart'),'start':var.get('start'),'end':var.get(u"this").get('scanner').get('index')}) + return PyJs_Object_45_ + if PyJsStrictEq(var.get('cp'),Js(46.0)): + var.put('n1', var.get(u"this").get('scanner').get('source').callprop('charCodeAt', (var.get(u"this").get('scanner').get('index')+Js(1.0)))) + var.put('n2', var.get(u"this").get('scanner').get('source').callprop('charCodeAt', (var.get(u"this").get('scanner').get('index')+Js(2.0)))) + var.put('value', (Js('...') if (PyJsStrictEq(var.get('n1'),Js(46.0)) and PyJsStrictEq(var.get('n2'),Js(46.0))) else Js('.'))) + var.put('start', var.get(u"this").get('scanner').get('index')) + var.get(u"this").get('scanner').put('index', var.get('value').get('length'), '+') + PyJs_Object_46_ = Js({'type':Js(7.0),'value':var.get('value'),'lineNumber':var.get(u"this").get('scanner').get('lineNumber'),'lineStart':var.get(u"this").get('scanner').get('lineStart'),'start':var.get('start'),'end':var.get(u"this").get('scanner').get('index')}) + return PyJs_Object_46_ + if PyJsStrictEq(var.get('cp'),Js(96.0)): + PyJs_Object_47_ = Js({'type':Js(10.0),'value':Js(''),'lineNumber':var.get(u"this").get('scanner').get('lineNumber'),'lineStart':var.get(u"this").get('scanner').get('lineStart'),'start':var.get(u"this").get('scanner').get('index'),'end':var.get(u"this").get('scanner').get('index')}) + return PyJs_Object_47_ + if (var.get('character_1').get('Character').callprop('isIdentifierStart', var.get('cp')) and PyJsStrictNeq(var.get('cp'),Js(92.0))): + var.put('start', var.get(u"this").get('scanner').get('index')) + var.get(u"this").get('scanner').put('index',Js(var.get(u"this").get('scanner').get('index').to_number())+Js(1)) + while var.get(u"this").get('scanner').callprop('eof').neg(): + var.put('ch', var.get(u"this").get('scanner').get('source').callprop('charCodeAt', var.get(u"this").get('scanner').get('index'))) + if (var.get('character_1').get('Character').callprop('isIdentifierPart', var.get('ch')) and PyJsStrictNeq(var.get('ch'),Js(92.0))): + var.get(u"this").get('scanner').put('index',Js(var.get(u"this").get('scanner').get('index').to_number())+Js(1)) + else: + if PyJsStrictEq(var.get('ch'),Js(45.0)): + var.get(u"this").get('scanner').put('index',Js(var.get(u"this").get('scanner').get('index').to_number())+Js(1)) + else: + break + var.put('id', var.get(u"this").get('scanner').get('source').callprop('slice', var.get('start'), var.get(u"this").get('scanner').get('index'))) + PyJs_Object_48_ = Js({'type':Js(100.0),'value':var.get('id'),'lineNumber':var.get(u"this").get('scanner').get('lineNumber'),'lineStart':var.get(u"this").get('scanner').get('lineStart'),'start':var.get('start'),'end':var.get(u"this").get('scanner').get('index')}) + return PyJs_Object_48_ + return var.get(u"this").get('scanner').callprop('lex') + PyJs_anonymous_43_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('lexJSX', PyJs_anonymous_43_) + @Js + def PyJs_anonymous_49_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['token']) + var.get(u"this").callprop('collectComments') + var.get(u"this").get('startMarker').put('index', var.get(u"this").get('scanner').get('index')) + var.get(u"this").get('startMarker').put('line', var.get(u"this").get('scanner').get('lineNumber')) + var.get(u"this").get('startMarker').put('column', (var.get(u"this").get('scanner').get('index')-var.get(u"this").get('scanner').get('lineStart'))) + var.put('token', var.get(u"this").callprop('lexJSX')) + var.get(u"this").get('lastMarker').put('index', var.get(u"this").get('scanner').get('index')) + var.get(u"this").get('lastMarker').put('line', var.get(u"this").get('scanner').get('lineNumber')) + var.get(u"this").get('lastMarker').put('column', (var.get(u"this").get('scanner').get('index')-var.get(u"this").get('scanner').get('lineStart'))) + if var.get(u"this").get('config').get('tokens'): + var.get(u"this").get('tokens').callprop('push', var.get(u"this").callprop('convertToken', var.get('token'))) + return var.get('token') + PyJs_anonymous_49_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('nextJSXToken', PyJs_anonymous_49_) + @Js + def PyJs_anonymous_50_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['text', 'ch', 'start', 'token']) + var.get(u"this").get('startMarker').put('index', var.get(u"this").get('scanner').get('index')) + var.get(u"this").get('startMarker').put('line', var.get(u"this").get('scanner').get('lineNumber')) + var.get(u"this").get('startMarker').put('column', (var.get(u"this").get('scanner').get('index')-var.get(u"this").get('scanner').get('lineStart'))) + var.put('start', var.get(u"this").get('scanner').get('index')) + var.put('text', Js('')) + while var.get(u"this").get('scanner').callprop('eof').neg(): + var.put('ch', var.get(u"this").get('scanner').get('source').get(var.get(u"this").get('scanner').get('index'))) + if (PyJsStrictEq(var.get('ch'),Js('{')) or PyJsStrictEq(var.get('ch'),Js('<'))): + break + var.get(u"this").get('scanner').put('index',Js(var.get(u"this").get('scanner').get('index').to_number())+Js(1)) + var.put('text', var.get('ch'), '+') + if var.get('character_1').get('Character').callprop('isLineTerminator', var.get('ch').callprop('charCodeAt', Js(0.0))): + var.get(u"this").get('scanner').put('lineNumber',Js(var.get(u"this").get('scanner').get('lineNumber').to_number())+Js(1)) + if (PyJsStrictEq(var.get('ch'),Js('\r')) and PyJsStrictEq(var.get(u"this").get('scanner').get('source').get(var.get(u"this").get('scanner').get('index')),Js('\n'))): + var.get(u"this").get('scanner').put('index',Js(var.get(u"this").get('scanner').get('index').to_number())+Js(1)) + var.get(u"this").get('scanner').put('lineStart', var.get(u"this").get('scanner').get('index')) + var.get(u"this").get('lastMarker').put('index', var.get(u"this").get('scanner').get('index')) + var.get(u"this").get('lastMarker').put('line', var.get(u"this").get('scanner').get('lineNumber')) + var.get(u"this").get('lastMarker').put('column', (var.get(u"this").get('scanner').get('index')-var.get(u"this").get('scanner').get('lineStart'))) + PyJs_Object_51_ = Js({'type':Js(101.0),'value':var.get('text'),'lineNumber':var.get(u"this").get('scanner').get('lineNumber'),'lineStart':var.get(u"this").get('scanner').get('lineStart'),'start':var.get('start'),'end':var.get(u"this").get('scanner').get('index')}) + var.put('token', PyJs_Object_51_) + if ((var.get('text').get('length')>Js(0.0)) and var.get(u"this").get('config').get('tokens')): + var.get(u"this").get('tokens').callprop('push', var.get(u"this").callprop('convertToken', var.get('token'))) + return var.get('token') + PyJs_anonymous_50_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('nextJSXText', PyJs_anonymous_50_) + @Js + def PyJs_anonymous_52_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['next', 'state']) + var.put('state', var.get(u"this").get('scanner').callprop('saveState')) + var.get(u"this").get('scanner').callprop('scanComments') + var.put('next', var.get(u"this").callprop('lexJSX')) + var.get(u"this").get('scanner').callprop('restoreState', var.get('state')) + return var.get('next') + PyJs_anonymous_52_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('peekJSXToken', PyJs_anonymous_52_) + @Js + def PyJs_anonymous_53_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'token']) + var.put('token', var.get(u"this").callprop('nextJSXToken')) + if (PyJsStrictNeq(var.get('token').get('type'),Js(7.0)) or PyJsStrictNeq(var.get('token').get('value'),var.get('value'))): + var.get(u"this").callprop('throwUnexpectedToken', var.get('token')) + PyJs_anonymous_53_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('expectJSX', PyJs_anonymous_53_) + @Js + def PyJs_anonymous_54_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'next']) + var.put('next', var.get(u"this").callprop('peekJSXToken')) + return (PyJsStrictEq(var.get('next').get('type'),Js(7.0)) and PyJsStrictEq(var.get('next').get('value'),var.get('value'))) + PyJs_anonymous_54_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('matchJSX', PyJs_anonymous_54_) + @Js + def PyJs_anonymous_55_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['node', 'token']) + var.put('node', var.get(u"this").callprop('createJSXNode')) + var.put('token', var.get(u"this").callprop('nextJSXToken')) + if PyJsStrictNeq(var.get('token').get('type'),Js(100.0)): + var.get(u"this").callprop('throwUnexpectedToken', var.get('token')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('JSXNode').get('JSXIdentifier').create(var.get('token').get('value'))) + PyJs_anonymous_55_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXIdentifier', PyJs_anonymous_55_) + @Js + def PyJs_anonymous_56_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['object', 'node', 'namespace', 'property', 'name_1', 'elementName']) + var.put('node', var.get(u"this").callprop('createJSXNode')) + var.put('elementName', var.get(u"this").callprop('parseJSXIdentifier')) + if var.get(u"this").callprop('matchJSX', Js(':')): + var.put('namespace', var.get('elementName')) + var.get(u"this").callprop('expectJSX', Js(':')) + var.put('name_1', var.get(u"this").callprop('parseJSXIdentifier')) + var.put('elementName', var.get(u"this").callprop('finalize', var.get('node'), var.get('JSXNode').get('JSXNamespacedName').create(var.get('namespace'), var.get('name_1')))) + else: + if var.get(u"this").callprop('matchJSX', Js('.')): + while var.get(u"this").callprop('matchJSX', Js('.')): + var.put('object', var.get('elementName')) + var.get(u"this").callprop('expectJSX', Js('.')) + var.put('property', var.get(u"this").callprop('parseJSXIdentifier')) + var.put('elementName', var.get(u"this").callprop('finalize', var.get('node'), var.get('JSXNode').get('JSXMemberExpression').create(var.get('object'), var.get('property')))) + return var.get('elementName') + PyJs_anonymous_56_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXElementName', PyJs_anonymous_56_) + @Js + def PyJs_anonymous_57_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['name_2', 'node', 'namespace', 'attributeName', 'identifier']) + var.put('node', var.get(u"this").callprop('createJSXNode')) + pass + var.put('identifier', var.get(u"this").callprop('parseJSXIdentifier')) + if var.get(u"this").callprop('matchJSX', Js(':')): + var.put('namespace', var.get('identifier')) + var.get(u"this").callprop('expectJSX', Js(':')) + var.put('name_2', var.get(u"this").callprop('parseJSXIdentifier')) + var.put('attributeName', var.get(u"this").callprop('finalize', var.get('node'), var.get('JSXNode').get('JSXNamespacedName').create(var.get('namespace'), var.get('name_2')))) + else: + var.put('attributeName', var.get('identifier')) + return var.get('attributeName') + PyJs_anonymous_57_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXAttributeName', PyJs_anonymous_57_) + @Js + def PyJs_anonymous_58_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['raw', 'node', 'token']) + var.put('node', var.get(u"this").callprop('createJSXNode')) + var.put('token', var.get(u"this").callprop('nextJSXToken')) + if PyJsStrictNeq(var.get('token').get('type'),Js(8.0)): + var.get(u"this").callprop('throwUnexpectedToken', var.get('token')) + var.put('raw', var.get(u"this").callprop('getTokenRaw', var.get('token'))) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Literal').create(var.get('token').get('value'), var.get('raw'))) + PyJs_anonymous_58_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXStringLiteralAttribute', PyJs_anonymous_58_) + @Js + def PyJs_anonymous_59_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['expression', 'node']) + var.put('node', var.get(u"this").callprop('createJSXNode')) + var.get(u"this").callprop('expectJSX', Js('{')) + var.get(u"this").callprop('finishJSX') + if var.get(u"this").callprop('match', Js('}')): + var.get(u"this").callprop('tolerateError', Js('JSX attributes must only be assigned a non-empty expression')) + var.put('expression', var.get(u"this").callprop('parseAssignmentExpression')) + var.get(u"this").callprop('reenterJSX') + return var.get(u"this").callprop('finalize', var.get('node'), var.get('JSXNode').get('JSXExpressionContainer').create(var.get('expression'))) + PyJs_anonymous_59_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXExpressionAttribute', PyJs_anonymous_59_) + @Js + def PyJs_anonymous_60_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return (var.get(u"this").callprop('parseJSXExpressionAttribute') if var.get(u"this").callprop('matchJSX', Js('{')) else (var.get(u"this").callprop('parseJSXElement') if var.get(u"this").callprop('matchJSX', Js('<')) else var.get(u"this").callprop('parseJSXStringLiteralAttribute'))) + PyJs_anonymous_60_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXAttributeValue', PyJs_anonymous_60_) + @Js + def PyJs_anonymous_61_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['value', 'name', 'node']) + var.put('node', var.get(u"this").callprop('createJSXNode')) + var.put('name', var.get(u"this").callprop('parseJSXAttributeName')) + var.put('value', var.get(u"null")) + if var.get(u"this").callprop('matchJSX', Js('=')): + var.get(u"this").callprop('expectJSX', Js('=')) + var.put('value', var.get(u"this").callprop('parseJSXAttributeValue')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('JSXNode').get('JSXAttribute').create(var.get('name'), var.get('value'))) + PyJs_anonymous_61_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXNameValueAttribute', PyJs_anonymous_61_) + @Js + def PyJs_anonymous_62_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['node', 'argument']) + var.put('node', var.get(u"this").callprop('createJSXNode')) + var.get(u"this").callprop('expectJSX', Js('{')) + var.get(u"this").callprop('expectJSX', Js('...')) + var.get(u"this").callprop('finishJSX') + var.put('argument', var.get(u"this").callprop('parseAssignmentExpression')) + var.get(u"this").callprop('reenterJSX') + return var.get(u"this").callprop('finalize', var.get('node'), var.get('JSXNode').get('JSXSpreadAttribute').create(var.get('argument'))) + PyJs_anonymous_62_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXSpreadAttribute', PyJs_anonymous_62_) + @Js + def PyJs_anonymous_63_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['attribute', 'attributes']) + var.put('attributes', Js([])) + while (var.get(u"this").callprop('matchJSX', Js('/')).neg() and var.get(u"this").callprop('matchJSX', Js('>')).neg()): + var.put('attribute', (var.get(u"this").callprop('parseJSXSpreadAttribute') if var.get(u"this").callprop('matchJSX', Js('{')) else var.get(u"this").callprop('parseJSXNameValueAttribute'))) + var.get('attributes').callprop('push', var.get('attribute')) + return var.get('attributes') + PyJs_anonymous_63_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXAttributes', PyJs_anonymous_63_) + @Js + def PyJs_anonymous_64_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['name', 'node', 'attributes', 'selfClosing']) + var.put('node', var.get(u"this").callprop('createJSXNode')) + var.get(u"this").callprop('expectJSX', Js('<')) + var.put('name', var.get(u"this").callprop('parseJSXElementName')) + var.put('attributes', var.get(u"this").callprop('parseJSXAttributes')) + var.put('selfClosing', var.get(u"this").callprop('matchJSX', Js('/'))) + if var.get('selfClosing'): + var.get(u"this").callprop('expectJSX', Js('/')) + var.get(u"this").callprop('expectJSX', Js('>')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('JSXNode').get('JSXOpeningElement').create(var.get('name'), var.get('selfClosing'), var.get('attributes'))) + PyJs_anonymous_64_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXOpeningElement', PyJs_anonymous_64_) + @Js + def PyJs_anonymous_65_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['name_3', 'name', 'node', 'attributes', 'selfClosing']) + var.put('node', var.get(u"this").callprop('createJSXNode')) + var.get(u"this").callprop('expectJSX', Js('<')) + if var.get(u"this").callprop('matchJSX', Js('/')): + var.get(u"this").callprop('expectJSX', Js('/')) + var.put('name_3', var.get(u"this").callprop('parseJSXElementName')) + var.get(u"this").callprop('expectJSX', Js('>')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('JSXNode').get('JSXClosingElement').create(var.get('name_3'))) + var.put('name', var.get(u"this").callprop('parseJSXElementName')) + var.put('attributes', var.get(u"this").callprop('parseJSXAttributes')) + var.put('selfClosing', var.get(u"this").callprop('matchJSX', Js('/'))) + if var.get('selfClosing'): + var.get(u"this").callprop('expectJSX', Js('/')) + var.get(u"this").callprop('expectJSX', Js('>')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('JSXNode').get('JSXOpeningElement').create(var.get('name'), var.get('selfClosing'), var.get('attributes'))) + PyJs_anonymous_65_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXBoundaryElement', PyJs_anonymous_65_) + @Js + def PyJs_anonymous_66_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['node']) + var.put('node', var.get(u"this").callprop('createJSXChildNode')) + var.get(u"this").callprop('collectComments') + var.get(u"this").get('lastMarker').put('index', var.get(u"this").get('scanner').get('index')) + var.get(u"this").get('lastMarker').put('line', var.get(u"this").get('scanner').get('lineNumber')) + var.get(u"this").get('lastMarker').put('column', (var.get(u"this").get('scanner').get('index')-var.get(u"this").get('scanner').get('lineStart'))) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('JSXNode').get('JSXEmptyExpression').create()) + PyJs_anonymous_66_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXEmptyExpression', PyJs_anonymous_66_) + @Js + def PyJs_anonymous_67_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['expression', 'node']) + var.put('node', var.get(u"this").callprop('createJSXNode')) + var.get(u"this").callprop('expectJSX', Js('{')) + pass + if var.get(u"this").callprop('matchJSX', Js('}')): + var.put('expression', var.get(u"this").callprop('parseJSXEmptyExpression')) + var.get(u"this").callprop('expectJSX', Js('}')) + else: + var.get(u"this").callprop('finishJSX') + var.put('expression', var.get(u"this").callprop('parseAssignmentExpression')) + var.get(u"this").callprop('reenterJSX') + return var.get(u"this").callprop('finalize', var.get('node'), var.get('JSXNode').get('JSXExpressionContainer').create(var.get('expression'))) + PyJs_anonymous_67_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXExpressionContainer', PyJs_anonymous_67_) + @Js + def PyJs_anonymous_68_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['node', 'children', 'container', 'raw', 'child', 'token']) + var.put('children', Js([])) + while var.get(u"this").get('scanner').callprop('eof').neg(): + var.put('node', var.get(u"this").callprop('createJSXChildNode')) + var.put('token', var.get(u"this").callprop('nextJSXText')) + if (var.get('token').get('start')Js(0.0)): + var.put('child', var.get(u"this").callprop('finalize', var.get('el').get('node'), var.get('JSXNode').get('JSXElement').create(var.get('el').get('opening'), var.get('el').get('children'), var.get('el').get('closing')))) + var.put('el', var.get('stack').get((var.get('stack').get('length')-Js(1.0)))) + var.get('el').get('children').callprop('push', var.get('child')) + var.get('stack').callprop('pop') + else: + break + return var.get('el') + PyJs_anonymous_69_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseComplexJSXElement', PyJs_anonymous_69_) + @Js + def PyJs_anonymous_71_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['node', 'children', 'el', 'opening', 'closing']) + var.put('node', var.get(u"this").callprop('createJSXNode')) + var.put('opening', var.get(u"this").callprop('parseJSXOpeningElement')) + var.put('children', Js([])) + var.put('closing', var.get(u"null")) + if var.get('opening').get('selfClosing').neg(): + PyJs_Object_72_ = Js({'node':var.get('node'),'opening':var.get('opening'),'closing':var.get('closing'),'children':var.get('children')}) + var.put('el', var.get(u"this").callprop('parseComplexJSXElement', PyJs_Object_72_)) + var.put('children', var.get('el').get('children')) + var.put('closing', var.get('el').get('closing')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('JSXNode').get('JSXElement').create(var.get('opening'), var.get('children'), var.get('closing'))) + PyJs_anonymous_71_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXElement', PyJs_anonymous_71_) + @Js + def PyJs_anonymous_73_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['element']) + if var.get(u"this").get('config').get('tokens'): + var.get(u"this").get('tokens').callprop('pop') + var.get(u"this").callprop('startJSX') + var.put('element', var.get(u"this").callprop('parseJSXElement')) + var.get(u"this").callprop('finishJSX') + return var.get('element') + PyJs_anonymous_73_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('parseJSXRoot', PyJs_anonymous_73_) + @Js + def PyJs_anonymous_74_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return (var.get('_super').get('prototype').get('isStartOfExpression').callprop('call', var.get(u"this")) or var.get(u"this").callprop('match', Js('<'))) + PyJs_anonymous_74_._set_name('anonymous') + var.get('JSXParser').get('prototype').put('isStartOfExpression', PyJs_anonymous_74_) + return var.get('JSXParser') + PyJs_anonymous_33_._set_name('anonymous') + var.put('JSXParser', PyJs_anonymous_33_(var.get('parser_1').get('Parser'))) + var.get('exports').put('JSXParser', var.get('JSXParser')) + PyJs_anonymous_26_._set_name('anonymous') + @Js + def PyJs_anonymous_75_(module, exports, this, arguments, var=var): + var = Scope({'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['Regex', 'module', 'exports']) + Js('use strict') + PyJs_Object_76_ = Js({'value':Js(True)}) + var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), PyJs_Object_76_) + PyJs_Object_77_ = Js({'NonAsciiIdentifierStart':JsRegExp('/[\\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\\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\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\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\\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-\\uA7AD\\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]|\\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\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\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\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\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\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/'),'NonAsciiIdentifierPart':JsRegExp('/[\\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-\\u08B4\\u08E3-\\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\\u0AF9\\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-\\u0C5A\\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\\u0D5F-\\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-\\u13F5\\u13F8-\\u13FD\\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-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\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-\\uAB65\\uAB70-\\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-\\uFE2F\\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\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\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\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\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]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\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\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/')}) + var.put('Regex', PyJs_Object_77_) + @Js + def PyJs_fromCodePoint_79_(cp, this, arguments, var=var): + var = Scope({'cp':cp, 'this':this, 'arguments':arguments, 'fromCodePoint':PyJs_fromCodePoint_79_}, var) + var.registers(['cp']) + return (var.get('String').callprop('fromCharCode', var.get('cp')) if (var.get('cp')>Js(10.0))))+var.get('String').callprop('fromCharCode', (Js(56320)+((var.get('cp')-Js(65536))&Js(1023.0)))))) + PyJs_fromCodePoint_79_._set_name('fromCodePoint') + @Js + def PyJs_isWhiteSpace_80_(cp, this, arguments, var=var): + var = Scope({'cp':cp, 'this':this, 'arguments':arguments, 'isWhiteSpace':PyJs_isWhiteSpace_80_}, var) + var.registers(['cp']) + def PyJs_LONG_81_(var=var): + return (((((PyJsStrictEq(var.get('cp'),Js(32)) or PyJsStrictEq(var.get('cp'),Js(9))) or PyJsStrictEq(var.get('cp'),Js(11))) or PyJsStrictEq(var.get('cp'),Js(12))) or PyJsStrictEq(var.get('cp'),Js(160))) or ((var.get('cp')>=Js(5760)) and (Js([Js(5760), 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)]).callprop('indexOf', var.get('cp'))>=Js(0.0)))) + return PyJs_LONG_81_() + PyJs_isWhiteSpace_80_._set_name('isWhiteSpace') + @Js + def PyJs_isLineTerminator_82_(cp, this, arguments, var=var): + var = Scope({'cp':cp, 'this':this, 'arguments':arguments, 'isLineTerminator':PyJs_isLineTerminator_82_}, var) + var.registers(['cp']) + return (((PyJsStrictEq(var.get('cp'),Js(10)) or PyJsStrictEq(var.get('cp'),Js(13))) or PyJsStrictEq(var.get('cp'),Js(8232))) or PyJsStrictEq(var.get('cp'),Js(8233))) + PyJs_isLineTerminator_82_._set_name('isLineTerminator') + @Js + def PyJs_isIdentifierStart_83_(cp, this, arguments, var=var): + var = Scope({'cp':cp, 'this':this, 'arguments':arguments, 'isIdentifierStart':PyJs_isIdentifierStart_83_}, var) + var.registers(['cp']) + def PyJs_LONG_84_(var=var): + return (((((PyJsStrictEq(var.get('cp'),Js(36)) or PyJsStrictEq(var.get('cp'),Js(95))) or ((var.get('cp')>=Js(65)) and (var.get('cp')<=Js(90)))) or ((var.get('cp')>=Js(97)) and (var.get('cp')<=Js(122)))) or PyJsStrictEq(var.get('cp'),Js(92))) or ((var.get('cp')>=Js(128)) and var.get('Regex').get('NonAsciiIdentifierStart').callprop('test', var.get('exports').get('Character').callprop('fromCodePoint', var.get('cp'))))) + return PyJs_LONG_84_() + PyJs_isIdentifierStart_83_._set_name('isIdentifierStart') + @Js + def PyJs_isIdentifierPart_85_(cp, this, arguments, var=var): + var = Scope({'cp':cp, 'this':this, 'arguments':arguments, 'isIdentifierPart':PyJs_isIdentifierPart_85_}, var) + var.registers(['cp']) + def PyJs_LONG_86_(var=var): + return ((((((PyJsStrictEq(var.get('cp'),Js(36)) or PyJsStrictEq(var.get('cp'),Js(95))) or ((var.get('cp')>=Js(65)) and (var.get('cp')<=Js(90)))) or ((var.get('cp')>=Js(97)) and (var.get('cp')<=Js(122)))) or ((var.get('cp')>=Js(48)) and (var.get('cp')<=Js(57)))) or PyJsStrictEq(var.get('cp'),Js(92))) or ((var.get('cp')>=Js(128)) and var.get('Regex').get('NonAsciiIdentifierPart').callprop('test', var.get('exports').get('Character').callprop('fromCodePoint', var.get('cp'))))) + return PyJs_LONG_86_() + PyJs_isIdentifierPart_85_._set_name('isIdentifierPart') + @Js + def PyJs_isDecimalDigit_87_(cp, this, arguments, var=var): + var = Scope({'cp':cp, 'this':this, 'arguments':arguments, 'isDecimalDigit':PyJs_isDecimalDigit_87_}, var) + var.registers(['cp']) + return ((var.get('cp')>=Js(48)) and (var.get('cp')<=Js(57))) + PyJs_isDecimalDigit_87_._set_name('isDecimalDigit') + @Js + def PyJs_isHexDigit_88_(cp, this, arguments, var=var): + var = Scope({'cp':cp, 'this':this, 'arguments':arguments, 'isHexDigit':PyJs_isHexDigit_88_}, var) + var.registers(['cp']) + return ((((var.get('cp')>=Js(48)) and (var.get('cp')<=Js(57))) or ((var.get('cp')>=Js(65)) and (var.get('cp')<=Js(70)))) or ((var.get('cp')>=Js(97)) and (var.get('cp')<=Js(102)))) + PyJs_isHexDigit_88_._set_name('isHexDigit') + @Js + def PyJs_isOctalDigit_89_(cp, this, arguments, var=var): + var = Scope({'cp':cp, 'this':this, 'arguments':arguments, 'isOctalDigit':PyJs_isOctalDigit_89_}, var) + var.registers(['cp']) + return ((var.get('cp')>=Js(48)) and (var.get('cp')<=Js(55))) + PyJs_isOctalDigit_89_._set_name('isOctalDigit') + PyJs_Object_78_ = Js({'fromCodePoint':PyJs_fromCodePoint_79_,'isWhiteSpace':PyJs_isWhiteSpace_80_,'isLineTerminator':PyJs_isLineTerminator_82_,'isIdentifierStart':PyJs_isIdentifierStart_83_,'isIdentifierPart':PyJs_isIdentifierPart_85_,'isDecimalDigit':PyJs_isDecimalDigit_87_,'isHexDigit':PyJs_isHexDigit_88_,'isOctalDigit':PyJs_isOctalDigit_89_}) + var.get('exports').put('Character', PyJs_Object_78_) + PyJs_anonymous_75_._set_name('anonymous') + @Js + def PyJs_anonymous_90_(module, exports, __webpack_require__, this, arguments, var=var): + var = Scope({'module':module, 'exports':exports, '__webpack_require__':__webpack_require__, 'this':this, 'arguments':arguments}, var) + var.registers(['JSXOpeningElement', 'module', 'JSXText', 'jsx_syntax_1', '__webpack_require__', 'JSXElement', 'JSXExpressionContainer', 'JSXAttribute', 'exports', 'JSXClosingElement', 'JSXMemberExpression', 'JSXEmptyExpression', 'JSXIdentifier', 'JSXNamespacedName', 'JSXSpreadAttribute']) + Js('use strict') + PyJs_Object_91_ = Js({'value':Js(True)}) + var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), PyJs_Object_91_) + var.put('jsx_syntax_1', var.get('__webpack_require__')(Js(6.0))) + @Js + def PyJs_anonymous_92_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['JSXClosingElement']) + @Js + def PyJsHoisted_JSXClosingElement_(name, this, arguments, var=var): + var = Scope({'name':name, 'this':this, 'arguments':arguments}, var) + var.registers(['name']) + var.get(u"this").put('type', var.get('jsx_syntax_1').get('JSXSyntax').get('JSXClosingElement')) + var.get(u"this").put('name', var.get('name')) + PyJsHoisted_JSXClosingElement_.func_name = 'JSXClosingElement' + var.put('JSXClosingElement', PyJsHoisted_JSXClosingElement_) + pass + return var.get('JSXClosingElement') + PyJs_anonymous_92_._set_name('anonymous') + var.put('JSXClosingElement', PyJs_anonymous_92_()) + var.get('exports').put('JSXClosingElement', var.get('JSXClosingElement')) + @Js + def PyJs_anonymous_93_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['JSXElement']) + @Js + def PyJsHoisted_JSXElement_(openingElement, children, closingElement, this, arguments, var=var): + var = Scope({'openingElement':openingElement, 'children':children, 'closingElement':closingElement, 'this':this, 'arguments':arguments}, var) + var.registers(['openingElement', 'closingElement', 'children']) + var.get(u"this").put('type', var.get('jsx_syntax_1').get('JSXSyntax').get('JSXElement')) + var.get(u"this").put('openingElement', var.get('openingElement')) + var.get(u"this").put('children', var.get('children')) + var.get(u"this").put('closingElement', var.get('closingElement')) + PyJsHoisted_JSXElement_.func_name = 'JSXElement' + var.put('JSXElement', PyJsHoisted_JSXElement_) + pass + return var.get('JSXElement') + PyJs_anonymous_93_._set_name('anonymous') + var.put('JSXElement', PyJs_anonymous_93_()) + var.get('exports').put('JSXElement', var.get('JSXElement')) + @Js + def PyJs_anonymous_94_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['JSXEmptyExpression']) + @Js + def PyJsHoisted_JSXEmptyExpression_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put('type', var.get('jsx_syntax_1').get('JSXSyntax').get('JSXEmptyExpression')) + PyJsHoisted_JSXEmptyExpression_.func_name = 'JSXEmptyExpression' + var.put('JSXEmptyExpression', PyJsHoisted_JSXEmptyExpression_) + pass + return var.get('JSXEmptyExpression') + PyJs_anonymous_94_._set_name('anonymous') + var.put('JSXEmptyExpression', PyJs_anonymous_94_()) + var.get('exports').put('JSXEmptyExpression', var.get('JSXEmptyExpression')) + @Js + def PyJs_anonymous_95_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['JSXExpressionContainer']) + @Js + def PyJsHoisted_JSXExpressionContainer_(expression, this, arguments, var=var): + var = Scope({'expression':expression, 'this':this, 'arguments':arguments}, var) + var.registers(['expression']) + var.get(u"this").put('type', var.get('jsx_syntax_1').get('JSXSyntax').get('JSXExpressionContainer')) + var.get(u"this").put('expression', var.get('expression')) + PyJsHoisted_JSXExpressionContainer_.func_name = 'JSXExpressionContainer' + var.put('JSXExpressionContainer', PyJsHoisted_JSXExpressionContainer_) + pass + return var.get('JSXExpressionContainer') + PyJs_anonymous_95_._set_name('anonymous') + var.put('JSXExpressionContainer', PyJs_anonymous_95_()) + var.get('exports').put('JSXExpressionContainer', var.get('JSXExpressionContainer')) + @Js + def PyJs_anonymous_96_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['JSXIdentifier']) + @Js + def PyJsHoisted_JSXIdentifier_(name, this, arguments, var=var): + var = Scope({'name':name, 'this':this, 'arguments':arguments}, var) + var.registers(['name']) + var.get(u"this").put('type', var.get('jsx_syntax_1').get('JSXSyntax').get('JSXIdentifier')) + var.get(u"this").put('name', var.get('name')) + PyJsHoisted_JSXIdentifier_.func_name = 'JSXIdentifier' + var.put('JSXIdentifier', PyJsHoisted_JSXIdentifier_) + pass + return var.get('JSXIdentifier') + PyJs_anonymous_96_._set_name('anonymous') + var.put('JSXIdentifier', PyJs_anonymous_96_()) + var.get('exports').put('JSXIdentifier', var.get('JSXIdentifier')) + @Js + def PyJs_anonymous_97_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['JSXMemberExpression']) + @Js + def PyJsHoisted_JSXMemberExpression_(object, property, this, arguments, var=var): + var = Scope({'object':object, 'property':property, 'this':this, 'arguments':arguments}, var) + var.registers(['property', 'object']) + var.get(u"this").put('type', var.get('jsx_syntax_1').get('JSXSyntax').get('JSXMemberExpression')) + var.get(u"this").put('object', var.get('object')) + var.get(u"this").put('property', var.get('property')) + PyJsHoisted_JSXMemberExpression_.func_name = 'JSXMemberExpression' + var.put('JSXMemberExpression', PyJsHoisted_JSXMemberExpression_) + pass + return var.get('JSXMemberExpression') + PyJs_anonymous_97_._set_name('anonymous') + var.put('JSXMemberExpression', PyJs_anonymous_97_()) + var.get('exports').put('JSXMemberExpression', var.get('JSXMemberExpression')) + @Js + def PyJs_anonymous_98_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['JSXAttribute']) + @Js + def PyJsHoisted_JSXAttribute_(name, value, this, arguments, var=var): + var = Scope({'name':name, 'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'name']) + var.get(u"this").put('type', var.get('jsx_syntax_1').get('JSXSyntax').get('JSXAttribute')) + var.get(u"this").put('name', var.get('name')) + var.get(u"this").put('value', var.get('value')) + PyJsHoisted_JSXAttribute_.func_name = 'JSXAttribute' + var.put('JSXAttribute', PyJsHoisted_JSXAttribute_) + pass + return var.get('JSXAttribute') + PyJs_anonymous_98_._set_name('anonymous') + var.put('JSXAttribute', PyJs_anonymous_98_()) + var.get('exports').put('JSXAttribute', var.get('JSXAttribute')) + @Js + def PyJs_anonymous_99_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['JSXNamespacedName']) + @Js + def PyJsHoisted_JSXNamespacedName_(namespace, name, this, arguments, var=var): + var = Scope({'namespace':namespace, 'name':name, 'this':this, 'arguments':arguments}, var) + var.registers(['namespace', 'name']) + var.get(u"this").put('type', var.get('jsx_syntax_1').get('JSXSyntax').get('JSXNamespacedName')) + var.get(u"this").put('namespace', var.get('namespace')) + var.get(u"this").put('name', var.get('name')) + PyJsHoisted_JSXNamespacedName_.func_name = 'JSXNamespacedName' + var.put('JSXNamespacedName', PyJsHoisted_JSXNamespacedName_) + pass + return var.get('JSXNamespacedName') + PyJs_anonymous_99_._set_name('anonymous') + var.put('JSXNamespacedName', PyJs_anonymous_99_()) + var.get('exports').put('JSXNamespacedName', var.get('JSXNamespacedName')) + @Js + def PyJs_anonymous_100_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['JSXOpeningElement']) + @Js + def PyJsHoisted_JSXOpeningElement_(name, selfClosing, attributes, this, arguments, var=var): + var = Scope({'name':name, 'selfClosing':selfClosing, 'attributes':attributes, 'this':this, 'arguments':arguments}, var) + var.registers(['name', 'attributes', 'selfClosing']) + var.get(u"this").put('type', var.get('jsx_syntax_1').get('JSXSyntax').get('JSXOpeningElement')) + var.get(u"this").put('name', var.get('name')) + var.get(u"this").put('selfClosing', var.get('selfClosing')) + var.get(u"this").put('attributes', var.get('attributes')) + PyJsHoisted_JSXOpeningElement_.func_name = 'JSXOpeningElement' + var.put('JSXOpeningElement', PyJsHoisted_JSXOpeningElement_) + pass + return var.get('JSXOpeningElement') + PyJs_anonymous_100_._set_name('anonymous') + var.put('JSXOpeningElement', PyJs_anonymous_100_()) + var.get('exports').put('JSXOpeningElement', var.get('JSXOpeningElement')) + @Js + def PyJs_anonymous_101_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['JSXSpreadAttribute']) + @Js + def PyJsHoisted_JSXSpreadAttribute_(argument, this, arguments, var=var): + var = Scope({'argument':argument, 'this':this, 'arguments':arguments}, var) + var.registers(['argument']) + var.get(u"this").put('type', var.get('jsx_syntax_1').get('JSXSyntax').get('JSXSpreadAttribute')) + var.get(u"this").put('argument', var.get('argument')) + PyJsHoisted_JSXSpreadAttribute_.func_name = 'JSXSpreadAttribute' + var.put('JSXSpreadAttribute', PyJsHoisted_JSXSpreadAttribute_) + pass + return var.get('JSXSpreadAttribute') + PyJs_anonymous_101_._set_name('anonymous') + var.put('JSXSpreadAttribute', PyJs_anonymous_101_()) + var.get('exports').put('JSXSpreadAttribute', var.get('JSXSpreadAttribute')) + @Js + def PyJs_anonymous_102_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['JSXText']) + @Js + def PyJsHoisted_JSXText_(value, raw, this, arguments, var=var): + var = Scope({'value':value, 'raw':raw, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'raw']) + var.get(u"this").put('type', var.get('jsx_syntax_1').get('JSXSyntax').get('JSXText')) + var.get(u"this").put('value', var.get('value')) + var.get(u"this").put('raw', var.get('raw')) + PyJsHoisted_JSXText_.func_name = 'JSXText' + var.put('JSXText', PyJsHoisted_JSXText_) + pass + return var.get('JSXText') + PyJs_anonymous_102_._set_name('anonymous') + var.put('JSXText', PyJs_anonymous_102_()) + var.get('exports').put('JSXText', var.get('JSXText')) + PyJs_anonymous_90_._set_name('anonymous') + @Js + def PyJs_anonymous_103_(module, exports, this, arguments, var=var): + var = Scope({'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['module', 'exports']) + Js('use strict') + PyJs_Object_104_ = Js({'value':Js(True)}) + var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), PyJs_Object_104_) + PyJs_Object_105_ = Js({'JSXAttribute':Js('JSXAttribute'),'JSXClosingElement':Js('JSXClosingElement'),'JSXElement':Js('JSXElement'),'JSXEmptyExpression':Js('JSXEmptyExpression'),'JSXExpressionContainer':Js('JSXExpressionContainer'),'JSXIdentifier':Js('JSXIdentifier'),'JSXMemberExpression':Js('JSXMemberExpression'),'JSXNamespacedName':Js('JSXNamespacedName'),'JSXOpeningElement':Js('JSXOpeningElement'),'JSXSpreadAttribute':Js('JSXSpreadAttribute'),'JSXText':Js('JSXText')}) + var.get('exports').put('JSXSyntax', PyJs_Object_105_) + PyJs_anonymous_103_._set_name('anonymous') + @Js + def PyJs_anonymous_106_(module, exports, __webpack_require__, this, arguments, var=var): + var = Scope({'module':module, 'exports':exports, '__webpack_require__':__webpack_require__, 'this':this, 'arguments':arguments}, var) + var.registers(['ArrowFunctionExpression', 'ExportDefaultDeclaration', 'FunctionDeclaration', 'ImportSpecifier', 'ImportDeclaration', 'AwaitExpression', 'ThisExpression', 'LabeledStatement', 'UpdateExpression', 'AssignmentPattern', 'CatchClause', 'FunctionExpression', 'IfStatement', 'EmptyStatement', 'TemplateLiteral', 'AsyncFunctionExpression', 'ClassExpression', 'BinaryExpression', 'TaggedTemplateExpression', 'ClassDeclaration', 'BlockStatement', 'Literal', 'CallExpression', 'module', 'ConditionalExpression', 'SpreadElement', 'exports', 'ExportSpecifier', 'ExportNamedDeclaration', 'MetaProperty', 'DoWhileStatement', 'ComputedMemberExpression', 'AssignmentExpression', 'ArrayExpression', 'MethodDefinition', 'ObjectPattern', 'UnaryExpression', 'Module', 'ImportDefaultSpecifier', 'ContinueStatement', 'ClassBody', 'ImportNamespaceSpecifier', 'ArrayPattern', 'Property', 'RestElement', 'SwitchStatement', 'Script', 'WhileStatement', 'ForStatement', 'ObjectExpression', 'RegexLiteral', 'AsyncArrowFunctionExpression', 'Identifier', 'ReturnStatement', 'ExpressionStatement', 'SwitchCase', 'WithStatement', 'ForOfStatement', 'ForInStatement', 'Directive', 'TryStatement', 'VariableDeclarator', '__webpack_require__', 'ThrowStatement', 'TemplateElement', 'AsyncFunctionDeclaration', 'VariableDeclaration', 'StaticMemberExpression', 'Super', 'syntax_1', 'BreakStatement', 'DebuggerStatement', 'NewExpression', 'SequenceExpression', 'YieldExpression', 'ExportAllDeclaration']) + Js('use strict') + PyJs_Object_107_ = Js({'value':Js(True)}) + var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), PyJs_Object_107_) + var.put('syntax_1', var.get('__webpack_require__')(Js(2.0))) + @Js + def PyJs_anonymous_108_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ArrayExpression']) + @Js + def PyJsHoisted_ArrayExpression_(elements, this, arguments, var=var): + var = Scope({'elements':elements, 'this':this, 'arguments':arguments}, var) + var.registers(['elements']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ArrayExpression')) + var.get(u"this").put('elements', var.get('elements')) + PyJsHoisted_ArrayExpression_.func_name = 'ArrayExpression' + var.put('ArrayExpression', PyJsHoisted_ArrayExpression_) + pass + return var.get('ArrayExpression') + PyJs_anonymous_108_._set_name('anonymous') + var.put('ArrayExpression', PyJs_anonymous_108_()) + var.get('exports').put('ArrayExpression', var.get('ArrayExpression')) + @Js + def PyJs_anonymous_109_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ArrayPattern']) + @Js + def PyJsHoisted_ArrayPattern_(elements, this, arguments, var=var): + var = Scope({'elements':elements, 'this':this, 'arguments':arguments}, var) + var.registers(['elements']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ArrayPattern')) + var.get(u"this").put('elements', var.get('elements')) + PyJsHoisted_ArrayPattern_.func_name = 'ArrayPattern' + var.put('ArrayPattern', PyJsHoisted_ArrayPattern_) + pass + return var.get('ArrayPattern') + PyJs_anonymous_109_._set_name('anonymous') + var.put('ArrayPattern', PyJs_anonymous_109_()) + var.get('exports').put('ArrayPattern', var.get('ArrayPattern')) + @Js + def PyJs_anonymous_110_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ArrowFunctionExpression']) + @Js + def PyJsHoisted_ArrowFunctionExpression_(params, body, expression, this, arguments, var=var): + var = Scope({'params':params, 'body':body, 'expression':expression, 'this':this, 'arguments':arguments}, var) + var.registers(['params', 'expression', 'body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ArrowFunctionExpression')) + var.get(u"this").put('id', var.get(u"null")) + var.get(u"this").put('params', var.get('params')) + var.get(u"this").put('body', var.get('body')) + var.get(u"this").put('generator', Js(False)) + var.get(u"this").put('expression', var.get('expression')) + var.get(u"this").put('async', Js(False)) + PyJsHoisted_ArrowFunctionExpression_.func_name = 'ArrowFunctionExpression' + var.put('ArrowFunctionExpression', PyJsHoisted_ArrowFunctionExpression_) + pass + return var.get('ArrowFunctionExpression') + PyJs_anonymous_110_._set_name('anonymous') + var.put('ArrowFunctionExpression', PyJs_anonymous_110_()) + var.get('exports').put('ArrowFunctionExpression', var.get('ArrowFunctionExpression')) + @Js + def PyJs_anonymous_111_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['AssignmentExpression']) + @Js + def PyJsHoisted_AssignmentExpression_(operator, left, right, this, arguments, var=var): + var = Scope({'operator':operator, 'left':left, 'right':right, 'this':this, 'arguments':arguments}, var) + var.registers(['left', 'operator', 'right']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('AssignmentExpression')) + var.get(u"this").put('operator', var.get('operator')) + var.get(u"this").put('left', var.get('left')) + var.get(u"this").put('right', var.get('right')) + PyJsHoisted_AssignmentExpression_.func_name = 'AssignmentExpression' + var.put('AssignmentExpression', PyJsHoisted_AssignmentExpression_) + pass + return var.get('AssignmentExpression') + PyJs_anonymous_111_._set_name('anonymous') + var.put('AssignmentExpression', PyJs_anonymous_111_()) + var.get('exports').put('AssignmentExpression', var.get('AssignmentExpression')) + @Js + def PyJs_anonymous_112_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['AssignmentPattern']) + @Js + def PyJsHoisted_AssignmentPattern_(left, right, this, arguments, var=var): + var = Scope({'left':left, 'right':right, 'this':this, 'arguments':arguments}, var) + var.registers(['left', 'right']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('AssignmentPattern')) + var.get(u"this").put('left', var.get('left')) + var.get(u"this").put('right', var.get('right')) + PyJsHoisted_AssignmentPattern_.func_name = 'AssignmentPattern' + var.put('AssignmentPattern', PyJsHoisted_AssignmentPattern_) + pass + return var.get('AssignmentPattern') + PyJs_anonymous_112_._set_name('anonymous') + var.put('AssignmentPattern', PyJs_anonymous_112_()) + var.get('exports').put('AssignmentPattern', var.get('AssignmentPattern')) + @Js + def PyJs_anonymous_113_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['AsyncArrowFunctionExpression']) + @Js + def PyJsHoisted_AsyncArrowFunctionExpression_(params, body, expression, this, arguments, var=var): + var = Scope({'params':params, 'body':body, 'expression':expression, 'this':this, 'arguments':arguments}, var) + var.registers(['params', 'expression', 'body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ArrowFunctionExpression')) + var.get(u"this").put('id', var.get(u"null")) + var.get(u"this").put('params', var.get('params')) + var.get(u"this").put('body', var.get('body')) + var.get(u"this").put('generator', Js(False)) + var.get(u"this").put('expression', var.get('expression')) + var.get(u"this").put('async', Js(True)) + PyJsHoisted_AsyncArrowFunctionExpression_.func_name = 'AsyncArrowFunctionExpression' + var.put('AsyncArrowFunctionExpression', PyJsHoisted_AsyncArrowFunctionExpression_) + pass + return var.get('AsyncArrowFunctionExpression') + PyJs_anonymous_113_._set_name('anonymous') + var.put('AsyncArrowFunctionExpression', PyJs_anonymous_113_()) + var.get('exports').put('AsyncArrowFunctionExpression', var.get('AsyncArrowFunctionExpression')) + @Js + def PyJs_anonymous_114_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['AsyncFunctionDeclaration']) + @Js + def PyJsHoisted_AsyncFunctionDeclaration_(id, params, body, this, arguments, var=var): + var = Scope({'id':id, 'params':params, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['id', 'params', 'body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('FunctionDeclaration')) + var.get(u"this").put('id', var.get('id')) + var.get(u"this").put('params', var.get('params')) + var.get(u"this").put('body', var.get('body')) + var.get(u"this").put('generator', Js(False)) + var.get(u"this").put('expression', Js(False)) + var.get(u"this").put('async', Js(True)) + PyJsHoisted_AsyncFunctionDeclaration_.func_name = 'AsyncFunctionDeclaration' + var.put('AsyncFunctionDeclaration', PyJsHoisted_AsyncFunctionDeclaration_) + pass + return var.get('AsyncFunctionDeclaration') + PyJs_anonymous_114_._set_name('anonymous') + var.put('AsyncFunctionDeclaration', PyJs_anonymous_114_()) + var.get('exports').put('AsyncFunctionDeclaration', var.get('AsyncFunctionDeclaration')) + @Js + def PyJs_anonymous_115_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['AsyncFunctionExpression']) + @Js + def PyJsHoisted_AsyncFunctionExpression_(id, params, body, this, arguments, var=var): + var = Scope({'id':id, 'params':params, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['id', 'params', 'body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('FunctionExpression')) + var.get(u"this").put('id', var.get('id')) + var.get(u"this").put('params', var.get('params')) + var.get(u"this").put('body', var.get('body')) + var.get(u"this").put('generator', Js(False)) + var.get(u"this").put('expression', Js(False)) + var.get(u"this").put('async', Js(True)) + PyJsHoisted_AsyncFunctionExpression_.func_name = 'AsyncFunctionExpression' + var.put('AsyncFunctionExpression', PyJsHoisted_AsyncFunctionExpression_) + pass + return var.get('AsyncFunctionExpression') + PyJs_anonymous_115_._set_name('anonymous') + var.put('AsyncFunctionExpression', PyJs_anonymous_115_()) + var.get('exports').put('AsyncFunctionExpression', var.get('AsyncFunctionExpression')) + @Js + def PyJs_anonymous_116_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['AwaitExpression']) + @Js + def PyJsHoisted_AwaitExpression_(argument, this, arguments, var=var): + var = Scope({'argument':argument, 'this':this, 'arguments':arguments}, var) + var.registers(['argument']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('AwaitExpression')) + var.get(u"this").put('argument', var.get('argument')) + PyJsHoisted_AwaitExpression_.func_name = 'AwaitExpression' + var.put('AwaitExpression', PyJsHoisted_AwaitExpression_) + pass + return var.get('AwaitExpression') + PyJs_anonymous_116_._set_name('anonymous') + var.put('AwaitExpression', PyJs_anonymous_116_()) + var.get('exports').put('AwaitExpression', var.get('AwaitExpression')) + @Js + def PyJs_anonymous_117_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['BinaryExpression']) + @Js + def PyJsHoisted_BinaryExpression_(operator, left, right, this, arguments, var=var): + var = Scope({'operator':operator, 'left':left, 'right':right, 'this':this, 'arguments':arguments}, var) + var.registers(['left', 'logical', 'operator', 'right']) + var.put('logical', (PyJsStrictEq(var.get('operator'),Js('||')) or PyJsStrictEq(var.get('operator'),Js('&&')))) + var.get(u"this").put('type', (var.get('syntax_1').get('Syntax').get('LogicalExpression') if var.get('logical') else var.get('syntax_1').get('Syntax').get('BinaryExpression'))) + var.get(u"this").put('operator', var.get('operator')) + var.get(u"this").put('left', var.get('left')) + var.get(u"this").put('right', var.get('right')) + PyJsHoisted_BinaryExpression_.func_name = 'BinaryExpression' + var.put('BinaryExpression', PyJsHoisted_BinaryExpression_) + pass + return var.get('BinaryExpression') + PyJs_anonymous_117_._set_name('anonymous') + var.put('BinaryExpression', PyJs_anonymous_117_()) + var.get('exports').put('BinaryExpression', var.get('BinaryExpression')) + @Js + def PyJs_anonymous_118_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['BlockStatement']) + @Js + def PyJsHoisted_BlockStatement_(body, this, arguments, var=var): + var = Scope({'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('BlockStatement')) + var.get(u"this").put('body', var.get('body')) + PyJsHoisted_BlockStatement_.func_name = 'BlockStatement' + var.put('BlockStatement', PyJsHoisted_BlockStatement_) + pass + return var.get('BlockStatement') + PyJs_anonymous_118_._set_name('anonymous') + var.put('BlockStatement', PyJs_anonymous_118_()) + var.get('exports').put('BlockStatement', var.get('BlockStatement')) + @Js + def PyJs_anonymous_119_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['BreakStatement']) + @Js + def PyJsHoisted_BreakStatement_(label, this, arguments, var=var): + var = Scope({'label':label, 'this':this, 'arguments':arguments}, var) + var.registers(['label']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('BreakStatement')) + var.get(u"this").put('label', var.get('label')) + PyJsHoisted_BreakStatement_.func_name = 'BreakStatement' + var.put('BreakStatement', PyJsHoisted_BreakStatement_) + pass + return var.get('BreakStatement') + PyJs_anonymous_119_._set_name('anonymous') + var.put('BreakStatement', PyJs_anonymous_119_()) + var.get('exports').put('BreakStatement', var.get('BreakStatement')) + @Js + def PyJs_anonymous_120_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['CallExpression']) + @Js + def PyJsHoisted_CallExpression_(callee, args, this, arguments, var=var): + var = Scope({'callee':callee, 'args':args, 'this':this, 'arguments':arguments}, var) + var.registers(['callee', 'args']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('CallExpression')) + var.get(u"this").put('callee', var.get('callee')) + var.get(u"this").put('arguments', var.get('args')) + PyJsHoisted_CallExpression_.func_name = 'CallExpression' + var.put('CallExpression', PyJsHoisted_CallExpression_) + pass + return var.get('CallExpression') + PyJs_anonymous_120_._set_name('anonymous') + var.put('CallExpression', PyJs_anonymous_120_()) + var.get('exports').put('CallExpression', var.get('CallExpression')) + @Js + def PyJs_anonymous_121_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['CatchClause']) + @Js + def PyJsHoisted_CatchClause_(param, body, this, arguments, var=var): + var = Scope({'param':param, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['param', 'body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('CatchClause')) + var.get(u"this").put('param', var.get('param')) + var.get(u"this").put('body', var.get('body')) + PyJsHoisted_CatchClause_.func_name = 'CatchClause' + var.put('CatchClause', PyJsHoisted_CatchClause_) + pass + return var.get('CatchClause') + PyJs_anonymous_121_._set_name('anonymous') + var.put('CatchClause', PyJs_anonymous_121_()) + var.get('exports').put('CatchClause', var.get('CatchClause')) + @Js + def PyJs_anonymous_122_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ClassBody']) + @Js + def PyJsHoisted_ClassBody_(body, this, arguments, var=var): + var = Scope({'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ClassBody')) + var.get(u"this").put('body', var.get('body')) + PyJsHoisted_ClassBody_.func_name = 'ClassBody' + var.put('ClassBody', PyJsHoisted_ClassBody_) + pass + return var.get('ClassBody') + PyJs_anonymous_122_._set_name('anonymous') + var.put('ClassBody', PyJs_anonymous_122_()) + var.get('exports').put('ClassBody', var.get('ClassBody')) + @Js + def PyJs_anonymous_123_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ClassDeclaration']) + @Js + def PyJsHoisted_ClassDeclaration_(id, superClass, body, this, arguments, var=var): + var = Scope({'id':id, 'superClass':superClass, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['id', 'superClass', 'body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ClassDeclaration')) + var.get(u"this").put('id', var.get('id')) + var.get(u"this").put('superClass', var.get('superClass')) + var.get(u"this").put('body', var.get('body')) + PyJsHoisted_ClassDeclaration_.func_name = 'ClassDeclaration' + var.put('ClassDeclaration', PyJsHoisted_ClassDeclaration_) + pass + return var.get('ClassDeclaration') + PyJs_anonymous_123_._set_name('anonymous') + var.put('ClassDeclaration', PyJs_anonymous_123_()) + var.get('exports').put('ClassDeclaration', var.get('ClassDeclaration')) + @Js + def PyJs_anonymous_124_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ClassExpression']) + @Js + def PyJsHoisted_ClassExpression_(id, superClass, body, this, arguments, var=var): + var = Scope({'id':id, 'superClass':superClass, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['id', 'superClass', 'body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ClassExpression')) + var.get(u"this").put('id', var.get('id')) + var.get(u"this").put('superClass', var.get('superClass')) + var.get(u"this").put('body', var.get('body')) + PyJsHoisted_ClassExpression_.func_name = 'ClassExpression' + var.put('ClassExpression', PyJsHoisted_ClassExpression_) + pass + return var.get('ClassExpression') + PyJs_anonymous_124_._set_name('anonymous') + var.put('ClassExpression', PyJs_anonymous_124_()) + var.get('exports').put('ClassExpression', var.get('ClassExpression')) + @Js + def PyJs_anonymous_125_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ComputedMemberExpression']) + @Js + def PyJsHoisted_ComputedMemberExpression_(object, property, this, arguments, var=var): + var = Scope({'object':object, 'property':property, 'this':this, 'arguments':arguments}, var) + var.registers(['property', 'object']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('MemberExpression')) + var.get(u"this").put('computed', Js(True)) + var.get(u"this").put('object', var.get('object')) + var.get(u"this").put('property', var.get('property')) + PyJsHoisted_ComputedMemberExpression_.func_name = 'ComputedMemberExpression' + var.put('ComputedMemberExpression', PyJsHoisted_ComputedMemberExpression_) + pass + return var.get('ComputedMemberExpression') + PyJs_anonymous_125_._set_name('anonymous') + var.put('ComputedMemberExpression', PyJs_anonymous_125_()) + var.get('exports').put('ComputedMemberExpression', var.get('ComputedMemberExpression')) + @Js + def PyJs_anonymous_126_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ConditionalExpression']) + @Js + def PyJsHoisted_ConditionalExpression_(test, consequent, alternate, this, arguments, var=var): + var = Scope({'test':test, 'consequent':consequent, 'alternate':alternate, 'this':this, 'arguments':arguments}, var) + var.registers(['test', 'consequent', 'alternate']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ConditionalExpression')) + var.get(u"this").put('test', var.get('test')) + var.get(u"this").put('consequent', var.get('consequent')) + var.get(u"this").put('alternate', var.get('alternate')) + PyJsHoisted_ConditionalExpression_.func_name = 'ConditionalExpression' + var.put('ConditionalExpression', PyJsHoisted_ConditionalExpression_) + pass + return var.get('ConditionalExpression') + PyJs_anonymous_126_._set_name('anonymous') + var.put('ConditionalExpression', PyJs_anonymous_126_()) + var.get('exports').put('ConditionalExpression', var.get('ConditionalExpression')) + @Js + def PyJs_anonymous_127_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ContinueStatement']) + @Js + def PyJsHoisted_ContinueStatement_(label, this, arguments, var=var): + var = Scope({'label':label, 'this':this, 'arguments':arguments}, var) + var.registers(['label']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ContinueStatement')) + var.get(u"this").put('label', var.get('label')) + PyJsHoisted_ContinueStatement_.func_name = 'ContinueStatement' + var.put('ContinueStatement', PyJsHoisted_ContinueStatement_) + pass + return var.get('ContinueStatement') + PyJs_anonymous_127_._set_name('anonymous') + var.put('ContinueStatement', PyJs_anonymous_127_()) + var.get('exports').put('ContinueStatement', var.get('ContinueStatement')) + @Js + def PyJs_anonymous_128_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['DebuggerStatement']) + @Js + def PyJsHoisted_DebuggerStatement_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('DebuggerStatement')) + PyJsHoisted_DebuggerStatement_.func_name = 'DebuggerStatement' + var.put('DebuggerStatement', PyJsHoisted_DebuggerStatement_) + pass + return var.get('DebuggerStatement') + PyJs_anonymous_128_._set_name('anonymous') + var.put('DebuggerStatement', PyJs_anonymous_128_()) + var.get('exports').put('DebuggerStatement', var.get('DebuggerStatement')) + @Js + def PyJs_anonymous_129_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['Directive']) + @Js + def PyJsHoisted_Directive_(expression, directive, this, arguments, var=var): + var = Scope({'expression':expression, 'directive':directive, 'this':this, 'arguments':arguments}, var) + var.registers(['directive', 'expression']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ExpressionStatement')) + var.get(u"this").put('expression', var.get('expression')) + var.get(u"this").put('directive', var.get('directive')) + PyJsHoisted_Directive_.func_name = 'Directive' + var.put('Directive', PyJsHoisted_Directive_) + pass + return var.get('Directive') + PyJs_anonymous_129_._set_name('anonymous') + var.put('Directive', PyJs_anonymous_129_()) + var.get('exports').put('Directive', var.get('Directive')) + @Js + def PyJs_anonymous_130_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['DoWhileStatement']) + @Js + def PyJsHoisted_DoWhileStatement_(body, test, this, arguments, var=var): + var = Scope({'body':body, 'test':test, 'this':this, 'arguments':arguments}, var) + var.registers(['test', 'body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('DoWhileStatement')) + var.get(u"this").put('body', var.get('body')) + var.get(u"this").put('test', var.get('test')) + PyJsHoisted_DoWhileStatement_.func_name = 'DoWhileStatement' + var.put('DoWhileStatement', PyJsHoisted_DoWhileStatement_) + pass + return var.get('DoWhileStatement') + PyJs_anonymous_130_._set_name('anonymous') + var.put('DoWhileStatement', PyJs_anonymous_130_()) + var.get('exports').put('DoWhileStatement', var.get('DoWhileStatement')) + @Js + def PyJs_anonymous_131_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['EmptyStatement']) + @Js + def PyJsHoisted_EmptyStatement_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('EmptyStatement')) + PyJsHoisted_EmptyStatement_.func_name = 'EmptyStatement' + var.put('EmptyStatement', PyJsHoisted_EmptyStatement_) + pass + return var.get('EmptyStatement') + PyJs_anonymous_131_._set_name('anonymous') + var.put('EmptyStatement', PyJs_anonymous_131_()) + var.get('exports').put('EmptyStatement', var.get('EmptyStatement')) + @Js + def PyJs_anonymous_132_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ExportAllDeclaration']) + @Js + def PyJsHoisted_ExportAllDeclaration_(source, this, arguments, var=var): + var = Scope({'source':source, 'this':this, 'arguments':arguments}, var) + var.registers(['source']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ExportAllDeclaration')) + var.get(u"this").put('source', var.get('source')) + PyJsHoisted_ExportAllDeclaration_.func_name = 'ExportAllDeclaration' + var.put('ExportAllDeclaration', PyJsHoisted_ExportAllDeclaration_) + pass + return var.get('ExportAllDeclaration') + PyJs_anonymous_132_._set_name('anonymous') + var.put('ExportAllDeclaration', PyJs_anonymous_132_()) + var.get('exports').put('ExportAllDeclaration', var.get('ExportAllDeclaration')) + @Js + def PyJs_anonymous_133_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ExportDefaultDeclaration']) + @Js + def PyJsHoisted_ExportDefaultDeclaration_(declaration, this, arguments, var=var): + var = Scope({'declaration':declaration, 'this':this, 'arguments':arguments}, var) + var.registers(['declaration']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ExportDefaultDeclaration')) + var.get(u"this").put('declaration', var.get('declaration')) + PyJsHoisted_ExportDefaultDeclaration_.func_name = 'ExportDefaultDeclaration' + var.put('ExportDefaultDeclaration', PyJsHoisted_ExportDefaultDeclaration_) + pass + return var.get('ExportDefaultDeclaration') + PyJs_anonymous_133_._set_name('anonymous') + var.put('ExportDefaultDeclaration', PyJs_anonymous_133_()) + var.get('exports').put('ExportDefaultDeclaration', var.get('ExportDefaultDeclaration')) + @Js + def PyJs_anonymous_134_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ExportNamedDeclaration']) + @Js + def PyJsHoisted_ExportNamedDeclaration_(declaration, specifiers, source, this, arguments, var=var): + var = Scope({'declaration':declaration, 'specifiers':specifiers, 'source':source, 'this':this, 'arguments':arguments}, var) + var.registers(['declaration', 'specifiers', 'source']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ExportNamedDeclaration')) + var.get(u"this").put('declaration', var.get('declaration')) + var.get(u"this").put('specifiers', var.get('specifiers')) + var.get(u"this").put('source', var.get('source')) + PyJsHoisted_ExportNamedDeclaration_.func_name = 'ExportNamedDeclaration' + var.put('ExportNamedDeclaration', PyJsHoisted_ExportNamedDeclaration_) + pass + return var.get('ExportNamedDeclaration') + PyJs_anonymous_134_._set_name('anonymous') + var.put('ExportNamedDeclaration', PyJs_anonymous_134_()) + var.get('exports').put('ExportNamedDeclaration', var.get('ExportNamedDeclaration')) + @Js + def PyJs_anonymous_135_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ExportSpecifier']) + @Js + def PyJsHoisted_ExportSpecifier_(local, exported, this, arguments, var=var): + var = Scope({'local':local, 'exported':exported, 'this':this, 'arguments':arguments}, var) + var.registers(['exported', 'local']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ExportSpecifier')) + var.get(u"this").put('exported', var.get('exported')) + var.get(u"this").put('local', var.get('local')) + PyJsHoisted_ExportSpecifier_.func_name = 'ExportSpecifier' + var.put('ExportSpecifier', PyJsHoisted_ExportSpecifier_) + pass + return var.get('ExportSpecifier') + PyJs_anonymous_135_._set_name('anonymous') + var.put('ExportSpecifier', PyJs_anonymous_135_()) + var.get('exports').put('ExportSpecifier', var.get('ExportSpecifier')) + @Js + def PyJs_anonymous_136_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ExpressionStatement']) + @Js + def PyJsHoisted_ExpressionStatement_(expression, this, arguments, var=var): + var = Scope({'expression':expression, 'this':this, 'arguments':arguments}, var) + var.registers(['expression']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ExpressionStatement')) + var.get(u"this").put('expression', var.get('expression')) + PyJsHoisted_ExpressionStatement_.func_name = 'ExpressionStatement' + var.put('ExpressionStatement', PyJsHoisted_ExpressionStatement_) + pass + return var.get('ExpressionStatement') + PyJs_anonymous_136_._set_name('anonymous') + var.put('ExpressionStatement', PyJs_anonymous_136_()) + var.get('exports').put('ExpressionStatement', var.get('ExpressionStatement')) + @Js + def PyJs_anonymous_137_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ForInStatement']) + @Js + def PyJsHoisted_ForInStatement_(left, right, body, this, arguments, var=var): + var = Scope({'left':left, 'right':right, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['body', 'left', 'right']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ForInStatement')) + var.get(u"this").put('left', var.get('left')) + var.get(u"this").put('right', var.get('right')) + var.get(u"this").put('body', var.get('body')) + var.get(u"this").put('each', Js(False)) + PyJsHoisted_ForInStatement_.func_name = 'ForInStatement' + var.put('ForInStatement', PyJsHoisted_ForInStatement_) + pass + return var.get('ForInStatement') + PyJs_anonymous_137_._set_name('anonymous') + var.put('ForInStatement', PyJs_anonymous_137_()) + var.get('exports').put('ForInStatement', var.get('ForInStatement')) + @Js + def PyJs_anonymous_138_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ForOfStatement']) + @Js + def PyJsHoisted_ForOfStatement_(left, right, body, this, arguments, var=var): + var = Scope({'left':left, 'right':right, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['body', 'left', 'right']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ForOfStatement')) + var.get(u"this").put('left', var.get('left')) + var.get(u"this").put('right', var.get('right')) + var.get(u"this").put('body', var.get('body')) + PyJsHoisted_ForOfStatement_.func_name = 'ForOfStatement' + var.put('ForOfStatement', PyJsHoisted_ForOfStatement_) + pass + return var.get('ForOfStatement') + PyJs_anonymous_138_._set_name('anonymous') + var.put('ForOfStatement', PyJs_anonymous_138_()) + var.get('exports').put('ForOfStatement', var.get('ForOfStatement')) + @Js + def PyJs_anonymous_139_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ForStatement']) + @Js + def PyJsHoisted_ForStatement_(init, test, update, body, this, arguments, var=var): + var = Scope({'init':init, 'test':test, 'update':update, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['update', 'init', 'test', 'body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ForStatement')) + var.get(u"this").put('init', var.get('init')) + var.get(u"this").put('test', var.get('test')) + var.get(u"this").put('update', var.get('update')) + var.get(u"this").put('body', var.get('body')) + PyJsHoisted_ForStatement_.func_name = 'ForStatement' + var.put('ForStatement', PyJsHoisted_ForStatement_) + pass + return var.get('ForStatement') + PyJs_anonymous_139_._set_name('anonymous') + var.put('ForStatement', PyJs_anonymous_139_()) + var.get('exports').put('ForStatement', var.get('ForStatement')) + @Js + def PyJs_anonymous_140_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['FunctionDeclaration']) + @Js + def PyJsHoisted_FunctionDeclaration_(id, params, body, generator, this, arguments, var=var): + var = Scope({'id':id, 'params':params, 'body':body, 'generator':generator, 'this':this, 'arguments':arguments}, var) + var.registers(['generator', 'id', 'params', 'body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('FunctionDeclaration')) + var.get(u"this").put('id', var.get('id')) + var.get(u"this").put('params', var.get('params')) + var.get(u"this").put('body', var.get('body')) + var.get(u"this").put('generator', var.get('generator')) + var.get(u"this").put('expression', Js(False)) + var.get(u"this").put('async', Js(False)) + PyJsHoisted_FunctionDeclaration_.func_name = 'FunctionDeclaration' + var.put('FunctionDeclaration', PyJsHoisted_FunctionDeclaration_) + pass + return var.get('FunctionDeclaration') + PyJs_anonymous_140_._set_name('anonymous') + var.put('FunctionDeclaration', PyJs_anonymous_140_()) + var.get('exports').put('FunctionDeclaration', var.get('FunctionDeclaration')) + @Js + def PyJs_anonymous_141_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['FunctionExpression']) + @Js + def PyJsHoisted_FunctionExpression_(id, params, body, generator, this, arguments, var=var): + var = Scope({'id':id, 'params':params, 'body':body, 'generator':generator, 'this':this, 'arguments':arguments}, var) + var.registers(['generator', 'id', 'params', 'body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('FunctionExpression')) + var.get(u"this").put('id', var.get('id')) + var.get(u"this").put('params', var.get('params')) + var.get(u"this").put('body', var.get('body')) + var.get(u"this").put('generator', var.get('generator')) + var.get(u"this").put('expression', Js(False)) + var.get(u"this").put('async', Js(False)) + PyJsHoisted_FunctionExpression_.func_name = 'FunctionExpression' + var.put('FunctionExpression', PyJsHoisted_FunctionExpression_) + pass + return var.get('FunctionExpression') + PyJs_anonymous_141_._set_name('anonymous') + var.put('FunctionExpression', PyJs_anonymous_141_()) + var.get('exports').put('FunctionExpression', var.get('FunctionExpression')) + @Js + def PyJs_anonymous_142_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['Identifier']) + @Js + def PyJsHoisted_Identifier_(name, this, arguments, var=var): + var = Scope({'name':name, 'this':this, 'arguments':arguments}, var) + var.registers(['name']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('Identifier')) + var.get(u"this").put('name', var.get('name')) + PyJsHoisted_Identifier_.func_name = 'Identifier' + var.put('Identifier', PyJsHoisted_Identifier_) + pass + return var.get('Identifier') + PyJs_anonymous_142_._set_name('anonymous') + var.put('Identifier', PyJs_anonymous_142_()) + var.get('exports').put('Identifier', var.get('Identifier')) + @Js + def PyJs_anonymous_143_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['IfStatement']) + @Js + def PyJsHoisted_IfStatement_(test, consequent, alternate, this, arguments, var=var): + var = Scope({'test':test, 'consequent':consequent, 'alternate':alternate, 'this':this, 'arguments':arguments}, var) + var.registers(['test', 'consequent', 'alternate']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('IfStatement')) + var.get(u"this").put('test', var.get('test')) + var.get(u"this").put('consequent', var.get('consequent')) + var.get(u"this").put('alternate', var.get('alternate')) + PyJsHoisted_IfStatement_.func_name = 'IfStatement' + var.put('IfStatement', PyJsHoisted_IfStatement_) + pass + return var.get('IfStatement') + PyJs_anonymous_143_._set_name('anonymous') + var.put('IfStatement', PyJs_anonymous_143_()) + var.get('exports').put('IfStatement', var.get('IfStatement')) + @Js + def PyJs_anonymous_144_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ImportDeclaration']) + @Js + def PyJsHoisted_ImportDeclaration_(specifiers, source, this, arguments, var=var): + var = Scope({'specifiers':specifiers, 'source':source, 'this':this, 'arguments':arguments}, var) + var.registers(['source', 'specifiers']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ImportDeclaration')) + var.get(u"this").put('specifiers', var.get('specifiers')) + var.get(u"this").put('source', var.get('source')) + PyJsHoisted_ImportDeclaration_.func_name = 'ImportDeclaration' + var.put('ImportDeclaration', PyJsHoisted_ImportDeclaration_) + pass + return var.get('ImportDeclaration') + PyJs_anonymous_144_._set_name('anonymous') + var.put('ImportDeclaration', PyJs_anonymous_144_()) + var.get('exports').put('ImportDeclaration', var.get('ImportDeclaration')) + @Js + def PyJs_anonymous_145_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ImportDefaultSpecifier']) + @Js + def PyJsHoisted_ImportDefaultSpecifier_(local, this, arguments, var=var): + var = Scope({'local':local, 'this':this, 'arguments':arguments}, var) + var.registers(['local']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ImportDefaultSpecifier')) + var.get(u"this").put('local', var.get('local')) + PyJsHoisted_ImportDefaultSpecifier_.func_name = 'ImportDefaultSpecifier' + var.put('ImportDefaultSpecifier', PyJsHoisted_ImportDefaultSpecifier_) + pass + return var.get('ImportDefaultSpecifier') + PyJs_anonymous_145_._set_name('anonymous') + var.put('ImportDefaultSpecifier', PyJs_anonymous_145_()) + var.get('exports').put('ImportDefaultSpecifier', var.get('ImportDefaultSpecifier')) + @Js + def PyJs_anonymous_146_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ImportNamespaceSpecifier']) + @Js + def PyJsHoisted_ImportNamespaceSpecifier_(local, this, arguments, var=var): + var = Scope({'local':local, 'this':this, 'arguments':arguments}, var) + var.registers(['local']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ImportNamespaceSpecifier')) + var.get(u"this").put('local', var.get('local')) + PyJsHoisted_ImportNamespaceSpecifier_.func_name = 'ImportNamespaceSpecifier' + var.put('ImportNamespaceSpecifier', PyJsHoisted_ImportNamespaceSpecifier_) + pass + return var.get('ImportNamespaceSpecifier') + PyJs_anonymous_146_._set_name('anonymous') + var.put('ImportNamespaceSpecifier', PyJs_anonymous_146_()) + var.get('exports').put('ImportNamespaceSpecifier', var.get('ImportNamespaceSpecifier')) + @Js + def PyJs_anonymous_147_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ImportSpecifier']) + @Js + def PyJsHoisted_ImportSpecifier_(local, imported, this, arguments, var=var): + var = Scope({'local':local, 'imported':imported, 'this':this, 'arguments':arguments}, var) + var.registers(['imported', 'local']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ImportSpecifier')) + var.get(u"this").put('local', var.get('local')) + var.get(u"this").put('imported', var.get('imported')) + PyJsHoisted_ImportSpecifier_.func_name = 'ImportSpecifier' + var.put('ImportSpecifier', PyJsHoisted_ImportSpecifier_) + pass + return var.get('ImportSpecifier') + PyJs_anonymous_147_._set_name('anonymous') + var.put('ImportSpecifier', PyJs_anonymous_147_()) + var.get('exports').put('ImportSpecifier', var.get('ImportSpecifier')) + @Js + def PyJs_anonymous_148_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['LabeledStatement']) + @Js + def PyJsHoisted_LabeledStatement_(label, body, this, arguments, var=var): + var = Scope({'label':label, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['label', 'body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('LabeledStatement')) + var.get(u"this").put('label', var.get('label')) + var.get(u"this").put('body', var.get('body')) + PyJsHoisted_LabeledStatement_.func_name = 'LabeledStatement' + var.put('LabeledStatement', PyJsHoisted_LabeledStatement_) + pass + return var.get('LabeledStatement') + PyJs_anonymous_148_._set_name('anonymous') + var.put('LabeledStatement', PyJs_anonymous_148_()) + var.get('exports').put('LabeledStatement', var.get('LabeledStatement')) + @Js + def PyJs_anonymous_149_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['Literal']) + @Js + def PyJsHoisted_Literal_(value, raw, this, arguments, var=var): + var = Scope({'value':value, 'raw':raw, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'raw']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('Literal')) + var.get(u"this").put('value', var.get('value')) + var.get(u"this").put('raw', var.get('raw')) + PyJsHoisted_Literal_.func_name = 'Literal' + var.put('Literal', PyJsHoisted_Literal_) + pass + return var.get('Literal') + PyJs_anonymous_149_._set_name('anonymous') + var.put('Literal', PyJs_anonymous_149_()) + var.get('exports').put('Literal', var.get('Literal')) + @Js + def PyJs_anonymous_150_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['MetaProperty']) + @Js + def PyJsHoisted_MetaProperty_(meta, property, this, arguments, var=var): + var = Scope({'meta':meta, 'property':property, 'this':this, 'arguments':arguments}, var) + var.registers(['property', 'meta']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('MetaProperty')) + var.get(u"this").put('meta', var.get('meta')) + var.get(u"this").put('property', var.get('property')) + PyJsHoisted_MetaProperty_.func_name = 'MetaProperty' + var.put('MetaProperty', PyJsHoisted_MetaProperty_) + pass + return var.get('MetaProperty') + PyJs_anonymous_150_._set_name('anonymous') + var.put('MetaProperty', PyJs_anonymous_150_()) + var.get('exports').put('MetaProperty', var.get('MetaProperty')) + @Js + def PyJs_anonymous_151_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['MethodDefinition']) + @Js + def PyJsHoisted_MethodDefinition_(key, computed, value, kind, isStatic, this, arguments, var=var): + var = Scope({'key':key, 'computed':computed, 'value':value, 'kind':kind, 'isStatic':isStatic, 'this':this, 'arguments':arguments}, var) + var.registers(['isStatic', 'value', 'kind', 'computed', 'key']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('MethodDefinition')) + var.get(u"this").put('key', var.get('key')) + var.get(u"this").put('computed', var.get('computed')) + var.get(u"this").put('value', var.get('value')) + var.get(u"this").put('kind', var.get('kind')) + var.get(u"this").put('static', var.get('isStatic')) + PyJsHoisted_MethodDefinition_.func_name = 'MethodDefinition' + var.put('MethodDefinition', PyJsHoisted_MethodDefinition_) + pass + return var.get('MethodDefinition') + PyJs_anonymous_151_._set_name('anonymous') + var.put('MethodDefinition', PyJs_anonymous_151_()) + var.get('exports').put('MethodDefinition', var.get('MethodDefinition')) + @Js + def PyJs_anonymous_152_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['Module']) + @Js + def PyJsHoisted_Module_(body, this, arguments, var=var): + var = Scope({'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('Program')) + var.get(u"this").put('body', var.get('body')) + var.get(u"this").put('sourceType', Js('module')) + PyJsHoisted_Module_.func_name = 'Module' + var.put('Module', PyJsHoisted_Module_) + pass + return var.get('Module') + PyJs_anonymous_152_._set_name('anonymous') + var.put('Module', PyJs_anonymous_152_()) + var.get('exports').put('Module', var.get('Module')) + @Js + def PyJs_anonymous_153_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['NewExpression']) + @Js + def PyJsHoisted_NewExpression_(callee, args, this, arguments, var=var): + var = Scope({'callee':callee, 'args':args, 'this':this, 'arguments':arguments}, var) + var.registers(['callee', 'args']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('NewExpression')) + var.get(u"this").put('callee', var.get('callee')) + var.get(u"this").put('arguments', var.get('args')) + PyJsHoisted_NewExpression_.func_name = 'NewExpression' + var.put('NewExpression', PyJsHoisted_NewExpression_) + pass + return var.get('NewExpression') + PyJs_anonymous_153_._set_name('anonymous') + var.put('NewExpression', PyJs_anonymous_153_()) + var.get('exports').put('NewExpression', var.get('NewExpression')) + @Js + def PyJs_anonymous_154_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ObjectExpression']) + @Js + def PyJsHoisted_ObjectExpression_(properties, this, arguments, var=var): + var = Scope({'properties':properties, 'this':this, 'arguments':arguments}, var) + var.registers(['properties']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ObjectExpression')) + var.get(u"this").put('properties', var.get('properties')) + PyJsHoisted_ObjectExpression_.func_name = 'ObjectExpression' + var.put('ObjectExpression', PyJsHoisted_ObjectExpression_) + pass + return var.get('ObjectExpression') + PyJs_anonymous_154_._set_name('anonymous') + var.put('ObjectExpression', PyJs_anonymous_154_()) + var.get('exports').put('ObjectExpression', var.get('ObjectExpression')) + @Js + def PyJs_anonymous_155_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ObjectPattern']) + @Js + def PyJsHoisted_ObjectPattern_(properties, this, arguments, var=var): + var = Scope({'properties':properties, 'this':this, 'arguments':arguments}, var) + var.registers(['properties']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ObjectPattern')) + var.get(u"this").put('properties', var.get('properties')) + PyJsHoisted_ObjectPattern_.func_name = 'ObjectPattern' + var.put('ObjectPattern', PyJsHoisted_ObjectPattern_) + pass + return var.get('ObjectPattern') + PyJs_anonymous_155_._set_name('anonymous') + var.put('ObjectPattern', PyJs_anonymous_155_()) + var.get('exports').put('ObjectPattern', var.get('ObjectPattern')) + @Js + def PyJs_anonymous_156_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['Property']) + @Js + def PyJsHoisted_Property_(kind, key, computed, value, method, shorthand, this, arguments, var=var): + var = Scope({'kind':kind, 'key':key, 'computed':computed, 'value':value, 'method':method, 'shorthand':shorthand, 'this':this, 'arguments':arguments}, var) + var.registers(['method', 'shorthand', 'value', 'kind', 'computed', 'key']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('Property')) + var.get(u"this").put('key', var.get('key')) + var.get(u"this").put('computed', var.get('computed')) + var.get(u"this").put('value', var.get('value')) + var.get(u"this").put('kind', var.get('kind')) + var.get(u"this").put('method', var.get('method')) + var.get(u"this").put('shorthand', var.get('shorthand')) + PyJsHoisted_Property_.func_name = 'Property' + var.put('Property', PyJsHoisted_Property_) + pass + return var.get('Property') + PyJs_anonymous_156_._set_name('anonymous') + var.put('Property', PyJs_anonymous_156_()) + var.get('exports').put('Property', var.get('Property')) + @Js + def PyJs_anonymous_157_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['RegexLiteral']) + @Js + def PyJsHoisted_RegexLiteral_(value, raw, pattern, flags, this, arguments, var=var): + var = Scope({'value':value, 'raw':raw, 'pattern':pattern, 'flags':flags, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'raw', 'pattern', 'flags']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('Literal')) + var.get(u"this").put('value', var.get('value')) + var.get(u"this").put('raw', var.get('raw')) + PyJs_Object_158_ = Js({'pattern':var.get('pattern'),'flags':var.get('flags')}) + var.get(u"this").put('regex', PyJs_Object_158_) + PyJsHoisted_RegexLiteral_.func_name = 'RegexLiteral' + var.put('RegexLiteral', PyJsHoisted_RegexLiteral_) + pass + return var.get('RegexLiteral') + PyJs_anonymous_157_._set_name('anonymous') + var.put('RegexLiteral', PyJs_anonymous_157_()) + var.get('exports').put('RegexLiteral', var.get('RegexLiteral')) + @Js + def PyJs_anonymous_159_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['RestElement']) + @Js + def PyJsHoisted_RestElement_(argument, this, arguments, var=var): + var = Scope({'argument':argument, 'this':this, 'arguments':arguments}, var) + var.registers(['argument']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('RestElement')) + var.get(u"this").put('argument', var.get('argument')) + PyJsHoisted_RestElement_.func_name = 'RestElement' + var.put('RestElement', PyJsHoisted_RestElement_) + pass + return var.get('RestElement') + PyJs_anonymous_159_._set_name('anonymous') + var.put('RestElement', PyJs_anonymous_159_()) + var.get('exports').put('RestElement', var.get('RestElement')) + @Js + def PyJs_anonymous_160_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ReturnStatement']) + @Js + def PyJsHoisted_ReturnStatement_(argument, this, arguments, var=var): + var = Scope({'argument':argument, 'this':this, 'arguments':arguments}, var) + var.registers(['argument']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ReturnStatement')) + var.get(u"this").put('argument', var.get('argument')) + PyJsHoisted_ReturnStatement_.func_name = 'ReturnStatement' + var.put('ReturnStatement', PyJsHoisted_ReturnStatement_) + pass + return var.get('ReturnStatement') + PyJs_anonymous_160_._set_name('anonymous') + var.put('ReturnStatement', PyJs_anonymous_160_()) + var.get('exports').put('ReturnStatement', var.get('ReturnStatement')) + @Js + def PyJs_anonymous_161_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['Script']) + @Js + def PyJsHoisted_Script_(body, this, arguments, var=var): + var = Scope({'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('Program')) + var.get(u"this").put('body', var.get('body')) + var.get(u"this").put('sourceType', Js('script')) + PyJsHoisted_Script_.func_name = 'Script' + var.put('Script', PyJsHoisted_Script_) + pass + return var.get('Script') + PyJs_anonymous_161_._set_name('anonymous') + var.put('Script', PyJs_anonymous_161_()) + var.get('exports').put('Script', var.get('Script')) + @Js + def PyJs_anonymous_162_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['SequenceExpression']) + @Js + def PyJsHoisted_SequenceExpression_(expressions, this, arguments, var=var): + var = Scope({'expressions':expressions, 'this':this, 'arguments':arguments}, var) + var.registers(['expressions']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('SequenceExpression')) + var.get(u"this").put('expressions', var.get('expressions')) + PyJsHoisted_SequenceExpression_.func_name = 'SequenceExpression' + var.put('SequenceExpression', PyJsHoisted_SequenceExpression_) + pass + return var.get('SequenceExpression') + PyJs_anonymous_162_._set_name('anonymous') + var.put('SequenceExpression', PyJs_anonymous_162_()) + var.get('exports').put('SequenceExpression', var.get('SequenceExpression')) + @Js + def PyJs_anonymous_163_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['SpreadElement']) + @Js + def PyJsHoisted_SpreadElement_(argument, this, arguments, var=var): + var = Scope({'argument':argument, 'this':this, 'arguments':arguments}, var) + var.registers(['argument']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('SpreadElement')) + var.get(u"this").put('argument', var.get('argument')) + PyJsHoisted_SpreadElement_.func_name = 'SpreadElement' + var.put('SpreadElement', PyJsHoisted_SpreadElement_) + pass + return var.get('SpreadElement') + PyJs_anonymous_163_._set_name('anonymous') + var.put('SpreadElement', PyJs_anonymous_163_()) + var.get('exports').put('SpreadElement', var.get('SpreadElement')) + @Js + def PyJs_anonymous_164_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['StaticMemberExpression']) + @Js + def PyJsHoisted_StaticMemberExpression_(object, property, this, arguments, var=var): + var = Scope({'object':object, 'property':property, 'this':this, 'arguments':arguments}, var) + var.registers(['property', 'object']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('MemberExpression')) + var.get(u"this").put('computed', Js(False)) + var.get(u"this").put('object', var.get('object')) + var.get(u"this").put('property', var.get('property')) + PyJsHoisted_StaticMemberExpression_.func_name = 'StaticMemberExpression' + var.put('StaticMemberExpression', PyJsHoisted_StaticMemberExpression_) + pass + return var.get('StaticMemberExpression') + PyJs_anonymous_164_._set_name('anonymous') + var.put('StaticMemberExpression', PyJs_anonymous_164_()) + var.get('exports').put('StaticMemberExpression', var.get('StaticMemberExpression')) + @Js + def PyJs_anonymous_165_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['Super']) + @Js + def PyJsHoisted_Super_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('Super')) + PyJsHoisted_Super_.func_name = 'Super' + var.put('Super', PyJsHoisted_Super_) + pass + return var.get('Super') + PyJs_anonymous_165_._set_name('anonymous') + var.put('Super', PyJs_anonymous_165_()) + var.get('exports').put('Super', var.get('Super')) + @Js + def PyJs_anonymous_166_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['SwitchCase']) + @Js + def PyJsHoisted_SwitchCase_(test, consequent, this, arguments, var=var): + var = Scope({'test':test, 'consequent':consequent, 'this':this, 'arguments':arguments}, var) + var.registers(['test', 'consequent']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('SwitchCase')) + var.get(u"this").put('test', var.get('test')) + var.get(u"this").put('consequent', var.get('consequent')) + PyJsHoisted_SwitchCase_.func_name = 'SwitchCase' + var.put('SwitchCase', PyJsHoisted_SwitchCase_) + pass + return var.get('SwitchCase') + PyJs_anonymous_166_._set_name('anonymous') + var.put('SwitchCase', PyJs_anonymous_166_()) + var.get('exports').put('SwitchCase', var.get('SwitchCase')) + @Js + def PyJs_anonymous_167_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['SwitchStatement']) + @Js + def PyJsHoisted_SwitchStatement_(discriminant, cases, this, arguments, var=var): + var = Scope({'discriminant':discriminant, 'cases':cases, 'this':this, 'arguments':arguments}, var) + var.registers(['discriminant', 'cases']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('SwitchStatement')) + var.get(u"this").put('discriminant', var.get('discriminant')) + var.get(u"this").put('cases', var.get('cases')) + PyJsHoisted_SwitchStatement_.func_name = 'SwitchStatement' + var.put('SwitchStatement', PyJsHoisted_SwitchStatement_) + pass + return var.get('SwitchStatement') + PyJs_anonymous_167_._set_name('anonymous') + var.put('SwitchStatement', PyJs_anonymous_167_()) + var.get('exports').put('SwitchStatement', var.get('SwitchStatement')) + @Js + def PyJs_anonymous_168_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['TaggedTemplateExpression']) + @Js + def PyJsHoisted_TaggedTemplateExpression_(tag, quasi, this, arguments, var=var): + var = Scope({'tag':tag, 'quasi':quasi, 'this':this, 'arguments':arguments}, var) + var.registers(['quasi', 'tag']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('TaggedTemplateExpression')) + var.get(u"this").put('tag', var.get('tag')) + var.get(u"this").put('quasi', var.get('quasi')) + PyJsHoisted_TaggedTemplateExpression_.func_name = 'TaggedTemplateExpression' + var.put('TaggedTemplateExpression', PyJsHoisted_TaggedTemplateExpression_) + pass + return var.get('TaggedTemplateExpression') + PyJs_anonymous_168_._set_name('anonymous') + var.put('TaggedTemplateExpression', PyJs_anonymous_168_()) + var.get('exports').put('TaggedTemplateExpression', var.get('TaggedTemplateExpression')) + @Js + def PyJs_anonymous_169_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['TemplateElement']) + @Js + def PyJsHoisted_TemplateElement_(value, tail, this, arguments, var=var): + var = Scope({'value':value, 'tail':tail, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'tail']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('TemplateElement')) + var.get(u"this").put('value', var.get('value')) + var.get(u"this").put('tail', var.get('tail')) + PyJsHoisted_TemplateElement_.func_name = 'TemplateElement' + var.put('TemplateElement', PyJsHoisted_TemplateElement_) + pass + return var.get('TemplateElement') + PyJs_anonymous_169_._set_name('anonymous') + var.put('TemplateElement', PyJs_anonymous_169_()) + var.get('exports').put('TemplateElement', var.get('TemplateElement')) + @Js + def PyJs_anonymous_170_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['TemplateLiteral']) + @Js + def PyJsHoisted_TemplateLiteral_(quasis, expressions, this, arguments, var=var): + var = Scope({'quasis':quasis, 'expressions':expressions, 'this':this, 'arguments':arguments}, var) + var.registers(['quasis', 'expressions']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('TemplateLiteral')) + var.get(u"this").put('quasis', var.get('quasis')) + var.get(u"this").put('expressions', var.get('expressions')) + PyJsHoisted_TemplateLiteral_.func_name = 'TemplateLiteral' + var.put('TemplateLiteral', PyJsHoisted_TemplateLiteral_) + pass + return var.get('TemplateLiteral') + PyJs_anonymous_170_._set_name('anonymous') + var.put('TemplateLiteral', PyJs_anonymous_170_()) + var.get('exports').put('TemplateLiteral', var.get('TemplateLiteral')) + @Js + def PyJs_anonymous_171_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ThisExpression']) + @Js + def PyJsHoisted_ThisExpression_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ThisExpression')) + PyJsHoisted_ThisExpression_.func_name = 'ThisExpression' + var.put('ThisExpression', PyJsHoisted_ThisExpression_) + pass + return var.get('ThisExpression') + PyJs_anonymous_171_._set_name('anonymous') + var.put('ThisExpression', PyJs_anonymous_171_()) + var.get('exports').put('ThisExpression', var.get('ThisExpression')) + @Js + def PyJs_anonymous_172_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ThrowStatement']) + @Js + def PyJsHoisted_ThrowStatement_(argument, this, arguments, var=var): + var = Scope({'argument':argument, 'this':this, 'arguments':arguments}, var) + var.registers(['argument']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('ThrowStatement')) + var.get(u"this").put('argument', var.get('argument')) + PyJsHoisted_ThrowStatement_.func_name = 'ThrowStatement' + var.put('ThrowStatement', PyJsHoisted_ThrowStatement_) + pass + return var.get('ThrowStatement') + PyJs_anonymous_172_._set_name('anonymous') + var.put('ThrowStatement', PyJs_anonymous_172_()) + var.get('exports').put('ThrowStatement', var.get('ThrowStatement')) + @Js + def PyJs_anonymous_173_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['TryStatement']) + @Js + def PyJsHoisted_TryStatement_(block, handler, finalizer, this, arguments, var=var): + var = Scope({'block':block, 'handler':handler, 'finalizer':finalizer, 'this':this, 'arguments':arguments}, var) + var.registers(['block', 'finalizer', 'handler']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('TryStatement')) + var.get(u"this").put('block', var.get('block')) + var.get(u"this").put('handler', var.get('handler')) + var.get(u"this").put('finalizer', var.get('finalizer')) + PyJsHoisted_TryStatement_.func_name = 'TryStatement' + var.put('TryStatement', PyJsHoisted_TryStatement_) + pass + return var.get('TryStatement') + PyJs_anonymous_173_._set_name('anonymous') + var.put('TryStatement', PyJs_anonymous_173_()) + var.get('exports').put('TryStatement', var.get('TryStatement')) + @Js + def PyJs_anonymous_174_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['UnaryExpression']) + @Js + def PyJsHoisted_UnaryExpression_(operator, argument, this, arguments, var=var): + var = Scope({'operator':operator, 'argument':argument, 'this':this, 'arguments':arguments}, var) + var.registers(['operator', 'argument']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('UnaryExpression')) + var.get(u"this").put('operator', var.get('operator')) + var.get(u"this").put('argument', var.get('argument')) + var.get(u"this").put('prefix', Js(True)) + PyJsHoisted_UnaryExpression_.func_name = 'UnaryExpression' + var.put('UnaryExpression', PyJsHoisted_UnaryExpression_) + pass + return var.get('UnaryExpression') + PyJs_anonymous_174_._set_name('anonymous') + var.put('UnaryExpression', PyJs_anonymous_174_()) + var.get('exports').put('UnaryExpression', var.get('UnaryExpression')) + @Js + def PyJs_anonymous_175_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['UpdateExpression']) + @Js + def PyJsHoisted_UpdateExpression_(operator, argument, prefix, this, arguments, var=var): + var = Scope({'operator':operator, 'argument':argument, 'prefix':prefix, 'this':this, 'arguments':arguments}, var) + var.registers(['prefix', 'operator', 'argument']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('UpdateExpression')) + var.get(u"this").put('operator', var.get('operator')) + var.get(u"this").put('argument', var.get('argument')) + var.get(u"this").put('prefix', var.get('prefix')) + PyJsHoisted_UpdateExpression_.func_name = 'UpdateExpression' + var.put('UpdateExpression', PyJsHoisted_UpdateExpression_) + pass + return var.get('UpdateExpression') + PyJs_anonymous_175_._set_name('anonymous') + var.put('UpdateExpression', PyJs_anonymous_175_()) + var.get('exports').put('UpdateExpression', var.get('UpdateExpression')) + @Js + def PyJs_anonymous_176_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['VariableDeclaration']) + @Js + def PyJsHoisted_VariableDeclaration_(declarations, kind, this, arguments, var=var): + var = Scope({'declarations':declarations, 'kind':kind, 'this':this, 'arguments':arguments}, var) + var.registers(['kind', 'declarations']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('VariableDeclaration')) + var.get(u"this").put('declarations', var.get('declarations')) + var.get(u"this").put('kind', var.get('kind')) + PyJsHoisted_VariableDeclaration_.func_name = 'VariableDeclaration' + var.put('VariableDeclaration', PyJsHoisted_VariableDeclaration_) + pass + return var.get('VariableDeclaration') + PyJs_anonymous_176_._set_name('anonymous') + var.put('VariableDeclaration', PyJs_anonymous_176_()) + var.get('exports').put('VariableDeclaration', var.get('VariableDeclaration')) + @Js + def PyJs_anonymous_177_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['VariableDeclarator']) + @Js + def PyJsHoisted_VariableDeclarator_(id, init, this, arguments, var=var): + var = Scope({'id':id, 'init':init, 'this':this, 'arguments':arguments}, var) + var.registers(['id', 'init']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('VariableDeclarator')) + var.get(u"this").put('id', var.get('id')) + var.get(u"this").put('init', var.get('init')) + PyJsHoisted_VariableDeclarator_.func_name = 'VariableDeclarator' + var.put('VariableDeclarator', PyJsHoisted_VariableDeclarator_) + pass + return var.get('VariableDeclarator') + PyJs_anonymous_177_._set_name('anonymous') + var.put('VariableDeclarator', PyJs_anonymous_177_()) + var.get('exports').put('VariableDeclarator', var.get('VariableDeclarator')) + @Js + def PyJs_anonymous_178_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['WhileStatement']) + @Js + def PyJsHoisted_WhileStatement_(test, body, this, arguments, var=var): + var = Scope({'test':test, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['test', 'body']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('WhileStatement')) + var.get(u"this").put('test', var.get('test')) + var.get(u"this").put('body', var.get('body')) + PyJsHoisted_WhileStatement_.func_name = 'WhileStatement' + var.put('WhileStatement', PyJsHoisted_WhileStatement_) + pass + return var.get('WhileStatement') + PyJs_anonymous_178_._set_name('anonymous') + var.put('WhileStatement', PyJs_anonymous_178_()) + var.get('exports').put('WhileStatement', var.get('WhileStatement')) + @Js + def PyJs_anonymous_179_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['WithStatement']) + @Js + def PyJsHoisted_WithStatement_(object, body, this, arguments, var=var): + var = Scope({'object':object, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['body', 'object']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('WithStatement')) + var.get(u"this").put('object', var.get('object')) + var.get(u"this").put('body', var.get('body')) + PyJsHoisted_WithStatement_.func_name = 'WithStatement' + var.put('WithStatement', PyJsHoisted_WithStatement_) + pass + return var.get('WithStatement') + PyJs_anonymous_179_._set_name('anonymous') + var.put('WithStatement', PyJs_anonymous_179_()) + var.get('exports').put('WithStatement', var.get('WithStatement')) + @Js + def PyJs_anonymous_180_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['YieldExpression']) + @Js + def PyJsHoisted_YieldExpression_(argument, delegate, this, arguments, var=var): + var = Scope({'argument':argument, 'delegate':delegate, 'this':this, 'arguments':arguments}, var) + var.registers(['delegate', 'argument']) + var.get(u"this").put('type', var.get('syntax_1').get('Syntax').get('YieldExpression')) + var.get(u"this").put('argument', var.get('argument')) + var.get(u"this").put('delegate', var.get('delegate')) + PyJsHoisted_YieldExpression_.func_name = 'YieldExpression' + var.put('YieldExpression', PyJsHoisted_YieldExpression_) + pass + return var.get('YieldExpression') + PyJs_anonymous_180_._set_name('anonymous') + var.put('YieldExpression', PyJs_anonymous_180_()) + var.get('exports').put('YieldExpression', var.get('YieldExpression')) + PyJs_anonymous_106_._set_name('anonymous') + @Js + def PyJs_anonymous_181_(module, exports, __webpack_require__, this, arguments, var=var): + var = Scope({'module':module, 'exports':exports, '__webpack_require__':__webpack_require__, 'this':this, 'arguments':arguments}, var) + var.registers(['messages_1', 'module', 'token_1', 'assert_1', 'ArrowParameterPlaceHolder', '__webpack_require__', 'exports', 'Parser', 'scanner_1', 'error_handler_1', 'syntax_1', 'Node']) + Js('use strict') + PyJs_Object_182_ = Js({'value':Js(True)}) + var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), PyJs_Object_182_) + var.put('assert_1', var.get('__webpack_require__')(Js(9.0))) + var.put('error_handler_1', var.get('__webpack_require__')(Js(10.0))) + var.put('messages_1', var.get('__webpack_require__')(Js(11.0))) + var.put('Node', var.get('__webpack_require__')(Js(7.0))) + var.put('scanner_1', var.get('__webpack_require__')(Js(12.0))) + var.put('syntax_1', var.get('__webpack_require__')(Js(2.0))) + var.put('token_1', var.get('__webpack_require__')(Js(13.0))) + var.put('ArrowParameterPlaceHolder', Js('ArrowParameterPlaceHolder')) + @Js + def PyJs_anonymous_183_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['Parser']) + @Js + def PyJsHoisted_Parser_(code, options, delegate, this, arguments, var=var): + var = Scope({'code':code, 'options':options, 'delegate':delegate, 'this':this, 'arguments':arguments}, var) + var.registers(['code', 'options', 'delegate']) + if PyJsStrictEq(var.get('options'),PyJsComma(Js(0.0), Js(None))): + PyJs_Object_184_ = Js({}) + var.put('options', PyJs_Object_184_) + PyJs_Object_185_ = Js({'range':(PyJsStrictEq(var.get('options').get('range').typeof(),Js('boolean')) and var.get('options').get('range')),'loc':(PyJsStrictEq(var.get('options').get('loc').typeof(),Js('boolean')) and var.get('options').get('loc')),'source':var.get(u"null"),'tokens':(PyJsStrictEq(var.get('options').get('tokens').typeof(),Js('boolean')) and var.get('options').get('tokens')),'comment':(PyJsStrictEq(var.get('options').get('comment').typeof(),Js('boolean')) and var.get('options').get('comment')),'tolerant':(PyJsStrictEq(var.get('options').get('tolerant').typeof(),Js('boolean')) and var.get('options').get('tolerant'))}) + var.get(u"this").put('config', PyJs_Object_185_) + if ((var.get(u"this").get('config').get('loc') and var.get('options').get('source')) and PyJsStrictNeq(var.get('options').get('source'),var.get(u"null"))): + var.get(u"this").get('config').put('source', var.get('String')(var.get('options').get('source'))) + var.get(u"this").put('delegate', var.get('delegate')) + var.get(u"this").put('errorHandler', var.get('error_handler_1').get('ErrorHandler').create()) + var.get(u"this").get('errorHandler').put('tolerant', var.get(u"this").get('config').get('tolerant')) + var.get(u"this").put('scanner', var.get('scanner_1').get('Scanner').create(var.get('code'), var.get(u"this").get('errorHandler'))) + var.get(u"this").get('scanner').put('trackComment', var.get(u"this").get('config').get('comment')) + PyJs_Object_186_ = Js({')':Js(0.0),';':Js(0.0),',':Js(0.0),'=':Js(0.0),']':Js(0.0),'||':Js(1.0),'&&':Js(2.0),'|':Js(3.0),'^':Js(4.0),'&':Js(5.0),'==':Js(6.0),'!=':Js(6.0),'===':Js(6.0),'!==':Js(6.0),'<':Js(7.0),'>':Js(7.0),'<=':Js(7.0),'>=':Js(7.0),'<<':Js(8.0),'>>':Js(8.0),'>>>':Js(8.0),'+':Js(9.0),'-':Js(9.0),'*':Js(11.0),'/':Js(11.0),'%':Js(11.0)}) + var.get(u"this").put('operatorPrecedence', PyJs_Object_186_) + PyJs_Object_187_ = Js({'type':Js(2.0),'value':Js(''),'lineNumber':var.get(u"this").get('scanner').get('lineNumber'),'lineStart':Js(0.0),'start':Js(0.0),'end':Js(0.0)}) + var.get(u"this").put('lookahead', PyJs_Object_187_) + var.get(u"this").put('hasLineTerminator', Js(False)) + PyJs_Object_189_ = Js({}) + PyJs_Object_188_ = Js({'isModule':Js(False),'await':Js(False),'allowIn':Js(True),'allowStrictDirective':Js(True),'allowYield':Js(True),'firstCoverInitializedNameError':var.get(u"null"),'isAssignmentTarget':Js(False),'isBindingElement':Js(False),'inFunctionBody':Js(False),'inIteration':Js(False),'inSwitch':Js(False),'labelSet':PyJs_Object_189_,'strict':Js(False)}) + var.get(u"this").put('context', PyJs_Object_188_) + var.get(u"this").put('tokens', Js([])) + PyJs_Object_190_ = Js({'index':Js(0.0),'line':var.get(u"this").get('scanner').get('lineNumber'),'column':Js(0.0)}) + var.get(u"this").put('startMarker', PyJs_Object_190_) + PyJs_Object_191_ = Js({'index':Js(0.0),'line':var.get(u"this").get('scanner').get('lineNumber'),'column':Js(0.0)}) + var.get(u"this").put('lastMarker', PyJs_Object_191_) + var.get(u"this").callprop('nextToken') + PyJs_Object_192_ = Js({'index':var.get(u"this").get('scanner').get('index'),'line':var.get(u"this").get('scanner').get('lineNumber'),'column':(var.get(u"this").get('scanner').get('index')-var.get(u"this").get('scanner').get('lineStart'))}) + var.get(u"this").put('lastMarker', PyJs_Object_192_) + PyJsHoisted_Parser_.func_name = 'Parser' + var.put('Parser', PyJsHoisted_Parser_) + pass + @Js + def PyJs_anonymous_193_(messageFormat, this, arguments, var=var): + var = Scope({'messageFormat':messageFormat, 'this':this, 'arguments':arguments}, var) + var.registers(['line', 'messageFormat', 'msg', 'index', 'values', 'column', 'args', '_i']) + var.put('values', Js([])) + #for JS loop + var.put('_i', Js(1.0)) + while (var.get('_i')Js(0.0)) and var.get(u"this").get('delegate')): + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')>='))) or PyJsStrictEq(var.get('op'),Js('>>>='))) + return (((PyJs_LONG_233_() or PyJsStrictEq(var.get('op'),Js('&='))) or PyJsStrictEq(var.get('op'),Js('^='))) or PyJsStrictEq(var.get('op'),Js('|='))) + PyJs_anonymous_232_._set_name('anonymous') + var.get('Parser').get('prototype').put('matchAssign', PyJs_anonymous_232_) + @Js + def PyJs_anonymous_234_(parseFunction, this, arguments, var=var): + var = Scope({'parseFunction':parseFunction, 'this':this, 'arguments':arguments}, var) + var.registers(['previousIsBindingElement', 'parseFunction', 'previousIsAssignmentTarget', 'previousFirstCoverInitializedNameError', 'result']) + var.put('previousIsBindingElement', var.get(u"this").get('context').get('isBindingElement')) + var.put('previousIsAssignmentTarget', var.get(u"this").get('context').get('isAssignmentTarget')) + var.put('previousFirstCoverInitializedNameError', var.get(u"this").get('context').get('firstCoverInitializedNameError')) + var.get(u"this").get('context').put('isBindingElement', Js(True)) + var.get(u"this").get('context').put('isAssignmentTarget', Js(True)) + var.get(u"this").get('context').put('firstCoverInitializedNameError', var.get(u"null")) + var.put('result', var.get('parseFunction').callprop('call', var.get(u"this"))) + if PyJsStrictNeq(var.get(u"this").get('context').get('firstCoverInitializedNameError'),var.get(u"null")): + var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").get('context').get('firstCoverInitializedNameError')) + var.get(u"this").get('context').put('isBindingElement', var.get('previousIsBindingElement')) + var.get(u"this").get('context').put('isAssignmentTarget', var.get('previousIsAssignmentTarget')) + var.get(u"this").get('context').put('firstCoverInitializedNameError', var.get('previousFirstCoverInitializedNameError')) + return var.get('result') + PyJs_anonymous_234_._set_name('anonymous') + var.get('Parser').get('prototype').put('isolateCoverGrammar', PyJs_anonymous_234_) + @Js + def PyJs_anonymous_235_(parseFunction, this, arguments, var=var): + var = Scope({'parseFunction':parseFunction, 'this':this, 'arguments':arguments}, var) + var.registers(['previousIsBindingElement', 'parseFunction', 'previousIsAssignmentTarget', 'previousFirstCoverInitializedNameError', 'result']) + var.put('previousIsBindingElement', var.get(u"this").get('context').get('isBindingElement')) + var.put('previousIsAssignmentTarget', var.get(u"this").get('context').get('isAssignmentTarget')) + var.put('previousFirstCoverInitializedNameError', var.get(u"this").get('context').get('firstCoverInitializedNameError')) + var.get(u"this").get('context').put('isBindingElement', Js(True)) + var.get(u"this").get('context').put('isAssignmentTarget', Js(True)) + var.get(u"this").get('context').put('firstCoverInitializedNameError', var.get(u"null")) + var.put('result', var.get('parseFunction').callprop('call', var.get(u"this"))) + var.get(u"this").get('context').put('isBindingElement', (var.get(u"this").get('context').get('isBindingElement') and var.get('previousIsBindingElement'))) + var.get(u"this").get('context').put('isAssignmentTarget', (var.get(u"this").get('context').get('isAssignmentTarget') and var.get('previousIsAssignmentTarget'))) + var.get(u"this").get('context').put('firstCoverInitializedNameError', (var.get('previousFirstCoverInitializedNameError') or var.get(u"this").get('context').get('firstCoverInitializedNameError'))) + return var.get('result') + PyJs_anonymous_235_._set_name('anonymous') + var.get('Parser').get('prototype').put('inheritCoverGrammar', PyJs_anonymous_235_) + @Js + def PyJs_anonymous_236_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + if var.get(u"this").callprop('match', Js(';')): + var.get(u"this").callprop('nextToken') + else: + if var.get(u"this").get('hasLineTerminator').neg(): + if (PyJsStrictNeq(var.get(u"this").get('lookahead').get('type'),Js(2.0)) and var.get(u"this").callprop('match', Js('}')).neg()): + var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").get('lookahead')) + var.get(u"this").get('lastMarker').put('index', var.get(u"this").get('startMarker').get('index')) + var.get(u"this").get('lastMarker').put('line', var.get(u"this").get('startMarker').get('line')) + var.get(u"this").get('lastMarker').put('column', var.get(u"this").get('startMarker').get('column')) + PyJs_anonymous_236_._set_name('anonymous') + var.get('Parser').get('prototype').put('consumeSemicolon', PyJs_anonymous_236_) + @Js + def PyJs_anonymous_237_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['raw', 'node', 'expr', 'token']) + var.put('node', var.get(u"this").callprop('createNode')) + pass + pass + while 1: + SWITCHED = False + CONDITION = (var.get(u"this").get('lookahead').get('type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + if ((var.get(u"this").get('context').get('isModule') or var.get(u"this").get('context').get('await')) and PyJsStrictEq(var.get(u"this").get('lookahead').get('value'),Js('await'))): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get(u"this").get('lookahead')) + var.put('expr', (var.get(u"this").callprop('parseFunctionExpression') if var.get(u"this").callprop('matchAsyncFunction') else var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Identifier').create(var.get(u"this").callprop('nextToken').get('value'))))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(6.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(8.0)): + SWITCHED = True + if (var.get(u"this").get('context').get('strict') and var.get(u"this").get('lookahead').get('octal')): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get(u"this").get('lookahead'), var.get('messages_1').get('Messages').get('StrictOctalLiteral')) + var.get(u"this").get('context').put('isAssignmentTarget', Js(False)) + var.get(u"this").get('context').put('isBindingElement', Js(False)) + var.put('token', var.get(u"this").callprop('nextToken')) + var.put('raw', var.get(u"this").callprop('getTokenRaw', var.get('token'))) + var.put('expr', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Literal').create(var.get('token').get('value'), var.get('raw')))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(1.0)): + SWITCHED = True + var.get(u"this").get('context').put('isAssignmentTarget', Js(False)) + var.get(u"this").get('context').put('isBindingElement', Js(False)) + var.put('token', var.get(u"this").callprop('nextToken')) + var.put('raw', var.get(u"this").callprop('getTokenRaw', var.get('token'))) + var.put('expr', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Literal').create(PyJsStrictEq(var.get('token').get('value'),Js('true')), var.get('raw')))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(5.0)): + SWITCHED = True + var.get(u"this").get('context').put('isAssignmentTarget', Js(False)) + var.get(u"this").get('context').put('isBindingElement', Js(False)) + var.put('token', var.get(u"this").callprop('nextToken')) + var.put('raw', var.get(u"this").callprop('getTokenRaw', var.get('token'))) + var.put('expr', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Literal').create(var.get(u"null"), var.get('raw')))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(10.0)): + SWITCHED = True + var.put('expr', var.get(u"this").callprop('parseTemplateLiteral')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(7.0)): + SWITCHED = True + while 1: + SWITCHED = False + CONDITION = (var.get(u"this").get('lookahead').get('value')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('(')): + SWITCHED = True + var.get(u"this").get('context').put('isBindingElement', Js(False)) + var.put('expr', var.get(u"this").callprop('inheritCoverGrammar', var.get(u"this").get('parseGroupExpression'))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('[')): + SWITCHED = True + var.put('expr', var.get(u"this").callprop('inheritCoverGrammar', var.get(u"this").get('parseArrayInitializer'))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('{')): + SWITCHED = True + var.put('expr', var.get(u"this").callprop('inheritCoverGrammar', var.get(u"this").get('parseObjectInitializer'))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('/')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('/=')): + SWITCHED = True + var.get(u"this").get('context').put('isAssignmentTarget', Js(False)) + var.get(u"this").get('context').put('isBindingElement', Js(False)) + var.get(u"this").get('scanner').put('index', var.get(u"this").get('startMarker').get('index')) + var.put('token', var.get(u"this").callprop('nextRegexToken')) + var.put('raw', var.get(u"this").callprop('getTokenRaw', var.get('token'))) + var.put('expr', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('RegexLiteral').create(var.get('token').get('regex'), var.get('raw'), var.get('token').get('pattern'), var.get('token').get('flags')))) + break + if True: + SWITCHED = True + var.put('expr', var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").callprop('nextToken'))) + SWITCHED = True + break + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(4.0)): + SWITCHED = True + if ((var.get(u"this").get('context').get('strict').neg() and var.get(u"this").get('context').get('allowYield')) and var.get(u"this").callprop('matchKeyword', Js('yield'))): + var.put('expr', var.get(u"this").callprop('parseIdentifierName')) + else: + if (var.get(u"this").get('context').get('strict').neg() and var.get(u"this").callprop('matchKeyword', Js('let'))): + var.put('expr', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Identifier').create(var.get(u"this").callprop('nextToken').get('value')))) + else: + var.get(u"this").get('context').put('isAssignmentTarget', Js(False)) + var.get(u"this").get('context').put('isBindingElement', Js(False)) + if var.get(u"this").callprop('matchKeyword', Js('function')): + var.put('expr', var.get(u"this").callprop('parseFunctionExpression')) + else: + if var.get(u"this").callprop('matchKeyword', Js('this')): + var.get(u"this").callprop('nextToken') + var.put('expr', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ThisExpression').create())) + else: + if var.get(u"this").callprop('matchKeyword', Js('class')): + var.put('expr', var.get(u"this").callprop('parseClassExpression')) + else: + var.put('expr', var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").callprop('nextToken'))) + break + if True: + SWITCHED = True + var.put('expr', var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").callprop('nextToken'))) + SWITCHED = True + break + return var.get('expr') + PyJs_anonymous_237_._set_name('anonymous') + var.get('Parser').get('prototype').put('parsePrimaryExpression', PyJs_anonymous_237_) + @Js + def PyJs_anonymous_238_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['node', 'arg']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expect', Js('...')) + var.put('arg', var.get(u"this").callprop('inheritCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('SpreadElement').create(var.get('arg'))) + PyJs_anonymous_238_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseSpreadElement', PyJs_anonymous_238_) + @Js + def PyJs_anonymous_239_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['elements', 'node', 'element']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('elements', Js([])) + var.get(u"this").callprop('expect', Js('[')) + while var.get(u"this").callprop('match', Js(']')).neg(): + if var.get(u"this").callprop('match', Js(',')): + var.get(u"this").callprop('nextToken') + var.get('elements').callprop('push', var.get(u"null")) + else: + if var.get(u"this").callprop('match', Js('...')): + var.put('element', var.get(u"this").callprop('parseSpreadElement')) + if var.get(u"this").callprop('match', Js(']')).neg(): + var.get(u"this").get('context').put('isAssignmentTarget', Js(False)) + var.get(u"this").get('context').put('isBindingElement', Js(False)) + var.get(u"this").callprop('expect', Js(',')) + var.get('elements').callprop('push', var.get('element')) + else: + var.get('elements').callprop('push', var.get(u"this").callprop('inheritCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + if var.get(u"this").callprop('match', Js(']')).neg(): + var.get(u"this").callprop('expect', Js(',')) + var.get(u"this").callprop('expect', Js(']')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ArrayExpression').create(var.get('elements'))) + PyJs_anonymous_239_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseArrayInitializer', PyJs_anonymous_239_) + @Js + def PyJs_anonymous_240_(params, this, arguments, var=var): + var = Scope({'params':params, 'this':this, 'arguments':arguments}, var) + var.registers(['previousAllowStrictDirective', 'body', 'params', 'previousStrict']) + var.get(u"this").get('context').put('isAssignmentTarget', Js(False)) + var.get(u"this").get('context').put('isBindingElement', Js(False)) + var.put('previousStrict', var.get(u"this").get('context').get('strict')) + var.put('previousAllowStrictDirective', var.get(u"this").get('context').get('allowStrictDirective')) + var.get(u"this").get('context').put('allowStrictDirective', var.get('params').get('simple')) + var.put('body', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseFunctionSourceElements'))) + if (var.get(u"this").get('context').get('strict') and var.get('params').get('firstRestricted')): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get('params').get('firstRestricted'), var.get('params').get('message')) + if (var.get(u"this").get('context').get('strict') and var.get('params').get('stricted')): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get('params').get('stricted'), var.get('params').get('message')) + var.get(u"this").get('context').put('strict', var.get('previousStrict')) + var.get(u"this").get('context').put('allowStrictDirective', var.get('previousAllowStrictDirective')) + return var.get('body') + PyJs_anonymous_240_._set_name('anonymous') + var.get('Parser').get('prototype').put('parsePropertyMethod', PyJs_anonymous_240_) + @Js + def PyJs_anonymous_241_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['method', 'isGenerator', 'node', 'params', 'previousAllowYield']) + var.put('isGenerator', Js(False)) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('previousAllowYield', var.get(u"this").get('context').get('allowYield')) + var.get(u"this").get('context').put('allowYield', Js(True)) + var.put('params', var.get(u"this").callprop('parseFormalParameters')) + var.put('method', var.get(u"this").callprop('parsePropertyMethod', var.get('params'))) + var.get(u"this").get('context').put('allowYield', var.get('previousAllowYield')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('FunctionExpression').create(var.get(u"null"), var.get('params').get('params'), var.get('method'), var.get('isGenerator'))) + PyJs_anonymous_241_._set_name('anonymous') + var.get('Parser').get('prototype').put('parsePropertyMethodFunction', PyJs_anonymous_241_) + @Js + def PyJs_anonymous_242_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['method', 'node', 'previousAwait', 'previousAllowYield', 'params']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('previousAllowYield', var.get(u"this").get('context').get('allowYield')) + var.put('previousAwait', var.get(u"this").get('context').get('await')) + var.get(u"this").get('context').put('allowYield', Js(False)) + var.get(u"this").get('context').put('await', Js(True)) + var.put('params', var.get(u"this").callprop('parseFormalParameters')) + var.put('method', var.get(u"this").callprop('parsePropertyMethod', var.get('params'))) + var.get(u"this").get('context').put('allowYield', var.get('previousAllowYield')) + var.get(u"this").get('context').put('await', var.get('previousAwait')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('AsyncFunctionExpression').create(var.get(u"null"), var.get('params').get('params'), var.get('method'))) + PyJs_anonymous_242_._set_name('anonymous') + var.get('Parser').get('prototype').put('parsePropertyMethodAsyncFunction', PyJs_anonymous_242_) + @Js + def PyJs_anonymous_243_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['key', 'raw', 'node', 'token']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('token', var.get(u"this").callprop('nextToken')) + pass + while 1: + SWITCHED = False + CONDITION = (var.get('token').get('type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(8.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(6.0)): + SWITCHED = True + if (var.get(u"this").get('context').get('strict') and var.get('token').get('octal')): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get('token'), var.get('messages_1').get('Messages').get('StrictOctalLiteral')) + var.put('raw', var.get(u"this").callprop('getTokenRaw', var.get('token'))) + var.put('key', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Literal').create(var.get('token').get('value'), var.get('raw')))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(1.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(5.0)): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(4.0)): + SWITCHED = True + var.put('key', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Identifier').create(var.get('token').get('value')))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(7.0)): + SWITCHED = True + if PyJsStrictEq(var.get('token').get('value'),Js('[')): + var.put('key', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + var.get(u"this").callprop('expect', Js(']')) + else: + var.put('key', var.get(u"this").callprop('throwUnexpectedToken', var.get('token'))) + break + if True: + SWITCHED = True + var.put('key', var.get(u"this").callprop('throwUnexpectedToken', var.get('token'))) + SWITCHED = True + break + return var.get('key') + PyJs_anonymous_243_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseObjectPropertyKey', PyJs_anonymous_243_) + @Js + def PyJs_anonymous_244_(key, value, this, arguments, var=var): + var = Scope({'key':key, 'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'key']) + return ((PyJsStrictEq(var.get('key').get('type'),var.get('syntax_1').get('Syntax').get('Identifier')) and PyJsStrictEq(var.get('key').get('name'),var.get('value'))) or (PyJsStrictEq(var.get('key').get('type'),var.get('syntax_1').get('Syntax').get('Literal')) and PyJsStrictEq(var.get('key').get('value'),var.get('value')))) + PyJs_anonymous_244_._set_name('anonymous') + var.get('Parser').get('prototype').put('isPropertyKey', PyJs_anonymous_244_) + @Js + def PyJs_anonymous_245_(hasProto, this, arguments, var=var): + var = Scope({'hasProto':hasProto, 'this':this, 'arguments':arguments}, var) + var.registers(['method', 'init', 'shorthand', 'isAsync', 'node', 'value', 'lookaheadPropertyKey', 'kind', 'id', 'hasProto', 'computed', 'key', 'token']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('token', var.get(u"this").get('lookahead')) + pass + var.put('key', var.get(u"null")) + var.put('value', var.get(u"null")) + var.put('computed', Js(False)) + var.put('method', Js(False)) + var.put('shorthand', Js(False)) + var.put('isAsync', Js(False)) + if PyJsStrictEq(var.get('token').get('type'),Js(3.0)): + var.put('id', var.get('token').get('value')) + var.get(u"this").callprop('nextToken') + var.put('computed', var.get(u"this").callprop('match', Js('['))) + var.put('isAsync', (((((var.get(u"this").get('hasLineTerminator').neg() and PyJsStrictEq(var.get('id'),Js('async'))) and var.get(u"this").callprop('match', Js(':')).neg()) and var.get(u"this").callprop('match', Js('(')).neg()) and var.get(u"this").callprop('match', Js('*')).neg()) and var.get(u"this").callprop('match', Js(',')).neg())) + var.put('key', (var.get(u"this").callprop('parseObjectPropertyKey') if var.get('isAsync') else var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Identifier').create(var.get('id'))))) + else: + if var.get(u"this").callprop('match', Js('*')): + var.get(u"this").callprop('nextToken') + else: + var.put('computed', var.get(u"this").callprop('match', Js('['))) + var.put('key', var.get(u"this").callprop('parseObjectPropertyKey')) + var.put('lookaheadPropertyKey', var.get(u"this").callprop('qualifiedPropertyName', var.get(u"this").get('lookahead'))) + if (((PyJsStrictEq(var.get('token').get('type'),Js(3.0)) and var.get('isAsync').neg()) and PyJsStrictEq(var.get('token').get('value'),Js('get'))) and var.get('lookaheadPropertyKey')): + var.put('kind', Js('get')) + var.put('computed', var.get(u"this").callprop('match', Js('['))) + var.put('key', var.get(u"this").callprop('parseObjectPropertyKey')) + var.get(u"this").get('context').put('allowYield', Js(False)) + var.put('value', var.get(u"this").callprop('parseGetterMethod')) + else: + if (((PyJsStrictEq(var.get('token').get('type'),Js(3.0)) and var.get('isAsync').neg()) and PyJsStrictEq(var.get('token').get('value'),Js('set'))) and var.get('lookaheadPropertyKey')): + var.put('kind', Js('set')) + var.put('computed', var.get(u"this").callprop('match', Js('['))) + var.put('key', var.get(u"this").callprop('parseObjectPropertyKey')) + var.put('value', var.get(u"this").callprop('parseSetterMethod')) + else: + if ((PyJsStrictEq(var.get('token').get('type'),Js(7.0)) and PyJsStrictEq(var.get('token').get('value'),Js('*'))) and var.get('lookaheadPropertyKey')): + var.put('kind', Js('init')) + var.put('computed', var.get(u"this").callprop('match', Js('['))) + var.put('key', var.get(u"this").callprop('parseObjectPropertyKey')) + var.put('value', var.get(u"this").callprop('parseGeneratorMethod')) + var.put('method', Js(True)) + else: + if var.get('key').neg(): + var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").get('lookahead')) + var.put('kind', Js('init')) + if (var.get(u"this").callprop('match', Js(':')) and var.get('isAsync').neg()): + if (var.get('computed').neg() and var.get(u"this").callprop('isPropertyKey', var.get('key'), Js('__proto__'))): + if var.get('hasProto').get('value'): + var.get(u"this").callprop('tolerateError', var.get('messages_1').get('Messages').get('DuplicateProtoProperty')) + var.get('hasProto').put('value', Js(True)) + var.get(u"this").callprop('nextToken') + var.put('value', var.get(u"this").callprop('inheritCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + else: + if var.get(u"this").callprop('match', Js('(')): + var.put('value', (var.get(u"this").callprop('parsePropertyMethodAsyncFunction') if var.get('isAsync') else var.get(u"this").callprop('parsePropertyMethodFunction'))) + var.put('method', Js(True)) + else: + if PyJsStrictEq(var.get('token').get('type'),Js(3.0)): + var.put('id', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Identifier').create(var.get('token').get('value')))) + if var.get(u"this").callprop('match', Js('=')): + var.get(u"this").get('context').put('firstCoverInitializedNameError', var.get(u"this").get('lookahead')) + var.get(u"this").callprop('nextToken') + var.put('shorthand', Js(True)) + var.put('init', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + var.put('value', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('AssignmentPattern').create(var.get('id'), var.get('init')))) + else: + var.put('shorthand', Js(True)) + var.put('value', var.get('id')) + else: + var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").callprop('nextToken')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Property').create(var.get('kind'), var.get('key'), var.get('computed'), var.get('value'), var.get('method'), var.get('shorthand'))) + PyJs_anonymous_245_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseObjectProperty', PyJs_anonymous_245_) + @Js + def PyJs_anonymous_246_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['hasProto', 'properties', 'node']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expect', Js('{')) + var.put('properties', Js([])) + PyJs_Object_247_ = Js({'value':Js(False)}) + var.put('hasProto', PyJs_Object_247_) + while var.get(u"this").callprop('match', Js('}')).neg(): + var.get('properties').callprop('push', var.get(u"this").callprop('parseObjectProperty', var.get('hasProto'))) + if var.get(u"this").callprop('match', Js('}')).neg(): + var.get(u"this").callprop('expectCommaSeparator') + var.get(u"this").callprop('expect', Js('}')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ObjectExpression').create(var.get('properties'))) + PyJs_anonymous_246_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseObjectInitializer', PyJs_anonymous_246_) + @Js + def PyJs_anonymous_248_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['raw', 'cooked', 'node', 'token']) + var.get('assert_1').callprop('assert', var.get(u"this").get('lookahead').get('head'), Js('Template literal must start with a template head')) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('token', var.get(u"this").callprop('nextToken')) + var.put('raw', var.get('token').get('value')) + var.put('cooked', var.get('token').get('cooked')) + PyJs_Object_249_ = Js({'raw':var.get('raw'),'cooked':var.get('cooked')}) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('TemplateElement').create(PyJs_Object_249_, var.get('token').get('tail'))) + PyJs_anonymous_248_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseTemplateHead', PyJs_anonymous_248_) + @Js + def PyJs_anonymous_250_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['raw', 'cooked', 'node', 'token']) + if PyJsStrictNeq(var.get(u"this").get('lookahead').get('type'),Js(10.0)): + var.get(u"this").callprop('throwUnexpectedToken') + var.put('node', var.get(u"this").callprop('createNode')) + var.put('token', var.get(u"this").callprop('nextToken')) + var.put('raw', var.get('token').get('value')) + var.put('cooked', var.get('token').get('cooked')) + PyJs_Object_251_ = Js({'raw':var.get('raw'),'cooked':var.get('cooked')}) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('TemplateElement').create(PyJs_Object_251_, var.get('token').get('tail'))) + PyJs_anonymous_250_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseTemplateElement', PyJs_anonymous_250_) + @Js + def PyJs_anonymous_252_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['quasis', 'quasi', 'expressions', 'node']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('expressions', Js([])) + var.put('quasis', Js([])) + var.put('quasi', var.get(u"this").callprop('parseTemplateHead')) + var.get('quasis').callprop('push', var.get('quasi')) + while var.get('quasi').get('tail').neg(): + var.get('expressions').callprop('push', var.get(u"this").callprop('parseExpression')) + var.put('quasi', var.get(u"this").callprop('parseTemplateElement')) + var.get('quasis').callprop('push', var.get('quasi')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('TemplateLiteral').create(var.get('quasis'), var.get('expressions'))) + PyJs_anonymous_252_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseTemplateLiteral', PyJs_anonymous_252_) + @Js + def PyJs_anonymous_253_(expr, this, arguments, var=var): + var = Scope({'expr':expr, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'expr']) + while 1: + SWITCHED = False + CONDITION = (var.get('expr').get('type')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get('syntax_1').get('Syntax').get('Identifier')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, var.get('syntax_1').get('Syntax').get('MemberExpression')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, var.get('syntax_1').get('Syntax').get('RestElement')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, var.get('syntax_1').get('Syntax').get('AssignmentPattern')): + SWITCHED = True + break + if SWITCHED or PyJsStrictEq(CONDITION, var.get('syntax_1').get('Syntax').get('SpreadElement')): + SWITCHED = True + var.get('expr').put('type', var.get('syntax_1').get('Syntax').get('RestElement')) + var.get(u"this").callprop('reinterpretExpressionAsPattern', var.get('expr').get('argument')) + break + if SWITCHED or PyJsStrictEq(CONDITION, var.get('syntax_1').get('Syntax').get('ArrayExpression')): + SWITCHED = True + var.get('expr').put('type', var.get('syntax_1').get('Syntax').get('ArrayPattern')) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')')).neg(): + var.get(u"this").callprop('expect', Js('=>')) + PyJs_Object_255_ = Js({'type':var.get('ArrowParameterPlaceHolder'),'params':Js([]),'async':Js(False)}) + var.put('expr', PyJs_Object_255_) + else: + var.put('startToken', var.get(u"this").get('lookahead')) + var.put('params', Js([])) + if var.get(u"this").callprop('match', Js('...')): + var.put('expr', var.get(u"this").callprop('parseRestElement', var.get('params'))) + var.get(u"this").callprop('expect', Js(')')) + if var.get(u"this").callprop('match', Js('=>')).neg(): + var.get(u"this").callprop('expect', Js('=>')) + PyJs_Object_256_ = Js({'type':var.get('ArrowParameterPlaceHolder'),'params':Js([var.get('expr')]),'async':Js(False)}) + var.put('expr', PyJs_Object_256_) + else: + var.put('arrow', Js(False)) + var.get(u"this").get('context').put('isBindingElement', Js(True)) + var.put('expr', var.get(u"this").callprop('inheritCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + if var.get(u"this").callprop('match', Js(',')): + var.put('expressions', Js([])) + var.get(u"this").get('context').put('isAssignmentTarget', Js(False)) + var.get('expressions').callprop('push', var.get('expr')) + while PyJsStrictNeq(var.get(u"this").get('lookahead').get('type'),Js(2.0)): + if var.get(u"this").callprop('match', Js(',')).neg(): + break + var.get(u"this").callprop('nextToken') + if var.get(u"this").callprop('match', Js(')')): + var.get(u"this").callprop('nextToken') + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')')).neg(): + var.get(u"this").callprop('expect', Js('=>')) + var.get(u"this").get('context').put('isBindingElement', Js(False)) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')')): + if (PyJsStrictEq(var.get('expr').get('type'),var.get('syntax_1').get('Syntax').get('Identifier')) and PyJsStrictEq(var.get('expr').get('name'),Js('yield'))): + var.put('arrow', Js(True)) + PyJs_Object_259_ = Js({'type':var.get('ArrowParameterPlaceHolder'),'params':Js([var.get('expr')]),'async':Js(False)}) + var.put('expr', PyJs_Object_259_) + if var.get('arrow').neg(): + if var.get(u"this").get('context').get('isBindingElement').neg(): + var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").get('lookahead')) + if PyJsStrictEq(var.get('expr').get('type'),var.get('syntax_1').get('Syntax').get('SequenceExpression')): + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')'))): + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0)): + var.get(u"this").callprop('nextToken') + var.get(u"this").get('context').put('isAssignmentTarget', Js(False)) + var.get(u"this").get('context').put('isBindingElement', Js(False)) + var.put('markers', Js([var.get('startToken'), var.get(u"this").get('lookahead')])) + var.put('left', var.get('expr')) + var.put('right', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseExponentiationExpression'))) + var.put('stack', Js([var.get('left'), var.get('token').get('value'), var.get('right')])) + var.put('precedences', Js([var.get('prec')])) + while Js(True): + var.put('prec', var.get(u"this").callprop('binaryPrecedence', var.get(u"this").get('lookahead'))) + if (var.get('prec')<=Js(0.0)): + break + while ((var.get('stack').get('length')>Js(2.0)) and (var.get('prec')<=var.get('precedences').get((var.get('precedences').get('length')-Js(1.0))))): + var.put('right', var.get('stack').callprop('pop')) + var.put('operator', var.get('stack').callprop('pop')) + var.get('precedences').callprop('pop') + var.put('left', var.get('stack').callprop('pop')) + var.get('markers').callprop('pop') + var.put('node', var.get(u"this").callprop('startNode', var.get('markers').get((var.get('markers').get('length')-Js(1.0))))) + var.get('stack').callprop('push', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('BinaryExpression').create(var.get('operator'), var.get('left'), var.get('right')))) + var.get('stack').callprop('push', var.get(u"this").callprop('nextToken').get('value')) + var.get('precedences').callprop('push', var.get('prec')) + var.get('markers').callprop('push', var.get(u"this").get('lookahead')) + var.get('stack').callprop('push', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseExponentiationExpression'))) + var.put('i', (var.get('stack').get('length')-Js(1.0))) + var.put('expr', var.get('stack').get(var.get('i'))) + var.put('lastMarker', var.get('markers').callprop('pop')) + while (var.get('i')>Js(1.0)): + var.put('marker', var.get('markers').callprop('pop')) + var.put('lastLineStart', (var.get('lastMarker') and var.get('lastMarker').get('lineStart'))) + var.put('node', var.get(u"this").callprop('startNode', var.get('marker'), var.get('lastLineStart'))) + var.put('operator', var.get('stack').get((var.get('i')-Js(1.0)))) + var.put('expr', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('BinaryExpression').create(var.get('operator'), var.get('stack').get((var.get('i')-Js(2.0))), var.get('expr')))) + var.put('i', Js(2.0), '-') + var.put('lastMarker', var.get('marker')) + return var.get('expr') + PyJs_anonymous_276_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseBinaryExpression', PyJs_anonymous_276_) + @Js + def PyJs_anonymous_277_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['expr', 'alternate', 'startToken', 'previousAllowIn', 'consequent']) + var.put('startToken', var.get(u"this").get('lookahead')) + var.put('expr', var.get(u"this").callprop('inheritCoverGrammar', var.get(u"this").get('parseBinaryExpression'))) + if var.get(u"this").callprop('match', Js('?')): + var.get(u"this").callprop('nextToken') + var.put('previousAllowIn', var.get(u"this").get('context').get('allowIn')) + var.get(u"this").get('context').put('allowIn', Js(True)) + var.put('consequent', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + var.get(u"this").get('context').put('allowIn', var.get('previousAllowIn')) + var.get(u"this").callprop('expect', Js(':')) + var.put('alternate', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + var.put('expr', var.get(u"this").callprop('finalize', var.get(u"this").callprop('startNode', var.get('startToken')), var.get('Node').get('ConditionalExpression').create(var.get('expr'), var.get('consequent'), var.get('alternate')))) + var.get(u"this").get('context').put('isAssignmentTarget', Js(False)) + var.get(u"this").get('context').put('isBindingElement', Js(False)) + return var.get('expr') + PyJs_anonymous_277_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseConditionalExpression', PyJs_anonymous_277_) + @Js + def PyJs_anonymous_278_(options, param, this, arguments, var=var): + var = Scope({'options':options, 'param':param, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'param', 'options']) + while 1: + SWITCHED = False + CONDITION = (var.get('param').get('type')) + if SWITCHED or PyJsStrictEq(CONDITION, var.get('syntax_1').get('Syntax').get('Identifier')): + SWITCHED = True + var.get(u"this").callprop('validateParam', var.get('options'), var.get('param'), var.get('param').get('name')) + break + if SWITCHED or PyJsStrictEq(CONDITION, var.get('syntax_1').get('Syntax').get('RestElement')): + SWITCHED = True + var.get(u"this").callprop('checkPatternParam', var.get('options'), var.get('param').get('argument')) + break + if SWITCHED or PyJsStrictEq(CONDITION, var.get('syntax_1').get('Syntax').get('AssignmentPattern')): + SWITCHED = True + var.get(u"this").callprop('checkPatternParam', var.get('options'), var.get('param').get('left')) + break + if SWITCHED or PyJsStrictEq(CONDITION, var.get('syntax_1').get('Syntax').get('ArrayPattern')): + SWITCHED = True + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')'))): + var.get(u"this").get('context').put('isAssignmentTarget', Js(False)) + var.get(u"this").get('context').put('isBindingElement', Js(False)) + var.put('isAsync', var.get('expr').get('async')) + var.put('list', var.get(u"this").callprop('reinterpretAsCoverFormalsList', var.get('expr'))) + if var.get('list'): + if var.get(u"this").get('hasLineTerminator'): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get(u"this").get('lookahead')) + var.get(u"this").get('context').put('firstCoverInitializedNameError', var.get(u"null")) + var.put('previousStrict', var.get(u"this").get('context').get('strict')) + var.put('previousAllowStrictDirective', var.get(u"this").get('context').get('allowStrictDirective')) + var.get(u"this").get('context').put('allowStrictDirective', var.get('list').get('simple')) + var.put('previousAllowYield', var.get(u"this").get('context').get('allowYield')) + var.put('previousAwait', var.get(u"this").get('context').get('await')) + var.get(u"this").get('context').put('allowYield', Js(True)) + var.get(u"this").get('context').put('await', var.get('isAsync')) + var.put('node', var.get(u"this").callprop('startNode', var.get('startToken'))) + var.get(u"this").callprop('expect', Js('=>')) + var.put('body', PyJsComma(Js(0.0), Js(None))) + if var.get(u"this").callprop('match', Js('{')): + var.put('previousAllowIn', var.get(u"this").get('context').get('allowIn')) + var.get(u"this").get('context').put('allowIn', Js(True)) + var.put('body', var.get(u"this").callprop('parseFunctionSourceElements')) + var.get(u"this").get('context').put('allowIn', var.get('previousAllowIn')) + else: + var.put('body', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + var.put('expression', PyJsStrictNeq(var.get('body').get('type'),var.get('syntax_1').get('Syntax').get('BlockStatement'))) + if (var.get(u"this").get('context').get('strict') and var.get('list').get('firstRestricted')): + var.get(u"this").callprop('throwUnexpectedToken', var.get('list').get('firstRestricted'), var.get('list').get('message')) + if (var.get(u"this").get('context').get('strict') and var.get('list').get('stricted')): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get('list').get('stricted'), var.get('list').get('message')) + def PyJs_LONG_285_(var=var): + return var.put('expr', (var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('AsyncArrowFunctionExpression').create(var.get('list').get('params'), var.get('body'), var.get('expression'))) if var.get('isAsync') else var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ArrowFunctionExpression').create(var.get('list').get('params'), var.get('body'), var.get('expression'))))) + PyJs_LONG_285_() + var.get(u"this").get('context').put('strict', var.get('previousStrict')) + var.get(u"this").get('context').put('allowStrictDirective', var.get('previousAllowStrictDirective')) + var.get(u"this").get('context').put('allowYield', var.get('previousAllowYield')) + var.get(u"this").get('context').put('await', var.get('previousAwait')) + else: + if var.get(u"this").callprop('matchAssign'): + if var.get(u"this").get('context').get('isAssignmentTarget').neg(): + var.get(u"this").callprop('tolerateError', var.get('messages_1').get('Messages').get('InvalidLHSInAssignment')) + if (var.get(u"this").get('context').get('strict') and PyJsStrictEq(var.get('expr').get('type'),var.get('syntax_1').get('Syntax').get('Identifier'))): + var.put('id', var.get('expr')) + if var.get(u"this").get('scanner').callprop('isRestrictedWord', var.get('id').get('name')): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get('token'), var.get('messages_1').get('Messages').get('StrictLHSAssignment')) + if var.get(u"this").get('scanner').callprop('isStrictModeReservedWord', var.get('id').get('name')): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get('token'), var.get('messages_1').get('Messages').get('StrictReservedWord')) + if var.get(u"this").callprop('match', Js('=')).neg(): + var.get(u"this").get('context').put('isAssignmentTarget', Js(False)) + var.get(u"this").get('context').put('isBindingElement', Js(False)) + else: + var.get(u"this").callprop('reinterpretExpressionAsPattern', var.get('expr')) + var.put('token', var.get(u"this").callprop('nextToken')) + var.put('operator', var.get('token').get('value')) + var.put('right', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + var.put('expr', var.get(u"this").callprop('finalize', var.get(u"this").callprop('startNode', var.get('startToken')), var.get('Node').get('AssignmentExpression').create(var.get('operator'), var.get('expr'), var.get('right')))) + var.get(u"this").get('context').put('firstCoverInitializedNameError', var.get(u"null")) + return var.get('expr') + PyJs_anonymous_283_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseAssignmentExpression', PyJs_anonymous_283_) + @Js + def PyJs_anonymous_286_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['startToken', 'expressions', 'expr']) + var.put('startToken', var.get(u"this").get('lookahead')) + var.put('expr', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + if var.get(u"this").callprop('match', Js(',')): + var.put('expressions', Js([])) + var.get('expressions').callprop('push', var.get('expr')) + while PyJsStrictNeq(var.get(u"this").get('lookahead').get('type'),Js(2.0)): + if var.get(u"this").callprop('match', Js(',')).neg(): + break + var.get(u"this").callprop('nextToken') + var.get('expressions').callprop('push', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + var.put('expr', var.get(u"this").callprop('finalize', var.get(u"this").callprop('startNode', var.get('startToken')), var.get('Node').get('SequenceExpression').create(var.get('expressions')))) + return var.get('expr') + PyJs_anonymous_286_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseExpression', PyJs_anonymous_286_) + @Js + def PyJs_anonymous_287_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['statement']) + pass + var.get(u"this").get('context').put('isAssignmentTarget', Js(True)) + var.get(u"this").get('context').put('isBindingElement', Js(True)) + if PyJsStrictEq(var.get(u"this").get('lookahead').get('type'),Js(4.0)): + while 1: + SWITCHED = False + CONDITION = (var.get(u"this").get('lookahead').get('value')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('export')): + SWITCHED = True + if var.get(u"this").get('context').get('isModule').neg(): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get(u"this").get('lookahead'), var.get('messages_1').get('Messages').get('IllegalExportDeclaration')) + var.put('statement', var.get(u"this").callprop('parseExportDeclaration')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('import')): + SWITCHED = True + if var.get(u"this").get('context').get('isModule').neg(): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get(u"this").get('lookahead'), var.get('messages_1').get('Messages').get('IllegalImportDeclaration')) + var.put('statement', var.get(u"this").callprop('parseImportDeclaration')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('const')): + SWITCHED = True + PyJs_Object_288_ = Js({'inFor':Js(False)}) + var.put('statement', var.get(u"this").callprop('parseLexicalDeclaration', PyJs_Object_288_)) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('function')): + SWITCHED = True + var.put('statement', var.get(u"this").callprop('parseFunctionDeclaration')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('class')): + SWITCHED = True + var.put('statement', var.get(u"this").callprop('parseClassDeclaration')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('let')): + SWITCHED = True + PyJs_Object_289_ = Js({'inFor':Js(False)}) + var.put('statement', (var.get(u"this").callprop('parseLexicalDeclaration', PyJs_Object_289_) if var.get(u"this").callprop('isLexicalDeclaration') else var.get(u"this").callprop('parseStatement'))) + break + if True: + SWITCHED = True + var.put('statement', var.get(u"this").callprop('parseStatement')) + break + SWITCHED = True + break + else: + var.put('statement', var.get(u"this").callprop('parseStatement')) + return var.get('statement') + PyJs_anonymous_287_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseStatementListItem', PyJs_anonymous_287_) + @Js + def PyJs_anonymous_290_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['block', 'node']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expect', Js('{')) + var.put('block', Js([])) + while Js(True): + if var.get(u"this").callprop('match', Js('}')): + break + var.get('block').callprop('push', var.get(u"this").callprop('parseStatementListItem')) + var.get(u"this").callprop('expect', Js('}')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('BlockStatement').create(var.get('block'))) + PyJs_anonymous_290_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseBlock', PyJs_anonymous_290_) + @Js + def PyJs_anonymous_291_(kind, options, this, arguments, var=var): + var = Scope({'kind':kind, 'options':options, 'this':this, 'arguments':arguments}, var) + var.registers(['init', 'node', 'params', 'kind', 'id', 'options']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('params', Js([])) + var.put('id', var.get(u"this").callprop('parsePattern', var.get('params'), var.get('kind'))) + if (var.get(u"this").get('context').get('strict') and PyJsStrictEq(var.get('id').get('type'),var.get('syntax_1').get('Syntax').get('Identifier'))): + if var.get(u"this").get('scanner').callprop('isRestrictedWord', var.get('id').get('name')): + var.get(u"this").callprop('tolerateError', var.get('messages_1').get('Messages').get('StrictVarName')) + var.put('init', var.get(u"null")) + if PyJsStrictEq(var.get('kind'),Js('const')): + if (var.get(u"this").callprop('matchKeyword', Js('in')).neg() and var.get(u"this").callprop('matchContextualKeyword', Js('of')).neg()): + if var.get(u"this").callprop('match', Js('=')): + var.get(u"this").callprop('nextToken') + var.put('init', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + else: + var.get(u"this").callprop('throwError', var.get('messages_1').get('Messages').get('DeclarationMissingInitializer'), Js('const')) + else: + if ((var.get('options').get('inFor').neg() and PyJsStrictNeq(var.get('id').get('type'),var.get('syntax_1').get('Syntax').get('Identifier'))) or var.get(u"this").callprop('match', Js('='))): + var.get(u"this").callprop('expect', Js('=')) + var.put('init', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('VariableDeclarator').create(var.get('id'), var.get('init'))) + PyJs_anonymous_291_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseLexicalBinding', PyJs_anonymous_291_) + @Js + def PyJs_anonymous_292_(kind, options, this, arguments, var=var): + var = Scope({'kind':kind, 'options':options, 'this':this, 'arguments':arguments}, var) + var.registers(['kind', 'list', 'options']) + var.put('list', Js([var.get(u"this").callprop('parseLexicalBinding', var.get('kind'), var.get('options'))])) + while var.get(u"this").callprop('match', Js(',')): + var.get(u"this").callprop('nextToken') + var.get('list').callprop('push', var.get(u"this").callprop('parseLexicalBinding', var.get('kind'), var.get('options'))) + return var.get('list') + PyJs_anonymous_292_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseBindingList', PyJs_anonymous_292_) + @Js + def PyJs_anonymous_293_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['next', 'state']) + var.put('state', var.get(u"this").get('scanner').callprop('saveState')) + var.get(u"this").get('scanner').callprop('scanComments') + var.put('next', var.get(u"this").get('scanner').callprop('lex')) + var.get(u"this").get('scanner').callprop('restoreState', var.get('state')) + def PyJs_LONG_294_(var=var): + return ((((PyJsStrictEq(var.get('next').get('type'),Js(3.0)) or (PyJsStrictEq(var.get('next').get('type'),Js(7.0)) and PyJsStrictEq(var.get('next').get('value'),Js('[')))) or (PyJsStrictEq(var.get('next').get('type'),Js(7.0)) and PyJsStrictEq(var.get('next').get('value'),Js('{')))) or (PyJsStrictEq(var.get('next').get('type'),Js(4.0)) and PyJsStrictEq(var.get('next').get('value'),Js('let')))) or (PyJsStrictEq(var.get('next').get('type'),Js(4.0)) and PyJsStrictEq(var.get('next').get('value'),Js('yield')))) + return PyJs_LONG_294_() + PyJs_anonymous_293_._set_name('anonymous') + var.get('Parser').get('prototype').put('isLexicalDeclaration', PyJs_anonymous_293_) + @Js + def PyJs_anonymous_295_(options, this, arguments, var=var): + var = Scope({'options':options, 'this':this, 'arguments':arguments}, var) + var.registers(['kind', 'declarations', 'options', 'node']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('kind', var.get(u"this").callprop('nextToken').get('value')) + var.get('assert_1').callprop('assert', (PyJsStrictEq(var.get('kind'),Js('let')) or PyJsStrictEq(var.get('kind'),Js('const'))), Js('Lexical declaration must be either let or const')) + var.put('declarations', var.get(u"this").callprop('parseBindingList', var.get('kind'), var.get('options'))) + var.get(u"this").callprop('consumeSemicolon') + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('VariableDeclaration').create(var.get('declarations'), var.get('kind'))) + PyJs_anonymous_295_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseLexicalDeclaration', PyJs_anonymous_295_) + @Js + def PyJs_anonymous_296_(params, kind, this, arguments, var=var): + var = Scope({'params':params, 'kind':kind, 'this':this, 'arguments':arguments}, var) + var.registers(['kind', 'params', 'node', 'arg']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expect', Js('...')) + var.put('arg', var.get(u"this").callprop('parsePattern', var.get('params'), var.get('kind'))) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('RestElement').create(var.get('arg'))) + PyJs_anonymous_296_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseBindingRestElement', PyJs_anonymous_296_) + @Js + def PyJs_anonymous_297_(params, kind, this, arguments, var=var): + var = Scope({'params':params, 'kind':kind, 'this':this, 'arguments':arguments}, var) + var.registers(['elements', 'params', 'kind', 'node']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expect', Js('[')) + var.put('elements', Js([])) + while var.get(u"this").callprop('match', Js(']')).neg(): + if var.get(u"this").callprop('match', Js(',')): + var.get(u"this").callprop('nextToken') + var.get('elements').callprop('push', var.get(u"null")) + else: + if var.get(u"this").callprop('match', Js('...')): + var.get('elements').callprop('push', var.get(u"this").callprop('parseBindingRestElement', var.get('params'), var.get('kind'))) + break + else: + var.get('elements').callprop('push', var.get(u"this").callprop('parsePatternWithDefault', var.get('params'), var.get('kind'))) + if var.get(u"this").callprop('match', Js(']')).neg(): + var.get(u"this").callprop('expect', Js(',')) + var.get(u"this").callprop('expect', Js(']')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ArrayPattern').create(var.get('elements'))) + PyJs_anonymous_297_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseArrayPattern', PyJs_anonymous_297_) + @Js + def PyJs_anonymous_298_(params, kind, this, arguments, var=var): + var = Scope({'params':params, 'kind':kind, 'this':this, 'arguments':arguments}, var) + var.registers(['method', 'init', 'shorthand', 'node', 'expr', 'keyToken', 'value', 'params', 'kind', 'computed', 'key']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('computed', Js(False)) + var.put('shorthand', Js(False)) + var.put('method', Js(False)) + pass + pass + if PyJsStrictEq(var.get(u"this").get('lookahead').get('type'),Js(3.0)): + var.put('keyToken', var.get(u"this").get('lookahead')) + var.put('key', var.get(u"this").callprop('parseVariableIdentifier')) + var.put('init', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Identifier').create(var.get('keyToken').get('value')))) + if var.get(u"this").callprop('match', Js('=')): + var.get('params').callprop('push', var.get('keyToken')) + var.put('shorthand', Js(True)) + var.get(u"this").callprop('nextToken') + var.put('expr', var.get(u"this").callprop('parseAssignmentExpression')) + var.put('value', var.get(u"this").callprop('finalize', var.get(u"this").callprop('startNode', var.get('keyToken')), var.get('Node').get('AssignmentPattern').create(var.get('init'), var.get('expr')))) + else: + if var.get(u"this").callprop('match', Js(':')).neg(): + var.get('params').callprop('push', var.get('keyToken')) + var.put('shorthand', Js(True)) + var.put('value', var.get('init')) + else: + var.get(u"this").callprop('expect', Js(':')) + var.put('value', var.get(u"this").callprop('parsePatternWithDefault', var.get('params'), var.get('kind'))) + else: + var.put('computed', var.get(u"this").callprop('match', Js('['))) + var.put('key', var.get(u"this").callprop('parseObjectPropertyKey')) + var.get(u"this").callprop('expect', Js(':')) + var.put('value', var.get(u"this").callprop('parsePatternWithDefault', var.get('params'), var.get('kind'))) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Property').create(Js('init'), var.get('key'), var.get('computed'), var.get('value'), var.get('method'), var.get('shorthand'))) + PyJs_anonymous_298_._set_name('anonymous') + var.get('Parser').get('prototype').put('parsePropertyPattern', PyJs_anonymous_298_) + @Js + def PyJs_anonymous_299_(params, kind, this, arguments, var=var): + var = Scope({'params':params, 'kind':kind, 'this':this, 'arguments':arguments}, var) + var.registers(['kind', 'params', 'properties', 'node']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('properties', Js([])) + var.get(u"this").callprop('expect', Js('{')) + while var.get(u"this").callprop('match', Js('}')).neg(): + var.get('properties').callprop('push', var.get(u"this").callprop('parsePropertyPattern', var.get('params'), var.get('kind'))) + if var.get(u"this").callprop('match', Js('}')).neg(): + var.get(u"this").callprop('expect', Js(',')) + var.get(u"this").callprop('expect', Js('}')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ObjectPattern').create(var.get('properties'))) + PyJs_anonymous_299_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseObjectPattern', PyJs_anonymous_299_) + @Js + def PyJs_anonymous_300_(params, kind, this, arguments, var=var): + var = Scope({'params':params, 'kind':kind, 'this':this, 'arguments':arguments}, var) + var.registers(['kind', 'pattern', 'params']) + pass + if var.get(u"this").callprop('match', Js('[')): + var.put('pattern', var.get(u"this").callprop('parseArrayPattern', var.get('params'), var.get('kind'))) + else: + if var.get(u"this").callprop('match', Js('{')): + var.put('pattern', var.get(u"this").callprop('parseObjectPattern', var.get('params'), var.get('kind'))) + else: + if (var.get(u"this").callprop('matchKeyword', Js('let')) and (PyJsStrictEq(var.get('kind'),Js('const')) or PyJsStrictEq(var.get('kind'),Js('let')))): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get(u"this").get('lookahead'), var.get('messages_1').get('Messages').get('LetInLexicalBinding')) + var.get('params').callprop('push', var.get(u"this").get('lookahead')) + var.put('pattern', var.get(u"this").callprop('parseVariableIdentifier', var.get('kind'))) + return var.get('pattern') + PyJs_anonymous_300_._set_name('anonymous') + var.get('Parser').get('prototype').put('parsePattern', PyJs_anonymous_300_) + @Js + def PyJs_anonymous_301_(params, kind, this, arguments, var=var): + var = Scope({'params':params, 'kind':kind, 'this':this, 'arguments':arguments}, var) + var.registers(['startToken', 'pattern', 'params', 'previousAllowYield', 'kind', 'right']) + var.put('startToken', var.get(u"this").get('lookahead')) + var.put('pattern', var.get(u"this").callprop('parsePattern', var.get('params'), var.get('kind'))) + if var.get(u"this").callprop('match', Js('=')): + var.get(u"this").callprop('nextToken') + var.put('previousAllowYield', var.get(u"this").get('context').get('allowYield')) + var.get(u"this").get('context').put('allowYield', Js(True)) + var.put('right', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + var.get(u"this").get('context').put('allowYield', var.get('previousAllowYield')) + var.put('pattern', var.get(u"this").callprop('finalize', var.get(u"this").callprop('startNode', var.get('startToken')), var.get('Node').get('AssignmentPattern').create(var.get('pattern'), var.get('right')))) + return var.get('pattern') + PyJs_anonymous_301_._set_name('anonymous') + var.get('Parser').get('prototype').put('parsePatternWithDefault', PyJs_anonymous_301_) + @Js + def PyJs_anonymous_302_(kind, this, arguments, var=var): + var = Scope({'kind':kind, 'this':this, 'arguments':arguments}, var) + var.registers(['kind', 'node', 'token']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('token', var.get(u"this").callprop('nextToken')) + if (PyJsStrictEq(var.get('token').get('type'),Js(4.0)) and PyJsStrictEq(var.get('token').get('value'),Js('yield'))): + if var.get(u"this").get('context').get('strict'): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get('token'), var.get('messages_1').get('Messages').get('StrictReservedWord')) + else: + if var.get(u"this").get('context').get('allowYield').neg(): + var.get(u"this").callprop('throwUnexpectedToken', var.get('token')) + else: + if PyJsStrictNeq(var.get('token').get('type'),Js(3.0)): + if ((var.get(u"this").get('context').get('strict') and PyJsStrictEq(var.get('token').get('type'),Js(4.0))) and var.get(u"this").get('scanner').callprop('isStrictModeReservedWord', var.get('token').get('value'))): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get('token'), var.get('messages_1').get('Messages').get('StrictReservedWord')) + else: + if ((var.get(u"this").get('context').get('strict') or PyJsStrictNeq(var.get('token').get('value'),Js('let'))) or PyJsStrictNeq(var.get('kind'),Js('var'))): + var.get(u"this").callprop('throwUnexpectedToken', var.get('token')) + else: + if (((var.get(u"this").get('context').get('isModule') or var.get(u"this").get('context').get('await')) and PyJsStrictEq(var.get('token').get('type'),Js(3.0))) and PyJsStrictEq(var.get('token').get('value'),Js('await'))): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get('token')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Identifier').create(var.get('token').get('value'))) + PyJs_anonymous_302_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseVariableIdentifier', PyJs_anonymous_302_) + @Js + def PyJs_anonymous_303_(options, this, arguments, var=var): + var = Scope({'options':options, 'this':this, 'arguments':arguments}, var) + var.registers(['init', 'node', 'params', 'id', 'options']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('params', Js([])) + var.put('id', var.get(u"this").callprop('parsePattern', var.get('params'), Js('var'))) + if (var.get(u"this").get('context').get('strict') and PyJsStrictEq(var.get('id').get('type'),var.get('syntax_1').get('Syntax').get('Identifier'))): + if var.get(u"this").get('scanner').callprop('isRestrictedWord', var.get('id').get('name')): + var.get(u"this").callprop('tolerateError', var.get('messages_1').get('Messages').get('StrictVarName')) + var.put('init', var.get(u"null")) + if var.get(u"this").callprop('match', Js('=')): + var.get(u"this").callprop('nextToken') + var.put('init', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + else: + if (PyJsStrictNeq(var.get('id').get('type'),var.get('syntax_1').get('Syntax').get('Identifier')) and var.get('options').get('inFor').neg()): + var.get(u"this").callprop('expect', Js('=')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('VariableDeclarator').create(var.get('id'), var.get('init'))) + PyJs_anonymous_303_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseVariableDeclaration', PyJs_anonymous_303_) + @Js + def PyJs_anonymous_304_(options, this, arguments, var=var): + var = Scope({'options':options, 'this':this, 'arguments':arguments}, var) + var.registers(['opt', 'list', 'options']) + PyJs_Object_305_ = Js({'inFor':var.get('options').get('inFor')}) + var.put('opt', PyJs_Object_305_) + var.put('list', Js([])) + var.get('list').callprop('push', var.get(u"this").callprop('parseVariableDeclaration', var.get('opt'))) + while var.get(u"this").callprop('match', Js(',')): + var.get(u"this").callprop('nextToken') + var.get('list').callprop('push', var.get(u"this").callprop('parseVariableDeclaration', var.get('opt'))) + return var.get('list') + PyJs_anonymous_304_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseVariableDeclarationList', PyJs_anonymous_304_) + @Js + def PyJs_anonymous_306_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['declarations', 'node']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expectKeyword', Js('var')) + PyJs_Object_307_ = Js({'inFor':Js(False)}) + var.put('declarations', var.get(u"this").callprop('parseVariableDeclarationList', PyJs_Object_307_)) + var.get(u"this").callprop('consumeSemicolon') + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('VariableDeclaration').create(var.get('declarations'), Js('var'))) + PyJs_anonymous_306_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseVariableStatement', PyJs_anonymous_306_) + @Js + def PyJs_anonymous_308_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['node']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expect', Js(';')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('EmptyStatement').create()) + PyJs_anonymous_308_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseEmptyStatement', PyJs_anonymous_308_) + @Js + def PyJs_anonymous_309_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['node', 'expr']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('expr', var.get(u"this").callprop('parseExpression')) + var.get(u"this").callprop('consumeSemicolon') + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ExpressionStatement').create(var.get('expr'))) + PyJs_anonymous_309_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseExpressionStatement', PyJs_anonymous_309_) + @Js + def PyJs_anonymous_310_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + if (var.get(u"this").get('context').get('strict') and var.get(u"this").callprop('matchKeyword', Js('function'))): + var.get(u"this").callprop('tolerateError', var.get('messages_1').get('Messages').get('StrictFunction')) + return var.get(u"this").callprop('parseStatement') + PyJs_anonymous_310_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseIfClause', PyJs_anonymous_310_) + @Js + def PyJs_anonymous_311_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['test', 'consequent', 'node', 'alternate']) + var.put('node', var.get(u"this").callprop('createNode')) + pass + var.put('alternate', var.get(u"null")) + var.get(u"this").callprop('expectKeyword', Js('if')) + var.get(u"this").callprop('expect', Js('(')) + var.put('test', var.get(u"this").callprop('parseExpression')) + if (var.get(u"this").callprop('match', Js(')')).neg() and var.get(u"this").get('config').get('tolerant')): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get(u"this").callprop('nextToken')) + var.put('consequent', var.get(u"this").callprop('finalize', var.get(u"this").callprop('createNode'), var.get('Node').get('EmptyStatement').create())) + else: + var.get(u"this").callprop('expect', Js(')')) + var.put('consequent', var.get(u"this").callprop('parseIfClause')) + if var.get(u"this").callprop('matchKeyword', Js('else')): + var.get(u"this").callprop('nextToken') + var.put('alternate', var.get(u"this").callprop('parseIfClause')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('IfStatement').create(var.get('test'), var.get('consequent'), var.get('alternate'))) + PyJs_anonymous_311_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseIfStatement', PyJs_anonymous_311_) + @Js + def PyJs_anonymous_312_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['previousInIteration', 'node', 'body', 'test']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expectKeyword', Js('do')) + var.put('previousInIteration', var.get(u"this").get('context').get('inIteration')) + var.get(u"this").get('context').put('inIteration', Js(True)) + var.put('body', var.get(u"this").callprop('parseStatement')) + var.get(u"this").get('context').put('inIteration', var.get('previousInIteration')) + var.get(u"this").callprop('expectKeyword', Js('while')) + var.get(u"this").callprop('expect', Js('(')) + var.put('test', var.get(u"this").callprop('parseExpression')) + if (var.get(u"this").callprop('match', Js(')')).neg() and var.get(u"this").get('config').get('tolerant')): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get(u"this").callprop('nextToken')) + else: + var.get(u"this").callprop('expect', Js(')')) + if var.get(u"this").callprop('match', Js(';')): + var.get(u"this").callprop('nextToken') + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('DoWhileStatement').create(var.get('body'), var.get('test'))) + PyJs_anonymous_312_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseDoWhileStatement', PyJs_anonymous_312_) + @Js + def PyJs_anonymous_313_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['body', 'node', 'previousInIteration', 'test']) + var.put('node', var.get(u"this").callprop('createNode')) + pass + var.get(u"this").callprop('expectKeyword', Js('while')) + var.get(u"this").callprop('expect', Js('(')) + var.put('test', var.get(u"this").callprop('parseExpression')) + if (var.get(u"this").callprop('match', Js(')')).neg() and var.get(u"this").get('config').get('tolerant')): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get(u"this").callprop('nextToken')) + var.put('body', var.get(u"this").callprop('finalize', var.get(u"this").callprop('createNode'), var.get('Node').get('EmptyStatement').create())) + else: + var.get(u"this").callprop('expect', Js(')')) + var.put('previousInIteration', var.get(u"this").get('context').get('inIteration')) + var.get(u"this").get('context').put('inIteration', Js(True)) + var.put('body', var.get(u"this").callprop('parseStatement')) + var.get(u"this").get('context').put('inIteration', var.get('previousInIteration')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('WhileStatement').create(var.get('test'), var.get('body'))) + PyJs_anonymous_313_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseWhileStatement', PyJs_anonymous_313_) + @Js + def PyJs_anonymous_314_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['forIn', 'init', 'update', 'test', 'declarations', 'node', 'body', 'previousInIteration', 'initStartToken', 'previousAllowIn', 'kind', 'left', 'right', 'decl', 'initSeq']) + var.put('init', var.get(u"null")) + var.put('test', var.get(u"null")) + var.put('update', var.get(u"null")) + var.put('forIn', Js(True)) + pass + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expectKeyword', Js('for')) + var.get(u"this").callprop('expect', Js('(')) + if var.get(u"this").callprop('match', Js(';')): + var.get(u"this").callprop('nextToken') + else: + if var.get(u"this").callprop('matchKeyword', Js('var')): + var.put('init', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('nextToken') + var.put('previousAllowIn', var.get(u"this").get('context').get('allowIn')) + var.get(u"this").get('context').put('allowIn', Js(False)) + PyJs_Object_315_ = Js({'inFor':Js(True)}) + var.put('declarations', var.get(u"this").callprop('parseVariableDeclarationList', PyJs_Object_315_)) + var.get(u"this").get('context').put('allowIn', var.get('previousAllowIn')) + if (PyJsStrictEq(var.get('declarations').get('length'),Js(1.0)) and var.get(u"this").callprop('matchKeyword', Js('in'))): + var.put('decl', var.get('declarations').get('0')) + if (var.get('decl').get('init') and ((PyJsStrictEq(var.get('decl').get('id').get('type'),var.get('syntax_1').get('Syntax').get('ArrayPattern')) or PyJsStrictEq(var.get('decl').get('id').get('type'),var.get('syntax_1').get('Syntax').get('ObjectPattern'))) or var.get(u"this").get('context').get('strict'))): + var.get(u"this").callprop('tolerateError', var.get('messages_1').get('Messages').get('ForInOfLoopInitializer'), Js('for-in')) + var.put('init', var.get(u"this").callprop('finalize', var.get('init'), var.get('Node').get('VariableDeclaration').create(var.get('declarations'), Js('var')))) + var.get(u"this").callprop('nextToken') + var.put('left', var.get('init')) + var.put('right', var.get(u"this").callprop('parseExpression')) + var.put('init', var.get(u"null")) + else: + if ((PyJsStrictEq(var.get('declarations').get('length'),Js(1.0)) and PyJsStrictEq(var.get('declarations').get('0').get('init'),var.get(u"null"))) and var.get(u"this").callprop('matchContextualKeyword', Js('of'))): + var.put('init', var.get(u"this").callprop('finalize', var.get('init'), var.get('Node').get('VariableDeclaration').create(var.get('declarations'), Js('var')))) + var.get(u"this").callprop('nextToken') + var.put('left', var.get('init')) + var.put('right', var.get(u"this").callprop('parseAssignmentExpression')) + var.put('init', var.get(u"null")) + var.put('forIn', Js(False)) + else: + var.put('init', var.get(u"this").callprop('finalize', var.get('init'), var.get('Node').get('VariableDeclaration').create(var.get('declarations'), Js('var')))) + var.get(u"this").callprop('expect', Js(';')) + else: + if (var.get(u"this").callprop('matchKeyword', Js('const')) or var.get(u"this").callprop('matchKeyword', Js('let'))): + var.put('init', var.get(u"this").callprop('createNode')) + var.put('kind', var.get(u"this").callprop('nextToken').get('value')) + if (var.get(u"this").get('context').get('strict').neg() and PyJsStrictEq(var.get(u"this").get('lookahead').get('value'),Js('in'))): + var.put('init', var.get(u"this").callprop('finalize', var.get('init'), var.get('Node').get('Identifier').create(var.get('kind')))) + var.get(u"this").callprop('nextToken') + var.put('left', var.get('init')) + var.put('right', var.get(u"this").callprop('parseExpression')) + var.put('init', var.get(u"null")) + else: + var.put('previousAllowIn', var.get(u"this").get('context').get('allowIn')) + var.get(u"this").get('context').put('allowIn', Js(False)) + PyJs_Object_316_ = Js({'inFor':Js(True)}) + var.put('declarations', var.get(u"this").callprop('parseBindingList', var.get('kind'), PyJs_Object_316_)) + var.get(u"this").get('context').put('allowIn', var.get('previousAllowIn')) + if ((PyJsStrictEq(var.get('declarations').get('length'),Js(1.0)) and PyJsStrictEq(var.get('declarations').get('0').get('init'),var.get(u"null"))) and var.get(u"this").callprop('matchKeyword', Js('in'))): + var.put('init', var.get(u"this").callprop('finalize', var.get('init'), var.get('Node').get('VariableDeclaration').create(var.get('declarations'), var.get('kind')))) + var.get(u"this").callprop('nextToken') + var.put('left', var.get('init')) + var.put('right', var.get(u"this").callprop('parseExpression')) + var.put('init', var.get(u"null")) + else: + if ((PyJsStrictEq(var.get('declarations').get('length'),Js(1.0)) and PyJsStrictEq(var.get('declarations').get('0').get('init'),var.get(u"null"))) and var.get(u"this").callprop('matchContextualKeyword', Js('of'))): + var.put('init', var.get(u"this").callprop('finalize', var.get('init'), var.get('Node').get('VariableDeclaration').create(var.get('declarations'), var.get('kind')))) + var.get(u"this").callprop('nextToken') + var.put('left', var.get('init')) + var.put('right', var.get(u"this").callprop('parseAssignmentExpression')) + var.put('init', var.get(u"null")) + var.put('forIn', Js(False)) + else: + var.get(u"this").callprop('consumeSemicolon') + var.put('init', var.get(u"this").callprop('finalize', var.get('init'), var.get('Node').get('VariableDeclaration').create(var.get('declarations'), var.get('kind')))) + else: + var.put('initStartToken', var.get(u"this").get('lookahead')) + var.put('previousAllowIn', var.get(u"this").get('context').get('allowIn')) + var.get(u"this").get('context').put('allowIn', Js(False)) + var.put('init', var.get(u"this").callprop('inheritCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + var.get(u"this").get('context').put('allowIn', var.get('previousAllowIn')) + if var.get(u"this").callprop('matchKeyword', Js('in')): + if (var.get(u"this").get('context').get('isAssignmentTarget').neg() or PyJsStrictEq(var.get('init').get('type'),var.get('syntax_1').get('Syntax').get('AssignmentExpression'))): + var.get(u"this").callprop('tolerateError', var.get('messages_1').get('Messages').get('InvalidLHSInForIn')) + var.get(u"this").callprop('nextToken') + var.get(u"this").callprop('reinterpretExpressionAsPattern', var.get('init')) + var.put('left', var.get('init')) + var.put('right', var.get(u"this").callprop('parseExpression')) + var.put('init', var.get(u"null")) + else: + if var.get(u"this").callprop('matchContextualKeyword', Js('of')): + if (var.get(u"this").get('context').get('isAssignmentTarget').neg() or PyJsStrictEq(var.get('init').get('type'),var.get('syntax_1').get('Syntax').get('AssignmentExpression'))): + var.get(u"this").callprop('tolerateError', var.get('messages_1').get('Messages').get('InvalidLHSInForLoop')) + var.get(u"this").callprop('nextToken') + var.get(u"this").callprop('reinterpretExpressionAsPattern', var.get('init')) + var.put('left', var.get('init')) + var.put('right', var.get(u"this").callprop('parseAssignmentExpression')) + var.put('init', var.get(u"null")) + var.put('forIn', Js(False)) + else: + if var.get(u"this").callprop('match', Js(',')): + var.put('initSeq', Js([var.get('init')])) + while var.get(u"this").callprop('match', Js(',')): + var.get(u"this").callprop('nextToken') + var.get('initSeq').callprop('push', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseAssignmentExpression'))) + var.put('init', var.get(u"this").callprop('finalize', var.get(u"this").callprop('startNode', var.get('initStartToken')), var.get('Node').get('SequenceExpression').create(var.get('initSeq')))) + var.get(u"this").callprop('expect', Js(';')) + if PyJsStrictEq(var.get('left',throw=False).typeof(),Js('undefined')): + if var.get(u"this").callprop('match', Js(';')).neg(): + var.put('test', var.get(u"this").callprop('parseExpression')) + var.get(u"this").callprop('expect', Js(';')) + if var.get(u"this").callprop('match', Js(')')).neg(): + var.put('update', var.get(u"this").callprop('parseExpression')) + pass + if (var.get(u"this").callprop('match', Js(')')).neg() and var.get(u"this").get('config').get('tolerant')): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get(u"this").callprop('nextToken')) + var.put('body', var.get(u"this").callprop('finalize', var.get(u"this").callprop('createNode'), var.get('Node').get('EmptyStatement').create())) + else: + var.get(u"this").callprop('expect', Js(')')) + var.put('previousInIteration', var.get(u"this").get('context').get('inIteration')) + var.get(u"this").get('context').put('inIteration', Js(True)) + var.put('body', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseStatement'))) + var.get(u"this").get('context').put('inIteration', var.get('previousInIteration')) + def PyJs_LONG_317_(var=var): + return (var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ForStatement').create(var.get('init'), var.get('test'), var.get('update'), var.get('body'))) if PyJsStrictEq(var.get('left',throw=False).typeof(),Js('undefined')) else (var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ForInStatement').create(var.get('left'), var.get('right'), var.get('body'))) if var.get('forIn') else var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ForOfStatement').create(var.get('left'), var.get('right'), var.get('body'))))) + return PyJs_LONG_317_() + PyJs_anonymous_314_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseForStatement', PyJs_anonymous_314_) + @Js + def PyJs_anonymous_318_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['key', 'id', 'label', 'node']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expectKeyword', Js('continue')) + var.put('label', var.get(u"null")) + if (PyJsStrictEq(var.get(u"this").get('lookahead').get('type'),Js(3.0)) and var.get(u"this").get('hasLineTerminator').neg()): + var.put('id', var.get(u"this").callprop('parseVariableIdentifier')) + var.put('label', var.get('id')) + var.put('key', (Js('$')+var.get('id').get('name'))) + if var.get('Object').get('prototype').get('hasOwnProperty').callprop('call', var.get(u"this").get('context').get('labelSet'), var.get('key')).neg(): + var.get(u"this").callprop('throwError', var.get('messages_1').get('Messages').get('UnknownLabel'), var.get('id').get('name')) + var.get(u"this").callprop('consumeSemicolon') + if (PyJsStrictEq(var.get('label'),var.get(u"null")) and var.get(u"this").get('context').get('inIteration').neg()): + var.get(u"this").callprop('throwError', var.get('messages_1').get('Messages').get('IllegalContinue')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ContinueStatement').create(var.get('label'))) + PyJs_anonymous_318_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseContinueStatement', PyJs_anonymous_318_) + @Js + def PyJs_anonymous_319_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['key', 'id', 'label', 'node']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expectKeyword', Js('break')) + var.put('label', var.get(u"null")) + if (PyJsStrictEq(var.get(u"this").get('lookahead').get('type'),Js(3.0)) and var.get(u"this").get('hasLineTerminator').neg()): + var.put('id', var.get(u"this").callprop('parseVariableIdentifier')) + var.put('key', (Js('$')+var.get('id').get('name'))) + if var.get('Object').get('prototype').get('hasOwnProperty').callprop('call', var.get(u"this").get('context').get('labelSet'), var.get('key')).neg(): + var.get(u"this").callprop('throwError', var.get('messages_1').get('Messages').get('UnknownLabel'), var.get('id').get('name')) + var.put('label', var.get('id')) + var.get(u"this").callprop('consumeSemicolon') + if ((PyJsStrictEq(var.get('label'),var.get(u"null")) and var.get(u"this").get('context').get('inIteration').neg()) and var.get(u"this").get('context').get('inSwitch').neg()): + var.get(u"this").callprop('throwError', var.get('messages_1').get('Messages').get('IllegalBreak')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('BreakStatement').create(var.get('label'))) + PyJs_anonymous_319_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseBreakStatement', PyJs_anonymous_319_) + @Js + def PyJs_anonymous_320_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['hasArgument', 'node', 'argument']) + if var.get(u"this").get('context').get('inFunctionBody').neg(): + var.get(u"this").callprop('tolerateError', var.get('messages_1').get('Messages').get('IllegalReturn')) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expectKeyword', Js('return')) + var.put('hasArgument', (((((var.get(u"this").callprop('match', Js(';')).neg() and var.get(u"this").callprop('match', Js('}')).neg()) and var.get(u"this").get('hasLineTerminator').neg()) and PyJsStrictNeq(var.get(u"this").get('lookahead').get('type'),Js(2.0))) or PyJsStrictEq(var.get(u"this").get('lookahead').get('type'),Js(8.0))) or PyJsStrictEq(var.get(u"this").get('lookahead').get('type'),Js(10.0)))) + var.put('argument', (var.get(u"this").callprop('parseExpression') if var.get('hasArgument') else var.get(u"null"))) + var.get(u"this").callprop('consumeSemicolon') + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ReturnStatement').create(var.get('argument'))) + PyJs_anonymous_320_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseReturnStatement', PyJs_anonymous_320_) + @Js + def PyJs_anonymous_321_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['body', 'node', 'object']) + if var.get(u"this").get('context').get('strict'): + var.get(u"this").callprop('tolerateError', var.get('messages_1').get('Messages').get('StrictModeWith')) + var.put('node', var.get(u"this").callprop('createNode')) + pass + var.get(u"this").callprop('expectKeyword', Js('with')) + var.get(u"this").callprop('expect', Js('(')) + var.put('object', var.get(u"this").callprop('parseExpression')) + if (var.get(u"this").callprop('match', Js(')')).neg() and var.get(u"this").get('config').get('tolerant')): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get(u"this").callprop('nextToken')) + var.put('body', var.get(u"this").callprop('finalize', var.get(u"this").callprop('createNode'), var.get('Node').get('EmptyStatement').create())) + else: + var.get(u"this").callprop('expect', Js(')')) + var.put('body', var.get(u"this").callprop('parseStatement')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('WithStatement').create(var.get('object'), var.get('body'))) + PyJs_anonymous_321_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseWithStatement', PyJs_anonymous_321_) + @Js + def PyJs_anonymous_322_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['consequent', 'test', 'node']) + var.put('node', var.get(u"this").callprop('createNode')) + pass + if var.get(u"this").callprop('matchKeyword', Js('default')): + var.get(u"this").callprop('nextToken') + var.put('test', var.get(u"null")) + else: + var.get(u"this").callprop('expectKeyword', Js('case')) + var.put('test', var.get(u"this").callprop('parseExpression')) + var.get(u"this").callprop('expect', Js(':')) + var.put('consequent', Js([])) + while Js(True): + if ((var.get(u"this").callprop('match', Js('}')) or var.get(u"this").callprop('matchKeyword', Js('default'))) or var.get(u"this").callprop('matchKeyword', Js('case'))): + break + var.get('consequent').callprop('push', var.get(u"this").callprop('parseStatementListItem')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('SwitchCase').create(var.get('test'), var.get('consequent'))) + PyJs_anonymous_322_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseSwitchCase', PyJs_anonymous_322_) + @Js + def PyJs_anonymous_323_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['discriminant', 'previousInSwitch', 'clause', 'node', 'defaultFound', 'cases']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expectKeyword', Js('switch')) + var.get(u"this").callprop('expect', Js('(')) + var.put('discriminant', var.get(u"this").callprop('parseExpression')) + var.get(u"this").callprop('expect', Js(')')) + var.put('previousInSwitch', var.get(u"this").get('context').get('inSwitch')) + var.get(u"this").get('context').put('inSwitch', Js(True)) + var.put('cases', Js([])) + var.put('defaultFound', Js(False)) + var.get(u"this").callprop('expect', Js('{')) + while Js(True): + if var.get(u"this").callprop('match', Js('}')): + break + var.put('clause', var.get(u"this").callprop('parseSwitchCase')) + if PyJsStrictEq(var.get('clause').get('test'),var.get(u"null")): + if var.get('defaultFound'): + var.get(u"this").callprop('throwError', var.get('messages_1').get('Messages').get('MultipleDefaultsInSwitch')) + var.put('defaultFound', Js(True)) + var.get('cases').callprop('push', var.get('clause')) + var.get(u"this").callprop('expect', Js('}')) + var.get(u"this").get('context').put('inSwitch', var.get('previousInSwitch')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('SwitchStatement').create(var.get('discriminant'), var.get('cases'))) + PyJs_anonymous_323_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseSwitchStatement', PyJs_anonymous_323_) + @Js + def PyJs_anonymous_324_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['statement', 'node', 'expr', 'body', 'declaration', 'id', 'key', 'token']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('expr', var.get(u"this").callprop('parseExpression')) + pass + if (PyJsStrictEq(var.get('expr').get('type'),var.get('syntax_1').get('Syntax').get('Identifier')) and var.get(u"this").callprop('match', Js(':'))): + var.get(u"this").callprop('nextToken') + var.put('id', var.get('expr')) + var.put('key', (Js('$')+var.get('id').get('name'))) + if var.get('Object').get('prototype').get('hasOwnProperty').callprop('call', var.get(u"this").get('context').get('labelSet'), var.get('key')): + var.get(u"this").callprop('throwError', var.get('messages_1').get('Messages').get('Redeclaration'), Js('Label'), var.get('id').get('name')) + var.get(u"this").get('context').get('labelSet').put(var.get('key'), Js(True)) + var.put('body', PyJsComma(Js(0.0), Js(None))) + if var.get(u"this").callprop('matchKeyword', Js('class')): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get(u"this").get('lookahead')) + var.put('body', var.get(u"this").callprop('parseClassDeclaration')) + else: + if var.get(u"this").callprop('matchKeyword', Js('function')): + var.put('token', var.get(u"this").get('lookahead')) + var.put('declaration', var.get(u"this").callprop('parseFunctionDeclaration')) + if var.get(u"this").get('context').get('strict'): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get('token'), var.get('messages_1').get('Messages').get('StrictFunction')) + else: + if var.get('declaration').get('generator'): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get('token'), var.get('messages_1').get('Messages').get('GeneratorInLegacyContext')) + var.put('body', var.get('declaration')) + else: + var.put('body', var.get(u"this").callprop('parseStatement')) + var.get(u"this").get('context').get('labelSet').delete(var.get('key')) + var.put('statement', var.get('Node').get('LabeledStatement').create(var.get('id'), var.get('body'))) + else: + var.get(u"this").callprop('consumeSemicolon') + var.put('statement', var.get('Node').get('ExpressionStatement').create(var.get('expr'))) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('statement')) + PyJs_anonymous_324_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseLabelledStatement', PyJs_anonymous_324_) + @Js + def PyJs_anonymous_325_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['node', 'argument']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expectKeyword', Js('throw')) + if var.get(u"this").get('hasLineTerminator'): + var.get(u"this").callprop('throwError', var.get('messages_1').get('Messages').get('NewlineAfterThrow')) + var.put('argument', var.get(u"this").callprop('parseExpression')) + var.get(u"this").callprop('consumeSemicolon') + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ThrowStatement').create(var.get('argument'))) + PyJs_anonymous_325_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseThrowStatement', PyJs_anonymous_325_) + @Js + def PyJs_anonymous_326_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['paramMap', 'param', 'node', 'body', 'params', 'i', 'key']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expectKeyword', Js('catch')) + var.get(u"this").callprop('expect', Js('(')) + if var.get(u"this").callprop('match', Js(')')): + var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").get('lookahead')) + var.put('params', Js([])) + var.put('param', var.get(u"this").callprop('parsePattern', var.get('params'))) + PyJs_Object_327_ = Js({}) + var.put('paramMap', PyJs_Object_327_) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0)): + var.get(u"this").callprop('tolerateError', var.get('messages_1').get('Messages').get('BadGetterArity')) + var.put('method', var.get(u"this").callprop('parsePropertyMethod', var.get('formalParameters'))) + var.get(u"this").get('context').put('allowYield', var.get('previousAllowYield')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('FunctionExpression').create(var.get(u"null"), var.get('formalParameters').get('params'), var.get('method'), var.get('isGenerator'))) + PyJs_anonymous_348_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseGetterMethod', PyJs_anonymous_348_) + @Js + def PyJs_anonymous_349_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['method', 'isGenerator', 'node', 'previousAllowYield', 'formalParameters']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('isGenerator', Js(False)) + var.put('previousAllowYield', var.get(u"this").get('context').get('allowYield')) + var.get(u"this").get('context').put('allowYield', var.get('isGenerator').neg()) + var.put('formalParameters', var.get(u"this").callprop('parseFormalParameters')) + if PyJsStrictNeq(var.get('formalParameters').get('params').get('length'),Js(1.0)): + var.get(u"this").callprop('tolerateError', var.get('messages_1').get('Messages').get('BadSetterArity')) + else: + if var.get('formalParameters').get('params').get('0').instanceof(var.get('Node').get('RestElement')): + var.get(u"this").callprop('tolerateError', var.get('messages_1').get('Messages').get('BadSetterRestParameter')) + var.put('method', var.get(u"this").callprop('parsePropertyMethod', var.get('formalParameters'))) + var.get(u"this").get('context').put('allowYield', var.get('previousAllowYield')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('FunctionExpression').create(var.get(u"null"), var.get('formalParameters').get('params'), var.get('method'), var.get('isGenerator'))) + PyJs_anonymous_349_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseSetterMethod', PyJs_anonymous_349_) + @Js + def PyJs_anonymous_350_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['method', 'isGenerator', 'node', 'params', 'previousAllowYield']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('isGenerator', Js(True)) + var.put('previousAllowYield', var.get(u"this").get('context').get('allowYield')) + var.get(u"this").get('context').put('allowYield', Js(True)) + var.put('params', var.get(u"this").callprop('parseFormalParameters')) + var.get(u"this").get('context').put('allowYield', Js(False)) + var.put('method', var.get(u"this").callprop('parsePropertyMethod', var.get('params'))) + var.get(u"this").get('context').put('allowYield', var.get('previousAllowYield')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('FunctionExpression').create(var.get(u"null"), var.get('params').get('params'), var.get('method'), var.get('isGenerator'))) + PyJs_anonymous_350_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseGeneratorMethod', PyJs_anonymous_350_) + @Js + def PyJs_anonymous_351_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['value', 'start']) + var.put('start', Js(True)) + var.put('value', var.get(u"this").get('lookahead').get('value')) + while 1: + SWITCHED = False + CONDITION = (var.get(u"this").get('lookahead').get('type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(7.0)): + SWITCHED = True + def PyJs_LONG_352_(var=var): + return (((((((((PyJsStrictEq(var.get('value'),Js('[')) or PyJsStrictEq(var.get('value'),Js('('))) or PyJsStrictEq(var.get('value'),Js('{'))) or PyJsStrictEq(var.get('value'),Js('+'))) or PyJsStrictEq(var.get('value'),Js('-'))) or PyJsStrictEq(var.get('value'),Js('!'))) or PyJsStrictEq(var.get('value'),Js('~'))) or PyJsStrictEq(var.get('value'),Js('++'))) or PyJsStrictEq(var.get('value'),Js('--'))) or PyJsStrictEq(var.get('value'),Js('/'))) + var.put('start', (PyJs_LONG_352_() or PyJsStrictEq(var.get('value'),Js('/=')))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(4.0)): + SWITCHED = True + def PyJs_LONG_353_(var=var): + return ((((((((PyJsStrictEq(var.get('value'),Js('class')) or PyJsStrictEq(var.get('value'),Js('delete'))) or PyJsStrictEq(var.get('value'),Js('function'))) or PyJsStrictEq(var.get('value'),Js('let'))) or PyJsStrictEq(var.get('value'),Js('new'))) or PyJsStrictEq(var.get('value'),Js('super'))) or PyJsStrictEq(var.get('value'),Js('this'))) or PyJsStrictEq(var.get('value'),Js('typeof'))) or PyJsStrictEq(var.get('value'),Js('void'))) + var.put('start', (PyJs_LONG_353_() or PyJsStrictEq(var.get('value'),Js('yield')))) + break + if True: + SWITCHED = True + break + SWITCHED = True + break + return var.get('start') + PyJs_anonymous_351_._set_name('anonymous') + var.get('Parser').get('prototype').put('isStartOfExpression', PyJs_anonymous_351_) + @Js + def PyJs_anonymous_354_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['delegate', 'previousAllowYield', 'node', 'argument']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expectKeyword', Js('yield')) + var.put('argument', var.get(u"null")) + var.put('delegate', Js(False)) + if var.get(u"this").get('hasLineTerminator').neg(): + var.put('previousAllowYield', var.get(u"this").get('context').get('allowYield')) + var.get(u"this").get('context').put('allowYield', Js(False)) + var.put('delegate', var.get(u"this").callprop('match', Js('*'))) + if var.get('delegate'): + var.get(u"this").callprop('nextToken') + var.put('argument', var.get(u"this").callprop('parseAssignmentExpression')) + else: + if var.get(u"this").callprop('isStartOfExpression'): + var.put('argument', var.get(u"this").callprop('parseAssignmentExpression')) + var.get(u"this").get('context').put('allowYield', var.get('previousAllowYield')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('YieldExpression').create(var.get('argument'), var.get('delegate'))) + PyJs_anonymous_354_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseYieldExpression', PyJs_anonymous_354_) + @Js + def PyJs_anonymous_355_(hasConstructor, this, arguments, var=var): + var = Scope({'hasConstructor':hasConstructor, 'this':this, 'arguments':arguments}, var) + var.registers(['method', 'isStatic', 'isAsync', 'node', 'punctuator', 'hasConstructor', 'value', 'lookaheadPropertyKey', 'kind', 'id', 'computed', 'key', 'token']) + var.put('token', var.get(u"this").get('lookahead')) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('kind', Js('')) + var.put('key', var.get(u"null")) + var.put('value', var.get(u"null")) + var.put('computed', Js(False)) + var.put('method', Js(False)) + var.put('isStatic', Js(False)) + var.put('isAsync', Js(False)) + if var.get(u"this").callprop('match', Js('*')): + var.get(u"this").callprop('nextToken') + else: + var.put('computed', var.get(u"this").callprop('match', Js('['))) + var.put('key', var.get(u"this").callprop('parseObjectPropertyKey')) + var.put('id', var.get('key')) + if (PyJsStrictEq(var.get('id').get('name'),Js('static')) and (var.get(u"this").callprop('qualifiedPropertyName', var.get(u"this").get('lookahead')) or var.get(u"this").callprop('match', Js('*')))): + var.put('token', var.get(u"this").get('lookahead')) + var.put('isStatic', Js(True)) + var.put('computed', var.get(u"this").callprop('match', Js('['))) + if var.get(u"this").callprop('match', Js('*')): + var.get(u"this").callprop('nextToken') + else: + var.put('key', var.get(u"this").callprop('parseObjectPropertyKey')) + if ((PyJsStrictEq(var.get('token').get('type'),Js(3.0)) and var.get(u"this").get('hasLineTerminator').neg()) and PyJsStrictEq(var.get('token').get('value'),Js('async'))): + var.put('punctuator', var.get(u"this").get('lookahead').get('value')) + if ((PyJsStrictNeq(var.get('punctuator'),Js(':')) and PyJsStrictNeq(var.get('punctuator'),Js('('))) and PyJsStrictNeq(var.get('punctuator'),Js('*'))): + var.put('isAsync', Js(True)) + var.put('token', var.get(u"this").get('lookahead')) + var.put('key', var.get(u"this").callprop('parseObjectPropertyKey')) + if (PyJsStrictEq(var.get('token').get('type'),Js(3.0)) and PyJsStrictEq(var.get('token').get('value'),Js('constructor'))): + var.get(u"this").callprop('tolerateUnexpectedToken', var.get('token'), var.get('messages_1').get('Messages').get('ConstructorIsAsync')) + var.put('lookaheadPropertyKey', var.get(u"this").callprop('qualifiedPropertyName', var.get(u"this").get('lookahead'))) + if PyJsStrictEq(var.get('token').get('type'),Js(3.0)): + if (PyJsStrictEq(var.get('token').get('value'),Js('get')) and var.get('lookaheadPropertyKey')): + var.put('kind', Js('get')) + var.put('computed', var.get(u"this").callprop('match', Js('['))) + var.put('key', var.get(u"this").callprop('parseObjectPropertyKey')) + var.get(u"this").get('context').put('allowYield', Js(False)) + var.put('value', var.get(u"this").callprop('parseGetterMethod')) + else: + if (PyJsStrictEq(var.get('token').get('value'),Js('set')) and var.get('lookaheadPropertyKey')): + var.put('kind', Js('set')) + var.put('computed', var.get(u"this").callprop('match', Js('['))) + var.put('key', var.get(u"this").callprop('parseObjectPropertyKey')) + var.put('value', var.get(u"this").callprop('parseSetterMethod')) + else: + if ((PyJsStrictEq(var.get('token').get('type'),Js(7.0)) and PyJsStrictEq(var.get('token').get('value'),Js('*'))) and var.get('lookaheadPropertyKey')): + var.put('kind', Js('init')) + var.put('computed', var.get(u"this").callprop('match', Js('['))) + var.put('key', var.get(u"this").callprop('parseObjectPropertyKey')) + var.put('value', var.get(u"this").callprop('parseGeneratorMethod')) + var.put('method', Js(True)) + if ((var.get('kind').neg() and var.get('key')) and var.get(u"this").callprop('match', Js('('))): + var.put('kind', Js('init')) + var.put('value', (var.get(u"this").callprop('parsePropertyMethodAsyncFunction') if var.get('isAsync') else var.get(u"this").callprop('parsePropertyMethodFunction'))) + var.put('method', Js(True)) + if var.get('kind').neg(): + var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").get('lookahead')) + if PyJsStrictEq(var.get('kind'),Js('init')): + var.put('kind', Js('method')) + if var.get('computed').neg(): + if (var.get('isStatic') and var.get(u"this").callprop('isPropertyKey', var.get('key'), Js('prototype'))): + var.get(u"this").callprop('throwUnexpectedToken', var.get('token'), var.get('messages_1').get('Messages').get('StaticPrototype')) + if (var.get('isStatic').neg() and var.get(u"this").callprop('isPropertyKey', var.get('key'), Js('constructor'))): + if ((PyJsStrictNeq(var.get('kind'),Js('method')) or var.get('method').neg()) or (var.get('value') and var.get('value').get('generator'))): + var.get(u"this").callprop('throwUnexpectedToken', var.get('token'), var.get('messages_1').get('Messages').get('ConstructorSpecialMethod')) + if var.get('hasConstructor').get('value'): + var.get(u"this").callprop('throwUnexpectedToken', var.get('token'), var.get('messages_1').get('Messages').get('DuplicateConstructor')) + else: + var.get('hasConstructor').put('value', Js(True)) + var.put('kind', Js('constructor')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('MethodDefinition').create(var.get('key'), var.get('computed'), var.get('value'), var.get('kind'), var.get('isStatic'))) + PyJs_anonymous_355_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseClassElement', PyJs_anonymous_355_) + @Js + def PyJs_anonymous_356_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['hasConstructor', 'body']) + var.put('body', Js([])) + PyJs_Object_357_ = Js({'value':Js(False)}) + var.put('hasConstructor', PyJs_Object_357_) + var.get(u"this").callprop('expect', Js('{')) + while var.get(u"this").callprop('match', Js('}')).neg(): + if var.get(u"this").callprop('match', Js(';')): + var.get(u"this").callprop('nextToken') + else: + var.get('body').callprop('push', var.get(u"this").callprop('parseClassElement', var.get('hasConstructor'))) + var.get(u"this").callprop('expect', Js('}')) + return var.get('body') + PyJs_anonymous_356_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseClassElementList', PyJs_anonymous_356_) + @Js + def PyJs_anonymous_358_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['node', 'elementList']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('elementList', var.get(u"this").callprop('parseClassElementList')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ClassBody').create(var.get('elementList'))) + PyJs_anonymous_358_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseClassBody', PyJs_anonymous_358_) + @Js + def PyJs_anonymous_359_(identifierIsOptional, this, arguments, var=var): + var = Scope({'identifierIsOptional':identifierIsOptional, 'this':this, 'arguments':arguments}, var) + var.registers(['previousStrict', 'node', 'classBody', 'id', 'superClass', 'identifierIsOptional']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('previousStrict', var.get(u"this").get('context').get('strict')) + var.get(u"this").get('context').put('strict', Js(True)) + var.get(u"this").callprop('expectKeyword', Js('class')) + var.put('id', (var.get(u"null") if (var.get('identifierIsOptional') and PyJsStrictNeq(var.get(u"this").get('lookahead').get('type'),Js(3.0))) else var.get(u"this").callprop('parseVariableIdentifier'))) + var.put('superClass', var.get(u"null")) + if var.get(u"this").callprop('matchKeyword', Js('extends')): + var.get(u"this").callprop('nextToken') + var.put('superClass', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseLeftHandSideExpressionAllowCall'))) + var.put('classBody', var.get(u"this").callprop('parseClassBody')) + var.get(u"this").get('context').put('strict', var.get('previousStrict')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ClassDeclaration').create(var.get('id'), var.get('superClass'), var.get('classBody'))) + PyJs_anonymous_359_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseClassDeclaration', PyJs_anonymous_359_) + @Js + def PyJs_anonymous_360_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['previousStrict', 'node', 'classBody', 'id', 'superClass']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('previousStrict', var.get(u"this").get('context').get('strict')) + var.get(u"this").get('context').put('strict', Js(True)) + var.get(u"this").callprop('expectKeyword', Js('class')) + var.put('id', (var.get(u"this").callprop('parseVariableIdentifier') if PyJsStrictEq(var.get(u"this").get('lookahead').get('type'),Js(3.0)) else var.get(u"null"))) + var.put('superClass', var.get(u"null")) + if var.get(u"this").callprop('matchKeyword', Js('extends')): + var.get(u"this").callprop('nextToken') + var.put('superClass', var.get(u"this").callprop('isolateCoverGrammar', var.get(u"this").get('parseLeftHandSideExpressionAllowCall'))) + var.put('classBody', var.get(u"this").callprop('parseClassBody')) + var.get(u"this").get('context').put('strict', var.get('previousStrict')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ClassExpression').create(var.get('id'), var.get('superClass'), var.get('classBody'))) + PyJs_anonymous_360_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseClassExpression', PyJs_anonymous_360_) + @Js + def PyJs_anonymous_361_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['body', 'node']) + var.get(u"this").get('context').put('strict', Js(True)) + var.get(u"this").get('context').put('isModule', Js(True)) + var.get(u"this").get('scanner').put('isModule', Js(True)) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('body', var.get(u"this").callprop('parseDirectivePrologues')) + while PyJsStrictNeq(var.get(u"this").get('lookahead').get('type'),Js(2.0)): + var.get('body').callprop('push', var.get(u"this").callprop('parseStatementListItem')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Module').create(var.get('body'))) + PyJs_anonymous_361_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseModule', PyJs_anonymous_361_) + @Js + def PyJs_anonymous_362_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['body', 'node']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('body', var.get(u"this").callprop('parseDirectivePrologues')) + while PyJsStrictNeq(var.get(u"this").get('lookahead').get('type'),Js(2.0)): + var.get('body').callprop('push', var.get(u"this").callprop('parseStatementListItem')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Script').create(var.get('body'))) + PyJs_anonymous_362_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseScript', PyJs_anonymous_362_) + @Js + def PyJs_anonymous_363_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['raw', 'node', 'token']) + var.put('node', var.get(u"this").callprop('createNode')) + if PyJsStrictNeq(var.get(u"this").get('lookahead').get('type'),Js(8.0)): + var.get(u"this").callprop('throwError', var.get('messages_1').get('Messages').get('InvalidModuleSpecifier')) + var.put('token', var.get(u"this").callprop('nextToken')) + var.put('raw', var.get(u"this").callprop('getTokenRaw', var.get('token'))) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('Literal').create(var.get('token').get('value'), var.get('raw'))) + PyJs_anonymous_363_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseModuleSpecifier', PyJs_anonymous_363_) + @Js + def PyJs_anonymous_364_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['local', 'node', 'imported']) + var.put('node', var.get(u"this").callprop('createNode')) + pass + pass + if PyJsStrictEq(var.get(u"this").get('lookahead').get('type'),Js(3.0)): + var.put('imported', var.get(u"this").callprop('parseVariableIdentifier')) + var.put('local', var.get('imported')) + if var.get(u"this").callprop('matchContextualKeyword', Js('as')): + var.get(u"this").callprop('nextToken') + var.put('local', var.get(u"this").callprop('parseVariableIdentifier')) + else: + var.put('imported', var.get(u"this").callprop('parseIdentifierName')) + var.put('local', var.get('imported')) + if var.get(u"this").callprop('matchContextualKeyword', Js('as')): + var.get(u"this").callprop('nextToken') + var.put('local', var.get(u"this").callprop('parseVariableIdentifier')) + else: + var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").callprop('nextToken')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ImportSpecifier').create(var.get('local'), var.get('imported'))) + PyJs_anonymous_364_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseImportSpecifier', PyJs_anonymous_364_) + @Js + def PyJs_anonymous_365_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['specifiers']) + var.get(u"this").callprop('expect', Js('{')) + var.put('specifiers', Js([])) + while var.get(u"this").callprop('match', Js('}')).neg(): + var.get('specifiers').callprop('push', var.get(u"this").callprop('parseImportSpecifier')) + if var.get(u"this").callprop('match', Js('}')).neg(): + var.get(u"this").callprop('expect', Js(',')) + var.get(u"this").callprop('expect', Js('}')) + return var.get('specifiers') + PyJs_anonymous_365_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseNamedImports', PyJs_anonymous_365_) + @Js + def PyJs_anonymous_366_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['node', 'local']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('local', var.get(u"this").callprop('parseIdentifierName')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ImportDefaultSpecifier').create(var.get('local'))) + PyJs_anonymous_366_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseImportDefaultSpecifier', PyJs_anonymous_366_) + @Js + def PyJs_anonymous_367_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['node', 'local']) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expect', Js('*')) + if var.get(u"this").callprop('matchContextualKeyword', Js('as')).neg(): + var.get(u"this").callprop('throwError', var.get('messages_1').get('Messages').get('NoAsAfterImportNamespace')) + var.get(u"this").callprop('nextToken') + var.put('local', var.get(u"this").callprop('parseIdentifierName')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ImportNamespaceSpecifier').create(var.get('local'))) + PyJs_anonymous_367_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseImportNamespaceSpecifier', PyJs_anonymous_367_) + @Js + def PyJs_anonymous_368_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['src', 'specifiers', 'message', 'node']) + if var.get(u"this").get('context').get('inFunctionBody'): + var.get(u"this").callprop('throwError', var.get('messages_1').get('Messages').get('IllegalImportDeclaration')) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expectKeyword', Js('import')) + pass + var.put('specifiers', Js([])) + if PyJsStrictEq(var.get(u"this").get('lookahead').get('type'),Js(8.0)): + var.put('src', var.get(u"this").callprop('parseModuleSpecifier')) + else: + if var.get(u"this").callprop('match', Js('{')): + var.put('specifiers', var.get('specifiers').callprop('concat', var.get(u"this").callprop('parseNamedImports'))) + else: + if var.get(u"this").callprop('match', Js('*')): + var.get('specifiers').callprop('push', var.get(u"this").callprop('parseImportNamespaceSpecifier')) + else: + if (var.get(u"this").callprop('isIdentifierName', var.get(u"this").get('lookahead')) and var.get(u"this").callprop('matchKeyword', Js('default')).neg()): + var.get('specifiers').callprop('push', var.get(u"this").callprop('parseImportDefaultSpecifier')) + if var.get(u"this").callprop('match', Js(',')): + var.get(u"this").callprop('nextToken') + if var.get(u"this").callprop('match', Js('*')): + var.get('specifiers').callprop('push', var.get(u"this").callprop('parseImportNamespaceSpecifier')) + else: + if var.get(u"this").callprop('match', Js('{')): + var.put('specifiers', var.get('specifiers').callprop('concat', var.get(u"this").callprop('parseNamedImports'))) + else: + var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").get('lookahead')) + else: + var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").callprop('nextToken')) + if var.get(u"this").callprop('matchContextualKeyword', Js('from')).neg(): + var.put('message', (var.get('messages_1').get('Messages').get('UnexpectedToken') if var.get(u"this").get('lookahead').get('value') else var.get('messages_1').get('Messages').get('MissingFromClause'))) + var.get(u"this").callprop('throwError', var.get('message'), var.get(u"this").get('lookahead').get('value')) + var.get(u"this").callprop('nextToken') + var.put('src', var.get(u"this").callprop('parseModuleSpecifier')) + var.get(u"this").callprop('consumeSemicolon') + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ImportDeclaration').create(var.get('specifiers'), var.get('src'))) + PyJs_anonymous_368_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseImportDeclaration', PyJs_anonymous_368_) + @Js + def PyJs_anonymous_369_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['exported', 'node', 'local']) + var.put('node', var.get(u"this").callprop('createNode')) + var.put('local', var.get(u"this").callprop('parseIdentifierName')) + var.put('exported', var.get('local')) + if var.get(u"this").callprop('matchContextualKeyword', Js('as')): + var.get(u"this").callprop('nextToken') + var.put('exported', var.get(u"this").callprop('parseIdentifierName')) + return var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ExportSpecifier').create(var.get('local'), var.get('exported'))) + PyJs_anonymous_369_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseExportSpecifier', PyJs_anonymous_369_) + @Js + def PyJs_anonymous_370_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['source', 'specifiers', 'isExportFromIdentifier', 'src', 'node', 'exportDeclaration', 'declaration', 'message']) + if var.get(u"this").get('context').get('inFunctionBody'): + var.get(u"this").callprop('throwError', var.get('messages_1').get('Messages').get('IllegalExportDeclaration')) + var.put('node', var.get(u"this").callprop('createNode')) + var.get(u"this").callprop('expectKeyword', Js('export')) + pass + if var.get(u"this").callprop('matchKeyword', Js('default')): + var.get(u"this").callprop('nextToken') + if var.get(u"this").callprop('matchKeyword', Js('function')): + var.put('declaration', var.get(u"this").callprop('parseFunctionDeclaration', Js(True))) + var.put('exportDeclaration', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ExportDefaultDeclaration').create(var.get('declaration')))) + else: + if var.get(u"this").callprop('matchKeyword', Js('class')): + var.put('declaration', var.get(u"this").callprop('parseClassDeclaration', Js(True))) + var.put('exportDeclaration', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ExportDefaultDeclaration').create(var.get('declaration')))) + else: + if var.get(u"this").callprop('matchContextualKeyword', Js('async')): + var.put('declaration', (var.get(u"this").callprop('parseFunctionDeclaration', Js(True)) if var.get(u"this").callprop('matchAsyncFunction') else var.get(u"this").callprop('parseAssignmentExpression'))) + var.put('exportDeclaration', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ExportDefaultDeclaration').create(var.get('declaration')))) + else: + if var.get(u"this").callprop('matchContextualKeyword', Js('from')): + var.get(u"this").callprop('throwError', var.get('messages_1').get('Messages').get('UnexpectedToken'), var.get(u"this").get('lookahead').get('value')) + var.put('declaration', (var.get(u"this").callprop('parseObjectInitializer') if var.get(u"this").callprop('match', Js('{')) else (var.get(u"this").callprop('parseArrayInitializer') if var.get(u"this").callprop('match', Js('[')) else var.get(u"this").callprop('parseAssignmentExpression')))) + var.get(u"this").callprop('consumeSemicolon') + var.put('exportDeclaration', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ExportDefaultDeclaration').create(var.get('declaration')))) + else: + if var.get(u"this").callprop('match', Js('*')): + var.get(u"this").callprop('nextToken') + if var.get(u"this").callprop('matchContextualKeyword', Js('from')).neg(): + var.put('message', (var.get('messages_1').get('Messages').get('UnexpectedToken') if var.get(u"this").get('lookahead').get('value') else var.get('messages_1').get('Messages').get('MissingFromClause'))) + var.get(u"this").callprop('throwError', var.get('message'), var.get(u"this").get('lookahead').get('value')) + var.get(u"this").callprop('nextToken') + var.put('src', var.get(u"this").callprop('parseModuleSpecifier')) + var.get(u"this").callprop('consumeSemicolon') + var.put('exportDeclaration', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ExportAllDeclaration').create(var.get('src')))) + else: + if PyJsStrictEq(var.get(u"this").get('lookahead').get('type'),Js(4.0)): + var.put('declaration', PyJsComma(Js(0.0), Js(None))) + while 1: + SWITCHED = False + CONDITION = (var.get(u"this").get('lookahead').get('value')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('let')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('const')): + SWITCHED = True + PyJs_Object_371_ = Js({'inFor':Js(False)}) + var.put('declaration', var.get(u"this").callprop('parseLexicalDeclaration', PyJs_Object_371_)) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('var')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('class')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('function')): + SWITCHED = True + var.put('declaration', var.get(u"this").callprop('parseStatementListItem')) + break + if True: + SWITCHED = True + var.get(u"this").callprop('throwUnexpectedToken', var.get(u"this").get('lookahead')) + SWITCHED = True + break + var.put('exportDeclaration', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ExportNamedDeclaration').create(var.get('declaration'), Js([]), var.get(u"null")))) + else: + if var.get(u"this").callprop('matchAsyncFunction'): + var.put('declaration', var.get(u"this").callprop('parseFunctionDeclaration')) + var.put('exportDeclaration', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ExportNamedDeclaration').create(var.get('declaration'), Js([]), var.get(u"null")))) + else: + var.put('specifiers', Js([])) + var.put('source', var.get(u"null")) + var.put('isExportFromIdentifier', Js(False)) + var.get(u"this").callprop('expect', Js('{')) + while var.get(u"this").callprop('match', Js('}')).neg(): + var.put('isExportFromIdentifier', (var.get('isExportFromIdentifier') or var.get(u"this").callprop('matchKeyword', Js('default')))) + var.get('specifiers').callprop('push', var.get(u"this").callprop('parseExportSpecifier')) + if var.get(u"this").callprop('match', Js('}')).neg(): + var.get(u"this").callprop('expect', Js(',')) + var.get(u"this").callprop('expect', Js('}')) + if var.get(u"this").callprop('matchContextualKeyword', Js('from')): + var.get(u"this").callprop('nextToken') + var.put('source', var.get(u"this").callprop('parseModuleSpecifier')) + var.get(u"this").callprop('consumeSemicolon') + else: + if var.get('isExportFromIdentifier'): + var.put('message', (var.get('messages_1').get('Messages').get('UnexpectedToken') if var.get(u"this").get('lookahead').get('value') else var.get('messages_1').get('Messages').get('MissingFromClause'))) + var.get(u"this").callprop('throwError', var.get('message'), var.get(u"this").get('lookahead').get('value')) + else: + var.get(u"this").callprop('consumeSemicolon') + var.put('exportDeclaration', var.get(u"this").callprop('finalize', var.get('node'), var.get('Node').get('ExportNamedDeclaration').create(var.get(u"null"), var.get('specifiers'), var.get('source')))) + return var.get('exportDeclaration') + PyJs_anonymous_370_._set_name('anonymous') + var.get('Parser').get('prototype').put('parseExportDeclaration', PyJs_anonymous_370_) + return var.get('Parser') + PyJs_anonymous_183_._set_name('anonymous') + var.put('Parser', PyJs_anonymous_183_()) + var.get('exports').put('Parser', var.get('Parser')) + PyJs_anonymous_181_._set_name('anonymous') + @Js + def PyJs_anonymous_372_(module, exports, this, arguments, var=var): + var = Scope({'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['assert', 'module', 'exports']) + @Js + def PyJsHoisted_assert_(condition, message, this, arguments, var=var): + var = Scope({'condition':condition, 'message':message, 'this':this, 'arguments':arguments}, var) + var.registers(['condition', 'message']) + if var.get('condition').neg(): + PyJsTempException = JsToPyException(var.get('Error').create((Js('ASSERT: ')+var.get('message')))) + raise PyJsTempException + PyJsHoisted_assert_.func_name = 'assert' + var.put('assert', PyJsHoisted_assert_) + Js('use strict') + PyJs_Object_373_ = Js({'value':Js(True)}) + var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), PyJs_Object_373_) + pass + var.get('exports').put('assert', var.get('assert')) + PyJs_anonymous_372_._set_name('anonymous') + @Js + def PyJs_anonymous_374_(module, exports, this, arguments, var=var): + var = Scope({'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['ErrorHandler', 'module', 'exports']) + Js('use strict') + PyJs_Object_375_ = Js({'value':Js(True)}) + var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), PyJs_Object_375_) + @Js + def PyJs_anonymous_376_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ErrorHandler']) + @Js + def PyJsHoisted_ErrorHandler_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put('errors', Js([])) + var.get(u"this").put('tolerant', Js(False)) + PyJsHoisted_ErrorHandler_.func_name = 'ErrorHandler' + var.put('ErrorHandler', PyJsHoisted_ErrorHandler_) + pass + @Js + def PyJs_anonymous_377_(error, this, arguments, var=var): + var = Scope({'error':error, 'this':this, 'arguments':arguments}, var) + var.registers(['error']) + var.get(u"this").get('errors').callprop('push', var.get('error')) + PyJs_anonymous_377_._set_name('anonymous') + var.get('ErrorHandler').get('prototype').put('recordError', PyJs_anonymous_377_) + @Js + def PyJs_anonymous_378_(error, this, arguments, var=var): + var = Scope({'error':error, 'this':this, 'arguments':arguments}, var) + var.registers(['error']) + if var.get(u"this").get('tolerant'): + var.get(u"this").callprop('recordError', var.get('error')) + else: + PyJsTempException = JsToPyException(var.get('error')) + raise PyJsTempException + PyJs_anonymous_378_._set_name('anonymous') + var.get('ErrorHandler').get('prototype').put('tolerate', PyJs_anonymous_378_) + @Js + def PyJs_anonymous_379_(msg, column, this, arguments, var=var): + var = Scope({'msg':msg, 'column':column, 'this':this, 'arguments':arguments}, var) + var.registers(['msg', 'error', 'column']) + var.put('error', var.get('Error').create(var.get('msg'))) + try: + PyJsTempException = JsToPyException(var.get('error')) + raise PyJsTempException + except PyJsException as PyJsTempException: + PyJsHolder_62617365_52512115 = var.own.get('base') + var.force_own_put('base', PyExceptionToJs(PyJsTempException)) + try: + if (var.get('Object').get('create') and var.get('Object').get('defineProperty')): + var.put('error', var.get('Object').callprop('create', var.get('base'))) + PyJs_Object_380_ = Js({'value':var.get('column')}) + var.get('Object').callprop('defineProperty', var.get('error'), Js('column'), PyJs_Object_380_) + finally: + if PyJsHolder_62617365_52512115 is not None: + var.own['base'] = PyJsHolder_62617365_52512115 + else: + del var.own['base'] + del PyJsHolder_62617365_52512115 + return var.get('error') + PyJs_anonymous_379_._set_name('anonymous') + var.get('ErrorHandler').get('prototype').put('constructError', PyJs_anonymous_379_) + @Js + def PyJs_anonymous_381_(index, line, col, description, this, arguments, var=var): + var = Scope({'index':index, 'line':line, 'col':col, 'description':description, 'this':this, 'arguments':arguments}, var) + var.registers(['line', 'msg', 'index', 'description', 'error', 'col']) + var.put('msg', (((Js('Line ')+var.get('line'))+Js(': '))+var.get('description'))) + var.put('error', var.get(u"this").callprop('constructError', var.get('msg'), var.get('col'))) + var.get('error').put('index', var.get('index')) + var.get('error').put('lineNumber', var.get('line')) + var.get('error').put('description', var.get('description')) + return var.get('error') + PyJs_anonymous_381_._set_name('anonymous') + var.get('ErrorHandler').get('prototype').put('createError', PyJs_anonymous_381_) + @Js + def PyJs_anonymous_382_(index, line, col, description, this, arguments, var=var): + var = Scope({'index':index, 'line':line, 'col':col, 'description':description, 'this':this, 'arguments':arguments}, var) + var.registers(['index', 'description', 'line', 'col']) + PyJsTempException = JsToPyException(var.get(u"this").callprop('createError', var.get('index'), var.get('line'), var.get('col'), var.get('description'))) + raise PyJsTempException + PyJs_anonymous_382_._set_name('anonymous') + var.get('ErrorHandler').get('prototype').put('throwError', PyJs_anonymous_382_) + @Js + def PyJs_anonymous_383_(index, line, col, description, this, arguments, var=var): + var = Scope({'index':index, 'line':line, 'col':col, 'description':description, 'this':this, 'arguments':arguments}, var) + var.registers(['line', 'index', 'description', 'error', 'col']) + var.put('error', var.get(u"this").callprop('createError', var.get('index'), var.get('line'), var.get('col'), var.get('description'))) + if var.get(u"this").get('tolerant'): + var.get(u"this").callprop('recordError', var.get('error')) + else: + PyJsTempException = JsToPyException(var.get('error')) + raise PyJsTempException + PyJs_anonymous_383_._set_name('anonymous') + var.get('ErrorHandler').get('prototype').put('tolerateError', PyJs_anonymous_383_) + return var.get('ErrorHandler') + PyJs_anonymous_376_._set_name('anonymous') + var.put('ErrorHandler', PyJs_anonymous_376_()) + var.get('exports').put('ErrorHandler', var.get('ErrorHandler')) + PyJs_anonymous_374_._set_name('anonymous') + @Js + def PyJs_anonymous_384_(module, exports, this, arguments, var=var): + var = Scope({'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['module', 'exports']) + Js('use strict') + PyJs_Object_385_ = Js({'value':Js(True)}) + var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), PyJs_Object_385_) + PyJs_Object_386_ = Js({'BadGetterArity':Js('Getter must not have any formal parameters'),'BadSetterArity':Js('Setter must have exactly one formal parameter'),'BadSetterRestParameter':Js('Setter function argument must not be a rest parameter'),'ConstructorIsAsync':Js('Class constructor may not be an async method'),'ConstructorSpecialMethod':Js('Class constructor may not be an accessor'),'DeclarationMissingInitializer':Js('Missing initializer in %0 declaration'),'DefaultRestParameter':Js('Unexpected token ='),'DuplicateBinding':Js('Duplicate binding %0'),'DuplicateConstructor':Js('A class may only have one constructor'),'DuplicateProtoProperty':Js('Duplicate __proto__ fields are not allowed in object literals'),'ForInOfLoopInitializer':Js('%0 loop variable declaration may not have an initializer'),'GeneratorInLegacyContext':Js('Generator declarations are not allowed in legacy contexts'),'IllegalBreak':Js('Illegal break statement'),'IllegalContinue':Js('Illegal continue statement'),'IllegalExportDeclaration':Js('Unexpected token'),'IllegalImportDeclaration':Js('Unexpected token'),'IllegalLanguageModeDirective':Js("Illegal 'use strict' directive in function with non-simple parameter list"),'IllegalReturn':Js('Illegal return statement'),'InvalidEscapedReservedWord':Js('Keyword must not contain escaped characters'),'InvalidHexEscapeSequence':Js('Invalid hexadecimal escape sequence'),'InvalidLHSInAssignment':Js('Invalid left-hand side in assignment'),'InvalidLHSInForIn':Js('Invalid left-hand side in for-in'),'InvalidLHSInForLoop':Js('Invalid left-hand side in for-loop'),'InvalidModuleSpecifier':Js('Unexpected token'),'InvalidRegExp':Js('Invalid regular expression'),'LetInLexicalBinding':Js('let is disallowed as a lexically bound name'),'MissingFromClause':Js('Unexpected token'),'MultipleDefaultsInSwitch':Js('More than one default clause in switch statement'),'NewlineAfterThrow':Js('Illegal newline after throw'),'NoAsAfterImportNamespace':Js('Unexpected token'),'NoCatchOrFinally':Js('Missing catch or finally after try'),'ParameterAfterRestParameter':Js('Rest parameter must be last formal parameter'),'Redeclaration':Js("%0 '%1' has already been declared"),'StaticPrototype':Js('Classes may not have static property named prototype'),'StrictCatchVariable':Js('Catch variable may not be eval or arguments in strict mode'),'StrictDelete':Js('Delete of an unqualified identifier in strict mode.'),'StrictFunction':Js('In strict mode code, functions can only be declared at top level or inside a block'),'StrictFunctionName':Js('Function name may not be eval or arguments in strict mode'),'StrictLHSAssignment':Js('Assignment to eval or arguments is not allowed in strict mode'),'StrictLHSPostfix':Js('Postfix increment/decrement may not have eval or arguments operand in strict mode'),'StrictLHSPrefix':Js('Prefix increment/decrement may not have eval or arguments operand in strict mode'),'StrictModeWith':Js('Strict mode code may not include a with statement'),'StrictOctalLiteral':Js('Octal literals are not allowed in strict mode.'),'StrictParamDupe':Js('Strict mode function may not have duplicate parameter names'),'StrictParamName':Js('Parameter name eval or arguments is not allowed in strict mode'),'StrictReservedWord':Js('Use of future reserved word in strict mode'),'StrictVarName':Js('Variable name may not be eval or arguments in strict mode'),'TemplateOctalLiteral':Js('Octal literals are not allowed in template strings.'),'UnexpectedEOS':Js('Unexpected end of input'),'UnexpectedIdentifier':Js('Unexpected identifier'),'UnexpectedNumber':Js('Unexpected number'),'UnexpectedReserved':Js('Unexpected reserved word'),'UnexpectedString':Js('Unexpected string'),'UnexpectedTemplate':Js('Unexpected quasi %0'),'UnexpectedToken':Js('Unexpected token %0'),'UnexpectedTokenIllegal':Js('Unexpected token ILLEGAL'),'UnknownLabel':Js("Undefined label '%0'"),'UnterminatedRegExp':Js('Invalid regular expression: missing /')}) + var.get('exports').put('Messages', PyJs_Object_386_) + PyJs_anonymous_384_._set_name('anonymous') + @Js + def PyJs_anonymous_387_(module, exports, __webpack_require__, this, arguments, var=var): + var = Scope({'module':module, 'exports':exports, '__webpack_require__':__webpack_require__, 'this':this, 'arguments':arguments}, var) + var.registers(['messages_1', 'module', 'Scanner', 'assert_1', '__webpack_require__', 'character_1', 'hexValue', 'exports', 'octalValue']) + @Js + def PyJsHoisted_hexValue_(ch, this, arguments, var=var): + var = Scope({'ch':ch, 'this':this, 'arguments':arguments}, var) + var.registers(['ch']) + return Js('0123456789abcdef').callprop('indexOf', var.get('ch').callprop('toLowerCase')) + PyJsHoisted_hexValue_.func_name = 'hexValue' + var.put('hexValue', PyJsHoisted_hexValue_) + @Js + def PyJsHoisted_octalValue_(ch, this, arguments, var=var): + var = Scope({'ch':ch, 'this':this, 'arguments':arguments}, var) + var.registers(['ch']) + return Js('01234567').callprop('indexOf', var.get('ch')) + PyJsHoisted_octalValue_.func_name = 'octalValue' + var.put('octalValue', PyJsHoisted_octalValue_) + Js('use strict') + PyJs_Object_388_ = Js({'value':Js(True)}) + var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), PyJs_Object_388_) + var.put('assert_1', var.get('__webpack_require__')(Js(9.0))) + var.put('character_1', var.get('__webpack_require__')(Js(4.0))) + var.put('messages_1', var.get('__webpack_require__')(Js(11.0))) + pass + pass + @Js + def PyJs_anonymous_389_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['Scanner']) + @Js + def PyJsHoisted_Scanner_(code, handler, this, arguments, var=var): + var = Scope({'code':code, 'handler':handler, 'this':this, 'arguments':arguments}, var) + var.registers(['code', 'handler']) + var.get(u"this").put('source', var.get('code')) + var.get(u"this").put('errorHandler', var.get('handler')) + var.get(u"this").put('trackComment', Js(False)) + var.get(u"this").put('isModule', Js(False)) + var.get(u"this").put('length', var.get('code').get('length')) + var.get(u"this").put('index', Js(0.0)) + var.get(u"this").put('lineNumber', (Js(1.0) if (var.get('code').get('length')>Js(0.0)) else Js(0.0))) + var.get(u"this").put('lineStart', Js(0.0)) + var.get(u"this").put('curlyStack', Js([])) + PyJsHoisted_Scanner_.func_name = 'Scanner' + var.put('Scanner', PyJsHoisted_Scanner_) + pass + @Js + def PyJs_anonymous_390_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + PyJs_Object_391_ = Js({'index':var.get(u"this").get('index'),'lineNumber':var.get(u"this").get('lineNumber'),'lineStart':var.get(u"this").get('lineStart')}) + return PyJs_Object_391_ + PyJs_anonymous_390_._set_name('anonymous') + var.get('Scanner').get('prototype').put('saveState', PyJs_anonymous_390_) + @Js + def PyJs_anonymous_392_(state, this, arguments, var=var): + var = Scope({'state':state, 'this':this, 'arguments':arguments}, var) + var.registers(['state']) + var.get(u"this").put('index', var.get('state').get('index')) + var.get(u"this").put('lineNumber', var.get('state').get('lineNumber')) + var.get(u"this").put('lineStart', var.get('state').get('lineStart')) + PyJs_anonymous_392_._set_name('anonymous') + var.get('Scanner').get('prototype').put('restoreState', PyJs_anonymous_392_) + @Js + def PyJs_anonymous_393_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return (var.get(u"this").get('index')>=var.get(u"this").get('length')) + PyJs_anonymous_393_._set_name('anonymous') + var.get('Scanner').get('prototype').put('eof', PyJs_anonymous_393_) + @Js + def PyJs_anonymous_394_(message, this, arguments, var=var): + var = Scope({'message':message, 'this':this, 'arguments':arguments}, var) + var.registers(['message']) + if PyJsStrictEq(var.get('message'),PyJsComma(Js(0.0), Js(None))): + var.put('message', var.get('messages_1').get('Messages').get('UnexpectedTokenIllegal')) + return var.get(u"this").get('errorHandler').callprop('throwError', var.get(u"this").get('index'), var.get(u"this").get('lineNumber'), ((var.get(u"this").get('index')-var.get(u"this").get('lineStart'))+Js(1.0)), var.get('message')) + PyJs_anonymous_394_._set_name('anonymous') + var.get('Scanner').get('prototype').put('throwUnexpectedToken', PyJs_anonymous_394_) + @Js + def PyJs_anonymous_395_(message, this, arguments, var=var): + var = Scope({'message':message, 'this':this, 'arguments':arguments}, var) + var.registers(['message']) + if PyJsStrictEq(var.get('message'),PyJsComma(Js(0.0), Js(None))): + var.put('message', var.get('messages_1').get('Messages').get('UnexpectedTokenIllegal')) + var.get(u"this").get('errorHandler').callprop('tolerateError', var.get(u"this").get('index'), var.get(u"this").get('lineNumber'), ((var.get(u"this").get('index')-var.get(u"this").get('lineStart'))+Js(1.0)), var.get('message')) + PyJs_anonymous_395_._set_name('anonymous') + var.get('Scanner').get('prototype').put('tolerateUnexpectedToken', PyJs_anonymous_395_) + @Js + def PyJs_anonymous_396_(offset, this, arguments, var=var): + var = Scope({'offset':offset, 'this':this, 'arguments':arguments}, var) + var.registers(['comments', 'start', 'ch', 'entry', 'loc', 'offset']) + var.put('comments', Js([])) + pass + if var.get(u"this").get('trackComment'): + var.put('comments', Js([])) + var.put('start', (var.get(u"this").get('index')-var.get('offset'))) + PyJs_Object_398_ = Js({'line':var.get(u"this").get('lineNumber'),'column':((var.get(u"this").get('index')-var.get(u"this").get('lineStart'))-var.get('offset'))}) + PyJs_Object_399_ = Js({}) + PyJs_Object_397_ = Js({'start':PyJs_Object_398_,'end':PyJs_Object_399_}) + var.put('loc', PyJs_Object_397_) + while var.get(u"this").callprop('eof').neg(): + var.put('ch', var.get(u"this").get('source').callprop('charCodeAt', var.get(u"this").get('index'))) + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + if var.get('character_1').get('Character').callprop('isLineTerminator', var.get('ch')): + if var.get(u"this").get('trackComment'): + PyJs_Object_400_ = Js({'line':var.get(u"this").get('lineNumber'),'column':((var.get(u"this").get('index')-var.get(u"this").get('lineStart'))-Js(1.0))}) + var.get('loc').put('end', PyJs_Object_400_) + PyJs_Object_401_ = Js({'multiLine':Js(False),'slice':Js([(var.get('start')+var.get('offset')), (var.get(u"this").get('index')-Js(1.0))]),'range':Js([var.get('start'), (var.get(u"this").get('index')-Js(1.0))]),'loc':var.get('loc')}) + var.put('entry', PyJs_Object_401_) + var.get('comments').callprop('push', var.get('entry')) + if (PyJsStrictEq(var.get('ch'),Js(13.0)) and PyJsStrictEq(var.get(u"this").get('source').callprop('charCodeAt', var.get(u"this").get('index')),Js(10.0))): + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + var.get(u"this").put('lineNumber',Js(var.get(u"this").get('lineNumber').to_number())+Js(1)) + var.get(u"this").put('lineStart', var.get(u"this").get('index')) + return var.get('comments') + if var.get(u"this").get('trackComment'): + PyJs_Object_402_ = Js({'line':var.get(u"this").get('lineNumber'),'column':(var.get(u"this").get('index')-var.get(u"this").get('lineStart'))}) + var.get('loc').put('end', PyJs_Object_402_) + PyJs_Object_403_ = Js({'multiLine':Js(False),'slice':Js([(var.get('start')+var.get('offset')), var.get(u"this").get('index')]),'range':Js([var.get('start'), var.get(u"this").get('index')]),'loc':var.get('loc')}) + var.put('entry', PyJs_Object_403_) + var.get('comments').callprop('push', var.get('entry')) + return var.get('comments') + PyJs_anonymous_396_._set_name('anonymous') + var.get('Scanner').get('prototype').put('skipSingleLineComment', PyJs_anonymous_396_) + @Js + def PyJs_anonymous_404_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['comments', 'start', 'ch', 'entry', 'loc']) + var.put('comments', Js([])) + pass + if var.get(u"this").get('trackComment'): + var.put('comments', Js([])) + var.put('start', (var.get(u"this").get('index')-Js(2.0))) + PyJs_Object_406_ = Js({'line':var.get(u"this").get('lineNumber'),'column':((var.get(u"this").get('index')-var.get(u"this").get('lineStart'))-Js(2.0))}) + PyJs_Object_407_ = Js({}) + PyJs_Object_405_ = Js({'start':PyJs_Object_406_,'end':PyJs_Object_407_}) + var.put('loc', PyJs_Object_405_) + while var.get(u"this").callprop('eof').neg(): + var.put('ch', var.get(u"this").get('source').callprop('charCodeAt', var.get(u"this").get('index'))) + if var.get('character_1').get('Character').callprop('isLineTerminator', var.get('ch')): + if (PyJsStrictEq(var.get('ch'),Js(13)) and PyJsStrictEq(var.get(u"this").get('source').callprop('charCodeAt', (var.get(u"this").get('index')+Js(1.0))),Js(10))): + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + var.get(u"this").put('lineNumber',Js(var.get(u"this").get('lineNumber').to_number())+Js(1)) + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + var.get(u"this").put('lineStart', var.get(u"this").get('index')) + else: + if PyJsStrictEq(var.get('ch'),Js(42)): + if PyJsStrictEq(var.get(u"this").get('source').callprop('charCodeAt', (var.get(u"this").get('index')+Js(1.0))),Js(47)): + var.get(u"this").put('index', Js(2.0), '+') + if var.get(u"this").get('trackComment'): + PyJs_Object_408_ = Js({'line':var.get(u"this").get('lineNumber'),'column':(var.get(u"this").get('index')-var.get(u"this").get('lineStart'))}) + var.get('loc').put('end', PyJs_Object_408_) + PyJs_Object_409_ = Js({'multiLine':Js(True),'slice':Js([(var.get('start')+Js(2.0)), (var.get(u"this").get('index')-Js(2.0))]),'range':Js([var.get('start'), var.get(u"this").get('index')]),'loc':var.get('loc')}) + var.put('entry', PyJs_Object_409_) + var.get('comments').callprop('push', var.get('entry')) + return var.get('comments') + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + else: + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + if var.get(u"this").get('trackComment'): + PyJs_Object_410_ = Js({'line':var.get(u"this").get('lineNumber'),'column':(var.get(u"this").get('index')-var.get(u"this").get('lineStart'))}) + var.get('loc').put('end', PyJs_Object_410_) + PyJs_Object_411_ = Js({'multiLine':Js(True),'slice':Js([(var.get('start')+Js(2.0)), var.get(u"this").get('index')]),'range':Js([var.get('start'), var.get(u"this").get('index')]),'loc':var.get('loc')}) + var.put('entry', PyJs_Object_411_) + var.get('comments').callprop('push', var.get('entry')) + var.get(u"this").callprop('tolerateUnexpectedToken') + return var.get('comments') + PyJs_anonymous_404_._set_name('anonymous') + var.get('Scanner').get('prototype').put('skipMultiLineComment', PyJs_anonymous_404_) + @Js + def PyJs_anonymous_412_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['comment', 'ch', 'comments', 'start']) + pass + if var.get(u"this").get('trackComment'): + var.put('comments', Js([])) + var.put('start', PyJsStrictEq(var.get(u"this").get('index'),Js(0.0))) + while var.get(u"this").callprop('eof').neg(): + var.put('ch', var.get(u"this").get('source').callprop('charCodeAt', var.get(u"this").get('index'))) + if var.get('character_1').get('Character').callprop('isWhiteSpace', var.get('ch')): + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + else: + if var.get('character_1').get('Character').callprop('isLineTerminator', var.get('ch')): + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + if (PyJsStrictEq(var.get('ch'),Js(13)) and PyJsStrictEq(var.get(u"this").get('source').callprop('charCodeAt', var.get(u"this").get('index')),Js(10))): + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + var.get(u"this").put('lineNumber',Js(var.get(u"this").get('lineNumber').to_number())+Js(1)) + var.get(u"this").put('lineStart', var.get(u"this").get('index')) + var.put('start', Js(True)) + else: + if PyJsStrictEq(var.get('ch'),Js(47)): + var.put('ch', var.get(u"this").get('source').callprop('charCodeAt', (var.get(u"this").get('index')+Js(1.0)))) + if PyJsStrictEq(var.get('ch'),Js(47)): + var.get(u"this").put('index', Js(2.0), '+') + var.put('comment', var.get(u"this").callprop('skipSingleLineComment', Js(2.0))) + if var.get(u"this").get('trackComment'): + var.put('comments', var.get('comments').callprop('concat', var.get('comment'))) + var.put('start', Js(True)) + else: + if PyJsStrictEq(var.get('ch'),Js(42)): + var.get(u"this").put('index', Js(2.0), '+') + var.put('comment', var.get(u"this").callprop('skipMultiLineComment')) + if var.get(u"this").get('trackComment'): + var.put('comments', var.get('comments').callprop('concat', var.get('comment'))) + else: + break + else: + if (var.get('start') and PyJsStrictEq(var.get('ch'),Js(45))): + if (PyJsStrictEq(var.get(u"this").get('source').callprop('charCodeAt', (var.get(u"this").get('index')+Js(1.0))),Js(45)) and PyJsStrictEq(var.get(u"this").get('source').callprop('charCodeAt', (var.get(u"this").get('index')+Js(2.0))),Js(62))): + var.get(u"this").put('index', Js(3.0), '+') + var.put('comment', var.get(u"this").callprop('skipSingleLineComment', Js(3.0))) + if var.get(u"this").get('trackComment'): + var.put('comments', var.get('comments').callprop('concat', var.get('comment'))) + else: + break + else: + if (PyJsStrictEq(var.get('ch'),Js(60)) and var.get(u"this").get('isModule').neg()): + if PyJsStrictEq(var.get(u"this").get('source').callprop('slice', (var.get(u"this").get('index')+Js(1.0)), (var.get(u"this").get('index')+Js(4.0))),Js('!--')): + var.get(u"this").put('index', Js(4.0), '+') + var.put('comment', var.get(u"this").callprop('skipSingleLineComment', Js(4.0))) + if var.get(u"this").get('trackComment'): + var.put('comments', var.get('comments').callprop('concat', var.get('comment'))) + else: + break + else: + break + return var.get('comments') + PyJs_anonymous_412_._set_name('anonymous') + var.get('Scanner').get('prototype').put('scanComments', PyJs_anonymous_412_) + @Js + def PyJs_anonymous_413_(id, this, arguments, var=var): + var = Scope({'id':id, 'this':this, 'arguments':arguments}, var) + var.registers(['id']) + while 1: + SWITCHED = False + CONDITION = (var.get('id')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('enum')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('export')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('import')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('super')): + SWITCHED = True + return Js(True) + if True: + SWITCHED = True + return Js(False) + SWITCHED = True + break + PyJs_anonymous_413_._set_name('anonymous') + var.get('Scanner').get('prototype').put('isFutureReservedWord', PyJs_anonymous_413_) + @Js + def PyJs_anonymous_414_(id, this, arguments, var=var): + var = Scope({'id':id, 'this':this, 'arguments':arguments}, var) + var.registers(['id']) + while 1: + SWITCHED = False + CONDITION = (var.get('id')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('implements')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('interface')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('package')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('private')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('protected')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('public')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('static')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('yield')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('let')): + SWITCHED = True + return Js(True) + if True: + SWITCHED = True + return Js(False) + SWITCHED = True + break + PyJs_anonymous_414_._set_name('anonymous') + var.get('Scanner').get('prototype').put('isStrictModeReservedWord', PyJs_anonymous_414_) + @Js + def PyJs_anonymous_415_(id, this, arguments, var=var): + var = Scope({'id':id, 'this':this, 'arguments':arguments}, var) + var.registers(['id']) + return (PyJsStrictEq(var.get('id'),Js('eval')) or PyJsStrictEq(var.get('id'),Js('arguments'))) + PyJs_anonymous_415_._set_name('anonymous') + var.get('Scanner').get('prototype').put('isRestrictedWord', PyJs_anonymous_415_) + @Js + def PyJs_anonymous_416_(id, this, arguments, var=var): + var = Scope({'id':id, 'this':this, 'arguments':arguments}, var) + var.registers(['id']) + while 1: + SWITCHED = False + CONDITION = (var.get('id').get('length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(2.0)): + SWITCHED = True + return ((PyJsStrictEq(var.get('id'),Js('if')) or PyJsStrictEq(var.get('id'),Js('in'))) or PyJsStrictEq(var.get('id'),Js('do'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + return ((((PyJsStrictEq(var.get('id'),Js('var')) or PyJsStrictEq(var.get('id'),Js('for'))) or PyJsStrictEq(var.get('id'),Js('new'))) or PyJsStrictEq(var.get('id'),Js('try'))) or PyJsStrictEq(var.get('id'),Js('let'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(4.0)): + SWITCHED = True + return (((((PyJsStrictEq(var.get('id'),Js('this')) or PyJsStrictEq(var.get('id'),Js('else'))) or PyJsStrictEq(var.get('id'),Js('case'))) or PyJsStrictEq(var.get('id'),Js('void'))) or PyJsStrictEq(var.get('id'),Js('with'))) or PyJsStrictEq(var.get('id'),Js('enum'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(5.0)): + SWITCHED = True + return (((((((PyJsStrictEq(var.get('id'),Js('while')) or PyJsStrictEq(var.get('id'),Js('break'))) or PyJsStrictEq(var.get('id'),Js('catch'))) or PyJsStrictEq(var.get('id'),Js('throw'))) or PyJsStrictEq(var.get('id'),Js('const'))) or PyJsStrictEq(var.get('id'),Js('yield'))) or PyJsStrictEq(var.get('id'),Js('class'))) or PyJsStrictEq(var.get('id'),Js('super'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(6.0)): + SWITCHED = True + return (((((PyJsStrictEq(var.get('id'),Js('return')) or PyJsStrictEq(var.get('id'),Js('typeof'))) or PyJsStrictEq(var.get('id'),Js('delete'))) or PyJsStrictEq(var.get('id'),Js('switch'))) or PyJsStrictEq(var.get('id'),Js('export'))) or PyJsStrictEq(var.get('id'),Js('import'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(7.0)): + SWITCHED = True + return ((PyJsStrictEq(var.get('id'),Js('default')) or PyJsStrictEq(var.get('id'),Js('finally'))) or PyJsStrictEq(var.get('id'),Js('extends'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(8.0)): + SWITCHED = True + return ((PyJsStrictEq(var.get('id'),Js('function')) or PyJsStrictEq(var.get('id'),Js('continue'))) or PyJsStrictEq(var.get('id'),Js('debugger'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js(10.0)): + SWITCHED = True + return PyJsStrictEq(var.get('id'),Js('instanceof')) + if True: + SWITCHED = True + return Js(False) + SWITCHED = True + break + PyJs_anonymous_416_._set_name('anonymous') + var.get('Scanner').get('prototype').put('isKeyword', PyJs_anonymous_416_) + @Js + def PyJs_anonymous_417_(i, this, arguments, var=var): + var = Scope({'i':i, 'this':this, 'arguments':arguments}, var) + var.registers(['cp', 'first', 'i', 'second']) + var.put('cp', var.get(u"this").get('source').callprop('charCodeAt', var.get('i'))) + if ((var.get('cp')>=Js(55296)) and (var.get('cp')<=Js(56319))): + var.put('second', var.get(u"this").get('source').callprop('charCodeAt', (var.get('i')+Js(1.0)))) + if ((var.get('second')>=Js(56320)) and (var.get('second')<=Js(57343))): + var.put('first', var.get('cp')) + var.put('cp', (((((var.get('first')-Js(55296))*Js(1024))+var.get('second'))-Js(56320))+Js(65536))) + return var.get('cp') + PyJs_anonymous_417_._set_name('anonymous') + var.get('Scanner').get('prototype').put('codePointAt', PyJs_anonymous_417_) + @Js + def PyJs_anonymous_418_(prefix, this, arguments, var=var): + var = Scope({'prefix':prefix, 'this':this, 'arguments':arguments}, var) + var.registers(['code', 'len', 'i', 'prefix']) + var.put('len', (Js(4.0) if PyJsStrictEq(var.get('prefix'),Js('u')) else Js(2.0))) + var.put('code', Js(0.0)) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(1114111)) or PyJsStrictNeq(var.get('ch'),Js('}'))): + var.get(u"this").callprop('throwUnexpectedToken') + return var.get('character_1').get('Character').callprop('fromCodePoint', var.get('code')) + PyJs_anonymous_419_._set_name('anonymous') + var.get('Scanner').get('prototype').put('scanUnicodeCodePointEscape', PyJs_anonymous_419_) + @Js + def PyJs_anonymous_420_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['ch', 'start']) + var.put('start', (var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1))-Js(1))) + while var.get(u"this").callprop('eof').neg(): + var.put('ch', var.get(u"this").get('source').callprop('charCodeAt', var.get(u"this").get('index'))) + if PyJsStrictEq(var.get('ch'),Js(92)): + var.get(u"this").put('index', var.get('start')) + return var.get(u"this").callprop('getComplexIdentifier') + else: + if ((var.get('ch')>=Js(55296)) and (var.get('ch')=Js(0.0)) and var.get(u"this").callprop('eof').neg()) and var.get('character_1').get('Character').callprop('isOctalDigit', var.get(u"this").get('source').callprop('charCodeAt', var.get(u"this").get('index')))): + var.put('code', ((var.get('code')*Js(8.0))+var.get('octalValue')(var.get(u"this").get('source').get((var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1))-Js(1)))))) + PyJs_Object_423_ = Js({'code':var.get('code'),'octal':var.get('octal')}) + return PyJs_Object_423_ + PyJs_anonymous_422_._set_name('anonymous') + var.get('Scanner').get('prototype').put('octalToDecimal', PyJs_anonymous_422_) + @Js + def PyJs_anonymous_424_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['start', 'id', 'type', 'restore']) + pass + var.put('start', var.get(u"this").get('index')) + var.put('id', (var.get(u"this").callprop('getComplexIdentifier') if PyJsStrictEq(var.get(u"this").get('source').callprop('charCodeAt', var.get('start')),Js(92)) else var.get(u"this").callprop('getIdentifier'))) + if PyJsStrictEq(var.get('id').get('length'),Js(1.0)): + var.put('type', Js(3.0)) + else: + if var.get(u"this").callprop('isKeyword', var.get('id')): + var.put('type', Js(4.0)) + else: + if PyJsStrictEq(var.get('id'),Js('null')): + var.put('type', Js(5.0)) + else: + if (PyJsStrictEq(var.get('id'),Js('true')) or PyJsStrictEq(var.get('id'),Js('false'))): + var.put('type', Js(1.0)) + else: + var.put('type', Js(3.0)) + if (PyJsStrictNeq(var.get('type'),Js(3.0)) and PyJsStrictNeq((var.get('start')+var.get('id').get('length')),var.get(u"this").get('index'))): + var.put('restore', var.get(u"this").get('index')) + var.get(u"this").put('index', var.get('start')) + var.get(u"this").callprop('tolerateUnexpectedToken', var.get('messages_1').get('Messages').get('InvalidEscapedReservedWord')) + var.get(u"this").put('index', var.get('restore')) + PyJs_Object_425_ = Js({'type':var.get('type'),'value':var.get('id'),'lineNumber':var.get(u"this").get('lineNumber'),'lineStart':var.get(u"this").get('lineStart'),'start':var.get('start'),'end':var.get(u"this").get('index')}) + return PyJs_Object_425_ + PyJs_anonymous_424_._set_name('anonymous') + var.get('Scanner').get('prototype').put('scanIdentifier', PyJs_anonymous_424_) + @Js + def PyJs_anonymous_426_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['str', 'start']) + var.put('start', var.get(u"this").get('index')) + var.put('str', var.get(u"this").get('source').get(var.get(u"this").get('index'))) + while 1: + SWITCHED = False + CONDITION = (var.get('str')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('(')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('{')): + SWITCHED = True + if PyJsStrictEq(var.get('str'),Js('{')): + var.get(u"this").get('curlyStack').callprop('push', Js('{')) + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('.')): + SWITCHED = True + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + if (PyJsStrictEq(var.get(u"this").get('source').get(var.get(u"this").get('index')),Js('.')) and PyJsStrictEq(var.get(u"this").get('source').get((var.get(u"this").get('index')+Js(1.0))),Js('.'))): + var.get(u"this").put('index', Js(2.0), '+') + var.put('str', Js('...')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('}')): + SWITCHED = True + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + var.get(u"this").get('curlyStack').callprop('pop') + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(')')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(';')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(',')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('[')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(']')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(':')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('?')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('~')): + SWITCHED = True + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + break + if True: + SWITCHED = True + var.put('str', var.get(u"this").get('source').callprop('substr', var.get(u"this").get('index'), Js(4.0))) + if PyJsStrictEq(var.get('str'),Js('>>>=')): + var.get(u"this").put('index', Js(4.0), '+') + else: + var.put('str', var.get('str').callprop('substr', Js(0.0), Js(3.0))) + if (((((PyJsStrictEq(var.get('str'),Js('===')) or PyJsStrictEq(var.get('str'),Js('!=='))) or PyJsStrictEq(var.get('str'),Js('>>>'))) or PyJsStrictEq(var.get('str'),Js('<<='))) or PyJsStrictEq(var.get('str'),Js('>>='))) or PyJsStrictEq(var.get('str'),Js('**='))): + var.get(u"this").put('index', Js(3.0), '+') + else: + var.put('str', var.get('str').callprop('substr', Js(0.0), Js(2.0))) + def PyJs_LONG_428_(var=var): + def PyJs_LONG_427_(var=var): + return (((((((((PyJsStrictEq(var.get('str'),Js('&&')) or PyJsStrictEq(var.get('str'),Js('||'))) or PyJsStrictEq(var.get('str'),Js('=='))) or PyJsStrictEq(var.get('str'),Js('!='))) or PyJsStrictEq(var.get('str'),Js('+='))) or PyJsStrictEq(var.get('str'),Js('-='))) or PyJsStrictEq(var.get('str'),Js('*='))) or PyJsStrictEq(var.get('str'),Js('/='))) or PyJsStrictEq(var.get('str'),Js('++'))) or PyJsStrictEq(var.get('str'),Js('--'))) + return (((((((((PyJs_LONG_427_() or PyJsStrictEq(var.get('str'),Js('<<'))) or PyJsStrictEq(var.get('str'),Js('>>'))) or PyJsStrictEq(var.get('str'),Js('&='))) or PyJsStrictEq(var.get('str'),Js('|='))) or PyJsStrictEq(var.get('str'),Js('^='))) or PyJsStrictEq(var.get('str'),Js('%='))) or PyJsStrictEq(var.get('str'),Js('<='))) or PyJsStrictEq(var.get('str'),Js('>='))) or PyJsStrictEq(var.get('str'),Js('=>'))) + if (PyJs_LONG_428_() or PyJsStrictEq(var.get('str'),Js('**'))): + var.get(u"this").put('index', Js(2.0), '+') + else: + var.put('str', var.get(u"this").get('source').get(var.get(u"this").get('index'))) + if (Js('<>=!+-*%&|^/').callprop('indexOf', var.get('str'))>=Js(0.0)): + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + SWITCHED = True + break + if PyJsStrictEq(var.get(u"this").get('index'),var.get('start')): + var.get(u"this").callprop('throwUnexpectedToken') + PyJs_Object_429_ = Js({'type':Js(7.0),'value':var.get('str'),'lineNumber':var.get(u"this").get('lineNumber'),'lineStart':var.get(u"this").get('lineStart'),'start':var.get('start'),'end':var.get(u"this").get('index')}) + return PyJs_Object_429_ + PyJs_anonymous_426_._set_name('anonymous') + var.get('Scanner').get('prototype').put('scanPunctuator', PyJs_anonymous_426_) + @Js + def PyJs_anonymous_430_(start, this, arguments, var=var): + var = Scope({'start':start, 'this':this, 'arguments':arguments}, var) + var.registers(['num', 'start']) + var.put('num', Js('')) + while var.get(u"this").callprop('eof').neg(): + if var.get('character_1').get('Character').callprop('isHexDigit', var.get(u"this").get('source').callprop('charCodeAt', var.get(u"this").get('index'))).neg(): + break + var.put('num', var.get(u"this").get('source').get((var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1))-Js(1))), '+') + if PyJsStrictEq(var.get('num').get('length'),Js(0.0)): + var.get(u"this").callprop('throwUnexpectedToken') + if var.get('character_1').get('Character').callprop('isIdentifierStart', var.get(u"this").get('source').callprop('charCodeAt', var.get(u"this").get('index'))): + var.get(u"this").callprop('throwUnexpectedToken') + PyJs_Object_431_ = Js({'type':Js(6.0),'value':var.get('parseInt')((Js('0x')+var.get('num')), Js(16.0)),'lineNumber':var.get(u"this").get('lineNumber'),'lineStart':var.get(u"this").get('lineStart'),'start':var.get('start'),'end':var.get(u"this").get('index')}) + return PyJs_Object_431_ + PyJs_anonymous_430_._set_name('anonymous') + var.get('Scanner').get('prototype').put('scanHexLiteral', PyJs_anonymous_430_) + @Js + def PyJs_anonymous_432_(start, this, arguments, var=var): + var = Scope({'start':start, 'this':this, 'arguments':arguments}, var) + var.registers(['ch', 'num', 'start']) + var.put('num', Js('')) + pass + while var.get(u"this").callprop('eof').neg(): + var.put('ch', var.get(u"this").get('source').get(var.get(u"this").get('index'))) + if (PyJsStrictNeq(var.get('ch'),Js('0')) and PyJsStrictNeq(var.get('ch'),Js('1'))): + break + var.put('num', var.get(u"this").get('source').get((var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1))-Js(1))), '+') + if PyJsStrictEq(var.get('num').get('length'),Js(0.0)): + var.get(u"this").callprop('throwUnexpectedToken') + if var.get(u"this").callprop('eof').neg(): + var.put('ch', var.get(u"this").get('source').callprop('charCodeAt', var.get(u"this").get('index'))) + if (var.get('character_1').get('Character').callprop('isIdentifierStart', var.get('ch')) or var.get('character_1').get('Character').callprop('isDecimalDigit', var.get('ch'))): + var.get(u"this").callprop('throwUnexpectedToken') + PyJs_Object_433_ = Js({'type':Js(6.0),'value':var.get('parseInt')(var.get('num'), Js(2.0)),'lineNumber':var.get(u"this").get('lineNumber'),'lineStart':var.get(u"this").get('lineStart'),'start':var.get('start'),'end':var.get(u"this").get('index')}) + return PyJs_Object_433_ + PyJs_anonymous_432_._set_name('anonymous') + var.get('Scanner').get('prototype').put('scanBinaryLiteral', PyJs_anonymous_432_) + @Js + def PyJs_anonymous_434_(prefix, start, this, arguments, var=var): + var = Scope({'prefix':prefix, 'start':start, 'this':this, 'arguments':arguments}, var) + var.registers(['prefix', 'octal', 'num', 'start']) + var.put('num', Js('')) + var.put('octal', Js(False)) + if var.get('character_1').get('Character').callprop('isOctalDigit', var.get('prefix').callprop('charCodeAt', Js(0.0))): + var.put('octal', Js(True)) + var.put('num', (Js('0')+var.get(u"this").get('source').get((var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1))-Js(1))))) + else: + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + while var.get(u"this").callprop('eof').neg(): + if var.get('character_1').get('Character').callprop('isOctalDigit', var.get(u"this").get('source').callprop('charCodeAt', var.get(u"this").get('index'))).neg(): + break + var.put('num', var.get(u"this").get('source').get((var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1))-Js(1))), '+') + if (var.get('octal').neg() and PyJsStrictEq(var.get('num').get('length'),Js(0.0))): + var.get(u"this").callprop('throwUnexpectedToken') + if (var.get('character_1').get('Character').callprop('isIdentifierStart', var.get(u"this").get('source').callprop('charCodeAt', var.get(u"this").get('index'))) or var.get('character_1').get('Character').callprop('isDecimalDigit', var.get(u"this").get('source').callprop('charCodeAt', var.get(u"this").get('index')))): + var.get(u"this").callprop('throwUnexpectedToken') + PyJs_Object_435_ = Js({'type':Js(6.0),'value':var.get('parseInt')(var.get('num'), Js(8.0)),'octal':var.get('octal'),'lineNumber':var.get(u"this").get('lineNumber'),'lineStart':var.get(u"this").get('lineStart'),'start':var.get('start'),'end':var.get(u"this").get('index')}) + return PyJs_Object_435_ + PyJs_anonymous_434_._set_name('anonymous') + var.get('Scanner').get('prototype').put('scanOctalLiteral', PyJs_anonymous_434_) + @Js + def PyJs_anonymous_436_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['i', 'ch']) + #for JS loop + var.put('i', (var.get(u"this").get('index')+Js(1.0))) + while (var.get('i')=Js(0.0)): + @Js + def PyJs_anonymous_444_(PyJsArg_2430_, PyJsArg_2431_, PyJsArg_2432_, this, arguments, var=var): + var = Scope({'$0':PyJsArg_2430_, '$1':PyJsArg_2431_, '$2':PyJsArg_2432_, 'this':this, 'arguments':arguments}, var) + var.registers(['$2', '$1', 'codePoint', '$0']) + var.put('codePoint', var.get('parseInt')((var.get('$1') or var.get('$2')), Js(16.0))) + if (var.get('codePoint')>Js(1114111)): + var.get('self').callprop('throwUnexpectedToken', var.get('messages_1').get('Messages').get('InvalidRegExp')) + if (var.get('codePoint')<=Js(65535)): + return var.get('String').callprop('fromCharCode', var.get('codePoint')) + return var.get('astralSubstitute') + PyJs_anonymous_444_._set_name('anonymous') + var.put('tmp', var.get('tmp').callprop('replace', JsRegExp('/\\\\u\\{([0-9a-fA-F]+)\\}|\\\\u([a-fA-F0-9]{4})/g'), PyJs_anonymous_444_).callprop('replace', JsRegExp('/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g'), var.get('astralSubstitute'))) + try: + var.get('RegExp')(var.get('tmp')) + except PyJsException as PyJsTempException: + PyJsHolder_65_28666274 = var.own.get('e') + var.force_own_put('e', PyExceptionToJs(PyJsTempException)) + try: + var.get(u"this").callprop('throwUnexpectedToken', var.get('messages_1').get('Messages').get('InvalidRegExp')) + finally: + if PyJsHolder_65_28666274 is not None: + var.own['e'] = PyJsHolder_65_28666274 + else: + del var.own['e'] + del PyJsHolder_65_28666274 + try: + return var.get('RegExp').create(var.get('pattern'), var.get('flags')) + except PyJsException as PyJsTempException: + PyJsHolder_657863657074696f6e_45283382 = var.own.get('exception') + var.force_own_put('exception', PyExceptionToJs(PyJsTempException)) + try: + return var.get(u"null") + finally: + if PyJsHolder_657863657074696f6e_45283382 is not None: + var.own['exception'] = PyJsHolder_657863657074696f6e_45283382 + else: + del var.own['exception'] + del PyJsHolder_657863657074696f6e_45283382 + PyJs_anonymous_443_._set_name('anonymous') + var.get('Scanner').get('prototype').put('testRegExp', PyJs_anonymous_443_) + @Js + def PyJs_anonymous_445_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['classMarker', 'str', 'ch', 'terminated']) + var.put('ch', var.get(u"this").get('source').get(var.get(u"this").get('index'))) + var.get('assert_1').callprop('assert', PyJsStrictEq(var.get('ch'),Js('/')), Js('Regular expression literal must start with a slash')) + var.put('str', var.get(u"this").get('source').get((var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1))-Js(1)))) + var.put('classMarker', Js(False)) + var.put('terminated', Js(False)) + while var.get(u"this").callprop('eof').neg(): + var.put('ch', var.get(u"this").get('source').get((var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1))-Js(1)))) + var.put('str', var.get('ch'), '+') + if PyJsStrictEq(var.get('ch'),Js('\\')): + var.put('ch', var.get(u"this").get('source').get((var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1))-Js(1)))) + if var.get('character_1').get('Character').callprop('isLineTerminator', var.get('ch').callprop('charCodeAt', Js(0.0))): + var.get(u"this").callprop('throwUnexpectedToken', var.get('messages_1').get('Messages').get('UnterminatedRegExp')) + var.put('str', var.get('ch'), '+') + else: + if var.get('character_1').get('Character').callprop('isLineTerminator', var.get('ch').callprop('charCodeAt', Js(0.0))): + var.get(u"this").callprop('throwUnexpectedToken', var.get('messages_1').get('Messages').get('UnterminatedRegExp')) + else: + if var.get('classMarker'): + if PyJsStrictEq(var.get('ch'),Js(']')): + var.put('classMarker', Js(False)) + else: + if PyJsStrictEq(var.get('ch'),Js('/')): + var.put('terminated', Js(True)) + break + else: + if PyJsStrictEq(var.get('ch'),Js('[')): + var.put('classMarker', Js(True)) + if var.get('terminated').neg(): + var.get(u"this").callprop('throwUnexpectedToken', var.get('messages_1').get('Messages').get('UnterminatedRegExp')) + return var.get('str').callprop('substr', Js(1.0), (var.get('str').get('length')-Js(2.0))) + PyJs_anonymous_445_._set_name('anonymous') + var.get('Scanner').get('prototype').put('scanRegExpBody', PyJs_anonymous_445_) + @Js + def PyJs_anonymous_446_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['str', 'restore', 'char', 'ch', 'flags']) + var.put('str', Js('')) + var.put('flags', Js('')) + while var.get(u"this").callprop('eof').neg(): + var.put('ch', var.get(u"this").get('source').get(var.get(u"this").get('index'))) + if var.get('character_1').get('Character').callprop('isIdentifierPart', var.get('ch').callprop('charCodeAt', Js(0.0))).neg(): + break + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + if (PyJsStrictEq(var.get('ch'),Js('\\')) and var.get(u"this").callprop('eof').neg()): + var.put('ch', var.get(u"this").get('source').get(var.get(u"this").get('index'))) + if PyJsStrictEq(var.get('ch'),Js('u')): + var.get(u"this").put('index',Js(var.get(u"this").get('index').to_number())+Js(1)) + var.put('restore', var.get(u"this").get('index')) + var.put('char', var.get(u"this").callprop('scanHexEscape', Js('u'))) + if PyJsStrictNeq(var.get('char'),var.get(u"null")): + var.put('flags', var.get('char'), '+') + #for JS loop + var.put('str', Js('\\u'), '+') + while (var.get('restore')=Js(55296)) and (var.get('cp')')) + var.get('exports').get('TokenName').put('3', Js('Identifier')) + var.get('exports').get('TokenName').put('4', Js('Keyword')) + var.get('exports').get('TokenName').put('5', Js('Null')) + var.get('exports').get('TokenName').put('6', Js('Numeric')) + var.get('exports').get('TokenName').put('7', Js('Punctuator')) + var.get('exports').get('TokenName').put('8', Js('String')) + var.get('exports').get('TokenName').put('9', Js('RegularExpression')) + var.get('exports').get('TokenName').put('10', Js('Template')) + PyJs_anonymous_451_._set_name('anonymous') + @Js + def PyJs_anonymous_454_(module, exports, this, arguments, var=var): + var = Scope({'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['module', 'exports']) + Js('use strict') + PyJs_Object_455_ = Js({'value':Js(True)}) + var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), PyJs_Object_455_) + PyJs_Object_456_ = Js({'quot':Js('"'),'amp':Js('&'),'apos':Js("'"),'gt':Js('>'),'nbsp':Js('\xa0'),'iexcl':Js('¡'),'cent':Js('¢'),'pound':Js('£'),'curren':Js('¤'),'yen':Js('¥'),'brvbar':Js('¦'),'sect':Js('§'),'uml':Js('¨'),'copy':Js('©'),'ordf':Js('ª'),'laquo':Js('«'),'not':Js('¬'),'shy':Js('\xad'),'reg':Js('®'),'macr':Js('¯'),'deg':Js('°'),'plusmn':Js('±'),'sup2':Js('²'),'sup3':Js('³'),'acute':Js('´'),'micro':Js('µ'),'para':Js('¶'),'middot':Js('·'),'cedil':Js('¸'),'sup1':Js('¹'),'ordm':Js('º'),'raquo':Js('»'),'frac14':Js('¼'),'frac12':Js('½'),'frac34':Js('¾'),'iquest':Js('¿'),'Agrave':Js('À'),'Aacute':Js('Á'),'Acirc':Js('Â'),'Atilde':Js('Ã'),'Auml':Js('Ä'),'Aring':Js('Å'),'AElig':Js('Æ'),'Ccedil':Js('Ç'),'Egrave':Js('È'),'Eacute':Js('É'),'Ecirc':Js('Ê'),'Euml':Js('Ë'),'Igrave':Js('Ì'),'Iacute':Js('Í'),'Icirc':Js('Î'),'Iuml':Js('Ï'),'ETH':Js('Ð'),'Ntilde':Js('Ñ'),'Ograve':Js('Ò'),'Oacute':Js('Ó'),'Ocirc':Js('Ô'),'Otilde':Js('Õ'),'Ouml':Js('Ö'),'times':Js('×'),'Oslash':Js('Ø'),'Ugrave':Js('Ù'),'Uacute':Js('Ú'),'Ucirc':Js('Û'),'Uuml':Js('Ü'),'Yacute':Js('Ý'),'THORN':Js('Þ'),'szlig':Js('ß'),'agrave':Js('à'),'aacute':Js('á'),'acirc':Js('â'),'atilde':Js('ã'),'auml':Js('ä'),'aring':Js('å'),'aelig':Js('æ'),'ccedil':Js('ç'),'egrave':Js('è'),'eacute':Js('é'),'ecirc':Js('ê'),'euml':Js('ë'),'igrave':Js('ì'),'iacute':Js('í'),'icirc':Js('î'),'iuml':Js('ï'),'eth':Js('ð'),'ntilde':Js('ñ'),'ograve':Js('ò'),'oacute':Js('ó'),'ocirc':Js('ô'),'otilde':Js('õ'),'ouml':Js('ö'),'divide':Js('÷'),'oslash':Js('ø'),'ugrave':Js('ù'),'uacute':Js('ú'),'ucirc':Js('û'),'uuml':Js('ü'),'yacute':Js('ý'),'thorn':Js('þ'),'yuml':Js('ÿ'),'OElig':Js('Œ'),'oelig':Js('œ'),'Scaron':Js('Š'),'scaron':Js('š'),'Yuml':Js('Ÿ'),'fnof':Js('ƒ'),'circ':Js('ˆ'),'tilde':Js('˜'),'Alpha':Js('Α'),'Beta':Js('Β'),'Gamma':Js('Γ'),'Delta':Js('Δ'),'Epsilon':Js('Ε'),'Zeta':Js('Ζ'),'Eta':Js('Η'),'Theta':Js('Θ'),'Iota':Js('Ι'),'Kappa':Js('Κ'),'Lambda':Js('Λ'),'Mu':Js('Μ'),'Nu':Js('Ν'),'Xi':Js('Ξ'),'Omicron':Js('Ο'),'Pi':Js('Π'),'Rho':Js('Ρ'),'Sigma':Js('Σ'),'Tau':Js('Τ'),'Upsilon':Js('Υ'),'Phi':Js('Φ'),'Chi':Js('Χ'),'Psi':Js('Ψ'),'Omega':Js('Ω'),'alpha':Js('α'),'beta':Js('β'),'gamma':Js('γ'),'delta':Js('δ'),'epsilon':Js('ε'),'zeta':Js('ζ'),'eta':Js('η'),'theta':Js('θ'),'iota':Js('ι'),'kappa':Js('κ'),'lambda':Js('λ'),'mu':Js('μ'),'nu':Js('ν'),'xi':Js('ξ'),'omicron':Js('ο'),'pi':Js('π'),'rho':Js('ρ'),'sigmaf':Js('ς'),'sigma':Js('σ'),'tau':Js('τ'),'upsilon':Js('υ'),'phi':Js('φ'),'chi':Js('χ'),'psi':Js('ψ'),'omega':Js('ω'),'thetasym':Js('ϑ'),'upsih':Js('ϒ'),'piv':Js('ϖ'),'ensp':Js('\u2002'),'emsp':Js('\u2003'),'thinsp':Js('\u2009'),'zwnj':Js('\u200c'),'zwj':Js('\u200d'),'lrm':Js('\u200e'),'rlm':Js('\u200f'),'ndash':Js('–'),'mdash':Js('—'),'lsquo':Js('‘'),'rsquo':Js('’'),'sbquo':Js('‚'),'ldquo':Js('“'),'rdquo':Js('”'),'bdquo':Js('„'),'dagger':Js('†'),'Dagger':Js('‡'),'bull':Js('•'),'hellip':Js('…'),'permil':Js('‰'),'prime':Js('′'),'Prime':Js('″'),'lsaquo':Js('‹'),'rsaquo':Js('›'),'oline':Js('‾'),'frasl':Js('⁄'),'euro':Js('€'),'image':Js('ℑ'),'weierp':Js('℘'),'real':Js('ℜ'),'trade':Js('™'),'alefsym':Js('ℵ'),'larr':Js('←'),'uarr':Js('↑'),'rarr':Js('→'),'darr':Js('↓'),'harr':Js('↔'),'crarr':Js('↵'),'lArr':Js('⇐'),'uArr':Js('⇑'),'rArr':Js('⇒'),'dArr':Js('⇓'),'hArr':Js('⇔'),'forall':Js('∀'),'part':Js('∂'),'exist':Js('∃'),'empty':Js('∅'),'nabla':Js('∇'),'isin':Js('∈'),'notin':Js('∉'),'ni':Js('∋'),'prod':Js('∏'),'sum':Js('∑'),'minus':Js('−'),'lowast':Js('∗'),'radic':Js('√'),'prop':Js('∝'),'infin':Js('∞'),'ang':Js('∠'),'and':Js('∧'),'or':Js('∨'),'cap':Js('∩'),'cup':Js('∪'),'int':Js('∫'),'there4':Js('∴'),'sim':Js('∼'),'cong':Js('≅'),'asymp':Js('≈'),'ne':Js('≠'),'equiv':Js('≡'),'le':Js('≤'),'ge':Js('≥'),'sub':Js('⊂'),'sup':Js('⊃'),'nsub':Js('⊄'),'sube':Js('⊆'),'supe':Js('⊇'),'oplus':Js('⊕'),'otimes':Js('⊗'),'perp':Js('⊥'),'sdot':Js('⋅'),'lceil':Js('⌈'),'rceil':Js('⌉'),'lfloor':Js('⌊'),'rfloor':Js('⌋'),'loz':Js('◊'),'spades':Js('♠'),'clubs':Js('♣'),'hearts':Js('♥'),'diams':Js('♦'),'lang':Js('⟨'),'rang':Js('⟩')}) + var.get('exports').put('XHTMLEntities', PyJs_Object_456_) + PyJs_anonymous_454_._set_name('anonymous') + @Js + def PyJs_anonymous_457_(module, exports, __webpack_require__, this, arguments, var=var): + var = Scope({'module':module, 'exports':exports, '__webpack_require__':__webpack_require__, 'this':this, 'arguments':arguments}, var) + var.registers(['module', 'token_1', '__webpack_require__', 'exports', 'Reader', 'scanner_1', 'Tokenizer', 'error_handler_1']) + Js('use strict') + PyJs_Object_458_ = Js({'value':Js(True)}) + var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), PyJs_Object_458_) + var.put('error_handler_1', var.get('__webpack_require__')(Js(10.0))) + var.put('scanner_1', var.get('__webpack_require__')(Js(12.0))) + var.put('token_1', var.get('__webpack_require__')(Js(13.0))) + @Js + def PyJs_anonymous_459_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['Reader']) + @Js + def PyJsHoisted_Reader_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get(u"this").put('values', Js([])) + var.get(u"this").put('curly', var.get(u"this").put('paren', (-Js(1.0)))) + PyJsHoisted_Reader_.func_name = 'Reader' + var.put('Reader', PyJsHoisted_Reader_) + pass + @Js + def PyJs_anonymous_460_(t, this, arguments, var=var): + var = Scope({'t':t, 'this':this, 'arguments':arguments}, var) + var.registers(['t']) + def PyJs_LONG_461_(var=var): + return Js([Js('('), Js('{'), Js('['), Js('in'), Js('typeof'), Js('instanceof'), Js('new'), Js('return'), Js('case'), Js('delete'), Js('throw'), Js('void'), Js('='), Js('+='), Js('-='), Js('*='), Js('**='), Js('/='), Js('%='), Js('<<='), Js('>>='), Js('>>>='), Js('&='), Js('|='), Js('^='), Js(','), Js('+'), Js('-'), Js('*'), Js('**'), Js('/'), Js('%'), Js('++'), Js('--'), Js('<<'), Js('>>'), Js('>>>'), Js('&'), Js('|'), Js('^'), Js('!'), Js('~'), Js('&&'), Js('||'), Js('?'), Js(':'), Js('==='), Js('=='), Js('>='), Js('<='), Js('<'), Js('>'), Js('!='), Js('!==')]).callprop('indexOf', var.get('t')) + return (PyJs_LONG_461_()>=Js(0.0)) + PyJs_anonymous_460_._set_name('anonymous') + var.get('Reader').get('prototype').put('beforeFunctionExpression', PyJs_anonymous_460_) + @Js + def PyJs_anonymous_462_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['regex', 'keyword', 'previous', 'check']) + var.put('previous', var.get(u"this").get('values').get((var.get(u"this").get('values').get('length')-Js(1.0)))) + var.put('regex', PyJsStrictNeq(var.get('previous'),var.get(u"null"))) + while 1: + SWITCHED = False + CONDITION = (var.get('previous')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('this')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js(']')): + SWITCHED = True + var.put('regex', Js(False)) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(')')): + SWITCHED = True + var.put('keyword', var.get(u"this").get('values').get((var.get(u"this").get('paren')-Js(1.0)))) + var.put('regex', (((PyJsStrictEq(var.get('keyword'),Js('if')) or PyJsStrictEq(var.get('keyword'),Js('while'))) or PyJsStrictEq(var.get('keyword'),Js('for'))) or PyJsStrictEq(var.get('keyword'),Js('with')))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('}')): + SWITCHED = True + var.put('regex', Js(False)) + if PyJsStrictEq(var.get(u"this").get('values').get((var.get(u"this").get('curly')-Js(3.0))),Js('function')): + var.put('check', var.get(u"this").get('values').get((var.get(u"this").get('curly')-Js(4.0)))) + var.put('regex', (var.get(u"this").callprop('beforeFunctionExpression', var.get('check')).neg() if var.get('check') else Js(False))) + else: + if PyJsStrictEq(var.get(u"this").get('values').get((var.get(u"this").get('curly')-Js(4.0))),Js('function')): + var.put('check', var.get(u"this").get('values').get((var.get(u"this").get('curly')-Js(5.0)))) + var.put('regex', (var.get(u"this").callprop('beforeFunctionExpression', var.get('check')).neg() if var.get('check') else Js(True))) + break + if True: + SWITCHED = True + break + SWITCHED = True + break + return var.get('regex') + PyJs_anonymous_462_._set_name('anonymous') + var.get('Reader').get('prototype').put('isRegexStart', PyJs_anonymous_462_) + @Js + def PyJs_anonymous_463_(token, this, arguments, var=var): + var = Scope({'token':token, 'this':this, 'arguments':arguments}, var) + var.registers(['token']) + if (PyJsStrictEq(var.get('token').get('type'),Js(7.0)) or PyJsStrictEq(var.get('token').get('type'),Js(4.0))): + if PyJsStrictEq(var.get('token').get('value'),Js('{')): + var.get(u"this").put('curly', var.get(u"this").get('values').get('length')) + else: + if PyJsStrictEq(var.get('token').get('value'),Js('(')): + var.get(u"this").put('paren', var.get(u"this").get('values').get('length')) + var.get(u"this").get('values').callprop('push', var.get('token').get('value')) + else: + var.get(u"this").get('values').callprop('push', var.get(u"null")) + PyJs_anonymous_463_._set_name('anonymous') + var.get('Reader').get('prototype').put('push', PyJs_anonymous_463_) + return var.get('Reader') + PyJs_anonymous_459_._set_name('anonymous') + var.put('Reader', PyJs_anonymous_459_()) + @Js + def PyJs_anonymous_464_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['Tokenizer']) + @Js + def PyJsHoisted_Tokenizer_(code, config, this, arguments, var=var): + var = Scope({'code':code, 'config':config, 'this':this, 'arguments':arguments}, var) + var.registers(['code', 'config']) + var.get(u"this").put('errorHandler', var.get('error_handler_1').get('ErrorHandler').create()) + var.get(u"this").get('errorHandler').put('tolerant', ((PyJsStrictEq(var.get('config').get('tolerant').typeof(),Js('boolean')) and var.get('config').get('tolerant')) if var.get('config') else Js(False))) + var.get(u"this").put('scanner', var.get('scanner_1').get('Scanner').create(var.get('code'), var.get(u"this").get('errorHandler'))) + var.get(u"this").get('scanner').put('trackComment', ((PyJsStrictEq(var.get('config').get('comment').typeof(),Js('boolean')) and var.get('config').get('comment')) if var.get('config') else Js(False))) + var.get(u"this").put('trackRange', ((PyJsStrictEq(var.get('config').get('range').typeof(),Js('boolean')) and var.get('config').get('range')) if var.get('config') else Js(False))) + var.get(u"this").put('trackLoc', ((PyJsStrictEq(var.get('config').get('loc').typeof(),Js('boolean')) and var.get('config').get('loc')) if var.get('config') else Js(False))) + var.get(u"this").put('buffer', Js([])) + var.get(u"this").put('reader', var.get('Reader').create()) + PyJsHoisted_Tokenizer_.func_name = 'Tokenizer' + var.put('Tokenizer', PyJsHoisted_Tokenizer_) + pass + @Js + def PyJs_anonymous_465_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return var.get(u"this").get('errorHandler').get('errors') + PyJs_anonymous_465_._set_name('anonymous') + var.get('Tokenizer').get('prototype').put('errors', PyJs_anonymous_465_) + @Js + def PyJs_anonymous_466_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['comments', 'e', 'value', 'i', 'comment', 'pattern', 'flags', 'entry', 'startRegex', 'loc', 'token']) + if PyJsStrictEq(var.get(u"this").get('buffer').get('length'),Js(0.0)): + var.put('comments', var.get(u"this").get('scanner').callprop('scanComments')) + if var.get(u"this").get('scanner').get('trackComment'): + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0)): + PyJsTempException = JsToPyException(var.get('Error').create(Js('Invalid string. Length must be a multiple of 4'))) + raise PyJsTempException + var.put('validLen', var.get('b64').callprop('indexOf', Js('='))) + if PyJsStrictEq(var.get('validLen'),(-Js(1.0))): + var.put('validLen', var.get('len')) + var.put('placeHoldersLen', (Js(0.0) if PyJsStrictEq(var.get('validLen'),var.get('len')) else (Js(4.0)-(var.get('validLen')%Js(4.0))))) + return Js([var.get('validLen'), var.get('placeHoldersLen')]) + PyJsHoisted_getLens_.func_name = 'getLens' + var.put('getLens', PyJsHoisted_getLens_) + @Js + def PyJsHoisted_byteLength_(b64, this, arguments, var=var): + var = Scope({'b64':b64, 'this':this, 'arguments':arguments}, var) + var.registers(['validLen', 'lens', 'b64', 'placeHoldersLen']) + var.put('lens', var.get('getLens')(var.get('b64'))) + var.put('validLen', var.get('lens').get('0')) + var.put('placeHoldersLen', var.get('lens').get('1')) + return ((((var.get('validLen')+var.get('placeHoldersLen'))*Js(3.0))/Js(4.0))-var.get('placeHoldersLen')) + PyJsHoisted_byteLength_.func_name = 'byteLength' + var.put('byteLength', PyJsHoisted_byteLength_) + @Js + def PyJsHoisted__byteLength_(b64, validLen, placeHoldersLen, this, arguments, var=var): + var = Scope({'b64':b64, 'validLen':validLen, 'placeHoldersLen':placeHoldersLen, 'this':this, 'arguments':arguments}, var) + var.registers(['validLen', 'b64', 'placeHoldersLen']) + return ((((var.get('validLen')+var.get('placeHoldersLen'))*Js(3.0))/Js(4.0))-var.get('placeHoldersLen')) + PyJsHoisted__byteLength_.func_name = '_byteLength' + var.put('_byteLength', PyJsHoisted__byteLength_) + @Js + def PyJsHoisted_toByteArray_(b64, this, arguments, var=var): + var = Scope({'b64':b64, 'this':this, 'arguments':arguments}, var) + var.registers(['len', 'i', 'placeHoldersLen', 'lens', 'b64', 'curByte', 'arr', 'tmp', 'validLen']) + pass + var.put('lens', var.get('getLens')(var.get('b64'))) + var.put('validLen', var.get('lens').get('0')) + var.put('placeHoldersLen', var.get('lens').get('1')) + var.put('arr', var.get('Arr').create(var.get('_byteLength')(var.get('b64'), var.get('validLen'), var.get('placeHoldersLen')))) + var.put('curByte', Js(0.0)) + var.put('len', ((var.get('validLen')-Js(4.0)) if (var.get('placeHoldersLen')>Js(0.0)) else var.get('validLen'))) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')>Js(16.0))&Js(255))) + var.get('arr').put((var.put('curByte',Js(var.get('curByte').to_number())+Js(1))-Js(1)), ((var.get('tmp')>>Js(8.0))&Js(255))) + var.get('arr').put((var.put('curByte',Js(var.get('curByte').to_number())+Js(1))-Js(1)), (var.get('tmp')&Js(255))) + finally: + var.put('i', Js(4.0), '+') + if PyJsStrictEq(var.get('placeHoldersLen'),Js(2.0)): + var.put('tmp', ((var.get('revLookup').get(var.get('b64').callprop('charCodeAt', var.get('i')))<>Js(4.0)))) + var.get('arr').put((var.put('curByte',Js(var.get('curByte').to_number())+Js(1))-Js(1)), (var.get('tmp')&Js(255))) + if PyJsStrictEq(var.get('placeHoldersLen'),Js(1.0)): + var.put('tmp', (((var.get('revLookup').get(var.get('b64').callprop('charCodeAt', var.get('i')))<>Js(2.0)))) + var.get('arr').put((var.put('curByte',Js(var.get('curByte').to_number())+Js(1))-Js(1)), ((var.get('tmp')>>Js(8.0))&Js(255))) + var.get('arr').put((var.put('curByte',Js(var.get('curByte').to_number())+Js(1))-Js(1)), (var.get('tmp')&Js(255))) + return var.get('arr') + PyJsHoisted_toByteArray_.func_name = 'toByteArray' + var.put('toByteArray', PyJsHoisted_toByteArray_) + @Js + def PyJsHoisted_tripletToBase64_(num, this, arguments, var=var): + var = Scope({'num':num, 'this':this, 'arguments':arguments}, var) + var.registers(['num']) + return (((var.get('lookup').get(((var.get('num')>>Js(18.0))&Js(63)))+var.get('lookup').get(((var.get('num')>>Js(12.0))&Js(63))))+var.get('lookup').get(((var.get('num')>>Js(6.0))&Js(63))))+var.get('lookup').get((var.get('num')&Js(63)))) + PyJsHoisted_tripletToBase64_.func_name = 'tripletToBase64' + var.put('tripletToBase64', PyJsHoisted_tripletToBase64_) + @Js + def PyJsHoisted_encodeChunk_(uint8, start, end, this, arguments, var=var): + var = Scope({'uint8':uint8, 'start':start, 'end':end, 'this':this, 'arguments':arguments}, var) + var.registers(['uint8', 'i', 'output', 'start', 'tmp', 'end']) + pass + var.put('output', Js([])) + #for JS loop + var.put('i', var.get('start')) + while (var.get('i')var.get('len2')) else (var.get('i')+var.get('maxChunkLength'))))) + finally: + var.put('i', var.get('maxChunkLength'), '+') + if PyJsStrictEq(var.get('extraBytes'),Js(1.0)): + var.put('tmp', var.get('uint8').get((var.get('len')-Js(1.0)))) + var.get('parts').callprop('push', ((var.get('lookup').get((var.get('tmp')>>Js(2.0)))+var.get('lookup').get(((var.get('tmp')<>Js(10.0)))+var.get('lookup').get(((var.get('tmp')>>Js(4.0))&Js(63))))+var.get('lookup').get(((var.get('tmp')<Js(0.0))-(var.get('v')>(var.get('INT_BITS')-Js(1.0)))) + return ((var.get('v')^var.get('mask'))-var.get('mask')) + PyJs_anonymous_6_._set_name('anonymous') + var.get('exports').put('abs', PyJs_anonymous_6_) + @Js + def PyJs_anonymous_7_(x, y, this, arguments, var=var): + var = Scope({'x':x, 'y':y, 'this':this, 'arguments':arguments}, var) + var.registers(['y', 'x']) + return (var.get('y')^((var.get('x')^var.get('y'))&(-(var.get('x')Js(65535))<>>') + var.put('shift', ((var.get('v')>Js(255))<>>') + var.put('r', var.get('shift'), '|') + var.put('shift', ((var.get('v')>Js(15))<>>') + var.put('r', var.get('shift'), '|') + var.put('shift', ((var.get('v')>Js(3))<>>') + var.put('r', var.get('shift'), '|') + return (var.get('r')|(var.get('v')>>Js(1.0))) + PyJs_anonymous_10_._set_name('anonymous') + var.get('exports').put('log2', PyJs_anonymous_10_) + @Js + def PyJs_anonymous_11_(v, this, arguments, var=var): + var = Scope({'v':v, 'this':this, 'arguments':arguments}, var) + var.registers(['v']) + def PyJs_LONG_12_(var=var): + return (Js(9.0) if (var.get('v')>=Js(1000000000.0)) else (Js(8.0) if (var.get('v')>=Js(100000000.0)) else (Js(7.0) if (var.get('v')>=Js(10000000.0)) else (Js(6.0) if (var.get('v')>=Js(1000000.0)) else (Js(5.0) if (var.get('v')>=Js(100000.0)) else (Js(4.0) if (var.get('v')>=Js(10000.0)) else (Js(3.0) if (var.get('v')>=Js(1000.0)) else (Js(2.0) if (var.get('v')>=Js(100.0)) else (Js(1.0) if (var.get('v')>=Js(10.0)) else Js(0.0)))))))))) + return PyJs_LONG_12_() + PyJs_anonymous_11_._set_name('anonymous') + var.get('exports').put('log10', PyJs_anonymous_11_) + @Js + def PyJs_anonymous_13_(v, this, arguments, var=var): + var = Scope({'v':v, 'this':this, 'arguments':arguments}, var) + var.registers(['v']) + var.put('v', (var.get('v')-(PyJsBshift(var.get('v'),Js(1.0))&Js(1431655765)))) + var.put('v', ((var.get('v')&Js(858993459))+(PyJsBshift(var.get('v'),Js(2.0))&Js(858993459)))) + return PyJsBshift((((var.get('v')+PyJsBshift(var.get('v'),Js(4.0)))&Js(252645135))*Js(16843009)),Js(24.0)) + PyJs_anonymous_13_._set_name('anonymous') + var.get('exports').put('popCount', PyJs_anonymous_13_) + pass + var.get('exports').put('countTrailingZeros', var.get('countTrailingZeros')) + @Js + def PyJs_anonymous_14_(v, this, arguments, var=var): + var = Scope({'v':v, 'this':this, 'arguments':arguments}, var) + var.registers(['v']) + var.put('v', PyJsStrictEq(var.get('v'),Js(0.0)), '+') + var.put('v',Js(var.get('v').to_number())-Js(1)) + var.put('v', PyJsBshift(var.get('v'),Js(1.0)), '|') + var.put('v', PyJsBshift(var.get('v'),Js(2.0)), '|') + var.put('v', PyJsBshift(var.get('v'),Js(4.0)), '|') + var.put('v', PyJsBshift(var.get('v'),Js(8.0)), '|') + var.put('v', PyJsBshift(var.get('v'),Js(16.0)), '|') + return (var.get('v')+Js(1.0)) + PyJs_anonymous_14_._set_name('anonymous') + var.get('exports').put('nextPow2', PyJs_anonymous_14_) + @Js + def PyJs_anonymous_15_(v, this, arguments, var=var): + var = Scope({'v':v, 'this':this, 'arguments':arguments}, var) + var.registers(['v']) + var.put('v', PyJsBshift(var.get('v'),Js(1.0)), '|') + var.put('v', PyJsBshift(var.get('v'),Js(2.0)), '|') + var.put('v', PyJsBshift(var.get('v'),Js(4.0)), '|') + var.put('v', PyJsBshift(var.get('v'),Js(8.0)), '|') + var.put('v', PyJsBshift(var.get('v'),Js(16.0)), '|') + return (var.get('v')-PyJsBshift(var.get('v'),Js(1.0))) + PyJs_anonymous_15_._set_name('anonymous') + var.get('exports').put('prevPow2', PyJs_anonymous_15_) + @Js + def PyJs_anonymous_16_(v, this, arguments, var=var): + var = Scope({'v':v, 'this':this, 'arguments':arguments}, var) + var.registers(['v']) + var.put('v', PyJsBshift(var.get('v'),Js(16.0)), '^') + var.put('v', PyJsBshift(var.get('v'),Js(8.0)), '^') + var.put('v', PyJsBshift(var.get('v'),Js(4.0)), '^') + var.put('v', Js(15), '&') + return (PyJsBshift(Js(27030),var.get('v'))&Js(1.0)) + PyJs_anonymous_16_._set_name('anonymous') + var.get('exports').put('parity', PyJs_anonymous_16_) + var.put('REVERSE_TABLE', var.get('Array').create(Js(256.0))) + @Js + def PyJs_anonymous_17_(tab, this, arguments, var=var): + var = Scope({'tab':tab, 'this':this, 'arguments':arguments}, var) + var.registers(['tab', 'i', 's', 'r', 'v']) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')>>') + while var.get('v'): + try: + var.put('r', Js(1.0), '<<') + var.put('r', (var.get('v')&Js(1.0)), '|') + var.put('s',Js(var.get('s').to_number())-Js(1)) + finally: + var.put('v', Js(1.0), '>>>') + var.get('tab').put(var.get('i'), ((var.get('r')<>Js(16.0)) + PyJs_anonymous_20_._set_name('anonymous') + var.get('exports').put('deinterleave2', PyJs_anonymous_20_) + @Js + def PyJs_anonymous_21_(x, y, z, this, arguments, var=var): + var = Scope({'x':x, 'y':y, 'z':z, 'this':this, 'arguments':arguments}, var) + var.registers(['y', 'z', 'x']) + var.put('x', Js(1023), '&') + var.put('x', ((var.get('x')|(var.get('x')<>Js(22.0)) + PyJs_anonymous_22_._set_name('anonymous') + var.get('exports').put('deinterleave3', PyJs_anonymous_22_) + @Js + def PyJs_anonymous_23_(v, this, arguments, var=var): + var = Scope({'v':v, 'this':this, 'arguments':arguments}, var) + var.registers(['t', 'v']) + var.put('t', (var.get('v')|(var.get('v')-Js(1.0)))) + return ((var.get('t')+Js(1.0))|PyJsBshift((((~var.get('t'))&(-(~var.get('t'))))-Js(1.0)),(var.get('countTrailingZeros')(var.get('v'))+Js(1.0)))) + PyJs_anonymous_23_._set_name('anonymous') + var.get('exports').put('nextCombination', PyJs_anonymous_23_) + PyJs_anonymous_4_._set_name('anonymous') + @Js + def PyJs_anonymous_24_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['allocUnsafe', 'INVALID_BASE64_RE', 'fromObject', 'typedArraySupport', 'checked', 'swap', 'blitBuffer', 'hexWrite', 'MAX_ARGUMENTS_LENGTH', 'arrayIndexOf', 'bidirectionalIndexOf', 'checkOffset', 'base64', 'Buffer', 'slowToString', 'SlowBuffer', 'fromArrayBuffer', 'fromArrayLike', 'writeDouble', 'ieee754', 'checkInt', 'byteLength', 'hexSlice', 'utf16leToBytes', 'exports', 'K_MAX_LENGTH', 'base64clean', 'ucs2Write', 'base64ToBytes', 'utf8Slice', 'utf8Write', 'require', 'createBuffer', 'base64Write', 'writeFloat', 'latin1Write', 'alloc', 'asciiSlice', 'toHex', 'utf8ToBytes', 'from', 'utf16leSlice', 'module', 'checkIEEE754', 'fromString', 'assertSize', 'numberIsNaN', 'base64Slice', 'latin1Slice', 'isInstance', 'asciiToBytes', 'decodeCodePointsArray', 'asciiWrite']) + @Js + def PyJsHoisted_typedArraySupport_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['arr']) + try: + var.put('arr', var.get('Uint8Array').create(Js(1.0))) + @Js + def PyJs_foo_25_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'foo':PyJs_foo_25_}, var) + var.registers([]) + return Js(42.0) + PyJs_foo_25_._set_name('foo') + var.get('arr').put('__proto__', Js({'__proto__':var.get('Uint8Array').get('prototype'),'foo':PyJs_foo_25_})) + return PyJsStrictEq(var.get('arr').callprop('foo'),Js(42.0)) + except PyJsException as PyJsTempException: + PyJsHolder_65_29748330 = var.own.get('e') + var.force_own_put('e', PyExceptionToJs(PyJsTempException)) + try: + return Js(False) + finally: + if PyJsHolder_65_29748330 is not None: + var.own['e'] = PyJsHolder_65_29748330 + else: + del var.own['e'] + del PyJsHolder_65_29748330 + PyJsHoisted_typedArraySupport_.func_name = 'typedArraySupport' + var.put('typedArraySupport', PyJsHoisted_typedArraySupport_) + @Js + def PyJsHoisted_createBuffer_(length, this, arguments, var=var): + var = Scope({'length':length, 'this':this, 'arguments':arguments}, var) + var.registers(['length', 'buf']) + if (var.get('length')>var.get('K_MAX_LENGTH')): + PyJsTempException = JsToPyException(var.get('RangeError').create(((Js('The value "')+var.get('length'))+Js('" is invalid for option "size"')))) + raise PyJsTempException + var.put('buf', var.get('Uint8Array').create(var.get('length'))) + var.get('buf').put('__proto__', var.get('Buffer').get('prototype')) + return var.get('buf') + PyJsHoisted_createBuffer_.func_name = 'createBuffer' + var.put('createBuffer', PyJsHoisted_createBuffer_) + @Js + def PyJsHoisted_Buffer_(arg, encodingOrOffset, length, this, arguments, var=var): + var = Scope({'arg':arg, 'encodingOrOffset':encodingOrOffset, 'length':length, 'this':this, 'arguments':arguments}, var) + var.registers(['length', 'arg', 'encodingOrOffset']) + if PyJsStrictEq(var.get('arg',throw=False).typeof(),Js('number')): + if PyJsStrictEq(var.get('encodingOrOffset',throw=False).typeof(),Js('string')): + PyJsTempException = JsToPyException(var.get('TypeError').create(Js('The "string" argument must be of type string. Received type number'))) + raise PyJsTempException + return var.get('allocUnsafe')(var.get('arg')) + return var.get('from')(var.get('arg'), var.get('encodingOrOffset'), var.get('length')) + PyJsHoisted_Buffer_.func_name = 'Buffer' + var.put('Buffer', PyJsHoisted_Buffer_) + @Js + def PyJsHoisted_from_(value, encodingOrOffset, length, this, arguments, var=var): + var = Scope({'value':value, 'encodingOrOffset':encodingOrOffset, 'length':length, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'valueOf', 'b', 'encodingOrOffset', 'length']) + if PyJsStrictEq(var.get('value',throw=False).typeof(),Js('string')): + return var.get('fromString')(var.get('value'), var.get('encodingOrOffset')) + if var.get('ArrayBuffer').callprop('isView', var.get('value')): + return var.get('fromArrayLike')(var.get('value')) + if (var.get('value')==var.get(u"null")): + PyJsTempException = JsToPyException(var.get('TypeError')(((Js('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ')+Js('or Array-like Object. Received type '))+(Js('undefined') if PyJsStrictEq(var.get('value',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('value')))))) + raise PyJsTempException + if (var.get('isInstance')(var.get('value'), var.get('ArrayBuffer')) or (var.get('value') and var.get('isInstance')(var.get('value').get('buffer'), var.get('ArrayBuffer')))): + return var.get('fromArrayBuffer')(var.get('value'), var.get('encodingOrOffset'), var.get('length')) + if PyJsStrictEq(var.get('value',throw=False).typeof(),Js('number')): + PyJsTempException = JsToPyException(var.get('TypeError').create(Js('The "value" argument must not be of type number. Received type number'))) + raise PyJsTempException + var.put('valueOf', (var.get('value').get('valueOf') and var.get('value').callprop('valueOf'))) + if ((var.get('valueOf')!=var.get(u"null")) and PyJsStrictNeq(var.get('valueOf'),var.get('value'))): + return var.get('Buffer').callprop('from', var.get('valueOf'), var.get('encodingOrOffset'), var.get('length')) + var.put('b', var.get('fromObject')(var.get('value'))) + if var.get('b'): + return var.get('b') + if ((PyJsStrictNeq(var.get('Symbol',throw=False).typeof(),Js('undefined')) and (var.get('Symbol').get('toPrimitive')!=var.get(u"null"))) and PyJsStrictEq(var.get('value').get(var.get('Symbol').get('toPrimitive')).typeof(),Js('function'))): + return var.get('Buffer').callprop('from', var.get('value').callprop(var.get('Symbol').get('toPrimitive'), Js('string')), var.get('encodingOrOffset'), var.get('length')) + PyJsTempException = JsToPyException(var.get('TypeError').create(((Js('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ')+Js('or Array-like Object. Received type '))+(Js('undefined') if PyJsStrictEq(var.get('value',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('value')))))) + raise PyJsTempException + PyJsHoisted_from_.func_name = 'from' + var.put('from', PyJsHoisted_from_) + @Js + def PyJsHoisted_assertSize_(size, this, arguments, var=var): + var = Scope({'size':size, 'this':this, 'arguments':arguments}, var) + var.registers(['size']) + if PyJsStrictNeq(var.get('size',throw=False).typeof(),Js('number')): + PyJsTempException = JsToPyException(var.get('TypeError').create(Js('"size" argument must be of type number'))) + raise PyJsTempException + else: + if (var.get('size')=var.get('K_MAX_LENGTH')): + PyJsTempException = JsToPyException(var.get('RangeError').create((((Js('Attempt to allocate Buffer larger than maximum ')+Js('size: 0x'))+var.get('K_MAX_LENGTH').callprop('toString', Js(16.0)))+Js(' bytes')))) + raise PyJsTempException + return (var.get('length')|Js(0.0)) + PyJsHoisted_checked_.func_name = 'checked' + var.put('checked', PyJsHoisted_checked_) + @Js + def PyJsHoisted_SlowBuffer_(length, this, arguments, var=var): + var = Scope({'length':length, 'this':this, 'arguments':arguments}, var) + var.registers(['length']) + if ((+var.get('length'))!=var.get('length')): + var.put('length', Js(0.0)) + return var.get('Buffer').callprop('alloc', (+var.get('length'))) + PyJsHoisted_SlowBuffer_.func_name = 'SlowBuffer' + var.put('SlowBuffer', PyJsHoisted_SlowBuffer_) + @Js + def PyJsHoisted_byteLength_(string, encoding, this, arguments, var=var): + var = Scope({'string':string, 'encoding':encoding, 'this':this, 'arguments':arguments}, var) + var.registers(['len', 'mustMatch', 'loweredCase', 'string', 'encoding']) + if var.get('Buffer').callprop('isBuffer', var.get('string')): + return var.get('string').get('length') + if (var.get('ArrayBuffer').callprop('isView', var.get('string')) or var.get('isInstance')(var.get('string'), var.get('ArrayBuffer'))): + return var.get('string').get('byteLength') + if PyJsStrictNeq(var.get('string',throw=False).typeof(),Js('string')): + PyJsTempException = JsToPyException(var.get('TypeError').create(((Js('The "string" argument must be one of type string, Buffer, or ArrayBuffer. ')+Js('Received type '))+(Js('undefined') if PyJsStrictEq(var.get('string',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('string')))))) + raise PyJsTempException + var.put('len', var.get('string').get('length')) + var.put('mustMatch', ((var.get('arguments').get('length')>Js(2.0)) and PyJsStrictEq(var.get('arguments').get('2'),Js(True)))) + if (var.get('mustMatch').neg() and PyJsStrictEq(var.get('len'),Js(0.0))): + return Js(0.0) + var.put('loweredCase', Js(False)) + #for JS loop + + while 1: + while 1: + SWITCHED = False + CONDITION = (var.get('encoding')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('ascii')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('latin1')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('binary')): + SWITCHED = True + return var.get('len') + if SWITCHED or PyJsStrictEq(CONDITION, Js('utf8')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('utf-8')): + SWITCHED = True + return var.get('utf8ToBytes')(var.get('string')).get('length') + if SWITCHED or PyJsStrictEq(CONDITION, Js('ucs2')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ucs-2')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('utf16le')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('utf-16le')): + SWITCHED = True + return (var.get('len')*Js(2.0)) + if SWITCHED or PyJsStrictEq(CONDITION, Js('hex')): + SWITCHED = True + return PyJsBshift(var.get('len'),Js(1.0)) + if SWITCHED or PyJsStrictEq(CONDITION, Js('base64')): + SWITCHED = True + return var.get('base64ToBytes')(var.get('string')).get('length') + if True: + SWITCHED = True + if var.get('loweredCase'): + return ((-Js(1.0)) if var.get('mustMatch') else var.get('utf8ToBytes')(var.get('string')).get('length')) + var.put('encoding', (Js('')+var.get('encoding')).callprop('toLowerCase')) + var.put('loweredCase', Js(True)) + SWITCHED = True + break + + PyJsHoisted_byteLength_.func_name = 'byteLength' + var.put('byteLength', PyJsHoisted_byteLength_) + @Js + def PyJsHoisted_slowToString_(encoding, start, end, this, arguments, var=var): + var = Scope({'encoding':encoding, 'start':start, 'end':end, 'this':this, 'arguments':arguments}, var) + var.registers(['end', 'encoding', 'start', 'loweredCase']) + var.put('loweredCase', Js(False)) + if (PyJsStrictEq(var.get('start'),var.get('undefined')) or (var.get('start')var.get(u"this").get('length')): + return Js('') + if (PyJsStrictEq(var.get('end'),var.get('undefined')) or (var.get('end')>var.get(u"this").get('length'))): + var.put('end', var.get(u"this").get('length')) + if (var.get('end')<=Js(0.0)): + return Js('') + var.put('end', Js(0.0), '>>>') + var.put('start', Js(0.0), '>>>') + if (var.get('end')<=var.get('start')): + return Js('') + if var.get('encoding').neg(): + var.put('encoding', Js('utf8')) + while Js(True): + while 1: + SWITCHED = False + CONDITION = (var.get('encoding')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('hex')): + SWITCHED = True + return var.get('hexSlice')(var.get(u"this"), var.get('start'), var.get('end')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('utf8')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('utf-8')): + SWITCHED = True + return var.get('utf8Slice')(var.get(u"this"), var.get('start'), var.get('end')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('ascii')): + SWITCHED = True + return var.get('asciiSlice')(var.get(u"this"), var.get('start'), var.get('end')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('latin1')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('binary')): + SWITCHED = True + return var.get('latin1Slice')(var.get(u"this"), var.get('start'), var.get('end')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('base64')): + SWITCHED = True + return var.get('base64Slice')(var.get(u"this"), var.get('start'), var.get('end')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('ucs2')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ucs-2')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('utf16le')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('utf-16le')): + SWITCHED = True + return var.get('utf16leSlice')(var.get(u"this"), var.get('start'), var.get('end')) + if True: + SWITCHED = True + if var.get('loweredCase'): + PyJsTempException = JsToPyException(var.get('TypeError').create((Js('Unknown encoding: ')+var.get('encoding')))) + raise PyJsTempException + var.put('encoding', (var.get('encoding')+Js('')).callprop('toLowerCase')) + var.put('loweredCase', Js(True)) + SWITCHED = True + break + PyJsHoisted_slowToString_.func_name = 'slowToString' + var.put('slowToString', PyJsHoisted_slowToString_) + @Js + def PyJsHoisted_swap_(b, n, m, this, arguments, var=var): + var = Scope({'b':b, 'n':n, 'm':m, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'm', 'b', 'n']) + var.put('i', var.get('b').get(var.get('n'))) + var.get('b').put(var.get('n'), var.get('b').get(var.get('m'))) + var.get('b').put(var.get('m'), var.get('i')) + PyJsHoisted_swap_.func_name = 'swap' + var.put('swap', PyJsHoisted_swap_) + @Js + def PyJsHoisted_bidirectionalIndexOf_(buffer, val, byteOffset, encoding, dir, this, arguments, var=var): + var = Scope({'buffer':buffer, 'val':val, 'byteOffset':byteOffset, 'encoding':encoding, 'dir':dir, 'this':this, 'arguments':arguments}, var) + var.registers(['dir', 'byteOffset', 'buffer', 'encoding', 'val']) + if PyJsStrictEq(var.get('buffer').get('length'),Js(0.0)): + return (-Js(1.0)) + if PyJsStrictEq(var.get('byteOffset',throw=False).typeof(),Js('string')): + var.put('encoding', var.get('byteOffset')) + var.put('byteOffset', Js(0.0)) + else: + if (var.get('byteOffset')>Js(2147483647)): + var.put('byteOffset', Js(2147483647)) + else: + if (var.get('byteOffset')<(-Js(2147483648))): + var.put('byteOffset', (-Js(2147483648))) + var.put('byteOffset', (+var.get('byteOffset'))) + if var.get('numberIsNaN')(var.get('byteOffset')): + var.put('byteOffset', (Js(0.0) if var.get('dir') else (var.get('buffer').get('length')-Js(1.0)))) + if (var.get('byteOffset')=var.get('buffer').get('length')): + if var.get('dir'): + return (-Js(1.0)) + else: + var.put('byteOffset', (var.get('buffer').get('length')-Js(1.0))) + else: + if (var.get('byteOffset')var.get('arrLength')): + var.put('byteOffset', (var.get('arrLength')-var.get('valLength'))) + #for JS loop + var.put('i', var.get('byteOffset')) + while (var.get('i')>=Js(0.0)): + try: + var.put('found', Js(True)) + #for JS loop + var.put('j', Js(0.0)) + while (var.get('j')var.get('remaining')): + var.put('length', var.get('remaining')) + var.put('strLen', var.get('string').get('length')) + if (var.get('length')>(var.get('strLen')/Js(2.0))): + var.put('length', (var.get('strLen')/Js(2.0))) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(239)) else (Js(3.0) if (var.get('firstByte')>Js(223)) else (Js(2.0) if (var.get('firstByte')>Js(191)) else Js(1.0))))) + if ((var.get('i')+var.get('bytesPerSequence'))<=var.get('end')): + pass + while 1: + SWITCHED = False + CONDITION = (var.get('bytesPerSequence')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(1.0)): + SWITCHED = True + if (var.get('firstByte')Js(127)): + var.put('codePoint', var.get('tempCodePoint')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + var.put('secondByte', var.get('buf').get((var.get('i')+Js(1.0)))) + var.put('thirdByte', var.get('buf').get((var.get('i')+Js(2.0)))) + if (PyJsStrictEq((var.get('secondByte')&Js(192)),Js(128)) and PyJsStrictEq((var.get('thirdByte')&Js(192)),Js(128))): + var.put('tempCodePoint', ((((var.get('firstByte')&Js(15))<Js(2047)) and ((var.get('tempCodePoint')Js(57343)))): + var.put('codePoint', var.get('tempCodePoint')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js(4.0)): + SWITCHED = True + var.put('secondByte', var.get('buf').get((var.get('i')+Js(1.0)))) + var.put('thirdByte', var.get('buf').get((var.get('i')+Js(2.0)))) + var.put('fourthByte', var.get('buf').get((var.get('i')+Js(3.0)))) + if ((PyJsStrictEq((var.get('secondByte')&Js(192)),Js(128)) and PyJsStrictEq((var.get('thirdByte')&Js(192)),Js(128))) and PyJsStrictEq((var.get('fourthByte')&Js(192)),Js(128))): + var.put('tempCodePoint', (((((var.get('firstByte')&Js(15))<Js(65535)) and (var.get('tempCodePoint')Js(65535)): + var.put('codePoint', Js(65536), '-') + var.get('res').callprop('push', ((PyJsBshift(var.get('codePoint'),Js(10.0))&Js(1023))|Js(55296))) + var.put('codePoint', (Js(56320)|(var.get('codePoint')&Js(1023)))) + var.get('res').callprop('push', var.get('codePoint')) + var.put('i', var.get('bytesPerSequence'), '+') + return var.get('decodeCodePointsArray')(var.get('res')) + PyJsHoisted_utf8Slice_.func_name = 'utf8Slice' + var.put('utf8Slice', PyJsHoisted_utf8Slice_) + @Js + def PyJsHoisted_decodeCodePointsArray_(codePoints, this, arguments, var=var): + var = Scope({'codePoints':codePoints, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'len', 'codePoints', 'res']) + var.put('len', var.get('codePoints').get('length')) + if (var.get('len')<=var.get('MAX_ARGUMENTS_LENGTH')): + return var.get('String').get('fromCharCode').callprop('apply', var.get('String'), var.get('codePoints')) + var.put('res', Js('')) + var.put('i', Js(0.0)) + while (var.get('i')var.get('len'))): + var.put('end', var.get('len')) + var.put('out', Js('')) + #for JS loop + var.put('i', var.get('start')) + while (var.get('i')var.get('length')): + PyJsTempException = JsToPyException(var.get('RangeError').create(Js('Trying to access beyond buffer length'))) + raise PyJsTempException + PyJsHoisted_checkOffset_.func_name = 'checkOffset' + var.put('checkOffset', PyJsHoisted_checkOffset_) + @Js + def PyJsHoisted_checkInt_(buf, value, offset, ext, max, min, this, arguments, var=var): + var = Scope({'buf':buf, 'value':value, 'offset':offset, 'ext':ext, 'max':max, 'min':min, 'this':this, 'arguments':arguments}, var) + var.registers(['max', 'min', 'value', 'offset', 'buf', 'ext']) + if var.get('Buffer').callprop('isBuffer', var.get('buf')).neg(): + PyJsTempException = JsToPyException(var.get('TypeError').create(Js('"buffer" argument must be a Buffer instance'))) + raise PyJsTempException + if ((var.get('value')>var.get('max')) or (var.get('value')var.get('buf').get('length')): + PyJsTempException = JsToPyException(var.get('RangeError').create(Js('Index out of range'))) + raise PyJsTempException + PyJsHoisted_checkInt_.func_name = 'checkInt' + var.put('checkInt', PyJsHoisted_checkInt_) + @Js + def PyJsHoisted_checkIEEE754_(buf, value, offset, ext, max, min, this, arguments, var=var): + var = Scope({'buf':buf, 'value':value, 'offset':offset, 'ext':ext, 'max':max, 'min':min, 'this':this, 'arguments':arguments}, var) + var.registers(['max', 'min', 'value', 'offset', 'buf', 'ext']) + if ((var.get('offset')+var.get('ext'))>var.get('buf').get('length')): + PyJsTempException = JsToPyException(var.get('RangeError').create(Js('Index out of range'))) + raise PyJsTempException + if (var.get('offset')Js(55295)) and (var.get('codePoint')Js(56319)): + if (var.put('units', Js(3.0), '-')>(-Js(1.0))): + var.get('bytes').callprop('push', Js(239), Js(191), Js(189)) + continue + else: + if PyJsStrictEq((var.get('i')+Js(1.0)),var.get('length')): + if (var.put('units', Js(3.0), '-')>(-Js(1.0))): + var.get('bytes').callprop('push', Js(239), Js(191), Js(189)) + continue + var.put('leadSurrogate', var.get('codePoint')) + continue + if (var.get('codePoint')(-Js(1.0))): + var.get('bytes').callprop('push', Js(239), Js(191), Js(189)) + var.put('leadSurrogate', var.get('codePoint')) + continue + var.put('codePoint', ((((var.get('leadSurrogate')-Js(55296))<(-Js(1.0))): + var.get('bytes').callprop('push', Js(239), Js(191), Js(189)) + var.put('leadSurrogate', var.get(u"null")) + if (var.get('codePoint')>Js(6))|Js(192)), ((var.get('codePoint')&Js(63))|Js(128))) + else: + if (var.get('codePoint')>Js(12))|Js(224)), (((var.get('codePoint')>>Js(6))&Js(63))|Js(128)), ((var.get('codePoint')&Js(63))|Js(128))) + else: + if (var.get('codePoint')>Js(18))|Js(240)), (((var.get('codePoint')>>Js(12))&Js(63))|Js(128)), (((var.get('codePoint')>>Js(6))&Js(63))|Js(128)), ((var.get('codePoint')&Js(63))|Js(128))) + else: + PyJsTempException = JsToPyException(var.get('Error').create(Js('Invalid code point'))) + raise PyJsTempException + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + return var.get('bytes') + PyJsHoisted_utf8ToBytes_.func_name = 'utf8ToBytes' + var.put('utf8ToBytes', PyJsHoisted_utf8ToBytes_) + @Js + def PyJsHoisted_asciiToBytes_(str, this, arguments, var=var): + var = Scope({'str':str, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'str', 'byteArray']) + var.put('byteArray', Js([])) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')>Js(8.0))) + var.put('lo', (var.get('c')%Js(256.0))) + var.get('byteArray').callprop('push', var.get('lo')) + var.get('byteArray').callprop('push', var.get('hi')) + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + return var.get('byteArray') + PyJsHoisted_utf16leToBytes_.func_name = 'utf16leToBytes' + var.put('utf16leToBytes', PyJsHoisted_utf16leToBytes_) + @Js + def PyJsHoisted_base64ToBytes_(str, this, arguments, var=var): + var = Scope({'str':str, 'this':this, 'arguments':arguments}, var) + var.registers(['str']) + return var.get('base64').callprop('toByteArray', var.get('base64clean')(var.get('str'))) + PyJsHoisted_base64ToBytes_.func_name = 'base64ToBytes' + var.put('base64ToBytes', PyJsHoisted_base64ToBytes_) + @Js + def PyJsHoisted_blitBuffer_(src, dst, offset, length, this, arguments, var=var): + var = Scope({'src':src, 'dst':dst, 'offset':offset, 'length':length, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'offset', 'src', 'dst', 'length']) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')=var.get('dst').get('length')) or (var.get('i')>=var.get('src').get('length'))): + break + var.get('dst').put((var.get('i')+var.get('offset')), var.get('src').get(var.get('i'))) + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + return var.get('i') + PyJsHoisted_blitBuffer_.func_name = 'blitBuffer' + var.put('blitBuffer', PyJsHoisted_blitBuffer_) + @Js + def PyJsHoisted_isInstance_(obj, type, this, arguments, var=var): + var = Scope({'obj':obj, 'type':type, 'this':this, 'arguments':arguments}, var) + var.registers(['type', 'obj']) + return (var.get('obj').instanceof(var.get('type')) or ((((var.get('obj')!=var.get(u"null")) and (var.get('obj').get('constructor')!=var.get(u"null"))) and (var.get('obj').get('constructor').get('name')!=var.get(u"null"))) and PyJsStrictEq(var.get('obj').get('constructor').get('name'),var.get('type').get('name')))) + PyJsHoisted_isInstance_.func_name = 'isInstance' + var.put('isInstance', PyJsHoisted_isInstance_) + @Js + def PyJsHoisted_numberIsNaN_(obj, this, arguments, var=var): + var = Scope({'obj':obj, 'this':this, 'arguments':arguments}, var) + var.registers(['obj']) + return PyJsStrictNeq(var.get('obj'),var.get('obj')) + PyJsHoisted_numberIsNaN_.func_name = 'numberIsNaN' + var.put('numberIsNaN', PyJsHoisted_numberIsNaN_) + Js('use strict') + var.put('base64', var.get('require')(Js('base64-js'))) + var.put('ieee754', var.get('require')(Js('ieee754'))) + var.get('exports').put('Buffer', var.get('Buffer')) + var.get('exports').put('SlowBuffer', var.get('SlowBuffer')) + var.get('exports').put('INSPECT_MAX_BYTES', Js(50.0)) + var.put('K_MAX_LENGTH', Js(2147483647)) + var.get('exports').put('kMaxLength', var.get('K_MAX_LENGTH')) + var.get('Buffer').put('TYPED_ARRAY_SUPPORT', var.get('typedArraySupport')()) + if ((var.get('Buffer').get('TYPED_ARRAY_SUPPORT').neg() and PyJsStrictNeq(var.get('console',throw=False).typeof(),Js('undefined'))) and PyJsStrictEq(var.get('console').get('error').typeof(),Js('function'))): + var.get('console').callprop('error', (Js('This browser lacks typed array (Uint8Array) support which is required by ')+Js('`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'))) + pass + @Js + def PyJs_get_26_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'get':PyJs_get_26_}, var) + var.registers([]) + if var.get('Buffer').callprop('isBuffer', var.get(u"this")).neg(): + return var.get('undefined') + return var.get(u"this").get('buffer') + PyJs_get_26_._set_name('get') + var.get('Object').callprop('defineProperty', var.get('Buffer').get('prototype'), Js('parent'), Js({'enumerable':Js(True),'get':PyJs_get_26_})) + @Js + def PyJs_get_27_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'get':PyJs_get_27_}, var) + var.registers([]) + if var.get('Buffer').callprop('isBuffer', var.get(u"this")).neg(): + return var.get('undefined') + return var.get(u"this").get('byteOffset') + PyJs_get_27_._set_name('get') + var.get('Object').callprop('defineProperty', var.get('Buffer').get('prototype'), Js('offset'), Js({'enumerable':Js(True),'get':PyJs_get_27_})) + pass + pass + if ((PyJsStrictNeq(var.get('Symbol',throw=False).typeof(),Js('undefined')) and (var.get('Symbol').get('species')!=var.get(u"null"))) and PyJsStrictEq(var.get('Buffer').get(var.get('Symbol').get('species')),var.get('Buffer'))): + var.get('Object').callprop('defineProperty', var.get('Buffer'), var.get('Symbol').get('species'), Js({'value':var.get(u"null"),'configurable':Js(True),'enumerable':Js(False),'writable':Js(False)})) + var.get('Buffer').put('poolSize', Js(8192.0)) + pass + @Js + def PyJs_anonymous_28_(value, encodingOrOffset, length, this, arguments, var=var): + var = Scope({'value':value, 'encodingOrOffset':encodingOrOffset, 'length':length, 'this':this, 'arguments':arguments}, var) + var.registers(['length', 'encodingOrOffset', 'value']) + return var.get('from')(var.get('value'), var.get('encodingOrOffset'), var.get('length')) + PyJs_anonymous_28_._set_name('anonymous') + var.get('Buffer').put('from', PyJs_anonymous_28_) + var.get('Buffer').get('prototype').put('__proto__', var.get('Uint8Array').get('prototype')) + var.get('Buffer').put('__proto__', var.get('Uint8Array')) + pass + pass + @Js + def PyJs_anonymous_29_(size, fill, encoding, this, arguments, var=var): + var = Scope({'size':size, 'fill':fill, 'encoding':encoding, 'this':this, 'arguments':arguments}, var) + var.registers(['fill', 'size', 'encoding']) + return var.get('alloc')(var.get('size'), var.get('fill'), var.get('encoding')) + PyJs_anonymous_29_._set_name('anonymous') + var.get('Buffer').put('alloc', PyJs_anonymous_29_) + pass + @Js + def PyJs_anonymous_30_(size, this, arguments, var=var): + var = Scope({'size':size, 'this':this, 'arguments':arguments}, var) + var.registers(['size']) + return var.get('allocUnsafe')(var.get('size')) + PyJs_anonymous_30_._set_name('anonymous') + var.get('Buffer').put('allocUnsafe', PyJs_anonymous_30_) + @Js + def PyJs_anonymous_31_(size, this, arguments, var=var): + var = Scope({'size':size, 'this':this, 'arguments':arguments}, var) + var.registers(['size']) + return var.get('allocUnsafe')(var.get('size')) + PyJs_anonymous_31_._set_name('anonymous') + var.get('Buffer').put('allocUnsafeSlow', PyJs_anonymous_31_) + pass + pass + pass + pass + pass + pass + @Js + def PyJs_isBuffer_32_(b, this, arguments, var=var): + var = Scope({'b':b, 'this':this, 'arguments':arguments, 'isBuffer':PyJs_isBuffer_32_}, var) + var.registers(['b']) + return (((var.get('b')!=var.get(u"null")) and PyJsStrictEq(var.get('b').get('_isBuffer'),Js(True))) and PyJsStrictNeq(var.get('b'),var.get('Buffer').get('prototype'))) + PyJs_isBuffer_32_._set_name('isBuffer') + var.get('Buffer').put('isBuffer', PyJs_isBuffer_32_) + @Js + def PyJs_compare_33_(a, b, this, arguments, var=var): + var = Scope({'a':a, 'b':b, 'this':this, 'arguments':arguments, 'compare':PyJs_compare_33_}, var) + var.registers(['x', 'len', 'i', 'b', 'a', 'y']) + if var.get('isInstance')(var.get('a'), var.get('Uint8Array')): + var.put('a', var.get('Buffer').callprop('from', var.get('a'), var.get('a').get('offset'), var.get('a').get('byteLength'))) + if var.get('isInstance')(var.get('b'), var.get('Uint8Array')): + var.put('b', var.get('Buffer').callprop('from', var.get('b'), var.get('b').get('offset'), var.get('b').get('byteLength'))) + if (var.get('Buffer').callprop('isBuffer', var.get('a')).neg() or var.get('Buffer').callprop('isBuffer', var.get('b')).neg()): + PyJsTempException = JsToPyException(var.get('TypeError').create(Js('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'))) + raise PyJsTempException + if PyJsStrictEq(var.get('a'),var.get('b')): + return Js(0.0) + var.put('x', var.get('a').get('length')) + var.put('y', var.get('b').get('length')) + #for JS loop + var.put('i', Js(0.0)) + var.put('len', var.get('Math').callprop('min', var.get('x'), var.get('y'))) + while (var.get('i')var.get('max')): + var.put('str', Js(' ... '), '+') + return ((Js('')) + PyJs_inspect_41_._set_name('inspect') + var.get('Buffer').get('prototype').put('inspect', PyJs_inspect_41_) + @Js + def PyJs_compare_42_(target, start, end, thisStart, thisEnd, this, arguments, var=var): + var = Scope({'target':target, 'start':start, 'end':end, 'thisStart':thisStart, 'thisEnd':thisEnd, 'this':this, 'arguments':arguments, 'compare':PyJs_compare_42_}, var) + var.registers(['x', 'len', 'target', 'i', 'targetCopy', 'thisStart', 'thisEnd', 'start', 'end', 'thisCopy', 'y']) + if var.get('isInstance')(var.get('target'), var.get('Uint8Array')): + var.put('target', var.get('Buffer').callprop('from', var.get('target'), var.get('target').get('offset'), var.get('target').get('byteLength'))) + if var.get('Buffer').callprop('isBuffer', var.get('target')).neg(): + PyJsTempException = JsToPyException(var.get('TypeError').create(((Js('The "target" argument must be one of type Buffer or Uint8Array. ')+Js('Received type '))+(Js('undefined') if PyJsStrictEq(var.get('target',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('target')))))) + raise PyJsTempException + if PyJsStrictEq(var.get('start'),var.get('undefined')): + var.put('start', Js(0.0)) + if PyJsStrictEq(var.get('end'),var.get('undefined')): + var.put('end', (var.get('target').get('length') if var.get('target') else Js(0.0))) + if PyJsStrictEq(var.get('thisStart'),var.get('undefined')): + var.put('thisStart', Js(0.0)) + if PyJsStrictEq(var.get('thisEnd'),var.get('undefined')): + var.put('thisEnd', var.get(u"this").get('length')) + if ((((var.get('start')var.get('target').get('length'))) or (var.get('thisStart')var.get(u"this").get('length'))): + PyJsTempException = JsToPyException(var.get('RangeError').create(Js('out of range index'))) + raise PyJsTempException + if ((var.get('thisStart')>=var.get('thisEnd')) and (var.get('start')>=var.get('end'))): + return Js(0.0) + if (var.get('thisStart')>=var.get('thisEnd')): + return (-Js(1.0)) + if (var.get('start')>=var.get('end')): + return Js(1.0) + var.put('start', Js(0.0), '>>>') + var.put('end', Js(0.0), '>>>') + var.put('thisStart', Js(0.0), '>>>') + var.put('thisEnd', Js(0.0), '>>>') + if PyJsStrictEq(var.get(u"this"),var.get('target')): + return Js(0.0) + var.put('x', (var.get('thisEnd')-var.get('thisStart'))) + var.put('y', (var.get('end')-var.get('start'))) + var.put('len', var.get('Math').callprop('min', var.get('x'), var.get('y'))) + var.put('thisCopy', var.get(u"this").callprop('slice', var.get('thisStart'), var.get('thisEnd'))) + var.put('targetCopy', var.get('target').callprop('slice', var.get('start'), var.get('end'))) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')var.get('remaining'))): + var.put('length', var.get('remaining')) + if (((var.get('string').get('length')>Js(0.0)) and ((var.get('length')var.get(u"this").get('length'))): + PyJsTempException = JsToPyException(var.get('RangeError').create(Js('Attempt to write outside buffer bounds'))) + raise PyJsTempException + if var.get('encoding').neg(): + var.put('encoding', Js('utf8')) + var.put('loweredCase', Js(False)) + #for JS loop + + while 1: + while 1: + SWITCHED = False + CONDITION = (var.get('encoding')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('hex')): + SWITCHED = True + return var.get('hexWrite')(var.get(u"this"), var.get('string'), var.get('offset'), var.get('length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('utf8')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('utf-8')): + SWITCHED = True + return var.get('utf8Write')(var.get(u"this"), var.get('string'), var.get('offset'), var.get('length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('ascii')): + SWITCHED = True + return var.get('asciiWrite')(var.get(u"this"), var.get('string'), var.get('offset'), var.get('length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('latin1')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('binary')): + SWITCHED = True + return var.get('latin1Write')(var.get(u"this"), var.get('string'), var.get('offset'), var.get('length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('base64')): + SWITCHED = True + return var.get('base64Write')(var.get(u"this"), var.get('string'), var.get('offset'), var.get('length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('ucs2')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('ucs-2')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('utf16le')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('utf-16le')): + SWITCHED = True + return var.get('ucs2Write')(var.get(u"this"), var.get('string'), var.get('offset'), var.get('length')) + if True: + SWITCHED = True + if var.get('loweredCase'): + PyJsTempException = JsToPyException(var.get('TypeError').create((Js('Unknown encoding: ')+var.get('encoding')))) + raise PyJsTempException + var.put('encoding', (Js('')+var.get('encoding')).callprop('toLowerCase')) + var.put('loweredCase', Js(True)) + SWITCHED = True + break + + PyJs_write_46_._set_name('write') + var.get('Buffer').get('prototype').put('write', PyJs_write_46_) + @Js + def PyJs_toJSON_47_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toJSON':PyJs_toJSON_47_}, var) + var.registers([]) + return Js({'type':Js('Buffer'),'data':var.get('Array').get('prototype').get('slice').callprop('call', (var.get(u"this").get('_arr') or var.get(u"this")), Js(0.0))}) + PyJs_toJSON_47_._set_name('toJSON') + var.get('Buffer').get('prototype').put('toJSON', PyJs_toJSON_47_) + pass + pass + var.put('MAX_ARGUMENTS_LENGTH', Js(4096)) + pass + pass + pass + pass + pass + @Js + def PyJs_slice_48_(start, end, this, arguments, var=var): + var = Scope({'start':start, 'end':end, 'this':this, 'arguments':arguments, 'slice':PyJs_slice_48_}, var) + var.registers(['end', 'len', 'start', 'newBuf']) + var.put('len', var.get(u"this").get('length')) + var.put('start', (~(~var.get('start')))) + var.put('end', (var.get('len') if PyJsStrictEq(var.get('end'),var.get('undefined')) else (~(~var.get('end'))))) + if (var.get('start')var.get('len')): + var.put('start', var.get('len')) + if (var.get('end')var.get('len')): + var.put('end', var.get('len')) + if (var.get('end')Js(0.0)) and var.put('mul', Js(256), '*')): + var.put('val', (var.get(u"this").get((var.get('offset')+var.put('byteLength',Js(var.get('byteLength').to_number())-Js(1))))*var.get('mul')), '+') + return var.get('val') + PyJs_readUIntBE_50_._set_name('readUIntBE') + var.get('Buffer').get('prototype').put('readUIntBE', PyJs_readUIntBE_50_) + @Js + def PyJs_readUInt8_51_(offset, noAssert, this, arguments, var=var): + var = Scope({'offset':offset, 'noAssert':noAssert, 'this':this, 'arguments':arguments, 'readUInt8':PyJs_readUInt8_51_}, var) + var.registers(['offset', 'noAssert']) + var.put('offset', PyJsBshift(var.get('offset'),Js(0.0))) + if var.get('noAssert').neg(): + var.get('checkOffset')(var.get('offset'), Js(1.0), var.get(u"this").get('length')) + return var.get(u"this").get(var.get('offset')) + PyJs_readUInt8_51_._set_name('readUInt8') + var.get('Buffer').get('prototype').put('readUInt8', PyJs_readUInt8_51_) + @Js + def PyJs_readUInt16LE_52_(offset, noAssert, this, arguments, var=var): + var = Scope({'offset':offset, 'noAssert':noAssert, 'this':this, 'arguments':arguments, 'readUInt16LE':PyJs_readUInt16LE_52_}, var) + var.registers(['offset', 'noAssert']) + var.put('offset', PyJsBshift(var.get('offset'),Js(0.0))) + if var.get('noAssert').neg(): + var.get('checkOffset')(var.get('offset'), Js(2.0), var.get(u"this").get('length')) + return (var.get(u"this").get(var.get('offset'))|(var.get(u"this").get((var.get('offset')+Js(1.0)))<=var.get('mul')): + var.put('val', var.get('Math').callprop('pow', Js(2.0), (Js(8.0)*var.get('byteLength'))), '-') + return var.get('val') + PyJs_readIntLE_56_._set_name('readIntLE') + var.get('Buffer').get('prototype').put('readIntLE', PyJs_readIntLE_56_) + @Js + def PyJs_readIntBE_57_(offset, byteLength, noAssert, this, arguments, var=var): + var = Scope({'offset':offset, 'byteLength':byteLength, 'noAssert':noAssert, 'this':this, 'arguments':arguments, 'readIntBE':PyJs_readIntBE_57_}, var) + var.registers(['byteLength', 'i', 'offset', 'noAssert', 'mul', 'val']) + var.put('offset', PyJsBshift(var.get('offset'),Js(0.0))) + var.put('byteLength', PyJsBshift(var.get('byteLength'),Js(0.0))) + if var.get('noAssert').neg(): + var.get('checkOffset')(var.get('offset'), var.get('byteLength'), var.get(u"this").get('length')) + var.put('i', var.get('byteLength')) + var.put('mul', Js(1.0)) + var.put('val', var.get(u"this").get((var.get('offset')+var.put('i',Js(var.get('i').to_number())-Js(1))))) + while ((var.get('i')>Js(0.0)) and var.put('mul', Js(256), '*')): + var.put('val', (var.get(u"this").get((var.get('offset')+var.put('i',Js(var.get('i').to_number())-Js(1))))*var.get('mul')), '+') + var.put('mul', Js(128), '*') + if (var.get('val')>=var.get('mul')): + var.put('val', var.get('Math').callprop('pow', Js(2.0), (Js(8.0)*var.get('byteLength'))), '-') + return var.get('val') + PyJs_readIntBE_57_._set_name('readIntBE') + var.get('Buffer').get('prototype').put('readIntBE', PyJs_readIntBE_57_) + @Js + def PyJs_readInt8_58_(offset, noAssert, this, arguments, var=var): + var = Scope({'offset':offset, 'noAssert':noAssert, 'this':this, 'arguments':arguments, 'readInt8':PyJs_readInt8_58_}, var) + var.registers(['offset', 'noAssert']) + var.put('offset', PyJsBshift(var.get('offset'),Js(0.0))) + if var.get('noAssert').neg(): + var.get('checkOffset')(var.get('offset'), Js(1.0), var.get(u"this").get('length')) + if (var.get(u"this").get(var.get('offset'))&Js(128)).neg(): + return var.get(u"this").get(var.get('offset')) + return (((Js(255)-var.get(u"this").get(var.get('offset')))+Js(1.0))*(-Js(1.0))) + PyJs_readInt8_58_._set_name('readInt8') + var.get('Buffer').get('prototype').put('readInt8', PyJs_readInt8_58_) + @Js + def PyJs_readInt16LE_59_(offset, noAssert, this, arguments, var=var): + var = Scope({'offset':offset, 'noAssert':noAssert, 'this':this, 'arguments':arguments, 'readInt16LE':PyJs_readInt16LE_59_}, var) + var.registers(['offset', 'noAssert', 'val']) + var.put('offset', PyJsBshift(var.get('offset'),Js(0.0))) + if var.get('noAssert').neg(): + var.get('checkOffset')(var.get('offset'), Js(2.0), var.get(u"this").get('length')) + var.put('val', (var.get(u"this").get(var.get('offset'))|(var.get(u"this").get((var.get('offset')+Js(1.0)))<=Js(0.0)) and var.put('mul', Js(256), '*')): + var.get(u"this").put((var.get('offset')+var.get('i')), ((var.get('value')/var.get('mul'))&Js(255))) + return (var.get('offset')+var.get('byteLength')) + PyJs_writeUIntBE_68_._set_name('writeUIntBE') + var.get('Buffer').get('prototype').put('writeUIntBE', PyJs_writeUIntBE_68_) + @Js + def PyJs_writeUInt8_69_(value, offset, noAssert, this, arguments, var=var): + var = Scope({'value':value, 'offset':offset, 'noAssert':noAssert, 'this':this, 'arguments':arguments, 'writeUInt8':PyJs_writeUInt8_69_}, var) + var.registers(['offset', 'noAssert', 'value']) + var.put('value', (+var.get('value'))) + var.put('offset', PyJsBshift(var.get('offset'),Js(0.0))) + if var.get('noAssert').neg(): + var.get('checkInt')(var.get(u"this"), var.get('value'), var.get('offset'), Js(1.0), Js(255), Js(0.0)) + var.get(u"this").put(var.get('offset'), (var.get('value')&Js(255))) + return (var.get('offset')+Js(1.0)) + PyJs_writeUInt8_69_._set_name('writeUInt8') + var.get('Buffer').get('prototype').put('writeUInt8', PyJs_writeUInt8_69_) + @Js + def PyJs_writeUInt16LE_70_(value, offset, noAssert, this, arguments, var=var): + var = Scope({'value':value, 'offset':offset, 'noAssert':noAssert, 'this':this, 'arguments':arguments, 'writeUInt16LE':PyJs_writeUInt16LE_70_}, var) + var.registers(['offset', 'noAssert', 'value']) + var.put('value', (+var.get('value'))) + var.put('offset', PyJsBshift(var.get('offset'),Js(0.0))) + if var.get('noAssert').neg(): + var.get('checkInt')(var.get(u"this"), var.get('value'), var.get('offset'), Js(2.0), Js(65535), Js(0.0)) + var.get(u"this").put(var.get('offset'), (var.get('value')&Js(255))) + var.get(u"this").put((var.get('offset')+Js(1.0)), PyJsBshift(var.get('value'),Js(8.0))) + return (var.get('offset')+Js(2.0)) + PyJs_writeUInt16LE_70_._set_name('writeUInt16LE') + var.get('Buffer').get('prototype').put('writeUInt16LE', PyJs_writeUInt16LE_70_) + @Js + def PyJs_writeUInt16BE_71_(value, offset, noAssert, this, arguments, var=var): + var = Scope({'value':value, 'offset':offset, 'noAssert':noAssert, 'this':this, 'arguments':arguments, 'writeUInt16BE':PyJs_writeUInt16BE_71_}, var) + var.registers(['offset', 'noAssert', 'value']) + var.put('value', (+var.get('value'))) + var.put('offset', PyJsBshift(var.get('offset'),Js(0.0))) + if var.get('noAssert').neg(): + var.get('checkInt')(var.get(u"this"), var.get('value'), var.get('offset'), Js(2.0), Js(65535), Js(0.0)) + var.get(u"this").put(var.get('offset'), PyJsBshift(var.get('value'),Js(8.0))) + var.get(u"this").put((var.get('offset')+Js(1.0)), (var.get('value')&Js(255))) + return (var.get('offset')+Js(2.0)) + PyJs_writeUInt16BE_71_._set_name('writeUInt16BE') + var.get('Buffer').get('prototype').put('writeUInt16BE', PyJs_writeUInt16BE_71_) + @Js + def PyJs_writeUInt32LE_72_(value, offset, noAssert, this, arguments, var=var): + var = Scope({'value':value, 'offset':offset, 'noAssert':noAssert, 'this':this, 'arguments':arguments, 'writeUInt32LE':PyJs_writeUInt32LE_72_}, var) + var.registers(['offset', 'noAssert', 'value']) + var.put('value', (+var.get('value'))) + var.put('offset', PyJsBshift(var.get('offset'),Js(0.0))) + if var.get('noAssert').neg(): + var.get('checkInt')(var.get(u"this"), var.get('value'), var.get('offset'), Js(4.0), Js(4294967295), Js(0.0)) + var.get(u"this").put((var.get('offset')+Js(3.0)), PyJsBshift(var.get('value'),Js(24.0))) + var.get(u"this").put((var.get('offset')+Js(2.0)), PyJsBshift(var.get('value'),Js(16.0))) + var.get(u"this").put((var.get('offset')+Js(1.0)), PyJsBshift(var.get('value'),Js(8.0))) + var.get(u"this").put(var.get('offset'), (var.get('value')&Js(255))) + return (var.get('offset')+Js(4.0)) + PyJs_writeUInt32LE_72_._set_name('writeUInt32LE') + var.get('Buffer').get('prototype').put('writeUInt32LE', PyJs_writeUInt32LE_72_) + @Js + def PyJs_writeUInt32BE_73_(value, offset, noAssert, this, arguments, var=var): + var = Scope({'value':value, 'offset':offset, 'noAssert':noAssert, 'this':this, 'arguments':arguments, 'writeUInt32BE':PyJs_writeUInt32BE_73_}, var) + var.registers(['offset', 'noAssert', 'value']) + var.put('value', (+var.get('value'))) + var.put('offset', PyJsBshift(var.get('offset'),Js(0.0))) + if var.get('noAssert').neg(): + var.get('checkInt')(var.get(u"this"), var.get('value'), var.get('offset'), Js(4.0), Js(4294967295), Js(0.0)) + var.get(u"this").put(var.get('offset'), PyJsBshift(var.get('value'),Js(24.0))) + var.get(u"this").put((var.get('offset')+Js(1.0)), PyJsBshift(var.get('value'),Js(16.0))) + var.get(u"this").put((var.get('offset')+Js(2.0)), PyJsBshift(var.get('value'),Js(8.0))) + var.get(u"this").put((var.get('offset')+Js(3.0)), (var.get('value')&Js(255))) + return (var.get('offset')+Js(4.0)) + PyJs_writeUInt32BE_73_._set_name('writeUInt32BE') + var.get('Buffer').get('prototype').put('writeUInt32BE', PyJs_writeUInt32BE_73_) + @Js + def PyJs_writeIntLE_74_(value, offset, byteLength, noAssert, this, arguments, var=var): + var = Scope({'value':value, 'offset':offset, 'byteLength':byteLength, 'noAssert':noAssert, 'this':this, 'arguments':arguments, 'writeIntLE':PyJs_writeIntLE_74_}, var) + var.registers(['byteLength', 'value', 'i', 'offset', 'noAssert', 'mul', 'limit', 'sub']) + var.put('value', (+var.get('value'))) + var.put('offset', PyJsBshift(var.get('offset'),Js(0.0))) + if var.get('noAssert').neg(): + var.put('limit', var.get('Math').callprop('pow', Js(2.0), ((Js(8.0)*var.get('byteLength'))-Js(1.0)))) + var.get('checkInt')(var.get(u"this"), var.get('value'), var.get('offset'), var.get('byteLength'), (var.get('limit')-Js(1.0)), (-var.get('limit'))) + var.put('i', Js(0.0)) + var.put('mul', Js(1.0)) + var.put('sub', Js(0.0)) + var.get(u"this").put(var.get('offset'), (var.get('value')&Js(255))) + while ((var.put('i',Js(var.get('i').to_number())+Js(1))>Js(0.0))-var.get('sub'))&Js(255))) + return (var.get('offset')+var.get('byteLength')) + PyJs_writeIntLE_74_._set_name('writeIntLE') + var.get('Buffer').get('prototype').put('writeIntLE', PyJs_writeIntLE_74_) + @Js + def PyJs_writeIntBE_75_(value, offset, byteLength, noAssert, this, arguments, var=var): + var = Scope({'value':value, 'offset':offset, 'byteLength':byteLength, 'noAssert':noAssert, 'this':this, 'arguments':arguments, 'writeIntBE':PyJs_writeIntBE_75_}, var) + var.registers(['byteLength', 'value', 'i', 'offset', 'noAssert', 'mul', 'limit', 'sub']) + var.put('value', (+var.get('value'))) + var.put('offset', PyJsBshift(var.get('offset'),Js(0.0))) + if var.get('noAssert').neg(): + var.put('limit', var.get('Math').callprop('pow', Js(2.0), ((Js(8.0)*var.get('byteLength'))-Js(1.0)))) + var.get('checkInt')(var.get(u"this"), var.get('value'), var.get('offset'), var.get('byteLength'), (var.get('limit')-Js(1.0)), (-var.get('limit'))) + var.put('i', (var.get('byteLength')-Js(1.0))) + var.put('mul', Js(1.0)) + var.put('sub', Js(0.0)) + var.get(u"this").put((var.get('offset')+var.get('i')), (var.get('value')&Js(255))) + while ((var.put('i',Js(var.get('i').to_number())-Js(1))>=Js(0.0)) and var.put('mul', Js(256), '*')): + if (((var.get('value')>Js(0.0))-var.get('sub'))&Js(255))) + return (var.get('offset')+var.get('byteLength')) + PyJs_writeIntBE_75_._set_name('writeIntBE') + var.get('Buffer').get('prototype').put('writeIntBE', PyJs_writeIntBE_75_) + @Js + def PyJs_writeInt8_76_(value, offset, noAssert, this, arguments, var=var): + var = Scope({'value':value, 'offset':offset, 'noAssert':noAssert, 'this':this, 'arguments':arguments, 'writeInt8':PyJs_writeInt8_76_}, var) + var.registers(['offset', 'noAssert', 'value']) + var.put('value', (+var.get('value'))) + var.put('offset', PyJsBshift(var.get('offset'),Js(0.0))) + if var.get('noAssert').neg(): + var.get('checkInt')(var.get(u"this"), var.get('value'), var.get('offset'), Js(1.0), Js(127), (-Js(128))) + if (var.get('value')=var.get('target').get('length')): + var.put('targetStart', var.get('target').get('length')) + if var.get('targetStart').neg(): + var.put('targetStart', Js(0.0)) + if ((var.get('end')>Js(0.0)) and (var.get('end')=var.get(u"this").get('length'))): + PyJsTempException = JsToPyException(var.get('RangeError').create(Js('Index out of range'))) + raise PyJsTempException + if (var.get('end')var.get(u"this").get('length')): + var.put('end', var.get(u"this").get('length')) + if ((var.get('target').get('length')-var.get('targetStart'))<(var.get('end')-var.get('start'))): + var.put('end', ((var.get('target').get('length')-var.get('targetStart'))+var.get('start'))) + var.put('len', (var.get('end')-var.get('start'))) + if (PyJsStrictEq(var.get(u"this"),var.get('target')) and PyJsStrictEq(var.get('Uint8Array').get('prototype').get('copyWithin').typeof(),Js('function'))): + var.get(u"this").callprop('copyWithin', var.get('targetStart'), var.get('start'), var.get('end')) + else: + if ((PyJsStrictEq(var.get(u"this"),var.get('target')) and (var.get('start')=Js(0.0)): + try: + var.get('target').put((var.get('i')+var.get('targetStart')), var.get(u"this").get((var.get('i')+var.get('start')))) + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + else: + var.get('Uint8Array').get('prototype').get('set').callprop('call', var.get('target'), var.get(u"this").callprop('subarray', var.get('start'), var.get('end')), var.get('targetStart')) + return var.get('len') + PyJs_copy_85_._set_name('copy') + var.get('Buffer').get('prototype').put('copy', PyJs_copy_85_) + @Js + def PyJs_fill_86_(val, start, end, encoding, this, arguments, var=var): + var = Scope({'val':val, 'start':start, 'end':end, 'encoding':encoding, 'this':this, 'arguments':arguments, 'fill':PyJs_fill_86_}, var) + var.registers(['len', 'i', 'code', 'start', 'encoding', 'bytes', 'end', 'val']) + if PyJsStrictEq(var.get('val',throw=False).typeof(),Js('string')): + if PyJsStrictEq(var.get('start',throw=False).typeof(),Js('string')): + var.put('encoding', var.get('start')) + var.put('start', Js(0.0)) + var.put('end', var.get(u"this").get('length')) + else: + if PyJsStrictEq(var.get('end',throw=False).typeof(),Js('string')): + var.put('encoding', var.get('end')) + var.put('end', var.get(u"this").get('length')) + if (PyJsStrictNeq(var.get('encoding'),var.get('undefined')) and PyJsStrictNeq(var.get('encoding',throw=False).typeof(),Js('string'))): + PyJsTempException = JsToPyException(var.get('TypeError').create(Js('encoding must be a string'))) + raise PyJsTempException + if (PyJsStrictEq(var.get('encoding',throw=False).typeof(),Js('string')) and var.get('Buffer').callprop('isEncoding', var.get('encoding')).neg()): + PyJsTempException = JsToPyException(var.get('TypeError').create((Js('Unknown encoding: ')+var.get('encoding')))) + raise PyJsTempException + if PyJsStrictEq(var.get('val').get('length'),Js(1.0)): + var.put('code', var.get('val').callprop('charCodeAt', Js(0.0))) + if ((PyJsStrictEq(var.get('encoding'),Js('utf8')) and (var.get('code')Js(0.0))): + PyJsTempException = JsToPyException(var.get('Error').create(Js('cwise: pre() block may not reference array args'))) + raise PyJsTempException + if ((var.get('i')Js(0.0))): + PyJsTempException = JsToPyException(var.get('Error').create(Js('cwise: post() block may not reference array args'))) + raise PyJsTempException + else: + if PyJsStrictEq(var.get('arg_type'),Js('scalar')): + var.get('proc').get('scalarArgs').callprop('push', var.get('i')) + var.get('proc').get('shimArgs').callprop('push', (Js('scalar')+var.get('i'))) + else: + if PyJsStrictEq(var.get('arg_type'),Js('index')): + var.get('proc').get('indexArgs').callprop('push', var.get('i')) + if ((var.get('i')Js(0.0))): + PyJsTempException = JsToPyException(var.get('Error').create(Js('cwise: pre() block may not reference array index'))) + raise PyJsTempException + if ((var.get('i')Js(0.0))): + PyJsTempException = JsToPyException(var.get('Error').create(Js('cwise: post() block may not reference array index'))) + raise PyJsTempException + else: + if PyJsStrictEq(var.get('arg_type'),Js('shape')): + var.get('proc').get('shapeArgs').callprop('push', var.get('i')) + if ((var.get('i')var.get('proc_args').get('length')): + PyJsTempException = JsToPyException(var.get('Error').create(Js('cwise: Too many arguments in pre() block'))) + raise PyJsTempException + if (var.get('proc').get('body').get('args').get('length')>var.get('proc_args').get('length')): + PyJsTempException = JsToPyException(var.get('Error').create(Js('cwise: Too many arguments in body() block'))) + raise PyJsTempException + if (var.get('proc').get('post').get('args').get('length')>var.get('proc_args').get('length')): + PyJsTempException = JsToPyException(var.get('Error').create(Js('cwise: Too many arguments in post() block'))) + raise PyJsTempException + var.get('proc').put('debug', (var.get('user_args').get('printCode').neg().neg() or var.get('user_args').get('debug').neg().neg())) + var.get('proc').put('funcName', (var.get('user_args').get('funcName') or Js('cwise'))) + var.get('proc').put('blockSize', (var.get('user_args').get('blockSize') or Js(64.0))) + return var.get('createThunk')(var.get('proc')) + PyJsHoisted_compileCwise_.func_name = 'compileCwise' + var.put('compileCwise', PyJsHoisted_compileCwise_) + Js('use strict') + var.put('createThunk', var.get('require')(Js('./lib/thunk.js'))) + pass + pass + var.get('module').put('exports', var.get('compileCwise')) + PyJs_anonymous_87_._set_name('anonymous') + @Js + def PyJs_anonymous_88_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['uniq', 'module', 'typeSummary', 'exports', 'generateCWiseOp', 'processBlock', 'innerFill', 'outerFill', 'require', 'countMatches']) + @Js + def PyJsHoisted_innerFill_(order, proc, body, this, arguments, var=var): + var = Scope({'order':order, 'proc':proc, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['nargs', 'i', 'order', 'vars', 'body', 'j', 'proc', 'idx', 'code', 'dimension', 'has_index', 'pidx']) + var.put('dimension', var.get('order').get('length')) + var.put('nargs', var.get('proc').get('arrayArgs').get('length')) + var.put('has_index', (var.get('proc').get('indexArgs').get('length')>Js(0.0))) + var.put('code', Js([])) + var.put('vars', Js([])) + var.put('idx', Js(0.0)) + var.put('pidx', Js(0.0)) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0)): + var.get('code').callprop('push', (Js('var ')+var.get('vars').callprop('join', Js(',')))) + #for JS loop + var.put('i', (var.get('dimension')-Js(1.0))) + while (var.get('i')>=Js(0.0)): + try: + var.put('idx', var.get('order').get(var.get('i'))) + var.get('code').callprop('push', Js([Js('for(i'), var.get('i'), Js('=0;i'), var.get('i'), Js('Js(0.0)): + var.get('code').callprop('push', Js([Js('index['), var.get('pidx'), Js(']-=s'), var.get('pidx')]).callprop('join', Js(''))) + var.get('code').callprop('push', Js([Js('++index['), var.get('idx'), Js(']')]).callprop('join', Js(''))) + var.get('code').callprop('push', Js('}')) + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + return var.get('code').callprop('join', Js('\n')) + PyJsHoisted_innerFill_.func_name = 'innerFill' + var.put('innerFill', PyJsHoisted_innerFill_) + @Js + def PyJsHoisted_outerFill_(matched, order, proc, body, this, arguments, var=var): + var = Scope({'matched':matched, 'order':order, 'proc':proc, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['nargs', 'indexStr', 'matched', 'i', 'order', 'body', 'blockSize', 'j', 'proc', 'code', 'dimension', 'has_index']) + var.put('dimension', var.get('order').get('length')) + var.put('nargs', var.get('proc').get('arrayArgs').get('length')) + var.put('blockSize', var.get('proc').get('blockSize')) + var.put('has_index', (var.get('proc').get('indexArgs').get('length')>Js(0.0))) + var.put('code', Js([])) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')0;){')]).callprop('join', Js(''))) + var.get('code').callprop('push', Js([Js('if(j'), var.get('i'), Js('<'), var.get('blockSize'), Js('){')]).callprop('join', Js(''))) + var.get('code').callprop('push', Js([Js('s'), var.get('order').get(var.get('i')), Js('=j'), var.get('i')]).callprop('join', Js(''))) + var.get('code').callprop('push', Js([Js('j'), var.get('i'), Js('=0')]).callprop('join', Js(''))) + var.get('code').callprop('push', Js([Js('}else{s'), var.get('order').get(var.get('i')), Js('='), var.get('blockSize')]).callprop('join', Js(''))) + var.get('code').callprop('push', Js([Js('j'), var.get('i'), Js('-='), var.get('blockSize'), Js('}')]).callprop('join', Js(''))) + if var.get('has_index'): + var.get('code').callprop('push', Js([Js('index['), var.get('order').get(var.get('i')), Js(']=j'), var.get('i')]).callprop('join', Js(''))) + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0)): + var.put('allEqual', (var.get('allEqual') and PyJsStrictEq(var.get('summary').get(var.get('i')),var.get('summary').get((var.get('i')-Js(1.0)))))) + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + if var.get('allEqual'): + return var.get('summary').get('0') + return var.get('summary').callprop('join', Js('')) + PyJsHoisted_typeSummary_.func_name = 'typeSummary' + var.put('typeSummary', PyJsHoisted_typeSummary_) + @Js + def PyJsHoisted_generateCWiseOp_(proc, typesig, this, arguments, var=var): + var = Scope({'proc':proc, 'typesig':typesig, 'this':this, 'arguments':arguments}, var) + var.registers(['f', 'loopEnd', 'zeros', 'vars', 'init_string', 'code', 'dimension', 'arglist', 'off_arg', 'blockEnd', 'dtypes', 'body', 'proc', 'newOrder', 'i', 'blockBegin', 'orders', 'j', 'matched', 'loopName', 'loopOrders', 'typesig', 'loopBegin', 'thisVars']) + var.put('dimension', ((var.get('typesig').get('1').get('length')-var.get('Math').callprop('abs', var.get('proc').get('arrayBlockIndices').get('0')))|Js(0.0))) + var.put('orders', var.get('Array').create(var.get('proc').get('arrayArgs').get('length'))) + var.put('dtypes', var.get('Array').create(var.get('proc').get('arrayArgs').get('length'))) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0)): + var.get('vars').callprop('push', Js('shape=SS.slice(0)')) + if (var.get('proc').get('indexArgs').get('length')>Js(0.0)): + var.put('zeros', var.get('Array').create(var.get('dimension'))) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0)): + var.get('code').callprop('push', (Js('var ')+var.get('vars').callprop('join', Js(',')))) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(3.0)): + var.get('code').callprop('push', var.get('processBlock')(var.get('proc').get('pre'), var.get('proc'), var.get('dtypes'))) + var.put('body', var.get('processBlock')(var.get('proc').get('body'), var.get('proc'), var.get('dtypes'))) + var.put('matched', var.get('countMatches')(var.get('loopOrders'))) + if (var.get('matched')Js(3.0)): + var.get('code').callprop('push', var.get('processBlock')(var.get('proc').get('post'), var.get('proc'), var.get('dtypes'))) + if var.get('proc').get('debug'): + var.get('console').callprop('log', Js('-----Generated cwise routine for '), var.get('typesig'), ((Js(':\n')+var.get('code').callprop('join', Js('\n')))+Js('\n----------'))) + var.put('loopName', Js([(var.get('proc').get('funcName') or Js('unnamed')), Js('_cwise_loop_'), var.get('orders').get('0').callprop('join', Js('s')), Js('m'), var.get('matched'), var.get('typeSummary')(var.get('dtypes'))]).callprop('join', Js(''))) + var.put('f', var.get('Function').create(Js([Js('function '), var.get('loopName'), Js('('), var.get('arglist').callprop('join', Js(',')), Js('){'), var.get('code').callprop('join', Js('\n')), Js('} return '), var.get('loopName')]).callprop('join', Js('')))) + return var.get('f')() + PyJsHoisted_generateCWiseOp_.func_name = 'generateCWiseOp' + var.put('generateCWiseOp', PyJsHoisted_generateCWiseOp_) + Js('use strict') + var.put('uniq', var.get('require')(Js('uniq'))) + pass + pass + pass + pass + pass + pass + var.get('module').put('exports', var.get('generateCWiseOp')) + PyJs_anonymous_88_._set_name('anonymous') + @Js + def PyJs_anonymous_89_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['module', 'createThunk', 'exports', 'require', 'compile']) + @Js + def PyJsHoisted_createThunk_(proc, this, arguments, var=var): + var = Scope({'proc':proc, 'this':this, 'arguments':arguments}, var) + var.registers(['thunk', 'string_typesig', 'i', 'thunkName', 'typesig', 'vars', 'shapeConditions', 'j', 'proc', 'shapeLengthConditions', 'code', 'proc_args']) + var.put('code', Js([Js("'use strict'"), Js('var CACHED={}')])) + var.put('vars', Js([])) + var.put('thunkName', (var.get('proc').get('funcName')+Js('_cwise_thunk'))) + var.get('code').callprop('push', Js([Js('return function '), var.get('thunkName'), Js('('), var.get('proc').get('shimArgs').callprop('join', Js(',')), Js('){')]).callprop('join', Js(''))) + var.put('typesig', Js([])) + var.put('string_typesig', Js([])) + var.put('proc_args', Js([Js([Js('array'), var.get('proc').get('arrayArgs').get('0'), Js('.shape.slice('), var.get('Math').callprop('max', Js(0.0), var.get('proc').get('arrayBlockIndices').get('0')), (((Js(',')+var.get('proc').get('arrayBlockIndices').get('0'))+Js(')')) if (var.get('proc').get('arrayBlockIndices').get('0')Js(0.0)): + var.get('shapeLengthConditions').callprop('push', (((((Js('array')+var.get('proc').get('arrayArgs').get('0'))+Js('.shape.length===array'))+var.get('j'))+Js('.shape.length+'))+(var.get('Math').callprop('abs', var.get('proc').get('arrayBlockIndices').get('0'))-var.get('Math').callprop('abs', var.get('proc').get('arrayBlockIndices').get(var.get('i')))))) + var.get('shapeConditions').callprop('push', ((((((((Js('array')+var.get('proc').get('arrayArgs').get('0'))+Js('.shape[shapeIndex+'))+var.get('Math').callprop('max', Js(0.0), var.get('proc').get('arrayBlockIndices').get('0')))+Js(']===array'))+var.get('j'))+Js('.shape[shapeIndex+'))+var.get('Math').callprop('max', Js(0.0), var.get('proc').get('arrayBlockIndices').get(var.get('i'))))+Js(']'))) + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + if (var.get('proc').get('arrayArgs').get('length')>Js(1.0)): + var.get('code').callprop('push', ((Js('if (!(')+var.get('shapeLengthConditions').callprop('join', Js(' && ')))+Js(")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"))) + var.get('code').callprop('push', ((((Js('for(var shapeIndex=array')+var.get('proc').get('arrayArgs').get('0'))+Js('.shape.length-'))+var.get('Math').callprop('abs', var.get('proc').get('arrayBlockIndices').get('0')))+Js('; shapeIndex-->0;) {'))) + var.get('code').callprop('push', ((Js('if (!(')+var.get('shapeConditions').callprop('join', Js(' && ')))+Js(")) throw new Error('cwise: Arrays do not all have the same shape!')"))) + var.get('code').callprop('push', Js('}')) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0)): + return var.get('dupe_number')((var.get('count')|Js(0.0)), var.get('value')) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('object')): + SWITCHED = True + if PyJsStrictEq(var.get('count').get('length').typeof(),Js('number')): + return var.get('dupe_array')(var.get('count'), var.get('value'), Js(0.0)) + break + SWITCHED = True + break + return Js([]) + PyJsHoisted_dupe_.func_name = 'dupe' + var.put('dupe', PyJsHoisted_dupe_) + Js('use strict') + pass + pass + pass + var.get('module').put('exports', var.get('dupe')) + PyJs_anonymous_91_._set_name('anonymous') + @Js + def PyJs_anonymous_92_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['exports', 'require', 'module']) + @Js + def PyJs_anonymous_93_(buffer, offset, isLE, mLen, nBytes, this, arguments, var=var): + var = Scope({'buffer':buffer, 'offset':offset, 'isLE':isLE, 'mLen':mLen, 'nBytes':nBytes, 'this':this, 'arguments':arguments}, var) + var.registers(['m', 'eMax', 'i', 's', 'offset', 'nBytes', 'eLen', 'nBits', 'buffer', 'd', 'mLen', 'e', 'eBias', 'isLE']) + pass + var.put('eLen', (((var.get('nBytes')*Js(8.0))-var.get('mLen'))-Js(1.0))) + var.put('eMax', ((Js(1.0)<>Js(1.0))) + var.put('nBits', (-Js(7.0))) + var.put('i', ((var.get('nBytes')-Js(1.0)) if var.get('isLE') else Js(0.0))) + var.put('d', ((-Js(1.0)) if var.get('isLE') else Js(1.0))) + var.put('s', var.get('buffer').get((var.get('offset')+var.get('i')))) + var.put('i', var.get('d'), '+') + var.put('e', (var.get('s')&((Js(1.0)<<(-var.get('nBits')))-Js(1.0)))) + var.put('s', (-var.get('nBits')), '>>') + var.put('nBits', var.get('eLen'), '+') + #for JS loop + + while (var.get('nBits')>Js(0.0)): + try: + pass + finally: + PyJsComma(PyJsComma(var.put('e', ((var.get('e')*Js(256.0))+var.get('buffer').get((var.get('offset')+var.get('i'))))),var.put('i', var.get('d'), '+')),var.put('nBits', Js(8.0), '-')) + var.put('m', (var.get('e')&((Js(1.0)<<(-var.get('nBits')))-Js(1.0)))) + var.put('e', (-var.get('nBits')), '>>') + var.put('nBits', var.get('mLen'), '+') + #for JS loop + + while (var.get('nBits')>Js(0.0)): + try: + pass + finally: + PyJsComma(PyJsComma(var.put('m', ((var.get('m')*Js(256.0))+var.get('buffer').get((var.get('offset')+var.get('i'))))),var.put('i', var.get('d'), '+')),var.put('nBits', Js(8.0), '-')) + if PyJsStrictEq(var.get('e'),Js(0.0)): + var.put('e', (Js(1.0)-var.get('eBias'))) + else: + if PyJsStrictEq(var.get('e'),var.get('eMax')): + return (var.get('NaN') if var.get('m') else (((-Js(1.0)) if var.get('s') else Js(1.0))*var.get('Infinity'))) + else: + var.put('m', (var.get('m')+var.get('Math').callprop('pow', Js(2.0), var.get('mLen')))) + var.put('e', (var.get('e')-var.get('eBias'))) + return ((((-Js(1.0)) if var.get('s') else Js(1.0))*var.get('m'))*var.get('Math').callprop('pow', Js(2.0), (var.get('e')-var.get('mLen')))) + PyJs_anonymous_93_._set_name('anonymous') + var.get('exports').put('read', PyJs_anonymous_93_) + @Js + def PyJs_anonymous_94_(buffer, value, offset, isLE, mLen, nBytes, this, arguments, var=var): + var = Scope({'buffer':buffer, 'value':value, 'offset':offset, 'isLE':isLE, 'mLen':mLen, 'nBytes':nBytes, 'this':this, 'arguments':arguments}, var) + var.registers(['m', 'eMax', 'value', 'i', 's', 'offset', 'c', 'nBytes', 'eLen', 'rt', 'buffer', 'd', 'mLen', 'e', 'eBias', 'isLE']) + pass + var.put('eLen', (((var.get('nBytes')*Js(8.0))-var.get('mLen'))-Js(1.0))) + var.put('eMax', ((Js(1.0)<>Js(1.0))) + var.put('rt', ((var.get('Math').callprop('pow', Js(2.0), (-Js(24.0)))-var.get('Math').callprop('pow', Js(2.0), (-Js(77.0)))) if PyJsStrictEq(var.get('mLen'),Js(23.0)) else Js(0.0))) + var.put('i', (Js(0.0) if var.get('isLE') else (var.get('nBytes')-Js(1.0)))) + var.put('d', (Js(1.0) if var.get('isLE') else (-Js(1.0)))) + var.put('s', (Js(1.0) if ((var.get('value')=Js(1.0)): + var.put('value', (var.get('rt')/var.get('c')), '+') + else: + var.put('value', (var.get('rt')*var.get('Math').callprop('pow', Js(2.0), (Js(1.0)-var.get('eBias')))), '+') + if ((var.get('value')*var.get('c'))>=Js(2.0)): + (var.put('e',Js(var.get('e').to_number())+Js(1))-Js(1)) + var.put('c', Js(2.0), '/') + if ((var.get('e')+var.get('eBias'))>=var.get('eMax')): + var.put('m', Js(0.0)) + var.put('e', var.get('eMax')) + else: + if ((var.get('e')+var.get('eBias'))>=Js(1.0)): + var.put('m', (((var.get('value')*var.get('c'))-Js(1.0))*var.get('Math').callprop('pow', Js(2.0), var.get('mLen')))) + var.put('e', (var.get('e')+var.get('eBias'))) + else: + var.put('m', ((var.get('value')*var.get('Math').callprop('pow', Js(2.0), (var.get('eBias')-Js(1.0))))*var.get('Math').callprop('pow', Js(2.0), var.get('mLen')))) + var.put('e', Js(0.0)) + #for JS loop + + while (var.get('mLen')>=Js(8.0)): + try: + pass + finally: + PyJsComma(PyJsComma(PyJsComma(var.get('buffer').put((var.get('offset')+var.get('i')), (var.get('m')&Js(255))),var.put('i', var.get('d'), '+')),var.put('m', Js(256.0), '/')),var.put('mLen', Js(8.0), '-')) + var.put('e', ((var.get('e')<Js(0.0)): + try: + pass + finally: + PyJsComma(PyJsComma(PyJsComma(var.get('buffer').put((var.get('offset')+var.get('i')), (var.get('e')&Js(255))),var.put('i', var.get('d'), '+')),var.put('e', Js(256.0), '/')),var.put('eLen', Js(8.0), '-')) + var.get('buffer').put(((var.get('offset')+var.get('i'))-var.get('d')), (var.get('s')*Js(128.0)), '|') + PyJs_anonymous_94_._set_name('anonymous') + var.get('exports').put('write', PyJs_anonymous_94_) + PyJs_anonymous_92_._set_name('anonymous') + @Js + def PyJs_anonymous_95_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['iota', 'exports', 'require', 'module']) + @Js + def PyJsHoisted_iota_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'result', 'n']) + var.put('result', var.get('Array').create(var.get('n'))) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')(-Js(1.0)))) + PyJsHoisted_arrayIncludes_.func_name = 'arrayIncludes' + var.put('arrayIncludes', PyJsHoisted_arrayIncludes_) + @Js + def PyJsHoisted_arrayIncludesWith_(array, value, comparator, this, arguments, var=var): + var = Scope({'array':array, 'value':value, 'comparator':comparator, 'this':this, 'arguments':arguments}, var) + var.registers(['comparator', 'value', 'array', 'length', 'index']) + var.put('index', (-Js(1.0))) + var.put('length', (Js(0.0) if (var.get('array')==var.get(u"null")) else var.get('array').get('length'))) + while (var.put('index',Js(var.get('index').to_number())+Js(1))(-Js(1.0)))): + pass + return var.get('index') + PyJsHoisted_charsStartIndex_.func_name = 'charsStartIndex' + var.put('charsStartIndex', PyJsHoisted_charsStartIndex_) + @Js + def PyJsHoisted_charsEndIndex_(strSymbols, chrSymbols, this, arguments, var=var): + var = Scope({'strSymbols':strSymbols, 'chrSymbols':chrSymbols, 'this':this, 'arguments':arguments}, var) + var.registers(['strSymbols', 'chrSymbols', 'index']) + var.put('index', var.get('strSymbols').get('length')) + while ((var.put('index',Js(var.get('index').to_number())-Js(1))+Js(1)) and (var.get('baseIndexOf')(var.get('chrSymbols'), var.get('strSymbols').get(var.get('index')), Js(0.0))>(-Js(1.0)))): + pass + return var.get('index') + PyJsHoisted_charsEndIndex_.func_name = 'charsEndIndex' + var.put('charsEndIndex', PyJsHoisted_charsEndIndex_) + @Js + def PyJsHoisted_countHolders_(array, placeholder, this, arguments, var=var): + var = Scope({'array':array, 'placeholder':placeholder, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'length', 'array', 'placeholder']) + var.put('length', var.get('array').get('length')) + var.put('result', Js(0.0)) + while (var.put('length',Js(var.get('length').to_number())-Js(1))+Js(1)): + if PyJsStrictEq(var.get('array').get(var.get('length')),var.get('placeholder')): + var.put('result',Js(var.get('result').to_number())+Js(1)) + return var.get('result') + PyJsHoisted_countHolders_.func_name = 'countHolders' + var.put('countHolders', PyJsHoisted_countHolders_) + @Js + def PyJsHoisted_escapeStringChar_(chr, this, arguments, var=var): + var = Scope({'chr':chr, 'this':this, 'arguments':arguments}, var) + var.registers(['chr']) + return (Js('\\')+var.get('stringEscapes').get(var.get('chr'))) + PyJsHoisted_escapeStringChar_.func_name = 'escapeStringChar' + var.put('escapeStringChar', PyJsHoisted_escapeStringChar_) + @Js + def PyJsHoisted_getValue_(object, key, this, arguments, var=var): + var = Scope({'object':object, 'key':key, 'this':this, 'arguments':arguments}, var) + var.registers(['object', 'key']) + return (var.get('undefined') if (var.get('object')==var.get(u"null")) else var.get('object').get(var.get('key'))) + PyJsHoisted_getValue_.func_name = 'getValue' + var.put('getValue', PyJsHoisted_getValue_) + @Js + def PyJsHoisted_hasUnicode_(string, this, arguments, var=var): + var = Scope({'string':string, 'this':this, 'arguments':arguments}, var) + var.registers(['string']) + return var.get('reHasUnicode').callprop('test', var.get('string')) + PyJsHoisted_hasUnicode_.func_name = 'hasUnicode' + var.put('hasUnicode', PyJsHoisted_hasUnicode_) + @Js + def PyJsHoisted_hasUnicodeWord_(string, this, arguments, var=var): + var = Scope({'string':string, 'this':this, 'arguments':arguments}, var) + var.registers(['string']) + return var.get('reHasUnicodeWord').callprop('test', var.get('string')) + PyJsHoisted_hasUnicodeWord_.func_name = 'hasUnicodeWord' + var.put('hasUnicodeWord', PyJsHoisted_hasUnicodeWord_) + @Js + def PyJsHoisted_iteratorToArray_(iterator, this, arguments, var=var): + var = Scope({'iterator':iterator, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'iterator', 'data']) + var.put('result', Js([])) + while var.put('data', var.get('iterator').callprop('next')).get('done').neg(): + var.get('result').callprop('push', var.get('data').get('value')) + return var.get('result') + PyJsHoisted_iteratorToArray_.func_name = 'iteratorToArray' + var.put('iteratorToArray', PyJsHoisted_iteratorToArray_) + @Js + def PyJsHoisted_mapToArray_(map, this, arguments, var=var): + var = Scope({'map':map, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'map', 'index']) + var.put('index', (-Js(1.0))) + var.put('result', var.get('Array')(var.get('map').get('size'))) + @Js + def PyJs_anonymous_114_(value, key, this, arguments, var=var): + var = Scope({'value':value, 'key':key, 'this':this, 'arguments':arguments}, var) + var.registers(['key', 'value']) + var.get('result').put(var.put('index',Js(var.get('index').to_number())+Js(1)), Js([var.get('key'), var.get('value')])) + PyJs_anonymous_114_._set_name('anonymous') + var.get('map').callprop('forEach', PyJs_anonymous_114_) + return var.get('result') + PyJsHoisted_mapToArray_.func_name = 'mapToArray' + var.put('mapToArray', PyJsHoisted_mapToArray_) + @Js + def PyJsHoisted_overArg_(func, transform, this, arguments, var=var): + var = Scope({'func':func, 'transform':transform, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'transform']) + @Js + def PyJs_anonymous_115_(arg, this, arguments, var=var): + var = Scope({'arg':arg, 'this':this, 'arguments':arguments}, var) + var.registers(['arg']) + return var.get('func')(var.get('transform')(var.get('arg'))) + PyJs_anonymous_115_._set_name('anonymous') + return PyJs_anonymous_115_ + PyJsHoisted_overArg_.func_name = 'overArg' + var.put('overArg', PyJsHoisted_overArg_) + @Js + def PyJsHoisted_replaceHolders_(array, placeholder, this, arguments, var=var): + var = Scope({'array':array, 'placeholder':placeholder, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'array', 'placeholder', 'result', 'resIndex', 'length', 'index']) + var.put('index', (-Js(1.0))) + var.put('length', var.get('array').get('length')) + var.put('resIndex', Js(0.0)) + var.put('result', Js([])) + while (var.put('index',Js(var.get('index').to_number())+Js(1))"\']/g')) + var.put('reHasEscapedHtml', var.get('RegExp')(var.get('reEscapedHtml').get('source'))) + var.put('reHasUnescapedHtml', var.get('RegExp')(var.get('reUnescapedHtml').get('source'))) + var.put('reEscape', JsRegExp('/<%-([\\s\\S]+?)%>/g')) + var.put('reEvaluate', JsRegExp('/<%([\\s\\S]+?)%>/g')) + var.put('reInterpolate', JsRegExp('/<%=([\\s\\S]+?)%>/g')) + var.put('reIsDeepProp', JsRegExp('/\\.|\\[(?:[^[\\]]*|(["\'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/')) + var.put('reIsPlainProp', JsRegExp('/^\\w*$/')) + var.put('rePropName', JsRegExp('/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|(["\'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g')) + var.put('reRegExpChar', JsRegExp('/[\\\\^$.*+?()[\\]{}|]/g')) + var.put('reHasRegExpChar', var.get('RegExp')(var.get('reRegExpChar').get('source'))) + var.put('reTrim', JsRegExp('/^\\s+|\\s+$/g')) + var.put('reTrimStart', JsRegExp('/^\\s+/')) + var.put('reTrimEnd', JsRegExp('/\\s+$/')) + var.put('reWrapComment', JsRegExp('/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/')) + var.put('reWrapDetails', JsRegExp('/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/')) + var.put('reSplitDetails', JsRegExp('/,? & /')) + var.put('reAsciiWord', JsRegExp('/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g')) + var.put('reEscapeChar', JsRegExp('/\\\\(\\\\)?/g')) + var.put('reEsTemplate', JsRegExp('/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g')) + var.put('reFlags', JsRegExp('/\\w*$/')) + var.put('reIsBadHex', JsRegExp('/^[-+]0x[0-9a-f]+$/i')) + var.put('reIsBinary', JsRegExp('/^0b[01]+$/i')) + var.put('reIsHostCtor', JsRegExp('/^\\[object .+?Constructor\\]$/')) + var.put('reIsOctal', JsRegExp('/^0o[0-7]+$/i')) + var.put('reIsUint', JsRegExp('/^(?:0|[1-9]\\d*)$/')) + var.put('reLatin', JsRegExp('/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g')) + var.put('reNoMatch', JsRegExp('/($^)/')) + var.put('reUnescapedString', JsRegExp("/['\\n\\r\\u2028\\u2029\\\\]/g")) + var.put('rsAstralRange', Js('\\ud800-\\udfff')) + var.put('rsComboMarksRange', Js('\\u0300-\\u036f')) + var.put('reComboHalfMarksRange', Js('\\ufe20-\\ufe2f')) + var.put('rsComboSymbolsRange', Js('\\u20d0-\\u20ff')) + var.put('rsComboRange', ((var.get('rsComboMarksRange')+var.get('reComboHalfMarksRange'))+var.get('rsComboSymbolsRange'))) + var.put('rsDingbatRange', Js('\\u2700-\\u27bf')) + var.put('rsLowerRange', Js('a-z\\xdf-\\xf6\\xf8-\\xff')) + var.put('rsMathOpRange', Js('\\xac\\xb1\\xd7\\xf7')) + var.put('rsNonCharRange', Js('\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf')) + var.put('rsPunctuationRange', Js('\\u2000-\\u206f')) + var.put('rsSpaceRange', Js(' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000')) + var.put('rsUpperRange', Js('A-Z\\xc0-\\xd6\\xd8-\\xde')) + var.put('rsVarRange', Js('\\ufe0e\\ufe0f')) + var.put('rsBreakRange', (((var.get('rsMathOpRange')+var.get('rsNonCharRange'))+var.get('rsPunctuationRange'))+var.get('rsSpaceRange'))) + var.put('rsApos', Js("['’]")) + var.put('rsAstral', ((Js('[')+var.get('rsAstralRange'))+Js(']'))) + var.put('rsBreak', ((Js('[')+var.get('rsBreakRange'))+Js(']'))) + var.put('rsCombo', ((Js('[')+var.get('rsComboRange'))+Js(']'))) + var.put('rsDigits', Js('\\d+')) + var.put('rsDingbat', ((Js('[')+var.get('rsDingbatRange'))+Js(']'))) + var.put('rsLower', ((Js('[')+var.get('rsLowerRange'))+Js(']'))) + var.put('rsMisc', (((((((Js('[^')+var.get('rsAstralRange'))+var.get('rsBreakRange'))+var.get('rsDigits'))+var.get('rsDingbatRange'))+var.get('rsLowerRange'))+var.get('rsUpperRange'))+Js(']'))) + var.put('rsFitz', Js('\\ud83c[\\udffb-\\udfff]')) + var.put('rsModifier', ((((Js('(?:')+var.get('rsCombo'))+Js('|'))+var.get('rsFitz'))+Js(')'))) + var.put('rsNonAstral', ((Js('[^')+var.get('rsAstralRange'))+Js(']'))) + var.put('rsRegional', Js('(?:\\ud83c[\\udde6-\\uddff]){2}')) + var.put('rsSurrPair', Js('[\\ud800-\\udbff][\\udc00-\\udfff]')) + var.put('rsUpper', ((Js('[')+var.get('rsUpperRange'))+Js(']'))) + var.put('rsZWJ', Js('\\u200d')) + var.put('rsMiscLower', ((((Js('(?:')+var.get('rsLower'))+Js('|'))+var.get('rsMisc'))+Js(')'))) + var.put('rsMiscUpper', ((((Js('(?:')+var.get('rsUpper'))+Js('|'))+var.get('rsMisc'))+Js(')'))) + var.put('rsOptContrLower', ((Js('(?:')+var.get('rsApos'))+Js('(?:d|ll|m|re|s|t|ve))?'))) + var.put('rsOptContrUpper', ((Js('(?:')+var.get('rsApos'))+Js('(?:D|LL|M|RE|S|T|VE))?'))) + var.put('reOptMod', (var.get('rsModifier')+Js('?'))) + var.put('rsOptVar', ((Js('[')+var.get('rsVarRange'))+Js(']?'))) + var.put('rsOptJoin', (((((((Js('(?:')+var.get('rsZWJ'))+Js('(?:'))+Js([var.get('rsNonAstral'), var.get('rsRegional'), var.get('rsSurrPair')]).callprop('join', Js('|')))+Js(')'))+var.get('rsOptVar'))+var.get('reOptMod'))+Js(')*'))) + var.put('rsOrdLower', Js('\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])')) + var.put('rsOrdUpper', Js('\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])')) + var.put('rsSeq', ((var.get('rsOptVar')+var.get('reOptMod'))+var.get('rsOptJoin'))) + var.put('rsEmoji', (((Js('(?:')+Js([var.get('rsDingbat'), var.get('rsRegional'), var.get('rsSurrPair')]).callprop('join', Js('|')))+Js(')'))+var.get('rsSeq'))) + var.put('rsSymbol', ((Js('(?:')+Js([((var.get('rsNonAstral')+var.get('rsCombo'))+Js('?')), var.get('rsCombo'), var.get('rsRegional'), var.get('rsSurrPair'), var.get('rsAstral')]).callprop('join', Js('|')))+Js(')'))) + var.put('reApos', var.get('RegExp')(var.get('rsApos'), Js('g'))) + var.put('reComboMark', var.get('RegExp')(var.get('rsCombo'), Js('g'))) + var.put('reUnicode', var.get('RegExp')((((((var.get('rsFitz')+Js('(?='))+var.get('rsFitz'))+Js(')|'))+var.get('rsSymbol'))+var.get('rsSeq')), Js('g'))) + def PyJs_LONG_101_(var=var): + return Js([(((((((var.get('rsUpper')+Js('?'))+var.get('rsLower'))+Js('+'))+var.get('rsOptContrLower'))+Js('(?='))+Js([var.get('rsBreak'), var.get('rsUpper'), Js('$')]).callprop('join', Js('|')))+Js(')')), (((((var.get('rsMiscUpper')+Js('+'))+var.get('rsOptContrUpper'))+Js('(?='))+Js([var.get('rsBreak'), (var.get('rsUpper')+var.get('rsMiscLower')), Js('$')]).callprop('join', Js('|')))+Js(')')), ((((var.get('rsUpper')+Js('?'))+var.get('rsMiscLower'))+Js('+'))+var.get('rsOptContrLower')), ((var.get('rsUpper')+Js('+'))+var.get('rsOptContrUpper')), var.get('rsOrdUpper'), var.get('rsOrdLower'), var.get('rsDigits'), var.get('rsEmoji')]).callprop('join', Js('|')) + var.put('reUnicodeWord', var.get('RegExp')(PyJs_LONG_101_(), Js('g'))) + var.put('reHasUnicode', var.get('RegExp')((((((Js('[')+var.get('rsZWJ'))+var.get('rsAstralRange'))+var.get('rsComboRange'))+var.get('rsVarRange'))+Js(']')))) + var.put('reHasUnicodeWord', JsRegExp('/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/')) + var.put('contextProps', Js([Js('Array'), Js('Buffer'), Js('DataView'), Js('Date'), Js('Error'), Js('Float32Array'), Js('Float64Array'), Js('Function'), Js('Int8Array'), Js('Int16Array'), Js('Int32Array'), Js('Map'), Js('Math'), Js('Object'), Js('Promise'), Js('RegExp'), Js('Set'), Js('String'), Js('Symbol'), Js('TypeError'), Js('Uint8Array'), Js('Uint8ClampedArray'), Js('Uint16Array'), Js('Uint32Array'), Js('WeakMap'), Js('_'), Js('clearTimeout'), Js('isFinite'), Js('parseInt'), Js('setTimeout')])) + var.put('templateCounter', (-Js(1.0))) + var.put('typedArrayTags', Js({})) + def PyJs_LONG_102_(var=var): + return var.get('typedArrayTags').put(var.get('float64Tag'), var.get('typedArrayTags').put(var.get('int8Tag'), var.get('typedArrayTags').put(var.get('int16Tag'), var.get('typedArrayTags').put(var.get('int32Tag'), var.get('typedArrayTags').put(var.get('uint8Tag'), var.get('typedArrayTags').put(var.get('uint8ClampedTag'), var.get('typedArrayTags').put(var.get('uint16Tag'), var.get('typedArrayTags').put(var.get('uint32Tag'), Js(True))))))))) + var.get('typedArrayTags').put(var.get('float32Tag'), PyJs_LONG_102_()) + def PyJs_LONG_103_(var=var): + return var.get('typedArrayTags').put(var.get('funcTag'), var.get('typedArrayTags').put(var.get('mapTag'), var.get('typedArrayTags').put(var.get('numberTag'), var.get('typedArrayTags').put(var.get('objectTag'), var.get('typedArrayTags').put(var.get('regexpTag'), var.get('typedArrayTags').put(var.get('setTag'), var.get('typedArrayTags').put(var.get('stringTag'), var.get('typedArrayTags').put(var.get('weakMapTag'), Js(False))))))))) + var.get('typedArrayTags').put(var.get('argsTag'), var.get('typedArrayTags').put(var.get('arrayTag'), var.get('typedArrayTags').put(var.get('arrayBufferTag'), var.get('typedArrayTags').put(var.get('boolTag'), var.get('typedArrayTags').put(var.get('dataViewTag'), var.get('typedArrayTags').put(var.get('dateTag'), var.get('typedArrayTags').put(var.get('errorTag'), PyJs_LONG_103_()))))))) + var.put('cloneableTags', Js({})) + def PyJs_LONG_105_(var=var): + def PyJs_LONG_104_(var=var): + return var.get('cloneableTags').put(var.get('regexpTag'), var.get('cloneableTags').put(var.get('setTag'), var.get('cloneableTags').put(var.get('stringTag'), var.get('cloneableTags').put(var.get('symbolTag'), var.get('cloneableTags').put(var.get('uint8Tag'), var.get('cloneableTags').put(var.get('uint8ClampedTag'), var.get('cloneableTags').put(var.get('uint16Tag'), var.get('cloneableTags').put(var.get('uint32Tag'), Js(True))))))))) + return var.get('cloneableTags').put(var.get('float32Tag'), var.get('cloneableTags').put(var.get('float64Tag'), var.get('cloneableTags').put(var.get('int8Tag'), var.get('cloneableTags').put(var.get('int16Tag'), var.get('cloneableTags').put(var.get('int32Tag'), var.get('cloneableTags').put(var.get('mapTag'), var.get('cloneableTags').put(var.get('numberTag'), var.get('cloneableTags').put(var.get('objectTag'), PyJs_LONG_104_())))))))) + var.get('cloneableTags').put(var.get('argsTag'), var.get('cloneableTags').put(var.get('arrayTag'), var.get('cloneableTags').put(var.get('arrayBufferTag'), var.get('cloneableTags').put(var.get('dataViewTag'), var.get('cloneableTags').put(var.get('boolTag'), var.get('cloneableTags').put(var.get('dateTag'), PyJs_LONG_105_())))))) + var.get('cloneableTags').put(var.get('errorTag'), var.get('cloneableTags').put(var.get('funcTag'), var.get('cloneableTags').put(var.get('weakMapTag'), Js(False)))) + var.put('deburredLetters', Js({'À':Js('A'),'Á':Js('A'),'Â':Js('A'),'Ã':Js('A'),'Ä':Js('A'),'Å':Js('A'),'à':Js('a'),'á':Js('a'),'â':Js('a'),'ã':Js('a'),'ä':Js('a'),'å':Js('a'),'Ç':Js('C'),'ç':Js('c'),'Ð':Js('D'),'ð':Js('d'),'È':Js('E'),'É':Js('E'),'Ê':Js('E'),'Ë':Js('E'),'è':Js('e'),'é':Js('e'),'ê':Js('e'),'ë':Js('e'),'Ì':Js('I'),'Í':Js('I'),'Î':Js('I'),'Ï':Js('I'),'ì':Js('i'),'í':Js('i'),'î':Js('i'),'ï':Js('i'),'Ñ':Js('N'),'ñ':Js('n'),'Ò':Js('O'),'Ó':Js('O'),'Ô':Js('O'),'Õ':Js('O'),'Ö':Js('O'),'Ø':Js('O'),'ò':Js('o'),'ó':Js('o'),'ô':Js('o'),'õ':Js('o'),'ö':Js('o'),'ø':Js('o'),'Ù':Js('U'),'Ú':Js('U'),'Û':Js('U'),'Ü':Js('U'),'ù':Js('u'),'ú':Js('u'),'û':Js('u'),'ü':Js('u'),'Ý':Js('Y'),'ý':Js('y'),'ÿ':Js('y'),'Æ':Js('Ae'),'æ':Js('ae'),'Þ':Js('Th'),'þ':Js('th'),'ß':Js('ss'),'Ā':Js('A'),'Ă':Js('A'),'Ą':Js('A'),'ā':Js('a'),'ă':Js('a'),'ą':Js('a'),'Ć':Js('C'),'Ĉ':Js('C'),'Ċ':Js('C'),'Č':Js('C'),'ć':Js('c'),'ĉ':Js('c'),'ċ':Js('c'),'č':Js('c'),'Ď':Js('D'),'Đ':Js('D'),'ď':Js('d'),'đ':Js('d'),'Ē':Js('E'),'Ĕ':Js('E'),'Ė':Js('E'),'Ę':Js('E'),'Ě':Js('E'),'ē':Js('e'),'ĕ':Js('e'),'ė':Js('e'),'ę':Js('e'),'ě':Js('e'),'Ĝ':Js('G'),'Ğ':Js('G'),'Ġ':Js('G'),'Ģ':Js('G'),'ĝ':Js('g'),'ğ':Js('g'),'ġ':Js('g'),'ģ':Js('g'),'Ĥ':Js('H'),'Ħ':Js('H'),'ĥ':Js('h'),'ħ':Js('h'),'Ĩ':Js('I'),'Ī':Js('I'),'Ĭ':Js('I'),'Į':Js('I'),'İ':Js('I'),'ĩ':Js('i'),'ī':Js('i'),'ĭ':Js('i'),'į':Js('i'),'ı':Js('i'),'Ĵ':Js('J'),'ĵ':Js('j'),'Ķ':Js('K'),'ķ':Js('k'),'ĸ':Js('k'),'Ĺ':Js('L'),'Ļ':Js('L'),'Ľ':Js('L'),'Ŀ':Js('L'),'Ł':Js('L'),'ĺ':Js('l'),'ļ':Js('l'),'ľ':Js('l'),'ŀ':Js('l'),'ł':Js('l'),'Ń':Js('N'),'Ņ':Js('N'),'Ň':Js('N'),'Ŋ':Js('N'),'ń':Js('n'),'ņ':Js('n'),'ň':Js('n'),'ŋ':Js('n'),'Ō':Js('O'),'Ŏ':Js('O'),'Ő':Js('O'),'ō':Js('o'),'ŏ':Js('o'),'ő':Js('o'),'Ŕ':Js('R'),'Ŗ':Js('R'),'Ř':Js('R'),'ŕ':Js('r'),'ŗ':Js('r'),'ř':Js('r'),'Ś':Js('S'),'Ŝ':Js('S'),'Ş':Js('S'),'Š':Js('S'),'ś':Js('s'),'ŝ':Js('s'),'ş':Js('s'),'š':Js('s'),'Ţ':Js('T'),'Ť':Js('T'),'Ŧ':Js('T'),'ţ':Js('t'),'ť':Js('t'),'ŧ':Js('t'),'Ũ':Js('U'),'Ū':Js('U'),'Ŭ':Js('U'),'Ů':Js('U'),'Ű':Js('U'),'Ų':Js('U'),'ũ':Js('u'),'ū':Js('u'),'ŭ':Js('u'),'ů':Js('u'),'ű':Js('u'),'ų':Js('u'),'Ŵ':Js('W'),'ŵ':Js('w'),'Ŷ':Js('Y'),'ŷ':Js('y'),'Ÿ':Js('Y'),'Ź':Js('Z'),'Ż':Js('Z'),'Ž':Js('Z'),'ź':Js('z'),'ż':Js('z'),'ž':Js('z'),'IJ':Js('IJ'),'ij':Js('ij'),'Œ':Js('Oe'),'œ':Js('oe'),'ʼn':Js("'n"),'ſ':Js('s')})) + var.put('htmlEscapes', Js({'&':Js('&'),'<':Js('<'),'>':Js('>'),'"':Js('"'),"'":Js(''')})) + var.put('htmlUnescapes', Js({'&':Js('&'),'<':Js('<'),'>':Js('>'),'"':Js('"'),''':Js("'")})) + var.put('stringEscapes', Js({'\\':Js('\\'),"'":Js("'"),'\n':Js('n'),'\r':Js('r'),'\u2028':Js('u2028'),'\u2029':Js('u2029')})) + var.put('freeParseFloat', var.get('parseFloat')) + var.put('freeParseInt', var.get('parseInt')) + var.put('freeGlobal', (((((Js('undefined') if PyJsStrictEq(var.get('global',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('global')))==Js('object')) and var.get('global')) and PyJsStrictEq(var.get('global').get('Object'),var.get('Object'))) and var.get('global'))) + var.put('freeSelf', (((((Js('undefined') if PyJsStrictEq(var.get('self',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('self')))==Js('object')) and var.get('self')) and PyJsStrictEq(var.get('self').get('Object'),var.get('Object'))) and var.get('self'))) + var.put('root', ((var.get('freeGlobal') or var.get('freeSelf')) or var.get('Function')(Js('return this'))())) + var.put('freeExports', (((((Js('undefined') if PyJsStrictEq(var.get('exports',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('exports')))==Js('object')) and var.get('exports')) and var.get('exports').get('nodeType').neg()) and var.get('exports'))) + var.put('freeModule', ((((var.get('freeExports') and ((Js('undefined') if PyJsStrictEq(var.get('module',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('module')))==Js('object'))) and var.get('module')) and var.get('module').get('nodeType').neg()) and var.get('module'))) + var.put('moduleExports', (var.get('freeModule') and PyJsStrictEq(var.get('freeModule').get('exports'),var.get('freeExports')))) + var.put('freeProcess', (var.get('moduleExports') and var.get('freeGlobal').get('process'))) + @Js + def PyJs_anonymous_106_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['types']) + try: + var.put('types', ((var.get('freeModule') and var.get('freeModule').get('require')) and var.get('freeModule').callprop('require', Js('util')).get('types'))) + if var.get('types'): + return var.get('types') + return ((var.get('freeProcess') and var.get('freeProcess').get('binding')) and var.get('freeProcess').callprop('binding', Js('util'))) + except PyJsException as PyJsTempException: + PyJsHolder_65_14351404 = var.own.get('e') + var.force_own_put('e', PyExceptionToJs(PyJsTempException)) + try: + pass + finally: + if PyJsHolder_65_14351404 is not None: + var.own['e'] = PyJsHolder_65_14351404 + else: + del var.own['e'] + del PyJsHolder_65_14351404 + PyJs_anonymous_106_._set_name('anonymous') + var.put('nodeUtil', PyJs_anonymous_106_()) + var.put('nodeIsArrayBuffer', (var.get('nodeUtil') and var.get('nodeUtil').get('isArrayBuffer'))) + var.put('nodeIsDate', (var.get('nodeUtil') and var.get('nodeUtil').get('isDate'))) + var.put('nodeIsMap', (var.get('nodeUtil') and var.get('nodeUtil').get('isMap'))) + var.put('nodeIsRegExp', (var.get('nodeUtil') and var.get('nodeUtil').get('isRegExp'))) + var.put('nodeIsSet', (var.get('nodeUtil') and var.get('nodeUtil').get('isSet'))) + var.put('nodeIsTypedArray', (var.get('nodeUtil') and var.get('nodeUtil').get('isTypedArray'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + var.put('asciiSize', var.get('baseProperty')(Js('length'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + var.put('deburrLetter', var.get('basePropertyOf')(var.get('deburredLetters'))) + var.put('escapeHtmlChar', var.get('basePropertyOf')(var.get('htmlEscapes'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + var.put('unescapeHtmlChar', var.get('basePropertyOf')(var.get('htmlUnescapes'))) + pass + pass + pass + @Js + def PyJs_runInContext_118_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments, 'runInContext':PyJs_runInContext_118_}, var) + var.registers(['gte', 'promiseCtorString', 'baseOrderBy', 'pullAllWith', 'baseWhile', 'ctxClearTimeout', 'replace', 'identity', 'constant', 'wrapperAt', 'listCacheHas', 'escape', 'Function', 'cloneTypedArray', 'funcToString', 'isWeakSet', 'bindAll', 'random', 'xor', 'nativeFloor', 'over', 'isRegExp', 'thru', 'defaultTo', 'flattenDepth', 'countBy', 'now', 'symbolToString', 'createToPairs', 'flip', 'invokeMap', 'sortedIndexBy', 'assignValue', 'TypeError', 'basePullAt', 'wrapperReverse', 'createCtor', 'Date', 'listCacheGet', 'clamp', 'isIndex', 'baseIsRegExp', 'dataViewCtorString', 'baseIsArrayBuffer', 'invoke', 'sortedLastIndexOf', 'baseIsMap', 'matches', 'rearg', 'baseNth', 'rest', 'sortedIndex', 'isKeyable', 'baseEachRight', 'takeWhile', 'nth', 'baseConformsTo', 'sortedLastIndex', 'matchesStrictComparable', 'createFlow', 'tail', 'nativeGetSymbols', 'nativeReverse', 'coreJsData', 'toSource', 'baseFlatten', 'Stack', 'equalArrays', 'compareMultiple', 'overEvery', 'isFinite', 'lastIndexOf', 'isObjectLike', 'stackHas', 'baseIsEqual', 'isTypedArray', 'reorder', 'endsWith', 'wrapperClone', 'baseAssign', 'baseSet', 'flatMapDeep', 'reduce', 'getData', 'wrapperNext', 'setData', 'stackDelete', 'sample', 'without', 'baseClamp', 'unary', 'hasIn', 'keysIn', 'intersectionWith', 'mapCacheClear', 'partialRight', 'create', 'overArgs', 'baseRepeat', 'zipObjectDeep', 'SetCache', 'castArrayLikeObject', 'range', 'findKey', 'ListCache', 'nativeCreate', 'customOmitClone', 'isStrictComparable', 'symbolProto', 'delay', 'baseForOwn', 'stubArray', 'fromPairs', 'stringToPath', 'ctxSetTimeout', 'listCacheSet', 'assocIndexOf', 'sortedLastIndexBy', 'cloneArrayBuffer', 'createSet', 'escapeRegExp', 'includes', 'baseWrapperValue', 'propertyIsEnumerable', 'isWeakMap', 'words', 'pullAllBy', 'RegExp', 'mapValues', 'cloneDeep', 'flatMapDepth', 'matchesProperty', 'baseMap', 'hashHas', 'pullAll', 'createBind', 'snakeCase', 'baseUniq', 'baseInvoke', 'arrayLikeKeys', 'nativeKeys', 'toInteger', 'objectCtorString', 'intersectionBy', 'mixin', 'baseSetToString', 'setWrapToString', 'zipWith', 'reduceRight', 'pullAt', 'isFlattenable', 'allocUnsafe', 'intersection', 'realNames', 'isBoolean', 'createRelationalOperation', 'wrapperValue', 'baseSortedUniq', 'isNumber', 'difference', 'reverse', 'assignInWith', 'times', 'basePickBy', 'baseMatchesProperty', 'mapKeys', 'min', 'concat', 'isObject', 'pad', 'stackClear', 'filter', 'curryRight', 'castRest', 'toPlainObject', '_Symbol', 'arraySampleSize', 'arrayShuffle', 'omit', 'functionsIn', 'uniqueId', 'isMasked', 'symbolValueOf', 'nativeNow', 'lowerCase', 'indexOf', 'arraySample', 'kebabCase', 'stackSet', 'getAllKeys', 'nativeKeysIn', 'equalObjects', 'setCacheHas', 'sumBy', 'hasOwnProperty', 'nativeMin', 'isMatchWith', 'noConflict', 'invert', 'createPartial', 'baseEach', 'baseFor', 'baseKeys', 'sampleSize', 'isFunction', 'initCloneArray', 'baseToString', 'propertyOf', 'baseSample', 'differenceWith', 'eq', 'conforms', 'union', 'trimEnd', 'conformsTo', 'initCloneByTag', 'nativeMax', 'partition', 'isEmpty', 'shuffle', 'parent', 'defer', 'baseIsTypedArray', 'gt', 'partial', 'getAllKeysIn', 'baseIsDate', 'baseInRange', 'dropRight', 'baseGetTag', 'objectToString', 'chain', 'mapCacheGet', 'shuffleSelf', 'createMathOperation', 'stubFalse', 'Hash', 'createAggregator', 'baseRest', 'stubString', 'isArguments', 'xorWith', 'isSet', 'weakMapCtorString', 'toSafeInteger', 'clone', 'basePropertyDeep', 'isKey', 'lowerFirst', 'divide', 'isNil', 'getNative', 'assignWith', 'floor', 'splice', 'template', 'minBy', 'baseToNumber', 'basePullAll', 'compact', 'padStart', 'every', 'isNative', 'sum', 'toPairs', 'iteratee', 'startsWith', 'curry', 'baseHas', 'baseSortedIndexBy', 'clearTimeout', 'isArray', 'listCacheClear', 'baseLt', 'spread', 'startCase', 'baseCreate', 'round', 'forIn', 'drop', 'memoize', 'tap', 'MapCache', 'baseIteratee', 'castSlice', 'equalByTag', 'baseExtremum', 'flatRest', 'assign', 'has', 'compareAscending', 'slice', 'omitBy', 'setCtorString', 'dropWhile', 'attempt', 'flowRight', 'baseIsNative', 'Uint8Array', 'baseDelay', 'WeakMap', 'transform', 'baseLodash', 'mapCtorString', 'nativeObjectToString', 'createCurry', 'max', 'lodash', 'getHolder', 'camelCase', 'unzip', 'overSome', 'baseForRight', 'baseSome', 'createOver', 'Set', 'some', 'isUndefined', 'Array', 'valuesIn', 'toPath', 'baseHasIn', 'baseKeysIn', 'toString', 'head', 'Map', 'lazyReverse', 'maskSrcKey', 'assignMergeValue', 'toKey', 'nativeParseInt', 'copySymbols', 'isEqualWith', 'baseClone', 'getTag', 'differenceBy', 'lt', 'baseAggregator', 'createFind', 'getWrapDetails', 'findIndex', 'createWrap', 'getView', 'isString', 'wrapperCommit', 'wrapperToIterator', 'castArray', 'set', 'cloneDataView', 'repeat', 'rangeRight', 'takeRightWhile', 'shortOut', 'trim', 'baseGt', 'baseUnset', 'baseInverter', 'add', 'createCompounder', 'getFuncName', 'hashGet', 'createInverter', 'forOwn', 'LodashWrapper', 'baseIsArguments', 'forEachRight', 'meanBy', 'toUpper', 'DataView', 'baseFilter', 'mergeData', 'baseIsMatch', 'mergeWith', 'composeArgs', 'groupBy', 'getMatchData', 'idCounter', 'symIterator', 'split', 'createRange', 'mapCacheHas', 'upperFirst', 'stubObject', 'ceil', 'createRecurry', 'defineProperty', 'toLength', 'baseIsSet', 'zipObject', 'toNumber', 'pickBy', 'takeRight', 'nativeIsBuffer', 'createBaseEach', 'sortedIndexOf', 'context', 'getRawTag', 'setCacheAdd', 'unescape', 'baseFunctions', 'invertBy', 'nativeJoin', 'basePick', 'createRound', 'copySymbolsIn', 'after', 'map', 'cloneWith', 'stubTrue', 'subtract', 'values', 'findLastIndex', 'at', 'findLastKey', 'baseSetData', 'initCloneObject', 'get', 'functions', 'isMaskable', 'overRest', 'setToString', 'objectProto', 'hashDelete', 'baseIntersection', 'xorBy', 'debounce', 'copyArray', 'toArray', 'unzipWith', 'keys', 'deburr', 'baseMergeDeep', 'isNaN', 'cond', 'unset', 'baseXor', 'baseMerge', 'take', 'baseFill', 'assignIn', 'baseUpdate', 'updateWith', 'isPrototype', 'toPairsIn', 'join', 'baseSampleSize', 'property', 'chunk', 'findLast', 'once', 'truncate', 'reIsNative', 'sortedUniqBy', 'baseZipObject', 'customDefaultsMerge', 'keyBy', 'lte', 'castFunction', 'baseEvery', 'arrayProto', 'isLength', 'merge', 'baseMatches', 'isLaziable', 'isMatch', 'capitalize', 'getMapData', 'unionBy', 'cloneDeepWith', 'sortBy', 'zip', 'lazyValue', 'getSymbols', 'noop', 'wrapperChain', 'baseGet', 'isInteger', 'dropRightWhile', 'nativeIsFinite', 'baseIsEqualDeep', 'nativeCeil', 'initial', 'isPlainObject', 'safeGet', 'isArrayLikeObject', 'wrapperPlant', 'wrap', 'baseSortedIndex', 'isNull', 'forOwnRight', 'lazyClone', 'nthArg', 'hashSet', 'listCacheDelete', 'uniqWith', 'inRange', 'cloneBuffer', 'forEach', 'method', 'baseGetAllKeys', 'hasPath', 'sortedUniq', 'before', 'last', 'baseRandom', 'reject', 'insertWrapDetails', 'isDate', 'symToStringTag', 'forInRight', 'flatten', 'isEqual', 'createAssigner', 'isSafeInteger', 'uniqBy', 'Math', 'getSymbolsIn', 'isArrayLike', 'isSymbol', 'baseAssignValue', 'spreadableSymbol', 'padEnd', 'baseForOwnRight', 'negate', 'isMap', 'oldDash', 'multiply', 'pick', 'orderBy', 'setWith', 'mean', 'composeArgsRight', 'createPadding', 'objectCreate', 'metaMap', 'upperCase', 'isIterateeCall', 'bind', 'createHybrid', 'updateWrapDetails', 'find', 'parseInt', 'ctxNow', 'flatMap', 'cloneSymbol', 'toFinite', 'nativeRandom', 'LazyWrapper', 'defaultsDeep', 'ary', 'isArrayBuffer', 'isBuffer', 'remove', 'copyObject', 'baseSlice', 'getIteratee', 'castPath', 'throttle', 'Error', 'bindKey', 'baseDifference', 'setTimeout', 'baseAssignIn', 'String', 'createCaseFirst', 'fill', 'baseRange', 'cloneRegExp', 'hashClear', 'baseAt', 'flattenDeep', 'stackGet', 'isElement', 'pull', 'uniq', 'Promise', 'Object', 'mapCacheSet', 'toLower', 'Buffer', 'result', 'memoizeCapped', 'unionWith', 'getPrototype', 'funcProto', 'update', 'isError', 'createBaseFor', 'customDefaultsAssignIn', 'defaults', 'methodOf', 'maxBy', 'mapCacheDelete', 'flow', 'baseShuffle', 'trimStart', 'baseConforms', 'size']) + @Js + def PyJsHoisted_lodash_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + if ((var.get('isObjectLike')(var.get('value')) and var.get('isArray')(var.get('value')).neg()) and var.get('value').instanceof(var.get('LazyWrapper')).neg()): + if var.get('value').instanceof(var.get('LodashWrapper')): + return var.get('value') + if var.get('hasOwnProperty').callprop('call', var.get('value'), Js('__wrapped__')): + return var.get('wrapperClone')(var.get('value')) + return var.get('LodashWrapper').create(var.get('value')) + PyJsHoisted_lodash_.func_name = 'lodash' + var.put('lodash', PyJsHoisted_lodash_) + @Js + def PyJsHoisted_baseLodash_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + pass + PyJsHoisted_baseLodash_.func_name = 'baseLodash' + var.put('baseLodash', PyJsHoisted_baseLodash_) + @Js + def PyJsHoisted_LodashWrapper_(value, chainAll, this, arguments, var=var): + var = Scope({'value':value, 'chainAll':chainAll, 'this':this, 'arguments':arguments}, var) + var.registers(['chainAll', 'value']) + var.get(u"this").put('__wrapped__', var.get('value')) + var.get(u"this").put('__actions__', Js([])) + var.get(u"this").put('__chain__', var.get('chainAll').neg().neg()) + var.get(u"this").put('__index__', Js(0.0)) + var.get(u"this").put('__values__', var.get('undefined')) + PyJsHoisted_LodashWrapper_.func_name = 'LodashWrapper' + var.put('LodashWrapper', PyJsHoisted_LodashWrapper_) + @Js + def PyJsHoisted_LazyWrapper_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + var.get(u"this").put('__wrapped__', var.get('value')) + var.get(u"this").put('__actions__', Js([])) + var.get(u"this").put('__dir__', Js(1.0)) + var.get(u"this").put('__filtered__', Js(False)) + var.get(u"this").put('__iteratees__', Js([])) + var.get(u"this").put('__takeCount__', var.get('MAX_ARRAY_LENGTH')) + var.get(u"this").put('__views__', Js([])) + PyJsHoisted_LazyWrapper_.func_name = 'LazyWrapper' + var.put('LazyWrapper', PyJsHoisted_LazyWrapper_) + @Js + def PyJsHoisted_lazyClone_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['result']) + var.put('result', var.get('LazyWrapper').create(var.get(u"this").get('__wrapped__'))) + var.get('result').put('__actions__', var.get('copyArray')(var.get(u"this").get('__actions__'))) + var.get('result').put('__dir__', var.get(u"this").get('__dir__')) + var.get('result').put('__filtered__', var.get(u"this").get('__filtered__')) + var.get('result').put('__iteratees__', var.get('copyArray')(var.get(u"this").get('__iteratees__'))) + var.get('result').put('__takeCount__', var.get(u"this").get('__takeCount__')) + var.get('result').put('__views__', var.get('copyArray')(var.get(u"this").get('__views__'))) + return var.get('result') + PyJsHoisted_lazyClone_.func_name = 'lazyClone' + var.put('lazyClone', PyJsHoisted_lazyClone_) + @Js + def PyJsHoisted_lazyReverse_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['result']) + if var.get(u"this").get('__filtered__'): + var.put('result', var.get('LazyWrapper').create(var.get(u"this"))) + var.get('result').put('__dir__', (-Js(1.0))) + var.get('result').put('__filtered__', Js(True)) + else: + var.put('result', var.get(u"this").callprop('clone')) + var.get('result').put('__dir__', (-Js(1.0)), '*') + return var.get('result') + PyJsHoisted_lazyReverse_.func_name = 'lazyReverse' + var.put('lazyReverse', PyJsHoisted_lazyReverse_) + @Js + def PyJsHoisted_lazyValue_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['iteratees', 'takeCount', 'computed', 'start', 'data', 'end', 'iteratee', 'isRight', 'iterIndex', 'result', 'view', 'length', 'isArr', 'value', 'arrLength', 'dir', 'array', 'iterLength', 'type', 'resIndex', 'index']) + var.put('array', var.get(u"this").get('__wrapped__').callprop('value')) + var.put('dir', var.get(u"this").get('__dir__')) + var.put('isArr', var.get('isArray')(var.get('array'))) + var.put('isRight', (var.get('dir')(-Js(1.0))) + PyJsHoisted_listCacheHas_.func_name = 'listCacheHas' + var.put('listCacheHas', PyJsHoisted_listCacheHas_) + @Js + def PyJsHoisted_listCacheSet_(key, value, this, arguments, var=var): + var = Scope({'key':key, 'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'data', 'index', 'key']) + var.put('data', var.get(u"this").get('__data__')) + var.put('index', var.get('assocIndexOf')(var.get('data'), var.get('key'))) + if (var.get('index')=var.get('lower')) else var.get('lower'))) + return var.get('number') + PyJsHoisted_baseClamp_.func_name = 'baseClamp' + var.put('baseClamp', PyJsHoisted_baseClamp_) + @Js + def PyJsHoisted_baseClone_(value, bitmask, customizer, key, object, stack, this, arguments, var=var): + var = Scope({'value':value, 'bitmask':bitmask, 'customizer':customizer, 'key':key, 'object':object, 'stack':stack, 'this':this, 'arguments':arguments}, var) + var.registers(['bitmask', 'customizer', 'isArr', 'isFull', 'value', 'isDeep', 'tag', 'key', 'props', 'object', 'result', 'isFlat', 'keysFunc', 'stack', 'stacked', 'isFunc']) + var.put('isDeep', (var.get('bitmask')&var.get('CLONE_DEEP_FLAG'))) + var.put('isFlat', (var.get('bitmask')&var.get('CLONE_FLAT_FLAG'))) + var.put('isFull', (var.get('bitmask')&var.get('CLONE_SYMBOLS_FLAG'))) + if var.get('customizer'): + var.put('result', (var.get('customizer')(var.get('value'), var.get('key'), var.get('object'), var.get('stack')) if var.get('object') else var.get('customizer')(var.get('value')))) + if PyJsStrictNeq(var.get('result'),var.get('undefined')): + return var.get('result') + if var.get('isObject')(var.get('value')).neg(): + return var.get('value') + var.put('isArr', var.get('isArray')(var.get('value'))) + if var.get('isArr'): + var.put('result', var.get('initCloneArray')(var.get('value'))) + if var.get('isDeep').neg(): + return var.get('copyArray')(var.get('value'), var.get('result')) + else: + var.put('tag', var.get('getTag')(var.get('value'))) + var.put('isFunc', ((var.get('tag')==var.get('funcTag')) or (var.get('tag')==var.get('genTag')))) + if var.get('isBuffer')(var.get('value')): + return var.get('cloneBuffer')(var.get('value'), var.get('isDeep')) + if (((var.get('tag')==var.get('objectTag')) or (var.get('tag')==var.get('argsTag'))) or (var.get('isFunc') and var.get('object').neg())): + var.put('result', (Js({}) if (var.get('isFlat') or var.get('isFunc')) else var.get('initCloneObject')(var.get('value')))) + if var.get('isDeep').neg(): + return (var.get('copySymbolsIn')(var.get('value'), var.get('baseAssignIn')(var.get('result'), var.get('value'))) if var.get('isFlat') else var.get('copySymbols')(var.get('value'), var.get('baseAssign')(var.get('result'), var.get('value')))) + else: + if var.get('cloneableTags').get(var.get('tag')).neg(): + return (var.get('value') if var.get('object') else Js({})) + var.put('result', var.get('initCloneByTag')(var.get('value'), var.get('tag'), var.get('isDeep'))) + (var.get('stack') or var.put('stack', var.get('Stack').create())) + var.put('stacked', var.get('stack').callprop('get', var.get('value'))) + if var.get('stacked'): + return var.get('stacked') + var.get('stack').callprop('set', var.get('value'), var.get('result')) + if var.get('isSet')(var.get('value')): + @Js + def PyJs_anonymous_125_(subValue, this, arguments, var=var): + var = Scope({'subValue':subValue, 'this':this, 'arguments':arguments}, var) + var.registers(['subValue']) + var.get('result').callprop('add', var.get('baseClone')(var.get('subValue'), var.get('bitmask'), var.get('customizer'), var.get('subValue'), var.get('value'), var.get('stack'))) + PyJs_anonymous_125_._set_name('anonymous') + var.get('value').callprop('forEach', PyJs_anonymous_125_) + return var.get('result') + if var.get('isMap')(var.get('value')): + @Js + def PyJs_anonymous_126_(subValue, key, this, arguments, var=var): + var = Scope({'subValue':subValue, 'key':key, 'this':this, 'arguments':arguments}, var) + var.registers(['subValue', 'key']) + var.get('result').callprop('set', var.get('key'), var.get('baseClone')(var.get('subValue'), var.get('bitmask'), var.get('customizer'), var.get('key'), var.get('value'), var.get('stack'))) + PyJs_anonymous_126_._set_name('anonymous') + var.get('value').callprop('forEach', PyJs_anonymous_126_) + return var.get('result') + var.put('keysFunc', ((var.get('getAllKeysIn') if var.get('isFlat') else var.get('getAllKeys')) if var.get('isFull') else (var.get('keysIn') if var.get('isFlat') else var.get('keys')))) + var.put('props', (var.get('undefined') if var.get('isArr') else var.get('keysFunc')(var.get('value')))) + @Js + def PyJs_anonymous_127_(subValue, key, this, arguments, var=var): + var = Scope({'subValue':subValue, 'key':key, 'this':this, 'arguments':arguments}, var) + var.registers(['subValue', 'key']) + if var.get('props'): + var.put('key', var.get('subValue')) + var.put('subValue', var.get('value').get(var.get('key'))) + var.get('assignValue')(var.get('result'), var.get('key'), var.get('baseClone')(var.get('subValue'), var.get('bitmask'), var.get('customizer'), var.get('key'), var.get('value'), var.get('stack'))) + PyJs_anonymous_127_._set_name('anonymous') + var.get('arrayEach')((var.get('props') or var.get('value')), PyJs_anonymous_127_) + return var.get('result') + PyJsHoisted_baseClone_.func_name = 'baseClone' + var.put('baseClone', PyJsHoisted_baseClone_) + @Js + def PyJsHoisted_baseConforms_(source, this, arguments, var=var): + var = Scope({'source':source, 'this':this, 'arguments':arguments}, var) + var.registers(['props', 'source']) + var.put('props', var.get('keys')(var.get('source'))) + @Js + def PyJs_anonymous_128_(object, this, arguments, var=var): + var = Scope({'object':object, 'this':this, 'arguments':arguments}, var) + var.registers(['object']) + return var.get('baseConformsTo')(var.get('object'), var.get('source'), var.get('props')) + PyJs_anonymous_128_._set_name('anonymous') + return PyJs_anonymous_128_ + PyJsHoisted_baseConforms_.func_name = 'baseConforms' + var.put('baseConforms', PyJsHoisted_baseConforms_) + @Js + def PyJsHoisted_baseConformsTo_(object, source, props, this, arguments, var=var): + var = Scope({'object':object, 'source':source, 'props':props, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'object', 'props', 'predicate', 'key', 'length', 'source']) + var.put('length', var.get('props').get('length')) + if (var.get('object')==var.get(u"null")): + return var.get('length').neg() + var.put('object', var.get('Object')(var.get('object'))) + while (var.put('length',Js(var.get('length').to_number())-Js(1))+Js(1)): + var.put('key', var.get('props').get(var.get('length'))) + var.put('predicate', var.get('source').get(var.get('key'))) + var.put('value', var.get('object').get(var.get('key'))) + if ((PyJsStrictEq(var.get('value'),var.get('undefined')) and var.get('object').contains(var.get('key')).neg()) or var.get('predicate')(var.get('value')).neg()): + return Js(False) + return Js(True) + PyJsHoisted_baseConformsTo_.func_name = 'baseConformsTo' + var.put('baseConformsTo', PyJsHoisted_baseConformsTo_) + @Js + def PyJsHoisted_baseDelay_(func, wait, args, this, arguments, var=var): + var = Scope({'func':func, 'wait':wait, 'args':args, 'this':this, 'arguments':arguments}, var) + var.registers(['wait', 'func', 'args']) + if (var.get('func',throw=False).typeof()!=Js('function')): + PyJsTempException = JsToPyException(var.get('TypeError').create(var.get('FUNC_ERROR_TEXT'))) + raise PyJsTempException + @Js + def PyJs_anonymous_129_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + var.get('func').callprop('apply', var.get('undefined'), var.get('args')) + PyJs_anonymous_129_._set_name('anonymous') + return var.get('setTimeout')(PyJs_anonymous_129_, var.get('wait')) + PyJsHoisted_baseDelay_.func_name = 'baseDelay' + var.put('baseDelay', PyJsHoisted_baseDelay_) + @Js + def PyJsHoisted_baseDifference_(array, values, iteratee, comparator, this, arguments, var=var): + var = Scope({'array':array, 'values':values, 'iteratee':iteratee, 'comparator':comparator, 'this':this, 'arguments':arguments}, var) + var.registers(['valuesIndex', 'comparator', 'isCommon', 'value', 'values', 'array', 'includes', 'result', 'computed', 'valuesLength', 'length', 'iteratee', 'index']) + var.put('index', (-Js(1.0))) + var.put('includes', var.get('arrayIncludes')) + var.put('isCommon', Js(True)) + var.put('length', var.get('array').get('length')) + var.put('result', Js([])) + var.put('valuesLength', var.get('values').get('length')) + if var.get('length').neg(): + return var.get('result') + if var.get('iteratee'): + var.put('values', var.get('arrayMap')(var.get('values'), var.get('baseUnary')(var.get('iteratee')))) + if var.get('comparator'): + var.put('includes', var.get('arrayIncludesWith')) + var.put('isCommon', Js(False)) + else: + if (var.get('values').get('length')>=var.get('LARGE_ARRAY_SIZE')): + var.put('includes', var.get('cacheHas')) + var.put('isCommon', Js(False)) + var.put('values', var.get('SetCache').create(var.get('values'))) + class JS_CONTINUE_LABEL_6f75746572(Exception): pass + class JS_BREAK_LABEL_6f75746572(Exception): pass + try: + while (var.put('index',Js(var.get('index').to_number())+Js(1))var.get('length')) else (var.get('length')+var.get('start')))) + var.put('end', (var.get('length') if (PyJsStrictEq(var.get('end'),var.get('undefined')) or (var.get('end')>var.get('length'))) else var.get('toInteger')(var.get('end')))) + if (var.get('end')var.get('end')) else var.get('toLength')(var.get('end')))) + while (var.get('start')Js(0.0)) and var.get('predicate')(var.get('value'))): + if (var.get('depth')>Js(1.0)): + var.get('baseFlatten')(var.get('value'), (var.get('depth')-Js(1.0)), var.get('predicate'), var.get('isStrict'), var.get('result')) + else: + var.get('arrayPush')(var.get('result'), var.get('value')) + else: + if var.get('isStrict').neg(): + var.get('result').put(var.get('result').get('length'), var.get('value')) + return var.get('result') + PyJsHoisted_baseFlatten_.func_name = 'baseFlatten' + var.put('baseFlatten', PyJsHoisted_baseFlatten_) + @Js + def PyJsHoisted_baseForOwn_(object, iteratee, this, arguments, var=var): + var = Scope({'object':object, 'iteratee':iteratee, 'this':this, 'arguments':arguments}, var) + var.registers(['object', 'iteratee']) + return (var.get('object') and var.get('baseFor')(var.get('object'), var.get('iteratee'), var.get('keys'))) + PyJsHoisted_baseForOwn_.func_name = 'baseForOwn' + var.put('baseForOwn', PyJsHoisted_baseForOwn_) + @Js + def PyJsHoisted_baseForOwnRight_(object, iteratee, this, arguments, var=var): + var = Scope({'object':object, 'iteratee':iteratee, 'this':this, 'arguments':arguments}, var) + var.registers(['object', 'iteratee']) + return (var.get('object') and var.get('baseForRight')(var.get('object'), var.get('iteratee'), var.get('keys'))) + PyJsHoisted_baseForOwnRight_.func_name = 'baseForOwnRight' + var.put('baseForOwnRight', PyJsHoisted_baseForOwnRight_) + @Js + def PyJsHoisted_baseFunctions_(object, props, this, arguments, var=var): + var = Scope({'object':object, 'props':props, 'this':this, 'arguments':arguments}, var) + var.registers(['object', 'props']) + @Js + def PyJs_anonymous_132_(key, this, arguments, var=var): + var = Scope({'key':key, 'this':this, 'arguments':arguments}, var) + var.registers(['key']) + return var.get('isFunction')(var.get('object').get(var.get('key'))) + PyJs_anonymous_132_._set_name('anonymous') + return var.get('arrayFilter')(var.get('props'), PyJs_anonymous_132_) + PyJsHoisted_baseFunctions_.func_name = 'baseFunctions' + var.put('baseFunctions', PyJsHoisted_baseFunctions_) + @Js + def PyJsHoisted_baseGet_(object, path, this, arguments, var=var): + var = Scope({'object':object, 'path':path, 'this':this, 'arguments':arguments}, var) + var.registers(['path', 'object', 'length', 'index']) + var.put('path', var.get('castPath')(var.get('path'), var.get('object'))) + var.put('index', Js(0.0)) + var.put('length', var.get('path').get('length')) + while ((var.get('object')!=var.get(u"null")) and (var.get('index')var.get('other')) + PyJsHoisted_baseGt_.func_name = 'baseGt' + var.put('baseGt', PyJsHoisted_baseGt_) + @Js + def PyJsHoisted_baseHas_(object, key, this, arguments, var=var): + var = Scope({'object':object, 'key':key, 'this':this, 'arguments':arguments}, var) + var.registers(['object', 'key']) + return ((var.get('object')!=var.get(u"null")) and var.get('hasOwnProperty').callprop('call', var.get('object'), var.get('key'))) + PyJsHoisted_baseHas_.func_name = 'baseHas' + var.put('baseHas', PyJsHoisted_baseHas_) + @Js + def PyJsHoisted_baseHasIn_(object, key, this, arguments, var=var): + var = Scope({'object':object, 'key':key, 'this':this, 'arguments':arguments}, var) + var.registers(['object', 'key']) + return ((var.get('object')!=var.get(u"null")) and var.get('Object')(var.get('object')).contains(var.get('key'))) + PyJsHoisted_baseHasIn_.func_name = 'baseHasIn' + var.put('baseHasIn', PyJsHoisted_baseHasIn_) + @Js + def PyJsHoisted_baseInRange_(number, start, end, this, arguments, var=var): + var = Scope({'number':number, 'start':start, 'end':end, 'this':this, 'arguments':arguments}, var) + var.registers(['end', 'number', 'start']) + return ((var.get('number')>=var.get('nativeMin')(var.get('start'), var.get('end'))) and (var.get('number')=Js(120.0)) and (var.get('array').get('length')>=Js(120.0))))) else var.get('undefined'))) + var.put('array', var.get('arrays').get('0')) + var.put('index', (-Js(1.0))) + var.put('seen', var.get('caches').get('0')) + class JS_CONTINUE_LABEL_6f75746572(Exception): pass + class JS_BREAK_LABEL_6f75746572(Exception): pass + try: + while ((var.put('index',Js(var.get('index').to_number())+Js(1))(-Js(1.0))): + if PyJsStrictNeq(var.get('seen'),var.get('array')): + var.get('splice').callprop('call', var.get('seen'), var.get('fromIndex'), Js(1.0)) + var.get('splice').callprop('call', var.get('array'), var.get('fromIndex'), Js(1.0)) + return var.get('array') + PyJsHoisted_basePullAll_.func_name = 'basePullAll' + var.put('basePullAll', PyJsHoisted_basePullAll_) + @Js + def PyJsHoisted_basePullAt_(array, indexes, this, arguments, var=var): + var = Scope({'array':array, 'indexes':indexes, 'this':this, 'arguments':arguments}, var) + var.registers(['array', 'indexes', 'previous', 'lastIndex', 'length', 'index']) + var.put('length', (var.get('indexes').get('length') if var.get('array') else Js(0.0))) + var.put('lastIndex', (var.get('length')-Js(1.0))) + while (var.put('length',Js(var.get('length').to_number())-Js(1))+Js(1)): + var.put('index', var.get('indexes').get(var.get('length'))) + if ((var.get('length')==var.get('lastIndex')) or PyJsStrictNeq(var.get('index'),var.get('previous'))): + var.put('previous', var.get('index')) + if var.get('isIndex')(var.get('index')): + var.get('splice').callprop('call', var.get('array'), var.get('index'), Js(1.0)) + else: + var.get('baseUnset')(var.get('array'), var.get('index')) + return var.get('array') + PyJsHoisted_basePullAt_.func_name = 'basePullAt' + var.put('basePullAt', PyJsHoisted_basePullAt_) + @Js + def PyJsHoisted_baseRandom_(lower, upper, this, arguments, var=var): + var = Scope({'lower':lower, 'upper':upper, 'this':this, 'arguments':arguments}, var) + var.registers(['upper', 'lower']) + return (var.get('lower')+var.get('nativeFloor')((var.get('nativeRandom')()*((var.get('upper')-var.get('lower'))+Js(1.0))))) + PyJsHoisted_baseRandom_.func_name = 'baseRandom' + var.put('baseRandom', PyJsHoisted_baseRandom_) + @Js + def PyJsHoisted_baseRange_(start, end, step, fromRight, this, arguments, var=var): + var = Scope({'start':start, 'end':end, 'step':step, 'fromRight':fromRight, 'this':this, 'arguments':arguments}, var) + var.registers(['step', 'result', 'start', 'fromRight', 'end', 'length', 'index']) + var.put('index', (-Js(1.0))) + var.put('length', var.get('nativeMax')(var.get('nativeCeil')(((var.get('end')-var.get('start'))/(var.get('step') or Js(1.0)))), Js(0.0))) + var.put('result', var.get('Array')(var.get('length'))) + while (var.put('length',Js(var.get('length').to_number())-Js(1))+Js(1)): + var.get('result').put((var.get('length') if var.get('fromRight') else var.put('index',Js(var.get('index').to_number())+Js(1))), var.get('start')) + var.put('start', var.get('step'), '+') + return var.get('result') + PyJsHoisted_baseRange_.func_name = 'baseRange' + var.put('baseRange', PyJsHoisted_baseRange_) + @Js + def PyJsHoisted_baseRepeat_(string, n, this, arguments, var=var): + var = Scope({'string':string, 'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'n', 'string']) + var.put('result', Js('')) + if ((var.get('string').neg() or (var.get('n')var.get('MAX_SAFE_INTEGER'))): + return var.get('result') + while 1: + if (var.get('n')%Js(2.0)): + var.put('result', var.get('string'), '+') + var.put('n', var.get('nativeFloor')((var.get('n')/Js(2.0)))) + if var.get('n'): + var.put('string', var.get('string'), '+') + if not var.get('n'): + break + return var.get('result') + PyJsHoisted_baseRepeat_.func_name = 'baseRepeat' + var.put('baseRepeat', PyJsHoisted_baseRepeat_) + @Js + def PyJsHoisted_baseRest_(func, start, this, arguments, var=var): + var = Scope({'func':func, 'start':start, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'start']) + return var.get('setToString')(var.get('overRest')(var.get('func'), var.get('start'), var.get('identity')), (var.get('func')+Js(''))) + PyJsHoisted_baseRest_.func_name = 'baseRest' + var.put('baseRest', PyJsHoisted_baseRest_) + @Js + def PyJsHoisted_baseSample_(collection, this, arguments, var=var): + var = Scope({'collection':collection, 'this':this, 'arguments':arguments}, var) + var.registers(['collection']) + return var.get('arraySample')(var.get('values')(var.get('collection'))) + PyJsHoisted_baseSample_.func_name = 'baseSample' + var.put('baseSample', PyJsHoisted_baseSample_) + @Js + def PyJsHoisted_baseSampleSize_(collection, n, this, arguments, var=var): + var = Scope({'collection':collection, 'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['n', 'array', 'collection']) + var.put('array', var.get('values')(var.get('collection'))) + return var.get('shuffleSelf')(var.get('array'), var.get('baseClamp')(var.get('n'), Js(0.0), var.get('array').get('length'))) + PyJsHoisted_baseSampleSize_.func_name = 'baseSampleSize' + var.put('baseSampleSize', PyJsHoisted_baseSampleSize_) + @Js + def PyJsHoisted_baseSet_(object, path, value, customizer, this, arguments, var=var): + var = Scope({'object':object, 'path':path, 'value':value, 'customizer':customizer, 'this':this, 'arguments':arguments}, var) + var.registers(['customizer', 'lastIndex', 'newValue', 'value', 'object', 'nested', 'path', 'objValue', 'key', 'length', 'index']) + if var.get('isObject')(var.get('object')).neg(): + return var.get('object') + var.put('path', var.get('castPath')(var.get('path'), var.get('object'))) + var.put('index', (-Js(1.0))) + var.put('length', var.get('path').get('length')) + var.put('lastIndex', (var.get('length')-Js(1.0))) + var.put('nested', var.get('object')) + while ((var.get('nested')!=var.get(u"null")) and (var.put('index',Js(var.get('index').to_number())+Js(1))var.get('length')) else (var.get('length')+var.get('start')))) + var.put('end', (var.get('length') if (var.get('end')>var.get('length')) else var.get('end'))) + if (var.get('end')var.get('end')) else PyJsBshift((var.get('end')-var.get('start')),Js(0.0)))) + var.put('start', Js(0.0), '>>>') + var.put('result', var.get('Array')(var.get('length'))) + while (var.put('index',Js(var.get('index').to_number())+Js(1))=var.get('LARGE_ARRAY_SIZE')): + var.put('set', (var.get(u"null") if var.get('iteratee') else var.get('createSet')(var.get('array')))) + if var.get('set'): + return var.get('setToArray')(var.get('set')) + var.put('isCommon', Js(False)) + var.put('includes', var.get('cacheHas')) + var.put('seen', var.get('SetCache').create()) + else: + var.put('seen', (Js([]) if var.get('iteratee') else var.get('result'))) + class JS_CONTINUE_LABEL_6f75746572(Exception): pass + class JS_BREAK_LABEL_6f75746572(Exception): pass + try: + while (var.put('index',Js(var.get('index').to_number())+Js(1))=var.get('length'))) else var.get('baseSlice')(var.get('array'), var.get('start'), var.get('end'))) + PyJsHoisted_castSlice_.func_name = 'castSlice' + var.put('castSlice', PyJsHoisted_castSlice_) + @Js + def PyJsHoisted_cloneBuffer_(buffer, isDeep, this, arguments, var=var): + var = Scope({'buffer':buffer, 'isDeep':isDeep, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'length', 'buffer', 'isDeep']) + if var.get('isDeep'): + return var.get('buffer').callprop('slice') + var.put('length', var.get('buffer').get('length')) + var.put('result', (var.get('allocUnsafe')(var.get('length')) if var.get('allocUnsafe') else var.get('buffer').get('constructor').create(var.get('length')))) + var.get('buffer').callprop('copy', var.get('result')) + return var.get('result') + PyJsHoisted_cloneBuffer_.func_name = 'cloneBuffer' + var.put('cloneBuffer', PyJsHoisted_cloneBuffer_) + @Js + def PyJsHoisted_cloneArrayBuffer_(arrayBuffer, this, arguments, var=var): + var = Scope({'arrayBuffer':arrayBuffer, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'arrayBuffer']) + var.put('result', var.get('arrayBuffer').get('constructor').create(var.get('arrayBuffer').get('byteLength'))) + var.get('Uint8Array').create(var.get('result')).callprop('set', var.get('Uint8Array').create(var.get('arrayBuffer'))) + return var.get('result') + PyJsHoisted_cloneArrayBuffer_.func_name = 'cloneArrayBuffer' + var.put('cloneArrayBuffer', PyJsHoisted_cloneArrayBuffer_) + @Js + def PyJsHoisted_cloneDataView_(dataView, isDeep, this, arguments, var=var): + var = Scope({'dataView':dataView, 'isDeep':isDeep, 'this':this, 'arguments':arguments}, var) + var.registers(['isDeep', 'dataView', 'buffer']) + var.put('buffer', (var.get('cloneArrayBuffer')(var.get('dataView').get('buffer')) if var.get('isDeep') else var.get('dataView').get('buffer'))) + return var.get('dataView').get('constructor').create(var.get('buffer'), var.get('dataView').get('byteOffset'), var.get('dataView').get('byteLength')) + PyJsHoisted_cloneDataView_.func_name = 'cloneDataView' + var.put('cloneDataView', PyJsHoisted_cloneDataView_) + @Js + def PyJsHoisted_cloneRegExp_(regexp, this, arguments, var=var): + var = Scope({'regexp':regexp, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'regexp']) + var.put('result', var.get('regexp').get('constructor').create(var.get('regexp').get('source'), var.get('reFlags').callprop('exec', var.get('regexp')))) + var.get('result').put('lastIndex', var.get('regexp').get('lastIndex')) + return var.get('result') + PyJsHoisted_cloneRegExp_.func_name = 'cloneRegExp' + var.put('cloneRegExp', PyJsHoisted_cloneRegExp_) + @Js + def PyJsHoisted_cloneSymbol_(symbol, this, arguments, var=var): + var = Scope({'symbol':symbol, 'this':this, 'arguments':arguments}, var) + var.registers(['symbol']) + return (var.get('Object')(var.get('symbolValueOf').callprop('call', var.get('symbol'))) if var.get('symbolValueOf') else Js({})) + PyJsHoisted_cloneSymbol_.func_name = 'cloneSymbol' + var.put('cloneSymbol', PyJsHoisted_cloneSymbol_) + @Js + def PyJsHoisted_cloneTypedArray_(typedArray, isDeep, this, arguments, var=var): + var = Scope({'typedArray':typedArray, 'isDeep':isDeep, 'this':this, 'arguments':arguments}, var) + var.registers(['isDeep', 'typedArray', 'buffer']) + var.put('buffer', (var.get('cloneArrayBuffer')(var.get('typedArray').get('buffer')) if var.get('isDeep') else var.get('typedArray').get('buffer'))) + return var.get('typedArray').get('constructor').create(var.get('buffer'), var.get('typedArray').get('byteOffset'), var.get('typedArray').get('length')) + PyJsHoisted_cloneTypedArray_.func_name = 'cloneTypedArray' + var.put('cloneTypedArray', PyJsHoisted_cloneTypedArray_) + @Js + def PyJsHoisted_compareAscending_(value, other, this, arguments, var=var): + var = Scope({'value':value, 'other':other, 'this':this, 'arguments':arguments}, var) + var.registers(['valIsSymbol', 'valIsReflexive', 'othIsNull', 'other', 'value', 'othIsReflexive', 'othIsDefined', 'othIsSymbol', 'valIsNull', 'valIsDefined']) + if PyJsStrictNeq(var.get('value'),var.get('other')): + var.put('valIsDefined', PyJsStrictNeq(var.get('value'),var.get('undefined'))) + var.put('valIsNull', PyJsStrictEq(var.get('value'),var.get(u"null"))) + var.put('valIsReflexive', PyJsStrictEq(var.get('value'),var.get('value'))) + var.put('valIsSymbol', var.get('isSymbol')(var.get('value'))) + var.put('othIsDefined', PyJsStrictNeq(var.get('other'),var.get('undefined'))) + var.put('othIsNull', PyJsStrictEq(var.get('other'),var.get(u"null"))) + var.put('othIsReflexive', PyJsStrictEq(var.get('other'),var.get('other'))) + var.put('othIsSymbol', var.get('isSymbol')(var.get('other'))) + def PyJs_LONG_148_(var=var): + return ((((((var.get('othIsNull').neg() and var.get('othIsSymbol').neg()) and var.get('valIsSymbol').neg()) and (var.get('value')>var.get('other'))) or ((((var.get('valIsSymbol') and var.get('othIsDefined')) and var.get('othIsReflexive')) and var.get('othIsNull').neg()) and var.get('othIsSymbol').neg())) or ((var.get('valIsNull') and var.get('othIsDefined')) and var.get('othIsReflexive'))) or (var.get('valIsDefined').neg() and var.get('othIsReflexive'))) + if (PyJs_LONG_148_() or var.get('valIsReflexive').neg()): + return Js(1.0) + def PyJs_LONG_149_(var=var): + return ((((((var.get('valIsNull').neg() and var.get('valIsSymbol').neg()) and var.get('othIsSymbol').neg()) and (var.get('value')=var.get('ordersLength')): + return var.get('result') + var.put('order', var.get('orders').get(var.get('index'))) + return (var.get('result')*((-Js(1.0)) if (var.get('order')==Js('desc')) else Js(1.0))) + return (var.get('object').get('index')-var.get('other').get('index')) + PyJsHoisted_compareMultiple_.func_name = 'compareMultiple' + var.put('compareMultiple', PyJsHoisted_compareMultiple_) + @Js + def PyJsHoisted_composeArgs_(args, partials, holders, isCurried, this, arguments, var=var): + var = Scope({'args':args, 'partials':partials, 'holders':holders, 'isCurried':isCurried, 'this':this, 'arguments':arguments}, var) + var.registers(['leftIndex', 'leftLength', 'args', 'partials', 'rangeLength', 'argsIndex', 'argsLength', 'holdersLength', 'result', 'holders', 'isUncurried', 'isCurried']) + var.put('argsIndex', (-Js(1.0))) + var.put('argsLength', var.get('args').get('length')) + var.put('holdersLength', var.get('holders').get('length')) + var.put('leftIndex', (-Js(1.0))) + var.put('leftLength', var.get('partials').get('length')) + var.put('rangeLength', var.get('nativeMax')((var.get('argsLength')-var.get('holdersLength')), Js(0.0))) + var.put('result', var.get('Array')((var.get('leftLength')+var.get('rangeLength')))) + var.put('isUncurried', var.get('isCurried').neg()) + while (var.put('leftIndex',Js(var.get('leftIndex').to_number())+Js(1))Js(1.0)) else var.get('undefined'))) + var.put('guard', (var.get('sources').get('2') if (var.get('length')>Js(2.0)) else var.get('undefined'))) + var.put('customizer', (PyJsComma((var.put('length',Js(var.get('length').to_number())-Js(1))+Js(1)),var.get('customizer')) if ((var.get('assigner').get('length')>Js(3.0)) and (var.get('customizer',throw=False).typeof()==Js('function'))) else var.get('undefined'))) + if (var.get('guard') and var.get('isIterateeCall')(var.get('sources').get('0'), var.get('sources').get('1'), var.get('guard'))): + var.put('customizer', (var.get('undefined') if (var.get('length')(-Js(1.0))) else var.get('undefined')) + PyJs_anonymous_157_._set_name('anonymous') + return PyJs_anonymous_157_ + PyJsHoisted_createFind_.func_name = 'createFind' + var.put('createFind', PyJsHoisted_createFind_) + @Js + def PyJsHoisted_createFlow_(fromRight, this, arguments, var=var): + var = Scope({'fromRight':fromRight, 'this':this, 'arguments':arguments}, var) + var.registers(['fromRight']) + @Js + def PyJs_anonymous_159_(funcs, this, arguments, var=var): + var = Scope({'funcs':funcs, 'this':this, 'arguments':arguments}, var) + var.registers(['funcName', 'funcs', 'func', 'data', 'prereq', 'length', 'wrapper', 'index']) + var.put('length', var.get('funcs').get('length')) + var.put('index', var.get('length')) + var.put('prereq', var.get('LodashWrapper').get('prototype').get('thru')) + if var.get('fromRight'): + var.get('funcs').callprop('reverse') + while (var.put('index',Js(var.get('index').to_number())-Js(1))+Js(1)): + var.put('func', var.get('funcs').get(var.get('index'))) + if (var.get('func',throw=False).typeof()!=Js('function')): + PyJsTempException = JsToPyException(var.get('TypeError').create(var.get('FUNC_ERROR_TEXT'))) + raise PyJsTempException + if ((var.get('prereq') and var.get('wrapper').neg()) and (var.get('getFuncName')(var.get('func'))==Js('wrapper'))): + var.put('wrapper', var.get('LodashWrapper').create(Js([]), Js(True))) + var.put('index', (var.get('index') if var.get('wrapper') else var.get('length'))) + while (var.put('index',Js(var.get('index').to_number())+Js(1))Js(1.0))): + var.get('args').callprop('reverse') + if (var.get('isAry') and (var.get('ary')var.get('arrLength'))).neg()): + return Js(False) + var.put('stacked', var.get('stack').callprop('get', var.get('array'))) + if (var.get('stacked') and var.get('stack').callprop('get', var.get('other'))): + return (var.get('stacked')==var.get('other')) + var.put('index', (-Js(1.0))) + var.put('result', Js(True)) + var.put('seen', (var.get('SetCache').create() if (var.get('bitmask')&var.get('COMPARE_UNORDERED_FLAG')) else var.get('undefined'))) + var.get('stack').callprop('set', var.get('array'), var.get('other')) + var.get('stack').callprop('set', var.get('other'), var.get('array')) + while (var.put('index',Js(var.get('index').to_number())+Js(1))Js(1.0)) else Js(''))+var.get('details').get(var.get('lastIndex')))) + var.put('details', var.get('details').callprop('join', (Js(', ') if (var.get('length')>Js(2.0)) else Js(' ')))) + return var.get('source').callprop('replace', var.get('reWrapComment'), ((Js('{\n/* [wrapped with ')+var.get('details'))+Js('] */\n'))) + PyJsHoisted_insertWrapDetails_.func_name = 'insertWrapDetails' + var.put('insertWrapDetails', PyJsHoisted_insertWrapDetails_) + @Js + def PyJsHoisted_isFlattenable_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return ((var.get('isArray')(var.get('value')) or var.get('isArguments')(var.get('value'))) or ((var.get('spreadableSymbol') and var.get('value')) and var.get('value').get(var.get('spreadableSymbol'))).neg().neg()) + PyJsHoisted_isFlattenable_.func_name = 'isFlattenable' + var.put('isFlattenable', PyJsHoisted_isFlattenable_) + @Js + def PyJsHoisted_isIndex_(value, length, this, arguments, var=var): + var = Scope({'value':value, 'length':length, 'this':this, 'arguments':arguments}, var) + var.registers(['length', 'type', 'value']) + var.put('type', (Js('undefined') if PyJsStrictEq(var.get('value',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('value')))) + var.put('length', (var.get('MAX_SAFE_INTEGER') if (var.get('length')==var.get(u"null")) else var.get('length'))) + return ((((var.get('length').neg().neg() and ((var.get('type')==Js('number')) or ((var.get('type')!=Js('symbol')) and var.get('reIsUint').callprop('test', var.get('value'))))) and (var.get('value')>(-Js(1.0)))) and ((var.get('value')%Js(1.0))==Js(0.0))) and (var.get('value')Js(0.0)): + if (var.put('count',Js(var.get('count').to_number())+Js(1))>=var.get('HOT_COUNT')): + return var.get('arguments').get('0') + else: + var.put('count', Js(0.0)) + return var.get('func').callprop('apply', var.get('undefined'), var.get('arguments')) + PyJs_anonymous_183_._set_name('anonymous') + return PyJs_anonymous_183_ + PyJsHoisted_shortOut_.func_name = 'shortOut' + var.put('shortOut', PyJsHoisted_shortOut_) + @Js + def PyJsHoisted_shuffleSelf_(array, size, this, arguments, var=var): + var = Scope({'array':array, 'size':size, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'array', 'rand', 'lastIndex', 'length', 'size', 'index']) + var.put('index', (-Js(1.0))) + var.put('length', var.get('array').get('length')) + var.put('lastIndex', (var.get('length')-Js(1.0))) + var.put('size', (var.get('length') if PyJsStrictEq(var.get('size'),var.get('undefined')) else var.get('size'))) + while (var.put('index',Js(var.get('index').to_number())+Js(1))=var.get(u"this").get('__values__').get('length'))) + var.put('value', (var.get('undefined') if var.get('done') else var.get(u"this").get('__values__').get((var.get(u"this").put('__index__',Js(var.get(u"this").get('__index__').to_number())+Js(1))-Js(1))))) + return Js({'done':var.get('done'),'value':var.get('value')}) + PyJsHoisted_wrapperNext_.func_name = 'wrapperNext' + var.put('wrapperNext', PyJsHoisted_wrapperNext_) + @Js + def PyJsHoisted_wrapperToIterator_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return var.get(u"this") + PyJsHoisted_wrapperToIterator_.func_name = 'wrapperToIterator' + var.put('wrapperToIterator', PyJsHoisted_wrapperToIterator_) + @Js + def PyJsHoisted_wrapperPlant_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['clone', 'value', 'result', 'previous', 'parent']) + var.put('parent', var.get(u"this")) + while var.get('parent').instanceof(var.get('baseLodash')): + var.put('clone', var.get('wrapperClone')(var.get('parent'))) + var.get('clone').put('__index__', Js(0.0)) + var.get('clone').put('__values__', var.get('undefined')) + if var.get('result'): + var.get('previous').put('__wrapped__', var.get('clone')) + else: + var.put('result', var.get('clone')) + var.put('previous', var.get('clone')) + var.put('parent', var.get('parent').get('__wrapped__')) + var.get('previous').put('__wrapped__', var.get('value')) + return var.get('result') + PyJsHoisted_wrapperPlant_.func_name = 'wrapperPlant' + var.put('wrapperPlant', PyJsHoisted_wrapperPlant_) + @Js + def PyJsHoisted_wrapperReverse_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['wrapped', 'value']) + var.put('value', var.get(u"this").get('__wrapped__')) + if var.get('value').instanceof(var.get('LazyWrapper')): + var.put('wrapped', var.get('value')) + if var.get(u"this").get('__actions__').get('length'): + var.put('wrapped', var.get('LazyWrapper').create(var.get(u"this"))) + var.put('wrapped', var.get('wrapped').callprop('reverse')) + var.get('wrapped').get('__actions__').callprop('push', Js({'func':var.get('thru'),'args':Js([var.get('reverse')]),'thisArg':var.get('undefined')})) + return var.get('LodashWrapper').create(var.get('wrapped'), var.get(u"this").get('__chain__')) + return var.get(u"this").callprop('thru', var.get('reverse')) + PyJsHoisted_wrapperReverse_.func_name = 'wrapperReverse' + var.put('wrapperReverse', PyJsHoisted_wrapperReverse_) + @Js + def PyJsHoisted_wrapperValue_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return var.get('baseWrapperValue')(var.get(u"this").get('__wrapped__'), var.get(u"this").get('__actions__')) + PyJsHoisted_wrapperValue_.func_name = 'wrapperValue' + var.put('wrapperValue', PyJsHoisted_wrapperValue_) + @Js + def PyJsHoisted_every_(collection, predicate, guard, this, arguments, var=var): + var = Scope({'collection':collection, 'predicate':predicate, 'guard':guard, 'this':this, 'arguments':arguments}, var) + var.registers(['predicate', 'func', 'guard', 'collection']) + var.put('func', (var.get('arrayEvery') if var.get('isArray')(var.get('collection')) else var.get('baseEvery'))) + if (var.get('guard') and var.get('isIterateeCall')(var.get('collection'), var.get('predicate'), var.get('guard'))): + var.put('predicate', var.get('undefined')) + return var.get('func')(var.get('collection'), var.get('getIteratee')(var.get('predicate'), Js(3.0))) + PyJsHoisted_every_.func_name = 'every' + var.put('every', PyJsHoisted_every_) + @Js + def PyJsHoisted_filter_(collection, predicate, this, arguments, var=var): + var = Scope({'collection':collection, 'predicate':predicate, 'this':this, 'arguments':arguments}, var) + var.registers(['predicate', 'func', 'collection']) + var.put('func', (var.get('arrayFilter') if var.get('isArray')(var.get('collection')) else var.get('baseFilter'))) + return var.get('func')(var.get('collection'), var.get('getIteratee')(var.get('predicate'), Js(3.0))) + PyJsHoisted_filter_.func_name = 'filter' + var.put('filter', PyJsHoisted_filter_) + @Js + def PyJsHoisted_flatMap_(collection, iteratee, this, arguments, var=var): + var = Scope({'collection':collection, 'iteratee':iteratee, 'this':this, 'arguments':arguments}, var) + var.registers(['iteratee', 'collection']) + return var.get('baseFlatten')(var.get('map')(var.get('collection'), var.get('iteratee')), Js(1.0)) + PyJsHoisted_flatMap_.func_name = 'flatMap' + var.put('flatMap', PyJsHoisted_flatMap_) + @Js + def PyJsHoisted_flatMapDeep_(collection, iteratee, this, arguments, var=var): + var = Scope({'collection':collection, 'iteratee':iteratee, 'this':this, 'arguments':arguments}, var) + var.registers(['iteratee', 'collection']) + return var.get('baseFlatten')(var.get('map')(var.get('collection'), var.get('iteratee')), var.get('INFINITY')) + PyJsHoisted_flatMapDeep_.func_name = 'flatMapDeep' + var.put('flatMapDeep', PyJsHoisted_flatMapDeep_) + @Js + def PyJsHoisted_flatMapDepth_(collection, iteratee, depth, this, arguments, var=var): + var = Scope({'collection':collection, 'iteratee':iteratee, 'depth':depth, 'this':this, 'arguments':arguments}, var) + var.registers(['depth', 'iteratee', 'collection']) + var.put('depth', (Js(1.0) if PyJsStrictEq(var.get('depth'),var.get('undefined')) else var.get('toInteger')(var.get('depth')))) + return var.get('baseFlatten')(var.get('map')(var.get('collection'), var.get('iteratee')), var.get('depth')) + PyJsHoisted_flatMapDepth_.func_name = 'flatMapDepth' + var.put('flatMapDepth', PyJsHoisted_flatMapDepth_) + @Js + def PyJsHoisted_forEach_(collection, iteratee, this, arguments, var=var): + var = Scope({'collection':collection, 'iteratee':iteratee, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'iteratee', 'collection']) + var.put('func', (var.get('arrayEach') if var.get('isArray')(var.get('collection')) else var.get('baseEach'))) + return var.get('func')(var.get('collection'), var.get('getIteratee')(var.get('iteratee'), Js(3.0))) + PyJsHoisted_forEach_.func_name = 'forEach' + var.put('forEach', PyJsHoisted_forEach_) + @Js + def PyJsHoisted_forEachRight_(collection, iteratee, this, arguments, var=var): + var = Scope({'collection':collection, 'iteratee':iteratee, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'iteratee', 'collection']) + var.put('func', (var.get('arrayEachRight') if var.get('isArray')(var.get('collection')) else var.get('baseEachRight'))) + return var.get('func')(var.get('collection'), var.get('getIteratee')(var.get('iteratee'), Js(3.0))) + PyJsHoisted_forEachRight_.func_name = 'forEachRight' + var.put('forEachRight', PyJsHoisted_forEachRight_) + @Js + def PyJsHoisted_includes_(collection, value, fromIndex, guard, this, arguments, var=var): + var = Scope({'collection':collection, 'value':value, 'fromIndex':fromIndex, 'guard':guard, 'this':this, 'arguments':arguments}, var) + var.registers(['guard', 'value', 'collection', 'fromIndex', 'length']) + var.put('collection', (var.get('collection') if var.get('isArrayLike')(var.get('collection')) else var.get('values')(var.get('collection')))) + var.put('fromIndex', (var.get('toInteger')(var.get('fromIndex')) if (var.get('fromIndex') and var.get('guard').neg()) else Js(0.0))) + var.put('length', var.get('collection').get('length')) + if (var.get('fromIndex')(-Js(1.0)))) if var.get('isString')(var.get('collection')) else (var.get('length').neg().neg() and (var.get('baseIndexOf')(var.get('collection'), var.get('value'), var.get('fromIndex'))>(-Js(1.0))))) + PyJsHoisted_includes_.func_name = 'includes' + var.put('includes', PyJsHoisted_includes_) + @Js + def PyJsHoisted_map_(collection, iteratee, this, arguments, var=var): + var = Scope({'collection':collection, 'iteratee':iteratee, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'iteratee', 'collection']) + var.put('func', (var.get('arrayMap') if var.get('isArray')(var.get('collection')) else var.get('baseMap'))) + return var.get('func')(var.get('collection'), var.get('getIteratee')(var.get('iteratee'), Js(3.0))) + PyJsHoisted_map_.func_name = 'map' + var.put('map', PyJsHoisted_map_) + @Js + def PyJsHoisted_orderBy_(collection, iteratees, orders, guard, this, arguments, var=var): + var = Scope({'collection':collection, 'iteratees':iteratees, 'orders':orders, 'guard':guard, 'this':this, 'arguments':arguments}, var) + var.registers(['orders', 'iteratees', 'guard', 'collection']) + if (var.get('collection')==var.get(u"null")): + return Js([]) + if var.get('isArray')(var.get('iteratees')).neg(): + var.put('iteratees', (Js([]) if (var.get('iteratees')==var.get(u"null")) else Js([var.get('iteratees')]))) + var.put('orders', (var.get('undefined') if var.get('guard') else var.get('orders'))) + if var.get('isArray')(var.get('orders')).neg(): + var.put('orders', (Js([]) if (var.get('orders')==var.get(u"null")) else Js([var.get('orders')]))) + return var.get('baseOrderBy')(var.get('collection'), var.get('iteratees'), var.get('orders')) + PyJsHoisted_orderBy_.func_name = 'orderBy' + var.put('orderBy', PyJsHoisted_orderBy_) + @Js + def PyJsHoisted_reduce_(collection, iteratee, accumulator, this, arguments, var=var): + var = Scope({'collection':collection, 'iteratee':iteratee, 'accumulator':accumulator, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'collection', 'initAccum', 'accumulator', 'iteratee']) + var.put('func', (var.get('arrayReduce') if var.get('isArray')(var.get('collection')) else var.get('baseReduce'))) + var.put('initAccum', (var.get('arguments').get('length')Js(0.0)): + var.put('result', var.get('func').callprop('apply', var.get(u"this"), var.get('arguments'))) + if (var.get('n')<=Js(1.0)): + var.put('func', var.get('undefined')) + return var.get('result') + PyJs_anonymous_219_._set_name('anonymous') + return PyJs_anonymous_219_ + PyJsHoisted_before_.func_name = 'before' + var.put('before', PyJsHoisted_before_) + @Js + def PyJsHoisted_curry_(func, arity, guard, this, arguments, var=var): + var = Scope({'func':func, 'arity':arity, 'guard':guard, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'result', 'guard', 'arity']) + var.put('arity', (var.get('undefined') if var.get('guard') else var.get('arity'))) + var.put('result', var.get('createWrap')(var.get('func'), var.get('WRAP_CURRY_FLAG'), var.get('undefined'), var.get('undefined'), var.get('undefined'), var.get('undefined'), var.get('undefined'), var.get('arity'))) + var.get('result').put('placeholder', var.get('curry').get('placeholder')) + return var.get('result') + PyJsHoisted_curry_.func_name = 'curry' + var.put('curry', PyJsHoisted_curry_) + @Js + def PyJsHoisted_curryRight_(func, arity, guard, this, arguments, var=var): + var = Scope({'func':func, 'arity':arity, 'guard':guard, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'result', 'guard', 'arity']) + var.put('arity', (var.get('undefined') if var.get('guard') else var.get('arity'))) + var.put('result', var.get('createWrap')(var.get('func'), var.get('WRAP_CURRY_RIGHT_FLAG'), var.get('undefined'), var.get('undefined'), var.get('undefined'), var.get('undefined'), var.get('undefined'), var.get('arity'))) + var.get('result').put('placeholder', var.get('curryRight').get('placeholder')) + return var.get('result') + PyJsHoisted_curryRight_.func_name = 'curryRight' + var.put('curryRight', PyJsHoisted_curryRight_) + @Js + def PyJsHoisted_debounce_(func, wait, options, this, arguments, var=var): + var = Scope({'func':func, 'wait':wait, 'options':options, 'this':this, 'arguments':arguments}, var) + var.registers(['trailingEdge', 'lastCallTime', 'leading', 'maxing', 'trailing', 'remainingWait', 'invokeFunc', 'result', 'options', 'lastInvokeTime', 'leadingEdge', 'debounced', 'timerExpired', 'cancel', 'timerId', 'wait', 'maxWait', 'lastThis', 'shouldInvoke', 'lastArgs', 'flush', 'func']) + @Js + def PyJsHoisted_invokeFunc_(time, this, arguments, var=var): + var = Scope({'time':time, 'this':this, 'arguments':arguments}, var) + var.registers(['time', 'args', 'thisArg']) + var.put('args', var.get('lastArgs')) + var.put('thisArg', var.get('lastThis')) + var.put('lastArgs', var.put('lastThis', var.get('undefined'))) + var.put('lastInvokeTime', var.get('time')) + var.put('result', var.get('func').callprop('apply', var.get('thisArg'), var.get('args'))) + return var.get('result') + PyJsHoisted_invokeFunc_.func_name = 'invokeFunc' + var.put('invokeFunc', PyJsHoisted_invokeFunc_) + @Js + def PyJsHoisted_leadingEdge_(time, this, arguments, var=var): + var = Scope({'time':time, 'this':this, 'arguments':arguments}, var) + var.registers(['time']) + var.put('lastInvokeTime', var.get('time')) + var.put('timerId', var.get('setTimeout')(var.get('timerExpired'), var.get('wait'))) + return (var.get('invokeFunc')(var.get('time')) if var.get('leading') else var.get('result')) + PyJsHoisted_leadingEdge_.func_name = 'leadingEdge' + var.put('leadingEdge', PyJsHoisted_leadingEdge_) + @Js + def PyJsHoisted_remainingWait_(time, this, arguments, var=var): + var = Scope({'time':time, 'this':this, 'arguments':arguments}, var) + var.registers(['timeSinceLastCall', 'timeWaiting', 'timeSinceLastInvoke', 'time']) + var.put('timeSinceLastCall', (var.get('time')-var.get('lastCallTime'))) + var.put('timeSinceLastInvoke', (var.get('time')-var.get('lastInvokeTime'))) + var.put('timeWaiting', (var.get('wait')-var.get('timeSinceLastCall'))) + return (var.get('nativeMin')(var.get('timeWaiting'), (var.get('maxWait')-var.get('timeSinceLastInvoke'))) if var.get('maxing') else var.get('timeWaiting')) + PyJsHoisted_remainingWait_.func_name = 'remainingWait' + var.put('remainingWait', PyJsHoisted_remainingWait_) + @Js + def PyJsHoisted_shouldInvoke_(time, this, arguments, var=var): + var = Scope({'time':time, 'this':this, 'arguments':arguments}, var) + var.registers(['timeSinceLastCall', 'timeSinceLastInvoke', 'time']) + var.put('timeSinceLastCall', (var.get('time')-var.get('lastCallTime'))) + var.put('timeSinceLastInvoke', (var.get('time')-var.get('lastInvokeTime'))) + return (((PyJsStrictEq(var.get('lastCallTime'),var.get('undefined')) or (var.get('timeSinceLastCall')>=var.get('wait'))) or (var.get('timeSinceLastCall')=var.get('maxWait')))) + PyJsHoisted_shouldInvoke_.func_name = 'shouldInvoke' + var.put('shouldInvoke', PyJsHoisted_shouldInvoke_) + @Js + def PyJsHoisted_timerExpired_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['time']) + var.put('time', var.get('now')()) + if var.get('shouldInvoke')(var.get('time')): + return var.get('trailingEdge')(var.get('time')) + var.put('timerId', var.get('setTimeout')(var.get('timerExpired'), var.get('remainingWait')(var.get('time')))) + PyJsHoisted_timerExpired_.func_name = 'timerExpired' + var.put('timerExpired', PyJsHoisted_timerExpired_) + @Js + def PyJsHoisted_trailingEdge_(time, this, arguments, var=var): + var = Scope({'time':time, 'this':this, 'arguments':arguments}, var) + var.registers(['time']) + var.put('timerId', var.get('undefined')) + if (var.get('trailing') and var.get('lastArgs')): + return var.get('invokeFunc')(var.get('time')) + var.put('lastArgs', var.put('lastThis', var.get('undefined'))) + return var.get('result') + PyJsHoisted_trailingEdge_.func_name = 'trailingEdge' + var.put('trailingEdge', PyJsHoisted_trailingEdge_) + @Js + def PyJsHoisted_cancel_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + if PyJsStrictNeq(var.get('timerId'),var.get('undefined')): + var.get('clearTimeout')(var.get('timerId')) + var.put('lastInvokeTime', Js(0.0)) + var.put('lastArgs', var.put('lastCallTime', var.put('lastThis', var.put('timerId', var.get('undefined'))))) + PyJsHoisted_cancel_.func_name = 'cancel' + var.put('cancel', PyJsHoisted_cancel_) + @Js + def PyJsHoisted_flush_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return (var.get('result') if PyJsStrictEq(var.get('timerId'),var.get('undefined')) else var.get('trailingEdge')(var.get('now')())) + PyJsHoisted_flush_.func_name = 'flush' + var.put('flush', PyJsHoisted_flush_) + @Js + def PyJsHoisted_debounced_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['time', 'isInvoking']) + var.put('time', var.get('now')()) + var.put('isInvoking', var.get('shouldInvoke')(var.get('time'))) + var.put('lastArgs', var.get('arguments')) + var.put('lastThis', var.get(u"this")) + var.put('lastCallTime', var.get('time')) + if var.get('isInvoking'): + if PyJsStrictEq(var.get('timerId'),var.get('undefined')): + return var.get('leadingEdge')(var.get('lastCallTime')) + if var.get('maxing'): + var.put('timerId', var.get('setTimeout')(var.get('timerExpired'), var.get('wait'))) + return var.get('invokeFunc')(var.get('lastCallTime')) + if PyJsStrictEq(var.get('timerId'),var.get('undefined')): + var.put('timerId', var.get('setTimeout')(var.get('timerExpired'), var.get('wait'))) + return var.get('result') + PyJsHoisted_debounced_.func_name = 'debounced' + var.put('debounced', PyJsHoisted_debounced_) + var.put('lastInvokeTime', Js(0.0)) + var.put('leading', Js(False)) + var.put('maxing', Js(False)) + var.put('trailing', Js(True)) + if (var.get('func',throw=False).typeof()!=Js('function')): + PyJsTempException = JsToPyException(var.get('TypeError').create(var.get('FUNC_ERROR_TEXT'))) + raise PyJsTempException + var.put('wait', (var.get('toNumber')(var.get('wait')) or Js(0.0))) + if var.get('isObject')(var.get('options')): + var.put('leading', var.get('options').get('leading').neg().neg()) + var.put('maxing', var.get('options').contains(Js('maxWait'))) + var.put('maxWait', (var.get('nativeMax')((var.get('toNumber')(var.get('options').get('maxWait')) or Js(0.0)), var.get('wait')) if var.get('maxing') else var.get('maxWait'))) + var.put('trailing', (var.get('options').get('trailing').neg().neg() if var.get('options').contains(Js('trailing')) else var.get('trailing'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + var.get('debounced').put('cancel', var.get('cancel')) + var.get('debounced').put('flush', var.get('flush')) + return var.get('debounced') + PyJsHoisted_debounce_.func_name = 'debounce' + var.put('debounce', PyJsHoisted_debounce_) + @Js + def PyJsHoisted_flip_(func, this, arguments, var=var): + var = Scope({'func':func, 'this':this, 'arguments':arguments}, var) + var.registers(['func']) + return var.get('createWrap')(var.get('func'), var.get('WRAP_FLIP_FLAG')) + PyJsHoisted_flip_.func_name = 'flip' + var.put('flip', PyJsHoisted_flip_) + @Js + def PyJsHoisted_memoize_(func, resolver, this, arguments, var=var): + var = Scope({'func':func, 'resolver':resolver, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'resolver', 'memoized']) + if ((var.get('func',throw=False).typeof()!=Js('function')) or ((var.get('resolver')!=var.get(u"null")) and (var.get('resolver',throw=False).typeof()!=Js('function')))): + PyJsTempException = JsToPyException(var.get('TypeError').create(var.get('FUNC_ERROR_TEXT'))) + raise PyJsTempException + @Js + def PyJs_memoized_224_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'memoized':PyJs_memoized_224_}, var) + var.registers(['result', 'args', 'cache', 'key']) + var.put('args', var.get('arguments')) + var.put('key', (var.get('resolver').callprop('apply', var.get(u"this"), var.get('args')) if var.get('resolver') else var.get('args').get('0'))) + var.put('cache', var.get('memoized').get('cache')) + if var.get('cache').callprop('has', var.get('key')): + return var.get('cache').callprop('get', var.get('key')) + var.put('result', var.get('func').callprop('apply', var.get(u"this"), var.get('args'))) + var.get('memoized').put('cache', (var.get('cache').callprop('set', var.get('key'), var.get('result')) or var.get('cache'))) + return var.get('result') + PyJs_memoized_224_._set_name('memoized') + var.put('memoized', PyJs_memoized_224_) + var.get('memoized').put('cache', (var.get('memoize').get('Cache') or var.get('MapCache')).create()) + return var.get('memoized') + PyJsHoisted_memoize_.func_name = 'memoize' + var.put('memoize', PyJsHoisted_memoize_) + @Js + def PyJsHoisted_negate_(predicate, this, arguments, var=var): + var = Scope({'predicate':predicate, 'this':this, 'arguments':arguments}, var) + var.registers(['predicate']) + if (var.get('predicate',throw=False).typeof()!=Js('function')): + PyJsTempException = JsToPyException(var.get('TypeError').create(var.get('FUNC_ERROR_TEXT'))) + raise PyJsTempException + @Js + def PyJs_anonymous_225_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['args']) + var.put('args', var.get('arguments')) + while 1: + SWITCHED = False + CONDITION = (var.get('args').get('length')) + if SWITCHED or PyJsStrictEq(CONDITION, Js(0.0)): + SWITCHED = True + return var.get('predicate').callprop('call', var.get(u"this")).neg() + if SWITCHED or PyJsStrictEq(CONDITION, Js(1.0)): + SWITCHED = True + return var.get('predicate').callprop('call', var.get(u"this"), var.get('args').get('0')).neg() + if SWITCHED or PyJsStrictEq(CONDITION, Js(2.0)): + SWITCHED = True + return var.get('predicate').callprop('call', var.get(u"this"), var.get('args').get('0'), var.get('args').get('1')).neg() + if SWITCHED or PyJsStrictEq(CONDITION, Js(3.0)): + SWITCHED = True + return var.get('predicate').callprop('call', var.get(u"this"), var.get('args').get('0'), var.get('args').get('1'), var.get('args').get('2')).neg() + SWITCHED = True + break + return var.get('predicate').callprop('apply', var.get(u"this"), var.get('args')).neg() + PyJs_anonymous_225_._set_name('anonymous') + return PyJs_anonymous_225_ + PyJsHoisted_negate_.func_name = 'negate' + var.put('negate', PyJsHoisted_negate_) + @Js + def PyJsHoisted_once_(func, this, arguments, var=var): + var = Scope({'func':func, 'this':this, 'arguments':arguments}, var) + var.registers(['func']) + return var.get('before')(Js(2.0), var.get('func')) + PyJsHoisted_once_.func_name = 'once' + var.put('once', PyJsHoisted_once_) + @Js + def PyJsHoisted_rest_(func, start, this, arguments, var=var): + var = Scope({'func':func, 'start':start, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'start']) + if (var.get('func',throw=False).typeof()!=Js('function')): + PyJsTempException = JsToPyException(var.get('TypeError').create(var.get('FUNC_ERROR_TEXT'))) + raise PyJsTempException + var.put('start', (var.get('start') if PyJsStrictEq(var.get('start'),var.get('undefined')) else var.get('toInteger')(var.get('start')))) + return var.get('baseRest')(var.get('func'), var.get('start')) + PyJsHoisted_rest_.func_name = 'rest' + var.put('rest', PyJsHoisted_rest_) + @Js + def PyJsHoisted_spread_(func, start, this, arguments, var=var): + var = Scope({'func':func, 'start':start, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'start']) + if (var.get('func',throw=False).typeof()!=Js('function')): + PyJsTempException = JsToPyException(var.get('TypeError').create(var.get('FUNC_ERROR_TEXT'))) + raise PyJsTempException + var.put('start', (Js(0.0) if (var.get('start')==var.get(u"null")) else var.get('nativeMax')(var.get('toInteger')(var.get('start')), Js(0.0)))) + @Js + def PyJs_anonymous_231_(args, this, arguments, var=var): + var = Scope({'args':args, 'this':this, 'arguments':arguments}, var) + var.registers(['otherArgs', 'array', 'args']) + var.put('array', var.get('args').get(var.get('start'))) + var.put('otherArgs', var.get('castSlice')(var.get('args'), Js(0.0), var.get('start'))) + if var.get('array'): + var.get('arrayPush')(var.get('otherArgs'), var.get('array')) + return var.get('apply')(var.get('func'), var.get(u"this"), var.get('otherArgs')) + PyJs_anonymous_231_._set_name('anonymous') + return var.get('baseRest')(PyJs_anonymous_231_) + PyJsHoisted_spread_.func_name = 'spread' + var.put('spread', PyJsHoisted_spread_) + @Js + def PyJsHoisted_throttle_(func, wait, options, this, arguments, var=var): + var = Scope({'func':func, 'wait':wait, 'options':options, 'this':this, 'arguments':arguments}, var) + var.registers(['wait', 'leading', 'trailing', 'func', 'options']) + var.put('leading', Js(True)) + var.put('trailing', Js(True)) + if (var.get('func',throw=False).typeof()!=Js('function')): + PyJsTempException = JsToPyException(var.get('TypeError').create(var.get('FUNC_ERROR_TEXT'))) + raise PyJsTempException + if var.get('isObject')(var.get('options')): + var.put('leading', (var.get('options').get('leading').neg().neg() if var.get('options').contains(Js('leading')) else var.get('leading'))) + var.put('trailing', (var.get('options').get('trailing').neg().neg() if var.get('options').contains(Js('trailing')) else var.get('trailing'))) + return var.get('debounce')(var.get('func'), var.get('wait'), Js({'leading':var.get('leading'),'maxWait':var.get('wait'),'trailing':var.get('trailing')})) + PyJsHoisted_throttle_.func_name = 'throttle' + var.put('throttle', PyJsHoisted_throttle_) + @Js + def PyJsHoisted_unary_(func, this, arguments, var=var): + var = Scope({'func':func, 'this':this, 'arguments':arguments}, var) + var.registers(['func']) + return var.get('ary')(var.get('func'), Js(1.0)) + PyJsHoisted_unary_.func_name = 'unary' + var.put('unary', PyJsHoisted_unary_) + @Js + def PyJsHoisted_wrap_(value, wrapper, this, arguments, var=var): + var = Scope({'value':value, 'wrapper':wrapper, 'this':this, 'arguments':arguments}, var) + var.registers(['wrapper', 'value']) + return var.get('partial')(var.get('castFunction')(var.get('wrapper')), var.get('value')) + PyJsHoisted_wrap_.func_name = 'wrap' + var.put('wrap', PyJsHoisted_wrap_) + @Js + def PyJsHoisted_castArray_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['value']) + if var.get('arguments').get('length').neg(): + return Js([]) + var.put('value', var.get('arguments').get('0')) + return (var.get('value') if var.get('isArray')(var.get('value')) else Js([var.get('value')])) + PyJsHoisted_castArray_.func_name = 'castArray' + var.put('castArray', PyJsHoisted_castArray_) + @Js + def PyJsHoisted_clone_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return var.get('baseClone')(var.get('value'), var.get('CLONE_SYMBOLS_FLAG')) + PyJsHoisted_clone_.func_name = 'clone' + var.put('clone', PyJsHoisted_clone_) + @Js + def PyJsHoisted_cloneWith_(value, customizer, this, arguments, var=var): + var = Scope({'value':value, 'customizer':customizer, 'this':this, 'arguments':arguments}, var) + var.registers(['customizer', 'value']) + var.put('customizer', (var.get('customizer') if (var.get('customizer',throw=False).typeof()==Js('function')) else var.get('undefined'))) + return var.get('baseClone')(var.get('value'), var.get('CLONE_SYMBOLS_FLAG'), var.get('customizer')) + PyJsHoisted_cloneWith_.func_name = 'cloneWith' + var.put('cloneWith', PyJsHoisted_cloneWith_) + @Js + def PyJsHoisted_cloneDeep_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return var.get('baseClone')(var.get('value'), (var.get('CLONE_DEEP_FLAG')|var.get('CLONE_SYMBOLS_FLAG'))) + PyJsHoisted_cloneDeep_.func_name = 'cloneDeep' + var.put('cloneDeep', PyJsHoisted_cloneDeep_) + @Js + def PyJsHoisted_cloneDeepWith_(value, customizer, this, arguments, var=var): + var = Scope({'value':value, 'customizer':customizer, 'this':this, 'arguments':arguments}, var) + var.registers(['customizer', 'value']) + var.put('customizer', (var.get('customizer') if (var.get('customizer',throw=False).typeof()==Js('function')) else var.get('undefined'))) + return var.get('baseClone')(var.get('value'), (var.get('CLONE_DEEP_FLAG')|var.get('CLONE_SYMBOLS_FLAG')), var.get('customizer')) + PyJsHoisted_cloneDeepWith_.func_name = 'cloneDeepWith' + var.put('cloneDeepWith', PyJsHoisted_cloneDeepWith_) + @Js + def PyJsHoisted_conformsTo_(object, source, this, arguments, var=var): + var = Scope({'object':object, 'source':source, 'this':this, 'arguments':arguments}, var) + var.registers(['object', 'source']) + return ((var.get('source')==var.get(u"null")) or var.get('baseConformsTo')(var.get('object'), var.get('source'), var.get('keys')(var.get('source')))) + PyJsHoisted_conformsTo_.func_name = 'conformsTo' + var.put('conformsTo', PyJsHoisted_conformsTo_) + @Js + def PyJsHoisted_eq_(value, other, this, arguments, var=var): + var = Scope({'value':value, 'other':other, 'this':this, 'arguments':arguments}, var) + var.registers(['other', 'value']) + return (PyJsStrictEq(var.get('value'),var.get('other')) or (PyJsStrictNeq(var.get('value'),var.get('value')) and PyJsStrictNeq(var.get('other'),var.get('other')))) + PyJsHoisted_eq_.func_name = 'eq' + var.put('eq', PyJsHoisted_eq_) + @Js + def PyJsHoisted_isArrayLike_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return (((var.get('value')!=var.get(u"null")) and var.get('isLength')(var.get('value').get('length'))) and var.get('isFunction')(var.get('value')).neg()) + PyJsHoisted_isArrayLike_.func_name = 'isArrayLike' + var.put('isArrayLike', PyJsHoisted_isArrayLike_) + @Js + def PyJsHoisted_isArrayLikeObject_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return (var.get('isObjectLike')(var.get('value')) and var.get('isArrayLike')(var.get('value'))) + PyJsHoisted_isArrayLikeObject_.func_name = 'isArrayLikeObject' + var.put('isArrayLikeObject', PyJsHoisted_isArrayLikeObject_) + @Js + def PyJsHoisted_isBoolean_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return ((PyJsStrictEq(var.get('value'),Js(True)) or PyJsStrictEq(var.get('value'),Js(False))) or (var.get('isObjectLike')(var.get('value')) and (var.get('baseGetTag')(var.get('value'))==var.get('boolTag')))) + PyJsHoisted_isBoolean_.func_name = 'isBoolean' + var.put('isBoolean', PyJsHoisted_isBoolean_) + @Js + def PyJsHoisted_isElement_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return ((var.get('isObjectLike')(var.get('value')) and PyJsStrictEq(var.get('value').get('nodeType'),Js(1.0))) and var.get('isPlainObject')(var.get('value')).neg()) + PyJsHoisted_isElement_.func_name = 'isElement' + var.put('isElement', PyJsHoisted_isElement_) + @Js + def PyJsHoisted_isEmpty_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['tag', 'value', 'key']) + if (var.get('value')==var.get(u"null")): + return Js(True) + if (var.get('isArrayLike')(var.get('value')) and (((((var.get('isArray')(var.get('value')) or (var.get('value',throw=False).typeof()==Js('string'))) or (var.get('value').get('splice').typeof()==Js('function'))) or var.get('isBuffer')(var.get('value'))) or var.get('isTypedArray')(var.get('value'))) or var.get('isArguments')(var.get('value')))): + return var.get('value').get('length').neg() + var.put('tag', var.get('getTag')(var.get('value'))) + if ((var.get('tag')==var.get('mapTag')) or (var.get('tag')==var.get('setTag'))): + return var.get('value').get('size').neg() + if var.get('isPrototype')(var.get('value')): + return var.get('baseKeys')(var.get('value')).get('length').neg() + for PyJsTemp in var.get('value'): + var.put('key', PyJsTemp) + if var.get('hasOwnProperty').callprop('call', var.get('value'), var.get('key')): + return Js(False) + return Js(True) + PyJsHoisted_isEmpty_.func_name = 'isEmpty' + var.put('isEmpty', PyJsHoisted_isEmpty_) + @Js + def PyJsHoisted_isEqual_(value, other, this, arguments, var=var): + var = Scope({'value':value, 'other':other, 'this':this, 'arguments':arguments}, var) + var.registers(['other', 'value']) + return var.get('baseIsEqual')(var.get('value'), var.get('other')) + PyJsHoisted_isEqual_.func_name = 'isEqual' + var.put('isEqual', PyJsHoisted_isEqual_) + @Js + def PyJsHoisted_isEqualWith_(value, other, customizer, this, arguments, var=var): + var = Scope({'value':value, 'other':other, 'customizer':customizer, 'this':this, 'arguments':arguments}, var) + var.registers(['customizer', 'result', 'other', 'value']) + var.put('customizer', (var.get('customizer') if (var.get('customizer',throw=False).typeof()==Js('function')) else var.get('undefined'))) + var.put('result', (var.get('customizer')(var.get('value'), var.get('other')) if var.get('customizer') else var.get('undefined'))) + return (var.get('baseIsEqual')(var.get('value'), var.get('other'), var.get('undefined'), var.get('customizer')) if PyJsStrictEq(var.get('result'),var.get('undefined')) else var.get('result').neg().neg()) + PyJsHoisted_isEqualWith_.func_name = 'isEqualWith' + var.put('isEqualWith', PyJsHoisted_isEqualWith_) + @Js + def PyJsHoisted_isError_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['tag', 'value']) + if var.get('isObjectLike')(var.get('value')).neg(): + return Js(False) + var.put('tag', var.get('baseGetTag')(var.get('value'))) + return (((var.get('tag')==var.get('errorTag')) or (var.get('tag')==var.get('domExcTag'))) or (((var.get('value').get('message').typeof()==Js('string')) and (var.get('value').get('name').typeof()==Js('string'))) and var.get('isPlainObject')(var.get('value')).neg())) + PyJsHoisted_isError_.func_name = 'isError' + var.put('isError', PyJsHoisted_isError_) + @Js + def PyJsHoisted_isFinite_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return ((var.get('value',throw=False).typeof()==Js('number')) and var.get('nativeIsFinite')(var.get('value'))) + PyJsHoisted_isFinite_.func_name = 'isFinite' + var.put('isFinite', PyJsHoisted_isFinite_) + @Js + def PyJsHoisted_isFunction_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['tag', 'value']) + if var.get('isObject')(var.get('value')).neg(): + return Js(False) + var.put('tag', var.get('baseGetTag')(var.get('value'))) + return ((((var.get('tag')==var.get('funcTag')) or (var.get('tag')==var.get('genTag'))) or (var.get('tag')==var.get('asyncTag'))) or (var.get('tag')==var.get('proxyTag'))) + PyJsHoisted_isFunction_.func_name = 'isFunction' + var.put('isFunction', PyJsHoisted_isFunction_) + @Js + def PyJsHoisted_isInteger_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return ((var.get('value',throw=False).typeof()==Js('number')) and (var.get('value')==var.get('toInteger')(var.get('value')))) + PyJsHoisted_isInteger_.func_name = 'isInteger' + var.put('isInteger', PyJsHoisted_isInteger_) + @Js + def PyJsHoisted_isLength_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return ((((var.get('value',throw=False).typeof()==Js('number')) and (var.get('value')>(-Js(1.0)))) and ((var.get('value')%Js(1.0))==Js(0.0))) and (var.get('value')<=var.get('MAX_SAFE_INTEGER'))) + PyJsHoisted_isLength_.func_name = 'isLength' + var.put('isLength', PyJsHoisted_isLength_) + @Js + def PyJsHoisted_isObject_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['type', 'value']) + var.put('type', (Js('undefined') if PyJsStrictEq(var.get('value',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('value')))) + return ((var.get('value')!=var.get(u"null")) and ((var.get('type')==Js('object')) or (var.get('type')==Js('function')))) + PyJsHoisted_isObject_.func_name = 'isObject' + var.put('isObject', PyJsHoisted_isObject_) + @Js + def PyJsHoisted_isObjectLike_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return ((var.get('value')!=var.get(u"null")) and ((Js('undefined') if PyJsStrictEq(var.get('value',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('value')))==Js('object'))) + PyJsHoisted_isObjectLike_.func_name = 'isObjectLike' + var.put('isObjectLike', PyJsHoisted_isObjectLike_) + @Js + def PyJsHoisted_isMatch_(object, source, this, arguments, var=var): + var = Scope({'object':object, 'source':source, 'this':this, 'arguments':arguments}, var) + var.registers(['object', 'source']) + return (PyJsStrictEq(var.get('object'),var.get('source')) or var.get('baseIsMatch')(var.get('object'), var.get('source'), var.get('getMatchData')(var.get('source')))) + PyJsHoisted_isMatch_.func_name = 'isMatch' + var.put('isMatch', PyJsHoisted_isMatch_) + @Js + def PyJsHoisted_isMatchWith_(object, source, customizer, this, arguments, var=var): + var = Scope({'object':object, 'source':source, 'customizer':customizer, 'this':this, 'arguments':arguments}, var) + var.registers(['customizer', 'object', 'source']) + var.put('customizer', (var.get('customizer') if (var.get('customizer',throw=False).typeof()==Js('function')) else var.get('undefined'))) + return var.get('baseIsMatch')(var.get('object'), var.get('source'), var.get('getMatchData')(var.get('source')), var.get('customizer')) + PyJsHoisted_isMatchWith_.func_name = 'isMatchWith' + var.put('isMatchWith', PyJsHoisted_isMatchWith_) + @Js + def PyJsHoisted_isNaN_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return (var.get('isNumber')(var.get('value')) and (var.get('value')!=(+var.get('value')))) + PyJsHoisted_isNaN_.func_name = 'isNaN' + var.put('isNaN', PyJsHoisted_isNaN_) + @Js + def PyJsHoisted_isNative_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + if var.get('isMaskable')(var.get('value')): + PyJsTempException = JsToPyException(var.get('Error').create(var.get('CORE_ERROR_TEXT'))) + raise PyJsTempException + return var.get('baseIsNative')(var.get('value')) + PyJsHoisted_isNative_.func_name = 'isNative' + var.put('isNative', PyJsHoisted_isNative_) + @Js + def PyJsHoisted_isNull_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return PyJsStrictEq(var.get('value'),var.get(u"null")) + PyJsHoisted_isNull_.func_name = 'isNull' + var.put('isNull', PyJsHoisted_isNull_) + @Js + def PyJsHoisted_isNil_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return (var.get('value')==var.get(u"null")) + PyJsHoisted_isNil_.func_name = 'isNil' + var.put('isNil', PyJsHoisted_isNil_) + @Js + def PyJsHoisted_isNumber_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return ((var.get('value',throw=False).typeof()==Js('number')) or (var.get('isObjectLike')(var.get('value')) and (var.get('baseGetTag')(var.get('value'))==var.get('numberTag')))) + PyJsHoisted_isNumber_.func_name = 'isNumber' + var.put('isNumber', PyJsHoisted_isNumber_) + @Js + def PyJsHoisted_isPlainObject_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['Ctor', 'value', 'proto']) + if (var.get('isObjectLike')(var.get('value')).neg() or (var.get('baseGetTag')(var.get('value'))!=var.get('objectTag'))): + return Js(False) + var.put('proto', var.get('getPrototype')(var.get('value'))) + if PyJsStrictEq(var.get('proto'),var.get(u"null")): + return Js(True) + var.put('Ctor', (var.get('hasOwnProperty').callprop('call', var.get('proto'), Js('constructor')) and var.get('proto').get('constructor'))) + return (((var.get('Ctor',throw=False).typeof()==Js('function')) and var.get('Ctor').instanceof(var.get('Ctor'))) and (var.get('funcToString').callprop('call', var.get('Ctor'))==var.get('objectCtorString'))) + PyJsHoisted_isPlainObject_.func_name = 'isPlainObject' + var.put('isPlainObject', PyJsHoisted_isPlainObject_) + @Js + def PyJsHoisted_isSafeInteger_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return ((var.get('isInteger')(var.get('value')) and (var.get('value')>=(-var.get('MAX_SAFE_INTEGER')))) and (var.get('value')<=var.get('MAX_SAFE_INTEGER'))) + PyJsHoisted_isSafeInteger_.func_name = 'isSafeInteger' + var.put('isSafeInteger', PyJsHoisted_isSafeInteger_) + @Js + def PyJsHoisted_isString_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return ((var.get('value',throw=False).typeof()==Js('string')) or ((var.get('isArray')(var.get('value')).neg() and var.get('isObjectLike')(var.get('value'))) and (var.get('baseGetTag')(var.get('value'))==var.get('stringTag')))) + PyJsHoisted_isString_.func_name = 'isString' + var.put('isString', PyJsHoisted_isString_) + @Js + def PyJsHoisted_isSymbol_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return (((Js('undefined') if PyJsStrictEq(var.get('value',throw=False).typeof(),Js('undefined')) else var.get('_typeof')(var.get('value')))==Js('symbol')) or (var.get('isObjectLike')(var.get('value')) and (var.get('baseGetTag')(var.get('value'))==var.get('symbolTag')))) + PyJsHoisted_isSymbol_.func_name = 'isSymbol' + var.put('isSymbol', PyJsHoisted_isSymbol_) + @Js + def PyJsHoisted_isUndefined_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return PyJsStrictEq(var.get('value'),var.get('undefined')) + PyJsHoisted_isUndefined_.func_name = 'isUndefined' + var.put('isUndefined', PyJsHoisted_isUndefined_) + @Js + def PyJsHoisted_isWeakMap_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return (var.get('isObjectLike')(var.get('value')) and (var.get('getTag')(var.get('value'))==var.get('weakMapTag'))) + PyJsHoisted_isWeakMap_.func_name = 'isWeakMap' + var.put('isWeakMap', PyJsHoisted_isWeakMap_) + @Js + def PyJsHoisted_isWeakSet_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return (var.get('isObjectLike')(var.get('value')) and (var.get('baseGetTag')(var.get('value'))==var.get('weakSetTag'))) + PyJsHoisted_isWeakSet_.func_name = 'isWeakSet' + var.put('isWeakSet', PyJsHoisted_isWeakSet_) + @Js + def PyJsHoisted_toArray_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['tag', 'func', 'value']) + if var.get('value').neg(): + return Js([]) + if var.get('isArrayLike')(var.get('value')): + return (var.get('stringToArray')(var.get('value')) if var.get('isString')(var.get('value')) else var.get('copyArray')(var.get('value'))) + if (var.get('symIterator') and var.get('value').get(var.get('symIterator'))): + return var.get('iteratorToArray')(var.get('value').callprop(var.get('symIterator'))) + var.put('tag', var.get('getTag')(var.get('value'))) + var.put('func', (var.get('mapToArray') if (var.get('tag')==var.get('mapTag')) else (var.get('setToArray') if (var.get('tag')==var.get('setTag')) else var.get('values')))) + return var.get('func')(var.get('value')) + PyJsHoisted_toArray_.func_name = 'toArray' + var.put('toArray', PyJsHoisted_toArray_) + @Js + def PyJsHoisted_toFinite_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['sign', 'value']) + if var.get('value').neg(): + return (var.get('value') if PyJsStrictEq(var.get('value'),Js(0.0)) else Js(0.0)) + var.put('value', var.get('toNumber')(var.get('value'))) + if (PyJsStrictEq(var.get('value'),var.get('INFINITY')) or PyJsStrictEq(var.get('value'),(-var.get('INFINITY')))): + var.put('sign', ((-Js(1.0)) if (var.get('value')var.get('upper')): + var.put('temp', var.get('lower')) + var.put('lower', var.get('upper')) + var.put('upper', var.get('temp')) + if ((var.get('floating') or (var.get('lower')%Js(1.0))) or (var.get('upper')%Js(1.0))): + var.put('rand', var.get('nativeRandom')()) + return var.get('nativeMin')((var.get('lower')+(var.get('rand')*((var.get('upper')-var.get('lower'))+var.get('freeParseFloat')((Js('1e-')+((var.get('rand')+Js('')).get('length')-Js(1.0))))))), var.get('upper')) + return var.get('baseRandom')(var.get('lower'), var.get('upper')) + PyJsHoisted_random_.func_name = 'random' + var.put('random', PyJsHoisted_random_) + @Js + def PyJsHoisted_capitalize_(string, this, arguments, var=var): + var = Scope({'string':string, 'this':this, 'arguments':arguments}, var) + var.registers(['string']) + return var.get('upperFirst')(var.get('toString')(var.get('string')).callprop('toLowerCase')) + PyJsHoisted_capitalize_.func_name = 'capitalize' + var.put('capitalize', PyJsHoisted_capitalize_) + @Js + def PyJsHoisted_deburr_(string, this, arguments, var=var): + var = Scope({'string':string, 'this':this, 'arguments':arguments}, var) + var.registers(['string']) + var.put('string', var.get('toString')(var.get('string'))) + return (var.get('string') and var.get('string').callprop('replace', var.get('reLatin'), var.get('deburrLetter')).callprop('replace', var.get('reComboMark'), Js(''))) + PyJsHoisted_deburr_.func_name = 'deburr' + var.put('deburr', PyJsHoisted_deburr_) + @Js + def PyJsHoisted_endsWith_(string, target, position, this, arguments, var=var): + var = Scope({'string':string, 'target':target, 'position':position, 'this':this, 'arguments':arguments}, var) + var.registers(['position', 'target', 'string', 'end', 'length']) + var.put('string', var.get('toString')(var.get('string'))) + var.put('target', var.get('baseToString')(var.get('target'))) + var.put('length', var.get('string').get('length')) + var.put('position', (var.get('length') if PyJsStrictEq(var.get('position'),var.get('undefined')) else var.get('baseClamp')(var.get('toInteger')(var.get('position')), Js(0.0), var.get('length')))) + var.put('end', var.get('position')) + var.put('position', var.get('target').get('length'), '-') + return ((var.get('position')>=Js(0.0)) and (var.get('string').callprop('slice', var.get('position'), var.get('end'))==var.get('target'))) + PyJsHoisted_endsWith_.func_name = 'endsWith' + var.put('endsWith', PyJsHoisted_endsWith_) + @Js + def PyJsHoisted_escape_(string, this, arguments, var=var): + var = Scope({'string':string, 'this':this, 'arguments':arguments}, var) + var.registers(['string']) + var.put('string', var.get('toString')(var.get('string'))) + return (var.get('string').callprop('replace', var.get('reUnescapedHtml'), var.get('escapeHtmlChar')) if (var.get('string') and var.get('reHasUnescapedHtml').callprop('test', var.get('string'))) else var.get('string')) + PyJsHoisted_escape_.func_name = 'escape' + var.put('escape', PyJsHoisted_escape_) + @Js + def PyJsHoisted_escapeRegExp_(string, this, arguments, var=var): + var = Scope({'string':string, 'this':this, 'arguments':arguments}, var) + var.registers(['string']) + var.put('string', var.get('toString')(var.get('string'))) + return (var.get('string').callprop('replace', var.get('reRegExpChar'), Js('\\$&')) if (var.get('string') and var.get('reHasRegExpChar').callprop('test', var.get('string'))) else var.get('string')) + PyJsHoisted_escapeRegExp_.func_name = 'escapeRegExp' + var.put('escapeRegExp', PyJsHoisted_escapeRegExp_) + @Js + def PyJsHoisted_pad_(string, length, chars, this, arguments, var=var): + var = Scope({'string':string, 'length':length, 'chars':chars, 'this':this, 'arguments':arguments}, var) + var.registers(['chars', 'string', 'strLength', 'mid', 'length']) + var.put('string', var.get('toString')(var.get('string'))) + var.put('length', var.get('toInteger')(var.get('length'))) + var.put('strLength', (var.get('stringSize')(var.get('string')) if var.get('length') else Js(0.0))) + if (var.get('length').neg() or (var.get('strLength')>=var.get('length'))): + return var.get('string') + var.put('mid', ((var.get('length')-var.get('strLength'))/Js(2.0))) + return ((var.get('createPadding')(var.get('nativeFloor')(var.get('mid')), var.get('chars'))+var.get('string'))+var.get('createPadding')(var.get('nativeCeil')(var.get('mid')), var.get('chars'))) + PyJsHoisted_pad_.func_name = 'pad' + var.put('pad', PyJsHoisted_pad_) + @Js + def PyJsHoisted_padEnd_(string, length, chars, this, arguments, var=var): + var = Scope({'string':string, 'length':length, 'chars':chars, 'this':this, 'arguments':arguments}, var) + var.registers(['chars', 'length', 'string', 'strLength']) + var.put('string', var.get('toString')(var.get('string'))) + var.put('length', var.get('toInteger')(var.get('length'))) + var.put('strLength', (var.get('stringSize')(var.get('string')) if var.get('length') else Js(0.0))) + return ((var.get('string')+var.get('createPadding')((var.get('length')-var.get('strLength')), var.get('chars'))) if (var.get('length') and (var.get('strLength')=var.get('strLength')): + return var.get('string') + var.put('end', (var.get('length')-var.get('stringSize')(var.get('omission')))) + if (var.get('end')(-Js(1.0))): + var.put('result', var.get('result').callprop('slice', Js(0.0), var.get('index'))) + return (var.get('result')+var.get('omission')) + PyJsHoisted_truncate_.func_name = 'truncate' + var.put('truncate', PyJsHoisted_truncate_) + @Js + def PyJsHoisted_unescape_(string, this, arguments, var=var): + var = Scope({'string':string, 'this':this, 'arguments':arguments}, var) + var.registers(['string']) + var.put('string', var.get('toString')(var.get('string'))) + return (var.get('string').callprop('replace', var.get('reEscapedHtml'), var.get('unescapeHtmlChar')) if (var.get('string') and var.get('reHasEscapedHtml').callprop('test', var.get('string'))) else var.get('string')) + PyJsHoisted_unescape_.func_name = 'unescape' + var.put('unescape', PyJsHoisted_unescape_) + @Js + def PyJsHoisted_words_(string, pattern, guard, this, arguments, var=var): + var = Scope({'string':string, 'pattern':pattern, 'guard':guard, 'this':this, 'arguments':arguments}, var) + var.registers(['guard', 'string', 'pattern']) + var.put('string', var.get('toString')(var.get('string'))) + var.put('pattern', (var.get('undefined') if var.get('guard') else var.get('pattern'))) + if PyJsStrictEq(var.get('pattern'),var.get('undefined')): + return (var.get('unicodeWords')(var.get('string')) if var.get('hasUnicodeWord')(var.get('string')) else var.get('asciiWords')(var.get('string'))) + return (var.get('string').callprop('match', var.get('pattern')) or Js([])) + PyJsHoisted_words_.func_name = 'words' + var.put('words', PyJsHoisted_words_) + @Js + def PyJsHoisted_cond_(pairs, this, arguments, var=var): + var = Scope({'pairs':pairs, 'this':this, 'arguments':arguments}, var) + var.registers(['length', 'pairs', 'toIteratee']) + var.put('length', (Js(0.0) if (var.get('pairs')==var.get(u"null")) else var.get('pairs').get('length'))) + var.put('toIteratee', var.get('getIteratee')()) + @Js + def PyJs_anonymous_266_(pair, this, arguments, var=var): + var = Scope({'pair':pair, 'this':this, 'arguments':arguments}, var) + var.registers(['pair']) + if (var.get('pair').get('1').typeof()!=Js('function')): + PyJsTempException = JsToPyException(var.get('TypeError').create(var.get('FUNC_ERROR_TEXT'))) + raise PyJsTempException + return Js([var.get('toIteratee')(var.get('pair').get('0')), var.get('pair').get('1')]) + PyJs_anonymous_266_._set_name('anonymous') + var.put('pairs', (Js([]) if var.get('length').neg() else var.get('arrayMap')(var.get('pairs'), PyJs_anonymous_266_))) + @Js + def PyJs_anonymous_267_(args, this, arguments, var=var): + var = Scope({'args':args, 'this':this, 'arguments':arguments}, var) + var.registers(['args', 'pair', 'index']) + var.put('index', (-Js(1.0))) + while (var.put('index',Js(var.get('index').to_number())+Js(1))var.get('MAX_SAFE_INTEGER'))): + return Js([]) + var.put('index', var.get('MAX_ARRAY_LENGTH')) + var.put('length', var.get('nativeMin')(var.get('n'), var.get('MAX_ARRAY_LENGTH'))) + var.put('iteratee', var.get('getIteratee')(var.get('iteratee'))) + var.put('n', var.get('MAX_ARRAY_LENGTH'), '-') + var.put('result', var.get('baseTimes')(var.get('length'), var.get('iteratee'))) + while (var.put('index',Js(var.get('index').to_number())+Js(1))Js(1.0)) else var.get('undefined'))) + var.put('iteratee', (PyJsComma(var.get('arrays').callprop('pop'),var.get('iteratee')) if (var.get('iteratee',throw=False).typeof()==Js('function')) else var.get('undefined'))) + return var.get('unzipWith')(var.get('arrays'), var.get('iteratee')) + PyJs_anonymous_205_._set_name('anonymous') + var.put('zipWith', var.get('baseRest')(PyJs_anonymous_205_)) + pass + pass + pass + @Js + def PyJs_anonymous_206_(paths, this, arguments, var=var): + var = Scope({'paths':paths, 'this':this, 'arguments':arguments}, var) + var.registers(['interceptor', 'value', 'paths', 'start', 'length']) + var.put('length', var.get('paths').get('length')) + var.put('start', (var.get('paths').get('0') if var.get('length') else Js(0.0))) + var.put('value', var.get(u"this").get('__wrapped__')) + @Js + def PyJs_interceptor_207_(object, this, arguments, var=var): + var = Scope({'object':object, 'this':this, 'arguments':arguments, 'interceptor':PyJs_interceptor_207_}, var) + var.registers(['object']) + return var.get('baseAt')(var.get('object'), var.get('paths')) + PyJs_interceptor_207_._set_name('interceptor') + var.put('interceptor', PyJs_interceptor_207_) + if ((((var.get('length')>Js(1.0)) or var.get(u"this").get('__actions__').get('length')) or var.get('value').instanceof(var.get('LazyWrapper')).neg()) or var.get('isIndex')(var.get('start')).neg()): + return var.get(u"this").callprop('thru', var.get('interceptor')) + var.put('value', var.get('value').callprop('slice', var.get('start'), ((+var.get('start'))+(Js(1.0) if var.get('length') else Js(0.0))))) + var.get('value').get('__actions__').callprop('push', Js({'func':var.get('thru'),'args':Js([var.get('interceptor')]),'thisArg':var.get('undefined')})) + @Js + def PyJs_anonymous_208_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments}, var) + var.registers(['array']) + if (var.get('length') and var.get('array').get('length').neg()): + var.get('array').callprop('push', var.get('undefined')) + return var.get('array') + PyJs_anonymous_208_._set_name('anonymous') + return var.get('LodashWrapper').create(var.get('value'), var.get(u"this").get('__chain__')).callprop('thru', PyJs_anonymous_208_) + PyJs_anonymous_206_._set_name('anonymous') + var.put('wrapperAt', var.get('flatRest')(PyJs_anonymous_206_)) + pass + pass + pass + pass + pass + pass + pass + @Js + def PyJs_anonymous_209_(result, value, key, this, arguments, var=var): + var = Scope({'result':result, 'value':value, 'key':key, 'this':this, 'arguments':arguments}, var) + var.registers(['key', 'result', 'value']) + if var.get('hasOwnProperty').callprop('call', var.get('result'), var.get('key')): + var.get('result').put(var.get('key'),Js(var.get('result').get(var.get('key')).to_number())+Js(1)) + else: + var.get('baseAssignValue')(var.get('result'), var.get('key'), Js(1.0)) + PyJs_anonymous_209_._set_name('anonymous') + var.put('countBy', var.get('createAggregator')(PyJs_anonymous_209_)) + pass + pass + var.put('find', var.get('createFind')(var.get('findIndex'))) + var.put('findLast', var.get('createFind')(var.get('findLastIndex'))) + pass + pass + pass + pass + pass + @Js + def PyJs_anonymous_210_(result, value, key, this, arguments, var=var): + var = Scope({'result':result, 'value':value, 'key':key, 'this':this, 'arguments':arguments}, var) + var.registers(['key', 'result', 'value']) + if var.get('hasOwnProperty').callprop('call', var.get('result'), var.get('key')): + var.get('result').get(var.get('key')).callprop('push', var.get('value')) + else: + var.get('baseAssignValue')(var.get('result'), var.get('key'), Js([var.get('value')])) + PyJs_anonymous_210_._set_name('anonymous') + var.put('groupBy', var.get('createAggregator')(PyJs_anonymous_210_)) + pass + @Js + def PyJs_anonymous_211_(collection, path, args, this, arguments, var=var): + var = Scope({'collection':collection, 'path':path, 'args':args, 'this':this, 'arguments':arguments}, var) + var.registers(['args', 'path', 'result', 'collection', 'index', 'isFunc']) + var.put('index', (-Js(1.0))) + var.put('isFunc', (var.get('path',throw=False).typeof()==Js('function'))) + var.put('result', (var.get('Array')(var.get('collection').get('length')) if var.get('isArrayLike')(var.get('collection')) else Js([]))) + @Js + def PyJs_anonymous_212_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + var.get('result').put(var.put('index',Js(var.get('index').to_number())+Js(1)), (var.get('apply')(var.get('path'), var.get('value'), var.get('args')) if var.get('isFunc') else var.get('baseInvoke')(var.get('value'), var.get('path'), var.get('args')))) + PyJs_anonymous_212_._set_name('anonymous') + var.get('baseEach')(var.get('collection'), PyJs_anonymous_212_) + return var.get('result') + PyJs_anonymous_211_._set_name('anonymous') + var.put('invokeMap', var.get('baseRest')(PyJs_anonymous_211_)) + @Js + def PyJs_anonymous_213_(result, value, key, this, arguments, var=var): + var = Scope({'result':result, 'value':value, 'key':key, 'this':this, 'arguments':arguments}, var) + var.registers(['key', 'result', 'value']) + var.get('baseAssignValue')(var.get('result'), var.get('key'), var.get('value')) + PyJs_anonymous_213_._set_name('anonymous') + var.put('keyBy', var.get('createAggregator')(PyJs_anonymous_213_)) + pass + pass + @Js + def PyJs_anonymous_214_(result, value, key, this, arguments, var=var): + var = Scope({'result':result, 'value':value, 'key':key, 'this':this, 'arguments':arguments}, var) + var.registers(['key', 'result', 'value']) + var.get('result').get((Js(0.0) if var.get('key') else Js(1.0))).callprop('push', var.get('value')) + PyJs_anonymous_214_._set_name('anonymous') + @Js + def PyJs_anonymous_215_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return Js([Js([]), Js([])]) + PyJs_anonymous_215_._set_name('anonymous') + var.put('partition', var.get('createAggregator')(PyJs_anonymous_214_, PyJs_anonymous_215_)) + pass + pass + pass + pass + pass + pass + pass + pass + @Js + def PyJs_anonymous_216_(collection, iteratees, this, arguments, var=var): + var = Scope({'collection':collection, 'iteratees':iteratees, 'this':this, 'arguments':arguments}, var) + var.registers(['length', 'iteratees', 'collection']) + if (var.get('collection')==var.get(u"null")): + return Js([]) + var.put('length', var.get('iteratees').get('length')) + if ((var.get('length')>Js(1.0)) and var.get('isIterateeCall')(var.get('collection'), var.get('iteratees').get('0'), var.get('iteratees').get('1'))): + var.put('iteratees', Js([])) + else: + if ((var.get('length')>Js(2.0)) and var.get('isIterateeCall')(var.get('iteratees').get('0'), var.get('iteratees').get('1'), var.get('iteratees').get('2'))): + var.put('iteratees', Js([var.get('iteratees').get('0')])) + return var.get('baseOrderBy')(var.get('collection'), var.get('baseFlatten')(var.get('iteratees'), Js(1.0)), Js([])) + PyJs_anonymous_216_._set_name('anonymous') + var.put('sortBy', var.get('baseRest')(PyJs_anonymous_216_)) + @Js + def PyJs_anonymous_217_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return var.get('root').get('Date').callprop('now') + PyJs_anonymous_217_._set_name('anonymous') + var.put('now', (var.get('ctxNow') or PyJs_anonymous_217_)) + pass + pass + pass + @Js + def PyJs_anonymous_220_(func, thisArg, partials, this, arguments, var=var): + var = Scope({'func':func, 'thisArg':thisArg, 'partials':partials, 'this':this, 'arguments':arguments}, var) + var.registers(['bitmask', 'partials', 'func', 'holders', 'thisArg']) + var.put('bitmask', var.get('WRAP_BIND_FLAG')) + if var.get('partials').get('length'): + var.put('holders', var.get('replaceHolders')(var.get('partials'), var.get('getHolder')(var.get('bind')))) + var.put('bitmask', var.get('WRAP_PARTIAL_FLAG'), '|') + return var.get('createWrap')(var.get('func'), var.get('bitmask'), var.get('thisArg'), var.get('partials'), var.get('holders')) + PyJs_anonymous_220_._set_name('anonymous') + var.put('bind', var.get('baseRest')(PyJs_anonymous_220_)) + @Js + def PyJs_anonymous_221_(object, key, partials, this, arguments, var=var): + var = Scope({'object':object, 'key':key, 'partials':partials, 'this':this, 'arguments':arguments}, var) + var.registers(['bitmask', 'object', 'partials', 'holders', 'key']) + var.put('bitmask', (var.get('WRAP_BIND_FLAG')|var.get('WRAP_BIND_KEY_FLAG'))) + if var.get('partials').get('length'): + var.put('holders', var.get('replaceHolders')(var.get('partials'), var.get('getHolder')(var.get('bindKey')))) + var.put('bitmask', var.get('WRAP_PARTIAL_FLAG'), '|') + return var.get('createWrap')(var.get('key'), var.get('bitmask'), var.get('object'), var.get('partials'), var.get('holders')) + PyJs_anonymous_221_._set_name('anonymous') + var.put('bindKey', var.get('baseRest')(PyJs_anonymous_221_)) + pass + pass + pass + @Js + def PyJs_anonymous_222_(func, args, this, arguments, var=var): + var = Scope({'func':func, 'args':args, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'args']) + return var.get('baseDelay')(var.get('func'), Js(1.0), var.get('args')) + PyJs_anonymous_222_._set_name('anonymous') + var.put('defer', var.get('baseRest')(PyJs_anonymous_222_)) + @Js + def PyJs_anonymous_223_(func, wait, args, this, arguments, var=var): + var = Scope({'func':func, 'wait':wait, 'args':args, 'this':this, 'arguments':arguments}, var) + var.registers(['wait', 'func', 'args']) + return var.get('baseDelay')(var.get('func'), (var.get('toNumber')(var.get('wait')) or Js(0.0)), var.get('args')) + PyJs_anonymous_223_._set_name('anonymous') + var.put('delay', var.get('baseRest')(PyJs_anonymous_223_)) + pass + pass + var.get('memoize').put('Cache', var.get('MapCache')) + pass + pass + @Js + def PyJs_anonymous_226_(func, transforms, this, arguments, var=var): + var = Scope({'func':func, 'transforms':transforms, 'this':this, 'arguments':arguments}, var) + var.registers(['funcsLength', 'func', 'transforms']) + var.put('transforms', (var.get('arrayMap')(var.get('transforms').get('0'), var.get('baseUnary')(var.get('getIteratee')())) if ((var.get('transforms').get('length')==Js(1.0)) and var.get('isArray')(var.get('transforms').get('0'))) else var.get('arrayMap')(var.get('baseFlatten')(var.get('transforms'), Js(1.0)), var.get('baseUnary')(var.get('getIteratee')())))) + var.put('funcsLength', var.get('transforms').get('length')) + @Js + def PyJs_anonymous_227_(args, this, arguments, var=var): + var = Scope({'args':args, 'this':this, 'arguments':arguments}, var) + var.registers(['length', 'args', 'index']) + var.put('index', (-Js(1.0))) + var.put('length', var.get('nativeMin')(var.get('args').get('length'), var.get('funcsLength'))) + while (var.put('index',Js(var.get('index').to_number())+Js(1))=var.get('other')) + PyJs_anonymous_232_._set_name('anonymous') + var.put('gte', var.get('createRelationalOperation')(PyJs_anonymous_232_)) + @Js + def PyJs_anonymous_233_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return var.get('arguments') + PyJs_anonymous_233_._set_name('anonymous') + @Js + def PyJs_anonymous_234_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return ((var.get('isObjectLike')(var.get('value')) and var.get('hasOwnProperty').callprop('call', var.get('value'), Js('callee'))) and var.get('propertyIsEnumerable').callprop('call', var.get('value'), Js('callee')).neg()) + PyJs_anonymous_234_._set_name('anonymous') + var.put('isArguments', (var.get('baseIsArguments') if var.get('baseIsArguments')(PyJs_anonymous_233_()) else PyJs_anonymous_234_)) + var.put('isArray', var.get('Array').get('isArray')) + var.put('isArrayBuffer', (var.get('baseUnary')(var.get('nodeIsArrayBuffer')) if var.get('nodeIsArrayBuffer') else var.get('baseIsArrayBuffer'))) + pass + pass + pass + var.put('isBuffer', (var.get('nativeIsBuffer') or var.get('stubFalse'))) + var.put('isDate', (var.get('baseUnary')(var.get('nodeIsDate')) if var.get('nodeIsDate') else var.get('baseIsDate'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + var.put('isMap', (var.get('baseUnary')(var.get('nodeIsMap')) if var.get('nodeIsMap') else var.get('baseIsMap'))) + pass + pass + pass + pass + pass + pass + pass + pass + var.put('isRegExp', (var.get('baseUnary')(var.get('nodeIsRegExp')) if var.get('nodeIsRegExp') else var.get('baseIsRegExp'))) + pass + var.put('isSet', (var.get('baseUnary')(var.get('nodeIsSet')) if var.get('nodeIsSet') else var.get('baseIsSet'))) + pass + pass + var.put('isTypedArray', (var.get('baseUnary')(var.get('nodeIsTypedArray')) if var.get('nodeIsTypedArray') else var.get('baseIsTypedArray'))) + pass + pass + pass + var.put('lt', var.get('createRelationalOperation')(var.get('baseLt'))) + @Js + def PyJs_anonymous_235_(value, other, this, arguments, var=var): + var = Scope({'value':value, 'other':other, 'this':this, 'arguments':arguments}, var) + var.registers(['other', 'value']) + return (var.get('value')<=var.get('other')) + PyJs_anonymous_235_._set_name('anonymous') + var.put('lte', var.get('createRelationalOperation')(PyJs_anonymous_235_)) + pass + pass + pass + pass + pass + pass + pass + pass + @Js + def PyJs_anonymous_236_(object, source, this, arguments, var=var): + var = Scope({'object':object, 'source':source, 'this':this, 'arguments':arguments}, var) + var.registers(['object', 'source', 'key']) + if (var.get('isPrototype')(var.get('source')) or var.get('isArrayLike')(var.get('source'))): + var.get('copyObject')(var.get('source'), var.get('keys')(var.get('source')), var.get('object')) + return var.get('undefined') + for PyJsTemp in var.get('source'): + var.put('key', PyJsTemp) + if var.get('hasOwnProperty').callprop('call', var.get('source'), var.get('key')): + var.get('assignValue')(var.get('object'), var.get('key'), var.get('source').get(var.get('key'))) + PyJs_anonymous_236_._set_name('anonymous') + var.put('assign', var.get('createAssigner')(PyJs_anonymous_236_)) + @Js + def PyJs_anonymous_237_(object, source, this, arguments, var=var): + var = Scope({'object':object, 'source':source, 'this':this, 'arguments':arguments}, var) + var.registers(['object', 'source']) + var.get('copyObject')(var.get('source'), var.get('keysIn')(var.get('source')), var.get('object')) + PyJs_anonymous_237_._set_name('anonymous') + var.put('assignIn', var.get('createAssigner')(PyJs_anonymous_237_)) + @Js + def PyJs_anonymous_238_(object, source, srcIndex, customizer, this, arguments, var=var): + var = Scope({'object':object, 'source':source, 'srcIndex':srcIndex, 'customizer':customizer, 'this':this, 'arguments':arguments}, var) + var.registers(['customizer', 'object', 'srcIndex', 'source']) + var.get('copyObject')(var.get('source'), var.get('keysIn')(var.get('source')), var.get('object'), var.get('customizer')) + PyJs_anonymous_238_._set_name('anonymous') + var.put('assignInWith', var.get('createAssigner')(PyJs_anonymous_238_)) + @Js + def PyJs_anonymous_239_(object, source, srcIndex, customizer, this, arguments, var=var): + var = Scope({'object':object, 'source':source, 'srcIndex':srcIndex, 'customizer':customizer, 'this':this, 'arguments':arguments}, var) + var.registers(['customizer', 'object', 'srcIndex', 'source']) + var.get('copyObject')(var.get('source'), var.get('keys')(var.get('source')), var.get('object'), var.get('customizer')) + PyJs_anonymous_239_._set_name('anonymous') + var.put('assignWith', var.get('createAssigner')(PyJs_anonymous_239_)) + var.put('at', var.get('flatRest')(var.get('baseAt'))) + pass + @Js + def PyJs_anonymous_240_(object, sources, this, arguments, var=var): + var = Scope({'object':object, 'sources':sources, 'this':this, 'arguments':arguments}, var) + var.registers(['sources', 'guard', 'value', 'propsIndex', 'key', 'object', 'props', 'propsLength', 'length', 'source', 'index']) + var.put('object', var.get('Object')(var.get('object'))) + var.put('index', (-Js(1.0))) + var.put('length', var.get('sources').get('length')) + var.put('guard', (var.get('sources').get('2') if (var.get('length')>Js(2.0)) else var.get('undefined'))) + if (var.get('guard') and var.get('isIterateeCall')(var.get('sources').get('0'), var.get('sources').get('1'), var.get('guard'))): + var.put('length', Js(1.0)) + while (var.put('index',Js(var.get('index').to_number())+Js(1))Js(1.0)))) + return var.get('path') + PyJs_anonymous_249_._set_name('anonymous') + var.put('paths', var.get('arrayMap')(var.get('paths'), PyJs_anonymous_249_)) + var.get('copyObject')(var.get('object'), var.get('getAllKeysIn')(var.get('object')), var.get('result')) + if var.get('isDeep'): + var.put('result', var.get('baseClone')(var.get('result'), ((var.get('CLONE_DEEP_FLAG')|var.get('CLONE_FLAT_FLAG'))|var.get('CLONE_SYMBOLS_FLAG')), var.get('customOmitClone'))) + var.put('length', var.get('paths').get('length')) + while (var.put('length',Js(var.get('length').to_number())-Js(1))+Js(1)): + var.get('baseUnset')(var.get('result'), var.get('paths').get(var.get('length'))) + return var.get('result') + PyJs_anonymous_248_._set_name('anonymous') + var.put('omit', var.get('flatRest')(PyJs_anonymous_248_)) + pass + @Js + def PyJs_anonymous_250_(object, paths, this, arguments, var=var): + var = Scope({'object':object, 'paths':paths, 'this':this, 'arguments':arguments}, var) + var.registers(['object', 'paths']) + return (Js({}) if (var.get('object')==var.get(u"null")) else var.get('basePick')(var.get('object'), var.get('paths'))) + PyJs_anonymous_250_._set_name('anonymous') + var.put('pick', var.get('flatRest')(PyJs_anonymous_250_)) + pass + pass + pass + pass + var.put('toPairs', var.get('createToPairs')(var.get('keys'))) + var.put('toPairsIn', var.get('createToPairs')(var.get('keysIn'))) + pass + pass + pass + pass + pass + pass + pass + pass + pass + @Js + def PyJs_anonymous_254_(result, word, index, this, arguments, var=var): + var = Scope({'result':result, 'word':word, 'index':index, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'word', 'index']) + var.put('word', var.get('word').callprop('toLowerCase')) + return (var.get('result')+(var.get('capitalize')(var.get('word')) if var.get('index') else var.get('word'))) + PyJs_anonymous_254_._set_name('anonymous') + var.put('camelCase', var.get('createCompounder')(PyJs_anonymous_254_)) + pass + pass + pass + pass + pass + @Js + def PyJs_anonymous_255_(result, word, index, this, arguments, var=var): + var = Scope({'result':result, 'word':word, 'index':index, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'word', 'index']) + return ((var.get('result')+(Js('-') if var.get('index') else Js('')))+var.get('word').callprop('toLowerCase')) + PyJs_anonymous_255_._set_name('anonymous') + var.put('kebabCase', var.get('createCompounder')(PyJs_anonymous_255_)) + @Js + def PyJs_anonymous_256_(result, word, index, this, arguments, var=var): + var = Scope({'result':result, 'word':word, 'index':index, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'word', 'index']) + return ((var.get('result')+(Js(' ') if var.get('index') else Js('')))+var.get('word').callprop('toLowerCase')) + PyJs_anonymous_256_._set_name('anonymous') + var.put('lowerCase', var.get('createCompounder')(PyJs_anonymous_256_)) + var.put('lowerFirst', var.get('createCaseFirst')(Js('toLowerCase'))) + pass + pass + pass + pass + pass + pass + @Js + def PyJs_anonymous_257_(result, word, index, this, arguments, var=var): + var = Scope({'result':result, 'word':word, 'index':index, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'word', 'index']) + return ((var.get('result')+(Js('_') if var.get('index') else Js('')))+var.get('word').callprop('toLowerCase')) + PyJs_anonymous_257_._set_name('anonymous') + var.put('snakeCase', var.get('createCompounder')(PyJs_anonymous_257_)) + pass + @Js + def PyJs_anonymous_258_(result, word, index, this, arguments, var=var): + var = Scope({'result':result, 'word':word, 'index':index, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'word', 'index']) + return ((var.get('result')+(Js(' ') if var.get('index') else Js('')))+var.get('upperFirst')(var.get('word'))) + PyJs_anonymous_258_._set_name('anonymous') + var.put('startCase', var.get('createCompounder')(PyJs_anonymous_258_)) + pass + pass + pass + pass + pass + pass + pass + pass + pass + @Js + def PyJs_anonymous_262_(result, word, index, this, arguments, var=var): + var = Scope({'result':result, 'word':word, 'index':index, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'word', 'index']) + return ((var.get('result')+(Js(' ') if var.get('index') else Js('')))+var.get('word').callprop('toUpperCase')) + PyJs_anonymous_262_._set_name('anonymous') + var.put('upperCase', var.get('createCompounder')(PyJs_anonymous_262_)) + var.put('upperFirst', var.get('createCaseFirst')(Js('toUpperCase'))) + pass + @Js + def PyJs_anonymous_263_(func, args, this, arguments, var=var): + var = Scope({'func':func, 'args':args, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'args']) + try: + return var.get('apply')(var.get('func'), var.get('undefined'), var.get('args')) + except PyJsException as PyJsTempException: + PyJsHolder_65_55194687 = var.own.get('e') + var.force_own_put('e', PyExceptionToJs(PyJsTempException)) + try: + return (var.get('e') if var.get('isError')(var.get('e')) else var.get('Error').create(var.get('e'))) + finally: + if PyJsHolder_65_55194687 is not None: + var.own['e'] = PyJsHolder_65_55194687 + else: + del var.own['e'] + del PyJsHolder_65_55194687 + PyJs_anonymous_263_._set_name('anonymous') + var.put('attempt', var.get('baseRest')(PyJs_anonymous_263_)) + @Js + def PyJs_anonymous_264_(object, methodNames, this, arguments, var=var): + var = Scope({'object':object, 'methodNames':methodNames, 'this':this, 'arguments':arguments}, var) + var.registers(['object', 'methodNames']) + @Js + def PyJs_anonymous_265_(key, this, arguments, var=var): + var = Scope({'key':key, 'this':this, 'arguments':arguments}, var) + var.registers(['key']) + var.put('key', var.get('toKey')(var.get('key'))) + var.get('baseAssignValue')(var.get('object'), var.get('key'), var.get('bind')(var.get('object').get(var.get('key')), var.get('object'))) + PyJs_anonymous_265_._set_name('anonymous') + var.get('arrayEach')(var.get('methodNames'), PyJs_anonymous_265_) + return var.get('object') + PyJs_anonymous_264_._set_name('anonymous') + var.put('bindAll', var.get('flatRest')(PyJs_anonymous_264_)) + pass + pass + pass + pass + var.put('flow', var.get('createFlow')()) + var.put('flowRight', var.get('createFlow')(Js(True))) + pass + pass + pass + pass + @Js + def PyJs_anonymous_269_(path, args, this, arguments, var=var): + var = Scope({'path':path, 'args':args, 'this':this, 'arguments':arguments}, var) + var.registers(['path', 'args']) + @Js + def PyJs_anonymous_270_(object, this, arguments, var=var): + var = Scope({'object':object, 'this':this, 'arguments':arguments}, var) + var.registers(['object']) + return var.get('baseInvoke')(var.get('object'), var.get('path'), var.get('args')) + PyJs_anonymous_270_._set_name('anonymous') + return PyJs_anonymous_270_ + PyJs_anonymous_269_._set_name('anonymous') + var.put('method', var.get('baseRest')(PyJs_anonymous_269_)) + @Js + def PyJs_anonymous_271_(object, args, this, arguments, var=var): + var = Scope({'object':object, 'args':args, 'this':this, 'arguments':arguments}, var) + var.registers(['object', 'args']) + @Js + def PyJs_anonymous_272_(path, this, arguments, var=var): + var = Scope({'path':path, 'this':this, 'arguments':arguments}, var) + var.registers(['path']) + return var.get('baseInvoke')(var.get('object'), var.get('path'), var.get('args')) + PyJs_anonymous_272_._set_name('anonymous') + return PyJs_anonymous_272_ + PyJs_anonymous_271_._set_name('anonymous') + var.put('methodOf', var.get('baseRest')(PyJs_anonymous_271_)) + pass + pass + pass + pass + var.put('over', var.get('createOver')(var.get('arrayMap'))) + var.put('overEvery', var.get('createOver')(var.get('arrayEvery'))) + var.put('overSome', var.get('createOver')(var.get('arraySome'))) + pass + pass + var.put('range', var.get('createRange')()) + var.put('rangeRight', var.get('createRange')(Js(True))) + pass + pass + pass + pass + pass + pass + pass + pass + @Js + def PyJs_anonymous_277_(augend, addend, this, arguments, var=var): + var = Scope({'augend':augend, 'addend':addend, 'this':this, 'arguments':arguments}, var) + var.registers(['addend', 'augend']) + return (var.get('augend')+var.get('addend')) + PyJs_anonymous_277_._set_name('anonymous') + var.put('add', var.get('createMathOperation')(PyJs_anonymous_277_, Js(0.0))) + var.put('ceil', var.get('createRound')(Js('ceil'))) + @Js + def PyJs_anonymous_278_(dividend, divisor, this, arguments, var=var): + var = Scope({'dividend':dividend, 'divisor':divisor, 'this':this, 'arguments':arguments}, var) + var.registers(['divisor', 'dividend']) + return (var.get('dividend')/var.get('divisor')) + PyJs_anonymous_278_._set_name('anonymous') + var.put('divide', var.get('createMathOperation')(PyJs_anonymous_278_, Js(1.0))) + var.put('floor', var.get('createRound')(Js('floor'))) + pass + pass + pass + pass + pass + pass + @Js + def PyJs_anonymous_279_(multiplier, multiplicand, this, arguments, var=var): + var = Scope({'multiplier':multiplier, 'multiplicand':multiplicand, 'this':this, 'arguments':arguments}, var) + var.registers(['multiplicand', 'multiplier']) + return (var.get('multiplier')*var.get('multiplicand')) + PyJs_anonymous_279_._set_name('anonymous') + var.put('multiply', var.get('createMathOperation')(PyJs_anonymous_279_, Js(1.0))) + var.put('round', var.get('createRound')(Js('round'))) + @Js + def PyJs_anonymous_280_(minuend, subtrahend, this, arguments, var=var): + var = Scope({'minuend':minuend, 'subtrahend':subtrahend, 'this':this, 'arguments':arguments}, var) + var.registers(['subtrahend', 'minuend']) + return (var.get('minuend')-var.get('subtrahend')) + PyJs_anonymous_280_._set_name('anonymous') + var.put('subtract', var.get('createMathOperation')(PyJs_anonymous_280_, Js(0.0))) + pass + pass + var.get('lodash').put('after', var.get('after')) + var.get('lodash').put('ary', var.get('ary')) + var.get('lodash').put('assign', var.get('assign')) + var.get('lodash').put('assignIn', var.get('assignIn')) + var.get('lodash').put('assignInWith', var.get('assignInWith')) + var.get('lodash').put('assignWith', var.get('assignWith')) + var.get('lodash').put('at', var.get('at')) + var.get('lodash').put('before', var.get('before')) + var.get('lodash').put('bind', var.get('bind')) + var.get('lodash').put('bindAll', var.get('bindAll')) + var.get('lodash').put('bindKey', var.get('bindKey')) + var.get('lodash').put('castArray', var.get('castArray')) + var.get('lodash').put('chain', var.get('chain')) + var.get('lodash').put('chunk', var.get('chunk')) + var.get('lodash').put('compact', var.get('compact')) + var.get('lodash').put('concat', var.get('concat')) + var.get('lodash').put('cond', var.get('cond')) + var.get('lodash').put('conforms', var.get('conforms')) + var.get('lodash').put('constant', var.get('constant')) + var.get('lodash').put('countBy', var.get('countBy')) + var.get('lodash').put('create', var.get('create')) + var.get('lodash').put('curry', var.get('curry')) + var.get('lodash').put('curryRight', var.get('curryRight')) + var.get('lodash').put('debounce', var.get('debounce')) + var.get('lodash').put('defaults', var.get('defaults')) + var.get('lodash').put('defaultsDeep', var.get('defaultsDeep')) + var.get('lodash').put('defer', var.get('defer')) + var.get('lodash').put('delay', var.get('delay')) + var.get('lodash').put('difference', var.get('difference')) + var.get('lodash').put('differenceBy', var.get('differenceBy')) + var.get('lodash').put('differenceWith', var.get('differenceWith')) + var.get('lodash').put('drop', var.get('drop')) + var.get('lodash').put('dropRight', var.get('dropRight')) + var.get('lodash').put('dropRightWhile', var.get('dropRightWhile')) + var.get('lodash').put('dropWhile', var.get('dropWhile')) + var.get('lodash').put('fill', var.get('fill')) + var.get('lodash').put('filter', var.get('filter')) + var.get('lodash').put('flatMap', var.get('flatMap')) + var.get('lodash').put('flatMapDeep', var.get('flatMapDeep')) + var.get('lodash').put('flatMapDepth', var.get('flatMapDepth')) + var.get('lodash').put('flatten', var.get('flatten')) + var.get('lodash').put('flattenDeep', var.get('flattenDeep')) + var.get('lodash').put('flattenDepth', var.get('flattenDepth')) + var.get('lodash').put('flip', var.get('flip')) + var.get('lodash').put('flow', var.get('flow')) + var.get('lodash').put('flowRight', var.get('flowRight')) + var.get('lodash').put('fromPairs', var.get('fromPairs')) + var.get('lodash').put('functions', var.get('functions')) + var.get('lodash').put('functionsIn', var.get('functionsIn')) + var.get('lodash').put('groupBy', var.get('groupBy')) + var.get('lodash').put('initial', var.get('initial')) + var.get('lodash').put('intersection', var.get('intersection')) + var.get('lodash').put('intersectionBy', var.get('intersectionBy')) + var.get('lodash').put('intersectionWith', var.get('intersectionWith')) + var.get('lodash').put('invert', var.get('invert')) + var.get('lodash').put('invertBy', var.get('invertBy')) + var.get('lodash').put('invokeMap', var.get('invokeMap')) + var.get('lodash').put('iteratee', var.get('iteratee')) + var.get('lodash').put('keyBy', var.get('keyBy')) + var.get('lodash').put('keys', var.get('keys')) + var.get('lodash').put('keysIn', var.get('keysIn')) + var.get('lodash').put('map', var.get('map')) + var.get('lodash').put('mapKeys', var.get('mapKeys')) + var.get('lodash').put('mapValues', var.get('mapValues')) + var.get('lodash').put('matches', var.get('matches')) + var.get('lodash').put('matchesProperty', var.get('matchesProperty')) + var.get('lodash').put('memoize', var.get('memoize')) + var.get('lodash').put('merge', var.get('merge')) + var.get('lodash').put('mergeWith', var.get('mergeWith')) + var.get('lodash').put('method', var.get('method')) + var.get('lodash').put('methodOf', var.get('methodOf')) + var.get('lodash').put('mixin', var.get('mixin')) + var.get('lodash').put('negate', var.get('negate')) + var.get('lodash').put('nthArg', var.get('nthArg')) + var.get('lodash').put('omit', var.get('omit')) + var.get('lodash').put('omitBy', var.get('omitBy')) + var.get('lodash').put('once', var.get('once')) + var.get('lodash').put('orderBy', var.get('orderBy')) + var.get('lodash').put('over', var.get('over')) + var.get('lodash').put('overArgs', var.get('overArgs')) + var.get('lodash').put('overEvery', var.get('overEvery')) + var.get('lodash').put('overSome', var.get('overSome')) + var.get('lodash').put('partial', var.get('partial')) + var.get('lodash').put('partialRight', var.get('partialRight')) + var.get('lodash').put('partition', var.get('partition')) + var.get('lodash').put('pick', var.get('pick')) + var.get('lodash').put('pickBy', var.get('pickBy')) + var.get('lodash').put('property', var.get('property')) + var.get('lodash').put('propertyOf', var.get('propertyOf')) + var.get('lodash').put('pull', var.get('pull')) + var.get('lodash').put('pullAll', var.get('pullAll')) + var.get('lodash').put('pullAllBy', var.get('pullAllBy')) + var.get('lodash').put('pullAllWith', var.get('pullAllWith')) + var.get('lodash').put('pullAt', var.get('pullAt')) + var.get('lodash').put('range', var.get('range')) + var.get('lodash').put('rangeRight', var.get('rangeRight')) + var.get('lodash').put('rearg', var.get('rearg')) + var.get('lodash').put('reject', var.get('reject')) + var.get('lodash').put('remove', var.get('remove')) + var.get('lodash').put('rest', var.get('rest')) + var.get('lodash').put('reverse', var.get('reverse')) + var.get('lodash').put('sampleSize', var.get('sampleSize')) + var.get('lodash').put('set', var.get('set')) + var.get('lodash').put('setWith', var.get('setWith')) + var.get('lodash').put('shuffle', var.get('shuffle')) + var.get('lodash').put('slice', var.get('slice')) + var.get('lodash').put('sortBy', var.get('sortBy')) + var.get('lodash').put('sortedUniq', var.get('sortedUniq')) + var.get('lodash').put('sortedUniqBy', var.get('sortedUniqBy')) + var.get('lodash').put('split', var.get('split')) + var.get('lodash').put('spread', var.get('spread')) + var.get('lodash').put('tail', var.get('tail')) + var.get('lodash').put('take', var.get('take')) + var.get('lodash').put('takeRight', var.get('takeRight')) + var.get('lodash').put('takeRightWhile', var.get('takeRightWhile')) + var.get('lodash').put('takeWhile', var.get('takeWhile')) + var.get('lodash').put('tap', var.get('tap')) + var.get('lodash').put('throttle', var.get('throttle')) + var.get('lodash').put('thru', var.get('thru')) + var.get('lodash').put('toArray', var.get('toArray')) + var.get('lodash').put('toPairs', var.get('toPairs')) + var.get('lodash').put('toPairsIn', var.get('toPairsIn')) + var.get('lodash').put('toPath', var.get('toPath')) + var.get('lodash').put('toPlainObject', var.get('toPlainObject')) + var.get('lodash').put('transform', var.get('transform')) + var.get('lodash').put('unary', var.get('unary')) + var.get('lodash').put('union', var.get('union')) + var.get('lodash').put('unionBy', var.get('unionBy')) + var.get('lodash').put('unionWith', var.get('unionWith')) + var.get('lodash').put('uniq', var.get('uniq')) + var.get('lodash').put('uniqBy', var.get('uniqBy')) + var.get('lodash').put('uniqWith', var.get('uniqWith')) + var.get('lodash').put('unset', var.get('unset')) + var.get('lodash').put('unzip', var.get('unzip')) + var.get('lodash').put('unzipWith', var.get('unzipWith')) + var.get('lodash').put('update', var.get('update')) + var.get('lodash').put('updateWith', var.get('updateWith')) + var.get('lodash').put('values', var.get('values')) + var.get('lodash').put('valuesIn', var.get('valuesIn')) + var.get('lodash').put('without', var.get('without')) + var.get('lodash').put('words', var.get('words')) + var.get('lodash').put('wrap', var.get('wrap')) + var.get('lodash').put('xor', var.get('xor')) + var.get('lodash').put('xorBy', var.get('xorBy')) + var.get('lodash').put('xorWith', var.get('xorWith')) + var.get('lodash').put('zip', var.get('zip')) + var.get('lodash').put('zipObject', var.get('zipObject')) + var.get('lodash').put('zipObjectDeep', var.get('zipObjectDeep')) + var.get('lodash').put('zipWith', var.get('zipWith')) + var.get('lodash').put('entries', var.get('toPairs')) + var.get('lodash').put('entriesIn', var.get('toPairsIn')) + var.get('lodash').put('extend', var.get('assignIn')) + var.get('lodash').put('extendWith', var.get('assignInWith')) + var.get('mixin')(var.get('lodash'), var.get('lodash')) + var.get('lodash').put('add', var.get('add')) + var.get('lodash').put('attempt', var.get('attempt')) + var.get('lodash').put('camelCase', var.get('camelCase')) + var.get('lodash').put('capitalize', var.get('capitalize')) + var.get('lodash').put('ceil', var.get('ceil')) + var.get('lodash').put('clamp', var.get('clamp')) + var.get('lodash').put('clone', var.get('clone')) + var.get('lodash').put('cloneDeep', var.get('cloneDeep')) + var.get('lodash').put('cloneDeepWith', var.get('cloneDeepWith')) + var.get('lodash').put('cloneWith', var.get('cloneWith')) + var.get('lodash').put('conformsTo', var.get('conformsTo')) + var.get('lodash').put('deburr', var.get('deburr')) + var.get('lodash').put('defaultTo', var.get('defaultTo')) + var.get('lodash').put('divide', var.get('divide')) + var.get('lodash').put('endsWith', var.get('endsWith')) + var.get('lodash').put('eq', var.get('eq')) + var.get('lodash').put('escape', var.get('escape')) + var.get('lodash').put('escapeRegExp', var.get('escapeRegExp')) + var.get('lodash').put('every', var.get('every')) + var.get('lodash').put('find', var.get('find')) + var.get('lodash').put('findIndex', var.get('findIndex')) + var.get('lodash').put('findKey', var.get('findKey')) + var.get('lodash').put('findLast', var.get('findLast')) + var.get('lodash').put('findLastIndex', var.get('findLastIndex')) + var.get('lodash').put('findLastKey', var.get('findLastKey')) + var.get('lodash').put('floor', var.get('floor')) + var.get('lodash').put('forEach', var.get('forEach')) + var.get('lodash').put('forEachRight', var.get('forEachRight')) + var.get('lodash').put('forIn', var.get('forIn')) + var.get('lodash').put('forInRight', var.get('forInRight')) + var.get('lodash').put('forOwn', var.get('forOwn')) + var.get('lodash').put('forOwnRight', var.get('forOwnRight')) + var.get('lodash').put('get', var.get('get')) + var.get('lodash').put('gt', var.get('gt')) + var.get('lodash').put('gte', var.get('gte')) + var.get('lodash').put('has', var.get('has')) + var.get('lodash').put('hasIn', var.get('hasIn')) + var.get('lodash').put('head', var.get('head')) + var.get('lodash').put('identity', var.get('identity')) + var.get('lodash').put('includes', var.get('includes')) + var.get('lodash').put('indexOf', var.get('indexOf')) + var.get('lodash').put('inRange', var.get('inRange')) + var.get('lodash').put('invoke', var.get('invoke')) + var.get('lodash').put('isArguments', var.get('isArguments')) + var.get('lodash').put('isArray', var.get('isArray')) + var.get('lodash').put('isArrayBuffer', var.get('isArrayBuffer')) + var.get('lodash').put('isArrayLike', var.get('isArrayLike')) + var.get('lodash').put('isArrayLikeObject', var.get('isArrayLikeObject')) + var.get('lodash').put('isBoolean', var.get('isBoolean')) + var.get('lodash').put('isBuffer', var.get('isBuffer')) + var.get('lodash').put('isDate', var.get('isDate')) + var.get('lodash').put('isElement', var.get('isElement')) + var.get('lodash').put('isEmpty', var.get('isEmpty')) + var.get('lodash').put('isEqual', var.get('isEqual')) + var.get('lodash').put('isEqualWith', var.get('isEqualWith')) + var.get('lodash').put('isError', var.get('isError')) + var.get('lodash').put('isFinite', var.get('isFinite')) + var.get('lodash').put('isFunction', var.get('isFunction')) + var.get('lodash').put('isInteger', var.get('isInteger')) + var.get('lodash').put('isLength', var.get('isLength')) + var.get('lodash').put('isMap', var.get('isMap')) + var.get('lodash').put('isMatch', var.get('isMatch')) + var.get('lodash').put('isMatchWith', var.get('isMatchWith')) + var.get('lodash').put('isNaN', var.get('isNaN')) + var.get('lodash').put('isNative', var.get('isNative')) + var.get('lodash').put('isNil', var.get('isNil')) + var.get('lodash').put('isNull', var.get('isNull')) + var.get('lodash').put('isNumber', var.get('isNumber')) + var.get('lodash').put('isObject', var.get('isObject')) + var.get('lodash').put('isObjectLike', var.get('isObjectLike')) + var.get('lodash').put('isPlainObject', var.get('isPlainObject')) + var.get('lodash').put('isRegExp', var.get('isRegExp')) + var.get('lodash').put('isSafeInteger', var.get('isSafeInteger')) + var.get('lodash').put('isSet', var.get('isSet')) + var.get('lodash').put('isString', var.get('isString')) + var.get('lodash').put('isSymbol', var.get('isSymbol')) + var.get('lodash').put('isTypedArray', var.get('isTypedArray')) + var.get('lodash').put('isUndefined', var.get('isUndefined')) + var.get('lodash').put('isWeakMap', var.get('isWeakMap')) + var.get('lodash').put('isWeakSet', var.get('isWeakSet')) + var.get('lodash').put('join', var.get('join')) + var.get('lodash').put('kebabCase', var.get('kebabCase')) + var.get('lodash').put('last', var.get('last')) + var.get('lodash').put('lastIndexOf', var.get('lastIndexOf')) + var.get('lodash').put('lowerCase', var.get('lowerCase')) + var.get('lodash').put('lowerFirst', var.get('lowerFirst')) + var.get('lodash').put('lt', var.get('lt')) + var.get('lodash').put('lte', var.get('lte')) + var.get('lodash').put('max', var.get('max')) + var.get('lodash').put('maxBy', var.get('maxBy')) + var.get('lodash').put('mean', var.get('mean')) + var.get('lodash').put('meanBy', var.get('meanBy')) + var.get('lodash').put('min', var.get('min')) + var.get('lodash').put('minBy', var.get('minBy')) + var.get('lodash').put('stubArray', var.get('stubArray')) + var.get('lodash').put('stubFalse', var.get('stubFalse')) + var.get('lodash').put('stubObject', var.get('stubObject')) + var.get('lodash').put('stubString', var.get('stubString')) + var.get('lodash').put('stubTrue', var.get('stubTrue')) + var.get('lodash').put('multiply', var.get('multiply')) + var.get('lodash').put('nth', var.get('nth')) + var.get('lodash').put('noConflict', var.get('noConflict')) + var.get('lodash').put('noop', var.get('noop')) + var.get('lodash').put('now', var.get('now')) + var.get('lodash').put('pad', var.get('pad')) + var.get('lodash').put('padEnd', var.get('padEnd')) + var.get('lodash').put('padStart', var.get('padStart')) + var.get('lodash').put('parseInt', var.get('parseInt')) + var.get('lodash').put('random', var.get('random')) + var.get('lodash').put('reduce', var.get('reduce')) + var.get('lodash').put('reduceRight', var.get('reduceRight')) + var.get('lodash').put('repeat', var.get('repeat')) + var.get('lodash').put('replace', var.get('replace')) + var.get('lodash').put('result', var.get('result')) + var.get('lodash').put('round', var.get('round')) + var.get('lodash').put('runInContext', var.get('runInContext')) + var.get('lodash').put('sample', var.get('sample')) + var.get('lodash').put('size', var.get('size')) + var.get('lodash').put('snakeCase', var.get('snakeCase')) + var.get('lodash').put('some', var.get('some')) + var.get('lodash').put('sortedIndex', var.get('sortedIndex')) + var.get('lodash').put('sortedIndexBy', var.get('sortedIndexBy')) + var.get('lodash').put('sortedIndexOf', var.get('sortedIndexOf')) + var.get('lodash').put('sortedLastIndex', var.get('sortedLastIndex')) + var.get('lodash').put('sortedLastIndexBy', var.get('sortedLastIndexBy')) + var.get('lodash').put('sortedLastIndexOf', var.get('sortedLastIndexOf')) + var.get('lodash').put('startCase', var.get('startCase')) + var.get('lodash').put('startsWith', var.get('startsWith')) + var.get('lodash').put('subtract', var.get('subtract')) + var.get('lodash').put('sum', var.get('sum')) + var.get('lodash').put('sumBy', var.get('sumBy')) + var.get('lodash').put('template', var.get('template')) + var.get('lodash').put('times', var.get('times')) + var.get('lodash').put('toFinite', var.get('toFinite')) + var.get('lodash').put('toInteger', var.get('toInteger')) + var.get('lodash').put('toLength', var.get('toLength')) + var.get('lodash').put('toLower', var.get('toLower')) + var.get('lodash').put('toNumber', var.get('toNumber')) + var.get('lodash').put('toSafeInteger', var.get('toSafeInteger')) + var.get('lodash').put('toString', var.get('toString')) + var.get('lodash').put('toUpper', var.get('toUpper')) + var.get('lodash').put('trim', var.get('trim')) + var.get('lodash').put('trimEnd', var.get('trimEnd')) + var.get('lodash').put('trimStart', var.get('trimStart')) + var.get('lodash').put('truncate', var.get('truncate')) + var.get('lodash').put('unescape', var.get('unescape')) + var.get('lodash').put('uniqueId', var.get('uniqueId')) + var.get('lodash').put('upperCase', var.get('upperCase')) + var.get('lodash').put('upperFirst', var.get('upperFirst')) + var.get('lodash').put('each', var.get('forEach')) + var.get('lodash').put('eachRight', var.get('forEachRight')) + var.get('lodash').put('first', var.get('head')) + @Js + def PyJs_anonymous_281_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['source']) + var.put('source', Js({})) + @Js + def PyJs_anonymous_282_(func, methodName, this, arguments, var=var): + var = Scope({'func':func, 'methodName':methodName, 'this':this, 'arguments':arguments}, var) + var.registers(['func', 'methodName']) + if var.get('hasOwnProperty').callprop('call', var.get('lodash').get('prototype'), var.get('methodName')).neg(): + var.get('source').put(var.get('methodName'), var.get('func')) + PyJs_anonymous_282_._set_name('anonymous') + var.get('baseForOwn')(var.get('lodash'), PyJs_anonymous_282_) + return var.get('source') + PyJs_anonymous_281_._set_name('anonymous') + var.get('mixin')(var.get('lodash'), PyJs_anonymous_281_(), Js({'chain':Js(False)})) + var.get('lodash').put('VERSION', var.get('VERSION')) + @Js + def PyJs_anonymous_283_(methodName, this, arguments, var=var): + var = Scope({'methodName':methodName, 'this':this, 'arguments':arguments}, var) + var.registers(['methodName']) + var.get('lodash').get(var.get('methodName')).put('placeholder', var.get('lodash')) + PyJs_anonymous_283_._set_name('anonymous') + var.get('arrayEach')(Js([Js('bind'), Js('bindKey'), Js('curry'), Js('curryRight'), Js('partial'), Js('partialRight')]), PyJs_anonymous_283_) + @Js + def PyJs_anonymous_284_(methodName, index, this, arguments, var=var): + var = Scope({'methodName':methodName, 'index':index, 'this':this, 'arguments':arguments}, var) + var.registers(['methodName', 'index']) + @Js + def PyJs_anonymous_285_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['result', 'n']) + var.put('n', (Js(1.0) if PyJsStrictEq(var.get('n'),var.get('undefined')) else var.get('nativeMax')(var.get('toInteger')(var.get('n')), Js(0.0)))) + var.put('result', (var.get('LazyWrapper').create(var.get(u"this")) if (var.get(u"this").get('__filtered__') and var.get('index').neg()) else var.get(u"this").callprop('clone'))) + if var.get('result').get('__filtered__'): + var.get('result').put('__takeCount__', var.get('nativeMin')(var.get('n'), var.get('result').get('__takeCount__'))) + else: + var.get('result').get('__views__').callprop('push', Js({'size':var.get('nativeMin')(var.get('n'), var.get('MAX_ARRAY_LENGTH')),'type':(var.get('methodName')+(Js('Right') if (var.get('result').get('__dir__')Js(0.0)) or (var.get('end')=Js(0.0)): + try: + var.get('stride').put(var.get('i'), var.get('size')) + var.put('size', var.get('shape').get(var.get('i')), '*') + var.put('pad', var.get('Math').callprop('max', var.get('pad'), var.get('fftm').callprop('scratchMemory', var.get('shape').get(var.get('i'))))) + if PyJsStrictNeq(var.get('x').get('shape').get(var.get('i')),var.get('y').get('shape').get(var.get('i'))): + PyJsTempException = JsToPyException(var.get('Error').create(Js('Shape mismatch, real and imaginary arrays must have same size'))) + raise PyJsTempException + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + var.put('buf_size', ((Js(4.0)*var.get('size'))+var.get('pad'))) + pass + if ((PyJsStrictEq(var.get('x').get('dtype'),Js('array')) or PyJsStrictEq(var.get('x').get('dtype'),Js('float64'))) or PyJsStrictEq(var.get('x').get('dtype'),Js('custom'))): + var.put('buffer', var.get('pool').callprop('mallocDouble', var.get('buf_size'))) + else: + var.put('buffer', var.get('pool').callprop('mallocFloat', var.get('buf_size'))) + var.put('x1', var.get('ndarray')(var.get('buffer'), var.get('shape').callprop('slice', Js(0.0)), var.get('stride'), Js(0.0))) + var.put('y1', var.get('ndarray')(var.get('buffer'), var.get('shape').callprop('slice', Js(0.0)), var.get('stride').callprop('slice', Js(0.0)), var.get('size'))) + var.put('x2', var.get('ndarray')(var.get('buffer'), var.get('shape').callprop('slice', Js(0.0)), var.get('stride').callprop('slice', Js(0.0)), (Js(2.0)*var.get('size')))) + var.put('y2', var.get('ndarray')(var.get('buffer'), var.get('shape').callprop('slice', Js(0.0)), var.get('stride').callprop('slice', Js(0.0)), (Js(3.0)*var.get('size')))) + var.put('scratch_ptr', (Js(4.0)*var.get('size'))) + var.get('ops').callprop('assign', var.get('x1'), var.get('x')) + var.get('ops').callprop('assign', var.get('y1'), var.get('y')) + #for JS loop + var.put('i', (var.get('d')-Js(1.0))) + while (var.get('i')>=Js(0.0)): + try: + var.get('fftm')(var.get('dir'), (var.get('size')/var.get('shape').get(var.get('i'))), var.get('shape').get(var.get('i')), var.get('buffer'), var.get('x1').get('offset'), var.get('y1').get('offset'), var.get('scratch_ptr')) + if PyJsStrictEq(var.get('i'),Js(0.0)): + break + var.put('n', Js(1.0)) + var.put('s1', var.get('x2').get('stride')) + var.put('s2', var.get('y2').get('stride')) + #for JS loop + var.put('j', (var.get('i')-Js(1.0))) + while (var.get('j')=Js(0.0)): + try: + var.get('s2').put(var.get('j'), var.get('s1').put(var.get('j'), var.get('n'))) + var.put('n', var.get('shape').get(var.get('j')), '*') + finally: + var.put('j',Js(var.get('j').to_number())-Js(1)) + var.get('ops').callprop('assign', var.get('x2'), var.get('x1')) + var.get('ops').callprop('assign', var.get('y2'), var.get('y1')) + var.put('tmp', var.get('x1')) + var.put('x1', var.get('x2')) + var.put('x2', var.get('tmp')) + var.put('tmp', var.get('y1')) + var.put('y1', var.get('y2')) + var.put('y2', var.get('tmp')) + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + var.get('ops').callprop('assign', var.get('x'), var.get('x1')) + var.get('ops').callprop('assign', var.get('y'), var.get('y1')) + var.get('pool').callprop('free', var.get('buffer')) + PyJsHoisted_ndfft_.func_name = 'ndfft' + var.put('ndfft', PyJsHoisted_ndfft_) + Js('use strict') + var.put('ops', var.get('require')(Js('ndarray-ops'))) + var.put('ndarray', var.get('require')(Js('ndarray'))) + var.put('pool', var.get('require')(Js('typedarray-pool'))) + var.put('fftm', var.get('require')(Js('./lib/fft-matrix.js'))) + pass + var.get('module').put('exports', var.get('ndfft')) + PyJs_anonymous_310_._set_name('anonymous') + @Js + def PyJs_anonymous_311_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['module', 'bits', 'fftRadix2', 'exports', 'fftBluestein', 'require', 'fft', 'scratchMemory']) + @Js + def PyJsHoisted_fft_(dir, nrows, ncols, buffer, x_ptr, y_ptr, scratch_ptr, this, arguments, var=var): + var = Scope({'dir':dir, 'nrows':nrows, 'ncols':ncols, 'buffer':buffer, 'x_ptr':x_ptr, 'y_ptr':y_ptr, 'scratch_ptr':scratch_ptr, 'this':this, 'arguments':arguments}, var) + var.registers(['y_ptr', 'dir', 'buffer', 'nrows', 'ncols', 'scratch_ptr', 'x_ptr']) + var.put('dir', Js(0.0), '|') + var.put('nrows', Js(0.0), '|') + var.put('ncols', Js(0.0), '|') + var.put('x_ptr', Js(0.0), '|') + var.put('y_ptr', Js(0.0), '|') + if var.get('bits').callprop('isPow2', var.get('ncols')): + var.get('fftRadix2')(var.get('dir'), var.get('nrows'), var.get('ncols'), var.get('buffer'), var.get('x_ptr'), var.get('y_ptr')) + else: + var.get('fftBluestein')(var.get('dir'), var.get('nrows'), var.get('ncols'), var.get('buffer'), var.get('x_ptr'), var.get('y_ptr'), var.get('scratch_ptr')) + PyJsHoisted_fft_.func_name = 'fft' + var.put('fft', PyJsHoisted_fft_) + @Js + def PyJsHoisted_scratchMemory_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['n']) + if var.get('bits').callprop('isPow2', var.get('n')): + return Js(0.0) + return ((Js(2.0)*var.get('n'))+(Js(4.0)*var.get('bits').callprop('nextPow2', ((Js(2.0)*var.get('n'))+Js(1.0))))) + PyJsHoisted_scratchMemory_.func_name = 'scratchMemory' + var.put('scratchMemory', PyJsHoisted_scratchMemory_) + @Js + def PyJsHoisted_fftRadix2_(dir, nrows, ncols, buffer, x_ptr, y_ptr, this, arguments, var=var): + var = Scope({'dir':dir, 'nrows':nrows, 'ncols':ncols, 'buffer':buffer, 'x_ptr':x_ptr, 'y_ptr':y_ptr, 'this':this, 'arguments':arguments}, var) + var.registers(['k3', 'a', 'x_ptr', 'l2', 'm', 't1', 'c', 'u2', 'buffer', 'k2', 't2', 'u1', 'k1', 'y_ptr', 'i', 'nn', 'b', 'c1', 'ncols', 'i2', 'j', 't', 'z', 'l', 'c2', 'scale_f', 'dir', 'row', 'nrows', 'k', 'd', 'i1', 'l1']) + var.put('dir', Js(0.0), '|') + var.put('nrows', Js(0.0), '|') + var.put('ncols', Js(0.0), '|') + var.put('x_ptr', Js(0.0), '|') + var.put('y_ptr', Js(0.0), '|') + pass + pass + var.put('nn', var.get('ncols')) + var.put('m', var.get('bits').callprop('log2', var.get('nn'))) + #for JS loop + var.put('row', Js(0.0)) + while (var.get('row')>Js(1.0))) + var.put('j', Js(0.0)) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')<(var.get('nn')-Js(1.0))): + try: + if (var.get('i')>') + var.put('j', var.get('k'), '+') + finally: + (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) + var.put('c1', (-Js(1.0))) + var.put('c2', Js(0.0)) + var.put('l2', Js(1.0)) + #for JS loop + var.put('l', Js(0.0)) + while (var.get('l')0;){'), Js('var w'), var.get('i'), Js('='), var.get('BLOCK_SIZE'), Js(';'), Js('if(i'), var.get('i'), Js('<'), var.get('BLOCK_SIZE'), Js('){'), Js('w'), var.get('i'), Js('=i'), var.get('i'), Js(';'), Js('i'), var.get('i'), Js('=0;'), Js('}else{'), Js('i'), var.get('i'), Js('-='), var.get('BLOCK_SIZE'), Js(';'), Js('}')) + PyJs_LONG_317_() + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + var.get('code').get('push').callprop('apply', var.get('code'), var.get('start')(var.get('oOrd'), Js('o'), var.get('oType'), Js('i0'), Js('i1'), Js('w1'))) + var.get('code').callprop('push', Js('for(i=0;i>'),'rrshift':Js('>>>')})) + @Js + def PyJs_anonymous_319_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['op', 'id']) + for PyJsTemp in var.get('assign_ops'): + var.put('id', PyJsTemp) + var.put('op', var.get('assign_ops').get(var.get('id'))) + var.get('exports').put(var.get('id'), var.get('makeOp')(Js({'args':Js([Js('array'), Js('array'), Js('array')]),'body':Js({'args':Js([Js('a'), Js('b'), Js('c')]),'body':((Js('a=b')+var.get('op'))+Js('c'))}),'funcName':var.get('id')}))) + var.get('exports').put((var.get('id')+Js('eq')), var.get('makeOp')(Js({'args':Js([Js('array'), Js('array')]),'body':Js({'args':Js([Js('a'), Js('b')]),'body':((Js('a')+var.get('op'))+Js('=b'))}),'rvalue':Js(True),'funcName':(var.get('id')+Js('eq'))}))) + var.get('exports').put((var.get('id')+Js('s')), var.get('makeOp')(Js({'args':Js([Js('array'), Js('array'), Js('scalar')]),'body':Js({'args':Js([Js('a'), Js('b'), Js('s')]),'body':((Js('a=b')+var.get('op'))+Js('s'))}),'funcName':(var.get('id')+Js('s'))}))) + var.get('exports').put((var.get('id')+Js('seq')), var.get('makeOp')(Js({'args':Js([Js('array'), Js('scalar')]),'body':Js({'args':Js([Js('a'), Js('s')]),'body':((Js('a')+var.get('op'))+Js('=s'))}),'rvalue':Js(True),'funcName':(var.get('id')+Js('seq'))}))) + PyJs_anonymous_319_._set_name('anonymous') + PyJs_anonymous_319_() + var.put('unary_ops', Js({'not':Js('!'),'bnot':Js('~'),'neg':Js('-'),'recip':Js('1.0/')})) + @Js + def PyJs_anonymous_320_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['op', 'id']) + for PyJsTemp in var.get('unary_ops'): + var.put('id', PyJsTemp) + var.put('op', var.get('unary_ops').get(var.get('id'))) + var.get('exports').put(var.get('id'), var.get('makeOp')(Js({'args':Js([Js('array'), Js('array')]),'body':Js({'args':Js([Js('a'), Js('b')]),'body':((Js('a=')+var.get('op'))+Js('b'))}),'funcName':var.get('id')}))) + var.get('exports').put((var.get('id')+Js('eq')), var.get('makeOp')(Js({'args':Js([Js('array')]),'body':Js({'args':Js([Js('a')]),'body':((Js('a=')+var.get('op'))+Js('a'))}),'rvalue':Js(True),'count':Js(2.0),'funcName':(var.get('id')+Js('eq'))}))) + PyJs_anonymous_320_._set_name('anonymous') + PyJs_anonymous_320_() + var.put('binary_ops', Js({'and':Js('&&'),'or':Js('||'),'eq':Js('==='),'neq':Js('!=='),'lt':Js('<'),'gt':Js('>'),'leq':Js('<='),'geq':Js('>=')})) + @Js + def PyJs_anonymous_321_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['op', 'id']) + for PyJsTemp in var.get('binary_ops'): + var.put('id', PyJsTemp) + var.put('op', var.get('binary_ops').get(var.get('id'))) + var.get('exports').put(var.get('id'), var.get('makeOp')(Js({'args':Js([Js('array'), Js('array'), Js('array')]),'body':Js({'args':Js([Js('a'), Js('b'), Js('c')]),'body':((Js('a=b')+var.get('op'))+Js('c'))}),'funcName':var.get('id')}))) + var.get('exports').put((var.get('id')+Js('s')), var.get('makeOp')(Js({'args':Js([Js('array'), Js('array'), Js('scalar')]),'body':Js({'args':Js([Js('a'), Js('b'), Js('s')]),'body':((Js('a=b')+var.get('op'))+Js('s'))}),'funcName':(var.get('id')+Js('s'))}))) + var.get('exports').put((var.get('id')+Js('eq')), var.get('makeOp')(Js({'args':Js([Js('array'), Js('array')]),'body':Js({'args':Js([Js('a'), Js('b')]),'body':((Js('a=a')+var.get('op'))+Js('b'))}),'rvalue':Js(True),'count':Js(2.0),'funcName':(var.get('id')+Js('eq'))}))) + var.get('exports').put((var.get('id')+Js('seq')), var.get('makeOp')(Js({'args':Js([Js('array'), Js('scalar')]),'body':Js({'args':Js([Js('a'), Js('s')]),'body':((Js('a=a')+var.get('op'))+Js('s'))}),'rvalue':Js(True),'count':Js(2.0),'funcName':(var.get('id')+Js('seq'))}))) + PyJs_anonymous_321_._set_name('anonymous') + PyJs_anonymous_321_() + var.put('math_unary', Js([Js('abs'), Js('acos'), Js('asin'), Js('atan'), Js('ceil'), Js('cos'), Js('exp'), Js('floor'), Js('log'), Js('round'), Js('sin'), Js('sqrt'), Js('tan')])) + @Js + def PyJs_anonymous_322_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['i', 'f']) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')this_s){this_s=-a}else if(a>this_s){this_s=a}'),'localVars':Js([]),'thisVars':Js([Js('this_s')])}),'post':Js({'args':Js([]),'localVars':Js([]),'thisVars':Js([Js('this_s')]),'body':Js('return this_s')}),'funcName':Js('norminf')})) + var.get('exports').put('norminf', PyJs_LONG_329_()) + def PyJs_LONG_330_(var=var): + return var.get('compile')(Js({'args':Js([Js('array')]),'pre':Js({'args':Js([]),'localVars':Js([]),'thisVars':Js([Js('this_s')]),'body':Js('this_s=0')}),'body':Js({'args':Js([Js({'name':Js('a'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(3.0)})]),'body':Js('this_s+=a<0?-a:a'),'localVars':Js([]),'thisVars':Js([Js('this_s')])}),'post':Js({'args':Js([]),'localVars':Js([]),'thisVars':Js([Js('this_s')]),'body':Js('return this_s')}),'funcName':Js('norm1')})) + var.get('exports').put('norm1', PyJs_LONG_330_()) + def PyJs_LONG_331_(var=var): + return var.get('compile')(Js({'args':Js([Js('array')]),'pre':Js({'body':Js('this_h=-Infinity'),'args':Js([]),'thisVars':Js([Js('this_h')]),'localVars':Js([])}),'body':Js({'body':Js('if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_'),'args':Js([Js({'name':Js('_inline_1_arg0_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)})]),'thisVars':Js([Js('this_h')]),'localVars':Js([])}),'post':Js({'body':Js('return this_h'),'args':Js([]),'thisVars':Js([Js('this_h')]),'localVars':Js([])})})) + var.get('exports').put('sup', PyJs_LONG_331_()) + def PyJs_LONG_332_(var=var): + return var.get('compile')(Js({'args':Js([Js('array')]),'pre':Js({'body':Js('this_h=Infinity'),'args':Js([]),'thisVars':Js([Js('this_h')]),'localVars':Js([])}),'body':Js({'body':Js('if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}'),'args':Js([Js({'name':Js('_inline_1_arg0_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)}), Js({'name':Js('_inline_1_arg1_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)})]),'thisVars':Js([Js('this_i'), Js('this_v')]),'localVars':Js([Js('_inline_1_k')])}),'post':Js({'body':Js('{return this_i}'),'args':Js([]),'thisVars':Js([Js('this_i')]),'localVars':Js([])})})) + var.get('exports').put('argmax', PyJs_LONG_334_()) + var.get('exports').put('random', var.get('makeOp')(Js({'args':Js([Js('array')]),'pre':Js({'args':Js([]),'body':Js('this_f=Math.random'),'thisVars':Js([Js('this_f')])}),'body':Js({'args':Js([Js('a')]),'body':Js('a=this_f()'),'thisVars':Js([Js('this_f')])}),'funcName':Js('random')}))) + var.get('exports').put('assign', var.get('makeOp')(Js({'args':Js([Js('array'), Js('array')]),'body':Js({'args':Js([Js('a'), Js('b')]),'body':Js('a=b')}),'funcName':Js('assign')}))) + var.get('exports').put('assigns', var.get('makeOp')(Js({'args':Js([Js('array'), Js('scalar')]),'body':Js({'args':Js([Js('a'), Js('b')]),'body':Js('a=b')}),'funcName':Js('assigns')}))) + def PyJs_LONG_335_(var=var): + return var.get('compile')(Js({'args':Js([Js('array'), Js('array')]),'pre':var.get('EmptyProc'),'body':Js({'args':Js([Js({'name':Js('x'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('y'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)})]),'body':Js('if(x!==y){return false}'),'localVars':Js([]),'thisVars':Js([])}),'post':Js({'args':Js([]),'localVars':Js([]),'thisVars':Js([]),'body':Js('return true')}),'funcName':Js('equals')})) + var.get('exports').put('equals', PyJs_LONG_335_()) + PyJs_anonymous_318_._set_name('anonymous') + @Js + def PyJs_anonymous_336_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['iota', 'isBuffer', 'CACHED_CONSTRUCTORS', 'module', 'arrayDType', 'exports', 'compare1st', 'require', 'compileConstructor', 'wrappedNDArrayCtor', 'order', 'hasTypedArrays']) + @Js + def PyJsHoisted_compare1st_(a, b, this, arguments, var=var): + var = Scope({'a':a, 'b':b, 'this':this, 'arguments':arguments}, var) + var.registers(['a', 'b']) + return (var.get('a').get('0')-var.get('b').get('0')) + PyJsHoisted_compare1st_.func_name = 'compare1st' + var.put('compare1st', PyJsHoisted_compare1st_) + @Js + def PyJsHoisted_order_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['stride', 'result', 'terms', 'i']) + var.put('stride', var.get(u"this").get('stride')) + var.put('terms', var.get('Array').create(var.get('stride').get('length'))) + pass + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Math.abs(this.stride[1]))?[1,0]:[0,1]}})')) + else: + if PyJsStrictEq(var.get('dimension'),Js(3.0)): + var.get('code').callprop('push', Js('var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})')) + else: + var.get('code').callprop('push', Js('ORDER})')) + var.get('code').callprop('push', ((((Js('proto.set=function ')+var.get('className'))+Js('_set('))+var.get('args').callprop('join', Js(',')))+Js(',v){'))) + if var.get('useGetters'): + var.get('code').callprop('push', ((Js('return this.data.set(')+var.get('index_str'))+Js(',v)}'))) + else: + var.get('code').callprop('push', ((Js('return this.data[')+var.get('index_str'))+Js(']=v}'))) + var.get('code').callprop('push', ((((Js('proto.get=function ')+var.get('className'))+Js('_get('))+var.get('args').callprop('join', Js(',')))+Js('){'))) + if var.get('useGetters'): + var.get('code').callprop('push', ((Js('return this.data.get(')+var.get('index_str'))+Js(')}'))) + else: + var.get('code').callprop('push', ((Js('return this.data[')+var.get('index_str'))+Js(']}'))) + var.get('code').callprop('push', ((Js('proto.index=function ')+var.get('className'))+Js('_index(')), var.get('args').callprop('join'), ((Js('){return ')+var.get('index_str'))+Js('}'))) + def PyJs_LONG_348_(var=var): + @Js + def PyJs_anonymous_346_(i, this, arguments, var=var): + var = Scope({'i':i, 'this':this, 'arguments':arguments}, var) + var.registers(['i']) + return Js([Js('(typeof i'), var.get('i'), Js("!=='number'||i"), var.get('i'), Js('<0)?this.shape['), var.get('i'), Js(']:i'), var.get('i'), Js('|0')]).callprop('join', Js('')) + PyJs_anonymous_346_._set_name('anonymous') + @Js + def PyJs_anonymous_347_(i, this, arguments, var=var): + var = Scope({'i':i, 'this':this, 'arguments':arguments}, var) + var.registers(['i']) + return ((Js('this.stride[')+var.get('i'))+Js(']')) + PyJs_anonymous_347_._set_name('anonymous') + return var.get('code').callprop('push', ((((((((((Js('proto.hi=function ')+var.get('className'))+Js('_hi('))+var.get('args').callprop('join', Js(',')))+Js('){return new '))+var.get('className'))+Js('(this.data,'))+var.get('indices').callprop('map', PyJs_anonymous_346_).callprop('join', Js(',')))+Js(','))+var.get('indices').callprop('map', PyJs_anonymous_347_).callprop('join', Js(',')))+Js(',this.offset)}'))) + PyJs_LONG_348_() + @Js + def PyJs_anonymous_349_(i, this, arguments, var=var): + var = Scope({'i':i, 'this':this, 'arguments':arguments}, var) + var.registers(['i']) + return ((((Js('a')+var.get('i'))+Js('=this.shape['))+var.get('i'))+Js(']')) + PyJs_anonymous_349_._set_name('anonymous') + var.put('a_vars', var.get('indices').callprop('map', PyJs_anonymous_349_)) + @Js + def PyJs_anonymous_350_(i, this, arguments, var=var): + var = Scope({'i':i, 'this':this, 'arguments':arguments}, var) + var.registers(['i']) + return ((((Js('c')+var.get('i'))+Js('=this.stride['))+var.get('i'))+Js(']')) + PyJs_anonymous_350_._set_name('anonymous') + var.put('c_vars', var.get('indices').callprop('map', PyJs_anonymous_350_)) + var.get('code').callprop('push', (((((((Js('proto.lo=function ')+var.get('className'))+Js('_lo('))+var.get('args').callprop('join', Js(',')))+Js('){var b=this.offset,d=0,'))+var.get('a_vars').callprop('join', Js(',')))+Js(','))+var.get('c_vars').callprop('join', Js(',')))) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')=0){d=i'))+var.get('i'))+Js('|0;b+=c'))+var.get('i'))+Js('*d;a'))+var.get('i'))+Js('-=d}'))) + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + @Js + def PyJs_anonymous_351_(i, this, arguments, var=var): + var = Scope({'i':i, 'this':this, 'arguments':arguments}, var) + var.registers(['i']) + return (Js('a')+var.get('i')) + PyJs_anonymous_351_._set_name('anonymous') + @Js + def PyJs_anonymous_352_(i, this, arguments, var=var): + var = Scope({'i':i, 'this':this, 'arguments':arguments}, var) + var.registers(['i']) + return (Js('c')+var.get('i')) + PyJs_anonymous_352_._set_name('anonymous') + var.get('code').callprop('push', ((((((Js('return new ')+var.get('className'))+Js('(this.data,'))+var.get('indices').callprop('map', PyJs_anonymous_351_).callprop('join', Js(',')))+Js(','))+var.get('indices').callprop('map', PyJs_anonymous_352_).callprop('join', Js(',')))+Js(',b)}'))) + @Js + def PyJs_anonymous_353_(i, this, arguments, var=var): + var = Scope({'i':i, 'this':this, 'arguments':arguments}, var) + var.registers(['i']) + return ((((Js('a')+var.get('i'))+Js('=this.shape['))+var.get('i'))+Js(']')) + PyJs_anonymous_353_._set_name('anonymous') + @Js + def PyJs_anonymous_354_(i, this, arguments, var=var): + var = Scope({'i':i, 'this':this, 'arguments':arguments}, var) + var.registers(['i']) + return ((((Js('b')+var.get('i'))+Js('=this.stride['))+var.get('i'))+Js(']')) + PyJs_anonymous_354_._set_name('anonymous') + var.get('code').callprop('push', ((((((((Js('proto.step=function ')+var.get('className'))+Js('_step('))+var.get('args').callprop('join', Js(',')))+Js('){var '))+var.get('indices').callprop('map', PyJs_anonymous_353_).callprop('join', Js(',')))+Js(','))+var.get('indices').callprop('map', PyJs_anonymous_354_).callprop('join', Js(',')))+Js(',c=this.offset,d=0,ceil=Math.ceil'))) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')=0){c=(c+this.stride['))+var.get('i'))+Js(']*i'))+var.get('i'))+Js(')|0}else{a.push(this.shape['))+var.get('i'))+Js(']);b.push(this.stride['))+var.get('i'))+Js('])}'))) + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + var.get('code').callprop('push', Js('var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}')) + @Js + def PyJs_anonymous_359_(i, this, arguments, var=var): + var = Scope({'i':i, 'this':this, 'arguments':arguments}, var) + var.registers(['i']) + return ((Js('shape[')+var.get('i'))+Js(']')) + PyJs_anonymous_359_._set_name('anonymous') + @Js + def PyJs_anonymous_360_(i, this, arguments, var=var): + var = Scope({'i':i, 'this':this, 'arguments':arguments}, var) + var.registers(['i']) + return ((Js('stride[')+var.get('i'))+Js(']')) + PyJs_anonymous_360_._set_name('anonymous') + var.get('code').callprop('push', ((((((((Js('return function construct_')+var.get('className'))+Js('(data,shape,stride,offset){return new '))+var.get('className'))+Js('(data,'))+var.get('indices').callprop('map', PyJs_anonymous_359_).callprop('join', Js(',')))+Js(','))+var.get('indices').callprop('map', PyJs_anonymous_360_).callprop('join', Js(',')))+Js(',offset)}'))) + var.put('procedure', var.get('Function').create(Js('CTOR_LIST'), Js('ORDER'), var.get('code').callprop('join', Js('\n')))) + return var.get('procedure')(var.get('CACHED_CONSTRUCTORS').get(var.get('dtype')), var.get('order')) + PyJsHoisted_compileConstructor_.func_name = 'compileConstructor' + var.put('compileConstructor', PyJsHoisted_compileConstructor_) + @Js + def PyJsHoisted_arrayDType_(data, this, arguments, var=var): + var = Scope({'data':data, 'this':this, 'arguments':arguments}, var) + var.registers(['data']) + if var.get('isBuffer')(var.get('data')): + return Js('buffer') + if var.get('hasTypedArrays'): + while 1: + SWITCHED = False + CONDITION = (var.get('Object').get('prototype').get('toString').callprop('call', var.get('data'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js('[object Float64Array]')): + SWITCHED = True + return Js('float64') + if SWITCHED or PyJsStrictEq(CONDITION, Js('[object Float32Array]')): + SWITCHED = True + return Js('float32') + if SWITCHED or PyJsStrictEq(CONDITION, Js('[object Int8Array]')): + SWITCHED = True + return Js('int8') + if SWITCHED or PyJsStrictEq(CONDITION, Js('[object Int16Array]')): + SWITCHED = True + return Js('int16') + if SWITCHED or PyJsStrictEq(CONDITION, Js('[object Int32Array]')): + SWITCHED = True + return Js('int32') + if SWITCHED or PyJsStrictEq(CONDITION, Js('[object Uint8Array]')): + SWITCHED = True + return Js('uint8') + if SWITCHED or PyJsStrictEq(CONDITION, Js('[object Uint16Array]')): + SWITCHED = True + return Js('uint16') + if SWITCHED or PyJsStrictEq(CONDITION, Js('[object Uint32Array]')): + SWITCHED = True + return Js('uint32') + if SWITCHED or PyJsStrictEq(CONDITION, Js('[object Uint8ClampedArray]')): + SWITCHED = True + return Js('uint8_clamped') + SWITCHED = True + break + if var.get('Array').callprop('isArray', var.get('data')): + return Js('array') + return Js('generic') + PyJsHoisted_arrayDType_.func_name = 'arrayDType' + var.put('arrayDType', PyJsHoisted_arrayDType_) + @Js + def PyJsHoisted_wrappedNDArrayCtor_(data, shape, stride, offset, this, arguments, var=var): + var = Scope({'data':data, 'shape':shape, 'stride':stride, 'offset':offset, 'this':this, 'arguments':arguments}, var) + var.registers(['ctor', 'i', 'ctor_list', 'shape', 'offset', 'd', 'dtype', 'data', 'stride', 'sz']) + if PyJsStrictEq(var.get('data'),var.get('undefined')): + var.put('ctor', var.get('CACHED_CONSTRUCTORS').get('array').get('0')) + return var.get('ctor')(Js([])) + else: + if PyJsStrictEq(var.get('data',throw=False).typeof(),Js('number')): + var.put('data', Js([var.get('data')])) + if PyJsStrictEq(var.get('shape'),var.get('undefined')): + var.put('shape', Js([var.get('data').get('length')])) + var.put('d', var.get('shape').get('length')) + if PyJsStrictEq(var.get('stride'),var.get('undefined')): + var.put('stride', var.get('Array').create(var.get('d'))) + #for JS loop + var.put('i', (var.get('d')-Js(1.0))) + var.put('sz', Js(1.0)) + while (var.get('i')>=Js(0.0)): + try: + var.get('stride').put(var.get('i'), var.get('sz')) + var.put('sz', var.get('shape').get(var.get('i')), '*') + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + if PyJsStrictEq(var.get('offset'),var.get('undefined')): + var.put('offset', Js(0.0)) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')>14}'),'args':Js([Js({'name':Js('_inline_37_arg0_'),'lvalue':Js(True),'rvalue':Js(False),'count':Js(1.0)}), Js({'name':Js('_inline_37_arg1_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_37_arg2_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_37_arg3_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)})]),'thisVars':Js([]),'localVars':Js([])}),'post':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'debug':Js(False),'funcName':Js('rgb2grayCwise'),'blockSize':Js(64.0)})) + var.put('doRgb2gray', PyJs_LONG_394_()) + @Js + def PyJs_rgb2gray_395_(img, this, arguments, var=var): + var = Scope({'img':img, 'this':this, 'arguments':arguments, 'rgb2gray':PyJs_rgb2gray_395_}, var) + var.registers(['img', 'b', 'oShape', 'r', 'h', 'k', 'g', 'w', 'iShape', 'out']) + if var.get('img').instanceof(var.get('NdArray')).neg(): + var.put('img', var.get('NdArray').create(var.get('img'))) + var.put('iShape', var.get('img').get('shape')) + var.put('h', var.get('iShape').get('0')) + var.put('w', var.get('iShape').get('1')) + var.put('k', (var.get('iShape').get('2') or Js(1.0))) + if PyJsStrictEq(var.get('k'),Js(1.0)): + return var.get('img') + var.put('oShape', Js([var.get('h'), var.get('w')])) + var.put('out', var.get('NdArray').create(var.get('Uint8Array').create(var.get('__').callprop('shapeSize', var.get('oShape'))), var.get('oShape'))) + var.put('r', var.get('img').get('selection').callprop('pick', var.get(u"null"), var.get(u"null"), Js(0.0))) + var.put('g', var.get('img').get('selection').callprop('pick', var.get(u"null"), var.get(u"null"), Js(1.0))) + var.put('b', var.get('img').get('selection').callprop('pick', var.get(u"null"), var.get(u"null"), Js(2.0))) + var.get('doRgb2gray')(var.get('out').get('selection'), var.get('r'), var.get('g'), var.get('b')) + return var.get('out') + PyJs_rgb2gray_395_._set_name('rgb2gray') + var.get('module').put('exports', PyJs_rgb2gray_395_) + PyJs_anonymous_393_._set_name('anonymous') + @Js + def PyJs_anonymous_396_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['module', 'exports', 'NdArray', 'doIntegrate', 'require', 'rgb2gray']) + Js('use strict') + var.put('NdArray', var.get('require')(Js('../ndarray'))) + var.put('rgb2gray', var.get('require')(Js('./rgb2gray'))) + def PyJs_LONG_397_(var=var): + return var.get('require')(Js('cwise/lib/wrapper'))(Js({'args':Js([Js('array'), Js('array'), Js('index'), Js({'offset':Js([(-Js(1.0)), (-Js(1.0))]),'array':Js(0.0)}), Js({'offset':Js([(-Js(1.0)), Js(0.0)]),'array':Js(0.0)}), Js({'offset':Js([Js(0.0), (-Js(1.0))]),'array':Js(0.0)})]),'pre':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'body':Js({'body':Js('{_inline_25_arg0_=0!==_inline_25_arg2_[0]&&0!==_inline_25_arg2_[1]?_inline_25_arg1_+_inline_25_arg4_+_inline_25_arg5_-_inline_25_arg3_:0===_inline_25_arg2_[0]&&0===_inline_25_arg2_[1]?_inline_25_arg1_:0===_inline_25_arg2_[0]?_inline_25_arg1_+_inline_25_arg5_:_inline_25_arg1_+_inline_25_arg4_}'),'args':Js([Js({'name':Js('_inline_25_arg0_'),'lvalue':Js(True),'rvalue':Js(False),'count':Js(1.0)}), Js({'name':Js('_inline_25_arg1_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(4.0)}), Js({'name':Js('_inline_25_arg2_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(5.0)}), Js({'name':Js('_inline_25_arg3_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_25_arg4_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)}), Js({'name':Js('_inline_25_arg5_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)})]),'thisVars':Js([]),'localVars':Js([])}),'post':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'debug':Js(False),'funcName':Js('doIntegrateBody'),'blockSize':Js(64.0)})) + var.put('doIntegrate', PyJs_LONG_397_()) + @Js + def PyJs_computeSumAreaTable_398_(img, this, arguments, var=var): + var = Scope({'img':img, 'this':this, 'arguments':arguments, 'computeSumAreaTable':PyJs_computeSumAreaTable_398_}, var) + var.registers(['img', 'iH', 'iShape', 'out', 'gray', 'iW']) + var.put('gray', var.get('rgb2gray')(var.get('img'))) + var.put('iShape', var.get('gray').get('shape')) + var.put('iH', var.get('iShape').get('0')) + var.put('iW', var.get('iShape').get('1')) + var.put('out', var.get('NdArray').create(var.get('Uint32Array').create((var.get('iH')*var.get('iW'))), Js([var.get('iH'), var.get('iW')]))) + var.get('doIntegrate')(var.get('out').get('selection'), var.get('gray').get('selection')) + return var.get('out') + PyJs_computeSumAreaTable_398_._set_name('computeSumAreaTable') + var.get('module').put('exports', PyJs_computeSumAreaTable_398_) + PyJs_anonymous_396_._set_name('anonymous') + @Js + def PyJs_anonymous_399_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['module', 'exports', '_', 'require', 'errors']) + Js('use strict') + var.put('_', var.get('require')(Js('./utils'))) + var.put('errors', var.get('require')(Js('../errors'))) + @Js + def PyJs_saveImageDom_400_(img, dest, this, arguments, var=var): + var = Scope({'img':img, 'dest':dest, 'this':this, 'arguments':arguments, 'saveImageDom':PyJs_saveImageDom_400_}, var) + var.registers(['$tmp', 'img', 'dest', 'originalImg', 'tmpCtx', 'iH', 'iShape', 'err', 'iW']) + var.put('iShape', var.get('img').get('shape')) + var.put('iH', var.get('iShape').get('0')) + var.put('iW', var.get('iShape').get('1')) + if var.get('dest').instanceof(var.get('HTMLCanvasElement')): + var.put('$tmp', var.get('document').callprop('createElement', Js('canvas'))) + var.get('$tmp').put('height', var.get('iH')) + var.get('$tmp').put('width', var.get('iW')) + var.put('tmpCtx', var.get('$tmp').callprop('getContext', Js('2d'))) + var.put('originalImg', var.get('tmpCtx').callprop('createImageData', var.get('iW'), var.get('iH'))) + var.put('err', var.get('_').callprop('setRawData', var.get('img').get('selection'), var.get('originalImg').get('data'))) + if var.get('err'): + PyJsTempException = JsToPyException(var.get('err')) + raise PyJsTempException + var.get('tmpCtx').callprop('putImageData', var.get('originalImg'), Js(0.0), Js(0.0)) + var.get('tmpCtx').callprop('drawImage', var.get('$tmp'), var.get('iW'), var.get('iH')) + var.get('dest').callprop('getContext', Js('2d')).callprop('drawImage', var.get('$tmp'), Js(0.0), Js(0.0), var.get('iW'), var.get('iH'), Js(0.0), Js(0.0), var.get('dest').get('width'), var.get('dest').get('height')) + else: + PyJsTempException = JsToPyException(var.get('errors').get('ValueError').create(Js('expect input to be either an HTML Canvas or a (loaded) Image'))) + raise PyJsTempException + PyJs_saveImageDom_400_._set_name('saveImageDom') + var.get('module').put('exports', PyJs_saveImageDom_400_) + PyJs_anonymous_399_._set_name('anonymous') + @Js + def PyJs_anonymous_401_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['doScharr', 'module', 'ops', 'exports', 'NdArray', '__', 'require', 'rgb2gray']) + Js('use strict') + var.put('ops', var.get('require')(Js('ndarray-ops'))) + var.put('NdArray', var.get('require')(Js('../ndarray'))) + var.put('__', var.get('require')(Js('../utils'))) + var.put('rgb2gray', var.get('require')(Js('./rgb2gray'))) + def PyJs_LONG_402_(var=var): + return var.get('require')(Js('cwise/lib/wrapper'))(Js({'args':Js([Js('array'), Js('array'), Js({'offset':Js([(-Js(1.0)), (-Js(1.0))]),'array':Js(1.0)}), Js({'offset':Js([(-Js(1.0)), Js(0.0)]),'array':Js(1.0)}), Js({'offset':Js([(-Js(1.0)), Js(1.0)]),'array':Js(1.0)}), Js({'offset':Js([Js(0.0), (-Js(1.0))]),'array':Js(1.0)}), Js({'offset':Js([Js(0.0), Js(1.0)]),'array':Js(1.0)}), Js({'offset':Js([Js(1.0), (-Js(1.0))]),'array':Js(1.0)}), Js({'offset':Js([Js(1.0), Js(0.0)]),'array':Js(1.0)}), Js({'offset':Js([Js(1.0), Js(1.0)]),'array':Js(1.0)})]),'pre':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'body':Js({'body':Js('{var _inline_34_q=3*_inline_34_arg2_+10*_inline_34_arg3_+3*_inline_34_arg4_-3*_inline_34_arg7_-10*_inline_34_arg8_-3*_inline_34_arg9_,_inline_34_s=3*_inline_34_arg2_-3*_inline_34_arg4_+10*_inline_34_arg5_-10*_inline_34_arg6_+3*_inline_34_arg7_-3*_inline_34_arg9_;_inline_34_arg0_=Math.sqrt(_inline_34_s*_inline_34_s+_inline_34_q*_inline_34_q)}'),'args':Js([Js({'name':Js('_inline_34_arg0_'),'lvalue':Js(True),'rvalue':Js(False),'count':Js(1.0)}), Js({'name':Js('_inline_34_arg1_'),'lvalue':Js(False),'rvalue':Js(False),'count':Js(0.0)}), Js({'name':Js('_inline_34_arg2_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)}), Js({'name':Js('_inline_34_arg3_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_34_arg4_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)}), Js({'name':Js('_inline_34_arg5_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_34_arg6_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_34_arg7_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)}), Js({'name':Js('_inline_34_arg8_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_34_arg9_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)})]),'thisVars':Js([]),'localVars':Js([Js('_inline_34_q'), Js('_inline_34_s')])}),'post':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'debug':Js(False),'funcName':Js('doSobelBody'),'blockSize':Js(64.0)})) + var.put('doScharr', PyJs_LONG_402_()) + @Js + def PyJs_computeScharr_403_(img, this, arguments, var=var): + var = Scope({'img':img, 'this':this, 'arguments':arguments, 'computeScharr':PyJs_computeScharr_403_}, var) + var.registers(['img', 'iH', 'iShape', 'out', 'gray', 'iW']) + var.put('gray', var.get('rgb2gray')(var.get('img'))) + var.put('iShape', var.get('gray').get('shape')) + var.put('iH', var.get('iShape').get('0')) + var.put('iW', var.get('iShape').get('1')) + var.put('out', var.get('NdArray').create(var.get('Float32Array').create(var.get('__').callprop('shapeSize', var.get('iShape'))), var.get('iShape'))) + var.get('doScharr')(var.get('out').get('selection'), var.get('gray').get('selection')) + var.get('ops').callprop('assigns', var.get('out').get('selection').callprop('pick', Js(0.0), var.get(u"null")), Js(0.0)) + var.get('ops').callprop('assigns', var.get('out').get('selection').callprop('pick', var.get(u"null"), Js(0.0)), Js(0.0)) + var.get('ops').callprop('assigns', var.get('out').get('selection').callprop('pick', (var.get('iH')-Js(1.0)), var.get(u"null")), Js(0.0)) + var.get('ops').callprop('assigns', var.get('out').get('selection').callprop('pick', var.get(u"null"), (var.get('iW')-Js(1.0))), Js(0.0)) + return var.get('out').callprop('divide', (Js(16.0)*var.get('Math').callprop('sqrt', Js(2.0))), Js(False)) + PyJs_computeScharr_403_._set_name('computeScharr') + var.get('module').put('exports', PyJs_computeScharr_403_) + PyJs_anonymous_401_._set_name('anonymous') + @Js + def PyJs_anonymous_404_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['module', 'ops', 'exports', 'doSobel', 'NdArray', '__', 'require', 'rgb2gray']) + Js('use strict') + var.put('ops', var.get('require')(Js('ndarray-ops'))) + var.put('NdArray', var.get('require')(Js('../ndarray'))) + var.put('__', var.get('require')(Js('../utils'))) + var.put('rgb2gray', var.get('require')(Js('./rgb2gray'))) + def PyJs_LONG_405_(var=var): + return var.get('require')(Js('cwise/lib/wrapper'))(Js({'args':Js([Js('array'), Js('array'), Js({'offset':Js([(-Js(1.0)), (-Js(1.0))]),'array':Js(1.0)}), Js({'offset':Js([(-Js(1.0)), Js(0.0)]),'array':Js(1.0)}), Js({'offset':Js([(-Js(1.0)), Js(1.0)]),'array':Js(1.0)}), Js({'offset':Js([Js(0.0), (-Js(1.0))]),'array':Js(1.0)}), Js({'offset':Js([Js(0.0), Js(1.0)]),'array':Js(1.0)}), Js({'offset':Js([Js(1.0), (-Js(1.0))]),'array':Js(1.0)}), Js({'offset':Js([Js(1.0), Js(0.0)]),'array':Js(1.0)}), Js({'offset':Js([Js(1.0), Js(1.0)]),'array':Js(1.0)})]),'pre':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'body':Js({'body':Js('{var _inline_31_q=_inline_31_arg2_+2*_inline_31_arg3_+_inline_31_arg4_-_inline_31_arg7_-2*_inline_31_arg8_-_inline_31_arg9_,_inline_31_s=_inline_31_arg2_-_inline_31_arg4_+2*_inline_31_arg5_-2*_inline_31_arg6_+_inline_31_arg7_-_inline_31_arg9_;_inline_31_arg0_=Math.sqrt(_inline_31_s*_inline_31_s+_inline_31_q*_inline_31_q)}'),'args':Js([Js({'name':Js('_inline_31_arg0_'),'lvalue':Js(True),'rvalue':Js(False),'count':Js(1.0)}), Js({'name':Js('_inline_31_arg1_'),'lvalue':Js(False),'rvalue':Js(False),'count':Js(0.0)}), Js({'name':Js('_inline_31_arg2_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)}), Js({'name':Js('_inline_31_arg3_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_31_arg4_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)}), Js({'name':Js('_inline_31_arg5_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_31_arg6_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_31_arg7_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)}), Js({'name':Js('_inline_31_arg8_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_31_arg9_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)})]),'thisVars':Js([]),'localVars':Js([Js('_inline_31_q'), Js('_inline_31_s')])}),'post':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'debug':Js(False),'funcName':Js('doSobelBody'),'blockSize':Js(64.0)})) + var.put('doSobel', PyJs_LONG_405_()) + @Js + def PyJs_computeSobel_406_(img, this, arguments, var=var): + var = Scope({'img':img, 'this':this, 'arguments':arguments, 'computeSobel':PyJs_computeSobel_406_}, var) + var.registers(['img', 'iH', 'iShape', 'out', 'gray', 'iW']) + var.put('gray', var.get('rgb2gray')(var.get('img'))) + var.put('iShape', var.get('gray').get('shape')) + var.put('iH', var.get('iShape').get('0')) + var.put('iW', var.get('iShape').get('1')) + var.put('out', var.get('NdArray').create(var.get('Float32Array').create(var.get('__').callprop('shapeSize', var.get('iShape'))), var.get('iShape'))) + var.get('doSobel')(var.get('out').get('selection'), var.get('gray').get('selection')) + var.get('ops').callprop('assigns', var.get('out').get('selection').callprop('pick', Js(0.0), var.get(u"null")), Js(0.0)) + var.get('ops').callprop('assigns', var.get('out').get('selection').callprop('pick', var.get(u"null"), Js(0.0)), Js(0.0)) + var.get('ops').callprop('assigns', var.get('out').get('selection').callprop('pick', (var.get('iH')-Js(1.0)), var.get(u"null")), Js(0.0)) + var.get('ops').callprop('assigns', var.get('out').get('selection').callprop('pick', var.get(u"null"), (var.get('iW')-Js(1.0))), Js(0.0)) + return var.get('out').callprop('divide', (Js(4.0)*var.get('Math').callprop('sqrt', Js(2.0))), Js(False)) + PyJs_computeSobel_406_._set_name('computeSobel') + var.get('module').put('exports', PyJs_computeSobel_406_) + PyJs_anonymous_404_._set_name('anonymous') + @Js + def PyJs_anonymous_407_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['module', 'exports', 'NdArray', 'doIntegrate', 'require', 'rgb2gray']) + Js('use strict') + var.put('NdArray', var.get('require')(Js('../ndarray'))) + var.put('rgb2gray', var.get('require')(Js('./rgb2gray'))) + def PyJs_LONG_408_(var=var): + return var.get('require')(Js('cwise/lib/wrapper'))(Js({'args':Js([Js('array'), Js('array'), Js('index'), Js({'offset':Js([(-Js(1.0)), (-Js(1.0))]),'array':Js(0.0)}), Js({'offset':Js([(-Js(1.0)), Js(0.0)]),'array':Js(0.0)}), Js({'offset':Js([Js(0.0), (-Js(1.0))]),'array':Js(0.0)})]),'pre':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'body':Js({'body':Js('{_inline_28_arg0_=0!==_inline_28_arg2_[0]&&0!==_inline_28_arg2_[1]?_inline_28_arg1_*_inline_28_arg1_+_inline_28_arg4_+_inline_28_arg5_-_inline_28_arg3_:0===_inline_28_arg2_[0]&&0===_inline_28_arg2_[1]?_inline_28_arg1_*_inline_28_arg1_:0===_inline_28_arg2_[0]?_inline_28_arg1_*_inline_28_arg1_+_inline_28_arg5_:_inline_28_arg1_*_inline_28_arg1_+_inline_28_arg4_}'),'args':Js([Js({'name':Js('_inline_28_arg0_'),'lvalue':Js(True),'rvalue':Js(False),'count':Js(1.0)}), Js({'name':Js('_inline_28_arg1_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(8.0)}), Js({'name':Js('_inline_28_arg2_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(5.0)}), Js({'name':Js('_inline_28_arg3_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_28_arg4_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)}), Js({'name':Js('_inline_28_arg5_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(2.0)})]),'thisVars':Js([]),'localVars':Js([])}),'post':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'debug':Js(False),'funcName':Js('doIntegrateBody'),'blockSize':Js(64.0)})) + var.put('doIntegrate', PyJs_LONG_408_()) + @Js + def PyJs_computeSquaredSumAreaTable_409_(img, this, arguments, var=var): + var = Scope({'img':img, 'this':this, 'arguments':arguments, 'computeSquaredSumAreaTable':PyJs_computeSquaredSumAreaTable_409_}, var) + var.registers(['img', 'iH', 'iShape', 'out', 'gray', 'iW']) + var.put('gray', var.get('rgb2gray')(var.get('img'))) + var.put('iShape', var.get('gray').get('shape')) + var.put('iH', var.get('iShape').get('0')) + var.put('iW', var.get('iShape').get('1')) + var.put('out', var.get('NdArray').create(var.get('Uint32Array').create((var.get('iH')*var.get('iW'))), Js([var.get('iH'), var.get('iW')]))) + var.get('doIntegrate')(var.get('out').get('selection'), var.get('gray').get('selection')) + return var.get('out') + PyJs_computeSquaredSumAreaTable_409_._set_name('computeSquaredSumAreaTable') + var.get('module').put('exports', PyJs_computeSquaredSumAreaTable_409_) + PyJs_anonymous_407_._set_name('anonymous') + @Js + def PyJs_anonymous_410_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['exports', 'require', 'module', 'NdArray']) + Js('use strict') + var.put('NdArray', var.get('require')(Js('../ndarray'))) + @Js + def PyJs_getRawData_411_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments, 'getRawData':PyJs_getRawData_411_}, var) + var.registers(['ptr', 'aShape', 'array', 'H', 'K', 'h', 'data', 'w', 'W']) + if var.get('array').instanceof(var.get('NdArray')): + var.put('array', var.get('array').get('selection')) + pass + pass + var.put('ptr', Js(0.0)) + var.put('aShape', var.get('array').get('shape')) + var.put('H', var.get('aShape').get('0')) + var.put('W', var.get('aShape').get('1')) + var.put('K', (var.get('aShape').get('2') or Js(1.0))) + var.put('data', var.get('Uint8Array').create(((var.get('H')*var.get('W'))*var.get('K')))) + if PyJsStrictEq(var.get('array').get('shape').get('length'),Js(3.0)): + if PyJsStrictEq(var.get('K'),Js(3.0)): + #for JS loop + var.put('h', Js(0.0)) + while (var.get('h')=Js(0.0))): + var.put('shape', Js([var.get('shape')])) + var.put('s', var.get('_').callprop('shapeSize', var.get('shape'))) + var.put('T', var.get('_').callprop('getType', var.get('dtype'))) + var.put('arr', var.get('NdArray').create(var.get('T').create(var.get('s')), var.get('shape'))) + if PyJsStrictEq(var.get('arr').get('dtype'),Js('array')): + var.get('ops').callprop('assigns', var.get('arr').get('selection'), Js(0.0)) + return var.get('arr') + PyJsHoisted_zeros_.func_name = 'zeros' + var.put('zeros', PyJsHoisted_zeros_) + @Js + def PyJsHoisted_ones_(shape, dtype, this, arguments, var=var): + var = Scope({'shape':shape, 'dtype':dtype, 'this':this, 'arguments':arguments}, var) + var.registers(['shape', 's', 'T', 'dtype', 'arr']) + if (var.get('_').callprop('isNumber', var.get('shape')) and (var.get('shape')>=Js(0.0))): + var.put('shape', Js([var.get('shape')])) + var.put('s', var.get('_').callprop('shapeSize', var.get('shape'))) + var.put('T', var.get('_').callprop('getType', var.get('dtype'))) + var.put('arr', var.get('NdArray').create(var.get('T').create(var.get('s')), var.get('shape'))) + var.get('ops').callprop('assigns', var.get('arr').get('selection'), Js(1.0)) + return var.get('arr') + PyJsHoisted_ones_.func_name = 'ones' + var.put('ones', PyJsHoisted_ones_) + @Js + def PyJsHoisted_empty_(shape, dtype, this, arguments, var=var): + var = Scope({'shape':shape, 'dtype':dtype, 'this':this, 'arguments':arguments}, var) + var.registers(['shape', 's', 'dtype', 'T']) + if (var.get('_').callprop('isNumber', var.get('shape')) and (var.get('shape')>=Js(0.0))): + var.put('shape', Js([var.get('shape')])) + var.put('s', var.get('_').callprop('shapeSize', var.get('shape'))) + var.put('T', var.get('_').callprop('getType', var.get('dtype'))) + return var.get('NdArray').create(var.get('T').create(var.get('s')), var.get('shape')) + PyJsHoisted_empty_.func_name = 'empty' + var.put('empty', PyJsHoisted_empty_) + @Js + def PyJsHoisted_random_(shape, this, arguments, var=var): + var = Scope({'shape':shape, 'this':this, 'arguments':arguments}, var) + var.registers(['shape', 's', 'arr']) + if PyJsStrictEq(var.get('arguments').get('length'),Js(0.0)): + return var.get('NdArray').callprop('new', var.get('Math').callprop('random')) + else: + if PyJsStrictEq(var.get('arguments').get('length'),Js(1.0)): + var.put('shape', (Js([(var.get('shape')|Js(0.0))]) if var.get('_').callprop('isNumber', var.get('shape')) else var.get('shape'))) + else: + var.put('shape', Js([]).get('slice').callprop('call', var.get('arguments'))) + var.put('s', var.get('_').callprop('shapeSize', var.get('shape'))) + var.put('arr', var.get('NdArray').create(var.get('Float64Array').create(var.get('s')), var.get('shape'))) + var.get('ops').callprop('random', var.get('arr').get('selection')) + return var.get('arr') + PyJsHoisted_random_.func_name = 'random' + var.put('random', PyJsHoisted_random_) + @Js + def PyJsHoisted_softmax_(x, this, arguments, var=var): + var = Scope({'x':x, 'this':this, 'arguments':arguments}, var) + var.registers(['e', 'se', 'x']) + var.put('e', var.get('NdArray').callprop('new', var.get('x')).callprop('exp')) + var.put('se', var.get('e').callprop('sum')) + var.get('ops').callprop('divseq', var.get('e').get('selection'), var.get('se')) + return var.get('e') + PyJsHoisted_softmax_.func_name = 'softmax' + var.put('softmax', PyJsHoisted_softmax_) + @Js + def PyJsHoisted_sigmoid_(x, t, this, arguments, var=var): + var = Scope({'x':x, 't':t, 'this':this, 'arguments':arguments}, var) + var.registers(['t', 'x']) + var.put('x', var.get('NdArray').callprop('new', var.get('x')).callprop('clone')) + var.put('t', (var.get('t') or Js(1.0))) + var.get('doSigmoid')(var.get('x').get('selection'), var.get('t')) + return var.get('x') + PyJsHoisted_sigmoid_.func_name = 'sigmoid' + var.put('sigmoid', PyJsHoisted_sigmoid_) + @Js + def PyJsHoisted_clip_(x, min, max, this, arguments, var=var): + var = Scope({'x':x, 'min':min, 'max':max, 'this':this, 'arguments':arguments}, var) + var.registers(['max', 's', 'x', 'min']) + if PyJsStrictEq(var.get('arguments').get('length'),Js(1.0)): + var.put('min', Js(0.0)) + var.put('max', Js(1.0)) + else: + if PyJsStrictEq(var.get('arguments').get('length'),Js(2.0)): + var.put('max', Js(1.0)) + var.put('s', (var.get('x').callprop('clone') if var.get('x').instanceof(var.get('NdArray')) else var.get('NdArray').callprop('new', var.get('x')))) + var.get('doClip')(var.get('s').get('selection'), var.get('min'), var.get('max')) + return var.get('s') + PyJsHoisted_clip_.func_name = 'clip' + var.put('clip', PyJsHoisted_clip_) + @Js + def PyJsHoisted_leakyRelu_(x, alpha, this, arguments, var=var): + var = Scope({'x':x, 'alpha':alpha, 'this':this, 'arguments':arguments}, var) + var.registers(['s', 'alpha', 'x']) + var.put('alpha', (var.get('alpha') or Js(0.001))) + var.put('s', (var.get('x').callprop('clone') if var.get('x').instanceof(var.get('NdArray')) else var.get('NdArray').callprop('new', var.get('x')))) + var.get('doLeakyRelu')(var.get('s').get('selection'), var.get('alpha')) + return var.get('s') + PyJsHoisted_leakyRelu_.func_name = 'leakyRelu' + var.put('leakyRelu', PyJsHoisted_leakyRelu_) + @Js + def PyJsHoisted_tanh_(x, this, arguments, var=var): + var = Scope({'x':x, 'this':this, 'arguments':arguments}, var) + var.registers(['s', 'x']) + var.put('s', (var.get('x').callprop('clone') if var.get('x').instanceof(var.get('NdArray')) else var.get('NdArray').callprop('new', var.get('x')))) + var.get('doTanh')(var.get('s').get('selection')) + return var.get('s') + PyJsHoisted_tanh_.func_name = 'tanh' + var.put('tanh', PyJsHoisted_tanh_) + @Js + def PyJsHoisted_abs_(x, this, arguments, var=var): + var = Scope({'x':x, 'this':this, 'arguments':arguments}, var) + var.registers(['s', 'x']) + var.put('s', (var.get('x').callprop('clone') if var.get('x').instanceof(var.get('NdArray')) else var.get('NdArray').callprop('new', var.get('x')))) + var.get('ops').callprop('abseq', var.get('s').get('selection')) + return var.get('s') + PyJsHoisted_abs_.func_name = 'abs' + var.put('abs', PyJsHoisted_abs_) + @Js + def PyJsHoisted_cos_(x, this, arguments, var=var): + var = Scope({'x':x, 'this':this, 'arguments':arguments}, var) + var.registers(['s', 'x']) + var.put('s', (var.get('x').callprop('clone') if var.get('x').instanceof(var.get('NdArray')) else var.get('NdArray').callprop('new', var.get('x')))) + var.get('ops').callprop('coseq', var.get('s').get('selection')) + return var.get('s') + PyJsHoisted_cos_.func_name = 'cos' + var.put('cos', PyJsHoisted_cos_) + @Js + def PyJsHoisted_arccos_(x, this, arguments, var=var): + var = Scope({'x':x, 'this':this, 'arguments':arguments}, var) + var.registers(['s', 'x']) + var.put('s', (var.get('x').callprop('clone') if var.get('x').instanceof(var.get('NdArray')) else var.get('NdArray').callprop('new', var.get('x')))) + var.get('ops').callprop('acoseq', var.get('s').get('selection')) + return var.get('s') + PyJsHoisted_arccos_.func_name = 'arccos' + var.put('arccos', PyJsHoisted_arccos_) + @Js + def PyJsHoisted_sin_(x, this, arguments, var=var): + var = Scope({'x':x, 'this':this, 'arguments':arguments}, var) + var.registers(['s', 'x']) + var.put('s', (var.get('x').callprop('clone') if var.get('x').instanceof(var.get('NdArray')) else var.get('NdArray').callprop('new', var.get('x')))) + var.get('ops').callprop('sineq', var.get('s').get('selection')) + return var.get('s') + PyJsHoisted_sin_.func_name = 'sin' + var.put('sin', PyJsHoisted_sin_) + @Js + def PyJsHoisted_arcsin_(x, this, arguments, var=var): + var = Scope({'x':x, 'this':this, 'arguments':arguments}, var) + var.registers(['s', 'x']) + var.put('s', (var.get('x').callprop('clone') if var.get('x').instanceof(var.get('NdArray')) else var.get('NdArray').callprop('new', var.get('x')))) + var.get('ops').callprop('asineq', var.get('s').get('selection')) + return var.get('s') + PyJsHoisted_arcsin_.func_name = 'arcsin' + var.put('arcsin', PyJsHoisted_arcsin_) + @Js + def PyJsHoisted_tan_(x, this, arguments, var=var): + var = Scope({'x':x, 'this':this, 'arguments':arguments}, var) + var.registers(['s', 'x']) + var.put('s', (var.get('x').callprop('clone') if var.get('x').instanceof(var.get('NdArray')) else var.get('NdArray').callprop('new', var.get('x')))) + var.get('ops').callprop('taneq', var.get('s').get('selection')) + return var.get('s') + PyJsHoisted_tan_.func_name = 'tan' + var.put('tan', PyJsHoisted_tan_) + @Js + def PyJsHoisted_arctan_(x, this, arguments, var=var): + var = Scope({'x':x, 'this':this, 'arguments':arguments}, var) + var.registers(['s', 'x']) + var.put('s', (var.get('x').callprop('clone') if var.get('x').instanceof(var.get('NdArray')) else var.get('NdArray').callprop('new', var.get('x')))) + var.get('ops').callprop('ataneq', var.get('s').get('selection')) + return var.get('s') + PyJsHoisted_arctan_.func_name = 'arctan' + var.put('arctan', PyJsHoisted_arctan_) + @Js + def PyJsHoisted_dot_(a, b, this, arguments, var=var): + var = Scope({'a':a, 'b':b, 'this':this, 'arguments':arguments}, var) + var.registers(['a', 'b']) + return var.get('NdArray').callprop('new', var.get('a')).callprop('dot', var.get('b')) + PyJsHoisted_dot_.func_name = 'dot' + var.put('dot', PyJsHoisted_dot_) + @Js + def PyJsHoisted_concatenate_(arrays, this, arguments, var=var): + var = Scope({'arrays':arrays, 'this':this, 'arguments':arguments}, var) + var.registers(['m', 'rowV', 'mShape', 'i', 'arrays', 'aShape', 'rowI', 'row', 'a', 'colI']) + if (var.get('arguments').get('length')>Js(1.0)): + var.put('arrays', Js([]).get('slice').callprop('call', var.get('arguments'))) + pass + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')30?1:1/(1+Math.exp(-1*_inline_1_arg1_*_inline_1_arg0_))}'),'args':Js([Js({'name':Js('_inline_1_arg0_'),'lvalue':Js(True),'rvalue':Js(True),'count':Js(4.0)}), Js({'name':Js('_inline_1_arg1_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)})]),'thisVars':Js([]),'localVars':Js([])}),'post':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'debug':Js(False),'funcName':Js('sigmoidCwise'),'blockSize':Js(64.0)})) + var.put('doSigmoid', PyJs_LONG_414_()) + pass + def PyJs_LONG_415_(var=var): + return var.get('require')(Js('cwise/lib/wrapper'))(Js({'args':Js([Js('array'), Js('scalar'), Js('scalar')]),'pre':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'body':Js({'body':Js('{_inline_4_arg0_=Math.min(Math.max(_inline_4_arg1_,_inline_4_arg0_),_inline_4_arg2_)}'),'args':Js([Js({'name':Js('_inline_4_arg0_'),'lvalue':Js(True),'rvalue':Js(True),'count':Js(2.0)}), Js({'name':Js('_inline_4_arg1_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_4_arg2_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)})]),'thisVars':Js([]),'localVars':Js([])}),'post':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'debug':Js(False),'funcName':Js('clipCwise'),'blockSize':Js(64.0)})) + var.put('doClip', PyJs_LONG_415_()) + pass + def PyJs_LONG_416_(var=var): + return var.get('require')(Js('cwise/lib/wrapper'))(Js({'args':Js([Js('array'), Js('scalar')]),'pre':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'body':Js({'body':Js('{_inline_7_arg0_=Math.max(_inline_7_arg1_*_inline_7_arg0_,_inline_7_arg0_)}'),'args':Js([Js({'name':Js('_inline_7_arg0_'),'lvalue':Js(True),'rvalue':Js(True),'count':Js(3.0)}), Js({'name':Js('_inline_7_arg1_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)})]),'thisVars':Js([]),'localVars':Js([])}),'post':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'debug':Js(False),'funcName':Js('leakyReluCwise'),'blockSize':Js(64.0)})) + var.put('doLeakyRelu', PyJs_LONG_416_()) + pass + def PyJs_LONG_417_(var=var): + return var.get('require')(Js('cwise/lib/wrapper'))(Js({'args':Js([Js('array')]),'pre':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'body':Js({'body':Js('{_inline_10_arg0_=(Math.exp(2*_inline_10_arg0_)-1)/(Math.exp(2*_inline_10_arg0_)+1)}'),'args':Js([Js({'name':Js('_inline_10_arg0_'),'lvalue':Js(True),'rvalue':Js(True),'count':Js(3.0)})]),'thisVars':Js([]),'localVars':Js([])}),'post':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'debug':Js(False),'funcName':Js('tanhCwise'),'blockSize':Js(64.0)})) + var.put('doTanh', PyJs_LONG_417_()) + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + pass + def PyJs_LONG_429_(var=var): + @Js + def PyJs_int8_421_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments, 'int8':PyJs_int8_421_}, var) + var.registers(['array']) + return var.get('NdArray').callprop('new', var.get('array'), Js('int8')) + PyJs_int8_421_._set_name('int8') + @Js + def PyJs_uint8_422_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments, 'uint8':PyJs_uint8_422_}, var) + var.registers(['array']) + return var.get('NdArray').callprop('new', var.get('array'), Js('uint8')) + PyJs_uint8_422_._set_name('uint8') + @Js + def PyJs_int16_423_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments, 'int16':PyJs_int16_423_}, var) + var.registers(['array']) + return var.get('NdArray').callprop('new', var.get('array'), Js('int16')) + PyJs_int16_423_._set_name('int16') + @Js + def PyJs_uint16_424_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments, 'uint16':PyJs_uint16_424_}, var) + var.registers(['array']) + return var.get('NdArray').callprop('new', var.get('array'), Js('uint16')) + PyJs_uint16_424_._set_name('uint16') + @Js + def PyJs_int32_425_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments, 'int32':PyJs_int32_425_}, var) + var.registers(['array']) + return var.get('NdArray').callprop('new', var.get('array'), Js('int32')) + PyJs_int32_425_._set_name('int32') + @Js + def PyJs_uint32_426_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments, 'uint32':PyJs_uint32_426_}, var) + var.registers(['array']) + return var.get('NdArray').callprop('new', var.get('array'), Js('uint32')) + PyJs_uint32_426_._set_name('uint32') + @Js + def PyJs_float32_427_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments, 'float32':PyJs_float32_427_}, var) + var.registers(['array']) + return var.get('NdArray').callprop('new', var.get('array'), Js('float32')) + PyJs_float32_427_._set_name('float32') + @Js + def PyJs_float64_428_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments, 'float64':PyJs_float64_428_}, var) + var.registers(['array']) + return var.get('NdArray').callprop('new', var.get('array'), Js('float64')) + PyJs_float64_428_._set_name('float64') + return var.get('module').put('exports', Js({'config':var.get('CONF'),'dtypes':var.get('DTYPES'),'NdArray':var.get('NdArray'),'ndarray':var.get('ndarray'),'array':var.get('NdArray').get('new'),'arange':var.get('arange'),'reshape':var.get('reshape'),'zeros':var.get('zeros'),'ones':var.get('ones'),'empty':var.get('empty'),'flatten':var.get('flatten'),'flip':var.get('flip'),'random':var.get('random'),'softmax':var.get('softmax'),'sigmoid':var.get('sigmoid'),'leakyRelu':var.get('leakyRelu'),'abs':var.get('abs'),'arccos':var.get('arccos'),'arcsin':var.get('arcsin'),'arctan':var.get('arctan'),'cos':var.get('cos'),'sin':var.get('sin'),'tan':var.get('tan'),'tanh':var.get('tanh'),'clip':var.get('clip'),'exp':var.get('exp'),'log':var.get('log'),'sqrt':var.get('sqrt'),'power':var.get('power'),'sum':var.get('sum'),'mean':var.get('mean'),'std':var.get('std'),'dot':var.get('dot'),'add':var.get('add'),'subtract':var.get('subtract'),'multiply':var.get('multiply'),'divide':var.get('divide'),'negative':var.get('negative'),'equal':var.get('equal'),'max':var.get('max'),'min':var.get('min'),'mod':var.get('mod'),'remainder':var.get('mod'),'concatenate':var.get('concatenate'),'transpose':var.get('transpose'),'errors':var.get('errors'),'broadcast':var.get('broadcast'),'round':var.get('round'),'convolve':var.get('convolve'),'fftconvolve':var.get('fftconvolve'),'fft':var.get('fft'),'ifft':var.get('ifft'),'diag':var.get('diag'),'identity':var.get('identity'),'stack':var.get('stack'),'rot90':var.get('rot90'),'int8':PyJs_int8_421_,'uint8':PyJs_uint8_422_,'int16':PyJs_int16_423_,'uint16':PyJs_uint16_424_,'int32':PyJs_int32_425_,'uint32':PyJs_uint32_426_,'float32':PyJs_float32_427_,'float64':PyJs_float64_428_,'images':var.get('require')(Js('./images'))})) + PyJs_LONG_429_() + PyJs_anonymous_413_._set_name('anonymous') + @Js + def PyJs_anonymous_430_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['doUnpack', 'NdArray', 'CONF', 'doConvolve5x5', 'createArray', 'errors', 'ndFFT', 'doConvolve3x3', 'exports', 'gemm', 'require', 'ndPool', 'initNativeArray', 'formatNumber', 'unpackArray', 'module', 'ops', '_', 'ndarray', 'doConjMuleq']) + @Js + def PyJsHoisted_createArray_(arr, dtype, this, arguments, var=var): + var = Scope({'arr':arr, 'dtype':dtype, 'this':this, 'arguments':arguments}, var) + var.registers(['shape', 'arr', 'dtype', 'T']) + if var.get('arr').instanceof(var.get('NdArray')): + return var.get('arr') + var.put('T', var.get('_').callprop('getType', var.get('dtype'))) + if var.get('_').callprop('isNumber', var.get('arr')): + if PyJsStrictNeq(var.get('T'),var.get('Array')): + return var.get('NdArray').create(var.get('T').create(Js([var.get('arr')])), Js([Js(1.0)])) + else: + return var.get('NdArray').create(Js([var.get('arr')]), Js([Js(1.0)])) + var.put('shape', var.get('_').callprop('getShape', var.get('arr'))) + if (var.get('shape').get('length')>Js(1.0)): + var.put('arr', var.get('_').callprop('flatten', var.get('arr'), Js(True))) + if var.get('arr').instanceof(var.get('T')).neg(): + var.put('arr', var.get('T').create(var.get('arr'))) + return var.get('NdArray').create(var.get('arr'), var.get('shape')) + PyJsHoisted_createArray_.func_name = 'createArray' + var.put('createArray', PyJsHoisted_createArray_) + @Js + def PyJsHoisted_initNativeArray_(shape, i, this, arguments, var=var): + var = Scope({'shape':shape, 'i':i, 'this':this, 'arguments':arguments}, var) + var.registers(['shape', 'i', 'c', 'result', 'j']) + var.put('i', (var.get('i') or Js(0.0))) + var.put('c', (var.get('shape').get(var.get('i'))|Js(0.0))) + if (var.get('c')<=Js(0.0)): + return Js([]) + var.put('result', var.get('Array').create(var.get('c'))) + pass + if PyJsStrictEq(var.get('i'),(var.get('shape').get('length')-Js(1.0))): + #for JS loop + var.put('j', Js(0.0)) + while (var.get('j')Js(1.0)): + var.put('shape', Js([]).get('slice').callprop('call', var.get('arguments'))) + @Js + def PyJs_anonymous_447_(s, this, arguments, var=var): + var = Scope({'s':s, 'this':this, 'arguments':arguments}, var) + var.registers(['s']) + return PyJsStrictEq(var.get('s'),(-Js(1.0))) + PyJs_anonymous_447_._set_name('anonymous') + if (var.get('shape').callprop('filter', PyJs_anonymous_447_).get('length')>Js(1.0)): + PyJsTempException = JsToPyException(var.get('errors').get('ValueError').create(Js('can only specify one unknown dimension'))) + raise PyJsTempException + var.put('currentShapeSize', var.get('_').callprop('shapeSize', var.get('shape'))) + @Js + def PyJs_anonymous_448_(s, this, arguments, var=var): + var = Scope({'s':s, 'this':this, 'arguments':arguments}, var) + var.registers(['s']) + return ((((-Js(1.0))*var.get(u"this").get('size'))/var.get('currentShapeSize')) if PyJsStrictEq(var.get('s'),(-Js(1.0))) else var.get('s')) + PyJs_anonymous_448_._set_name('anonymous') + var.put('shape', var.get('shape').callprop('map', PyJs_anonymous_448_.callprop('bind', var.get(u"this")))) + if PyJsStrictNeq(var.get(u"this").get('size'),var.get('_').callprop('shapeSize', var.get('shape'))): + PyJsTempException = JsToPyException(var.get('errors').get('ValueError').create(Js('total size of new array must be unchanged'))) + raise PyJsTempException + var.put('selfShape', var.get(u"this").get('selection').get('shape')) + var.put('selfOffset', var.get(u"this").get('selection').get('offset')) + var.put('selfStride', var.get(u"this").get('selection').get('stride')) + var.put('selfDim', var.get('selfShape').get('length')) + var.put('d', var.get('shape').get('length')) + pass + pass + pass + pass + if PyJsStrictEq(var.get('selfDim'),var.get('d')): + var.put('sameShapes', Js(True)) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')=Js(0.0)): + try: + var.get('stride').put(var.get('i'), var.get('sz')) + var.put('sz', var.get('shape').get(var.get('i')), '*') + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + var.put('offset', var.get('selfOffset')) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(1.0)): + var.put('axes', var.get('arguments')) + return var.get('NdArray').create(var.get(u"this").get('selection').get('transpose').callprop('apply', var.get(u"this").get('selection'), var.get('axes'))) + PyJs_anonymous_449_._set_name('anonymous') + var.get('NdArray').get('prototype').put('transpose', PyJs_anonymous_449_) + @Js + def PyJs_anonymous_450_(x, this, arguments, var=var): + var = Scope({'x':x, 'this':this, 'arguments':arguments}, var) + var.registers(['xShape', 'c', 'tShape', 'T', 'x']) + var.put('x', (var.get('x') if var.get('x').instanceof(var.get('NdArray')) else var.get('createArray')(var.get('x'), var.get(u"this").get('dtype')))) + var.put('tShape', var.get(u"this").get('shape')) + var.put('xShape', var.get('x').get('shape')) + if ((PyJsStrictEq(var.get('tShape').get('length'),Js(2.0)) and PyJsStrictEq(var.get('xShape').get('length'),Js(2.0))) and PyJsStrictEq(var.get('tShape').get('1'),var.get('xShape').get('0'))): + var.put('T', var.get('_').callprop('getType', var.get(u"this").get('dtype'))) + var.put('c', var.get('NdArray').create(var.get('T').create((var.get('tShape').get('0')*var.get('xShape').get('1'))), Js([var.get('tShape').get('0'), var.get('xShape').get('1')]))) + var.get('gemm')(var.get('c').get('selection'), var.get(u"this").get('selection'), var.get('x').get('selection')) + return var.get('c') + else: + if ((PyJsStrictEq(var.get('tShape').get('length'),Js(1.0)) and PyJsStrictEq(var.get('xShape').get('length'),Js(2.0))) and PyJsStrictEq(var.get('tShape').get('0'),var.get('xShape').get('0'))): + return var.get(u"this").callprop('reshape', Js([var.get('tShape').get('0'), Js(1.0)])).get('T').callprop('dot', var.get('x')).callprop('reshape', var.get('xShape').get('1')) + else: + if ((PyJsStrictEq(var.get('tShape').get('length'),Js(2.0)) and PyJsStrictEq(var.get('xShape').get('length'),Js(1.0))) and PyJsStrictEq(var.get('tShape').get('1'),var.get('xShape').get('0'))): + return var.get(u"this").callprop('dot', var.get('x').callprop('reshape', Js([var.get('xShape').get('0'), Js(1.0)]))).callprop('reshape', var.get('tShape').get('0')) + else: + if ((PyJsStrictEq(var.get('tShape').get('length'),Js(1.0)) and PyJsStrictEq(var.get('xShape').get('length'),Js(1.0))) and PyJsStrictEq(var.get('tShape').get('0'),var.get('xShape').get('0'))): + return var.get(u"this").callprop('reshape', Js([var.get('tShape').get('0'), Js(1.0)])).get('T').callprop('dot', var.get('x').callprop('reshape', Js([var.get('xShape').get('0'), Js(1.0)]))).callprop('reshape', Js([Js(1.0)])) + else: + PyJsTempException = JsToPyException(var.get('errors').get('ValueError').create(Js('cannot compute the matrix product of given arrays'))) + raise PyJsTempException + PyJs_anonymous_450_._set_name('anonymous') + var.get('NdArray').get('prototype').put('dot', PyJs_anonymous_450_) + @Js + def PyJs_anonymous_451_(x, copy, this, arguments, var=var): + var = Scope({'x':x, 'copy':copy, 'this':this, 'arguments':arguments}, var) + var.registers(['arr', 'copy', 'x']) + if PyJsStrictEq(var.get('arguments').get('length'),Js(1.0)): + var.put('copy', Js(True)) + var.put('arr', (var.get(u"this").callprop('clone') if var.get('copy') else var.get(u"this"))) + if var.get('_').callprop('isNumber', var.get('x')): + var.get('ops').callprop('assigns', var.get('arr').get('selection'), var.get('x')) + return var.get('arr') + var.put('x', var.get('createArray')(var.get('x'), var.get(u"this").get('dtype'))) + var.get('ops').callprop('assign', var.get('arr').get('selection'), var.get('x').get('selection')) + return var.get('arr') + PyJs_anonymous_451_._set_name('anonymous') + var.get('NdArray').get('prototype').put('assign', PyJs_anonymous_451_) + @Js + def PyJs_anonymous_452_(x, copy, this, arguments, var=var): + var = Scope({'x':x, 'copy':copy, 'this':this, 'arguments':arguments}, var) + var.registers(['arr', 'copy', 'x']) + if PyJsStrictEq(var.get('arguments').get('length'),Js(1.0)): + var.put('copy', Js(True)) + var.put('arr', (var.get(u"this").callprop('clone') if var.get('copy') else var.get(u"this"))) + if var.get('_').callprop('isNumber', var.get('x')): + var.get('ops').callprop('addseq', var.get('arr').get('selection'), var.get('x')) + return var.get('arr') + var.put('x', var.get('createArray')(var.get('x'), var.get(u"this").get('dtype'))) + var.get('ops').callprop('addeq', var.get('arr').get('selection'), var.get('x').get('selection')) + return var.get('arr') + PyJs_anonymous_452_._set_name('anonymous') + var.get('NdArray').get('prototype').put('add', PyJs_anonymous_452_) + @Js + def PyJs_anonymous_453_(x, copy, this, arguments, var=var): + var = Scope({'x':x, 'copy':copy, 'this':this, 'arguments':arguments}, var) + var.registers(['arr', 'copy', 'x']) + if PyJsStrictEq(var.get('arguments').get('length'),Js(1.0)): + var.put('copy', Js(True)) + var.put('arr', (var.get(u"this").callprop('clone') if var.get('copy') else var.get(u"this"))) + if var.get('_').callprop('isNumber', var.get('x')): + var.get('ops').callprop('subseq', var.get('arr').get('selection'), var.get('x')) + return var.get('arr') + var.put('x', var.get('createArray')(var.get('x'), var.get(u"this").get('dtype'))) + var.get('ops').callprop('subeq', var.get('arr').get('selection'), var.get('x').get('selection')) + return var.get('arr') + PyJs_anonymous_453_._set_name('anonymous') + var.get('NdArray').get('prototype').put('subtract', PyJs_anonymous_453_) + @Js + def PyJs_anonymous_454_(x, copy, this, arguments, var=var): + var = Scope({'x':x, 'copy':copy, 'this':this, 'arguments':arguments}, var) + var.registers(['arr', 'copy', 'x']) + if PyJsStrictEq(var.get('arguments').get('length'),Js(1.0)): + var.put('copy', Js(True)) + var.put('arr', (var.get(u"this").callprop('clone') if var.get('copy') else var.get(u"this"))) + if var.get('_').callprop('isNumber', var.get('x')): + var.get('ops').callprop('mulseq', var.get('arr').get('selection'), var.get('x')) + return var.get('arr') + var.put('x', var.get('createArray')(var.get('x'), var.get(u"this").get('dtype'))) + var.get('ops').callprop('muleq', var.get('arr').get('selection'), var.get('x').get('selection')) + return var.get('arr') + PyJs_anonymous_454_._set_name('anonymous') + var.get('NdArray').get('prototype').put('multiply', PyJs_anonymous_454_) + @Js + def PyJs_anonymous_455_(x, copy, this, arguments, var=var): + var = Scope({'x':x, 'copy':copy, 'this':this, 'arguments':arguments}, var) + var.registers(['arr', 'copy', 'x']) + if PyJsStrictEq(var.get('arguments').get('length'),Js(1.0)): + var.put('copy', Js(True)) + var.put('arr', (var.get(u"this").callprop('clone') if var.get('copy') else var.get(u"this"))) + if var.get('_').callprop('isNumber', var.get('x')): + var.get('ops').callprop('divseq', var.get('arr').get('selection'), var.get('x')) + return var.get('arr') + var.put('x', var.get('createArray')(var.get('x'), var.get(u"this").get('dtype'))) + var.get('ops').callprop('diveq', var.get('arr').get('selection'), var.get('x').get('selection')) + return var.get('arr') + PyJs_anonymous_455_._set_name('anonymous') + var.get('NdArray').get('prototype').put('divide', PyJs_anonymous_455_) + @Js + def PyJs_anonymous_456_(x, copy, this, arguments, var=var): + var = Scope({'x':x, 'copy':copy, 'this':this, 'arguments':arguments}, var) + var.registers(['arr', 'copy', 'x']) + if PyJsStrictEq(var.get('arguments').get('length'),Js(1.0)): + var.put('copy', Js(True)) + var.put('arr', (var.get(u"this").callprop('clone') if var.get('copy') else var.get(u"this"))) + if var.get('_').callprop('isNumber', var.get('x')): + var.get('ops').callprop('powseq', var.get('arr').get('selection'), var.get('x')) + return var.get('arr') + var.put('x', var.get('createArray')(var.get('x'), var.get(u"this").get('dtype'))) + var.get('ops').callprop('poweq', var.get('arr').get('selection'), var.get('x').get('selection')) + return var.get('arr') + PyJs_anonymous_456_._set_name('anonymous') + var.get('NdArray').get('prototype').put('pow', PyJs_anonymous_456_) + @Js + def PyJs_anonymous_457_(copy, this, arguments, var=var): + var = Scope({'copy':copy, 'this':this, 'arguments':arguments}, var) + var.registers(['arr', 'copy']) + if PyJsStrictEq(var.get('arguments').get('length'),Js(0.0)): + var.put('copy', Js(True)) + var.put('arr', (var.get(u"this").callprop('clone') if var.get('copy') else var.get(u"this"))) + var.get('ops').callprop('expeq', var.get('arr').get('selection')) + return var.get('arr') + PyJs_anonymous_457_._set_name('anonymous') + var.get('NdArray').get('prototype').put('exp', PyJs_anonymous_457_) + @Js + def PyJs_anonymous_458_(copy, this, arguments, var=var): + var = Scope({'copy':copy, 'this':this, 'arguments':arguments}, var) + var.registers(['arr', 'copy']) + if PyJsStrictEq(var.get('arguments').get('length'),Js(0.0)): + var.put('copy', Js(True)) + var.put('arr', (var.get(u"this").callprop('clone') if var.get('copy') else var.get(u"this"))) + var.get('ops').callprop('logeq', var.get('arr').get('selection')) + return var.get('arr') + PyJs_anonymous_458_._set_name('anonymous') + var.get('NdArray').get('prototype').put('log', PyJs_anonymous_458_) + @Js + def PyJs_anonymous_459_(copy, this, arguments, var=var): + var = Scope({'copy':copy, 'this':this, 'arguments':arguments}, var) + var.registers(['arr', 'copy']) + if PyJsStrictEq(var.get('arguments').get('length'),Js(0.0)): + var.put('copy', Js(True)) + var.put('arr', (var.get(u"this").callprop('clone') if var.get('copy') else var.get(u"this"))) + var.get('ops').callprop('sqrteq', var.get('arr').get('selection')) + return var.get('arr') + PyJs_anonymous_459_._set_name('anonymous') + var.get('NdArray').get('prototype').put('sqrt', PyJs_anonymous_459_) + @Js + def PyJs_anonymous_460_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + if PyJsStrictEq(var.get(u"this").get('selection').get('size'),Js(0.0)): + return var.get(u"null") + return var.get('ops').callprop('sup', var.get(u"this").get('selection')) + PyJs_anonymous_460_._set_name('anonymous') + var.get('NdArray').get('prototype').put('max', PyJs_anonymous_460_) + @Js + def PyJs_anonymous_461_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + if PyJsStrictEq(var.get(u"this").get('selection').get('size'),Js(0.0)): + return var.get(u"null") + return var.get('ops').callprop('inf', var.get(u"this").get('selection')) + PyJs_anonymous_461_._set_name('anonymous') + var.get('NdArray').get('prototype').put('min', PyJs_anonymous_461_) + @Js + def PyJs_anonymous_462_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return var.get('ops').callprop('sum', var.get(u"this").get('selection')) + PyJs_anonymous_462_._set_name('anonymous') + var.get('NdArray').get('prototype').put('sum', PyJs_anonymous_462_) + @Js + def PyJs_anonymous_463_(options, this, arguments, var=var): + var = Scope({'options':options, 'this':this, 'arguments':arguments}, var) + var.registers(['mean', 'squares', 'shapeSize', 'options', 'variance']) + var.put('options', var.get('_').callprop('defaults', var.get('options'), Js({'ddof':Js(0.0)}))) + var.put('squares', var.get(u"this").callprop('clone')) + var.get('ops').callprop('powseq', var.get('squares').get('selection'), Js(2.0)) + var.put('mean', var.get(u"this").callprop('mean')) + var.put('shapeSize', var.get('_').callprop('shapeSize', var.get(u"this").get('shape'))) + var.put('variance', ((var.get('ops').callprop('sum', var.get('squares').get('selection'))/(var.get('shapeSize')-var.get('options').get('ddof')))-(((var.get('mean')*var.get('mean'))*var.get('shapeSize'))/(var.get('shapeSize')-var.get('options').get('ddof'))))) + return (var.get('Math').callprop('sqrt', var.get('Math').callprop('abs', var.get('variance'))) if (var.get('variance')>Js(0.0)) else Js(0.0)) + PyJs_anonymous_463_._set_name('anonymous') + var.get('NdArray').get('prototype').put('std', PyJs_anonymous_463_) + @Js + def PyJs_anonymous_464_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return (var.get('ops').callprop('sum', var.get(u"this").get('selection'))/var.get('_').callprop('shapeSize', var.get(u"this").get('shape'))) + PyJs_anonymous_464_._set_name('anonymous') + var.get('NdArray').get('prototype').put('mean', PyJs_anonymous_464_) + @Js + def PyJs_anonymous_465_(x, copy, this, arguments, var=var): + var = Scope({'x':x, 'copy':copy, 'this':this, 'arguments':arguments}, var) + var.registers(['arr', 'copy', 'x']) + if PyJsStrictEq(var.get('arguments').get('length'),Js(1.0)): + var.put('copy', Js(True)) + var.put('arr', (var.get(u"this").callprop('clone') if var.get('copy') else var.get(u"this"))) + if var.get('_').callprop('isNumber', var.get('x')): + var.get('ops').callprop('modseq', var.get('arr').get('selection'), var.get('x')) + return var.get('arr') + var.put('x', var.get('createArray')(var.get('x'), var.get(u"this").get('dtype'))) + var.get('ops').callprop('modeq', var.get('arr').get('selection'), var.get('x').get('selection')) + return var.get('arr') + PyJs_anonymous_465_._set_name('anonymous') + var.get('NdArray').get('prototype').put('mod', PyJs_anonymous_465_) + @Js + def PyJs_anonymous_466_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return var.get('unpackArray')(var.get(u"this").get('selection')) + PyJs_anonymous_466_._set_name('anonymous') + var.get('NdArray').get('prototype').put('tolist', PyJs_anonymous_466_) + @Js + def PyJs_anonymous_467_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return var.get(u"this").callprop('tolist') + PyJs_anonymous_467_._set_name('anonymous') + var.get('NdArray').get('prototype').put('valueOf', PyJs_anonymous_467_) + @Js + def PyJs_anonymous_468_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['spacer1', 'spacer3', 'reg1', 'base', 'reg3', 'spacer2', 'nChars', 'reg2', 'formatArray']) + @Js + def PyJsHoisted_formatArray_(k, v, this, arguments, var=var): + var = Scope({'k':k, 'v':v, 'this':this, 'arguments':arguments}, var) + var.registers(['s', 'hth', 'v', 'k', 'th', 'arr']) + if var.get('_').callprop('isString', var.get('v')): + return var.get('v') + if var.get('_').callprop('isNumber', var.get('v')): + var.put('s', var.get('formatNumber')(var.get('v'))) + return (var.get('Array').create(var.get('Math').callprop('max', Js(0.0), ((var.get('nChars')-var.get('s').get('length'))+Js(2.0)))).callprop('join', Js(' '))+var.get('s')) + var.put('k', (var.get('k') or Js(0.0))) + pass + var.put('th', var.get('CONF').get('printThreshold')) + var.put('hth', ((var.get('th')/Js(2.0))|Js(0.0))) + if (var.get('v').get('length')>var.get('th')): + var.put('arr', Js([]).callprop('concat', var.get('v').callprop('slice', Js(0.0), var.get('hth')), Js([Js(' ...')]), var.get('v').callprop('slice', (var.get('v').get('length')-var.get('hth'))))) + else: + var.put('arr', var.get('v')) + @Js + def PyJs_anonymous_469_(i, ii, this, arguments, var=var): + var = Scope({'i':i, 'ii':ii, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'ii']) + return var.get('formatArray')((Js(1.0) if (PyJsStrictEq(var.get('ii'),Js(0.0)) and PyJsStrictEq(var.get('k'),Js(0.0))) else (var.get('k')+Js(1.0))), var.get('i')) + PyJs_anonymous_469_._set_name('anonymous') + return (((var.get('Array').create((var.get('k')+Js(1.0))).callprop('join', Js(' '))+Js('['))+var.get('arr').callprop('map', PyJs_anonymous_469_).callprop('join', Js(',')))+Js(']')) + PyJsHoisted_formatArray_.func_name = 'formatArray' + var.put('formatArray', PyJsHoisted_formatArray_) + var.put('nChars', var.get('formatNumber')(var.get(u"this").callprop('max')).get('length')) + var.put('reg1', JsRegExp('/\\]\\,(\\s*)\\[/g')) + var.put('spacer1', Js('],\n$1 [')) + var.put('reg3', JsRegExp('/\\]\\,(\\s+)...\\,(\\s+)\\[/g')) + var.put('spacer3', Js('],\n$2 ...\n$2 [')) + var.put('reg2', JsRegExp('/\\[\\s+\\[/g')) + var.put('spacer2', Js('[[')) + pass + var.put('base', var.get('JSON').callprop('stringify', var.get(u"this").callprop('tolist'), var.get('formatArray')).callprop('replace', var.get('reg1'), var.get('spacer1')).callprop('replace', var.get('reg2'), var.get('spacer2')).callprop('replace', var.get('reg2'), var.get('spacer2')).callprop('replace', var.get('reg3'), var.get('spacer3')).callprop('slice', Js(2.0), (-Js(1.0)))) + while 1: + SWITCHED = False + CONDITION = (var.get(u"this").get('dtype')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('array')): + SWITCHED = True + return ((Js('array([')+var.get('base'))+Js(')')) + if True: + SWITCHED = True + return ((((Js('array([')+var.get('base'))+Js(', dtype='))+var.get(u"this").get('dtype'))+Js(')')) + SWITCHED = True + break + PyJs_anonymous_468_._set_name('anonymous') + var.get('NdArray').get('prototype').put('toString', PyJs_anonymous_468_) + var.get('NdArray').get('prototype').put('inspect', var.get('NdArray').get('prototype').get('toString')) + @Js + def PyJs_anonymous_470_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return var.get('JSON').callprop('stringify', var.get(u"this").callprop('tolist')) + PyJs_anonymous_470_._set_name('anonymous') + var.get('NdArray').get('prototype').put('toJSON', PyJs_anonymous_470_) + @Js + def PyJs_anonymous_471_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['s']) + var.put('s', var.get(u"this").get('selection')) + if PyJsStrictEq(var.get('s').get('data').get('slice').typeof(),Js('undefined')): + return var.get('NdArray').create(var.get('ndarray')(Js([]).get('slice').callprop('apply', var.get('s').get('data')), var.get('s').get('shape'), var.get('s').get('stride'), var.get('s').get('offset'))) + return var.get('NdArray').create(var.get('ndarray')(var.get('s').get('data').callprop('slice'), var.get('s').get('shape'), var.get('s').get('stride'), var.get('s').get('offset'))) + PyJs_anonymous_471_._set_name('anonymous') + var.get('NdArray').get('prototype').put('clone', PyJs_anonymous_471_) + @Js + def PyJs_anonymous_472_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'd', 'array']) + var.put('array', var.get('createArray')(var.get('array'))) + if (PyJsStrictNeq(var.get(u"this").get('size'),var.get('array').get('size')) or PyJsStrictNeq(var.get(u"this").get('ndim'),var.get('array').get('ndim'))): + return Js(False) + var.put('d', var.get(u"this").get('ndim')) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')(var.get('shape').get('length')-Js(1.0)))): + PyJsTempException = JsToPyException(var.get('errors').get('ValueError').create(Js('invalid axis'))) + raise PyJsTempException + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')=Js(0.0)): + try: + var.get('nshape').put(var.get('i'), var.get('as').get('shape').get(var.get('i'))) + var.get('nstride').put(var.get('i'), var.get('nsize')) + var.put('nsize', var.get('nshape').get(var.get('i')), '*') + var.get('oshape').put(var.get('i'), ((var.get('as').get('shape').get(var.get('i'))-var.get('bs').get('shape').get(var.get('i')))+Js(1.0))) + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + var.put('T', var.get('_').callprop('getType', var.get('as').get('dtype'))) + var.put('out', var.get('NdArray').create(var.get('T').create(var.get('_').callprop('shapeSize', var.get('oshape'))), var.get('oshape'))) + var.put('outs', var.get('out').get('selection')) + var.put('xT', var.get('ndPool').callprop('mallocDouble', var.get('nsize'))) + var.put('x', var.get('ndarray')(var.get('xT'), var.get('nshape'), var.get('nstride'), Js(0.0))) + var.get('ops').callprop('assigns', var.get('x'), Js(0.0)) + var.get('ops').callprop('assign', var.get('x').get('hi').callprop('apply', var.get('x'), var.get('as').get('shape')), var.get('as')) + var.put('yT', var.get('ndPool').callprop('mallocDouble', var.get('nsize'))) + var.put('y', var.get('ndarray')(var.get('yT'), var.get('nshape'), var.get('nstride'), Js(0.0))) + var.get('ops').callprop('assigns', var.get('y'), Js(0.0)) + var.get('ndFFT')(Js(1.0), var.get('x'), var.get('y')) + var.put('uT', var.get('ndPool').callprop('mallocDouble', var.get('nsize'))) + var.put('u', var.get('ndarray')(var.get('uT'), var.get('nshape'), var.get('nstride'), Js(0.0))) + var.get('ops').callprop('assigns', var.get('u'), Js(0.0)) + var.get('ops').callprop('assign', var.get('u').get('hi').callprop('apply', var.get('u'), var.get('bs').get('shape')), var.get('bs')) + var.put('vT', var.get('ndPool').callprop('mallocDouble', var.get('nsize'))) + var.put('v', var.get('ndarray')(var.get('vT'), var.get('nshape'), var.get('nstride'), Js(0.0))) + var.get('ops').callprop('assigns', var.get('v'), Js(0.0)) + var.get('ndFFT')(Js(1.0), var.get('u'), var.get('v')) + var.get('doConjMuleq')(var.get('x'), var.get('y'), var.get('u'), var.get('v')) + var.get('ndFFT')((-Js(1.0)), var.get('x'), var.get('y')) + var.put('outShape', var.get('Array').create(var.get('d'))) + var.put('outOffset', var.get('Array').create(var.get('d'))) + var.put('needZeroFill', Js(False)) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')var.get('nshape').get(var.get('i'))): + var.put('needZeroFill', Js(True)) + var.get('outOffset').put(var.get('i'), (var.get('bs').get('shape').get(var.get('i'))-Js(1.0))) + var.get('outShape').put(var.get('i'), var.get('Math').callprop('min', var.get('outs').get('shape').get(var.get('i')), (var.get('nshape').get(var.get('i'))-var.get('outOffset').get(var.get('i'))))) + finally: + var.put('i',Js(var.get('i').to_number())+Js(1)) + pass + if var.get('needZeroFill'): + var.get('ops').callprop('assign', var.get('outs'), Js(0.0)) + var.put('croppedX', var.get('x').get('lo').callprop('apply', var.get('x'), var.get('outOffset'))) + var.put('croppedX', var.get('croppedX').get('hi').callprop('apply', var.get('croppedX'), var.get('outShape'))) + var.get('ops').callprop('assign', var.get('outs').get('hi').callprop('apply', var.get('outs'), var.get('outShape')), var.get('croppedX')) + var.get('ndPool').callprop('freeDouble', var.get('xT')) + var.get('ndPool').callprop('freeDouble', var.get('yT')) + var.get('ndPool').callprop('freeDouble', var.get('uT')) + var.get('ndPool').callprop('freeDouble', var.get('vT')) + return var.get('out') + PyJs_anonymous_485_._set_name('anonymous') + var.get('NdArray').get('prototype').put('fftconvolve', PyJs_anonymous_485_) + pass + var.get('NdArray').put('new', var.get('createArray')) + var.get('module').put('exports', var.get('NdArray')) + pass + def PyJs_LONG_486_(var=var): + return var.get('require')(Js('cwise/lib/wrapper'))(Js({'args':Js([Js('array'), Js('scalar'), Js('index')]),'pre':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'body':Js({'body':Js('{var _inline_22_a,_inline_22_e=_inline_22_arg1_;for(_inline_22_a=0;_inline_22_a<_inline_22_arg2_.length-1;++_inline_22_a)_inline_22_e=_inline_22_e[_inline_22_arg2_[_inline_22_a]];_inline_22_e[_inline_22_arg2_[_inline_22_arg2_.length-1]]=_inline_22_arg0_}'),'args':Js([Js({'name':Js('_inline_22_arg0_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_22_arg1_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(1.0)}), Js({'name':Js('_inline_22_arg2_'),'lvalue':Js(False),'rvalue':Js(True),'count':Js(4.0)})]),'thisVars':Js([]),'localVars':Js([Js('_inline_22_a'), Js('_inline_22_e')])}),'post':Js({'body':Js('{}'),'args':Js([]),'thisVars':Js([]),'localVars':Js([])}),'debug':Js(False),'funcName':Js('unpackCwise'),'blockSize':Js(64.0)})) + var.put('doUnpack', PyJs_LONG_486_()) + pass + pass + PyJs_anonymous_430_._set_name('anonymous') + @Js + def PyJs_anonymous_487_(require, module, exports, this, arguments, var=var): + var = Scope({'require':require, 'module':module, 'exports':exports, 'this':this, 'arguments':arguments}, var) + var.registers(['DTYPES', 'module', '_', 'exports', 'isString', 'shapeSize', 'getType', 'getShape', '_dim', 'require', 'isNumber', 'isFunction', 'baseFlatten']) + @Js + def PyJsHoisted_isNumber_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return PyJsStrictEq(var.get('value',throw=False).typeof(),Js('number')) + PyJsHoisted_isNumber_.func_name = 'isNumber' + var.put('isNumber', PyJsHoisted_isNumber_) + @Js + def PyJsHoisted_isString_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return PyJsStrictEq(var.get('value',throw=False).typeof(),Js('string')) + PyJsHoisted_isString_.func_name = 'isString' + var.put('isString', PyJsHoisted_isString_) + @Js + def PyJsHoisted_isFunction_(value, this, arguments, var=var): + var = Scope({'value':value, 'this':this, 'arguments':arguments}, var) + var.registers(['value']) + return PyJsStrictEq(var.get('value',throw=False).typeof(),Js('function')) + PyJsHoisted_isFunction_.func_name = 'isFunction' + var.put('isFunction', PyJsHoisted_isFunction_) + @Js + def PyJsHoisted_baseFlatten_(array, isDeep, result, this, arguments, var=var): + var = Scope({'array':array, 'isDeep':isDeep, 'result':result, 'this':this, 'arguments':arguments}, var) + var.registers(['value', 'isDeep', 'array', 'result', 'length', 'index']) + var.put('result', (var.get('result') or Js([]))) + var.put('index', (-Js(1.0))) + var.put('length', var.get('array').get('length')) + while (var.put('index',Js(var.get('index').to_number())+Js(1))=Js(0.0)): + try: + var.put('last', var.get('parts').get(var.get('i'))) + if PyJsStrictEq(var.get('last'),Js('.')): + var.get('parts').callprop('splice', var.get('i'), Js(1.0)) + else: + if PyJsStrictEq(var.get('last'),Js('..')): + var.get('parts').callprop('splice', var.get('i'), Js(1.0)) + (var.put('up',Js(var.get('up').to_number())+Js(1))-Js(1)) + else: + if var.get('up'): + var.get('parts').callprop('splice', var.get('i'), Js(1.0)) + (var.put('up',Js(var.get('up').to_number())-Js(1))+Js(1)) + finally: + (var.put('i',Js(var.get('i').to_number())-Js(1))+Js(1)) + if var.get('allowAboveRoot'): + #for JS loop + + while (var.put('up',Js(var.get('up').to_number())-Js(1))+Js(1)): + try: + var.get('parts').callprop('unshift', Js('..')) + finally: + var.get('up') + return var.get('parts') + PyJsHoisted_normalizeArray_.func_name = 'normalizeArray' + var.put('normalizeArray', PyJsHoisted_normalizeArray_) + @Js + def PyJsHoisted_basename_(path, this, arguments, var=var): + var = Scope({'path':path, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'path', 'start', 'matchedSlash', 'end']) + if PyJsStrictNeq(var.get('path',throw=False).typeof(),Js('string')): + var.put('path', (var.get('path')+Js(''))) + var.put('start', Js(0.0)) + var.put('end', (-Js(1.0))) + var.put('matchedSlash', Js(True)) + pass + #for JS loop + var.put('i', (var.get('path').get('length')-Js(1.0))) + while (var.get('i')>=Js(0.0)): + try: + if PyJsStrictEq(var.get('path').callprop('charCodeAt', var.get('i')),Js(47.0)): + if var.get('matchedSlash').neg(): + var.put('start', (var.get('i')+Js(1.0))) + break + else: + if PyJsStrictEq(var.get('end'),(-Js(1.0))): + var.put('matchedSlash', Js(False)) + var.put('end', (var.get('i')+Js(1.0))) + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + if PyJsStrictEq(var.get('end'),(-Js(1.0))): + return Js('') + return var.get('path').callprop('slice', var.get('start'), var.get('end')) + PyJsHoisted_basename_.func_name = 'basename' + var.put('basename', PyJsHoisted_basename_) + @Js + def PyJsHoisted_filter_(xs, f, this, arguments, var=var): + var = Scope({'xs':xs, 'f':f, 'this':this, 'arguments':arguments}, var) + var.registers(['i', 'f', 'xs', 'res']) + if var.get('xs').get('filter'): + return var.get('xs').callprop('filter', var.get('f')) + var.put('res', Js([])) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')=(-Js(1.0))) and var.get('resolvedAbsolute').neg()): + try: + var.put('path', (var.get('arguments').get(var.get('i')) if (var.get('i')>=Js(0.0)) else var.get('process').callprop('cwd'))) + if PyJsStrictNeq(var.get('path',throw=False).typeof(),Js('string')): + PyJsTempException = JsToPyException(var.get('TypeError').create(Js('Arguments to path.resolve must be strings'))) + raise PyJsTempException + else: + if var.get('path').neg(): + continue + var.put('resolvedPath', ((var.get('path')+Js('/'))+var.get('resolvedPath'))) + var.put('resolvedAbsolute', PyJsStrictEq(var.get('path').callprop('charAt', Js(0.0)),Js('/'))) + finally: + (var.put('i',Js(var.get('i').to_number())-Js(1))+Js(1)) + @Js + def PyJs_anonymous_491_(p, this, arguments, var=var): + var = Scope({'p':p, 'this':this, 'arguments':arguments}, var) + var.registers(['p']) + return var.get('p').neg().neg() + PyJs_anonymous_491_._set_name('anonymous') + var.put('resolvedPath', var.get('normalizeArray')(var.get('filter')(var.get('resolvedPath').callprop('split', Js('/')), PyJs_anonymous_491_), var.get('resolvedAbsolute').neg()).callprop('join', Js('/'))) + return (((Js('/') if var.get('resolvedAbsolute') else Js(''))+var.get('resolvedPath')) or Js('.')) + PyJs_anonymous_490_._set_name('anonymous') + var.get('exports').put('resolve', PyJs_anonymous_490_) + @Js + def PyJs_anonymous_492_(path, this, arguments, var=var): + var = Scope({'path':path, 'this':this, 'arguments':arguments}, var) + var.registers(['path', 'isAbsolute', 'trailingSlash']) + var.put('isAbsolute', var.get('exports').callprop('isAbsolute', var.get('path'))) + var.put('trailingSlash', PyJsStrictEq(var.get('substr')(var.get('path'), (-Js(1.0))),Js('/'))) + @Js + def PyJs_anonymous_493_(p, this, arguments, var=var): + var = Scope({'p':p, 'this':this, 'arguments':arguments}, var) + var.registers(['p']) + return var.get('p').neg().neg() + PyJs_anonymous_493_._set_name('anonymous') + var.put('path', var.get('normalizeArray')(var.get('filter')(var.get('path').callprop('split', Js('/')), PyJs_anonymous_493_), var.get('isAbsolute').neg()).callprop('join', Js('/'))) + if (var.get('path').neg() and var.get('isAbsolute').neg()): + var.put('path', Js('.')) + if (var.get('path') and var.get('trailingSlash')): + var.put('path', Js('/'), '+') + return ((Js('/') if var.get('isAbsolute') else Js(''))+var.get('path')) + PyJs_anonymous_492_._set_name('anonymous') + var.get('exports').put('normalize', PyJs_anonymous_492_) + @Js + def PyJs_anonymous_494_(path, this, arguments, var=var): + var = Scope({'path':path, 'this':this, 'arguments':arguments}, var) + var.registers(['path']) + return PyJsStrictEq(var.get('path').callprop('charAt', Js(0.0)),Js('/')) + PyJs_anonymous_494_._set_name('anonymous') + var.get('exports').put('isAbsolute', PyJs_anonymous_494_) + @Js + def PyJs_anonymous_495_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['paths']) + var.put('paths', var.get('Array').get('prototype').get('slice').callprop('call', var.get('arguments'), Js(0.0))) + @Js + def PyJs_anonymous_496_(p, index, this, arguments, var=var): + var = Scope({'p':p, 'index':index, 'this':this, 'arguments':arguments}, var) + var.registers(['index', 'p']) + if PyJsStrictNeq(var.get('p',throw=False).typeof(),Js('string')): + PyJsTempException = JsToPyException(var.get('TypeError').create(Js('Arguments to path.join must be strings'))) + raise PyJsTempException + return var.get('p') + PyJs_anonymous_496_._set_name('anonymous') + return var.get('exports').callprop('normalize', var.get('filter')(var.get('paths'), PyJs_anonymous_496_).callprop('join', Js('/'))) + PyJs_anonymous_495_._set_name('anonymous') + var.get('exports').put('join', PyJs_anonymous_495_) + @Js + def PyJs_anonymous_497_(PyJsArg_66726f6d_, to, this, arguments, var=var): + var = Scope({'from':PyJsArg_66726f6d_, 'to':to, 'this':this, 'arguments':arguments}, var) + var.registers(['outputParts', 'fromParts', 'from', 'i', 'trim', 'to', 'samePartsLength', 'toParts', 'length']) + @Js + def PyJsHoisted_trim_(arr, this, arguments, var=var): + var = Scope({'arr':arr, 'this':this, 'arguments':arguments}, var) + var.registers(['end', 'arr', 'start']) + var.put('start', Js(0.0)) + #for JS loop + + while (var.get('start')=Js(0.0)): + try: + if PyJsStrictNeq(var.get('arr').get(var.get('end')),Js('')): + break + finally: + (var.put('end',Js(var.get('end').to_number())-Js(1))+Js(1)) + if (var.get('start')>var.get('end')): + return Js([]) + return var.get('arr').callprop('slice', var.get('start'), ((var.get('end')-var.get('start'))+Js(1.0))) + PyJsHoisted_trim_.func_name = 'trim' + var.put('trim', PyJsHoisted_trim_) + var.put('from', var.get('exports').callprop('resolve', var.get('from')).callprop('substr', Js(1.0))) + var.put('to', var.get('exports').callprop('resolve', var.get('to')).callprop('substr', Js(1.0))) + pass + var.put('fromParts', var.get('trim')(var.get('from').callprop('split', Js('/')))) + var.put('toParts', var.get('trim')(var.get('to').callprop('split', Js('/')))) + var.put('length', var.get('Math').callprop('min', var.get('fromParts').get('length'), var.get('toParts').get('length'))) + var.put('samePartsLength', var.get('length')) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')=Js(1.0)): + try: + var.put('code', var.get('path').callprop('charCodeAt', var.get('i'))) + if PyJsStrictEq(var.get('code'),Js(47.0)): + if var.get('matchedSlash').neg(): + var.put('end', var.get('i')) + break + else: + var.put('matchedSlash', Js(False)) + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + if PyJsStrictEq(var.get('end'),(-Js(1.0))): + return (Js('/') if var.get('hasRoot') else Js('.')) + if (var.get('hasRoot') and PyJsStrictEq(var.get('end'),Js(1.0))): + return Js('/') + return var.get('path').callprop('slice', Js(0.0), var.get('end')) + PyJs_anonymous_498_._set_name('anonymous') + var.get('exports').put('dirname', PyJs_anonymous_498_) + pass + @Js + def PyJs_anonymous_499_(path, ext, this, arguments, var=var): + var = Scope({'path':path, 'ext':ext, 'this':this, 'arguments':arguments}, var) + var.registers(['path', 'f', 'ext']) + var.put('f', var.get('basename')(var.get('path'))) + if (var.get('ext') and PyJsStrictEq(var.get('f').callprop('substr', ((-Js(1.0))*var.get('ext').get('length'))),var.get('ext'))): + var.put('f', var.get('f').callprop('substr', Js(0.0), (var.get('f').get('length')-var.get('ext').get('length')))) + return var.get('f') + PyJs_anonymous_499_._set_name('anonymous') + var.get('exports').put('basename', PyJs_anonymous_499_) + @Js + def PyJs_anonymous_500_(path, this, arguments, var=var): + var = Scope({'path':path, 'this':this, 'arguments':arguments}, var) + var.registers(['startDot', 'i', 'startPart', 'code', 'path', 'preDotState', 'matchedSlash', 'end']) + if PyJsStrictNeq(var.get('path',throw=False).typeof(),Js('string')): + var.put('path', (var.get('path')+Js(''))) + var.put('startDot', (-Js(1.0))) + var.put('startPart', Js(0.0)) + var.put('end', (-Js(1.0))) + var.put('matchedSlash', Js(True)) + var.put('preDotState', Js(0.0)) + #for JS loop + var.put('i', (var.get('path').get('length')-Js(1.0))) + while (var.get('i')>=Js(0.0)): + try: + var.put('code', var.get('path').callprop('charCodeAt', var.get('i'))) + if PyJsStrictEq(var.get('code'),Js(47.0)): + if var.get('matchedSlash').neg(): + var.put('startPart', (var.get('i')+Js(1.0))) + break + continue + if PyJsStrictEq(var.get('end'),(-Js(1.0))): + var.put('matchedSlash', Js(False)) + var.put('end', (var.get('i')+Js(1.0))) + if PyJsStrictEq(var.get('code'),Js(46.0)): + if PyJsStrictEq(var.get('startDot'),(-Js(1.0))): + var.put('startDot', var.get('i')) + else: + if PyJsStrictNeq(var.get('preDotState'),Js(1.0)): + var.put('preDotState', Js(1.0)) + else: + if PyJsStrictNeq(var.get('startDot'),(-Js(1.0))): + var.put('preDotState', (-Js(1.0))) + finally: + var.put('i',Js(var.get('i').to_number())-Js(1)) + if (((PyJsStrictEq(var.get('startDot'),(-Js(1.0))) or PyJsStrictEq(var.get('end'),(-Js(1.0)))) or PyJsStrictEq(var.get('preDotState'),Js(0.0))) or ((PyJsStrictEq(var.get('preDotState'),Js(1.0)) and PyJsStrictEq(var.get('startDot'),(var.get('end')-Js(1.0)))) and PyJsStrictEq(var.get('startDot'),(var.get('startPart')+Js(1.0))))): + return Js('') + return var.get('path').callprop('slice', var.get('startDot'), var.get('end')) + PyJs_anonymous_500_._set_name('anonymous') + var.get('exports').put('extname', PyJs_anonymous_500_) + pass + @Js + def PyJs_anonymous_501_(str, start, len, this, arguments, var=var): + var = Scope({'str':str, 'start':start, 'len':len, 'this':this, 'arguments':arguments}, var) + var.registers(['str', 'len', 'start']) + return var.get('str').callprop('substr', var.get('start'), var.get('len')) + PyJs_anonymous_501_._set_name('anonymous') + @Js + def PyJs_anonymous_502_(str, start, len, this, arguments, var=var): + var = Scope({'str':str, 'start':start, 'len':len, 'this':this, 'arguments':arguments}, var) + var.registers(['str', 'len', 'start']) + if (var.get('start')Js(1.0)): + #for JS loop + var.put('i', Js(1.0)) + while (var.get('i')Js(0.0)): + return var.get('d').callprop('pop') + return var.get('ArrayBuffer').create(var.get('n')) + PyJsHoisted_mallocArrayBuffer_.func_name = 'mallocArrayBuffer' + var.put('mallocArrayBuffer', PyJsHoisted_mallocArrayBuffer_) + @Js + def PyJsHoisted_mallocUint8_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['n']) + return var.get('Uint8Array').create(var.get('mallocArrayBuffer')(var.get('n')), Js(0.0), var.get('n')) + PyJsHoisted_mallocUint8_.func_name = 'mallocUint8' + var.put('mallocUint8', PyJsHoisted_mallocUint8_) + @Js + def PyJsHoisted_mallocUint16_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['n']) + return var.get('Uint16Array').create(var.get('mallocArrayBuffer')((Js(2.0)*var.get('n'))), Js(0.0), var.get('n')) + PyJsHoisted_mallocUint16_.func_name = 'mallocUint16' + var.put('mallocUint16', PyJsHoisted_mallocUint16_) + @Js + def PyJsHoisted_mallocUint32_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['n']) + return var.get('Uint32Array').create(var.get('mallocArrayBuffer')((Js(4.0)*var.get('n'))), Js(0.0), var.get('n')) + PyJsHoisted_mallocUint32_.func_name = 'mallocUint32' + var.put('mallocUint32', PyJsHoisted_mallocUint32_) + @Js + def PyJsHoisted_mallocInt8_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['n']) + return var.get('Int8Array').create(var.get('mallocArrayBuffer')(var.get('n')), Js(0.0), var.get('n')) + PyJsHoisted_mallocInt8_.func_name = 'mallocInt8' + var.put('mallocInt8', PyJsHoisted_mallocInt8_) + @Js + def PyJsHoisted_mallocInt16_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['n']) + return var.get('Int16Array').create(var.get('mallocArrayBuffer')((Js(2.0)*var.get('n'))), Js(0.0), var.get('n')) + PyJsHoisted_mallocInt16_.func_name = 'mallocInt16' + var.put('mallocInt16', PyJsHoisted_mallocInt16_) + @Js + def PyJsHoisted_mallocInt32_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['n']) + return var.get('Int32Array').create(var.get('mallocArrayBuffer')((Js(4.0)*var.get('n'))), Js(0.0), var.get('n')) + PyJsHoisted_mallocInt32_.func_name = 'mallocInt32' + var.put('mallocInt32', PyJsHoisted_mallocInt32_) + @Js + def PyJsHoisted_mallocFloat_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['n']) + return var.get('Float32Array').create(var.get('mallocArrayBuffer')((Js(4.0)*var.get('n'))), Js(0.0), var.get('n')) + PyJsHoisted_mallocFloat_.func_name = 'mallocFloat' + var.put('mallocFloat', PyJsHoisted_mallocFloat_) + @Js + def PyJsHoisted_mallocDouble_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['n']) + return var.get('Float64Array').create(var.get('mallocArrayBuffer')((Js(8.0)*var.get('n'))), Js(0.0), var.get('n')) + PyJsHoisted_mallocDouble_.func_name = 'mallocDouble' + var.put('mallocDouble', PyJsHoisted_mallocDouble_) + @Js + def PyJsHoisted_mallocUint8Clamped_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['n']) + if var.get('hasUint8C'): + return var.get('Uint8ClampedArray').create(var.get('mallocArrayBuffer')(var.get('n')), Js(0.0), var.get('n')) + else: + return var.get('mallocUint8')(var.get('n')) + PyJsHoisted_mallocUint8Clamped_.func_name = 'mallocUint8Clamped' + var.put('mallocUint8Clamped', PyJsHoisted_mallocUint8Clamped_) + @Js + def PyJsHoisted_mallocDataView_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['n']) + return var.get('DataView').create(var.get('mallocArrayBuffer')(var.get('n')), Js(0.0), var.get('n')) + PyJsHoisted_mallocDataView_.func_name = 'mallocDataView' + var.put('mallocDataView', PyJsHoisted_mallocDataView_) + @Js + def PyJsHoisted_mallocBuffer_(n, this, arguments, var=var): + var = Scope({'n':n, 'this':this, 'arguments':arguments}, var) + var.registers(['log_n', 'n', 'cache']) + var.put('n', var.get('bits').callprop('nextPow2', var.get('n'))) + var.put('log_n', var.get('bits').callprop('log2', var.get('n'))) + var.put('cache', var.get('BUFFER').get(var.get('log_n'))) + if (var.get('cache').get('length')>Js(0.0)): + return var.get('cache').callprop('pop') + return var.get('Buffer').create(var.get('n')) + PyJsHoisted_mallocBuffer_.func_name = 'mallocBuffer' + var.put('mallocBuffer', PyJsHoisted_mallocBuffer_) + Js('use strict') + var.put('bits', var.get('require')(Js('bit-twiddle'))) + var.put('dup', var.get('require')(Js('dup'))) + if var.get('global').get('__TYPEDARRAY_POOL').neg(): + def PyJs_LONG_514_(var=var): + return var.get('global').put('__TYPEDARRAY_POOL', Js({'UINT8':var.get('dup')(Js([Js(32.0), Js(0.0)])),'UINT16':var.get('dup')(Js([Js(32.0), Js(0.0)])),'UINT32':var.get('dup')(Js([Js(32.0), Js(0.0)])),'INT8':var.get('dup')(Js([Js(32.0), Js(0.0)])),'INT16':var.get('dup')(Js([Js(32.0), Js(0.0)])),'INT32':var.get('dup')(Js([Js(32.0), Js(0.0)])),'FLOAT':var.get('dup')(Js([Js(32.0), Js(0.0)])),'DOUBLE':var.get('dup')(Js([Js(32.0), Js(0.0)])),'DATA':var.get('dup')(Js([Js(32.0), Js(0.0)])),'UINT8C':var.get('dup')(Js([Js(32.0), Js(0.0)])),'BUFFER':var.get('dup')(Js([Js(32.0), Js(0.0)]))})) + PyJs_LONG_514_() + var.put('hasUint8C', PyJsStrictNeq(var.get('Uint8ClampedArray',throw=False).typeof(),Js('undefined'))) + var.put('POOL', var.get('global').get('__TYPEDARRAY_POOL')) + if var.get('POOL').get('UINT8C').neg(): + var.get('POOL').put('UINT8C', var.get('dup')(Js([Js(32.0), Js(0.0)]))) + if var.get('POOL').get('BUFFER').neg(): + var.get('POOL').put('BUFFER', var.get('dup')(Js([Js(32.0), Js(0.0)]))) + var.put('DATA', var.get('POOL').get('DATA')) + var.put('BUFFER', var.get('POOL').get('BUFFER')) + @Js + def PyJs_free_515_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments, 'free':PyJs_free_515_}, var) + var.registers(['log_n', 'n', 'array']) + if var.get('Buffer').callprop('isBuffer', var.get('array')): + var.get('BUFFER').get(var.get('bits').callprop('log2', var.get('array').get('length'))).callprop('push', var.get('array')) + else: + if PyJsStrictNeq(var.get('Object').get('prototype').get('toString').callprop('call', var.get('array')),Js('[object ArrayBuffer]')): + var.put('array', var.get('array').get('buffer')) + if var.get('array').neg(): + return var.get('undefined') + var.put('n', (var.get('array').get('length') or var.get('array').get('byteLength'))) + var.put('log_n', (var.get('bits').callprop('log2', var.get('n'))|Js(0.0))) + var.get('DATA').get(var.get('log_n')).callprop('push', var.get('array')) + PyJs_free_515_._set_name('free') + var.get('exports').put('free', PyJs_free_515_) + pass + pass + def PyJs_LONG_516_(var=var): + return var.get('exports').put('freeUint32', var.get('exports').put('freeInt8', var.get('exports').put('freeInt16', var.get('exports').put('freeInt32', var.get('exports').put('freeFloat32', var.get('exports').put('freeFloat', var.get('exports').put('freeFloat64', var.get('exports').put('freeDouble', var.get('exports').put('freeUint8Clamped', var.get('exports').put('freeDataView', var.get('freeTypedArray'))))))))))) + var.get('exports').put('freeUint8', var.get('exports').put('freeUint16', PyJs_LONG_516_())) + var.get('exports').put('freeArrayBuffer', var.get('freeArrayBuffer')) + @Js + def PyJs_freeBuffer_517_(array, this, arguments, var=var): + var = Scope({'array':array, 'this':this, 'arguments':arguments, 'freeBuffer':PyJs_freeBuffer_517_}, var) + var.registers(['array']) + var.get('BUFFER').get(var.get('bits').callprop('log2', var.get('array').get('length'))).callprop('push', var.get('array')) + PyJs_freeBuffer_517_._set_name('freeBuffer') + var.get('exports').put('freeBuffer', PyJs_freeBuffer_517_) + @Js + def PyJs_malloc_518_(n, dtype, this, arguments, var=var): + var = Scope({'n':n, 'dtype':dtype, 'this':this, 'arguments':arguments, 'malloc':PyJs_malloc_518_}, var) + var.registers(['dtype', 'n']) + if (PyJsStrictEq(var.get('dtype'),var.get('undefined')) or PyJsStrictEq(var.get('dtype'),Js('arraybuffer'))): + return var.get('mallocArrayBuffer')(var.get('n')) + else: + while 1: + SWITCHED = False + CONDITION = (var.get('dtype')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('uint8')): + SWITCHED = True + return var.get('mallocUint8')(var.get('n')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('uint16')): + SWITCHED = True + return var.get('mallocUint16')(var.get('n')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('uint32')): + SWITCHED = True + return var.get('mallocUint32')(var.get('n')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('int8')): + SWITCHED = True + return var.get('mallocInt8')(var.get('n')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('int16')): + SWITCHED = True + return var.get('mallocInt16')(var.get('n')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('int32')): + SWITCHED = True + return var.get('mallocInt32')(var.get('n')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('float')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('float32')): + SWITCHED = True + return var.get('mallocFloat')(var.get('n')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('double')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('float64')): + SWITCHED = True + return var.get('mallocDouble')(var.get('n')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('uint8_clamped')): + SWITCHED = True + return var.get('mallocUint8Clamped')(var.get('n')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('buffer')): + SWITCHED = True + return var.get('mallocBuffer')(var.get('n')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('data')): + SWITCHED = True + pass + if SWITCHED or PyJsStrictEq(CONDITION, Js('dataview')): + SWITCHED = True + return var.get('mallocDataView')(var.get('n')) + if True: + SWITCHED = True + return var.get(u"null") + SWITCHED = True + break + return var.get(u"null") + PyJs_malloc_518_._set_name('malloc') + var.get('exports').put('malloc', PyJs_malloc_518_) + pass + var.get('exports').put('mallocArrayBuffer', var.get('mallocArrayBuffer')) + pass + var.get('exports').put('mallocUint8', var.get('mallocUint8')) + pass + var.get('exports').put('mallocUint16', var.get('mallocUint16')) + pass + var.get('exports').put('mallocUint32', var.get('mallocUint32')) + pass + var.get('exports').put('mallocInt8', var.get('mallocInt8')) + pass + var.get('exports').put('mallocInt16', var.get('mallocInt16')) + pass + var.get('exports').put('mallocInt32', var.get('mallocInt32')) + pass + var.get('exports').put('mallocFloat32', var.get('exports').put('mallocFloat', var.get('mallocFloat'))) + pass + var.get('exports').put('mallocFloat64', var.get('exports').put('mallocDouble', var.get('mallocDouble'))) + pass + var.get('exports').put('mallocUint8Clamped', var.get('mallocUint8Clamped')) + pass + var.get('exports').put('mallocDataView', var.get('mallocDataView')) + pass + var.get('exports').put('mallocBuffer', var.get('mallocBuffer')) + @Js + def PyJs_clearCache_519_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'clearCache':PyJs_clearCache_519_}, var) + var.registers(['i']) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i') 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 = None + elems = [] + after = '' + for p in properties: + if p['kind'] == 'init': + elems.append('%s:%s' % Property(**p)) + else: + if name is None: + name = inline_stack.require('Object') + if 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') + definition = 'Js({%s})' % ','.join(elems) + if name is None: + return definition + body = '%s = %s\n' % (name, definition) + body += after + body += 'return %s\n' % name + code = 'def %s():\n%s' % (name, indent(body)) + inline_stack.define(name, code) + 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/js2py/translators/translator.py similarity index 100% rename from lib/js2py/translators/translator.py rename to lib/js2py/js2py/translators/translator.py diff --git a/lib/js2py/internals/__init__.py b/lib/js2py/js2py/utils/__init__.py similarity index 100% rename from lib/js2py/internals/__init__.py rename to lib/js2py/js2py/utils/__init__.py diff --git a/lib/js2py/js2py/utils/injector.py b/lib/js2py/js2py/utils/injector.py new file mode 100644 index 00000000..ea236d5e --- /dev/null +++ b/lib/js2py/js2py/utils/injector.py @@ -0,0 +1,244 @@ +__all__ = ['fix_js_args'] + +import types +from collections import namedtuple +import opcode +import six +import sys +import dis + +if six.PY3: + xrange = range + chr = lambda x: x + +# Opcode constants used for comparison and replacecment +LOAD_FAST = opcode.opmap['LOAD_FAST'] +LOAD_GLOBAL = opcode.opmap['LOAD_GLOBAL'] +STORE_FAST = opcode.opmap['STORE_FAST'] + + +def fix_js_args(func): + '''Use this function when unsure whether func takes this and arguments as its last 2 args. + It will append 2 args if it does not.''' + fcode = six.get_function_code(func) + fargs = fcode.co_varnames[fcode.co_argcount - 2:fcode.co_argcount] + if fargs == ('this', 'arguments') or fargs == ('arguments', 'var'): + return func + code = append_arguments(six.get_function_code(func), ('this', 'arguments')) + + return types.FunctionType( + code, + six.get_function_globals(func), + func.__name__, + closure=six.get_function_closure(func)) + + +def append_arguments(code_obj, new_locals): + co_varnames = code_obj.co_varnames # Old locals + co_names = code_obj.co_names # Old globals + co_names += tuple(e for e in new_locals if e not in co_names) + co_argcount = code_obj.co_argcount # Argument count + co_code = code_obj.co_code # The actual bytecode as a string + + # Make one pass over the bytecode to identify names that should be + # left in code_obj.co_names. + not_removed = set(opcode.hasname) - set([LOAD_GLOBAL]) + saved_names = set() + for inst in instructions(code_obj): + if inst[0] in not_removed: + saved_names.add(co_names[inst[1]]) + + # Build co_names for the new code object. This should consist of + # globals that were only accessed via LOAD_GLOBAL + names = tuple( + name for name in co_names if name not in set(new_locals) - saved_names) + + # Build a dictionary that maps the indices of the entries in co_names + # to their entry in the new co_names + name_translations = dict( + (co_names.index(name), i) for i, name in enumerate(names)) + + # Build co_varnames for the new code object. This should consist of + # the entirety of co_varnames with new_locals spliced in after the + # arguments + new_locals_len = len(new_locals) + varnames = ( + co_varnames[:co_argcount] + new_locals + co_varnames[co_argcount:]) + + # Build the dictionary that maps indices of entries in the old co_varnames + # to their indices in the new co_varnames + range1, range2 = xrange(co_argcount), xrange(co_argcount, len(co_varnames)) + varname_translations = dict((i, i) for i in range1) + varname_translations.update((i, i + new_locals_len) for i in range2) + + # Build the dictionary that maps indices of deleted entries of co_names + # to their indices in the new co_varnames + names_to_varnames = dict( + (co_names.index(name), varnames.index(name)) for name in new_locals) + + # Now we modify the actual bytecode + modified = [] + for inst in instructions(code_obj): + op, arg = inst.opcode, inst.arg + # If the instruction is a LOAD_GLOBAL, we have to check to see if + # it's one of the globals that we are replacing. Either way, + # update its arg using the appropriate dict. + if inst.opcode == LOAD_GLOBAL: + if inst.arg in names_to_varnames: + op = LOAD_FAST + arg = names_to_varnames[inst.arg] + elif inst.arg in name_translations: + arg = name_translations[inst.arg] + else: + raise ValueError("a name was lost in translation") + # If it accesses co_varnames or co_names then update its argument. + elif inst.opcode in opcode.haslocal: + arg = varname_translations[inst.arg] + elif inst.opcode in opcode.hasname: + arg = name_translations[inst.arg] + modified.extend(write_instruction(op, arg)) + if six.PY2: + code = ''.join(modified) + args = (co_argcount + new_locals_len, + code_obj.co_nlocals + new_locals_len, code_obj.co_stacksize, + code_obj.co_flags, code, code_obj.co_consts, names, varnames, + code_obj.co_filename, code_obj.co_name, + code_obj.co_firstlineno, code_obj.co_lnotab, + code_obj.co_freevars, code_obj.co_cellvars) + else: + code = bytes(modified) + args = (co_argcount + new_locals_len, 0, + code_obj.co_nlocals + new_locals_len, code_obj.co_stacksize, + code_obj.co_flags, code, code_obj.co_consts, names, varnames, + code_obj.co_filename, code_obj.co_name, + code_obj.co_firstlineno, code_obj.co_lnotab, + code_obj.co_freevars, code_obj.co_cellvars) + + # Done modifying codestring - make the code object + if hasattr(code_obj, "replace"): + # Python 3.8+ + return code_obj.replace( + co_argcount=co_argcount + new_locals_len, + co_nlocals=code_obj.co_nlocals + new_locals_len, + co_code=code, + co_names=names, + co_varnames=varnames) + else: + return types.CodeType(*args) + + +def instructions(code_obj): + # easy for python 3.4+ + if sys.version_info >= (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/js2py/js2py_old/__init__.py b/lib/js2py/js2py_old/__init__.py new file mode 100644 index 00000000..a7fe5979 --- /dev/null +++ b/lib/js2py/js2py_old/__init__.py @@ -0,0 +1,75 @@ +# 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', 'require' +] + +from .base import PyJsException +from .evaljs import * +from .translators import parse as parse_js +from .node_import import require diff --git a/lib/js2py/base.py b/lib/js2py/js2py_old/base.py similarity index 100% rename from lib/js2py/base.py rename to lib/js2py/js2py_old/base.py diff --git a/lib/js2py/js2py_old/constructors/__init__.py b/lib/js2py/js2py_old/constructors/__init__.py new file mode 100644 index 00000000..4bf95623 --- /dev/null +++ b/lib/js2py/js2py_old/constructors/__init__.py @@ -0,0 +1 @@ +__author__ = 'Piotr Dabkowski' \ No newline at end of file diff --git a/lib/js2py/js2py_old/constructors/jsarray.py b/lib/js2py/js2py_old/constructors/jsarray.py new file mode 100644 index 00000000..1550589d --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsarray.py @@ -0,0 +1,48 @@ +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 +}) diff --git a/lib/js2py/js2py_old/constructors/jsarraybuffer.py b/lib/js2py/js2py_old/constructors/jsarraybuffer.py new file mode 100644 index 00000000..6da71aab --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsarraybuffer.py @@ -0,0 +1,41 @@ +# 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/js2py_old/constructors/jsboolean.py b/lib/js2py/js2py_old/constructors/jsboolean.py new file mode 100644 index 00000000..743b110d --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsboolean.py @@ -0,0 +1,16 @@ +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 + }) diff --git a/lib/js2py/js2py_old/constructors/jsdate.py b/lib/js2py/js2py_old/constructors/jsdate.py new file mode 100644 index 00000000..98de6431 --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsdate.py @@ -0,0 +1,405 @@ +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: + try: + dt = datetime.datetime.strptime(py_string, "%Y-%m-%dT%H:%M:%S.%fZ") + except: + dt = datetime.datetime.strptime(py_string, "%Y-%m-%dT%H:%M:%SZ") + 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) < n: + s = '0' * (n - len(s)) + s + if not sign: + return s + if num >= 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 +}) diff --git a/lib/js2py/js2py_old/constructors/jsfloat32array.py b/lib/js2py/js2py_old/constructors/jsfloat32array.py new file mode 100644 index 00000000..3a121916 --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsfloat32array.py @@ -0,0 +1,87 @@ +# 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/js2py_old/constructors/jsfloat64array.py b/lib/js2py/js2py_old/constructors/jsfloat64array.py new file mode 100644 index 00000000..9ea5f052 --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsfloat64array.py @@ -0,0 +1,87 @@ +# 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/js2py_old/constructors/jsfunction.py b/lib/js2py/js2py_old/constructors/jsfunction.py new file mode 100644 index 00000000..c4ace2c3 --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsfunction.py @@ -0,0 +1,52 @@ +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/js2py_old/constructors/jsint16array.py b/lib/js2py/js2py_old/constructors/jsint16array.py new file mode 100644 index 00000000..c2864105 --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsint16array.py @@ -0,0 +1,87 @@ +# 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/js2py_old/constructors/jsint32array.py b/lib/js2py/js2py_old/constructors/jsint32array.py new file mode 100644 index 00000000..2e8c4e84 --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsint32array.py @@ -0,0 +1,87 @@ +# 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/js2py_old/constructors/jsint8array.py b/lib/js2py/js2py_old/constructors/jsint8array.py new file mode 100644 index 00000000..3396afea --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsint8array.py @@ -0,0 +1,79 @@ +# 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/js2py_old/constructors/jsmath.py b/lib/js2py/js2py_old/constructors/jsmath.py new file mode 100644 index 00000000..06751a3b --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsmath.py @@ -0,0 +1,157 @@ +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) diff --git a/lib/js2py/js2py_old/constructors/jsnumber.py b/lib/js2py/js2py_old/constructors/jsnumber.py new file mode 100644 index 00000000..9ba7c7c7 --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsnumber.py @@ -0,0 +1,23 @@ +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 +}) diff --git a/lib/js2py/js2py_old/constructors/jsobject.py b/lib/js2py/js2py_old/constructors/jsobject.py new file mode 100644 index 00000000..c4e0ada3 --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsobject.py @@ -0,0 +1,198 @@ +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/js2py_old/constructors/jsregexp.py b/lib/js2py/js2py_old/constructors/jsregexp.py new file mode 100644 index 00000000..2dfc25cb --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsregexp.py @@ -0,0 +1,16 @@ +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 + }) diff --git a/lib/js2py/js2py_old/constructors/jsstring.py b/lib/js2py/js2py_old/constructors/jsstring.py new file mode 100644 index 00000000..0650d0f5 --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsstring.py @@ -0,0 +1,40 @@ +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 +}) diff --git a/lib/js2py/js2py_old/constructors/jsuint16array.py b/lib/js2py/js2py_old/constructors/jsuint16array.py new file mode 100644 index 00000000..a61be246 --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsuint16array.py @@ -0,0 +1,87 @@ +# 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/js2py_old/constructors/jsuint32array.py b/lib/js2py/js2py_old/constructors/jsuint32array.py new file mode 100644 index 00000000..c6f57c94 --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsuint32array.py @@ -0,0 +1,95 @@ +# 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/js2py_old/constructors/jsuint8array.py b/lib/js2py/js2py_old/constructors/jsuint8array.py new file mode 100644 index 00000000..4b2199da --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsuint8array.py @@ -0,0 +1,79 @@ +# 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/js2py_old/constructors/jsuint8clampedarray.py b/lib/js2py/js2py_old/constructors/jsuint8clampedarray.py new file mode 100644 index 00000000..7b5e350b --- /dev/null +++ b/lib/js2py/js2py_old/constructors/jsuint8clampedarray.py @@ -0,0 +1,79 @@ +# 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/js2py_old/constructors/time_helpers.py b/lib/js2py/js2py_old/constructors/time_helpers.py new file mode 100644 index 00000000..a744d8ca --- /dev/null +++ b/lib/js2py/js2py_old/constructors/time_helpers.py @@ -0,0 +1,207 @@ +# 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/js2py_old/es6/__init__.py b/lib/js2py/js2py_old/es6/__init__.py new file mode 100644 index 00000000..4a58d3f0 --- /dev/null +++ b/lib/js2py/js2py_old/es6/__init__.py @@ -0,0 +1,41 @@ +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;')) diff --git a/lib/js2py/es6/babel.js b/lib/js2py/js2py_old/es6/babel.js similarity index 100% rename from lib/js2py/es6/babel.js rename to lib/js2py/js2py_old/es6/babel.js diff --git a/lib/js2py/js2py_old/es6/babel.py b/lib/js2py/js2py_old/es6/babel.py new file mode 100644 index 00000000..24623e64 --- /dev/null +++ b/lib/js2py/js2py_old/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') 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 n < len(string): + cand = RADIX_CHARS.get(string[n]) + if cand is None or not cand < r: + break + num = cand + num * r + n += 1 + if not n: + return NaN + return sign * num + + +@Js +def parseFloat(string): + string = string.to_string().value.strip() + sign = 1 + if string and string[0] in ('+', '-'): + if string[0] == '-': + sign = -1 + string = string[1:] + num = None + length = 1 + max_len = None + failed = 0 + while length <= len(string): + try: + num = float(string[:length]) + max_len = length + failed = 0 + except: + failed += 1 + if failed > 4: # 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 test them properly + + +@Js +def escape(text): + return quote(text.to_string().value) + + +@Js +def unescape(text): + return unquote(text.to_string().value) + + +@Js +def encodeURI(text): + return quote(text.to_string().value, safe='~@#$&()*!+=:;,.?/\'') + + +@Js +def decodeURI(text): + return unquote(text.to_string().value) + + +@Js +def encodeURIComponent(text): + return quote(text.to_string().value, safe='~()*!.\'') + + +@Js +def decodeURIComponent(text): + return unquote(text.to_string().value) diff --git a/lib/js2py/js2py_old/internals/__init__.py b/lib/js2py/js2py_old/internals/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/lib/js2py/js2py_old/internals/base.py b/lib/js2py/js2py_old/internals/base.py new file mode 100644 index 00000000..a02a2122 --- /dev/null +++ b/lib/js2py/js2py_old/internals/base.py @@ -0,0 +1,929 @@ +from __future__ import unicode_literals +import re + +import datetime + +from .desc import * +from .simplex import * +from .conversions import * + +from pyjsparser import PyJsParser + +import six +if six.PY2: + from itertools import izip +else: + izip = zip + + + + +def Type(obj): + return obj.TYPE + + +# 8.6.2 +class PyJs(object): + TYPE = 'Object' + IS_CONSTRUCTOR = False + + prototype = None + Class = None + extensible = True + value = None + + own = {} + + def get_member(self, unconverted_prop): + return self.get(to_string(unconverted_prop)) + + def put_member(self, unconverted_prop, val): + return self.put(to_string(unconverted_prop), val) + + def get(self, prop): + assert type(prop) == unicode + cand = self.get_property(prop) + if cand is None: + return undefined + if is_data_descriptor(cand): + return cand['value'] + if is_undefined(cand['get']): + return undefined + return cand['get'].call(self) + + def get_own_property(self, prop): + assert type(prop) == unicode + # takes py returns py + return self.own.get(prop) + + def get_property(self, prop): + assert type(prop) == unicode + # take py returns py + cand = self.get_own_property(prop) + if cand: + return cand + if self.prototype is not None: + return self.prototype.get_property(prop) + + def put(self, prop, val, throw=False): + assert type(prop) == unicode + # takes py, returns none + if not self.can_put(prop): + if throw: + raise MakeError('TypeError', 'Could not define own property') + return + own_desc = self.get_own_property(prop) + if is_data_descriptor(own_desc): + self.own[prop]['value'] = val + return + desc = self.get_property(prop) + if is_accessor_descriptor(desc): + desc['set'].call( + self, (val, )) # calling setter on own or inherited element + else: # new property + self.own[prop] = { + 'value': val, + 'writable': True, + 'configurable': True, + 'enumerable': True + } + + def can_put(self, prop): # to check + assert type(prop) == unicode, type(prop) + # takes py returns py + desc = self.get_own_property(prop) + if desc: # if we have this property + if is_accessor_descriptor(desc): + return is_callable( + desc['set']) # Check if setter method is defined + else: # data desc + return desc['writable'] + if self.prototype is None: + return self.extensible + inherited = self.prototype.get_property(prop) + if inherited is None: + return self.extensible + if is_accessor_descriptor(inherited): + return not is_undefined(inherited['set']) + elif self.extensible: + return inherited['writable'] # weird... + return False + + def has_property(self, prop): + assert type(prop) == unicode + # takes py returns Py + return self.get_property(prop) is not None + + def delete(self, prop, throw=False): + assert type(prop) == unicode + # takes py, returns py + desc = self.get_own_property(prop) + if desc is None: + return True + if desc['configurable']: + del self.own[prop] + return True + if throw: + raise MakeError('TypeError', 'Could not define own property') + return False + + def default_value(self, hint=None): + 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 is_callable(method): + cand = method.call(self, ()) + if is_primitive(cand): + return cand + raise MakeError('TypeError', + 'Cannot convert object to primitive value') + + def define_own_property( + self, prop, desc, + throw): # Internal use only. External through Object + assert type(prop) == unicode + # takes Py, returns Py + # 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 OWN property + if not extensible: + if throw: + raise MakeError('TypeError', + 'Could not define own property') + return False + # extensible must be True + 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 + # therefore current exists! + if not desc or desc == current: # We don't need to change anything. + return True + configurable = current['configurable'] + if not configurable: # Prevent changing params + if desc.get('configurable'): + if throw: + raise MakeError('TypeError', + 'Could not define own property') + return False + if 'enumerable' in desc and desc['enumerable'] != current[ + 'enumerable']: + if throw: + raise MakeError('TypeError', + 'Could not define own property') + return False + if is_generic_descriptor(desc): + pass + elif is_data_descriptor(current) != is_data_descriptor(desc): + # we want to change the current type of property + if not configurable: + if throw: + raise MakeError('TypeError', + 'Could not define own property') + return False + if is_data_descriptor(current): # from data to setter + del current['value'] + del current['writable'] + current['set'] = undefined # undefined + current['get'] = undefined # undefined + else: # from setter to data + 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'): + if throw: + raise MakeError('TypeError', + 'Could not define own property') + return False + if not current['writable'] and 'value' in desc and current[ + 'value'] != desc['value']: + if throw: + raise MakeError('TypeError', + 'Could not define own property') + return False + elif is_accessor_descriptor(current) and is_accessor_descriptor(desc): + if not configurable: + if 'set' in desc and desc['set'] != current['set']: + if throw: + raise MakeError('TypeError', + 'Could not define own property') + return False + if 'get' in desc and desc['get'] != current['get']: + if throw: + raise MakeError('TypeError', + 'Could not define own property') + return False + current.update(desc) + return True + + def create(self, args, space): + '''Generally not a constructor, raise an error''' + raise MakeError('TypeError', '%s is not a constructor' % self.Class) + + +def get_member( + self, prop, space +): # general member getter, prop has to be unconverted prop. it is it can be any value + typ = type(self) + if typ not in PRIMITIVES: # most likely getter for object + return self.get_member( + prop + ) # <- object can implement this to support faster prop getting. ex array. + elif typ == unicode: # then probably a String + if type(prop) == float and is_finite(prop): + index = int(prop) + if index == prop and 0 <= index < len(self): + return self[index] + s_prop = to_string(prop) + if s_prop == 'length': + return float(len(self)) + elif s_prop.isdigit(): + index = int(s_prop) + if 0 <= index < len(self): + return self[index] + # use standard string prototype + return space.StringPrototype.get(s_prop) + # maybe an index + elif typ == float: + # use standard number prototype + return space.NumberPrototype.get(to_string(prop)) + elif typ == bool: + return space.BooleanPrototype.get(to_string(prop)) + elif typ is UNDEFINED_TYPE: + raise MakeError('TypeError', + "Cannot read property '%s' of undefined" % prop) + elif typ is NULL_TYPE: + raise MakeError('TypeError', + "Cannot read property '%s' of null" % prop) + else: + raise RuntimeError('Unknown type! - ' + repr(typ)) + + +def get_member_dot(self, prop, space): + # dot member getter, prop has to be unicode + typ = type(self) + if typ not in PRIMITIVES: # most likely getter for object + return self.get(prop) + elif typ == unicode: # then probably a String + if prop == 'length': + return float(len(self)) + elif prop.isdigit(): + index = int(prop) + if 0 <= index < len(self): + return self[index] + else: + # use standard string prototype + return space.StringPrototype.get(prop) + # maybe an index + elif typ == float: + # use standard number prototype + return space.NumberPrototype.get(prop) + elif typ == bool: + return space.BooleanPrototype.get(prop) + elif typ in (UNDEFINED_TYPE, NULL_TYPE): + raise MakeError('TypeError', + "Cannot read property '%s' of undefined" % prop) + else: + raise RuntimeError('Unknown type! - ' + repr(typ)) + + +# Object + + +class PyJsObject(PyJs): + TYPE = 'Object' + Class = 'Object' + + def __init__(self, prototype=None): + self.prototype = prototype + self.own = {} + + def _init(self, props, vals): + i = 0 + for prop, kind in props: + if prop in self.own: # just check... probably will not happen very often. + if is_data_descriptor(self.own[prop]): + if kind != 'i': + raise MakeError( + 'SyntaxError', + 'Invalid object initializer! Duplicate property name "%s"' + % prop) + else: + if kind == 'i' or (kind == 'g' and 'get' in self.own[prop] + ) or (kind == 's' + and 'set' in self.own[prop]): + raise MakeError( + 'SyntaxError', + 'Invalid object initializer! Duplicate setter/getter of prop: "%s"' + % prop) + + if kind == 'i': # init + self.own[prop] = { + 'value': vals[i], + 'writable': True, + 'enumerable': True, + 'configurable': True + } + elif kind == 'g': # get + self.define_own_property(prop, { + 'get': vals[i], + 'enumerable': True, + 'configurable': True + }, False) + elif kind == 's': # get + self.define_own_property(prop, { + 'get': vals[i], + 'enumerable': True, + 'configurable': True + }, False) + else: + raise RuntimeError( + 'Invalid property kind - %s. Expected one of i, g, s.' % + repr(kind)) + i += 1 + + def _set_props(self, prop_descs): + for prop, desc in six.iteritems(prop_descs): + self.define_own_property(prop, desc) + + +# Array + + +# todo Optimise Array - extremely slow due to index conversions from str to int and back etc. +# solution - make get and put methods callable with any type of prop and handle conversions from inside +# if not array then use to_string(prop). In array if prop is integer then just use it +# also consider removal of these stupid writable, enumerable etc for ints. +class PyJsArray(PyJs): + Class = 'Array' + + def __init__(self, length, prototype=None): + self.prototype = prototype + self.own = { + 'length': { + 'value': float(length), + 'writable': True, + 'enumerable': False, + 'configurable': False + } + } + + def _init(self, elements): + for i, ele in enumerate(elements): + if ele is None: continue + self.own[unicode(i)] = { + 'value': ele, + 'writable': True, + 'enumerable': True, + 'configurable': True + } + + def put(self, prop, val, throw=False): + assert type(val) != int + # takes py, returns none + if not self.can_put(prop): + if throw: + raise MakeError('TypeError', 'Could not define own property') + return + own_desc = self.get_own_property(prop) + if is_data_descriptor(own_desc): + self.define_own_property(prop, {'value': val}, False) + return + desc = self.get_property(prop) + if is_accessor_descriptor(desc): + desc['set'].call( + self, (val, )) # calling setter on own or inherited element + else: # new property + self.define_own_property( + prop, { + 'value': val, + 'writable': True, + 'configurable': True, + 'enumerable': True + }, False) + + def define_own_property(self, prop, desc, throw): + assert type(desc.get('value')) != int + old_len_desc = self.get_own_property('length') + old_len = old_len_desc['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, False) + new_len = to_uint32(desc['value']) + if new_len != to_number(desc['value']): + raise MakeError('RangeError', 'Invalid range!') + new_desc = dict((k, v) for k, v in six.iteritems(desc)) + new_desc['value'] = float(new_len) + if new_len >= old_len: + return PyJs.define_own_property(self, prop, new_desc, False) + 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, False): + return False + if new_len < old_len: + # not very efficient for sparse arrays, so using different method for sparse: + if old_len > 30 * 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'] = old_len + 1. + if not new_writable: + new_desc['writable'] = False + PyJs.define_own_property( + self, prop, new_desc, False) + return False + old_len = new_len + else: # standard method + while new_len < old_len: + old_len -= 1 + if not self.delete( + unicode(int(old_len)) + ): # if failed to delete set len to current len and reject. + new_desc['value'] = old_len + 1. + if not new_writable: + new_desc['writable'] = False + PyJs.define_own_property(self, prop, new_desc, + False) + return False + if not new_writable: + self.own['length']['writable'] = False + return True + + elif prop.isdigit(): + index = to_uint32(prop) + if index >= old_len and not old_len_desc['writable']: + return False + if not PyJs.define_own_property(self, prop, desc, False): + return False + if index >= old_len: + old_len_desc['value'] = index + 1. + return True + else: + return PyJs.define_own_property(self, prop, desc, False) + + def to_list(self): + return [ + self.get(str(e)) for e in xrange(self.get('length').to_uint32()) + ] + + +# database with compiled patterns. Js pattern -> Py pattern. +REGEXP_DB = {} + + +class PyJsRegExp(PyJs): + Class = 'RegExp' + + def __init__(self, body, flags, prototype=None): + self.prototype = prototype + self.glob = True if 'g' in flags else False + self.ignore_case = re.IGNORECASE if 'i' in flags else 0 + self.multiline = re.MULTILINE if 'm' in flags else 0 + self.value = body + + if (body, flags) in REGEXP_DB: + self.pat = REGEXP_DB[body, flags] + else: + comp = None + try: + # converting JS regexp pattern to Py pattern. + possible_fixes = [(u'[]', u'[\0]'), (u'[^]', u'[^\0]'), + (u'nofix1791', u'nofix1791')] + reg = self.value + for fix, rep in possible_fixes: + comp = PyJsParser()._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 Exception() + REGEXP_DB[body, flags] = self.pat + except: + #print 'Invalid pattern...', self.value, comp + raise MakeError( + 'SyntaxError', + 'Invalid RegExp pattern: %s -> %s' % (repr(self.value), + repr(comp))) + # now set own properties: + self.own = { + 'source': { + 'value': self.value, + 'enumerable': False, + 'writable': False, + 'configurable': False + }, + 'global': { + 'value': self.glob, + 'enumerable': False, + 'writable': False, + 'configurable': False + }, + 'ignoreCase': { + 'value': bool(self.ignore_case), + 'enumerable': False, + 'writable': False, + 'configurable': False + }, + 'multiline': { + 'value': bool(self.multiline), + 'enumerable': False, + 'writable': False, + 'configurable': False + }, + 'lastIndex': { + 'value': 0., + 'enumerable': False, + 'writable': True, + 'configurable': False + } + } + + def match(self, string, pos): + '''string is of course a py string''' + return self.pat.match(string, int(pos)) + + +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', to_string(message)) + self.own['message']['enumerable'] = False + + +class PyJsDate(PyJs): + Class = 'Date' + UTCToLocal = None # todo UTC to local should be imported! + + 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( + self.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)' + ) + + +# Scope class it will hold all the variables accessible to user +class Scope(PyJs): + Class = 'Global' + extensible = True + IS_CHILD_SCOPE = True + THIS_BINDING = None + space = None + exe = None + + # 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, space, parent=None): + """Doc""" + self.space = space + self.prototype = parent + if type(scope) is not dict: + assert parent is not None, 'You initialised the WITH_SCOPE without a parent scope.' + self.own = scope + self.is_with_scope = True + else: + self.is_with_scope = False + if parent 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 + }, False) + else: + # not global, less powerful but faster closure. + self.own = scope # simple dictionary which maps name directly to js object. + + self.par = super(Scope, self) + self.stack = [] + + def register(self, var): + # registered keeps only global registered variables + if self.prototype is None: + # define in global scope + if var in self.own: + self.own[var]['configurable'] = False + else: + self.define_own_property( + var, { + 'value': undefined, + 'configurable': False, + 'writable': True, + 'enumerable': True + }, False) + elif var not in self.own: + # define in local scope since it has not been defined yet + self.own[var] = undefined # default value + + def registers(self, vars): + """register multiple variables""" + for var in vars: + self.register(var) + + def put(self, var, val, throw=False): + if self.prototype is None: + desc = self.own.get(var) # global scope + if desc is None: + self.par.put(var, val, False) + else: + if desc['writable']: # todo consider getters/setters + desc['value'] = val + else: + if self.is_with_scope: + if self.own.has_property(var): + return self.own.put(var, val, throw=throw) + else: + return self.prototype.put(var, val) + # trying to put in local scope + # we dont know yet in which scope we should place this var + elif var in self.own: + self.own[var] = 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(var, val) + + def get(self, var, throw=False): + if self.prototype is not None: + if self.is_with_scope: + cand = None if not self.own.has_property( + var) else self.own.get(var) + else: + # fast local scope + cand = self.own.get(var) + if cand is None: + return self.prototype.get(var, throw) + return cand + # slow, global scope + if var not in self.own: + # try in ObjectPrototype... + if var in self.space.ObjectPrototype.own: + return self.space.ObjectPrototype.get(var) + if throw: + raise MakeError('ReferenceError', '%s is not defined' % var) + return undefined + cand = self.own[var].get('value') + return cand if cand is not None else self.own[var]['get'].call(self) + + def delete(self, var, throw=False): + if self.prototype is not None: + if self.is_with_scope: + if self.own.has_property(var): + return self.own.delete(var) + elif var in self.own: + return False + return self.prototype.delete(var) + # we are in global scope here. Must exist and be configurable to delete + if var not in self.own: + # this var does not exist, why do you want to delete it??? + return True + if self.own[var]['configurable']: + del self.own[var] + return True + # not configurable, cant delete + return False + + +def get_new_arguments_obj(args, space): + obj = space.NewObject() + obj.Class = 'Arguments' + obj.define_own_property( + 'length', { + 'value': float(len(args)), + 'writable': True, + 'enumerable': False, + 'configurable': True + }, False) + for i, e in enumerate(args): + obj.put(unicode(i), e) + return obj + + +#Function +class PyJsFunction(PyJs): + Class = 'Function' + source = '{ [native code] }' + IS_CONSTRUCTOR = True + + def __init__(self, + code, + ctx, + params, + name, + space, + is_declaration, + definitions, + prototype=None): + self.prototype = prototype + self.own = {} + + self.code = code + if type( + self.code + ) == int: # just a label pointing to the beginning of the code. + self.is_native = False + else: + self.is_native = True # python function + + self.ctx = ctx + + self.params = params + self.arguments_in_params = 'arguments' in params + self.definitions = definitions + + # todo remove this check later + for p in params: + assert p in self.definitions + + self.name = name + self.space = space + self.is_declaration = is_declaration + + #set own property length to the number of arguments + self.own['length'] = { + 'value': float(len(params)), + 'writable': False, + 'enumerable': False, + 'configurable': False + } + + if name: + self.own['name'] = { + 'value': name, + 'writable': False, + 'enumerable': False, + 'configurable': True + } + + if not self.is_native: # set prototype for user defined functions + # constructor points to this function + proto = space.NewObject() + proto.own['constructor'] = { + 'value': self, + 'writable': True, + 'enumerable': False, + 'configurable': True + } + self.own['prototype'] = { + 'value': proto, + 'writable': True, + 'enumerable': False, + 'configurable': False + } + # todo set up throwers on callee and arguments if in strict mode + + def call(self, this, args=()): + ''' Dont use this method from inside bytecode to call other bytecode. ''' + if self.is_native: + _args = SpaceTuple( + args + ) # we have to do that unfortunately to pass all the necessary info to the funcs + _args.space = self.space + return self.code( + this, _args + ) # must return valid js object - undefined, null, float, unicode, bool, or PyJs + else: + return self.space.exe._call(self, this, + args) # will run inside bytecode + + def has_instance(self, other): + # I am not sure here so instanceof may not work lol. + if not is_object(other): + return False + proto = self.get('prototype') + if not is_object(proto): + raise MakeError( + 'TypeError', + 'Function has non-object prototype in instanceof check') + while True: + other = other.prototype + if not other: # todo make sure that the condition is not None or null + return False + if other is proto: + return True + + def create(self, args, space): + proto = self.get('prototype') + if not is_object(proto): + proto = space.ObjectPrototype + new = PyJsObject(prototype=proto) + res = self.call(new, args) + if is_object(res): + return res + return new + + def _generate_my_context(self, this, args): + my_ctx = Scope( + dict(izip(self.params, args)), self.space, parent=self.ctx) + my_ctx.registers(self.definitions) + my_ctx.THIS_BINDING = this + if not self.arguments_in_params: + my_ctx.own['arguments'] = get_new_arguments_obj(args, self.space) + if not self.is_declaration and self.name and self.name not in my_ctx.own: + my_ctx.own[ + self. + name] = self # this should be immutable binding but come on! + return my_ctx + + +class SpaceTuple: + def __init__(self, tup): + self.tup = tup + + def __len__(self): + return len(self.tup) + + def __getitem__(self, item): + return self.tup[item] + + def __iter__(self): + return iter(self.tup) diff --git a/lib/js2py/js2py_old/internals/byte_trans.py b/lib/js2py/js2py_old/internals/byte_trans.py new file mode 100644 index 00000000..e32bcb1e --- /dev/null +++ b/lib/js2py/js2py_old/internals/byte_trans.py @@ -0,0 +1,753 @@ +from .code import Code +from .simplex import MakeError +from .opcodes import * +from .operations import * +from .trans_utils import * + +SPECIAL_IDENTIFIERS = {'true', 'false', 'this'} + + +class ByteCodeGenerator: + def __init__(self, exe): + self.exe = exe + + self.declared_continue_labels = {} + self.declared_break_labels = {} + + self.implicit_breaks = [] + self.implicit_continues = [] + + self.declared_vars = [] + + self.function_declaration_tape = [] + + self.states = [] + + def record_state(self): + self.states.append( + (self.declared_continue_labels, self.declared_break_labels, + self.implicit_breaks, self.implicit_continues, self.declared_vars, + self.function_declaration_tape)) + self.declared_continue_labels, self.declared_break_labels, \ + self.implicit_breaks, self.implicit_continues, \ + self.declared_vars, self.function_declaration_tape = {}, {}, [], [], [], [] + + def restore_state(self): + self.declared_continue_labels, self.declared_break_labels, \ + self.implicit_breaks, self.implicit_continues, \ + self.declared_vars, self.function_declaration_tape = self.states.pop() + + def ArrayExpression(self, elements, **kwargs): + for e in elements: + if e is None: + self.emit('LOAD_NONE') + else: + self.emit(e) + self.emit('LOAD_ARRAY', len(elements)) + + def AssignmentExpression(self, operator, left, right, **kwargs): + operator = operator[:-1] + if left['type'] == 'MemberExpression': + self.emit(left['object']) + if left['computed']: + self.emit(left['property']) + self.emit(right) + if operator: + self.emit('STORE_MEMBER_OP', operator) + else: + self.emit('STORE_MEMBER') + else: + self.emit(right) + if operator: + self.emit('STORE_MEMBER_DOT_OP', left['property']['name'], + operator) + else: + self.emit('STORE_MEMBER_DOT', left['property']['name']) + elif left['type'] == 'Identifier': + if left['name'] in SPECIAL_IDENTIFIERS: + raise MakeError('SyntaxError', + 'Invalid left-hand side in assignment') + self.emit(right) + if operator: + self.emit('STORE_OP', left['name'], operator) + else: + self.emit('STORE', left['name']) + else: + raise MakeError('SyntaxError', + 'Invalid left-hand side in assignment') + + def BinaryExpression(self, operator, left, right, **kwargs): + self.emit(left) + self.emit(right) + self.emit('BINARY_OP', operator) + + def BlockStatement(self, body, **kwargs): + self._emit_statement_list(body) + + def BreakStatement(self, label, **kwargs): + if label is None: + self.emit('JUMP', self.implicit_breaks[-1]) + else: + label = label.get('name') + if label not in self.declared_break_labels: + raise MakeError('SyntaxError', + 'Undefined label \'%s\'' % label) + else: + self.emit('JUMP', self.declared_break_labels[label]) + + def CallExpression(self, callee, arguments, **kwargs): + if callee['type'] == 'MemberExpression': + self.emit(callee['object']) + if callee['computed']: + self.emit(callee['property']) + if arguments: + for e in arguments: + self.emit(e) + self.emit('LOAD_N_TUPLE', len(arguments)) + self.emit('CALL_METHOD') + else: + self.emit('CALL_METHOD_NO_ARGS') + else: + prop_name = to_key(callee['property']) + if arguments: + for e in arguments: + self.emit(e) + self.emit('LOAD_N_TUPLE', len(arguments)) + self.emit('CALL_METHOD_DOT', prop_name) + else: + self.emit('CALL_METHOD_DOT_NO_ARGS', prop_name) + else: + self.emit(callee) + if arguments: + for e in arguments: + self.emit(e) + self.emit('LOAD_N_TUPLE', len(arguments)) + self.emit('CALL') + else: + self.emit('CALL_NO_ARGS') + + def ClassBody(self, body, **kwargs): + raise NotImplementedError('Not available in ECMA 5.1') + + def ClassDeclaration(self, id, superClass, body, **kwargs): + raise NotImplementedError('Not available in ECMA 5.1') + + def ClassExpression(self, id, superClass, body, **kwargs): + raise NotImplementedError('Classes not available in ECMA 5.1') + + def ConditionalExpression(self, test, consequent, alternate, **kwargs): + alt = self.exe.get_new_label() + end = self.exe.get_new_label() + # ? + self.emit(test) + self.emit('JUMP_IF_FALSE', alt) + # first val + self.emit(consequent) + self.emit('JUMP', end) + # second val + self.emit('LABEL', alt) + self.emit(alternate) + # end of ?: statement + self.emit('LABEL', end) + + def ContinueStatement(self, label, **kwargs): + if label is None: + self.emit('JUMP', self.implicit_continues[-1]) + else: + label = label.get('name') + if label not in self.declared_continue_labels: + raise MakeError('SyntaxError', + 'Undefined label \'%s\'' % label) + else: + self.emit('JUMP', self.declared_continue_labels[label]) + + def DebuggerStatement(self, **kwargs): + self.EmptyStatement(**kwargs) + + def DoWhileStatement(self, body, test, **kwargs): + continue_label = self.exe.get_new_label() + break_label = self.exe.get_new_label() + initial_do = self.exe.get_new_label() + + self.emit('JUMP', initial_do) + self.emit('LABEL', continue_label) + self.emit(test) + self.emit('JUMP_IF_FALSE', break_label) + self.emit('LABEL', initial_do) + + # translate the body, remember to add and afterwards remove implicit break/continue labels + + self.implicit_continues.append(continue_label) + self.implicit_breaks.append(break_label) + self.emit(body) + self.implicit_continues.pop() + self.implicit_breaks.pop() + + self.emit('JUMP', continue_label) # loop back + self.emit('LABEL', break_label) + + def EmptyStatement(self, **kwargs): + # do nothing + pass + + def ExpressionStatement(self, expression, **kwargs): + # change the final stack value + # pop the previous value and execute expression + self.emit('POP') + self.emit(expression) + + def ForStatement(self, init, test, update, body, **kwargs): + continue_label = self.exe.get_new_label() + break_label = self.exe.get_new_label() + first_start = self.exe.get_new_label() + + if init is not None: + self.emit(init) + if init['type'] != 'VariableDeclaration': + self.emit('POP') + + # skip first update and go straight to test + self.emit('JUMP', first_start) + + self.emit('LABEL', continue_label) + if update: + self.emit(update) + self.emit('POP') + self.emit('LABEL', first_start) + if test: + self.emit(test) + self.emit('JUMP_IF_FALSE', break_label) + + # translate the body, remember to add and afterwards to remove implicit break/continue labels + + self.implicit_continues.append(continue_label) + self.implicit_breaks.append(break_label) + self.emit(body) + self.implicit_continues.pop() + self.implicit_breaks.pop() + + self.emit('JUMP', continue_label) # loop back + self.emit('LABEL', break_label) + + def ForInStatement(self, left, right, body, **kwargs): + # prepare the needed labels + body_start_label = self.exe.get_new_label() + continue_label = self.exe.get_new_label() + break_label = self.exe.get_new_label() + + # prepare the name + if left['type'] == 'VariableDeclaration': + if len(left['declarations']) != 1: + raise MakeError( + 'SyntaxError', + ' Invalid left-hand side in for-in loop: Must have a single binding.' + ) + self.emit(left) + name = left['declarations'][0]['id']['name'] + elif left['type'] == 'Identifier': + name = left['name'] + else: + raise MakeError('SyntaxError', + 'Invalid left-hand side in for-loop') + + # prepare the iterable + self.emit(right) + + # emit ForIn Opcode + self.emit('FOR_IN', name, body_start_label, continue_label, + break_label) + + # a special continue position + self.emit('LABEL', continue_label) + self.emit('NOP') + + self.emit('LABEL', body_start_label) + self.implicit_continues.append(continue_label) + self.implicit_breaks.append(break_label) + self.emit('LOAD_UNDEFINED') + self.emit(body) + self.implicit_continues.pop() + self.implicit_breaks.pop() + self.emit('NOP') + self.emit('LABEL', break_label) + self.emit('NOP') + + def FunctionDeclaration(self, id, params, defaults, body, **kwargs): + if defaults: + raise NotImplementedError('Defaults not available in ECMA 5.1') + + # compile function + self.record_state( + ) # cleans translator state and appends it to the stack so that it can be later restored + function_start = self.exe.get_new_label() + function_declarations = self.exe.get_new_label() + declarations_done = self.exe.get_new_label( + ) # put jump to this place at the and of function tape! + function_end = self.exe.get_new_label() + + # skip the function if encountered externally + self.emit('JUMP', function_end) + + self.emit('LABEL', function_start) + # call is made with empty stack so load undefined to fill it + self.emit('LOAD_UNDEFINED') + # declare all functions + self.emit('JUMP', function_declarations) + self.emit('LABEL', declarations_done) + self.function_declaration_tape.append(LABEL(function_declarations)) + + self.emit(body) + self.ReturnStatement(None) + + self.function_declaration_tape.append(JUMP(declarations_done)) + self.exe.tape.extend(self.function_declaration_tape) + + self.emit('LABEL', function_end) + declared_vars = self.declared_vars + self.restore_state() + + # create function object and append to stack + name = id.get('name') + assert name is not None + self.declared_vars.append(name) + self.function_declaration_tape.append( + LOAD_FUNCTION(function_start, tuple(p['name'] for p in params), + name, True, tuple(declared_vars))) + self.function_declaration_tape.append(STORE(name)) + self.function_declaration_tape.append(POP()) + + def FunctionExpression(self, id, params, defaults, body, **kwargs): + if defaults: + raise NotImplementedError('Defaults not available in ECMA 5.1') + + # compile function + self.record_state( + ) # cleans translator state and appends it to the stack so that it can be later restored + function_start = self.exe.get_new_label() + function_declarations = self.exe.get_new_label() + declarations_done = self.exe.get_new_label( + ) # put jump to this place at the and of function tape! + function_end = self.exe.get_new_label() + + # skip the function if encountered externally + self.emit('JUMP', function_end) + + self.emit('LABEL', function_start) + # call is made with empty stack so load undefined to fill it + self.emit('LOAD_UNDEFINED') + # declare all functions + self.emit('JUMP', function_declarations) + self.emit('LABEL', declarations_done) + self.function_declaration_tape.append(LABEL(function_declarations)) + + self.emit(body) + self.ReturnStatement(None) + + self.function_declaration_tape.append(JUMP(declarations_done)) + self.exe.tape.extend(self.function_declaration_tape) + + self.emit('LABEL', function_end) + declared_vars = self.declared_vars + self.restore_state() + + # create function object and append to stack + name = id.get('name') if id else None + self.emit('LOAD_FUNCTION', function_start, + tuple(p['name'] for p in params), name, False, + tuple(declared_vars)) + + def Identifier(self, name, **kwargs): + if name == 'true': + self.emit('LOAD_BOOLEAN', 1) + elif name == 'false': + self.emit('LOAD_BOOLEAN', 0) + elif name == 'undefined': + self.emit('LOAD_UNDEFINED') + else: + self.emit('LOAD', name) + + def IfStatement(self, test, consequent, alternate, **kwargs): + alt = self.exe.get_new_label() + end = self.exe.get_new_label() + # if + self.emit(test) + self.emit('JUMP_IF_FALSE', alt) + # consequent + self.emit(consequent) + self.emit('JUMP', end) + # alternate + self.emit('LABEL', alt) + if alternate is not None: + self.emit(alternate) + # end of if statement + self.emit('LABEL', end) + + def LabeledStatement(self, label, body, **kwargs): + label = label['name'] + if body['type'] in ('WhileStatement', 'DoWhileStatement', + 'ForStatement', 'ForInStatement'): + # Continue label available... Simply take labels defined by the loop. + # It is important that they request continue label first + self.declared_continue_labels[label] = self.exe._label_count + 1 + self.declared_break_labels[label] = self.exe._label_count + 2 + self.emit(body) + del self.declared_break_labels[label] + del self.declared_continue_labels[label] + else: + # only break label available + lbl = self.exe.get_new_label() + self.declared_break_labels[label] = lbl + self.emit(body) + self.emit('LABEL', lbl) + del self.declared_break_labels[label] + + def Literal(self, value, **kwargs): + if value is None: + self.emit('LOAD_NULL') + elif isinstance(value, bool): + self.emit('LOAD_BOOLEAN', int(value)) + elif isinstance(value, basestring): + self.emit('LOAD_STRING', unicode(value)) + elif isinstance(value, (float, int, long)): + self.emit('LOAD_NUMBER', float(value)) + elif isinstance(value, tuple): + self.emit('LOAD_REGEXP', *value) + else: + raise RuntimeError('Unsupported literal') + + def LogicalExpression(self, left, right, operator, **kwargs): + end = self.exe.get_new_label() + if operator == '&&': + # AND + self.emit(left) + self.emit('JUMP_IF_FALSE_WITHOUT_POP', end) + self.emit('POP') + self.emit(right) + self.emit('LABEL', end) + elif operator == '||': + # OR + self.emit(left) + self.emit('JUMP_IF_TRUE_WITHOUT_POP', end) + self.emit('POP') + self.emit(right) + self.emit('LABEL', end) + else: + raise RuntimeError("Unknown logical expression: %s" % operator) + + def MemberExpression(self, computed, object, property, **kwargs): + if computed: + self.emit(object) + self.emit(property) + self.emit('LOAD_MEMBER') + else: + self.emit(object) + self.emit('LOAD_MEMBER_DOT', property['name']) + + def NewExpression(self, callee, arguments, **kwargs): + self.emit(callee) + if arguments: + n = len(arguments) + for e in arguments: + self.emit(e) + self.emit('LOAD_N_TUPLE', n) + self.emit('NEW') + else: + self.emit('NEW_NO_ARGS') + + def ObjectExpression(self, properties, **kwargs): + data = [] + for prop in properties: + self.emit(prop['value']) + if prop['computed']: + raise NotImplementedError( + 'ECMA 5.1 does not support computed object properties!') + data.append((to_key(prop['key']), prop['kind'][0])) + self.emit('LOAD_OBJECT', tuple(data)) + + def Program(self, body, **kwargs): + old_tape_len = len(self.exe.tape) + self.emit('LOAD_UNDEFINED') + self.emit(body) + # add function tape ! + self.exe.tape = self.exe.tape[:old_tape_len] + self.function_declaration_tape + self.exe.tape[old_tape_len:] + + def Pyimport(self, imp, **kwargs): + raise NotImplementedError( + 'Not available for bytecode interpreter yet, use the Js2Py translator.' + ) + + def Property(self, kind, key, computed, value, method, shorthand, + **kwargs): + raise NotImplementedError('Not available in ECMA 5.1') + + def RestElement(self, argument, **kwargs): + raise NotImplementedError('Not available in ECMA 5.1') + + def ReturnStatement(self, argument, **kwargs): + self.emit('POP') # pop result of expression statements + if argument is None: + self.emit('LOAD_UNDEFINED') + else: + self.emit(argument) + self.emit('RETURN') + + def SequenceExpression(self, expressions, **kwargs): + for e in expressions: + self.emit(e) + self.emit('POP') + del self.exe.tape[-1] + + def SwitchCase(self, test, consequent, **kwargs): + raise NotImplementedError('Already implemented in SwitchStatement') + + def SwitchStatement(self, discriminant, cases, **kwargs): + self.emit(discriminant) + labels = [self.exe.get_new_label() for case in cases] + tests = [case['test'] for case in cases] + consequents = [case['consequent'] for case in cases] + end_of_switch = self.exe.get_new_label() + + # translate test cases + for test, label in zip(tests, labels): + if test is not None: + self.emit(test) + self.emit('JUMP_IF_EQ', label) + else: + self.emit('POP') + self.emit('JUMP', label) + # this will be executed if none of the cases worked + self.emit('POP') + self.emit('JUMP', end_of_switch) + + # translate consequents + self.implicit_breaks.append(end_of_switch) + for consequent, label in zip(consequents, labels): + self.emit('LABEL', label) + self._emit_statement_list(consequent) + self.implicit_breaks.pop() + + self.emit('LABEL', end_of_switch) + + def ThisExpression(self, **kwargs): + self.emit('LOAD_THIS') + + def ThrowStatement(self, argument, **kwargs): + # throw with the empty stack + self.emit('POP') + self.emit(argument) + self.emit('THROW') + + def TryStatement(self, block, handler, finalizer, **kwargs): + try_label = self.exe.get_new_label() + catch_label = self.exe.get_new_label() + finally_label = self.exe.get_new_label() + end_label = self.exe.get_new_label() + + self.emit('JUMP', end_label) + + # try block + self.emit('LABEL', try_label) + self.emit('LOAD_UNDEFINED') + self.emit(block) + self.emit( + 'NOP' + ) # needed to distinguish from break/continue vs some internal jumps + + # catch block + self.emit('LABEL', catch_label) + self.emit('LOAD_UNDEFINED') + if handler: + self.emit(handler['body']) + self.emit('NOP') + + # finally block + self.emit('LABEL', finally_label) + self.emit('LOAD_UNDEFINED') + if finalizer: + self.emit(finalizer) + self.emit('NOP') + + self.emit('LABEL', end_label) + + # give life to the code + self.emit('TRY_CATCH_FINALLY', try_label, catch_label, + handler['param']['name'] if handler else None, finally_label, + bool(finalizer), end_label) + + def UnaryExpression(self, operator, argument, **kwargs): + if operator == 'typeof' and argument[ + 'type'] == 'Identifier': # todo fix typeof + self.emit('TYPEOF', argument['name']) + elif operator == 'delete': + if argument['type'] == 'MemberExpression': + self.emit(argument['object']) + if argument['property']['type'] == 'Identifier': + self.emit('LOAD_STRING', + unicode(argument['property']['name'])) + else: + self.emit(argument['property']) + self.emit('DELETE_MEMBER') + elif argument['type'] == 'Identifier': + self.emit('DELETE', argument['name']) + else: + self.emit('LOAD_BOOLEAN', 1) + elif operator in UNARY_OPERATIONS: + self.emit(argument) + self.emit('UNARY_OP', operator) + else: + raise MakeError('SyntaxError', + 'Unknown unary operator %s' % operator) + + def UpdateExpression(self, operator, argument, prefix, **kwargs): + incr = int(operator == "++") + post = int(not prefix) + if argument['type'] == 'MemberExpression': + if argument['computed']: + self.emit(argument['object']) + self.emit(argument['property']) + self.emit('POSTFIX_MEMBER', post, incr) + else: + self.emit(argument['object']) + name = to_key(argument['property']) + self.emit('POSTFIX_MEMBER_DOT', post, incr, name) + elif argument['type'] == 'Identifier': + name = to_key(argument) + self.emit('POSTFIX', post, incr, name) + else: + raise MakeError('SyntaxError', + 'Invalid left-hand side in assignment') + + def VariableDeclaration(self, declarations, kind, **kwargs): + if kind != 'var': + raise NotImplementedError( + 'Only var variable declaration is supported by ECMA 5.1') + for d in declarations: + self.emit(d) + + def LexicalDeclaration(self, declarations, kind, **kwargs): + raise NotImplementedError('Not supported by ECMA 5.1') + + def VariableDeclarator(self, id, init, **kwargs): + name = id['name'] + if name in SPECIAL_IDENTIFIERS: + raise MakeError('Invalid left-hand side in assignment') + self.declared_vars.append(name) + if init is not None: + self.emit(init) + self.emit('STORE', name) + self.emit('POP') + + def WhileStatement(self, test, body, **kwargs): + continue_label = self.exe.get_new_label() + break_label = self.exe.get_new_label() + + self.emit('LABEL', continue_label) + self.emit(test) + self.emit('JUMP_IF_FALSE', break_label) + + # translate the body, remember to add and afterwards remove implicit break/continue labels + + self.implicit_continues.append(continue_label) + self.implicit_breaks.append(break_label) + self.emit(body) + self.implicit_continues.pop() + self.implicit_breaks.pop() + + self.emit('JUMP', continue_label) # loop back + self.emit('LABEL', break_label) + + def WithStatement(self, object, body, **kwargs): + beg_label = self.exe.get_new_label() + end_label = self.exe.get_new_label() + # scope + self.emit(object) + + # now the body + self.emit('JUMP', end_label) + self.emit('LABEL', beg_label) + self.emit('LOAD_UNDEFINED') + self.emit(body) + self.emit('NOP') + self.emit('LABEL', end_label) + + # with statement implementation + self.emit('WITH', beg_label, end_label) + + def _emit_statement_list(self, statements): + for statement in statements: + self.emit(statement) + + def emit(self, what, *args): + ''' what can be either name of the op, or node, or a list of statements.''' + if isinstance(what, basestring): + return self.exe.emit(what, *args) + elif isinstance(what, list): + self._emit_statement_list(what) + else: + return getattr(self, what['type'])(**what) + + +import os, codecs + + +def path_as_local(path): + if os.path.isabs(path): + return path + # relative to cwd + return os.path.join(os.getcwd(), path) + + +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 main(): + from space import Space + import fill_space + + from pyjsparser import parse + import json + a = ByteCodeGenerator(Code()) + + s = Space() + fill_space.fill_space(s, a) + + a.exe.space = s + s.exe = a.exe + con = get_file_contents('internals/esprima.js') + d = parse(con + ( + ''';JSON.stringify(exports.parse(%s), 4, 4)''' % json.dumps(con))) + # d = parse(''' + # function x(n) { + # log(n) + # return x(n+1) + # } + # x(0) + # ''') + + # var v = 333333; + # while (v) { + # v-- + # + # } + a.emit(d) + print(a.declared_vars) + print(a.exe.tape) + print(len(a.exe.tape)) + + a.exe.compile() + + def log(this, args): + print(args[0]) + return 999 + + print(a.exe.run(a.exe.space.GlobalObj)) + + +if __name__ == '__main__': + main() diff --git a/lib/js2py/js2py_old/internals/code.py b/lib/js2py/js2py_old/internals/code.py new file mode 100644 index 00000000..9af0e602 --- /dev/null +++ b/lib/js2py/js2py_old/internals/code.py @@ -0,0 +1,227 @@ +from .opcodes import * +from .space import * +from .base import * + + +class Code: + '''Can generate, store and run sequence of ops representing js code''' + + def __init__(self, is_strict=False, debug_mode=False): + self.tape = [] + self.compiled = False + self.label_locs = None + self.is_strict = is_strict + self.debug_mode = debug_mode + + self.contexts = [] + self.current_ctx = None + self.return_locs = [] + self._label_count = 0 + self.label_locs = None + + # useful references + self.GLOBAL_THIS = None + self.space = None + + # dbg + self.ctx_depth = 0 + + + def get_new_label(self): + self._label_count += 1 + return self._label_count + + def emit(self, op_code, *args): + ''' Adds op_code with specified args to tape ''' + self.tape.append(OP_CODES[op_code](*args)) + + def compile(self, start_loc=0): + ''' Records locations of labels and compiles the code ''' + self.label_locs = {} if self.label_locs is None else self.label_locs + loc = start_loc + while loc < len(self.tape): + if type(self.tape[loc]) == LABEL: + self.label_locs[self.tape[loc].num] = loc + del self.tape[loc] + continue + loc += 1 + self.compiled = True + + def _call(self, func, this, args): + ''' Calls a bytecode function func + NOTE: use !ONLY! when calling functions from native methods! ''' + assert not func.is_native + # fake call - the the runner to return to the end of the file + old_contexts = self.contexts + old_return_locs = self.return_locs + old_curr_ctx = self.current_ctx + + self.contexts = [FakeCtx()] + self.return_locs = [len(self.tape)] # target line after return + + # prepare my ctx + my_ctx = func._generate_my_context(this, args) + self.current_ctx = my_ctx + + # execute dunction + ret = self.run(my_ctx, starting_loc=self.label_locs[func.code]) + + # bring back old execution + self.current_ctx = old_curr_ctx + self.contexts = old_contexts + self.return_locs = old_return_locs + + return ret + + def execute_fragment_under_context(self, ctx, start_label, end_label): + ''' just like run but returns if moved outside of the specified fragment + # 4 different exectution results + # 0=normal, 1=return, 2=jump_outside, 3=errors + # execute_fragment_under_context returns: + # (return_value, typ, return_value/jump_loc/py_error) + # IMPARTANT: It is guaranteed that the length of the ctx.stack is unchanged. + ''' + old_curr_ctx = self.current_ctx + self.ctx_depth += 1 + old_stack_len = len(ctx.stack) + old_ret_len = len(self.return_locs) + old_ctx_len = len(self.contexts) + try: + self.current_ctx = ctx + return self._execute_fragment_under_context( + ctx, start_label, end_label) + except JsException as err: + if self.debug_mode: + self._on_fragment_exit("js errors") + # undo the things that were put on the stack (if any) to ensure a proper error recovery + del ctx.stack[old_stack_len:] + del self.return_locs[old_ret_len:] + del self.contexts[old_ctx_len :] + return undefined, 3, err + finally: + self.ctx_depth -= 1 + self.current_ctx = old_curr_ctx + assert old_stack_len == len(ctx.stack) + + def _get_dbg_indent(self): + return self.ctx_depth * ' ' + + def _on_fragment_exit(self, mode): + print(self._get_dbg_indent() + 'ctx exit (%s)' % mode) + + def _execute_fragment_under_context(self, ctx, start_label, end_label): + start, end = self.label_locs[start_label], self.label_locs[end_label] + initial_len = len(ctx.stack) + loc = start + entry_level = len(self.contexts) + # for e in self.tape[start:end]: + # print e + if self.debug_mode: + print(self._get_dbg_indent() + 'ctx entry (from:%d, to:%d)' % (start, end)) + while loc < len(self.tape): + if len(self.contexts) == entry_level and loc >= end: + if self.debug_mode: + self._on_fragment_exit('normal') + assert loc == end + delta_stack = len(ctx.stack) - initial_len + assert delta_stack == +1, 'Stack change must be equal to +1! got %d' % delta_stack + return ctx.stack.pop(), 0, None # means normal return + + # execute instruction + if self.debug_mode: + print(self._get_dbg_indent() + str(loc), self.tape[loc]) + status = self.tape[loc].eval(ctx) + + # check status for special actions + if status is not None: + if type(status) == int: # jump to label + loc = self.label_locs[status] + if len(self.contexts) == entry_level: + # check if jumped outside of the fragment and break if so + if not start <= loc < end: + if self.debug_mode: + self._on_fragment_exit('jump outside loc:%d label:%d' % (loc, status)) + delta_stack = len(ctx.stack) - initial_len + assert delta_stack == +1, 'Stack change must be equal to +1! got %d' % delta_stack + return ctx.stack.pop(), 2, status # jump outside + continue + + elif len(status) == 2: # a call or a return! + # call: (new_ctx, func_loc_label_num) + if status[0] is not None: + # append old state to the stack + self.contexts.append(ctx) + self.return_locs.append(loc + 1) + # set new state + loc = self.label_locs[status[1]] + ctx = status[0] + self.current_ctx = ctx + continue + + # return: (None, None) + else: + if len(self.contexts) == entry_level: + if self.debug_mode: + self._on_fragment_exit('return') + delta_stack = len(ctx.stack) - initial_len + assert delta_stack == +1, 'Stack change must be equal to +1! got %d' % delta_stack + return undefined, 1, ctx.stack.pop( + ) # return signal + return_value = ctx.stack.pop() + ctx = self.contexts.pop() + self.current_ctx = ctx + ctx.stack.append(return_value) + + loc = self.return_locs.pop() + continue + # next instruction + loc += 1 + if self.debug_mode: + self._on_fragment_exit('internal error - unexpected end of tape, will crash') + assert False, 'Remember to add NOP at the end!' + + def run(self, ctx, starting_loc=0): + loc = starting_loc + self.current_ctx = ctx + while loc < len(self.tape): + # execute instruction + if self.debug_mode: + print(loc, self.tape[loc]) + status = self.tape[loc].eval(ctx) + + # check status for special actions + if status is not None: + if type(status) == int: # jump to label + loc = self.label_locs[status] + continue + + elif len(status) == 2: # a call or a return! + # call: (new_ctx, func_loc_label_num) + if status[0] is not None: + # append old state to the stack + self.contexts.append(ctx) + self.return_locs.append(loc + 1) + # set new state + loc = self.label_locs[status[1]] + ctx = status[0] + self.current_ctx = ctx + continue + + # return: (None, None) + else: + return_value = ctx.stack.pop() + ctx = self.contexts.pop() + self.current_ctx = ctx + ctx.stack.append(return_value) + + loc = self.return_locs.pop() + continue + # next instruction + loc += 1 + assert len(ctx.stack) == 1, ctx.stack + return ctx.stack.pop() + + +class FakeCtx(object): + def __init__(self): + self.stack = [] diff --git a/lib/js2py/js2py_old/internals/constructors/__init__.py b/lib/js2py/js2py_old/internals/constructors/__init__.py new file mode 100644 index 00000000..4bf95623 --- /dev/null +++ b/lib/js2py/js2py_old/internals/constructors/__init__.py @@ -0,0 +1 @@ +__author__ = 'Piotr Dabkowski' \ No newline at end of file diff --git a/lib/js2py/js2py_old/internals/constructors/jsarray.py b/lib/js2py/js2py_old/internals/constructors/jsarray.py new file mode 100644 index 00000000..23364ce4 --- /dev/null +++ b/lib/js2py/js2py_old/internals/constructors/jsarray.py @@ -0,0 +1,28 @@ +from ..conversions import * +from ..func_utils import * + + +def Array(this, args): + return ArrayConstructor(args, args.space) + + +def ArrayConstructor(args, space): + if len(args) == 1: + l = get_arg(args, 0) + if type(l) == float: + if to_uint32(l) == l: + return space.NewArray(l) + else: + raise MakeError( + 'RangeError', + 'Invalid length specified for Array constructor (must be uint32)' + ) + else: + return space.ConstructArray([l]) + else: + return space.ConstructArray(list(args)) + + +def isArray(this, args): + x = get_arg(args, 0) + return is_object(x) and x.Class == u'Array' diff --git a/lib/js2py/js2py_old/internals/constructors/jsboolean.py b/lib/js2py/js2py_old/internals/constructors/jsboolean.py new file mode 100644 index 00000000..17025d9f --- /dev/null +++ b/lib/js2py/js2py_old/internals/constructors/jsboolean.py @@ -0,0 +1,14 @@ +from ..conversions import * +from ..func_utils import * + + +def Boolean(this, args): + return to_boolean(get_arg(args, 0)) + + +def BooleanConstructor(args, space): + temp = space.NewObject() + temp.prototype = space.BooleanPrototype + temp.Class = 'Boolean' + temp.value = to_boolean(get_arg(args, 0)) + return temp diff --git a/lib/js2py/js2py_old/internals/constructors/jsconsole.py b/lib/js2py/js2py_old/internals/constructors/jsconsole.py new file mode 100644 index 00000000..6840ba70 --- /dev/null +++ b/lib/js2py/js2py_old/internals/constructors/jsconsole.py @@ -0,0 +1,11 @@ +from __future__ import unicode_literals + +from js2py.internals.conversions import * +from js2py.internals.func_utils import * + + +class ConsoleMethods: + def log(this, args): + x = ' '.join(to_string(e) for e in args) + print(x) + return undefined diff --git a/lib/js2py/js2py_old/internals/constructors/jsdate.py b/lib/js2py/js2py_old/internals/constructors/jsdate.py new file mode 100644 index 00000000..98de6431 --- /dev/null +++ b/lib/js2py/js2py_old/internals/constructors/jsdate.py @@ -0,0 +1,405 @@ +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: + try: + dt = datetime.datetime.strptime(py_string, "%Y-%m-%dT%H:%M:%S.%fZ") + except: + dt = datetime.datetime.strptime(py_string, "%Y-%m-%dT%H:%M:%SZ") + 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) < n: + s = '0' * (n - len(s)) + s + if not sign: + return s + if num >= 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 +}) diff --git a/lib/js2py/internals/constructors/jsfunction.py b/lib/js2py/js2py_old/internals/constructors/jsfunction.py similarity index 100% rename from lib/js2py/internals/constructors/jsfunction.py rename to lib/js2py/js2py_old/internals/constructors/jsfunction.py diff --git a/lib/js2py/js2py_old/internals/constructors/jsmath.py b/lib/js2py/js2py_old/internals/constructors/jsmath.py new file mode 100644 index 00000000..3eb44616 --- /dev/null +++ b/lib/js2py/js2py_old/internals/constructors/jsmath.py @@ -0,0 +1,157 @@ +from __future__ import unicode_literals + +from ..conversions import * +from ..func_utils import * + +import math +import random + +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 +} + + +class MathFunctions: + def abs(this, args): + x = get_arg(args, 0) + a = to_number(x) + if a != a: # it must be a nan + return NaN + return abs(a) + + def acos(this, args): + x = get_arg(args, 0) + a = to_number(x) + if a != a: # it must be a nan + return NaN + try: + return math.acos(a) + except: + return NaN + + def asin(this, args): + x = get_arg(args, 0) + a = to_number(x) + if a != a: # it must be a nan + return NaN + try: + return math.asin(a) + except: + return NaN + + def atan(this, args): + x = get_arg(args, 0) + a = to_number(x) + if a != a: # it must be a nan + return NaN + return math.atan(a) + + def atan2(this, args): + x = get_arg(args, 0) + y = get_arg(args, 1) + a = to_number(x) + b = to_number(y) + if a != a or b != b: # it must be a nan + return NaN + return math.atan2(a, b) + + def ceil(this, args): + x = get_arg(args, 0) + a = to_number(x) + if a != a: # it must be a nan + return NaN + return float(math.ceil(a)) + + def floor(this, args): + x = get_arg(args, 0) + a = to_number(x) + if a != a: # it must be a nan + return NaN + return float(math.floor(a)) + + def round(this, args): + x = get_arg(args, 0) + a = to_number(x) + if a != a: # it must be a nan + return NaN + return float(round(a)) + + def sin(this, args): + x = get_arg(args, 0) + a = to_number(x) + if not is_finite(a): # it must be a nan + return NaN + return math.sin(a) + + def cos(this, args): + x = get_arg(args, 0) + a = to_number(x) + if not is_finite(a): # it must be a nan + return NaN + return math.cos(a) + + def tan(this, args): + x = get_arg(args, 0) + a = to_number(x) + if not is_finite(a): # it must be a nan + return NaN + return math.tan(a) + + def log(this, args): + x = get_arg(args, 0) + a = to_number(x) + if a != a: # it must be a nan + return NaN + try: + return math.log(a) + except: + return NaN + + def exp(this, args): + x = get_arg(args, 0) + a = to_number(x) + if a != a: # it must be a nan + return NaN + return math.exp(a) + + def pow(this, args): + x = get_arg(args, 0) + y = get_arg(args, 1) + a = to_number(x) + b = to_number(y) + if a != a or b != b: # it must be a nan + return NaN + try: + return a**b + except: + return NaN + + def sqrt(this, args): + x = get_arg(args, 0) + a = to_number(x) + if a != a: # it must be a nan + return NaN + try: + return a**0.5 + except: + return NaN + + def min(this, args): + if len(args) == 0: + return Infinity + return min(map(to_number, tuple(args))) + + def max(this, args): + if len(args) == 0: + return -Infinity + return max(map(to_number, tuple(args))) + + def random(this, args): + return random.random() diff --git a/lib/js2py/js2py_old/internals/constructors/jsnumber.py b/lib/js2py/js2py_old/internals/constructors/jsnumber.py new file mode 100644 index 00000000..276b7cfa --- /dev/null +++ b/lib/js2py/js2py_old/internals/constructors/jsnumber.py @@ -0,0 +1,27 @@ +from __future__ import unicode_literals + +from ..conversions import * +from ..func_utils import * + + +def Number(this, args): + if len(args) == 0: + return 0. + return to_number(args[0]) + + +def NumberConstructor(args, space): + temp = space.NewObject() + temp.prototype = space.NumberPrototype + temp.Class = 'Number' + temp.value = float(to_number(get_arg(args, 0)) if len(args) > 0 else 0.) + return temp + + +CONSTS = { + 'MAX_VALUE': 1.7976931348623157e308, + 'MIN_VALUE': 5.0e-324, + 'NaN': NaN, + 'NEGATIVE_INFINITY': Infinity, + 'POSITIVE_INFINITY': -Infinity +} diff --git a/lib/js2py/js2py_old/internals/constructors/jsobject.py b/lib/js2py/js2py_old/internals/constructors/jsobject.py new file mode 100644 index 00000000..06fdbbb0 --- /dev/null +++ b/lib/js2py/js2py_old/internals/constructors/jsobject.py @@ -0,0 +1,204 @@ +from __future__ import unicode_literals +from ..conversions import * +from ..func_utils import * +from ..base import is_data_descriptor +import six + + +def Object(this, args): + val = get_arg(args, 0) + if is_null(val) or is_undefined(val): + return args.space.NewObject() + return to_object(val, args.space) + + +def ObjectCreate(args, space): + if len(args): + val = get_arg(args, 0) + if is_object(val): + # Implementation dependent, but my will simply return :) + return val + elif type(val) in (NUMBER_TYPE, STRING_TYPE, BOOLEAN_TYPE): + return to_object(val, space) + return space.NewObject() + + +class ObjectMethods: + def getPrototypeOf(this, args): + obj = get_arg(args, 0) + if not is_object(obj): + raise MakeError('TypeError', + 'Object.getPrototypeOf called on non-object') + return null if obj.prototype is None else obj.prototype + + def getOwnPropertyDescriptor(this, args): + obj = get_arg(args, 0) + prop = get_arg(args, 1) + if not is_object(obj): + raise MakeError( + 'TypeError', + 'Object.getOwnPropertyDescriptor called on non-object') + desc = obj.own.get(to_string(prop)) + return convert_to_js_type(desc, args.space) + + def getOwnPropertyNames(this, args): + obj = get_arg(args, 0) + if not is_object(obj): + raise MakeError( + 'TypeError', + 'Object.getOwnPropertyDescriptor called on non-object') + return args.space.ConstructArray(obj.own.keys()) + + def create(this, args): + obj = get_arg(args, 0) + if not (is_object(obj) or is_null(obj)): + raise MakeError('TypeError', + 'Object prototype may only be an Object or null') + temp = args.space.NewObject() + temp.prototype = None if is_null(obj) else obj + if len(args) > 1 and not is_undefined(args[1]): + if six.PY2: + args.tup = (args[1], ) + ObjectMethods.defineProperties.__func__(temp, args) + else: + args.tup = (args[1], ) + ObjectMethods.defineProperties(temp, args) + return temp + + def defineProperty(this, args): + obj = get_arg(args, 0) + prop = get_arg(args, 1) + attrs = get_arg(args, 2) + if not is_object(obj): + raise MakeError('TypeError', + 'Object.defineProperty called on non-object') + name = to_string(prop) + if not obj.define_own_property(name, ToPropertyDescriptor(attrs), + False): + raise MakeError('TypeError', 'Cannot redefine property: %s' % name) + return obj + + def defineProperties(this, args): + obj = get_arg(args, 0) + properties = get_arg(args, 1) + if not is_object(obj): + raise MakeError('TypeError', + 'Object.defineProperties called on non-object') + props = to_object(properties, args.space) + for k, v in props.own.items(): + if not v.get('enumerable'): + continue + desc = ToPropertyDescriptor(props.get(unicode(k))) + if not obj.define_own_property(unicode(k), desc, False): + raise MakeError('TypeError', + 'Failed to define own property: %s' % k) + return obj + + def seal(this, args): + obj = get_arg(args, 0) + if not is_object(obj): + 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(this, args): + obj = get_arg(args, 0) + if not is_object(obj): + 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(this, args): + obj = get_arg(args, 0) + if not is_object(obj): + raise MakeError('TypeError', + 'Object.preventExtensions on non-object') + obj.extensible = False + return obj + + def isSealed(this, args): + obj = get_arg(args, 0) + if not is_object(obj): + raise MakeError('TypeError', + 'Object.isSealed called on non-object') + if obj.extensible: + return False + for desc in obj.own.values(): + if desc.get('configurable'): + return False + return True + + def isFrozen(this, args): + obj = get_arg(args, 0) + if not is_object(obj): + raise MakeError('TypeError', + 'Object.isFrozen called on non-object') + if obj.extensible: + return False + for desc in obj.own.values(): + if desc.get('configurable'): + return False + if is_data_descriptor(desc) and desc.get('writable'): + return False + return True + + def isExtensible(this, args): + obj = get_arg(args, 0) + if not is_object(obj): + raise MakeError('TypeError', + 'Object.isExtensible called on non-object') + return obj.extensible + + def keys(this, args): + obj = get_arg(args, 0) + if not is_object(obj): + raise MakeError('TypeError', 'Object.keys called on non-object') + return args.space.ConstructArray([ + unicode(e) for e, d in six.iteritems(obj.own) + if d.get('enumerable') + ]) + + +# some utility functions: + + +def ToPropertyDescriptor(obj): # page 38 (50 absolute) + if not is_object(obj): + raise MakeError('TypeError', + 'Can\'t convert non-object to property descriptor') + desc = {} + if obj.has_property('enumerable'): + desc['enumerable'] = to_boolean(obj.get('enumerable')) + if obj.has_property('configurable'): + desc['configurable'] = to_boolean(obj.get('configurable')) + if obj.has_property('value'): + desc['value'] = obj.get('value') + if obj.has_property('writable'): + desc['writable'] = to_boolean(obj.get('writable')) + if obj.has_property('get'): + cand = obj.get('get') + if not (is_undefined(cand) or is_callable(cand)): + 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 (is_undefined(cand) or is_callable(cand)): + 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/js2py_old/internals/constructors/jsregexp.py b/lib/js2py/js2py_old/internals/constructors/jsregexp.py new file mode 100644 index 00000000..7b264fdb --- /dev/null +++ b/lib/js2py/js2py_old/internals/constructors/jsregexp.py @@ -0,0 +1,41 @@ +from __future__ import unicode_literals +from ..conversions import * +from ..func_utils import * +from ..base import SpaceTuple + +REG_EXP_FLAGS = ('g', 'i', 'm') + + +def RegExp(this, args): + pattern = get_arg(args, 0) + flags = get_arg(args, 1) + if GetClass(pattern) == 'RegExp': + if not is_undefined(flags): + raise MakeError( + 'TypeError', + 'Cannot supply flags when constructing one RegExp from another' + ) + # return unchanged + return pattern + #pattern is not a regexp + if is_undefined(pattern): + pattern = u'' + else: + pattern = to_string(pattern) + flags = to_string(flags) if not is_undefined(flags) else u'' + 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) + return args.space.NewRegExp(pattern, flags) + + +def RegExpCreate(args, space): + _args = SpaceTuple(args) + _args.space = space + return RegExp(undefined, _args) diff --git a/lib/js2py/js2py_old/internals/constructors/jsstring.py b/lib/js2py/js2py_old/internals/constructors/jsstring.py new file mode 100644 index 00000000..f2b43831 --- /dev/null +++ b/lib/js2py/js2py_old/internals/constructors/jsstring.py @@ -0,0 +1,23 @@ +from ..conversions import * +from ..func_utils import * + + +def fromCharCode(this, args): + res = u'' + for e in args: + res += unichr(to_uint16(e)) + return res + + +def String(this, args): + if len(args) == 0: + return u'' + return to_string(args[0]) + + +def StringConstructor(args, space): + temp = space.NewObject() + temp.prototype = space.StringPrototype + temp.Class = 'String' + temp.value = to_string(get_arg(args, 0)) if len(args) > 0 else u'' + return temp diff --git a/lib/js2py/js2py_old/internals/constructors/time_helpers.py b/lib/js2py/js2py_old/internals/constructors/time_helpers.py new file mode 100644 index 00000000..eda95fb6 --- /dev/null +++ b/lib/js2py/js2py_old/internals/constructors/time_helpers.py @@ -0,0 +1,209 @@ +from __future__ import unicode_literals + +# 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/js2py_old/internals/conversions.py b/lib/js2py/js2py_old/internals/conversions.py new file mode 100644 index 00000000..8b2c7c30 --- /dev/null +++ b/lib/js2py/js2py_old/internals/conversions.py @@ -0,0 +1,141 @@ +from __future__ import unicode_literals +# Type Conversions. to_type. All must return PyJs subclass instance +from .simplex import * + + +def to_primitive(self, hint=None): + if is_primitive(self): + 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': # false only for 0, and NaN + return self and self == self # test for nan (nan -> flase) + elif typ == 'String': + return bool(self) + else: # object - always True + return True + + +def to_number(self): + typ = Type(self) + if typ == 'Number': # or self.Class=='Number': # no need to convert + return self + elif typ == 'Null': # null is 0 + return 0. + elif typ == 'Undefined': # undefined is NaN + return NaN + elif typ == 'Boolean': # 1 for True 0 for false + return float(self) + elif typ == 'String': + s = self.strip() # Strip white space + if not s: # '' is simply 0 + return 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 float(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 sign * Infinity + try: # decimal try + num = sign * float(s) # Converted + except ValueError: + return NaN # could not convert to decimal > return NaN + return float(num) + else: # object - most likely it will be NaN. + return to_number(to_primitive(self, 'Number')) + + +def to_string(self): + typ = Type(self) + if typ == 'String': + return self + elif typ == 'Null': + return 'null' + elif typ == 'Undefined': + return 'undefined' + elif typ == 'Boolean': + return 'true' if self else 'false' + elif typ == 'Number': # or self.Class=='Number': + return js_dtoa(self) + else: # object + return to_string(to_primitive(self, 'String')) + + +def to_object(self, space): + typ = Type(self) + if typ == 'Object': + return self + elif typ == 'Boolean': # Unsure ... todo check here + return space.Boolean.create((self, ), space) + elif typ == 'Number': # ? + return space.Number.create((self, ), space) + elif typ == 'String': # ? + return space.String.create((self, ), space) + elif typ == 'Null' or typ == 'Undefined': + raise MakeError('TypeError', + 'undefined or null can\'t be converted to object') + else: + raise RuntimeError() + + +def to_int32(self): + num = to_number(self) + if is_nan(num) or is_infinity(num): + return 0 + int32 = int(num) % 2**32 + return int(int32 - 2**32 if int32 >= 2**31 else int32) + + +def to_int(self): + num = to_number(self) + if is_nan(num): + return 0 + elif is_infinity(num): + return 10**20 if num > 0 else -10**20 + return int(num) + + +def to_uint32(self): + num = to_number(self) + if is_nan(num) or is_infinity(num): + return 0 + return int(num) % 2**32 + + +def to_uint16(self): + num = to_number(self) + if is_nan(num) or is_infinity(num): + return 0 + return int(num) % 2**16 + + +def to_int16(self): + num = to_number(self) + if is_nan(num) or is_infinity(num): + return 0 + int16 = int(num) % 2**16 + return int(int16 - 2**16 if int16 >= 2**15 else int16) + + +def cok(self): + """Check object coercible""" + if type(self) in (UNDEFINED_TYPE, NULL_TYPE): + raise MakeError('TypeError', + 'undefined or null can\'t be converted to object') diff --git a/lib/js2py/js2py_old/internals/desc.py b/lib/js2py/js2py_old/internals/desc.py new file mode 100644 index 00000000..e81179c2 --- /dev/null +++ b/lib/js2py/js2py_old/internals/desc.py @@ -0,0 +1,90 @@ +# todo make sure what they mean by desc undefined? None or empty? Answer: None :) it can never be empty but None is sometimes returned. + +# I am implementing everything as dicts to speed up property creation + +# Warning: value, get, set props of dest are PyJs types. Rest is Py! + + +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 +): # generic means not the data and not the setter - therefore it must be one that changes only enum and conf + return desc and not (is_data_descriptor(desc) + or is_accessor_descriptor(desc)) + + +def from_property_descriptor(desc, space): + if not desc: + return {} + obj = space.NewObject() + if is_data_descriptor(desc): + obj.define_own_property( + 'value', { + 'value': desc['value'], + 'writable': True, + 'enumerable': True, + 'configurable': True + }, False) + obj.define_own_property( + 'writable', { + 'value': desc['writable'], + 'writable': True, + 'enumerable': True, + 'configurable': True + }, False) + else: + obj.define_own_property( + 'get', { + 'value': desc['get'], + 'writable': True, + 'enumerable': True, + 'configurable': True + }, False) + obj.define_own_property( + 'set', { + 'value': desc['set'], + 'writable': True, + 'enumerable': True, + 'configurable': True + }, False) + obj.define_own_property( + 'writable', { + 'value': desc['writable'], + 'writable': True, + 'enumerable': True, + 'configurable': True + }, False) + obj.define_own_property( + 'enumerable', { + 'value': desc['enumerable'], + 'writable': True, + 'enumerable': True, + 'configurable': True + }, False) + return obj + + +def to_property_descriptor(obj): + if obj._type() != 'Object': + raise TypeError() + desc = {} + for e in ('enumerable', 'configurable', 'writable'): + if obj.has_property(e): + desc[e] = obj.get(e).to_boolean().value + if obj.has_property('value'): + desc['value'] = obj.get('value') + for e in ('get', 'set'): + if obj.has_property(e): + cand = obj.get(e) + if not (cand.is_callable() or cand.is_undefined()): + raise TypeError() + if ('get' in desc or 'set' in desc) and ('value' in desc + or 'writable' in desc): + raise TypeError() diff --git a/lib/js2py/js2py_old/internals/fill_space.py b/lib/js2py/js2py_old/internals/fill_space.py new file mode 100644 index 00000000..329c8b28 --- /dev/null +++ b/lib/js2py/js2py_old/internals/fill_space.py @@ -0,0 +1,281 @@ +from __future__ import unicode_literals + +from .base import Scope +from .func_utils import * +from .conversions import * +import six +from .prototypes.jsboolean import BooleanPrototype +from .prototypes.jserror import ErrorPrototype +from .prototypes.jsfunction import FunctionPrototype +from .prototypes.jsnumber import NumberPrototype +from .prototypes.jsobject import ObjectPrototype +from .prototypes.jsregexp import RegExpPrototype +from .prototypes.jsstring import StringPrototype +from .prototypes.jsarray import ArrayPrototype +from .prototypes import jsjson +from .prototypes import jsutils + +from .constructors import jsnumber, jsstring, jsarray, jsboolean, jsregexp, jsmath, jsobject, jsfunction, jsconsole + + + +def fill_proto(proto, proto_class, space): + for i in dir(proto_class): + e = getattr(proto_class, i) + if six.PY2: + if hasattr(e, '__func__'): + meth = e.__func__ + else: + continue + else: + if hasattr(e, '__call__') and not i.startswith('__'): + meth = e + else: + continue + meth_name = meth.__name__.strip('_') # RexExp._exec -> RegExp.exec + js_meth = space.NewFunction(meth, space.ctx, (), meth_name, False, ()) + set_non_enumerable(proto, meth_name, js_meth) + return proto + + +def easy_func(f, space): + return space.NewFunction(f, space.ctx, (), f.__name__, False, ()) + + +def Empty(this, args): + return undefined + + +def set_non_enumerable(obj, name, prop): + obj.define_own_property( + unicode(name), { + 'value': prop, + 'writable': True, + 'enumerable': False, + 'configurable': True + }, True) + + +def set_protected(obj, name, prop): + obj.define_own_property( + unicode(name), { + 'value': prop, + 'writable': False, + 'enumerable': False, + 'configurable': False + }, True) + + +def fill_space(space, byte_generator): + # set global scope + global_scope = Scope({}, space, parent=None) + global_scope.THIS_BINDING = global_scope + global_scope.registers(byte_generator.declared_vars) + space.GlobalObj = global_scope + + space.byte_generator = byte_generator + + # first init all protos, later take care of constructors and details + + # Function must be first obviously, we have to use a small trick to do that... + function_proto = space.NewFunction(Empty, space.ctx, (), 'Empty', False, + ()) + space.FunctionPrototype = function_proto # this will fill the prototypes of the methods! + fill_proto(function_proto, FunctionPrototype, space) + + # Object next + object_proto = space.NewObject() # no proto + fill_proto(object_proto, ObjectPrototype, space) + space.ObjectPrototype = object_proto + function_proto.prototype = object_proto + + # Number + number_proto = space.NewObject() + number_proto.prototype = object_proto + fill_proto(number_proto, NumberPrototype, space) + number_proto.value = 0. + number_proto.Class = 'Number' + space.NumberPrototype = number_proto + + # String + string_proto = space.NewObject() + string_proto.prototype = object_proto + fill_proto(string_proto, StringPrototype, space) + string_proto.value = u'' + string_proto.Class = 'String' + space.StringPrototype = string_proto + + # Boolean + boolean_proto = space.NewObject() + boolean_proto.prototype = object_proto + fill_proto(boolean_proto, BooleanPrototype, space) + boolean_proto.value = False + boolean_proto.Class = 'Boolean' + space.BooleanPrototype = boolean_proto + + # Array + array_proto = space.NewArray(0) + array_proto.prototype = object_proto + fill_proto(array_proto, ArrayPrototype, space) + space.ArrayPrototype = array_proto + + # JSON + json = space.NewObject() + json.put(u'stringify', easy_func(jsjson.stringify, space)) + json.put(u'parse', easy_func(jsjson.parse, space)) + + # Utils + parseFloat = easy_func(jsutils.parseFloat, space) + parseInt = easy_func(jsutils.parseInt, space) + isNaN = easy_func(jsutils.isNaN, space) + isFinite = easy_func(jsutils.isFinite, space) + + # Error + error_proto = space.NewError(u'Error', u'') + error_proto.prototype = object_proto + error_proto.put(u'name', u'Error') + fill_proto(error_proto, ErrorPrototype, space) + space.ErrorPrototype = error_proto + + def construct_constructor(typ): + def creator(this, args): + message = get_arg(args, 0) + if not is_undefined(message): + msg = to_string(message) + else: + msg = u'' + return space.NewError(typ, msg) + + j = easy_func(creator, space) + j.name = unicode(typ) + + set_protected(j, 'prototype', space.ERROR_TYPES[typ]) + + set_non_enumerable(space.ERROR_TYPES[typ], 'constructor', j) + + def new_create(args, space): + message = get_arg(args, 0) + if not is_undefined(message): + msg = to_string(message) + else: + msg = u'' + return space.NewError(typ, msg) + + j.create = new_create + return j + + # fill remaining error types + error_constructors = {} + for err_type_name in (u'Error', u'EvalError', u'RangeError', + u'ReferenceError', u'SyntaxError', u'TypeError', + u'URIError'): + extra_err = space.NewError(u'Error', u'') + extra_err.put(u'name', err_type_name) + setattr(space, err_type_name + u'Prototype', extra_err) + error_constructors[err_type_name] = construct_constructor( + err_type_name) + + assert space.TypeErrorPrototype is not None + + # RegExp + regexp_proto = space.NewRegExp(u'(?:)', u'') + regexp_proto.prototype = object_proto + fill_proto(regexp_proto, RegExpPrototype, space) + space.RegExpPrototype = regexp_proto + + # Json + + # now all these boring constructors... + + # Number + number = easy_func(jsnumber.Number, space) + space.Number = number + number.create = jsnumber.NumberConstructor + set_non_enumerable(number_proto, 'constructor', number) + set_protected(number, 'prototype', number_proto) + # number has some extra constants + for k, v in jsnumber.CONSTS.items(): + set_protected(number, k, v) + + # String + string = easy_func(jsstring.String, space) + space.String = string + string.create = jsstring.StringConstructor + set_non_enumerable(string_proto, 'constructor', string) + set_protected(string, 'prototype', string_proto) + # string has an extra function + set_non_enumerable(string, 'fromCharCode', + easy_func(jsstring.fromCharCode, space)) + + # Boolean + boolean = easy_func(jsboolean.Boolean, space) + space.Boolean = boolean + boolean.create = jsboolean.BooleanConstructor + set_non_enumerable(boolean_proto, 'constructor', boolean) + set_protected(boolean, 'prototype', boolean_proto) + + # Array + array = easy_func(jsarray.Array, space) + space.Array = array + array.create = jsarray.ArrayConstructor + set_non_enumerable(array_proto, 'constructor', array) + set_protected(array, 'prototype', array_proto) + array.put(u'isArray', easy_func(jsarray.isArray, space)) + + # RegExp + regexp = easy_func(jsregexp.RegExp, space) + space.RegExp = regexp + regexp.create = jsregexp.RegExpCreate + set_non_enumerable(regexp_proto, 'constructor', regexp) + set_protected(regexp, 'prototype', regexp_proto) + + # Object + _object = easy_func(jsobject.Object, space) + space.Object = _object + _object.create = jsobject.ObjectCreate + set_non_enumerable(object_proto, 'constructor', _object) + set_protected(_object, 'prototype', object_proto) + fill_proto(_object, jsobject.ObjectMethods, space) + + # Function + function = easy_func(jsfunction.Function, space) + space.Function = function + + # Math + math = space.NewObject() + math.Class = 'Math' + fill_proto(math, jsmath.MathFunctions, space) + for k, v in jsmath.CONSTANTS.items(): + set_protected(math, k, v) + + console = space.NewObject() + fill_proto(console, jsconsole.ConsoleMethods, space) + + # set global object + builtins = { + 'String': string, + 'Number': number, + 'Boolean': boolean, + 'RegExp': regexp, + 'exports': convert_to_js_type({}, space), + 'Math': math, + #'Date', + 'Object': _object, + 'Function': function, + 'JSON': json, + 'Array': array, + 'parseFloat': parseFloat, + 'parseInt': parseInt, + 'isFinite': isFinite, + 'isNaN': isNaN, + 'eval': easy_func(jsfunction._eval, space), + 'console': console, + 'log': console.get(u'log'), + } + + builtins.update(error_constructors) + + set_protected(global_scope, 'NaN', NaN) + set_protected(global_scope, 'Infinity', Infinity) + for k, v in builtins.items(): + set_non_enumerable(global_scope, k, v) diff --git a/lib/js2py/js2py_old/internals/func_utils.py b/lib/js2py/js2py_old/internals/func_utils.py new file mode 100644 index 00000000..58dfef9e --- /dev/null +++ b/lib/js2py/js2py_old/internals/func_utils.py @@ -0,0 +1,73 @@ +from .simplex import * +from .conversions import * + +import six +if six.PY3: + basestring = str + long = int + xrange = range + unicode = str + + +def get_arg(arguments, n): + if len(arguments) <= n: + return undefined + return arguments[n] + + +def ensure_js_types(args, space=None): + return tuple(convert_to_js_type(e, space=space) for e in args) + + +def convert_to_js_type(e, space=None): + t = type(e) + if is_js_type(e): + return e + if t in (int, long, float): + return float(e) + elif isinstance(t, basestring): + return unicode(t) + elif t in (list, tuple): + if space is None: + raise MakeError( + 'TypeError', + 'Actually an internal error, could not convert to js type because space not specified' + ) + return space.ConstructArray(ensure_js_types(e, space=space)) + elif t == dict: + if space is None: + raise MakeError( + 'TypeError', + 'Actually an internal error, could not convert to js type because space not specified' + ) + new = {} + for k, v in e.items(): + new[to_string(convert_to_js_type(k, space))] = convert_to_js_type( + v, space) + return space.ConstructObject(new) + else: + raise MakeError('TypeError', 'Could not convert to js type!') + + +def is_js_type(e): + if type(e) in PRIMITIVES: + return True + elif hasattr(e, 'Class') and hasattr(e, 'value'): # not perfect but works + return True + else: + return False + + +# todo optimise these 2! +def js_array_to_tuple(arr): + length = to_uint32(arr.get(u'length')) + return tuple(arr.get(unicode(e)) for e in xrange(length)) + + +def js_array_to_list(arr): + length = to_uint32(arr.get(u'length')) + return [arr.get(unicode(e)) for e in xrange(length)] + + +def js_arr_length(arr): + return to_uint32(arr.get(u'length')) diff --git a/lib/js2py/js2py_old/internals/gen.py b/lib/js2py/js2py_old/internals/gen.py new file mode 100644 index 00000000..e69de29b diff --git a/lib/js2py/js2py_old/internals/opcodes.py b/lib/js2py/js2py_old/internals/opcodes.py new file mode 100644 index 00000000..15c57ccd --- /dev/null +++ b/lib/js2py/js2py_old/internals/opcodes.py @@ -0,0 +1,805 @@ +from .operations import * +from .base import get_member, get_member_dot, PyJsFunction, Scope + + +class OP_CODE(object): + _params = [] + + # def eval(self, ctx): + # raise + + def __repr__(self): + return self.__class__.__name__ + str( + tuple([getattr(self, e) for e in self._params])) + + +# --------------------- UNARY ---------------------- + + +class UNARY_OP(OP_CODE): + _params = ['operator'] + + def __init__(self, operator): + self.operator = operator + + def eval(self, ctx): + val = ctx.stack.pop() + ctx.stack.append(UNARY_OPERATIONS[self.operator](val)) + + +# special unary operations + + +class TYPEOF(OP_CODE): + _params = ['identifier'] + + def __init__(self, identifier): + self.identifier = identifier + + def eval(self, ctx): + # typeof something_undefined does not throw reference error + val = ctx.get(self.identifier, + False) # <= this makes it slightly different! + ctx.stack.append(typeof_uop(val)) + + +class POSTFIX(OP_CODE): + _params = ['cb', 'ca', 'identifier'] + + def __init__(self, post, incr, identifier): + self.identifier = identifier + self.cb = 1 if incr else -1 + self.ca = -self.cb if post else 0 + + def eval(self, ctx): + target = to_number(ctx.get(self.identifier)) + self.cb + ctx.put(self.identifier, target) + ctx.stack.append(target + self.ca) + + +class POSTFIX_MEMBER(OP_CODE): + _params = ['cb', 'ca'] + + def __init__(self, post, incr): + self.cb = 1 if incr else -1 + self.ca = -self.cb if post else 0 + + def eval(self, ctx): + name = ctx.stack.pop() + left = ctx.stack.pop() + + target = to_number(get_member(left, name, ctx.space)) + self.cb + if type(left) not in PRIMITIVES: + left.put_member(name, target) + + ctx.stack.append(target + self.ca) + + +class POSTFIX_MEMBER_DOT(OP_CODE): + _params = ['cb', 'ca', 'prop'] + + def __init__(self, post, incr, prop): + self.cb = 1 if incr else -1 + self.ca = -self.cb if post else 0 + self.prop = prop + + def eval(self, ctx): + left = ctx.stack.pop() + + target = to_number(get_member_dot(left, self.prop, + ctx.space)) + self.cb + if type(left) not in PRIMITIVES: + left.put(self.prop, target) + + ctx.stack.append(target + self.ca) + + +class DELETE(OP_CODE): + _params = ['name'] + + def __init__(self, name): + self.name = name + + def eval(self, ctx): + ctx.stack.append(ctx.delete(self.name)) + + +class DELETE_MEMBER(OP_CODE): + def eval(self, ctx): + prop = to_string(ctx.stack.pop()) + obj = to_object(ctx.stack.pop(), ctx) + ctx.stack.append(obj.delete(prop, False)) + + +# --------------------- BITWISE ---------------------- + + +class BINARY_OP(OP_CODE): + _params = ['operator'] + + def __init__(self, operator): + self.operator = operator + + def eval(self, ctx): + right = ctx.stack.pop() + left = ctx.stack.pop() + ctx.stack.append(BINARY_OPERATIONS[self.operator](left, right)) + + +# &&, || and conditional are implemented in bytecode + +# --------------------- JUMPS ---------------------- + + +# simple label that will be removed from code after compilation. labels ID will be translated +# to source code position. +class LABEL(OP_CODE): + _params = ['num'] + + def __init__(self, num): + self.num = num + + +# I implemented interpreter in the way that when an integer is returned by eval operation the execution will jump +# to the location of the label (it is loc = label_locations[label]) + + +class BASE_JUMP(OP_CODE): + _params = ['label'] + + def __init__(self, label): + self.label = label + + +class JUMP(BASE_JUMP): + def eval(self, ctx): + return self.label + + +class JUMP_IF_TRUE(BASE_JUMP): + def eval(self, ctx): + val = ctx.stack.pop() + if to_boolean(val): + return self.label + + +class JUMP_IF_EQ(BASE_JUMP): + # this one is used in switch statement - compares last 2 values using === operator and jumps popping both if true else pops last. + def eval(self, ctx): + cmp = ctx.stack.pop() + if strict_equality_op(ctx.stack[-1], cmp): + ctx.stack.pop() + return self.label + + +class JUMP_IF_TRUE_WITHOUT_POP(BASE_JUMP): + def eval(self, ctx): + val = ctx.stack[-1] + if to_boolean(val): + return self.label + + +class JUMP_IF_FALSE(BASE_JUMP): + def eval(self, ctx): + val = ctx.stack.pop() + if not to_boolean(val): + return self.label + + +class JUMP_IF_FALSE_WITHOUT_POP(BASE_JUMP): + def eval(self, ctx): + val = ctx.stack[-1] + if not to_boolean(val): + return self.label + + +class POP(OP_CODE): + def eval(self, ctx): + # todo remove this check later + assert len(ctx.stack), 'Popped from empty stack!' + del ctx.stack[-1] + + +# class REDUCE(OP_CODE): +# def eval(self, ctx): +# assert len(ctx.stack)==2 +# ctx.stack[0] = ctx.stack[1] +# del ctx.stack[1] + +# --------------- LOADING -------------- + + +class LOAD_NONE(OP_CODE): # be careful with this :) + _params = [] + + def eval(self, ctx): + ctx.stack.append(None) + + +class LOAD_N_TUPLE( + OP_CODE +): # loads the tuple composed of n last elements on stack. elements are popped. + _params = ['n'] + + def __init__(self, n): + self.n = n + + def eval(self, ctx): + tup = tuple(ctx.stack[-self.n:]) + del ctx.stack[-self.n:] + ctx.stack.append(tup) + + +class LOAD_UNDEFINED(OP_CODE): + def eval(self, ctx): + ctx.stack.append(undefined) + + +class LOAD_NULL(OP_CODE): + def eval(self, ctx): + ctx.stack.append(null) + + +class LOAD_BOOLEAN(OP_CODE): + _params = ['val'] + + def __init__(self, val): + assert val in (0, 1) + self.val = bool(val) + + def eval(self, ctx): + ctx.stack.append(self.val) + + +class LOAD_STRING(OP_CODE): + _params = ['val'] + + def __init__(self, val): + assert isinstance(val, basestring) + self.val = unicode(val) + + def eval(self, ctx): + ctx.stack.append(self.val) + + +class LOAD_NUMBER(OP_CODE): + _params = ['val'] + + def __init__(self, val): + assert isinstance(val, (float, int, long)) + self.val = float(val) + + def eval(self, ctx): + ctx.stack.append(self.val) + + +class LOAD_REGEXP(OP_CODE): + _params = ['body', 'flags'] + + def __init__(self, body, flags): + self.body = body + self.flags = flags + + def eval(self, ctx): + # we have to generate a new regexp - they are mutable + ctx.stack.append(ctx.space.NewRegExp(self.body, self.flags)) + + +class LOAD_FUNCTION(OP_CODE): + _params = ['start', 'params', 'name', 'is_declaration', 'definitions'] + + def __init__(self, start, params, name, is_declaration, definitions): + assert type(start) == int + self.start = start # its an ID of label pointing to the beginning of the function bytecode + self.params = params + self.name = name + self.is_declaration = bool(is_declaration) + self.definitions = tuple(set(definitions + params)) + + def eval(self, ctx): + ctx.stack.append( + ctx.space.NewFunction(self.start, ctx, self.params, self.name, + self.is_declaration, self.definitions)) + + +class LOAD_OBJECT(OP_CODE): + _params = [ + 'props' + ] # props are py string pairs (prop_name, kind): kind can be either i, g or s. (init, get, set) + + def __init__(self, props): + self.num = len(props) + self.props = props + + def eval(self, ctx): + obj = ctx.space.NewObject() + if self.num: + obj._init(self.props, ctx.stack[-self.num:]) + del ctx.stack[-self.num:] + + ctx.stack.append(obj) + + +class LOAD_ARRAY(OP_CODE): + _params = ['num'] + + def __init__(self, num): + self.num = num + + def eval(self, ctx): + arr = ctx.space.NewArray(self.num) + if self.num: + arr._init(ctx.stack[-self.num:]) + del ctx.stack[-self.num:] + ctx.stack.append(arr) + + +class LOAD_THIS(OP_CODE): + def eval(self, ctx): + ctx.stack.append(ctx.THIS_BINDING) + + +class LOAD(OP_CODE): # todo check! + _params = ['identifier'] + + def __init__(self, identifier): + self.identifier = identifier + + # 11.1.2 + def eval(self, ctx): + ctx.stack.append(ctx.get(self.identifier, throw=True)) + + +class LOAD_MEMBER(OP_CODE): + def eval(self, ctx): + prop = ctx.stack.pop() + obj = ctx.stack.pop() + ctx.stack.append(get_member(obj, prop, ctx.space)) + + +class LOAD_MEMBER_DOT(OP_CODE): + _params = ['prop'] + + def __init__(self, prop): + self.prop = prop + + def eval(self, ctx): + obj = ctx.stack.pop() + ctx.stack.append(get_member_dot(obj, self.prop, ctx.space)) + + +# --------------- STORING -------------- + + +class STORE(OP_CODE): + _params = ['identifier'] + + def __init__(self, identifier): + self.identifier = identifier + + def eval(self, ctx): + value = ctx.stack[-1] # don't pop + ctx.put(self.identifier, value) + + +class STORE_MEMBER(OP_CODE): + def eval(self, ctx): + value = ctx.stack.pop() + name = ctx.stack.pop() + left = ctx.stack.pop() + + typ = type(left) + if typ in PRIMITIVES: + prop = to_string(name) + if typ == NULL_TYPE: + raise MakeError('TypeError', + "Cannot set property '%s' of null" % prop) + elif typ == UNDEFINED_TYPE: + raise MakeError('TypeError', + "Cannot set property '%s' of undefined" % prop) + # just ignore... + else: + left.put_member(name, value) + + ctx.stack.append(value) + + +class STORE_MEMBER_DOT(OP_CODE): + _params = ['prop'] + + def __init__(self, prop): + self.prop = prop + + def eval(self, ctx): + value = ctx.stack.pop() + left = ctx.stack.pop() + + typ = type(left) + if typ in PRIMITIVES: + if typ == NULL_TYPE: + raise MakeError('TypeError', + "Cannot set property '%s' of null" % self.prop) + elif typ == UNDEFINED_TYPE: + raise MakeError( + 'TypeError', + "Cannot set property '%s' of undefined" % self.prop) + # just ignore... + else: + left.put(self.prop, value) + ctx.stack.append(value) + + +class STORE_OP(OP_CODE): + _params = ['identifier', 'op'] + + def __init__(self, identifier, op): + self.identifier = identifier + self.op = op + + def eval(self, ctx): + value = ctx.stack.pop() + new_value = BINARY_OPERATIONS[self.op](ctx.get(self.identifier), value) + ctx.put(self.identifier, new_value) + ctx.stack.append(new_value) + + +class STORE_MEMBER_OP(OP_CODE): + _params = ['op'] + + def __init__(self, op): + self.op = op + + def eval(self, ctx): + value = ctx.stack.pop() + name = ctx.stack.pop() + left = ctx.stack.pop() + + typ = type(left) + if typ in PRIMITIVES: + if typ is NULL_TYPE: + raise MakeError( + 'TypeError', + "Cannot set property '%s' of null" % to_string(name)) + elif typ is UNDEFINED_TYPE: + raise MakeError( + 'TypeError', + "Cannot set property '%s' of undefined" % to_string(name)) + ctx.stack.append(BINARY_OPERATIONS[self.op](get_member( + left, name, ctx.space), value)) + return + else: + ctx.stack.append(BINARY_OPERATIONS[self.op](get_member( + left, name, ctx.space), value)) + left.put_member(name, ctx.stack[-1]) + + +class STORE_MEMBER_DOT_OP(OP_CODE): + _params = ['prop', 'op'] + + def __init__(self, prop, op): + self.prop = prop + self.op = op + + def eval(self, ctx): + value = ctx.stack.pop() + left = ctx.stack.pop() + + typ = type(left) + if typ in PRIMITIVES: + if typ == NULL_TYPE: + raise MakeError('TypeError', + "Cannot set property '%s' of null" % self.prop) + elif typ == UNDEFINED_TYPE: + raise MakeError( + 'TypeError', + "Cannot set property '%s' of undefined" % self.prop) + ctx.stack.append(BINARY_OPERATIONS[self.op](get_member_dot( + left, self.prop, ctx.space), value)) + return + else: + ctx.stack.append(BINARY_OPERATIONS[self.op](get_member_dot( + left, self.prop, ctx.space), value)) + left.put(self.prop, ctx.stack[-1]) + + +# --------------- CALLS -------------- + + +def bytecode_call(ctx, func, this, args): + if type(func) is not PyJsFunction: + raise MakeError('TypeError', "%s is not a function" % Type(func)) + if func.is_native: # call to built-in function or method + ctx.stack.append(func.call(this, args)) + return None + + # therefore not native. we have to return (new_context, function_label) to instruct interpreter to call + return func._generate_my_context(this, args), func.code + + +class CALL(OP_CODE): + def eval(self, ctx): + args = ctx.stack.pop() + func = ctx.stack.pop() + + return bytecode_call(ctx, func, ctx.space.GlobalObj, args) + + +class CALL_METHOD(OP_CODE): + def eval(self, ctx): + args = ctx.stack.pop() + prop = ctx.stack.pop() + base = ctx.stack.pop() + + func = get_member(base, prop, ctx.space) + + return bytecode_call(ctx, func, base, args) + + +class CALL_METHOD_DOT(OP_CODE): + _params = ['prop'] + + def __init__(self, prop): + self.prop = prop + + def eval(self, ctx): + args = ctx.stack.pop() + base = ctx.stack.pop() + + func = get_member_dot(base, self.prop, ctx.space) + + return bytecode_call(ctx, func, base, args) + + +class CALL_NO_ARGS(OP_CODE): + def eval(self, ctx): + func = ctx.stack.pop() + + return bytecode_call(ctx, func, ctx.space.GlobalObj, ()) + + +class CALL_METHOD_NO_ARGS(OP_CODE): + def eval(self, ctx): + prop = ctx.stack.pop() + base = ctx.stack.pop() + + func = get_member(base, prop, ctx.space) + + return bytecode_call(ctx, func, base, ()) + + +class CALL_METHOD_DOT_NO_ARGS(OP_CODE): + _params = ['prop'] + + def __init__(self, prop): + self.prop = prop + + def eval(self, ctx): + base = ctx.stack.pop() + + func = get_member_dot(base, self.prop, ctx.space) + + return bytecode_call(ctx, func, base, ()) + + +class NOP(OP_CODE): + def eval(self, ctx): + pass + + +class RETURN(OP_CODE): + def eval( + self, ctx + ): # remember to load the return value on stack before using RETURN op. + return (None, None) + + +class NEW(OP_CODE): + def eval(self, ctx): + args = ctx.stack.pop() + constructor = ctx.stack.pop() + if type(constructor) in PRIMITIVES or not hasattr( + constructor, 'create'): + raise MakeError('TypeError', + '%s is not a constructor' % Type(constructor)) + ctx.stack.append(constructor.create(args, space=ctx.space)) + + +class NEW_NO_ARGS(OP_CODE): + def eval(self, ctx): + constructor = ctx.stack.pop() + if type(constructor) in PRIMITIVES or not hasattr( + constructor, 'create'): + raise MakeError('TypeError', + '%s is not a constructor' % Type(constructor)) + ctx.stack.append(constructor.create((), space=ctx.space)) + + +# --------------- EXCEPTIONS -------------- + + +class THROW(OP_CODE): + def eval(self, ctx): + raise MakeError(None, None, ctx.stack.pop()) + + +class TRY_CATCH_FINALLY(OP_CODE): + _params = [ + 'try_label', 'catch_label', 'catch_variable', 'finally_label', + 'finally_present', 'end_label' + ] + + def __init__(self, try_label, catch_label, catch_variable, finally_label, + finally_present, end_label): + self.try_label = try_label + self.catch_label = catch_label + self.catch_variable = catch_variable + self.finally_label = finally_label + self.finally_present = finally_present + self.end_label = end_label + + def eval(self, ctx): + # 4 different exectution results + # 0=normal, 1=return, 2=jump_outside, 3=errors + # execute_fragment_under_context returns: + # (return_value, typ, jump_loc/error) + + ctx.stack.pop() + + # execute try statement + try_status = ctx.space.exe.execute_fragment_under_context( + ctx, self.try_label, self.catch_label) + + errors = try_status[1] == 3 + + # catch + if errors and self.catch_variable is not None: + # generate catch block context... + catch_context = Scope({ + self.catch_variable: + try_status[2].get_thrown_value(ctx.space) + }, ctx.space, ctx) + catch_context.THIS_BINDING = ctx.THIS_BINDING + catch_status = ctx.space.exe.execute_fragment_under_context( + catch_context, self.catch_label, self.finally_label) + else: + catch_status = None + + # finally + if self.finally_present: + finally_status = ctx.space.exe.execute_fragment_under_context( + ctx, self.finally_label, self.end_label) + else: + finally_status = None + + # now return controls + other_status = catch_status or try_status + if finally_status is None or (finally_status[1] == 0 + and other_status[1] != 0): + winning_status = other_status + else: + winning_status = finally_status + + val, typ, spec = winning_status + if typ == 0: # normal + ctx.stack.append(val) + return + elif typ == 1: # return + ctx.stack.append(spec) + return None, None # send return signal + elif typ == 2: # jump outside + ctx.stack.append(val) + return spec + elif typ == 3: + # throw is made with empty stack as usual + raise spec + else: + raise RuntimeError('Invalid return code') + + +# ------------ WITH + ITERATORS ---------- + + +class WITH(OP_CODE): + _params = ['beg_label', 'end_label'] + + def __init__(self, beg_label, end_label): + self.beg_label = beg_label + self.end_label = end_label + + def eval(self, ctx): + obj = to_object(ctx.stack.pop(), ctx.space) + + with_context = Scope( + obj, ctx.space, ctx) # todo actually use the obj to modify the ctx + with_context.THIS_BINDING = ctx.THIS_BINDING + status = ctx.space.exe.execute_fragment_under_context( + with_context, self.beg_label, self.end_label) + + val, typ, spec = status + + if typ != 3: # exception + ctx.stack.pop() + + if typ == 0: # normal + ctx.stack.append(val) + return + elif typ == 1: # return + ctx.stack.append(spec) + return None, None # send return signal + elif typ == 2: # jump outside + ctx.stack.append(val) + return spec + elif typ == 3: # exception + # throw is made with empty stack as usual + raise spec + else: + raise RuntimeError('Invalid return code') + + +class FOR_IN(OP_CODE): + _params = ['name', 'body_start_label', 'continue_label', 'break_label'] + + def __init__(self, name, body_start_label, continue_label, break_label): + self.name = name + self.body_start_label = body_start_label + self.continue_label = continue_label + self.break_label = break_label + + def eval(self, ctx): + iterable = ctx.stack.pop() + if is_null(iterable) or is_undefined(iterable): + ctx.stack.pop() + ctx.stack.append(undefined) + return self.break_label + + obj = to_object(iterable, ctx.space) + + for e in sorted(obj.own): + if not obj.own[e]['enumerable']: + continue + + ctx.put( + self.name, e + ) # JS would have been so much nicer if this was ctx.space.put(self.name, obj.get(e)) + + # evaluate the body + status = ctx.space.exe.execute_fragment_under_context( + ctx, self.body_start_label, self.break_label) + + val, typ, spec = status + + if typ != 3: # exception + ctx.stack.pop() + + if typ == 0: # normal + ctx.stack.append(val) + continue + elif typ == 1: # return + ctx.stack.append(spec) + return None, None # send return signal + elif typ == 2: # jump outside + # now have to figure out whether this is a continue or something else... + ctx.stack.append(val) + if spec == self.continue_label: + # just a continue, perform next iteration as normal + continue + return spec # break or smth, go there and finish the iteration + elif typ == 3: # exception + # throw is made with empty stack as usual + raise spec + else: + raise RuntimeError('Invalid return code') + + return self.break_label + + +# all opcodes... +OP_CODES = {} +g = '' +for g in globals(): + try: + if not issubclass(globals()[g], OP_CODE) or g is 'OP_CODE': + continue + except: + continue + OP_CODES[g] = globals()[g] diff --git a/lib/js2py/js2py_old/internals/operations.py b/lib/js2py/js2py_old/internals/operations.py new file mode 100644 index 00000000..35b90179 --- /dev/null +++ b/lib/js2py/js2py_old/internals/operations.py @@ -0,0 +1,314 @@ +from __future__ import unicode_literals +from .simplex import * +from .conversions import * + +# ------------------------------------------------------------------------------ +# Unary operations + + +# -x +def minus_uop(self): + return -to_number(self) + + +# +x +def plus_uop(self): # +u + return to_number(self) + + +# !x +def logical_negation_uop(self): # !u cant do 'not u' :( + return not to_boolean(self) + + +# typeof x +def typeof_uop(self): + if is_callable(self): + return u'function' + typ = Type(self).lower() + if typ == u'null': + typ = u'object' # absolutely idiotic... + return typ + + +# ~u +def bit_invert_uop(self): + return float(to_int32(float(~to_int32(self)))) + + +# void +def void_op(self): + return undefined + + +UNARY_OPERATIONS = { + '+': plus_uop, + '-': minus_uop, + '!': logical_negation_uop, + '~': bit_invert_uop, + 'void': void_op, + 'typeof': + typeof_uop, # this one only for member expressions! for identifiers its slightly different... +} + +# ------------------------------------------------------------------------------ +# ----- binary ops ------- + +# Bitwise operators +# <<, >>, &, ^, |, ~ + + +# << +def bit_lshift_op(self, other): + lnum = to_int32(self) + rnum = to_uint32(other) + shiftCount = rnum & 0x1F + return float(to_int32(float(lnum << shiftCount))) + + +# >> +def bit_rshift_op(self, other): + lnum = to_int32(self) + rnum = to_uint32(other) + shiftCount = rnum & 0x1F + return float(to_int32(float(lnum >> shiftCount))) + + +# >>> +def bit_bshift_op(self, other): + lnum = to_uint32(self) + rnum = to_uint32(other) + shiftCount = rnum & 0x1F + return float(to_uint32(float(lnum >> shiftCount))) + + +# & +def bit_and_op(self, other): + lnum = to_int32(self) + rnum = to_int32(other) + return float(to_int32(float(lnum & rnum))) + + +# ^ +def bit_xor_op(self, other): + lnum = to_int32(self) + rnum = to_int32(other) + return float(to_int32(float(lnum ^ rnum))) + + +# | +def bit_or_op(self, other): + lnum = to_int32(self) + rnum = to_int32(other) + return float(to_int32(float(lnum | rnum))) + + +# Additive operators +# + and - are implemented here + + +# + +def add_op(self, other): + if type(self) is float and type(other) is float: + return self + other + if type(self) is unicode and type(other) is unicode: + return self + other + # standard way... + a = to_primitive(self) + b = to_primitive(other) + if type(a) is unicode or type(b) is unicode: # string wins hehe + return to_string(a) + to_string(b) + return to_number(a) + to_number(b) + + +# - +def sub_op(self, other): + return to_number(self) - to_number(other) + + +# Multiplicative operators +# *, / and % are implemented here + + +# * +def mul_op(self, other): + return to_number(self) * to_number(other) + + +# / +def div_op(self, other): + a = to_number(self) + b = to_number(other) + if b: + return a / float(b) # ensure at least one is a float. + if not a or a != a: + return NaN + return Infinity if a > 0 else -Infinity + + +# % +def mod_op(self, other): + a = to_number(self) + b = to_number(other) + if abs(a) == Infinity or not b: + return NaN + if abs(b) == Infinity: + return a + pyres = 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 > 0: + pyres -= abs(b) + elif a > 0 and pyres < 0: + pyres += abs(b) + return float(pyres) + + +# Comparisons +# <, <=, !=, ==, >=, > are implemented here. +def abstract_relational_comparison(self, other, + self_first=True): # todo speed up! + ''' self= +def greater_eq_op(self, other): + res = abstract_relational_comparison(self, other, True) + if res is None: + return False + return not res + + +# > +def greater_op(self, other): + res = abstract_relational_comparison(self, other, False) + if res is None: + return False + return res + + +# equality + + +def abstract_equality_op(self, other): + ''' returns the result of JS == compare. + result is PyJs type: bool''' + tx, ty = Type(self), Type(other) + if tx == ty: + if tx == 'Undefined' or tx == 'Null': + return True + if tx == 'Number' or tx == 'String' or tx == 'Boolean': + return self == other + return 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 abstract_equality_op(self, to_number(other)) + elif tx == 'String' and ty == 'Number': + return abstract_equality_op(to_number(self), other) + elif tx == 'Boolean': + return abstract_equality_op(to_number(self), other) + elif ty == 'Boolean': + return abstract_equality_op(self, to_number(other)) + elif (tx == 'String' or tx == 'Number') and is_object(other): + return abstract_equality_op(self, to_primitive(other)) + elif (ty == 'String' or ty == 'Number') and is_object(self): + return abstract_equality_op(to_primitive(self), other) + else: + return False + + +def abstract_inequality_op(self, other): + return not abstract_equality_op(self, other) + + +def strict_equality_op(self, other): + typ = Type(self) + if typ != Type(other): + return False + if typ == 'Undefined' or typ == 'Null': + return True + if typ == 'Boolean' or typ == 'String' or typ == 'Number': + return self == other + else: # object + return self is other # Id compare. + + +def strict_inequality_op(self, other): + return not strict_equality_op(self, other) + + +def instanceof_op(self, other): + '''checks if self is instance of other''' + if not hasattr(other, 'has_instance'): + return False + return other.has_instance(self) + + +def in_op(self, other): + '''checks if self is in other''' + if not is_object(other): + raise MakeError( + 'TypeError', + "You can\'t use 'in' operator to search in non-objects") + return other.has_property(to_string(self)) + + +BINARY_OPERATIONS = { + '+': add_op, + '-': sub_op, + '*': mul_op, + '/': div_op, + '%': mod_op, + '<<': bit_lshift_op, + '>>': bit_rshift_op, + '>>>': bit_bshift_op, + '|': bit_or_op, + '&': bit_and_op, + '^': bit_xor_op, + '==': abstract_equality_op, + '!=': abstract_inequality_op, + '===': strict_equality_op, + '!==': strict_inequality_op, + '<': less_op, + '<=': less_eq_op, + '>': greater_op, + '>=': greater_eq_op, + 'in': in_op, + 'instanceof': instanceof_op, +} diff --git a/lib/js2py/js2py_old/internals/prototypes/__init__.py b/lib/js2py/js2py_old/internals/prototypes/__init__.py new file mode 100644 index 00000000..8de79cb9 --- /dev/null +++ b/lib/js2py/js2py_old/internals/prototypes/__init__.py @@ -0,0 +1 @@ +__author__ = 'Piotr Dabkowski' diff --git a/lib/js2py/js2py_old/internals/prototypes/jsarray.py b/lib/js2py/js2py_old/internals/prototypes/jsarray.py new file mode 100644 index 00000000..ace774ec --- /dev/null +++ b/lib/js2py/js2py_old/internals/prototypes/jsarray.py @@ -0,0 +1,489 @@ +from __future__ import unicode_literals +from ..conversions import * +from ..func_utils import * +from ..operations import strict_equality_op + +import six + +if six.PY3: + xrange = range + import functools + +ARR_STACK = set({}) + + +class ArrayPrototype: + def toString(this, args): + arr = to_object(this, args.space) + func = arr.get('join') + if not is_callable(func): + return u'[object %s]' % GetClass(arr) + return func.call(this, ()) + + def toLocaleString(this, args): + array = to_object(this, args.space) + arr_len = js_arr_length(array) + # separator is simply a comma ',' + if not arr_len: + return '' + res = [] + for i in xrange(arr_len): + element = array.get(unicode(i)) + if is_undefined(element) or is_null(element): + res.append('') + else: + cand = to_object(element, args.space) + str_func = cand.get('toLocaleString') + if not is_callable(str_func): + raise MakeError( + 'TypeError', + 'toLocaleString method of item at index %d is not callable' + % i) + res.append(to_string(str_func.call(cand, ()))) + return ','.join(res) + + def concat(this, args): + array = to_object(this, args.space) + items = [array] + items.extend(tuple(args)) + A = [] + for E in items: + if GetClass(E) == 'Array': + k = 0 + e_len = js_arr_length(E) + while k < e_len: + if E.has_property(unicode(k)): + A.append(E.get(unicode(k))) + k += 1 + else: + A.append(E) + return args.space.ConstructArray(A) + + def join(this, args): + ARR_STACK.add(this) + array = to_object(this, args.space) + separator = get_arg(args, 0) + arr_len = js_arr_length(array) + separator = ',' if is_undefined(separator) else to_string(separator) + elems = [] + for e in xrange(arr_len): + elem = array.get(unicode(e)) + if elem in ARR_STACK: + s = '' + else: + s = to_string(elem) + elems.append( + s if not (is_undefined(elem) or is_null(elem)) else '') + res = separator.join(elems) + ARR_STACK.remove(this) + return res + + def pop(this, args): #todo check + array = to_object(this, args.space) + arr_len = js_arr_length(array) + if not arr_len: + array.put('length', float(arr_len)) + return undefined + ind = unicode(arr_len - 1) + element = array.get(ind) + array.delete(ind) + array.put('length', float(arr_len - 1)) + return element + + def push(this, args): + array = to_object(this, args.space) + arr_len = js_arr_length(array) + to_put = tuple(args) + i = arr_len + for i, e in enumerate(to_put, arr_len): + array.put(unicode(i), e, True) + array.put('length', float(arr_len + len(to_put)), True) + return float(i) + + def reverse(this, args): + array = to_object(this, args.space) + vals = js_array_to_list(array) + has_props = [ + array.has_property(unicode(e)) + for e in xrange(js_arr_length(array)) + ] + vals.reverse() + has_props.reverse() + for i, val in enumerate(vals): + if has_props[i]: + array.put(unicode(i), val) + else: + array.delete(unicode(i)) + return array + + def shift(this, args): + array = to_object(this, args.space) + arr_len = js_arr_length(array) + if not arr_len: + array.put('length', 0.) + return undefined + first = array.get('0') + for k in xrange(1, arr_len): + from_s, to_s = unicode(k), unicode(k - 1) + if array.has_property(from_s): + array.put(to_s, array.get(from_s)) + else: + array.delete(to_s) + array.delete(unicode(arr_len - 1)) + array.put('length', float(arr_len - 1)) + return first + + def slice(this, args): # todo check + array = to_object(this, args.space) + start = get_arg(args, 0) + end = get_arg(args, 1) + arr_len = js_arr_length(array) + relative_start = to_int(start) + k = max((arr_len + relative_start), 0) if relative_start < 0 else min( + relative_start, arr_len) + relative_end = arr_len if is_undefined(end) else to_int(end) + final = max((arr_len + relative_end), 0) if relative_end < 0 else min( + relative_end, arr_len) + res = [] + n = 0 + while k < final: + pk = unicode(k) + if array.has_property(pk): + res.append(array.get(pk)) + k += 1 + n += 1 + return args.space.ConstructArray(res) + + def sort( + this, args + ): # todo: this assumes array continous (not sparse) - fix for sparse arrays + cmpfn = get_arg(args, 0) + if not GetClass(this) in ('Array', 'Arguments'): + return to_object(this, args.space) # do nothing + arr_len = js_arr_length(this) + if not arr_len: + return this + arr = [ + (this.get(unicode(e)) if this.has_property(unicode(e)) else None) + for e in xrange(arr_len) + ] + if not is_callable(cmpfn): + cmpfn = None + cmp = lambda a, b: sort_compare(a, b, cmpfn) + if six.PY3: + key = functools.cmp_to_key(cmp) + arr.sort(key=key) + else: + arr.sort(cmp=cmp) + for i in xrange(arr_len): + if arr[i] is None: + this.delete(unicode(i)) + else: + this.put(unicode(i), arr[i]) + return this + + def splice(this, args): + # 1-8 + array = to_object(this, args.space) + start = get_arg(args, 0) + deleteCount = get_arg(args, 1) + arr_len = js_arr_length(this) + relative_start = to_int(start) + actual_start = max( + (arr_len + relative_start), 0) if relative_start < 0 else min( + relative_start, arr_len) + actual_delete_count = min( + max(to_int(deleteCount), 0), arr_len - actual_start) + k = 0 + A = args.space.NewArray(0) + # 9 + while k < actual_delete_count: + if array.has_property(unicode(actual_start + k)): + A.put(unicode(k), array.get(unicode(actual_start + k))) + k += 1 + # 10-11 + items = list(args)[2:] + items_len = len(items) + # 12 + if items_len < actual_delete_count: + k = actual_start + while k < (arr_len - actual_delete_count): + fr = unicode(k + actual_delete_count) + to = unicode(k + items_len) + if array.has_property(fr): + array.put(to, array.get(fr)) + else: + array.delete(to) + k += 1 + k = arr_len + while k > (arr_len - actual_delete_count + items_len): + array.delete(unicode(k - 1)) + k -= 1 + # 13 + elif items_len > actual_delete_count: + k = arr_len - actual_delete_count + while k > actual_start: + fr = unicode(k + actual_delete_count - 1) + to = unicode(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(unicode(k), E) + k += 1 + array.put('length', float(arr_len - actual_delete_count + items_len)) + return A + + def unshift(this, args): + array = to_object(this, args.space) + arr_len = js_arr_length(array) + argCount = len(args) + k = arr_len + while k > 0: + fr = unicode(k - 1) + to = unicode(k + argCount - 1) + if array.has_property(fr): + array.put(to, array.get(fr)) + else: + array.delete(to) + k -= 1 + items = tuple(args) + for j, e in enumerate(items): + array.put(unicode(j), e) + array.put('length', float(arr_len + argCount)) + return float(arr_len + argCount) + + def indexOf(this, args): + array = to_object(this, args.space) + searchElement = get_arg(args, 0) + arr_len = js_arr_length(array) + if arr_len == 0: + return -1. + if len(args) > 1: + n = to_int(args[1]) + 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(unicode(k)): + elementK = array.get(unicode(k)) + if strict_equality_op(searchElement, elementK): + return float(k) + k += 1 + return -1. + + def lastIndexOf(this, args): + array = to_object(this, args.space) + searchElement = get_arg(args, 0) + arr_len = js_arr_length(array) + if arr_len == 0: + return -1. + if len(args) > 1: + n = to_int(args[1]) + 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(unicode(k)): + elementK = array.get(unicode(k)) + if strict_equality_op(searchElement, elementK): + return float(k) + k -= 1 + return -1. + + def every(this, args): + array = to_object(this, args.space) + callbackfn = get_arg(args, 0) + arr_len = js_arr_length(array) + if not is_callable(callbackfn): + raise MakeError('TypeError', 'callbackfn must be a function') + T = get_arg(args, 1) + k = 0 + while k < arr_len: + if array.has_property(unicode(k)): + kValue = array.get(unicode(k)) + if not to_boolean( + callbackfn.call(T, (kValue, float(k), array))): + return False + k += 1 + return True + + def some(this, args): + array = to_object(this, args.space) + callbackfn = get_arg(args, 0) + arr_len = js_arr_length(array) + if not is_callable(callbackfn): + raise MakeError('TypeError', 'callbackfn must be a function') + T = get_arg(args, 1) + k = 0 + while k < arr_len: + if array.has_property(unicode(k)): + kValue = array.get(unicode(k)) + if to_boolean(callbackfn.call(T, (kValue, float(k), array))): + return True + k += 1 + return False + + def forEach(this, args): + array = to_object(this, args.space) + callbackfn = get_arg(args, 0) + arr_len = js_arr_length(array) + if not is_callable(callbackfn): + raise MakeError('TypeError', 'callbackfn must be a function') + _this = get_arg(args, 1) + k = 0 + while k < arr_len: + sk = unicode(k) + if array.has_property(sk): + kValue = array.get(sk) + callbackfn.call(_this, (kValue, float(k), array)) + k += 1 + return undefined + + def map(this, args): + array = to_object(this, args.space) + callbackfn = get_arg(args, 0) + arr_len = js_arr_length(array) + if not is_callable(callbackfn): + raise MakeError('TypeError', 'callbackfn must be a function') + _this = get_arg(args, 1) + k = 0 + A = args.space.NewArray(0) + while k < arr_len: + Pk = unicode(k) + if array.has_property(Pk): + kValue = array.get(Pk) + mappedValue = callbackfn.call(_this, (kValue, float(k), array)) + A.define_own_property( + Pk, { + 'value': mappedValue, + 'writable': True, + 'enumerable': True, + 'configurable': True + }, False) + k += 1 + return A + + def filter(this, args): + array = to_object(this, args.space) + callbackfn = get_arg(args, 0) + arr_len = js_arr_length(array) + if not is_callable(callbackfn): + raise MakeError('TypeError', 'callbackfn must be a function') + _this = get_arg(args, 1) + k = 0 + res = [] + while k < arr_len: + if array.has_property(unicode(k)): + kValue = array.get(unicode(k)) + if to_boolean( + callbackfn.call(_this, (kValue, float(k), array))): + res.append(kValue) + k += 1 + return args.space.ConstructArray(res) + + def reduce(this, args): + array = to_object(this, args.space) + callbackfn = get_arg(args, 0) + arr_len = js_arr_length(array) + if not is_callable(callbackfn): + raise MakeError('TypeError', 'callbackfn must be a function') + if not arr_len and len(args) < 2: + raise MakeError('TypeError', + 'Reduce of empty array with no initial value') + k = 0 + accumulator = undefined + if len(args) > 1: # initial value present + accumulator = args[1] + else: + kPresent = False + while not kPresent and k < arr_len: + kPresent = array.has_property(unicode(k)) + if kPresent: + accumulator = array.get(unicode(k)) + k += 1 + if not kPresent: + raise MakeError('TypeError', + 'Reduce of empty array with no initial value') + while k < arr_len: + if array.has_property(unicode(k)): + kValue = array.get(unicode(k)) + accumulator = callbackfn.call( + undefined, (accumulator, kValue, float(k), array)) + k += 1 + return accumulator + + def reduceRight(this, args): + array = to_object(this, args.space) + callbackfn = get_arg(args, 0) + arr_len = js_arr_length(array) + if not is_callable(callbackfn): + raise MakeError('TypeError', 'callbackfn must be a function') + if not arr_len and len(args) < 2: + raise MakeError('TypeError', + 'Reduce of empty array with no initial value') + k = arr_len - 1 + accumulator = undefined + + if len(args) > 1: # initial value present + accumulator = args[1] + else: + kPresent = False + while not kPresent and k >= 0: + kPresent = array.has_property(unicode(k)) + if kPresent: + accumulator = array.get(unicode(k)) + k -= 1 + if not kPresent: + raise MakeError('TypeError', + 'Reduce of empty array with no initial value') + while k >= 0: + if array.has_property(unicode(k)): + kValue = array.get(unicode(k)) + accumulator = callbackfn.call( + undefined, (accumulator, kValue, float(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 is_undefined(a): + if is_undefined(b): + return 0 + return 1 + if is_undefined(b): + if is_undefined(a): + return 0 + return -1 + if comp is not None: + res = comp.call(undefined, (a, b)) + return to_int(res) + x, y = to_string(a), to_string(b) + if x < y: + return -1 + elif x > y: + return 1 + return 0 diff --git a/lib/js2py/js2py_old/internals/prototypes/jsboolean.py b/lib/js2py/js2py_old/internals/prototypes/jsboolean.py new file mode 100644 index 00000000..9aff9d2e --- /dev/null +++ b/lib/js2py/js2py_old/internals/prototypes/jsboolean.py @@ -0,0 +1,22 @@ +from __future__ import unicode_literals + +from ..conversions import * +from ..func_utils import * + + +class BooleanPrototype: + def toString(this, args): + if GetClass(this) != 'Boolean': + raise MakeError('TypeError', + 'Boolean.prototype.toString is not generic') + if is_object(this): + this = this.value + return u'true' if this else u'false' + + def valueOf(this, args): + if GetClass(this) != 'Boolean': + raise MakeError('TypeError', + 'Boolean.prototype.valueOf is not generic') + if is_object(this): + this = this.value + return this diff --git a/lib/js2py/js2py_old/internals/prototypes/jserror.py b/lib/js2py/js2py_old/internals/prototypes/jserror.py new file mode 100644 index 00000000..c58dec49 --- /dev/null +++ b/lib/js2py/js2py_old/internals/prototypes/jserror.py @@ -0,0 +1,15 @@ +from __future__ import unicode_literals +from ..conversions import * +from ..func_utils import * + + +class ErrorPrototype: + def toString(this, args): + if Type(this) != 'Object': + raise MakeError('TypeError', + 'Error.prototype.toString called on non-object') + name = this.get('name') + name = u'Error' if is_undefined(name) else to_string(name) + msg = this.get('message') + msg = '' if is_undefined(msg) else to_string(msg) + return name + (name and msg and ': ') + msg diff --git a/lib/js2py/js2py_old/internals/prototypes/jsfunction.py b/lib/js2py/js2py_old/internals/prototypes/jsfunction.py new file mode 100644 index 00000000..06ec6801 --- /dev/null +++ b/lib/js2py/js2py_old/internals/prototypes/jsfunction.py @@ -0,0 +1,61 @@ +from __future__ import unicode_literals + +from ..conversions import * +from ..func_utils import * + +# 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(this, args): + if not is_callable(this): + raise MakeError('TypeError', + 'Function.prototype.toString is not generic') + + args = u', '.join(map(unicode, this.params)) + return u'function %s(%s) { [native code] }' % (this.name if this.name + else u'', args) + + def call(this, args): + if not is_callable(this): + raise MakeError('TypeError', + 'Function.prototype.call is not generic') + _this = get_arg(args, 0) + _args = tuple(args)[1:] + return this.call(_this, _args) + + def apply(this, args): + if not is_callable(this): + raise MakeError('TypeError', + 'Function.prototype.apply is not generic') + _args = get_arg(args, 1) + if not is_object(_args): + raise MakeError( + 'TypeError', + 'argList argument to Function.prototype.apply must an Object') + _this = get_arg(args, 0) + return this.call(_this, js_array_to_tuple(_args)) + + def bind(this, args): + if not is_callable(this): + raise MakeError('TypeError', + 'Function.prototype.bind is not generic') + bound_this = get_arg(args, 0) + bound_args = tuple(args)[1:] + + def bound(dummy_this, extra_args): + return this.call(bound_this, bound_args + tuple(extra_args)) + + js_bound = args.space.NewFunction(bound, this.ctx, (), u'', False, ()) + js_bound.put(u'length', + float(max(len(this.params) - len(bound_args), 0.))) + js_bound.put(u'name', u'boundFunc') + return js_bound diff --git a/lib/js2py/js2py_old/internals/prototypes/jsjson.py b/lib/js2py/js2py_old/internals/prototypes/jsjson.py new file mode 100644 index 00000000..87dc5f38 --- /dev/null +++ b/lib/js2py/js2py_old/internals/prototypes/jsjson.py @@ -0,0 +1,205 @@ +from __future__ import unicode_literals +from ..conversions import * +from ..func_utils import * +from ..operations import strict_equality_op +import json + +indent = '' +# python 3 support +import six +if six.PY3: + basestring = str + long = int + xrange = range + unicode = str + + +def parse(this, args): + text, reviver = get_arg(args, 0), get_arg(args, 1) + s = to_string(text) + try: + unfiltered = json.loads(s) + except: + raise MakeError( + 'SyntaxError', + 'JSON.parse could not parse JSON string - Invalid syntax') + unfiltered = to_js(unfiltered, args.space) + if is_callable(reviver): + root = args.space.ConstructObject({'': unfiltered}) + return walk(root, '', reviver) + else: + return unfiltered + + +def stringify(this, args): + global indent + value, replacer, space = get_arg(args, 0), get_arg(args, 1), get_arg( + args, 2) + stack = set([]) + indent = '' + property_list = replacer_function = undefined + if is_object(replacer): + if is_callable(replacer): + replacer_function = replacer + elif replacer.Class == 'Array': + property_list = [] + for e in replacer: + v = replacer[e] + item = undefined + typ = Type(v) + if typ == 'Number': + item = to_string(v) + elif typ == 'String': + item = v + elif typ == 'Object': + if GetClass(v) in ('String', 'Number'): + item = to_string(v) + if not is_undefined(item) and item not in property_list: + property_list.append(item) + if is_object(space): + if GetClass(space) == 'Number': + space = to_number(space) + elif GetClass(space) == 'String': + space = to_string(space) + if Type(space) == 'Number': + space = min(10, to_int(space)) + gap = max(int(space), 0) * ' ' + elif Type(space) == 'String': + gap = space[:10] + else: + gap = '' + return Str('', args.space.ConstructObject({ + '': value + }), replacer_function, property_list, gap, stack, space) + + +def Str(key, holder, replacer_function, property_list, gap, stack, space): + value = holder.get(key) + if is_object(value): + to_json = value.get('toJSON') + if is_callable(to_json): + value = to_json.call(value, (key, )) + if not is_undefined(replacer_function): + value = replacer_function.call(holder, (key, value)) + + if is_object(value): + if value.Class == 'String': + value = to_string(value) + elif value.Class == 'Number': + value = to_number(value) + elif value.Class == 'Boolean': + value = to_boolean(value) + typ = Type(value) + if is_null(value): + return 'null' + elif typ == 'Boolean': + return 'true' if value else 'false' + elif typ == 'String': + return Quote(value) + elif typ == 'Number': + if not is_infinity(value): + return to_string(value) + return 'null' + if is_object(value) and not is_callable(value): + 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 undefined + + +def jo(value, stack, gap, property_list, replacer_function, space): + global indent + if value in stack: + raise MakeError('TypeError', 'Converting circular structure to JSON') + stack.add(value) + stepback = indent + indent += gap + if not is_undefined(property_list): + k = property_list + else: + k = [unicode(e) for e, d in value.own.items() if d.get('enumerable')] + partial = [] + for p in k: + str_p = Str(p, value, replacer_function, property_list, gap, stack, + space) + if not is_undefined(str_p): + member = json.dumps(p) + ':' + ( + ' ' if gap else + '') + str_p # 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 MakeError('TypeError', 'Converting circular structure to JSON') + stack.add(value) + stepback = indent + indent += gap + partial = [] + length = js_arr_length(value) + for index in xrange(length): + index = unicode(index) + str_index = Str(index, value, replacer_function, property_list, gap, + stack, space) + if is_undefined(str_index): + partial.append('null') + else: + partial.append(str_index) + 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 json.dumps(string) + + +def to_js(d, _args_space): + return convert_to_js_type(d, _args_space) + + +def walk(holder, name, reviver): + val = holder.get(name) + if GetClass(val) == 'Array': + for i in xrange(js_arr_length(val)): + i = unicode(i) + new_element = walk(val, i, reviver) + if is_undefined(new_element): + val.delete(i) + else: + new_element.put(i, new_element) + elif is_object(val): + for key in [ + unicode(e) for e, d in val.own.items() if d.get('enumerable') + ]: + new_element = walk(val, key, reviver) + if is_undefined(new_element): + val.delete(key) + else: + val.put(key, new_element) + return reviver.call(holder, (name, val)) diff --git a/lib/js2py/js2py_old/internals/prototypes/jsnumber.py b/lib/js2py/js2py_old/internals/prototypes/jsnumber.py new file mode 100644 index 00000000..d099eabd --- /dev/null +++ b/lib/js2py/js2py_old/internals/prototypes/jsnumber.py @@ -0,0 +1,163 @@ +from __future__ import unicode_literals +from ..conversions import * +from ..func_utils import * + +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 is_nan(num): + return 'NaN' + elif is_infinity(num): + sign = '-' if num < 0 else '' + return sign + 'Infinity' + elif int(num) == num: # dont print .0 + return unicode(int(num)) + return unicode(num) # todo: Make it 100% consistent with Node + + +class NumberPrototype: + def toString(this, args): + if GetClass(this) != 'Number': + raise MakeError('TypeError', + 'Number.prototype.valueOf is not generic') + if type(this) != float: + this = this.value + radix = get_arg(args, 0) + if is_undefined(radix): + return to_str_rep(this) + r = to_int(radix) + if r == 10: + return to_str_rep(this) + if r not in xrange(2, 37) or radix != r: + raise MakeError( + 'RangeError', + 'Number.prototype.toString() radix argument must be an integer between 2 and 36' + ) + num = to_int(this) + 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(this, args): + if GetClass(this) != 'Number': + raise MakeError('TypeError', + 'Number.prototype.valueOf is not generic') + if type(this) != float: + this = this.value + return this + + def toFixed(this, args): + if GetClass(this) != 'Number': + raise MakeError( + 'TypeError', + 'Number.prototype.toFixed called on incompatible receiver') + if type(this) != float: + this = this.value + fractionDigits = get_arg(args, 0) + digs = to_int(fractionDigits) + if digs < 0 or digs > 20: + raise MakeError( + 'RangeError', + 'toFixed() digits argument must be between 0 and 20') + elif is_infinity(this): + return 'Infinity' if this > 0 else '-Infinity' + elif is_nan(this): + return 'NaN' + return format(this, '-.%df' % digs) + + def toExponential(this, args): + if GetClass(this) != 'Number': + raise MakeError( + 'TypeError', + 'Number.prototype.toExponential called on incompatible receiver' + ) + if type(this) != float: + this = this.value + fractionDigits = get_arg(args, 0) + digs = to_int(fractionDigits) + if digs < 0 or digs > 20: + raise MakeError( + 'RangeError', + 'toFixed() digits argument must be between 0 and 20') + elif is_infinity(this): + return 'Infinity' if this > 0 else '-Infinity' + elif is_nan(this): + return 'NaN' + return format(this, '-.%de' % digs) + + def toPrecision(this, args): + if GetClass(this) != 'Number': + raise MakeError( + 'TypeError', + 'Number.prototype.toPrecision called on incompatible receiver') + if type(this) != float: + this = this.value + precision = get_arg(args, 0) + if is_undefined(precision): + return to_string(this) + prec = to_int(precision) + if is_nan(this): + return 'NaN' + elif is_infinity(this): + return 'Infinity' if this > 0 else '-Infinity' + digs = prec - len(str(int(this))) + if digs >= 0: + return format(this, '-.%df' % digs) + else: + return format(this, '-.%df' % (prec - 1)) + + +NumberPrototype.toLocaleString = NumberPrototype.toString diff --git a/lib/js2py/js2py_old/internals/prototypes/jsobject.py b/lib/js2py/js2py_old/internals/prototypes/jsobject.py new file mode 100644 index 00000000..cdda6bab --- /dev/null +++ b/lib/js2py/js2py_old/internals/prototypes/jsobject.py @@ -0,0 +1,48 @@ +from __future__ import unicode_literals +from ..conversions import * +from ..func_utils import * + + +class ObjectPrototype: + def toString(this, args): + if type(this) == UNDEFINED_TYPE: + return u'[object Undefined]' + elif type(this) == NULL_TYPE: + return u'[object Null]' + return u'[object %s]' % GetClass(to_object(this, args.space)) + + def valueOf(this, args): + return to_object(this, args.space) + + def toLocaleString(this, args): + o = to_object(this, args.space) + toString = o.get(u'toString') + if not is_callable(toString): + raise MakeError('TypeError', 'toString of this is not callcable') + else: + return toString.call(this, args) + + def hasOwnProperty(this, args): + prop = get_arg(args, 0) + o = to_object(this, args.space) + return o.get_own_property(to_string(prop)) is not None + + def isPrototypeOf(this, args): + # a bit stupid specification because of object conversion that will cause invalid values for primitives + # for example Object.prototype.isPrototypeOf.call((5).__proto__, 5) gives false + obj = get_arg(args, 0) + if not is_object(obj): + return False + o = to_object(this, args.space) + while 1: + obj = obj.prototype + if obj is None or is_null(obj): + return False + if obj is o: + return True + + def propertyIsEnumerable(this, args): + prop = get_arg(args, 0) + o = to_object(this, args.space) + cand = o.own.get(to_string(prop)) + return cand is not None and cand.get('enumerable') diff --git a/lib/js2py/js2py_old/internals/prototypes/jsregexp.py b/lib/js2py/js2py_old/internals/prototypes/jsregexp.py new file mode 100644 index 00000000..54aba327 --- /dev/null +++ b/lib/js2py/js2py_old/internals/prototypes/jsregexp.py @@ -0,0 +1,56 @@ +from __future__ import unicode_literals + +from ..conversions import * +from ..func_utils import * + + +class RegExpPrototype: + def toString(this, args): + flags = u'' + try: + if this.glob: + flags += u'g' + if this.ignore_case: + flags += u'i' + if this.multiline: + flags += u'm' + except: + pass + try: + v = this.value if this.value else u'(?:)' + except: + v = u'(?:)' + return u'/%s/' % v + flags + + def test(this, args): + string = get_arg(args, 0) + return RegExpExec(this, string, args.space) is not null + + def _exec( + this, args + ): # will be changed to exec in base.py. cant name it exec here... + string = get_arg(args, 0) + return RegExpExec(this, string, args.space) + + +def RegExpExec(this, string, space): + if GetClass(this) != 'RegExp': + raise MakeError('TypeError', 'RegExp.prototype.exec is not generic!') + string = to_string(string) + length = len(string) + i = to_int(this.get('lastIndex')) if this.glob else 0 + matched = False + while not matched: + if i < 0 or i > length: + this.put('lastIndex', 0.) + return null + matched = this.match(string, i) + i += 1 + start, end = matched.span() #[0]+i-1, matched.span()[1]+i-1 + if this.glob: + this.put('lastIndex', float(end)) + arr = convert_to_js_type( + [matched.group()] + list(matched.groups()), space=space) + arr.put('index', float(start)) + arr.put('input', unicode(string)) + return arr diff --git a/lib/js2py/internals/prototypes/jsstring.py b/lib/js2py/js2py_old/internals/prototypes/jsstring.py similarity index 100% rename from lib/js2py/internals/prototypes/jsstring.py rename to lib/js2py/js2py_old/internals/prototypes/jsstring.py diff --git a/lib/js2py/js2py_old/internals/prototypes/jsutils.py b/lib/js2py/js2py_old/internals/prototypes/jsutils.py new file mode 100644 index 00000000..85f5bd44 --- /dev/null +++ b/lib/js2py/js2py_old/internals/prototypes/jsutils.py @@ -0,0 +1,149 @@ +from __future__ import unicode_literals +from ..conversions import * +from ..func_utils import * + +RADIX_CHARS = { + '1': 1, + '0': 0, + '3': 3, + '2': 2, + '5': 5, + '4': 4, + '7': 7, + '6': 6, + '9': 9, + '8': 8, + 'a': 10, + 'c': 12, + 'b': 11, + 'e': 14, + 'd': 13, + 'g': 16, + 'f': 15, + 'i': 18, + 'h': 17, + 'k': 20, + 'j': 19, + 'm': 22, + 'l': 21, + 'o': 24, + 'n': 23, + 'q': 26, + 'p': 25, + 's': 28, + 'r': 27, + 'u': 30, + 't': 29, + 'w': 32, + 'v': 31, + 'y': 34, + 'x': 33, + 'z': 35, + 'A': 10, + 'C': 12, + 'B': 11, + 'E': 14, + 'D': 13, + 'G': 16, + 'F': 15, + 'I': 18, + 'H': 17, + 'K': 20, + 'J': 19, + 'M': 22, + 'L': 21, + 'O': 24, + 'N': 23, + 'Q': 26, + 'P': 25, + 'S': 28, + 'R': 27, + 'U': 30, + 'T': 29, + 'W': 32, + 'V': 31, + 'Y': 34, + 'X': 33, + 'Z': 35 +} + +# parseFloat +# parseInt +# isFinite +# isNaN + + +def parseInt(this, args): + string, radix = get_arg(args, 0), get_arg(args, 1) + string = to_string(string).lstrip() + sign = 1 + if string and string[0] in ('+', '-'): + if string[0] == '-': + sign = -1 + string = string[1:] + r = to_int32(radix) + strip_prefix = True + if r: + if r < 2 or r > 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 n < len(string): + cand = RADIX_CHARS.get(string[n]) + if cand is None or not cand < r: + break + num = cand + num * r + n += 1 + if not n: + return NaN + return float(sign * num) + + +def parseFloat(this, args): + string = get_arg(args, 0) + string = to_string(string).strip() + sign = 1 + if string and string[0] in ('+', '-'): + if string[0] == '-': + sign = -1 + string = string[1:] + num = None + length = 1 + max_len = None + failed = 0 + while length <= len(string): + try: + num = float(string[:length]) + max_len = length + failed = 0 + except: + failed += 1 + if failed > 4: # cant be a number anymore + break + length += 1 + if num is None: + return NaN + return sign * float(string[:max_len]) + + +def isNaN(this, args): + number = get_arg(args, 0) + if is_nan(to_number(number)): + return True + return False + + +def isFinite(this, args): + number = get_arg(args, 0) + num = to_number(number) + if is_nan(num) or is_infinity(num): + return False + return True diff --git a/lib/js2py/js2py_old/internals/seval.py b/lib/js2py/js2py_old/internals/seval.py new file mode 100644 index 00000000..cd8ea50f --- /dev/null +++ b/lib/js2py/js2py_old/internals/seval.py @@ -0,0 +1,33 @@ +import pyjsparser +from .space import Space +from . import fill_space +from .byte_trans import ByteCodeGenerator +from .code import Code +from .simplex import * + + +pyjsparser.parser.ENABLE_JS2PY_ERRORS = lambda msg: MakeError(u'SyntaxError', unicode(msg)) + +def get_js_bytecode(js): + a = ByteCodeGenerator(Code()) + d = pyjsparser.parse(js) + a.emit(d) + return a.exe.tape + +def eval_js_vm(js, debug=False): + a = ByteCodeGenerator(Code(debug_mode=debug)) + s = Space() + a.exe.space = s + s.exe = a.exe + + d = pyjsparser.parse(js) + + a.emit(d) + fill_space.fill_space(s, a) + if debug: + from pprint import pprint + pprint(a.exe.tape) + print() + a.exe.compile() + + return a.exe.run(a.exe.space.GlobalObj) diff --git a/lib/js2py/js2py_old/internals/simplex.py b/lib/js2py/js2py_old/internals/simplex.py new file mode 100644 index 00000000..4cd247eb --- /dev/null +++ b/lib/js2py/js2py_old/internals/simplex.py @@ -0,0 +1,160 @@ +from __future__ import unicode_literals +import six +if six.PY3: + basestring = str + long = int + xrange = range + unicode = str + +#Undefined +class PyJsUndefined(object): + TYPE = 'Undefined' + Class = 'Undefined' + + +undefined = PyJsUndefined() + + +#Null +class PyJsNull(object): + TYPE = 'Null' + Class = 'Null' + + +null = PyJsNull() + +Infinity = float('inf') +NaN = float('nan') + +UNDEFINED_TYPE = PyJsUndefined +NULL_TYPE = PyJsNull +STRING_TYPE = unicode if six.PY2 else str +NUMBER_TYPE = float +BOOLEAN_TYPE = bool + +# exactly 5 simplexes! +PRIMITIVES = frozenset( + [UNDEFINED_TYPE, NULL_TYPE, STRING_TYPE, NUMBER_TYPE, BOOLEAN_TYPE]) + +TYPE_NAMES = { + UNDEFINED_TYPE: 'Undefined', + NULL_TYPE: 'Null', + STRING_TYPE: 'String', + NUMBER_TYPE: 'Number', + BOOLEAN_TYPE: 'Boolean', +} + + +def Type(x): + # Any -> Str + return TYPE_NAMES.get(type(x), 'Object') + + +def GetClass(x): + # Any -> Str + cand = TYPE_NAMES.get(type(x)) + if cand is None: + return x.Class + return cand + + +def is_undefined(self): + return self is undefined + + +def is_null(self): + return self is null + + +def is_primitive(self): + return type(self) in PRIMITIVES + + +def is_object(self): + return not is_primitive(self) + + +def is_callable(self): + return hasattr(self, 'call') + + +def is_infinity(self): + return self == Infinity or self == -Infinity + + +def is_nan(self): + return self != self # nan!=nan evaluates to True + + +def is_finite(self): + return not (is_nan(self) or is_infinity(self)) + + +class JsException(Exception): + def __init__(self, typ=None, message=None, throw=None): + if typ is None and message is None and throw is None: + # it means its the trasnlator based error (old format), do nothing + self._translator_based = True + else: + assert throw is None or (typ is None + and message is None), (throw, typ, + message) + self._translator_based = False + self.typ = typ + self.message = message + self.throw = throw + + def get_thrown_value(self, space): + if self.throw is not None: + return self.throw + else: + return space.NewError(self.typ, self.message) + + def __str__(self): + if self._translator_based: + if self.mes.Class == 'Error': + return self.mes.callprop('toString').value + else: + return self.mes.to_string().value + else: + if self.throw is not None: + from .conversions import to_string + return to_string(self.throw) + else: + return self.typ + ': ' + self.message + + +def MakeError(typ, message=u'no info', throw=None): + return JsException(typ, + unicode(message) if message is not None else message, + throw) + + +def value_from_js_exception(js_exception, space): + if js_exception.throw is not None: + return js_exception.throw + else: + return space.NewError(js_exception.typ, js_exception.message) + + +def js_dtoa(number): + if is_nan(number): + return u'NaN' + elif is_infinity(number): + if number > 0: + return u'Infinity' + return u'-Infinity' + elif number == 0.: + return u'0' + elif abs(number) < 1e-6 or abs(number) >= 1e21: + frac, exponent = unicode(repr(float(number))).split('e') + # Remove leading zeros from the exponent. + exponent = int(exponent) + return frac + ('e' if exponent < 0 else 'e+') + unicode(exponent) + elif abs(number) < 1e-4: # python starts to return exp notation while we still want the prec + frac, exponent = unicode(repr(float(number))).split('e-') + base = u'0.' + u'0' * (int(exponent) - 1) + frac.lstrip('-').replace('.', '') + return base if number > 0. else u'-' + base + elif isinstance(number, long) or number.is_integer(): # dont print .0 + return unicode(int(number)) + return unicode(repr(number)) # python representation should be equivalent. diff --git a/lib/js2py/js2py_old/internals/space.py b/lib/js2py/js2py_old/internals/space.py new file mode 100644 index 00000000..cb2e77ae --- /dev/null +++ b/lib/js2py/js2py_old/internals/space.py @@ -0,0 +1,92 @@ +from .base import * +from .simplex import * + + +class Space(object): + def __init__(self): + self.GlobalObj = None + self.ctx = None + self.byte_generator = None + + self.Number = None + self.String = None + self.Boolean = None + self.RegExp = None + self.Object = None + self.Array = None + self.Function = None + + self.BooleanPrototype = None + self.NumberPrototype = None + self.StringPrototype = None + + self.FunctionPrototype = None + self.ArrayPrototype = None + self.RegExpPrototype = None + self.DatePrototype = None + self.ObjectPrototype = None + + self.ErrorPrototype = None + self.EvalErrorPrototype = None + self.RangeErrorPrototype = None + self.ReferenceErrorPrototype = None + self.SyntaxErrorPrototype = None + self.TypeErrorPrototype = None + self.URIErrorPrototype = None + + self.interpreter = None + + @property + def ERROR_TYPES(self): + return { + 'Error': self.ErrorPrototype, + 'EvalError': self.EvalErrorPrototype, + 'RangeError': self.RangeErrorPrototype, + 'ReferenceError': self.ReferenceErrorPrototype, + 'SyntaxError': self.SyntaxErrorPrototype, + 'TypeError': self.TypeErrorPrototype, + 'URIError': self.URIErrorPrototype, + } + + def get_global_environment(self): + return self.GlobalCtx.variable_environment() + + def NewObject(self): + return PyJsObject(self.ObjectPrototype) + + def NewFunction(self, code, ctx, params, name, is_declaration, + definitions): + return PyJsFunction( + code, + ctx, + params, + name, + self, + is_declaration, + definitions, + prototype=self.FunctionPrototype) + + def NewDate(self, value): + return PyJsDate(value, self.DatePrototype) + + def NewArray(self, length=0): + return PyJsArray(length, self.ArrayPrototype) + + def NewError(self, typ, message): + return PyJsError(message, self.ERROR_TYPES[typ]) + + def NewRegExp(self, body, flags): + return PyJsRegExp(body, flags, self.RegExpPrototype) + + def ConstructArray(self, py_arr): + ''' note py_arr elems are NOT converted to PyJs types!''' + arr = self.NewArray(len(py_arr)) + arr._init(py_arr) + return arr + + def ConstructObject(self, py_obj): + ''' note py_obj items are NOT converted to PyJs types! ''' + obj = self.NewObject() + for k, v in py_obj.items(): + obj.put(unicode(k), v) + return obj diff --git a/lib/js2py/js2py_old/internals/speed.py b/lib/js2py/js2py_old/internals/speed.py new file mode 100644 index 00000000..3ca4079e --- /dev/null +++ b/lib/js2py/js2py_old/internals/speed.py @@ -0,0 +1,62 @@ +from timeit import timeit +from collections import namedtuple +from array import array +from itertools import izip +from collections import deque + + +class Y(object): + UUU = 88 + + def __init__(self, x): + self.x = x + + def s(self, x): + return self.x + 1 + + +class X(Y): + A = 10 + B = 2 + C = 4 + D = 9 + + def __init__(self, x): + self.x = x + self.stack = [] + self.par = super(X, self) + + def s(self, x): + pass + + def __add__(self, other): + return self.x + other.x + + def another(self): + return Y.s(self, 1) + + def yet_another(self): + return self.par.s(1) + + +def add(a, b): + return a.x + b.x + + +t = [] + +Type = None +try: + print timeit( + """ + +t.append(4) +t.pop() + + + +""", + "from __main__ import X,Y,namedtuple,array,t,add,Type, izip", + number=1000000) +except: + raise diff --git a/lib/js2py/js2py_old/internals/trans_utils.py b/lib/js2py/js2py_old/internals/trans_utils.py new file mode 100644 index 00000000..f99c0994 --- /dev/null +++ b/lib/js2py/js2py_old/internals/trans_utils.py @@ -0,0 +1,35 @@ +import six +if six.PY3: + basestring = str + long = int + xrange = range + unicode = str + +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 u'true' if k else u'false' + elif k is None: + return u'null' + else: + return unicode(k) + + +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 unicode(repr(int(f))) + return unicode(repr(f)) diff --git a/lib/js2py/legecy_translators/__init__.py b/lib/js2py/js2py_old/legecy_translators/__init__.py similarity index 100% rename from lib/js2py/legecy_translators/__init__.py rename to lib/js2py/js2py_old/legecy_translators/__init__.py diff --git a/lib/js2py/legecy_translators/constants.py b/lib/js2py/js2py_old/legecy_translators/constants.py similarity index 100% rename from lib/js2py/legecy_translators/constants.py rename to lib/js2py/js2py_old/legecy_translators/constants.py diff --git a/lib/js2py/legecy_translators/exps.py b/lib/js2py/js2py_old/legecy_translators/exps.py similarity index 100% rename from lib/js2py/legecy_translators/exps.py rename to lib/js2py/js2py_old/legecy_translators/exps.py diff --git a/lib/js2py/legecy_translators/flow.py b/lib/js2py/js2py_old/legecy_translators/flow.py similarity index 100% rename from lib/js2py/legecy_translators/flow.py rename to lib/js2py/js2py_old/legecy_translators/flow.py diff --git a/lib/js2py/legecy_translators/functions.py b/lib/js2py/js2py_old/legecy_translators/functions.py similarity index 100% rename from lib/js2py/legecy_translators/functions.py rename to lib/js2py/js2py_old/legecy_translators/functions.py diff --git a/lib/js2py/legecy_translators/jsparser.py b/lib/js2py/js2py_old/legecy_translators/jsparser.py similarity index 100% rename from lib/js2py/legecy_translators/jsparser.py rename to lib/js2py/js2py_old/legecy_translators/jsparser.py diff --git a/lib/js2py/legecy_translators/nodevisitor.py b/lib/js2py/js2py_old/legecy_translators/nodevisitor.py similarity index 100% rename from lib/js2py/legecy_translators/nodevisitor.py rename to lib/js2py/js2py_old/legecy_translators/nodevisitor.py diff --git a/lib/js2py/legecy_translators/nparser.py b/lib/js2py/js2py_old/legecy_translators/nparser.py similarity index 100% rename from lib/js2py/legecy_translators/nparser.py rename to lib/js2py/js2py_old/legecy_translators/nparser.py diff --git a/lib/js2py/legecy_translators/objects.py b/lib/js2py/js2py_old/legecy_translators/objects.py similarity index 100% rename from lib/js2py/legecy_translators/objects.py rename to lib/js2py/js2py_old/legecy_translators/objects.py diff --git a/lib/js2py/legecy_translators/tokenize.py b/lib/js2py/js2py_old/legecy_translators/tokenize.py similarity index 100% rename from lib/js2py/legecy_translators/tokenize.py rename to lib/js2py/js2py_old/legecy_translators/tokenize.py diff --git a/lib/js2py/legecy_translators/translator.py b/lib/js2py/js2py_old/legecy_translators/translator.py similarity index 100% rename from lib/js2py/legecy_translators/translator.py rename to lib/js2py/js2py_old/legecy_translators/translator.py diff --git a/lib/js2py/legecy_translators/utils.py b/lib/js2py/js2py_old/legecy_translators/utils.py similarity index 100% rename from lib/js2py/legecy_translators/utils.py rename to lib/js2py/js2py_old/legecy_translators/utils.py diff --git a/lib/js2py/node_import.py b/lib/js2py/js2py_old/node_import.py similarity index 100% rename from lib/js2py/node_import.py rename to lib/js2py/js2py_old/node_import.py diff --git a/lib/js2py/js2py_old/prototypes/__init__.py b/lib/js2py/js2py_old/prototypes/__init__.py new file mode 100644 index 00000000..8de79cb9 --- /dev/null +++ b/lib/js2py/js2py_old/prototypes/__init__.py @@ -0,0 +1 @@ +__author__ = 'Piotr Dabkowski' diff --git a/lib/js2py/js2py_old/prototypes/jsarray.py b/lib/js2py/js2py_old/prototypes/jsarray.py new file mode 100644 index 00000000..d02e62b2 --- /dev/null +++ b/lib/js2py/js2py_old/prototypes/jsarray.py @@ -0,0 +1,476 @@ +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 < e_len: + if E.has_property(str(k)): + A.put(str(n), E.get(str(k))) + n += 1 + k += 1 + else: + A.put(str(n), E) + n += 1 + return A + + 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 pop(): #todo check + array = this.to_object() + arr_len = array.get('length').to_uint32() + if not arr_len: + array.put('length', this.Js(arr_len)) + return None + ind = str(arr_len - 1) + element = array.get(ind) + array.delete(ind) + array.put('length', this.Js(arr_len - 1)) + return element + + def push(item): # todo check + array = this.to_object() + arr_len = array.get('length').to_uint32() + to_put = arguments.to_list() + i = arr_len + for i, e in enumerate(to_put, arr_len): + array.put(str(i), e) + if to_put: + i += 1 + array.put('length', this.Js(i)) + return i + + 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 shift(): #todo check + array = this.to_object() + arr_len = array.get('length').to_uint32() + if not arr_len: + array.put('length', this.Js(0)) + return None + first = array.get('0') + for k in xrange(1, arr_len): + from_s, to_s = str(k), str(k - 1) + if array.has_property(from_s): + array.put(to_s, array.get(from_s)) + else: + array.delete(to) + array.delete(str(arr_len - 1)) + array.put('length', this.Js(str(arr_len - 1))) + return first + + 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 k < final: + pk = str(k) + if array.has_property(pk): + res.append(array.get(pk)) + k += 1 + n += 1 + return res + + def sort(cmpfn): + if not this.Class in ('Array', 'Arguments'): + return this.to_object() # do nothing + arr = [] + for i in xrange(len(this)): + arr.append(this.get(six.text_type(i))) + + if not arr: + return this + if not cmpfn.is_callable(): + cmpfn = None + cmp = lambda a, b: sort_compare(a, b, cmpfn) + if six.PY3: + key = functools.cmp_to_key(cmp) + arr.sort(key=key) + else: + arr.sort(cmp=cmp) + for i in xrange(len(arr)): + this.put(six.text_type(i), arr[i]) + + return this + + def splice(start, deleteCount): + # 1-8 + array = this.to_object() + arr_len = array.get('length').to_uint32() + relative_start = start.to_int() + actual_start = max( + (arr_len + relative_start), 0) if relative_start < 0 else min( + relative_start, arr_len) + actual_delete_count = min( + max(deleteCount.to_int(), 0), arr_len - actual_start) + k = 0 + A = this.Js([]) + # 9 + while k < actual_delete_count: + if array.has_property(str(actual_start + k)): + A.put(str(k), array.get(str(actual_start + k))) + k += 1 + # 10-11 + items = to_arr(arguments)[2:] + items_len = len(items) + # 12 + if items_len < actual_delete_count: + k = actual_start + while k < (arr_len - actual_delete_count): + fr = str(k + actual_delete_count) + to = str(k + items_len) + if array.has_property(fr): + array.put(to, array.get(fr)) + else: + array.delete(to) + k += 1 + k = arr_len + 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 k < arr_len: + if array.has_property(str(k)): + kValue = array.get(str(k)) + if not callbackfn.call( + T, (kValue, this.Js(k), array)).to_boolean().value: + return False + k += 1 + return True + + def some(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 k < arr_len: + if array.has_property(str(k)): + kValue = array.get(str(k)) + if callbackfn.call( + T, (kValue, this.Js(k), array)).to_boolean().value: + return True + k += 1 + return False + + def forEach(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 k < arr_len: + if array.has_property(str(k)): + kValue = array.get(str(k)) + callbackfn.call(T, (kValue, this.Js(k), array)) + k += 1 + + def map(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] + A = this.Js([]) + k = 0 + while k < arr_len: + Pk = str(k) + if array.has_property(Pk): + kValue = array.get(Pk) + mappedValue = callbackfn.call(T, (kValue, this.Js(k), array)) + A.define_own_property( + Pk, { + 'value': mappedValue, + 'writable': True, + 'enumerable': True, + 'configurable': True + }) + k += 1 + return A + + def filter(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] + res = [] + k = 0 + while k < arr_len: + if array.has_property(str(k)): + kValue = array.get(str(k)) + if callbackfn.call( + T, (kValue, this.Js(k), array)).to_boolean().value: + res.append(kValue) + k += 1 + return res # converted to js array automatically + + def reduce(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') + if not arr_len and len(arguments) < 2: + raise this.MakeError( + 'TypeError', 'Reduce of empty array with no initial value') + k = 0 + if len(arguments) > 1: # initial value present + accumulator = arguments[1] + else: + kPresent = False + while not kPresent and k < arr_len: + 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 < arr_len: + 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 reduceRight(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') + if not arr_len and len(arguments) < 2: + raise this.MakeError( + 'TypeError', 'Reduce of empty array with no initial value') + k = arr_len - 1 + if len(arguments) > 1: # 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 x < y: + return -1 + elif x > y: + return 1 + return 0 diff --git a/lib/js2py/js2py_old/prototypes/jsarraybuffer.py b/lib/js2py/js2py_old/prototypes/jsarraybuffer.py new file mode 100644 index 00000000..7bcd00fb --- /dev/null +++ b/lib/js2py/js2py_old/prototypes/jsarraybuffer.py @@ -0,0 +1,19 @@ +# 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/js2py_old/prototypes/jsboolean.py b/lib/js2py/js2py_old/prototypes/jsboolean.py new file mode 100644 index 00000000..2cacd32d --- /dev/null +++ b/lib/js2py/js2py_old/prototypes/jsboolean.py @@ -0,0 +1,10 @@ +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/js2py_old/prototypes/jserror.py b/lib/js2py/js2py_old/prototypes/jserror.py new file mode 100644 index 00000000..c488bf15 --- /dev/null +++ b/lib/js2py/js2py_old/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 diff --git a/lib/js2py/prototypes/jsfunction.py b/lib/js2py/js2py_old/prototypes/jsfunction.py similarity index 100% rename from lib/js2py/prototypes/jsfunction.py rename to lib/js2py/js2py_old/prototypes/jsfunction.py diff --git a/lib/js2py/js2py_old/prototypes/jsjson.py b/lib/js2py/js2py_old/prototypes/jsjson.py new file mode 100644 index 00000000..9f7ccbb0 --- /dev/null +++ b/lib/js2py/js2py_old/prototypes/jsjson.py @@ -0,0 +1,219 @@ +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}) + return 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 + }) diff --git a/lib/js2py/js2py_old/prototypes/jsnumber.py b/lib/js2py/js2py_old/prototypes/jsnumber.py new file mode 100644 index 00000000..c9905ab0 --- /dev/null +++ b/lib/js2py/js2py_old/prototypes/jsnumber.py @@ -0,0 +1,146 @@ +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/js2py_old/prototypes/jsobject.py b/lib/js2py/js2py_old/prototypes/jsobject.py new file mode 100644 index 00000000..aeefe5d3 --- /dev/null +++ b/lib/js2py/js2py_old/prototypes/jsobject.py @@ -0,0 +1,28 @@ +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/js2py_old/prototypes/jsregexp.py b/lib/js2py/js2py_old/prototypes/jsregexp.py new file mode 100644 index 00000000..b23f2003 --- /dev/null +++ b/lib/js2py/js2py_old/prototypes/jsregexp.py @@ -0,0 +1,45 @@ +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/js2py_old/prototypes/jsstring.py b/lib/js2py/js2py_old/prototypes/jsstring.py new file mode 100644 index 00000000..ee320709 --- /dev/null +++ b/lib/js2py/js2py_old/prototypes/jsstring.py @@ -0,0 +1,306 @@ +# -*- 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 + 2 < len(rep) and rep[n + 2] in DIGS: + dig += rep[n + 2] + num = int(dig) + # we will not do any replacements if we dont have this npar or dig is 0 + if not num or num > len(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 n < len(rep): + res += rep[-1] + return res + + +################################################### + + +class StringPrototype: + def toString(): + if this.Class != 'String': + raise this.MakeError('TypeError', + 'String.prototype.toString is not generic') + return this.value + + def valueOf(): + if this.Class != 'String': + raise this.MakeError('TypeError', + 'String.prototype.valueOf is not generic') + return this.value + + def charAt(pos): + this.cok() + pos = pos.to_int() + s = this.to_string() + if 0 <= pos < len(s.value): + char = s.value[pos] + if char not in s.CHAR_BANK: + s.Js(char) # add char to char bank + return s.CHAR_BANK[char] + return s.CHAR_BANK[''] + + def charCodeAt(pos): + this.cok() + pos = pos.to_int() + s = this.to_string() + if 0 <= pos < len(s.value): + return s.Js(ord(s.value[pos])) + return s.NaN + + def concat(): + this.cok() + s = this.to_string() + res = s.value + for e in arguments.to_list(): + res += e.to_string().value + return res + + def indexOf(searchString, position): + this.cok() + s = this.to_string().value + search = searchString.to_string().value + pos = position.to_int() + return this.Js(s.find(search, min(max(pos, 0), len(s)))) + + def lastIndexOf(searchString, position): + this.cok() + s = this.to_string().value + search = searchString.to_string().value + pos = position.to_number() + pos = 10**15 if pos.is_nan() else pos.to_int() + return s.rfind(search, 0, min(max(pos, 0) + 1, len(s))) + + def localeCompare(that): + this.cok() + s = this.to_string() + that = that.to_string() + if s < that: + return this.Js(-1) + elif s > that: + 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/js2py_old/prototypes/jstypedarray.py b/lib/js2py/js2py_old/prototypes/jstypedarray.py new file mode 100644 index 00000000..43285aae --- /dev/null +++ b/lib/js2py/js2py_old/prototypes/jstypedarray.py @@ -0,0 +1,344 @@ +# 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 k < final: + pk = str(k) + if array.has_property(pk): + res.append(array.get(pk)) + k += 1 + n += 1 + return res + + def sort(cmpfn): + if not this.Class in ('Array', 'Arguments'): + return this.to_object() # do nothing + arr = [] + for i in xrange(len(this)): + arr.append(this.get(six.text_type(i))) + + if not arr: + return this + if not cmpfn.is_callable(): + cmpfn = None + cmp = lambda a, b: sort_compare(a, b, cmpfn) + if six.PY3: + key = functools.cmp_to_key(cmp) + arr.sort(key=key) + else: + arr.sort(cmp=cmp) + for i in xrange(len(arr)): + this.put(six.text_type(i), arr[i]) + + return this + + 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 k < arr_len: + if array.has_property(str(k)): + kValue = array.get(str(k)) + if not callbackfn.call( + T, (kValue, this.Js(k), array)).to_boolean().value: + return False + k += 1 + return True + + def some(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 k < arr_len: + if array.has_property(str(k)): + kValue = array.get(str(k)) + if callbackfn.call( + T, (kValue, this.Js(k), array)).to_boolean().value: + return True + k += 1 + return False + + def forEach(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 k < arr_len: + if array.has_property(str(k)): + kValue = array.get(str(k)) + callbackfn.call(T, (kValue, this.Js(k), array)) + k += 1 + + def map(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] + A = this.Js([]) + k = 0 + while k < arr_len: + Pk = str(k) + if array.has_property(Pk): + kValue = array.get(Pk) + mappedValue = callbackfn.call(T, (kValue, this.Js(k), array)) + A.define_own_property( + Pk, { + 'value': mappedValue, + 'writable': True, + 'enumerable': True, + 'configurable': True + }) + k += 1 + return A + + def filter(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] + res = [] + k = 0 + while k < arr_len: + if array.has_property(str(k)): + kValue = array.get(str(k)) + if callbackfn.call( + T, (kValue, this.Js(k), array)).to_boolean().value: + res.append(kValue) + k += 1 + return res # converted to js array automatically + + def reduce(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') + if not arr_len and len(arguments) < 2: + raise this.MakeError( + 'TypeError', 'Reduce of empty array with no initial value') + k = 0 + if len(arguments) > 1: # initial value present + accumulator = arguments[1] + else: + kPresent = False + while not kPresent and k < arr_len: + 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 < arr_len: + 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 reduceRight(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') + if not arr_len and len(arguments) < 2: + raise this.MakeError( + 'TypeError', 'Reduce of empty array with no initial value') + k = arr_len - 1 + if len(arguments) > 1: # 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 x < y: + return -1 + elif x > y: + return 1 + return 0 diff --git a/lib/js2py/js2py_old/py_node_modules/__init__.py b/lib/js2py/js2py_old/py_node_modules/__init__.py new file mode 100644 index 00000000..03b73026 --- /dev/null +++ b/lib/js2py/js2py_old/py_node_modules/__init__.py @@ -0,0 +1 @@ +"""this package contains all the npm modules translated by js2py via node import""" \ No newline at end of file diff --git a/lib/js2py/js2py_old/pyjs.py b/lib/js2py/js2py_old/pyjs.py new file mode 100644 index 00000000..98e106a0 --- /dev/null +++ b/lib/js2py/js2py_old/pyjs.py @@ -0,0 +1,100 @@ +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, escape, unescape, encodeURI, decodeURI, encodeURIComponent, decodeURIComponent + +# 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', + 'escape', + 'unescape', + 'encodeURI', + 'decodeURI', + 'encodeURIComponent', + 'decodeURIComponent', +) + +#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) + # also add window and set it to be a global object for compatibility + obj.register('window') + obj.put('window', 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/js2py_old/test_internals.py b/lib/js2py/js2py_old/test_internals.py new file mode 100644 index 00000000..12cf4ad7 --- /dev/null +++ b/lib/js2py/js2py_old/test_internals.py @@ -0,0 +1,9 @@ +from internals import byte_trans +from internals import seval +import pyjsparser + +x = r''' +function g() {var h123 = 11; return [function g1() {return h123}, new Function('return h123')]} +g()[1]() +''' +print seval.eval_js_vm(x) diff --git a/lib/js2py/js2py_old/translators/__init__.py b/lib/js2py/js2py_old/translators/__init__.py new file mode 100644 index 00000000..7a1001fd --- /dev/null +++ b/lib/js2py/js2py_old/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/js2py_old/translators/friendly_nodes.py b/lib/js2py/js2py_old/translators/friendly_nodes.py new file mode 100644 index 00000000..370f85d8 --- /dev/null +++ b/lib/js2py/js2py_old/translators/friendly_nodes.py @@ -0,0 +1,375 @@ +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 < len(source): + e = source[n] + if not in_bracket and e in starts: + in_bracket = 1 + start = n + b_start, b_end = brackets[starts.index(e)] + elif in_bracket: + if e == b_start: + in_bracket += 1 + elif e == b_end: + in_bracket -= 1 + if not in_bracket: + if source[last:start]: + yield source[last:start] + last = n + 1 + yield source[start + strip:n + 1 - strip] + n += 1 + if source[last:]: + yield source[last:] + + +def js_comma(a, b): + return 'PyJsComma(' + a + ',' + b + ')' + + +def js_or(a, b): + return '(' + a + ' or ' + b + ')' + + +def js_bor(a, b): + return '(' + a + '|' + b + ')' + + +def js_bxor(a, b): + return '(' + a + '^' + b + ')' + + +def js_band(a, b): + return '(' + a + '&' + b + ')' + + +def js_and(a, b): + return '(' + a + ' and ' + b + ')' + + +def js_strict_eq(a, b): + return 'PyJsStrictEq(' + a + ',' + b + ')' + + +def js_strict_neq(a, b): + return 'PyJsStrictNeq(' + a + ',' + b + ')' + + +#Not handled by python in the same way like JS. For example 2==2==True returns false. +# In JS above would return true so we need brackets. +def js_abstract_eq(a, b): + return '(' + a + '==' + b + ')' + + +#just like == +def js_abstract_neq(a, b): + return '(' + a + '!=' + b + ')' + + +def js_lt(a, b): + return '(' + a + '<' + b + ')' + + +def js_le(a, b): + return '(' + a + '<=' + b + ')' + + +def js_ge(a, b): + return '(' + a + '>=' + 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 +} diff --git a/lib/js2py/js2py_old/translators/jsregexps.py b/lib/js2py/js2py_old/translators/jsregexps.py new file mode 100644 index 00000000..235d67c7 --- /dev/null +++ b/lib/js2py/js2py_old/translators/jsregexps.py @@ -0,0 +1,211 @@ +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()) diff --git a/lib/js2py/translators/translating_nodes.py b/lib/js2py/js2py_old/translators/translating_nodes.py similarity index 100% rename from lib/js2py/translators/translating_nodes.py rename to lib/js2py/js2py_old/translators/translating_nodes.py diff --git a/lib/js2py/js2py_old/translators/translator.py b/lib/js2py/js2py_old/translators/translator.py new file mode 100644 index 00000000..16ed5bdb --- /dev/null +++ b/lib/js2py/js2py_old/translators/translator.py @@ -0,0 +1,189 @@ +import pyjsparser +import pyjsparser.parser +from . import translating_nodes + +import hashlib +import re + +# Enable Js2Py exceptions and pyimport in parser +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'(?