Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
L
lcc-reese84
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangmingming
lcc-reese84
Commits
1004a603
Commit
1004a603
authored
Nov 16, 2023
by
wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
07a7c6da
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
8529 additions
and
6669 deletions
+8529
-6669
Window.js
src/jsdom/lib/jsdom/browser/Window.js
+31
-31
MimeType.js
src/jsdom/lib/jsdom/living/generated/MimeType.js
+4
-4
MimeTypeArray.js
src/jsdom/lib/jsdom/living/generated/MimeTypeArray.js
+20
-20
Navigator.js
src/jsdom/lib/jsdom/living/generated/Navigator.js
+20
-20
PluginArray-impl.js
src/jsdom/lib/jsdom/living/navigator/PluginArray-impl.js
+16
-1
HTMLCanvasElement-impl.js
src/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js
+1
-8
reese84_bypass.py
src/reese84_bypass.py
+24
-18
rrr.js
src/rrr.js
+7129
-6530
run.js
src/run.js
+1233
-37
test.js
test.js
+51
-0
No files found.
src/jsdom/lib/jsdom/browser/Window.js
View file @
1004a603
...
@@ -259,37 +259,37 @@ function Window(options) {
...
@@ -259,37 +259,37 @@ function Window(options) {
// vm initialization is deferred until script processing is activated
// vm initialization is deferred until script processing is activated
this
.
_globalProxy
=
this
;
this
.
_globalProxy
=
this
;
this
.
_globalProxy
=
new
Proxy
(
this
.
_globalProxy
,
{
//
this._globalProxy = new Proxy(this._globalProxy, {
get
(
target
,
p
,
receiver
)
{
//
get(target, p, receiver) {
// if (p === 'addEventListener'){
//
// if (p === 'addEventListener'){
// debugger;
//
// debugger;
// }
//
// }
let
res
=
Reflect
.
get
(
target
,
p
,
receiver
);
//
let res = Reflect.get(target, p, receiver);
if
(
p
!==
'debug'
&&
p
!==
'Object'
&&
p
!==
'String'
){
//
if (p !== 'debug' && p !== 'Object' && p !== 'String'){
// console.log('window get', p, typeof res)
//
// console.log('window get', p, typeof res)
//
}
//
}
// if (p === 'StyleSheet'){
//
// if (p === 'StyleSheet'){
// debugger;
//
// debugger;
// }
//
// }
// console.log(Reflect.get(target, '_cf_chl_ctx', receiver))
//
// console.log(Reflect.get(target, '_cf_chl_ctx', receiver))
//
if
(
//
if (
!
[
'_registeredHandlers'
,
'window'
,
'_currentEvent'
,
'debug'
,
'_eventListenerss'
,
'JSON'
,
'Math'
].
includes
(
p
)
&&
//
!['_registeredHandlers', 'window', '_currentEvent','debug','_eventListenerss','JSON', 'Math'].includes(p) &&
res
&&
typeof
res
===
'object'
&&
typeof
p
!==
'symbol'
)
{
//
res && typeof res === 'object' && typeof p !== 'symbol') {
return
proxy
(
res
,
p
)
//
return proxy(res, p)
}
//
}
return
res
;
//
return res;
},
//
},
// set(target, p, newValue, receiver) {
//
// set(target, p, newValue, receiver) {
// console.log('set window', p, newValue)
//
// console.log('set window', p, newValue)
// if (typeof newValue === 'string' && newValue.startsWith('3g')) {
//
// if (typeof newValue === 'string' && newValue.startsWith('3g')) {
// _console(newValue)
//
// _console(newValue)
// // process.exit(0)
//
// // process.exit(0)
// }
//
// }
// return Reflect.set(target, p, newValue, receiver)
//
// return Reflect.set(target, p, newValue, receiver)
// }
//
// }
})
//
})
Object
.
defineProperty
(
idlUtils
.
implForWrapper
(
this
),
idlUtils
.
wrapperSymbol
,
{
get
:
()
=>
this
.
_globalProxy
});
Object
.
defineProperty
(
idlUtils
.
implForWrapper
(
this
),
idlUtils
.
wrapperSymbol
,
{
get
:
()
=>
this
.
_globalProxy
});
// List options explicitly to be clear which are passed through
// List options explicitly to be clear which are passed through
...
...
src/jsdom/lib/jsdom/living/generated/MimeType.js
View file @
1004a603
...
@@ -130,10 +130,10 @@ exports.install = (globalObject, globalNames) => {
...
@@ -130,10 +130,10 @@ exports.install = (globalObject, globalNames) => {
}
}
}
}
Object
.
defineProperties
(
MimeType
.
prototype
,
{
Object
.
defineProperties
(
MimeType
.
prototype
,
{
type
:
{
enumerable
:
true
},
//
type: { enumerable: true },
description
:
{
enumerable
:
true
},
//
description: { enumerable: true },
suffixes
:
{
enumerable
:
true
},
//
suffixes: { enumerable: true },
enabledPlugin
:
{
enumerable
:
true
},
//
enabledPlugin: { enumerable: true },
[
Symbol
.
toStringTag
]:
{
value
:
"MimeType"
,
configurable
:
true
}
[
Symbol
.
toStringTag
]:
{
value
:
"MimeType"
,
configurable
:
true
}
});
});
if
(
globalObject
[
ctorRegistrySymbol
]
===
undefined
)
{
if
(
globalObject
[
ctorRegistrySymbol
]
===
undefined
)
{
...
...
src/jsdom/lib/jsdom/living/generated/MimeTypeArray.js
View file @
1004a603
...
@@ -156,26 +156,26 @@ exports.install = (globalObject, globalNames) => {
...
@@ -156,26 +156,26 @@ exports.install = (globalObject, globalNames) => {
[
Symbol
.
toStringTag
]:
{
value
:
"MimeTypeArray"
,
configurable
:
true
},
[
Symbol
.
toStringTag
]:
{
value
:
"MimeTypeArray"
,
configurable
:
true
},
[
Symbol
.
iterator
]:
{
value
:
Array
.
prototype
[
Symbol
.
iterator
],
configurable
:
true
,
writable
:
true
}
[
Symbol
.
iterator
]:
{
value
:
Array
.
prototype
[
Symbol
.
iterator
],
configurable
:
true
,
writable
:
true
}
});
});
Object
.
defineProperties
(
MimeTypeArray
.
prototype
,
{
//
Object.defineProperties(MimeTypeArray.prototype, {
'0'
:
{
//
'0': {
value
:
{
//
value: {
//
}
//
}
},
//
},
'1'
:
{
//
'1': {
value
:
{
//
value: {
//
}
//
}
},
'application/pdf'
:
{
//
},'application/pdf': {
value
:
{
//
value: {
//
}
//
}
},
'text/pdf'
:
{
//
},'text/pdf': {
value
:
{
//
value: {
//
}
//
}
}
//
}
})
//
})
if
(
globalObject
[
ctorRegistrySymbol
]
===
undefined
)
{
if
(
globalObject
[
ctorRegistrySymbol
]
===
undefined
)
{
globalObject
[
ctorRegistrySymbol
]
=
Object
.
create
(
null
);
globalObject
[
ctorRegistrySymbol
]
=
Object
.
create
(
null
);
}
}
...
...
src/jsdom/lib/jsdom/living/generated/Navigator.js
View file @
1004a603
...
@@ -125,26 +125,26 @@ exports.install = (globalObject, globalNames) => {
...
@@ -125,26 +125,26 @@ exports.install = (globalObject, globalNames) => {
[
Symbol
.
toStringTag
]:
{
value
:
"MimeTypeArray"
,
writable
:
false
,
enumerable
:
false
,
configurable
:
true
},
[
Symbol
.
toStringTag
]:
{
value
:
"MimeTypeArray"
,
writable
:
false
,
enumerable
:
false
,
configurable
:
true
},
})
})
Object
.
defineProperties
(
MimeTypeArray
.
prototype
,
{
//
Object.defineProperties(MimeTypeArray.prototype, {
'0'
:
{
//
'0': {
value
:
{},
//
value: {},
enumerable
:
true
,
//
enumerable: true,
writable
:
true
//
writable: true
},
//
},
'1'
:
{
//
'1': {
value
:
{},
//
value: {},
enumerable
:
true
,
//
enumerable: true,
writable
:
true
//
writable: true
},
'application/pdf'
:
{
//
}, 'application/pdf': {
value
:
{},
//
value: {},
enumerable
:
tru
e
,
// enumerable: fals
e,
writable
:
true
//
writable: true
},
'text/pdf'
:
{
//
}, 'text/pdf': {
value
:
{},
//
value: {},
enumerable
:
tru
e
,
// enumerable: fals
e,
writable
:
true
//
writable: true
}
//
}
})
//
})
class
Navigator
{
class
Navigator
{
constructor
()
{
constructor
()
{
...
...
src/jsdom/lib/jsdom/living/navigator/PluginArray-impl.js
View file @
1004a603
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
const
idlUtils
=
require
(
"../generated/utils"
);
const
idlUtils
=
require
(
"../generated/utils"
);
const
util
=
require
(
"util"
);
const
util
=
require
(
"util"
);
const
{
Plugin
}
=
require
(
"../generated/Plugin"
);
var
plugins
=
{
var
plugins
=
{
"0"
:
{
"0"
:
{
"0"
:
{
"0"
:
{
...
@@ -193,7 +194,21 @@ exports.implementation = class PluginArray {
...
@@ -193,7 +194,21 @@ exports.implementation = class PluginArray {
plggs
.
push
(
plugins
[
i
])
plggs
.
push
(
plugins
[
i
])
}
}
return
proxy
(
plggs
[
arguments
[
0
]],
'plugins.'
+
arguments
[
0
])
let
res
=
plggs
[
arguments
[
0
]];
let
r
=
{}
r
[
'0'
]
=
res
[
0
]
r
[
'1'
]
=
res
[
1
]
r
.
name
=
res
.
name
r
.
description
=
res
.
description
Object
.
defineProperties
(
r
,
{
name
:
{
enumerable
:
false
,
},
description
:
{
enumerable
:
false
,
}
})
return
r
;
// switch (arguments[0]){
// switch (arguments[0]){
// case 2:
// case 2:
// return {
// return {
...
...
src/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js
View file @
1004a603
...
@@ -3123,14 +3123,7 @@ class HTMLCanvasElementImpl extends HTMLElementImpl {
...
@@ -3123,14 +3123,7 @@ class HTMLCanvasElementImpl extends HTMLElementImpl {
getSupportedExtensions
()
{
getSupportedExtensions
()
{
// window.debug = true;
// window.debug = true;
v_console_log
(
' [*] WebGLRenderingContext -> getSupportedExtensions[func]'
)
v_console_log
(
' [*] WebGLRenderingContext -> getSupportedExtensions[func]'
)
return
[
return
'ANGLE_instanced_arrays;EXT_blend_minmax;EXT_color_buffer_half_float;EXT_disjoint_timer_query;EXT_float_blend;EXT_frag_depth;EXT_shader_texture_lod;EXT_texture_compression_rgtc;EXT_texture_filter_anisotropic;EXT_sRGB;KHR_parallel_shader_compile;OES_element_index_uint;OES_fbo_render_mipmap;OES_standard_derivatives;OES_texture_float;OES_texture_float_linear;OES_texture_half_float;OES_texture_half_float_linear;OES_vertex_array_object;WEBGL_color_buffer_float;WEBGL_compressed_texture_s3tc;WEBGL_compressed_texture_s3tc_srgb;WEBGL_debug_renderer_info;WEBGL_debug_shaders;WEBGL_depth_texture;WEBGL_draw_buffers;WEBGL_lose_context;WEBGL_multi_draw'
.
split
(
';'
)
"ANGLE_instanced_arrays"
,
"EXT_blend_minmax"
,
"EXT_color_buffer_half_float"
,
"EXT_disjoint_timer_query"
,
"EXT_float_blend"
,
"EXT_frag_depth"
,
"EXT_shader_texture_lod"
,
"EXT_texture_compression_bptc"
,
"EXT_texture_compression_rgtc"
,
"EXT_texture_filter_anisotropic"
,
"WEBKIT_EXT_texture_filter_anisotropic"
,
"EXT_sRGB"
,
"KHR_parallel_shader_compile"
,
"OES_element_index_uint"
,
"OES_fbo_render_mipmap"
,
"OES_standard_derivatives"
,
"OES_texture_float"
,
"OES_texture_float_linear"
,
"OES_texture_half_float"
,
"OES_texture_half_float_linear"
,
"OES_vertex_array_object"
,
"WEBGL_color_buffer_float"
,
"WEBGL_compressed_texture_s3tc"
,
"WEBKIT_WEBGL_compressed_texture_s3tc"
,
"WEBGL_compressed_texture_s3tc_srgb"
,
"WEBGL_debug_renderer_info"
,
"WEBGL_debug_shaders"
,
"WEBGL_depth_texture"
,
"WEBKIT_WEBGL_depth_texture"
,
"WEBGL_draw_buffers"
,
"WEBGL_lose_context"
,
"WEBKIT_WEBGL_lose_context"
,
"WEBGL_multi_draw"
,
]
}
}
getExtension
(
key
)
{
getExtension
(
key
)
{
...
...
src/reese84_bypass.py
View file @
1004a603
...
@@ -5,9 +5,10 @@ import subprocess
...
@@ -5,9 +5,10 @@ import subprocess
import
tempfile
import
tempfile
import
time
import
time
from
pathlib
import
Path
from
pathlib
import
Path
import
urllib3
import
urllib3
urllib3
.
disable_warnings
()
urllib3
.
disable_warnings
()
import
requests
import
tls_client
import
tls_client
from
loguru
import
logger
from
loguru
import
logger
...
@@ -30,7 +31,7 @@ def md5(text):
...
@@ -30,7 +31,7 @@ def md5(text):
class
Reese84ByPass
(
object
):
class
Reese84ByPass
(
object
):
_session
=
tls_client
.
Session
(
'chrome_11
2
'
)
_session
=
tls_client
.
Session
(
'chrome_11
7
'
)
def
__init__
(
self
,
target
,
proxy
,
thread_name
=
'test'
):
def
__init__
(
self
,
target
,
proxy
,
thread_name
=
'test'
):
# self._session = requests.Session()
# self._session = requests.Session()
...
@@ -107,24 +108,25 @@ class Reese84ByPass(object):
...
@@ -107,24 +108,25 @@ class Reese84ByPass(object):
t3
=
time
.
time
()
t3
=
time
.
time
()
url
=
"https://beta.makeabooking.flyscoot.com/Two-discharted-Not-ere-int-when-is-are-Poss-A-Sa?d=beta.makeabooking.flyscoot.com"
url
=
"https://beta.makeabooking.flyscoot.com/Two-discharted-Not-ere-int-when-is-are-Poss-A-Sa?d=beta.makeabooking.flyscoot.com"
response
=
self
.
_session
.
post
(
url
,
headers
=
{
response
=
self
.
_session
.
post
(
url
,
headers
=
{
"Host"
:
"
www
.flyscoot.com"
,
"Host"
:
"
beta.makeabooking
.flyscoot.com"
,
"pragma"
:
"no-cache"
,
"pragma"
:
"no-cache"
,
"cache-control"
:
"no-cache"
,
"cache-control"
:
"no-cache"
,
"sec-ch-ua"
:
"
\"
Not/A)Brand
\"
;v=
\"
99
\"
,
\"
Google Chrome
\"
;v=
\"
115
\"
,
\"
Chromium
\"
;v=
\"
115
\"
"
,
"sec-ch-ua"
:
"
\"
Google Chrome
\"
;v=
\"
117
\"
,
\"
Not;A=Brand
\"
;v=
\"
8
\"
,
\"
Chromium
\"
;v=
\"
117
\"
"
,
"accept"
:
"application/json; charset=utf-8"
,
"accept"
:
"application/json; charset=utf-8"
,
"content-type"
:
"text/plain; charset=utf-8"
,
"content-type"
:
"text/plain; charset=utf-8"
,
"sec-ch-ua-mobile"
:
"?0"
,
"sec-ch-ua-mobile"
:
"?0"
,
"user-agent"
:
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36'
,
"user-agent"
:
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
,
"sec-ch-ua-platform"
:
"
\"
macOS
\"
"
,
"sec-ch-ua-platform"
:
"
\"
macOS
\"
"
,
"origin"
:
"https://
www
.flyscoot.com"
,
"origin"
:
"https://
beta.makeabooking
.flyscoot.com"
,
"sec-fetch-site"
:
"same-origin"
,
"sec-fetch-site"
:
"same-origin"
,
"sec-fetch-mode"
:
"cors"
,
"sec-fetch-mode"
:
"cors"
,
"sec-fetch-dest"
:
"empty"
,
"sec-fetch-dest"
:
"empty"
,
"referer"
:
"https://
www.flyscoot.com/flight
"
,
"referer"
:
"https://
beta.makeabooking.flyscoot.com/_Incapsula_Resource?CWUDNSAI=42&xinfo=12-11619104-0
%20
NNNY
%20
RT
%281700120786895%202165%29%20
q
%280%20
-1
%20
-1
%20
-1
%29%20
r
%280%20
-1
%29%20
B10
%2814%2
c0
%2
c0
%29%20
U12
%20
WR
%28
P
%20
-1
%20
-1
%201700120789%20
-1
%29
&incident_id=1318000910026819356-62275870532179660&edet=10&cinfo=0e000000c62f&rpinfo=0&wrid=777&wrcid=777&mth=GET
"
,
"accept-language"
:
"en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,ru;q=0.6"
"accept-language"
:
"en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,ru;q=0.6"
},
json
=
data
)
},
json
=
data
)
self
.
log
.
log
(
'REQU'
,
f
'JSURL: code:{response.status_code} cost:{(time.time() - t3):.3f}s'
)
self
.
log
.
log
(
'REQU'
,
f
'JSURL: code:{response.status_code} cost:{(time.time() - t3):.3f}s'
)
# self.log.info(f'{response.json().keys()}')
# self.log.info(f'{response.json().keys()}')
self
.
log
.
info
(
response
.
text
)
assert
response
.
json
()
.
get
(
'return'
,
False
)
!=
True
,
BaseException
(
"js提交出错"
)
assert
response
.
json
()
.
get
(
'return'
,
False
)
!=
True
,
BaseException
(
"js提交出错"
)
self
.
_session
.
cookies
.
update
({
self
.
_session
.
cookies
.
update
({
...
@@ -135,25 +137,29 @@ class Reese84ByPass(object):
...
@@ -135,25 +137,29 @@ class Reese84ByPass(object):
t1
=
time
.
time
()
t1
=
time
.
time
()
headers
=
{
headers
=
{
"authority"
:
"ibe.api.flyscoot.com"
,
"Host"
:
"ibe.api.flyscoot.com"
,
"accept"
:
"application/json, text/plain, */*"
,
"accept-language"
:
"en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,ru;q=0.6"
,
"authorization"
:
""
,
"cache-control"
:
"no-cache"
,
"content-type"
:
"application/json"
,
"origin"
:
"https://beta.makeabooking.flyscoot.com"
,
"pragma"
:
"no-cache"
,
"pragma"
:
"no-cache"
,
"cache-control"
:
"no-cache"
,
"sec-ch-ua"
:
"
\"
Google Chrome
\"
;v=
\"
117
\"
,
\"
Not;A=Brand
\"
;v=
\"
8
\"
,
\"
Chromium
\"
;v=
\"
117
\"
"
,
"sec-ch-ua"
:
"
\"
Google Chrome
\"
;v=
\"
117
\"
,
\"
Not;A=Brand
\"
;v=
\"
8
\"
,
\"
Chromium
\"
;v=
\"
117
\"
"
,
"sec-ch-ua-mobile"
:
"?0"
,
"sec-ch-ua-mobile"
:
"?0"
,
"x-scoot-client-session"
:
"6a8f7c3d-9735-4254-a37c-dc79a87feead"
,
"authorization"
:
""
,
"x-scoot-client-version"
:
"0.0.0"
,
"x-scoot-client-environment"
:
"PROD"
,
"content-type"
:
"application/json"
,
"accept"
:
"application/json, text/plain, */*"
,
"user-agent"
:
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
,
"x-scoot-appsource"
:
"IBE-WEB"
,
"sec-ch-ua-platform"
:
"
\"
macOS
\"
"
,
"sec-ch-ua-platform"
:
"
\"
macOS
\"
"
,
"sec-fetch-dest"
:
"empty"
,
"origin"
:
"https://beta.makeabooking.flyscoot.com"
,
"sec-fetch-mode"
:
"cors"
,
"sec-fetch-site"
:
"same-site"
,
"sec-fetch-site"
:
"same-site"
,
"user-agent"
:
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36'
,
"sec-fetch-mode"
:
"cors"
,
"sec-fetch-dest"
:
"empty"
,
"accept-language"
:
"en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,ru;q=0.6"
}
}
url
=
"https://ibe.api.flyscoot.com/v1/account/anonymous"
url
=
"https://ibe.api.flyscoot.com/v1/account/anonymous"
response
=
self
.
_session
.
get
(
url
,
headers
=
headers
)
response
=
self
.
_session
.
get
(
url
,
headers
=
headers
)
print
(
response
.
text
)
self
.
_token
=
response
.
json
()[
'data'
][
'accessToken'
]
self
.
_token
=
response
.
json
()[
'data'
][
'accessToken'
]
self
.
log
.
log
(
'REQU'
,
f
'__auth_token: code:{response.status_code} cost:{(time.time() - t1):.3f}s'
)
self
.
log
.
log
(
'REQU'
,
f
'__auth_token: code:{response.status_code} cost:{(time.time() - t1):.3f}s'
)
...
...
src/rrr.js
View file @
1004a603
This diff is collapsed.
Click to expand it.
src/run.js
View file @
1004a603
This source diff could not be displayed because it is too large. You can
view the blob
instead.
test.js
0 → 100644
View file @
1004a603
let
PU
=
[];
let
iy
=
window
.
navigator
let
Jj
=
iy
[
"plugins"
][
"length"
];
let
Xh
=
0
;
while
(
Xh
<
Jj
)
{
let
rS
=
iy
[
"plugins"
][
Xh
];
if
(
rS
)
{
PU
[
"push"
](
rS
);
}
Xh
+=
1
;
}
PU
[
"sort"
](
function
(
Q9
,
VT
)
{
let
M5
=
0
;
if
(
Q9
[
"name"
]
>
VT
[
"name"
])
{
M5
=
1
;
}
else
if
(
Q9
[
"name"
]
<
VT
[
"name"
])
{
M5
=
-
1
;
}
return
M5
;
});
let
Mb
=
[];
for
(
let
xQ
in
PU
)
{
let
zx
=
PU
[
xQ
];
if
(
PU
.
hasOwnProperty
(
xQ
))
{
Mb
[
"push"
](
function
(
d0
)
{
let
DI
=
[];
for
(
let
b3
in
d0
)
{
let
zv
=
d0
[
b3
];
_console
(
zv
,
d0
.
hasOwnProperty
(
b3
))
if
(
d0
.
hasOwnProperty
(
b3
))
{
let
WP
=
function
(
Oc
)
{
let
rH
=
null
;
if
(
Oc
)
{
rH
=
[
Oc
[
"type"
],
Oc
[
"suffixes"
]][
"join"
](
"~"
);
}
return
rH
;
}(
zv
);
if
(
WP
!==
null
&&
WP
!==
undefined
)
{
DI
[
"push"
](
WP
);
}
}
}
let
qz
=
DI
;
let
UK
=
qz
;
return
[
d0
[
"name"
],
d0
[
"description"
],
UK
][
"join"
](
"::"
);
}(
zx
));
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment