glitch-javascript-sdk 1.8.4 → 1.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +203 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/api/Fingerprinting.d.ts +132 -0
- package/dist/esm/api/index.d.ts +2 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +203 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/routes/FingerprintingRoute.d.ts +7 -0
- package/dist/index.d.ts +131 -0
- package/package.json +1 -1
- package/src/api/Fingerprinting.ts +215 -0
- package/src/api/index.ts +3 -1
- package/src/index.ts +3 -1
- package/src/routes/FingerprintingRoute.ts +49 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import Response from "../util/Response";
|
|
2
|
+
import { AxiosPromise } from "axios";
|
|
3
|
+
declare class Fingerprinting {
|
|
4
|
+
/**
|
|
5
|
+
* List identified user fingerprints with filtering options
|
|
6
|
+
*
|
|
7
|
+
* @param params Filtering options:
|
|
8
|
+
* - title_id?: string - Filter by title ID
|
|
9
|
+
* - device_id?: string - Filter by device ID
|
|
10
|
+
* - user_install_id?: string - Filter by user install ID
|
|
11
|
+
* - browser_fingerprint?: string - Filter by browser fingerprint hash
|
|
12
|
+
* - device_fingerprint?: string - Filter by device fingerprint hash
|
|
13
|
+
* - is_bot?: boolean - Filter by bot status
|
|
14
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
15
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
16
|
+
* - sort?: 'first_seen_at'|'last_seen_at'|'match_confidence' - Sort field
|
|
17
|
+
* - order?: 'asc'|'desc' - Sort order
|
|
18
|
+
* - per_page?: number - Items per page (max 100)
|
|
19
|
+
* @returns Promise with paginated fingerprints data
|
|
20
|
+
*/
|
|
21
|
+
static listFingerprints<T>(params?: Record<string, any>): AxiosPromise<Response<T>>;
|
|
22
|
+
/**
|
|
23
|
+
* Get cross-platform user journey reports
|
|
24
|
+
*
|
|
25
|
+
* @param params Report options:
|
|
26
|
+
* - title_id: string - Required title ID
|
|
27
|
+
* - fingerprint_id?: string - Specific fingerprint ID to analyze
|
|
28
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
29
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
30
|
+
* - platform?: 'web'|'ios'|'android'|'steam'|'console' - Filter by platform
|
|
31
|
+
* - event_type?: string - Filter by event type
|
|
32
|
+
* - group_by?: 'day'|'week'|'month'|'year' - Grouping period
|
|
33
|
+
* - include_paths?: boolean - Include journey paths in response
|
|
34
|
+
* @returns Promise with user journey report data
|
|
35
|
+
*/
|
|
36
|
+
static userJourneyReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
37
|
+
/**
|
|
38
|
+
* Get cross-platform attribution reports
|
|
39
|
+
*
|
|
40
|
+
* @param params Report options:
|
|
41
|
+
* - title_id: string - Required title ID
|
|
42
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
43
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
44
|
+
* - conversion_event?: 'game_install'|'game_purchase'|'web_event' - Conversion event to analyze
|
|
45
|
+
* - attribution_model?: 'first_touch'|'last_touch'|'linear'|'time_decay'|'position_based' - Attribution model
|
|
46
|
+
* @returns Promise with attribution report data
|
|
47
|
+
*/
|
|
48
|
+
static attributionReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
49
|
+
/**
|
|
50
|
+
* Get cross-device identity clusters
|
|
51
|
+
*
|
|
52
|
+
* @param params Report options:
|
|
53
|
+
* - title_id: string - Required title ID
|
|
54
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
55
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
56
|
+
* - min_confidence?: number - Minimum match confidence score (0-100)
|
|
57
|
+
* @returns Promise with device cluster report data
|
|
58
|
+
*/
|
|
59
|
+
static deviceClusterReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
60
|
+
/**
|
|
61
|
+
* Get combined identity clusters and user journey reports
|
|
62
|
+
*
|
|
63
|
+
* @param params Report options:
|
|
64
|
+
* - title_id: string - Required title ID
|
|
65
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
66
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
67
|
+
* - min_confidence?: number - Minimum confidence score to include (0-100)
|
|
68
|
+
* - platform?: string - Filter by platform
|
|
69
|
+
* - include_journeys?: boolean - Include detailed journeys
|
|
70
|
+
* @returns Promise with identity cluster report data
|
|
71
|
+
*/
|
|
72
|
+
static identityClusterReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
73
|
+
/**
|
|
74
|
+
* Get combined attribution paths and conversion funnels
|
|
75
|
+
*
|
|
76
|
+
* @param params Report options:
|
|
77
|
+
* - title_id: string - Required title ID
|
|
78
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
79
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
80
|
+
* - conversion_event?: string - Conversion event type
|
|
81
|
+
* - attribution_model?: string - Attribution model
|
|
82
|
+
* - funnel_steps?: string - Comma-separated funnel steps
|
|
83
|
+
* @returns Promise with attribution and funnel report data
|
|
84
|
+
*/
|
|
85
|
+
static attributionFunnelReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
86
|
+
/**
|
|
87
|
+
* Get device and environment breakdown reports
|
|
88
|
+
*
|
|
89
|
+
* @param params Report options:
|
|
90
|
+
* - title_id: string - Required title ID
|
|
91
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
92
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
93
|
+
* - platform?: string - Filter by platform
|
|
94
|
+
* - group_by?: 'device_type'|'os'|'browser'|'country_code' - Grouping field
|
|
95
|
+
* @returns Promise with device and environment report data
|
|
96
|
+
*/
|
|
97
|
+
static deviceEnvironmentReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
98
|
+
/**
|
|
99
|
+
* Get unique vs returning user metrics
|
|
100
|
+
*
|
|
101
|
+
* @param params Report options:
|
|
102
|
+
* - title_id: string - Required title ID
|
|
103
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
104
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
105
|
+
* - retention_period?: number - Days to consider for retention
|
|
106
|
+
* @returns Promise with retention metrics data
|
|
107
|
+
*/
|
|
108
|
+
static uniqueReturningReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
109
|
+
/**
|
|
110
|
+
* Get fraud and bot detection metrics
|
|
111
|
+
*
|
|
112
|
+
* @param params Report options:
|
|
113
|
+
* - title_id: string - Required title ID
|
|
114
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
115
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
116
|
+
* - min_confidence?: number - Minimum confidence score to flag (0-100)
|
|
117
|
+
* @returns Promise with fraud detection data
|
|
118
|
+
*/
|
|
119
|
+
static fraudDetectionReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
120
|
+
/**
|
|
121
|
+
* Get geolocation distribution of users
|
|
122
|
+
*
|
|
123
|
+
* @param params Report options:
|
|
124
|
+
* - title_id: string - Required title ID
|
|
125
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
126
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
127
|
+
* - group_by?: 'country'|'region'|'city' - Grouping level
|
|
128
|
+
* @returns Promise with geolocation report data
|
|
129
|
+
*/
|
|
130
|
+
static geolocationReport<T>(params: Record<string, any>): AxiosPromise<Response<T>>;
|
|
131
|
+
}
|
|
132
|
+
export default Fingerprinting;
|
package/dist/esm/api/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import Competitions from "./Competitions";
|
|
|
4
4
|
import Communities from "./Communities";
|
|
5
5
|
import Users from "./Users";
|
|
6
6
|
import Events from "./Events";
|
|
7
|
+
import Fingerprinting from "./Fingerprinting";
|
|
7
8
|
import Teams from "./Teams";
|
|
8
9
|
import Waitlists from "./Waitlist";
|
|
9
10
|
import Posts from "./Posts";
|
|
@@ -66,3 +67,4 @@ export { Funnel };
|
|
|
66
67
|
export { SocialStats };
|
|
67
68
|
export { Hashtags };
|
|
68
69
|
export { WebsiteAnalytics };
|
|
70
|
+
export { Fingerprinting };
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ import { Funnel } from "./api";
|
|
|
32
32
|
import { SocialStats } from "./api";
|
|
33
33
|
import { Hashtags } from "./api";
|
|
34
34
|
import { WebsiteAnalytics } from "./api";
|
|
35
|
+
import { Fingerprinting } from "./api";
|
|
35
36
|
import Requests from "./util/Requests";
|
|
36
37
|
import Parser from "./util/Parser";
|
|
37
38
|
import Session from "./util/Session";
|
|
@@ -85,6 +86,7 @@ declare class Glitch {
|
|
|
85
86
|
Funnel: typeof Funnel;
|
|
86
87
|
SocialStats: typeof SocialStats;
|
|
87
88
|
WebsiteAnalytics: typeof WebsiteAnalytics;
|
|
89
|
+
Fingerprinting: typeof Fingerprinting;
|
|
88
90
|
};
|
|
89
91
|
static util: {
|
|
90
92
|
Requests: typeof Requests;
|
package/dist/esm/index.js
CHANGED
|
@@ -8933,6 +8933,207 @@ var Events = /** @class */ (function () {
|
|
|
8933
8933
|
return Events;
|
|
8934
8934
|
}());
|
|
8935
8935
|
|
|
8936
|
+
var FingerprintingRoute = /** @class */ (function () {
|
|
8937
|
+
function FingerprintingRoute() {
|
|
8938
|
+
}
|
|
8939
|
+
FingerprintingRoute.routes = {
|
|
8940
|
+
listFingerprints: {
|
|
8941
|
+
url: '/reports/fingerprinting/fingerprints',
|
|
8942
|
+
method: HTTP_METHODS.GET
|
|
8943
|
+
},
|
|
8944
|
+
userJourneyReport: {
|
|
8945
|
+
url: '/reports/fingerprinting/user-journeys',
|
|
8946
|
+
method: HTTP_METHODS.GET
|
|
8947
|
+
},
|
|
8948
|
+
attributionReport: {
|
|
8949
|
+
url: '/reports/fingerprinting/attribution',
|
|
8950
|
+
method: HTTP_METHODS.GET
|
|
8951
|
+
},
|
|
8952
|
+
deviceClusterReport: {
|
|
8953
|
+
url: '/reports/fingerprinting/device-clusters',
|
|
8954
|
+
method: HTTP_METHODS.GET
|
|
8955
|
+
},
|
|
8956
|
+
identityClusterReport: {
|
|
8957
|
+
url: '/reports/fingerprinting/identity-clusters',
|
|
8958
|
+
method: HTTP_METHODS.GET
|
|
8959
|
+
},
|
|
8960
|
+
attributionFunnelReport: {
|
|
8961
|
+
url: '/reports/fingerprinting/attribution-funnel',
|
|
8962
|
+
method: HTTP_METHODS.GET
|
|
8963
|
+
},
|
|
8964
|
+
deviceEnvironmentReport: {
|
|
8965
|
+
url: '/reports/fingerprinting/device-environment',
|
|
8966
|
+
method: HTTP_METHODS.GET
|
|
8967
|
+
},
|
|
8968
|
+
uniqueReturningReport: {
|
|
8969
|
+
url: '/reports/fingerprinting/unique-returning',
|
|
8970
|
+
method: HTTP_METHODS.GET
|
|
8971
|
+
},
|
|
8972
|
+
fraudDetectionReport: {
|
|
8973
|
+
url: '/reports/fingerprinting/fraud-detection',
|
|
8974
|
+
method: HTTP_METHODS.GET
|
|
8975
|
+
},
|
|
8976
|
+
geolocationReport: {
|
|
8977
|
+
url: '/reports/fingerprinting/geolocation',
|
|
8978
|
+
method: HTTP_METHODS.GET
|
|
8979
|
+
}
|
|
8980
|
+
};
|
|
8981
|
+
return FingerprintingRoute;
|
|
8982
|
+
}());
|
|
8983
|
+
|
|
8984
|
+
var Fingerprinting = /** @class */ (function () {
|
|
8985
|
+
function Fingerprinting() {
|
|
8986
|
+
}
|
|
8987
|
+
/**
|
|
8988
|
+
* List identified user fingerprints with filtering options
|
|
8989
|
+
*
|
|
8990
|
+
* @param params Filtering options:
|
|
8991
|
+
* - title_id?: string - Filter by title ID
|
|
8992
|
+
* - device_id?: string - Filter by device ID
|
|
8993
|
+
* - user_install_id?: string - Filter by user install ID
|
|
8994
|
+
* - browser_fingerprint?: string - Filter by browser fingerprint hash
|
|
8995
|
+
* - device_fingerprint?: string - Filter by device fingerprint hash
|
|
8996
|
+
* - is_bot?: boolean - Filter by bot status
|
|
8997
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
8998
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
8999
|
+
* - sort?: 'first_seen_at'|'last_seen_at'|'match_confidence' - Sort field
|
|
9000
|
+
* - order?: 'asc'|'desc' - Sort order
|
|
9001
|
+
* - per_page?: number - Items per page (max 100)
|
|
9002
|
+
* @returns Promise with paginated fingerprints data
|
|
9003
|
+
*/
|
|
9004
|
+
Fingerprinting.listFingerprints = function (params) {
|
|
9005
|
+
return Requests.processRoute(FingerprintingRoute.routes.listFingerprints, {}, undefined, params);
|
|
9006
|
+
};
|
|
9007
|
+
/**
|
|
9008
|
+
* Get cross-platform user journey reports
|
|
9009
|
+
*
|
|
9010
|
+
* @param params Report options:
|
|
9011
|
+
* - title_id: string - Required title ID
|
|
9012
|
+
* - fingerprint_id?: string - Specific fingerprint ID to analyze
|
|
9013
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
9014
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
9015
|
+
* - platform?: 'web'|'ios'|'android'|'steam'|'console' - Filter by platform
|
|
9016
|
+
* - event_type?: string - Filter by event type
|
|
9017
|
+
* - group_by?: 'day'|'week'|'month'|'year' - Grouping period
|
|
9018
|
+
* - include_paths?: boolean - Include journey paths in response
|
|
9019
|
+
* @returns Promise with user journey report data
|
|
9020
|
+
*/
|
|
9021
|
+
Fingerprinting.userJourneyReport = function (params) {
|
|
9022
|
+
return Requests.processRoute(FingerprintingRoute.routes.userJourneyReport, {}, undefined, params);
|
|
9023
|
+
};
|
|
9024
|
+
/**
|
|
9025
|
+
* Get cross-platform attribution reports
|
|
9026
|
+
*
|
|
9027
|
+
* @param params Report options:
|
|
9028
|
+
* - title_id: string - Required title ID
|
|
9029
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
9030
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
9031
|
+
* - conversion_event?: 'game_install'|'game_purchase'|'web_event' - Conversion event to analyze
|
|
9032
|
+
* - attribution_model?: 'first_touch'|'last_touch'|'linear'|'time_decay'|'position_based' - Attribution model
|
|
9033
|
+
* @returns Promise with attribution report data
|
|
9034
|
+
*/
|
|
9035
|
+
Fingerprinting.attributionReport = function (params) {
|
|
9036
|
+
return Requests.processRoute(FingerprintingRoute.routes.attributionReport, {}, undefined, params);
|
|
9037
|
+
};
|
|
9038
|
+
/**
|
|
9039
|
+
* Get cross-device identity clusters
|
|
9040
|
+
*
|
|
9041
|
+
* @param params Report options:
|
|
9042
|
+
* - title_id: string - Required title ID
|
|
9043
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
9044
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
9045
|
+
* - min_confidence?: number - Minimum match confidence score (0-100)
|
|
9046
|
+
* @returns Promise with device cluster report data
|
|
9047
|
+
*/
|
|
9048
|
+
Fingerprinting.deviceClusterReport = function (params) {
|
|
9049
|
+
return Requests.processRoute(FingerprintingRoute.routes.deviceClusterReport, {}, undefined, params);
|
|
9050
|
+
};
|
|
9051
|
+
/**
|
|
9052
|
+
* Get combined identity clusters and user journey reports
|
|
9053
|
+
*
|
|
9054
|
+
* @param params Report options:
|
|
9055
|
+
* - title_id: string - Required title ID
|
|
9056
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
9057
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
9058
|
+
* - min_confidence?: number - Minimum confidence score to include (0-100)
|
|
9059
|
+
* - platform?: string - Filter by platform
|
|
9060
|
+
* - include_journeys?: boolean - Include detailed journeys
|
|
9061
|
+
* @returns Promise with identity cluster report data
|
|
9062
|
+
*/
|
|
9063
|
+
Fingerprinting.identityClusterReport = function (params) {
|
|
9064
|
+
return Requests.processRoute(FingerprintingRoute.routes.identityClusterReport, {}, undefined, params);
|
|
9065
|
+
};
|
|
9066
|
+
/**
|
|
9067
|
+
* Get combined attribution paths and conversion funnels
|
|
9068
|
+
*
|
|
9069
|
+
* @param params Report options:
|
|
9070
|
+
* - title_id: string - Required title ID
|
|
9071
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
9072
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
9073
|
+
* - conversion_event?: string - Conversion event type
|
|
9074
|
+
* - attribution_model?: string - Attribution model
|
|
9075
|
+
* - funnel_steps?: string - Comma-separated funnel steps
|
|
9076
|
+
* @returns Promise with attribution and funnel report data
|
|
9077
|
+
*/
|
|
9078
|
+
Fingerprinting.attributionFunnelReport = function (params) {
|
|
9079
|
+
return Requests.processRoute(FingerprintingRoute.routes.attributionFunnelReport, {}, undefined, params);
|
|
9080
|
+
};
|
|
9081
|
+
/**
|
|
9082
|
+
* Get device and environment breakdown reports
|
|
9083
|
+
*
|
|
9084
|
+
* @param params Report options:
|
|
9085
|
+
* - title_id: string - Required title ID
|
|
9086
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
9087
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
9088
|
+
* - platform?: string - Filter by platform
|
|
9089
|
+
* - group_by?: 'device_type'|'os'|'browser'|'country_code' - Grouping field
|
|
9090
|
+
* @returns Promise with device and environment report data
|
|
9091
|
+
*/
|
|
9092
|
+
Fingerprinting.deviceEnvironmentReport = function (params) {
|
|
9093
|
+
return Requests.processRoute(FingerprintingRoute.routes.deviceEnvironmentReport, {}, undefined, params);
|
|
9094
|
+
};
|
|
9095
|
+
/**
|
|
9096
|
+
* Get unique vs returning user metrics
|
|
9097
|
+
*
|
|
9098
|
+
* @param params Report options:
|
|
9099
|
+
* - title_id: string - Required title ID
|
|
9100
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
9101
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
9102
|
+
* - retention_period?: number - Days to consider for retention
|
|
9103
|
+
* @returns Promise with retention metrics data
|
|
9104
|
+
*/
|
|
9105
|
+
Fingerprinting.uniqueReturningReport = function (params) {
|
|
9106
|
+
return Requests.processRoute(FingerprintingRoute.routes.uniqueReturningReport, {}, undefined, params);
|
|
9107
|
+
};
|
|
9108
|
+
/**
|
|
9109
|
+
* Get fraud and bot detection metrics
|
|
9110
|
+
*
|
|
9111
|
+
* @param params Report options:
|
|
9112
|
+
* - title_id: string - Required title ID
|
|
9113
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
9114
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
9115
|
+
* - min_confidence?: number - Minimum confidence score to flag (0-100)
|
|
9116
|
+
* @returns Promise with fraud detection data
|
|
9117
|
+
*/
|
|
9118
|
+
Fingerprinting.fraudDetectionReport = function (params) {
|
|
9119
|
+
return Requests.processRoute(FingerprintingRoute.routes.fraudDetectionReport, {}, undefined, params);
|
|
9120
|
+
};
|
|
9121
|
+
/**
|
|
9122
|
+
* Get geolocation distribution of users
|
|
9123
|
+
*
|
|
9124
|
+
* @param params Report options:
|
|
9125
|
+
* - title_id: string - Required title ID
|
|
9126
|
+
* - start_date?: string - Start date (YYYY-MM-DD)
|
|
9127
|
+
* - end_date?: string - End date (YYYY-MM-DD)
|
|
9128
|
+
* - group_by?: 'country'|'region'|'city' - Grouping level
|
|
9129
|
+
* @returns Promise with geolocation report data
|
|
9130
|
+
*/
|
|
9131
|
+
Fingerprinting.geolocationReport = function (params) {
|
|
9132
|
+
return Requests.processRoute(FingerprintingRoute.routes.geolocationReport, {}, undefined, params);
|
|
9133
|
+
};
|
|
9134
|
+
return Fingerprinting;
|
|
9135
|
+
}());
|
|
9136
|
+
|
|
8936
9137
|
var TeamsRoute = /** @class */ (function () {
|
|
8937
9138
|
function TeamsRoute() {
|
|
8938
9139
|
}
|
|
@@ -13809,7 +14010,8 @@ var Glitch = /** @class */ (function () {
|
|
|
13809
14010
|
Scheduler: Scheduler,
|
|
13810
14011
|
Funnel: Funnel,
|
|
13811
14012
|
SocialStats: SocialStats,
|
|
13812
|
-
WebsiteAnalytics: WebsiteAnalytics
|
|
14013
|
+
WebsiteAnalytics: WebsiteAnalytics,
|
|
14014
|
+
Fingerprinting: Fingerprinting
|
|
13813
14015
|
};
|
|
13814
14016
|
Glitch.util = {
|
|
13815
14017
|
Requests: Requests,
|