comprodls-sdk 2.53.0 → 2.54.1

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.
@@ -36,6 +36,7 @@ var pushX = require('./services/pushX');
36
36
  var pub = require('./services/pub');
37
37
  var lrs = require('./services/lrs');
38
38
  var spaces = require('./services/spaces');
39
+ var spacesextn = require('./services/spacesextn');
39
40
  var config = require('./config');
40
41
  var open_access = require('./open_access');
41
42
  var superuser = require('./services/superuser');
@@ -141,6 +142,7 @@ comproDLS.prototype.Pub = pub;
141
142
  comproDLS.prototype.LRS = lrs;
142
143
  comproDLS.prototype.PushX = pushX;
143
144
  comproDLS.prototype.Spaces = spaces;
145
+ comproDLS.prototype.SpacesExtn = spacesextn;
144
146
  comproDLS.prototype.Superuser = superuser;
145
147
  comproDLS.prototype.Invitations = invitations;
146
148
  comproDLS.prototype.Workflows = workflows;
@@ -150,7 +152,7 @@ comproDLS.prototype.Taxonomy = taxonomy;
150
152
  comproDLS.prototype.Rules = rules;
151
153
  comproDLS.prototype.Datasyncmanager = datasyncmanager;
152
154
 
153
- },{"./config":2,"./helpers":3,"./open_access":10,"./services/activity":13,"./services/analytics":14,"./services/attempts":15,"./services/auth":16,"./services/authextn":17,"./services/collab":18,"./services/datasyncmanager":19,"./services/drive":20,"./services/integrations":21,"./services/invitations":22,"./services/lrs":23,"./services/product":24,"./services/pub":25,"./services/pushX":26,"./services/rules":28,"./services/spaces":29,"./services/superuser":30,"./services/taxonomy":31,"./services/workflows":32,"./services/xapi":33,"./token":34,"./token/validations":35}],2:[function(require,module,exports){
155
+ },{"./config":2,"./helpers":3,"./open_access":10,"./services/activity":13,"./services/analytics":14,"./services/attempts":15,"./services/auth":16,"./services/authextn":17,"./services/collab":18,"./services/datasyncmanager":19,"./services/drive":20,"./services/integrations":21,"./services/invitations":22,"./services/lrs":23,"./services/product":24,"./services/pub":25,"./services/pushX":26,"./services/rules":28,"./services/spaces":29,"./services/spacesextn":30,"./services/superuser":31,"./services/taxonomy":32,"./services/workflows":33,"./services/xapi":34,"./token":35,"./token/validations":36}],2:[function(require,module,exports){
154
156
  /*************************************************************************
155
157
  *
156
158
  * COMPRO CONFIDENTIAL
@@ -387,7 +389,10 @@ exports.AUTHEXTN_API_URLS = {
387
389
  particularGradeFormat: '/org/{orgid}/gradeformats/{gradeformat_id}',
388
390
  classGradeformatAssociation: '/org/{orgid}/classes/{classid}/associate-gradeformats/{gradeformat_id}',
389
391
  classGradeformats: '/org/{orgid}/classes/{classid}/gradeformats',
390
- gradeformatClasses: '/org/{orgid}/gradeformats/{gradeformat_id}/classes'
392
+ gradeformatClasses: '/org/{orgid}/gradeformats/{gradeformat_id}/classes',
393
+
394
+ //Space related API
395
+ entitleBulkUsersToProducts: '/accounts/{accountid}/entitle-users/bulk'
391
396
  };
392
397
 
393
398
  exports.ACTIVITY_API_URLS = {
@@ -800,7 +805,7 @@ function addClassIdQueryParam(url, classId) {
800
805
  function setupAPIToken(request, token) {
801
806
  return request.set('Authorization', token.access_token);
802
807
  };
803
- },{"../../../config":2,"../../../helpers":3,"../errors":7,"./validations":6,"q":58,"string-template":87,"superagent":88}],6:[function(require,module,exports){
808
+ },{"../../../config":2,"../../../helpers":3,"../errors":7,"./validations":6,"q":59,"string-template":88,"superagent":89}],6:[function(require,module,exports){
804
809
  /*************************************************************************
805
810
  *
806
811
  * COMPRO CONFIDENTIAL
@@ -1132,7 +1137,7 @@ validator.validators.contains = function(value, options) {
1132
1137
  }
1133
1138
  }
1134
1139
  };
1135
- },{"./errors":7,"validate.js":92}],10:[function(require,module,exports){
1140
+ },{"./errors":7,"validate.js":96}],10:[function(require,module,exports){
1136
1141
  /*************************************************************************
1137
1142
  *
1138
1143
  * COMPRO CONFIDENTIAL
@@ -1255,7 +1260,7 @@ function getSingleInvitation(organizationId, options) {
1255
1260
  }
1256
1261
 
1257
1262
 
1258
- },{"../helpers":3,"q":58,"superagent":88}],11:[function(require,module,exports){
1263
+ },{"../helpers":3,"q":59,"superagent":89}],11:[function(require,module,exports){
1259
1264
  /*************************************************************************
1260
1265
  *
1261
1266
  * COMPRO CONFIDENTIAL
@@ -1466,7 +1471,7 @@ Activity.prototype.getQuestionsCount = function () {
1466
1471
  return dfd.promise;
1467
1472
  }
1468
1473
 
1469
- },{"../../helpers":3,"./attempt":12,"extend":45,"q":58,"superagent":88}],12:[function(require,module,exports){
1474
+ },{"../../helpers":3,"./attempt":12,"extend":46,"q":59,"superagent":89}],12:[function(require,module,exports){
1470
1475
  /*************************************************************************
1471
1476
  *
1472
1477
  * COMPRO CONFIDENTIAL
@@ -1899,7 +1904,7 @@ Attempt.prototype.submit = function (userresponse) {
1899
1904
  return dfd.promise;
1900
1905
  };
1901
1906
 
1902
- },{"../../helpers":3,"extend":45,"q":58,"superagent":88}],13:[function(require,module,exports){
1907
+ },{"../../helpers":3,"extend":46,"q":59,"superagent":89}],13:[function(require,module,exports){
1903
1908
  /*************************************************************************
1904
1909
  *
1905
1910
  * COMPRO CONFIDENTIAL
@@ -2835,7 +2840,8 @@ function getClassProductRecentPendingSubmissions(options) {
2835
2840
 
2836
2841
  /*options = {
2837
2842
  * classid: 'string', // class uuid
2838
- * productcode: 'string', // product code
2843
+ * productcode: 'string', // product code
2844
+ * userids: 'string', // comma separated userids as a single string e.g. '<userid1>,<userid2>..'(optional)
2839
2845
  * includeContext: 'boolean' // includse context or heirarchy (optional)
2840
2846
  *}
2841
2847
  */
@@ -2858,8 +2864,9 @@ function getClassRecord(options) {
2858
2864
  var queryParams = {
2859
2865
  classid: options.classid,
2860
2866
  productcode: options.productcode,
2867
+ userids: options.userids,
2861
2868
  includeContext: options.includeContext
2862
- }
2869
+ };
2863
2870
 
2864
2871
  // Setup Request with url and params
2865
2872
  var requestAPI = request.get(url).query(queryParams);
@@ -2874,9 +2881,7 @@ function getClassRecord(options) {
2874
2881
  if(error) {
2875
2882
  err = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, error);
2876
2883
  dfd.reject(err);
2877
- } else {
2878
- dfd.resolve(response.body)
2879
- }
2884
+ } else { dfd.resolve(response.body); }
2880
2885
  });
2881
2886
  }
2882
2887
  } else {
@@ -3828,7 +3833,7 @@ function postProgressTimeseries(options) {
3828
3833
  return dfd.promise;
3829
3834
  }
3830
3835
 
3831
- },{"../../helpers":3,"agentkeepalive":36,"q":58,"superagent":88}],15:[function(require,module,exports){
3836
+ },{"../../helpers":3,"agentkeepalive":37,"q":59,"superagent":89}],15:[function(require,module,exports){
3832
3837
  /*************************************************************************
3833
3838
  *
3834
3839
  * COMPRO CONFIDENTIAL
@@ -4268,7 +4273,7 @@ function getUserActivityMeta(options) {
4268
4273
  }
4269
4274
  return dfd.promise;
4270
4275
  }
4271
- },{"../../helpers":3,"q":58,"superagent":88}],16:[function(require,module,exports){
4276
+ },{"../../helpers":3,"q":59,"superagent":89}],16:[function(require,module,exports){
4272
4277
  /*************************************************************************
4273
4278
  *
4274
4279
  * COMPRO CONFIDENTIAL
@@ -8419,7 +8424,7 @@ function getAllCustomComponents(options) {
8419
8424
  return deferred.promise;
8420
8425
  }
8421
8426
 
8422
- },{"../../helpers":3,"../../helpers/lib/api/converter":4,"agentkeepalive":36,"q":58,"superagent":88}],17:[function(require,module,exports){
8427
+ },{"../../helpers":3,"../../helpers/lib/api/converter":4,"agentkeepalive":37,"q":59,"superagent":89}],17:[function(require,module,exports){
8423
8428
  /*************************************************************************
8424
8429
  *
8425
8430
  * COMPRO CONFIDENTIAL
@@ -9130,7 +9135,7 @@ function getClassesOfAGradeformat(options) {
9130
9135
  return deferred.promise;
9131
9136
  }
9132
9137
 
9133
- },{"../../helpers":3,"agentkeepalive":36,"q":58,"superagent":88}],18:[function(require,module,exports){
9138
+ },{"../../helpers":3,"agentkeepalive":37,"q":59,"superagent":89}],18:[function(require,module,exports){
9134
9139
  /*************************************************************************
9135
9140
  *
9136
9141
  * COMPRO CONFIDENTIAL
@@ -9600,7 +9605,7 @@ function updateConnectionForUser(orgid, token, config, options, action) {
9600
9605
  return dfd.promise;
9601
9606
  }
9602
9607
 
9603
- },{"../../helpers":3,"q":58,"superagent":88}],19:[function(require,module,exports){
9608
+ },{"../../helpers":3,"q":59,"superagent":89}],19:[function(require,module,exports){
9604
9609
  /*************************************************************************
9605
9610
  *
9606
9611
  * COMPRO CONFIDENTIAL
@@ -9912,7 +9917,7 @@ function getAllDataSyncManagersOfAGroup(options) {
9912
9917
  return deferred.promise;
9913
9918
  }
9914
9919
 
9915
- },{"../../helpers":3,"agentkeepalive":36,"q":58,"superagent":88}],20:[function(require,module,exports){
9920
+ },{"../../helpers":3,"agentkeepalive":37,"q":59,"superagent":89}],20:[function(require,module,exports){
9916
9921
  /*************************************************************************
9917
9922
  *
9918
9923
  * COMPRO CONFIDENTIAL
@@ -10058,7 +10063,7 @@ function getAllDocumentsInAFolder(options) {
10058
10063
  return dfd.promise;
10059
10064
  }
10060
10065
 
10061
- },{"../../helpers":3,"q":58,"superagent":88}],21:[function(require,module,exports){
10066
+ },{"../../helpers":3,"q":59,"superagent":89}],21:[function(require,module,exports){
10062
10067
  /*************************************************************************
10063
10068
  *
10064
10069
  * COMPRO CONFIDENTIAL
@@ -10615,7 +10620,7 @@ function deleteSchedule(options) {
10615
10620
  return deferred.promise;
10616
10621
  }
10617
10622
 
10618
- },{"../../helpers":3,"../../helpers/lib/api/converter":4,"agentkeepalive":36,"q":58,"superagent":88}],22:[function(require,module,exports){
10623
+ },{"../../helpers":3,"../../helpers/lib/api/converter":4,"agentkeepalive":37,"q":59,"superagent":89}],22:[function(require,module,exports){
10619
10624
  /*************************************************************************
10620
10625
  *
10621
10626
  * COMPRO CONFIDENTIAL
@@ -10940,7 +10945,7 @@ function resendSingleInvitation(options) {
10940
10945
  return dfd.promise;
10941
10946
  }
10942
10947
 
10943
- },{"../../helpers":3,"q":58,"superagent":88}],23:[function(require,module,exports){
10948
+ },{"../../helpers":3,"q":59,"superagent":89}],23:[function(require,module,exports){
10944
10949
  /*************************************************************************
10945
10950
  *
10946
10951
  * COMPRO CONFIDENTIAL
@@ -11401,7 +11406,7 @@ function createStatement(options) {
11401
11406
  }*/
11402
11407
 
11403
11408
 
11404
- },{"../../helpers":3,"q":58,"tincanjs":89}],24:[function(require,module,exports){
11409
+ },{"../../helpers":3,"q":59,"tincanjs":93}],24:[function(require,module,exports){
11405
11410
  /*************************************************************************
11406
11411
  *
11407
11412
  * COMPRO CONFIDENTIAL
@@ -11749,7 +11754,7 @@ function getSingleProductFamily(options) {
11749
11754
  return dfd.promise;
11750
11755
  }
11751
11756
 
11752
- },{"../../helpers":3,"q":58,"superagent":88}],25:[function(require,module,exports){
11757
+ },{"../../helpers":3,"q":59,"superagent":89}],25:[function(require,module,exports){
11753
11758
  /*************************************************************************
11754
11759
  *
11755
11760
  * COMPRO CONFIDENTIAL
@@ -12349,7 +12354,7 @@ function getAllProductFamilies(options) {
12349
12354
  return dfd.promise;
12350
12355
  }
12351
12356
 
12352
- },{"../../helpers":3,"q":58,"superagent":88}],26:[function(require,module,exports){
12357
+ },{"../../helpers":3,"q":59,"superagent":89}],26:[function(require,module,exports){
12353
12358
  /*************************************************************************
12354
12359
  *
12355
12360
  * COMPRO CONFIDENTIAL
@@ -12549,7 +12554,7 @@ function grantByAccountIdOnExtUserId(options) {
12549
12554
  }
12550
12555
 
12551
12556
 
12552
- },{"../../helpers":3,"./pubnubClientWrapper":27,"q":58,"superagent":88}],27:[function(require,module,exports){
12557
+ },{"../../helpers":3,"./pubnubClientWrapper":27,"q":59,"superagent":89}],27:[function(require,module,exports){
12553
12558
  var pubNub = require("pubnub");
12554
12559
  var EventEmitter = require("events").EventEmitter;
12555
12560
  var helpers = require('../../helpers');
@@ -12762,7 +12767,7 @@ module.exports = function () {
12762
12767
 
12763
12768
  }; //End of Client Wrapper module
12764
12769
 
12765
- },{"../../helpers":3,"events":44,"pubnub":56}],28:[function(require,module,exports){
12770
+ },{"../../helpers":3,"events":45,"pubnub":57}],28:[function(require,module,exports){
12766
12771
  /*************************************************************************
12767
12772
  *
12768
12773
  * COMPRO CONFIDENTIAL
@@ -13229,7 +13234,7 @@ function deleteRule(options) {
13229
13234
  return dfd.promise;
13230
13235
  }
13231
13236
 
13232
- },{"../../helpers":3,"q":58,"superagent":88}],29:[function(require,module,exports){
13237
+ },{"../../helpers":3,"q":59,"superagent":89}],29:[function(require,module,exports){
13233
13238
  /*************************************************************************
13234
13239
  *
13235
13240
  * COMPRO CONFIDENTIAL
@@ -14385,7 +14390,116 @@ function updateInstituteTitle(options){
14385
14390
  return dfd.promise;
14386
14391
  }
14387
14392
 
14388
- },{"../../helpers":3,"agentkeepalive":36,"q":58,"superagent":88}],30:[function(require,module,exports){
14393
+ },{"../../helpers":3,"agentkeepalive":37,"q":59,"superagent":89}],30:[function(require,module,exports){
14394
+ /*************************************************************************
14395
+ *
14396
+ * COMPRO CONFIDENTIAL
14397
+ * __________________
14398
+ *
14399
+ * [2015] - [2020] Compro Technologies Private Limited
14400
+ * All Rights Reserved.
14401
+ *
14402
+ * NOTICE: All information contained herein is, and remains
14403
+ * the property of Compro Technologies Private Limited. The
14404
+ * intellectual and technical concepts contained herein are
14405
+ * proprietary to Compro Technologies Private Limited and may
14406
+ * be covered by U.S. and Foreign Patents, patents in process,
14407
+ * and are protected by trade secret or copyright law.
14408
+ *
14409
+ * Dissemination of this information or reproduction of this material
14410
+ * is strictly forbidden unless prior written permission is obtained
14411
+ * from Compro Technologies Pvt. Ltd..
14412
+ ***************************************************************************/
14413
+
14414
+ /***********************************************************
14415
+ * comproDLS SDK SPACESEXTN Adaptor
14416
+ * Functions for calling AUTHEXTN API.
14417
+ ************************************************************/
14418
+
14419
+ var q = require('q');
14420
+ var request = require('superagent');
14421
+ var Agent = require('agentkeepalive');
14422
+
14423
+ var helpers = require('../../helpers');
14424
+ var DLSError = helpers.errors.DLSError;
14425
+
14426
+ /*********************************
14427
+ * Setting Up Module Entry Point
14428
+ **********************************/
14429
+ module.exports = spacesextn;
14430
+
14431
+ var keepaliveAgent = new Agent({
14432
+ timeout: 60000,
14433
+ freeSocketTimeout: 30000
14434
+ });
14435
+
14436
+ //AuthExtn Adaptor Contsructor
14437
+ function spacesextn(accountId) {
14438
+ this.accountId = accountId;
14439
+ return {
14440
+ entitleBulkUsersToProducts: entitleBulkUsersToProducts.bind(this)
14441
+ };
14442
+ }
14443
+
14444
+ /**
14445
+ * @param {
14446
+ * *users: [{
14447
+ * *ext_user_id: 'string',
14448
+ * ext_role: 'string',
14449
+ * *products: [{
14450
+ * *productcode: 'string',
14451
+ * ext_entitlement_meta: {
14452
+ * start_date: <epoch>,
14453
+ * *end_date: <epoch>
14454
+ * },
14455
+ * ext_data : {},
14456
+ * *action: 'string'
14457
+ * }]
14458
+ * }],
14459
+ * *ext_actor_id: 'string'
14460
+ * } options
14461
+ */
14462
+ function entitleBulkUsersToProducts(options) {
14463
+ var self = this;
14464
+ // Initializing promise
14465
+ var dfd = q.defer();
14466
+
14467
+ if (options && options.users && options.ext_actor_id) {
14468
+ // Passed all validations, Contruct API url
14469
+ var url = self.config.DEFAULT_HOSTS.AUTHEXTN +
14470
+ self.config.AUTHEXTN_API_URLS.entitleBulkUsersToProducts;
14471
+ url = helpers.api.constructAPIUrl(url, { accountid : self.accountId });
14472
+
14473
+ // Setup request with URL and Params
14474
+ var requestAPI = request.post(url)
14475
+ .set('Content-Type', 'application/json')
14476
+ .set('Accept', 'application/json')
14477
+ .send(options);
14478
+
14479
+ if(self.traceid) { requestAPI.set('X-Amzn-Trace-Id', self.traceid); }
14480
+
14481
+ requestAPI
14482
+ .agent(keepaliveAgent)
14483
+ .end(function(error, response) {
14484
+ if(error) {
14485
+ var err = new DLSError(helpers.errors.ERROR_TYPES.API_ERROR, error);
14486
+ dfd.reject(err);
14487
+ }
14488
+ else { dfd.resolve(response.body); }
14489
+ });
14490
+ } else {
14491
+ var err = {};
14492
+ err.description = 'Mandatory params: \'users\', \'ext_actor_id\' not found in request options.';
14493
+ err.message = err.description;
14494
+ err = new DLSError(helpers.errors.ERROR_TYPES.SDK_ERROR, err);
14495
+ dfd.reject(err);
14496
+ }
14497
+
14498
+ return dfd.promise;
14499
+ }
14500
+
14501
+
14502
+ },{"../../helpers":3,"agentkeepalive":37,"q":59,"superagent":89}],31:[function(require,module,exports){
14389
14503
  /*************************************************************************
14390
14504
  *
14391
14505
  * COMPRO CONFIDENTIAL
@@ -14562,7 +14676,7 @@ function provisionSpacesToSuperAdmin(options) {
14562
14676
  return dfd.promise;
14563
14677
  }
14564
14678
 
14565
- },{"../../helpers":3,"q":58,"superagent":88}],31:[function(require,module,exports){
14679
+ },{"../../helpers":3,"q":59,"superagent":89}],32:[function(require,module,exports){
14566
14680
  /*************************************************************************
14567
14681
  *
14568
14682
  * COMPRO CONFIDENTIAL
@@ -14999,7 +15113,7 @@ function getAllTags(options) {
14999
15113
  return dfd.promise;
15000
15114
  }
15001
15115
 
15002
- },{"../../helpers":3,"q":58,"superagent":88}],32:[function(require,module,exports){
15116
+ },{"../../helpers":3,"q":59,"superagent":89}],33:[function(require,module,exports){
15003
15117
  /*************************************************************************
15004
15118
  *
15005
15119
  * COMPRO CONFIDENTIAL
@@ -15465,7 +15579,7 @@ function updateWorkflowRequest(options) {
15465
15579
  }
15466
15580
  return dfd.promise;
15467
15581
  }
15468
- },{"./../../helpers":3,"q":58,"superagent":88}],33:[function(require,module,exports){
15582
+ },{"./../../helpers":3,"q":59,"superagent":89}],34:[function(require,module,exports){
15469
15583
  /*************************************************************************
15470
15584
  *
15471
15585
  * COMPRO CONFIDENTIAL
@@ -15742,7 +15856,7 @@ function resetUserProductProgress(options) {
15742
15856
  return dfd.promise;
15743
15857
  }
15744
15858
 
15745
- },{"../../helpers":3,"q":58,"superagent":88}],34:[function(require,module,exports){
15859
+ },{"../../helpers":3,"q":59,"superagent":89}],35:[function(require,module,exports){
15746
15860
  /*************************************************************************
15747
15861
  *
15748
15862
  * COMPRO CONFIDENTIAL
@@ -15858,7 +15972,7 @@ function authWithToken(organizationId, token, options) {
15858
15972
  return dfd.promise;
15859
15973
  };
15860
15974
 
15861
- },{"../helpers":3,"./validations":35,"q":58,"superagent":88}],35:[function(require,module,exports){
15975
+ },{"../helpers":3,"./validations":36,"q":59,"superagent":89}],36:[function(require,module,exports){
15862
15976
  /*************************************************************************
15863
15977
  *
15864
15978
  * COMPRO CONFIDENTIAL
@@ -15948,14 +16062,14 @@ function validateAuthWithExtUser(organizationId, options) {
15948
16062
  };
15949
16063
 
15950
16064
 
15951
- },{"../helpers":3}],36:[function(require,module,exports){
16065
+ },{"../helpers":3}],37:[function(require,module,exports){
15952
16066
  module.exports = noop;
15953
16067
  module.exports.HttpsAgent = noop;
15954
16068
 
15955
16069
  // Noop function for browser since native api's don't use agents.
15956
16070
  function noop () {}
15957
16071
 
15958
- },{}],37:[function(require,module,exports){
16072
+ },{}],38:[function(require,module,exports){
15959
16073
  var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
15960
16074
 
15961
16075
  ;(function (exports) {
@@ -16081,9 +16195,9 @@ var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
16081
16195
  exports.fromByteArray = uint8ToBase64
16082
16196
  }(typeof exports === 'undefined' ? (this.base64js = {}) : exports))
16083
16197
 
16084
- },{}],38:[function(require,module,exports){
16085
-
16086
16198
  },{}],39:[function(require,module,exports){
16199
+
16200
+ },{}],40:[function(require,module,exports){
16087
16201
  (function (global){
16088
16202
  /*!
16089
16203
  * The buffer module from node.js, for the browser.
@@ -17635,14 +17749,14 @@ function blitBuffer (src, dst, offset, length) {
17635
17749
  }
17636
17750
 
17637
17751
  }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
17638
- },{"base64-js":37,"ieee754":48,"isarray":40}],40:[function(require,module,exports){
17752
+ },{"base64-js":38,"ieee754":49,"isarray":41}],41:[function(require,module,exports){
17639
17753
  var toString = {}.toString;
17640
17754
 
17641
17755
  module.exports = Array.isArray || function (arr) {
17642
17756
  return toString.call(arr) == '[object Array]';
17643
17757
  };
17644
17758
 
17645
- },{}],41:[function(require,module,exports){
17759
+ },{}],42:[function(require,module,exports){
17646
17760
  module.exports = {
17647
17761
  "100": "Continue",
17648
17762
  "101": "Switching Protocols",
@@ -17703,170 +17817,184 @@ module.exports = {
17703
17817
  "511": "Network Authentication Required"
17704
17818
  }
17705
17819
 
17706
- },{}],42:[function(require,module,exports){
17707
-
17708
- /**
17709
- * Expose `Emitter`.
17710
- */
17711
-
17712
- module.exports = Emitter;
17713
-
17714
- /**
17715
- * Initialize a new `Emitter`.
17716
- *
17717
- * @api public
17718
- */
17719
-
17720
- function Emitter(obj) {
17721
- if (obj) return mixin(obj);
17722
- };
17723
-
17724
- /**
17725
- * Mixin the emitter properties.
17726
- *
17727
- * @param {Object} obj
17728
- * @return {Object}
17729
- * @api private
17730
- */
17731
-
17732
- function mixin(obj) {
17733
- for (var key in Emitter.prototype) {
17734
- obj[key] = Emitter.prototype[key];
17735
- }
17736
- return obj;
17737
- }
17738
-
17739
- /**
17740
- * Listen on the given `event` with `fn`.
17741
- *
17742
- * @param {String} event
17743
- * @param {Function} fn
17744
- * @return {Emitter}
17745
- * @api public
17746
- */
17747
-
17748
- Emitter.prototype.on =
17749
- Emitter.prototype.addEventListener = function(event, fn){
17750
- this._callbacks = this._callbacks || {};
17751
- (this._callbacks['$' + event] = this._callbacks['$' + event] || [])
17752
- .push(fn);
17753
- return this;
17754
- };
17755
-
17756
- /**
17757
- * Adds an `event` listener that will be invoked a single
17758
- * time then automatically removed.
17759
- *
17760
- * @param {String} event
17761
- * @param {Function} fn
17762
- * @return {Emitter}
17763
- * @api public
17764
- */
17765
-
17766
- Emitter.prototype.once = function(event, fn){
17767
- function on() {
17768
- this.off(event, on);
17769
- fn.apply(this, arguments);
17770
- }
17771
-
17772
- on.fn = fn;
17773
- this.on(event, on);
17774
- return this;
17775
- };
17776
-
17777
- /**
17778
- * Remove the given callback for `event` or all
17779
- * registered callbacks.
17780
- *
17781
- * @param {String} event
17782
- * @param {Function} fn
17783
- * @return {Emitter}
17784
- * @api public
17785
- */
17786
-
17787
- Emitter.prototype.off =
17788
- Emitter.prototype.removeListener =
17789
- Emitter.prototype.removeAllListeners =
17790
- Emitter.prototype.removeEventListener = function(event, fn){
17791
- this._callbacks = this._callbacks || {};
17792
-
17793
- // all
17794
- if (0 == arguments.length) {
17795
- this._callbacks = {};
17796
- return this;
17797
- }
17798
-
17799
- // specific event
17800
- var callbacks = this._callbacks['$' + event];
17801
- if (!callbacks) return this;
17802
-
17803
- // remove all handlers
17804
- if (1 == arguments.length) {
17805
- delete this._callbacks['$' + event];
17806
- return this;
17807
- }
17808
-
17809
- // remove specific handler
17810
- var cb;
17811
- for (var i = 0; i < callbacks.length; i++) {
17812
- cb = callbacks[i];
17813
- if (cb === fn || cb.fn === fn) {
17814
- callbacks.splice(i, 1);
17815
- break;
17816
- }
17817
- }
17818
- return this;
17819
- };
17820
-
17821
- /**
17822
- * Emit `event` with the given args.
17823
- *
17824
- * @param {String} event
17825
- * @param {Mixed} ...
17826
- * @return {Emitter}
17827
- */
17828
-
17829
- Emitter.prototype.emit = function(event){
17830
- this._callbacks = this._callbacks || {};
17831
- var args = [].slice.call(arguments, 1)
17832
- , callbacks = this._callbacks['$' + event];
17833
-
17834
- if (callbacks) {
17835
- callbacks = callbacks.slice(0);
17836
- for (var i = 0, len = callbacks.length; i < len; ++i) {
17837
- callbacks[i].apply(this, args);
17838
- }
17839
- }
17840
-
17841
- return this;
17842
- };
17843
-
17844
- /**
17845
- * Return array of callbacks for `event`.
17846
- *
17847
- * @param {String} event
17848
- * @return {Array}
17849
- * @api public
17850
- */
17851
-
17852
- Emitter.prototype.listeners = function(event){
17853
- this._callbacks = this._callbacks || {};
17854
- return this._callbacks['$' + event] || [];
17855
- };
17856
-
17857
- /**
17858
- * Check if this emitter has `event` handlers.
17859
- *
17860
- * @param {String} event
17861
- * @return {Boolean}
17862
- * @api public
17863
- */
17864
-
17865
- Emitter.prototype.hasListeners = function(event){
17866
- return !! this.listeners(event).length;
17867
- };
17868
-
17869
17820
  },{}],43:[function(require,module,exports){
17821
+
17822
+ /**
17823
+ * Expose `Emitter`.
17824
+ */
17825
+
17826
+ if (typeof module !== 'undefined') {
17827
+ module.exports = Emitter;
17828
+ }
17829
+
17830
+ /**
17831
+ * Initialize a new `Emitter`.
17832
+ *
17833
+ * @api public
17834
+ */
17835
+
17836
+ function Emitter(obj) {
17837
+ if (obj) return mixin(obj);
17838
+ };
17839
+
17840
+ /**
17841
+ * Mixin the emitter properties.
17842
+ *
17843
+ * @param {Object} obj
17844
+ * @return {Object}
17845
+ * @api private
17846
+ */
17847
+
17848
+ function mixin(obj) {
17849
+ for (var key in Emitter.prototype) {
17850
+ obj[key] = Emitter.prototype[key];
17851
+ }
17852
+ return obj;
17853
+ }
17854
+
17855
+ /**
17856
+ * Listen on the given `event` with `fn`.
17857
+ *
17858
+ * @param {String} event
17859
+ * @param {Function} fn
17860
+ * @return {Emitter}
17861
+ * @api public
17862
+ */
17863
+
17864
+ Emitter.prototype.on =
17865
+ Emitter.prototype.addEventListener = function(event, fn){
17866
+ this._callbacks = this._callbacks || {};
17867
+ (this._callbacks['$' + event] = this._callbacks['$' + event] || [])
17868
+ .push(fn);
17869
+ return this;
17870
+ };
17871
+
17872
+ /**
17873
+ * Adds an `event` listener that will be invoked a single
17874
+ * time then automatically removed.
17875
+ *
17876
+ * @param {String} event
17877
+ * @param {Function} fn
17878
+ * @return {Emitter}
17879
+ * @api public
17880
+ */
17881
+
17882
+ Emitter.prototype.once = function(event, fn){
17883
+ function on() {
17884
+ this.off(event, on);
17885
+ fn.apply(this, arguments);
17886
+ }
17887
+
17888
+ on.fn = fn;
17889
+ this.on(event, on);
17890
+ return this;
17891
+ };
17892
+
17893
+ /**
17894
+ * Remove the given callback for `event` or all
17895
+ * registered callbacks.
17896
+ *
17897
+ * @param {String} event
17898
+ * @param {Function} fn
17899
+ * @return {Emitter}
17900
+ * @api public
17901
+ */
17902
+
17903
+ Emitter.prototype.off =
17904
+ Emitter.prototype.removeListener =
17905
+ Emitter.prototype.removeAllListeners =
17906
+ Emitter.prototype.removeEventListener = function(event, fn){
17907
+ this._callbacks = this._callbacks || {};
17908
+
17909
+ // all
17910
+ if (0 == arguments.length) {
17911
+ this._callbacks = {};
17912
+ return this;
17913
+ }
17914
+
17915
+ // specific event
17916
+ var callbacks = this._callbacks['$' + event];
17917
+ if (!callbacks) return this;
17918
+
17919
+ // remove all handlers
17920
+ if (1 == arguments.length) {
17921
+ delete this._callbacks['$' + event];
17922
+ return this;
17923
+ }
17924
+
17925
+ // remove specific handler
17926
+ var cb;
17927
+ for (var i = 0; i < callbacks.length; i++) {
17928
+ cb = callbacks[i];
17929
+ if (cb === fn || cb.fn === fn) {
17930
+ callbacks.splice(i, 1);
17931
+ break;
17932
+ }
17933
+ }
17934
+
17935
+ // Remove event specific arrays for event types that no
17936
+ // one is subscribed for to avoid memory leak.
17937
+ if (callbacks.length === 0) {
17938
+ delete this._callbacks['$' + event];
17939
+ }
17940
+
17941
+ return this;
17942
+ };
17943
+
17944
+ /**
17945
+ * Emit `event` with the given args.
17946
+ *
17947
+ * @param {String} event
17948
+ * @param {Mixed} ...
17949
+ * @return {Emitter}
17950
+ */
17951
+
17952
+ Emitter.prototype.emit = function(event){
17953
+ this._callbacks = this._callbacks || {};
17954
+
17955
+ var args = new Array(arguments.length - 1)
17956
+ , callbacks = this._callbacks['$' + event];
17957
+
17958
+ for (var i = 1; i < arguments.length; i++) {
17959
+ args[i - 1] = arguments[i];
17960
+ }
17961
+
17962
+ if (callbacks) {
17963
+ callbacks = callbacks.slice(0);
17964
+ for (var i = 0, len = callbacks.length; i < len; ++i) {
17965
+ callbacks[i].apply(this, args);
17966
+ }
17967
+ }
17968
+
17969
+ return this;
17970
+ };
17971
+
17972
+ /**
17973
+ * Return array of callbacks for `event`.
17974
+ *
17975
+ * @param {String} event
17976
+ * @return {Array}
17977
+ * @api public
17978
+ */
17979
+
17980
+ Emitter.prototype.listeners = function(event){
17981
+ this._callbacks = this._callbacks || {};
17982
+ return this._callbacks['$' + event] || [];
17983
+ };
17984
+
17985
+ /**
17986
+ * Check if this emitter has `event` handlers.
17987
+ *
17988
+ * @param {String} event
17989
+ * @return {Boolean}
17990
+ * @api public
17991
+ */
17992
+
17993
+ Emitter.prototype.hasListeners = function(event){
17994
+ return !! this.listeners(event).length;
17995
+ };
17996
+
17997
+ },{}],44:[function(require,module,exports){
17870
17998
  // Copyright Joyent, Inc. and other Node contributors.
17871
17999
  //
17872
18000
  // Permission is hereby granted, free of charge, to any person obtaining a
@@ -17975,7 +18103,7 @@ function objectToString(o) {
17975
18103
  return Object.prototype.toString.call(o);
17976
18104
  }
17977
18105
 
17978
- },{"buffer":39}],44:[function(require,module,exports){
18106
+ },{"buffer":40}],45:[function(require,module,exports){
17979
18107
  // Copyright Joyent, Inc. and other Node contributors.
17980
18108
  //
17981
18109
  // Permission is hereby granted, free of charge, to any person obtaining a
@@ -18278,7 +18406,9 @@ function isUndefined(arg) {
18278
18406
  return arg === void 0;
18279
18407
  }
18280
18408
 
18281
- },{}],45:[function(require,module,exports){
18409
+ },{}],46:[function(require,module,exports){
18410
+ 'use strict';
18411
+
18282
18412
  var hasOwn = Object.prototype.hasOwnProperty;
18283
18413
  var toStr = Object.prototype.toString;
18284
18414
  var defineProperty = Object.defineProperty;
@@ -18293,8 +18423,6 @@ var isArray = function isArray(arr) {
18293
18423
  };
18294
18424
 
18295
18425
  var isPlainObject = function isPlainObject(obj) {
18296
- 'use strict';
18297
-
18298
18426
  if (!obj || toStr.call(obj) !== '[object Object]') {
18299
18427
  return false;
18300
18428
  }
@@ -18344,8 +18472,6 @@ var getProperty = function getProperty(obj, name) {
18344
18472
  };
18345
18473
 
18346
18474
  module.exports = function extend() {
18347
- 'use strict';
18348
-
18349
18475
  var options, name, src, copy, copyIsArray, clone;
18350
18476
  var target = arguments[0];
18351
18477
  var i = 1;
@@ -18399,7 +18525,7 @@ module.exports = function extend() {
18399
18525
  return target;
18400
18526
  };
18401
18527
 
18402
- },{}],46:[function(require,module,exports){
18528
+ },{}],47:[function(require,module,exports){
18403
18529
 
18404
18530
  var hasOwn = Object.prototype.hasOwnProperty;
18405
18531
  var toString = Object.prototype.toString;
@@ -18423,7 +18549,7 @@ module.exports = function forEach (obj, fn, ctx) {
18423
18549
  };
18424
18550
 
18425
18551
 
18426
- },{}],47:[function(require,module,exports){
18552
+ },{}],48:[function(require,module,exports){
18427
18553
  var http = require('http');
18428
18554
 
18429
18555
  var https = module.exports;
@@ -18439,7 +18565,7 @@ https.request = function (params, cb) {
18439
18565
  return http.request.call(this, params, cb);
18440
18566
  }
18441
18567
 
18442
- },{"http":82}],48:[function(require,module,exports){
18568
+ },{"http":83}],49:[function(require,module,exports){
18443
18569
  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
18444
18570
  exports.read = function (buffer, offset, isLE, mLen, nBytes) {
18445
18571
  var e, m
@@ -18526,7 +18652,7 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
18526
18652
  buffer[offset + i - d] |= s * 128
18527
18653
  }
18528
18654
 
18529
- },{}],49:[function(require,module,exports){
18655
+ },{}],50:[function(require,module,exports){
18530
18656
 
18531
18657
  var indexOf = [].indexOf;
18532
18658
 
@@ -18537,7 +18663,7 @@ module.exports = function(arr, obj){
18537
18663
  }
18538
18664
  return -1;
18539
18665
  };
18540
- },{}],50:[function(require,module,exports){
18666
+ },{}],51:[function(require,module,exports){
18541
18667
  'use strict';
18542
18668
 
18543
18669
  var keysShim;
@@ -18661,7 +18787,7 @@ if (!Object.keys) {
18661
18787
  }
18662
18788
  module.exports = keysShim;
18663
18789
 
18664
- },{"./isArguments":52}],51:[function(require,module,exports){
18790
+ },{"./isArguments":53}],52:[function(require,module,exports){
18665
18791
  'use strict';
18666
18792
 
18667
18793
  var slice = Array.prototype.slice;
@@ -18695,7 +18821,7 @@ keysShim.shim = function shimObjectKeys() {
18695
18821
 
18696
18822
  module.exports = keysShim;
18697
18823
 
18698
- },{"./implementation":50,"./isArguments":52}],52:[function(require,module,exports){
18824
+ },{"./implementation":51,"./isArguments":53}],53:[function(require,module,exports){
18699
18825
  'use strict';
18700
18826
 
18701
18827
  var toStr = Object.prototype.toString;
@@ -18714,7 +18840,7 @@ module.exports = function isArguments(value) {
18714
18840
  return isArgs;
18715
18841
  };
18716
18842
 
18717
- },{}],53:[function(require,module,exports){
18843
+ },{}],54:[function(require,module,exports){
18718
18844
  exports.endianness = function () { return 'LE' };
18719
18845
 
18720
18846
  exports.hostname = function () {
@@ -18761,7 +18887,7 @@ exports.tmpdir = exports.tmpDir = function () {
18761
18887
 
18762
18888
  exports.EOL = '\n';
18763
18889
 
18764
- },{}],54:[function(require,module,exports){
18890
+ },{}],55:[function(require,module,exports){
18765
18891
  (function (process){
18766
18892
  'use strict';
18767
18893
 
@@ -18810,7 +18936,7 @@ function nextTick(fn, arg1, arg2, arg3) {
18810
18936
 
18811
18937
 
18812
18938
  }).call(this,require('_process'))
18813
- },{"_process":55}],55:[function(require,module,exports){
18939
+ },{"_process":56}],56:[function(require,module,exports){
18814
18940
  // shim for using process in browser
18815
18941
  var process = module.exports = {};
18816
18942
 
@@ -18996,7 +19122,7 @@ process.chdir = function (dir) {
18996
19122
  };
18997
19123
  process.umask = function() { return 0; };
18998
19124
 
18999
- },{}],56:[function(require,module,exports){
19125
+ },{}],57:[function(require,module,exports){
19000
19126
  (function (global,Buffer){
19001
19127
  !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).PubNub=t()}(this,(function(){"use strict";
19002
19128
  /*! *****************************************************************************
@@ -19017,7 +19143,7 @@ process.umask = function() { return 0; };
19017
19143
  !function(e,t){!function(e){var t="0.1.0",n={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i};function r(){var e,t,n="";for(e=0;e<32;e++)t=16*Math.random()|0,8!==e&&12!==e&&16!==e&&20!==e||(n+="-"),n+=(12===e?4:16===e?3&t|8:t).toString(16);return n}function i(e,t){var r=n[t||"all"];return r&&r.test(e)||!1}r.isUUID=i,r.VERSION=t,e.uuid=r,e.isUUID=i}(t),null!==e&&(e.exports=t.uuid)}(p,p.exports);var h,f,d,g,y,b=p.exports,v=function(){return b.uuid?b.uuid():b()},m=function(){function e(e){var t,n,r,i=e.setup;if(this._PNSDKSuffix={},this.instanceId="pn-".concat(v()),this.secretKey=i.secretKey||i.secret_key,this.subscribeKey=i.subscribeKey||i.subscribe_key,this.publishKey=i.publishKey||i.publish_key,this.sdkName=i.sdkName,this.sdkFamily=i.sdkFamily,this.partnerId=i.partnerId,this.setAuthKey(i.authKey),this.setCipherKey(i.cipherKey),this.setFilterExpression(i.filterExpression),"string"!=typeof i.origin&&!Array.isArray(i.origin)&&void 0!==i.origin)throw new Error("Origin must be either undefined, a string or a list of strings.");this.origin=i.origin||Array.from({length:20},(function(e,t){return"ps".concat(t+1,".pndsn.com")})),this.secure=i.ssl||!1,this.restore=i.restore||!1,this.proxy=i.proxy,this.keepAlive=i.keepAlive,this.keepAliveSettings=i.keepAliveSettings,this.autoNetworkDetection=i.autoNetworkDetection||!1,this.dedupeOnSubscribe=i.dedupeOnSubscribe||!1,this.maximumCacheSize=i.maximumCacheSize||100,this.customEncrypt=i.customEncrypt,this.customDecrypt=i.customDecrypt,this.fileUploadPublishRetryLimit=null!==(t=i.fileUploadPublishRetryLimit)&&void 0!==t?t:5,this.useRandomIVs=null===(n=i.useRandomIVs)||void 0===n||n,this.enableSubscribeBeta=null!==(r=i.enableSubscribeBeta)&&void 0!==r&&r,"undefined"!=typeof location&&"https:"===location.protocol&&(this.secure=!0),this.logVerbosity=i.logVerbosity||!1,this.suppressLeaveEvents=i.suppressLeaveEvents||!1,this.announceFailedHeartbeats=i.announceFailedHeartbeats||!0,this.announceSuccessfulHeartbeats=i.announceSuccessfulHeartbeats||!1,this.useInstanceId=i.useInstanceId||!1,this.useRequestId=i.useRequestId||!1,this.requestMessageCountThreshold=i.requestMessageCountThreshold,this.setTransactionTimeout(i.transactionalRequestTimeout||15e3),this.setSubscribeTimeout(i.subscribeRequestTimeout||31e4),this.setSendBeaconConfig(i.useSendBeacon||!0),i.presenceTimeout?this.setPresenceTimeout(i.presenceTimeout):this._presenceTimeout=300,null!=i.heartbeatInterval&&this.setHeartbeatInterval(i.heartbeatInterval),this.setUUID(i.uuid)}return e.prototype.getAuthKey=function(){return this.authKey},e.prototype.setAuthKey=function(e){return this.authKey=e,this},e.prototype.setCipherKey=function(e){return this.cipherKey=e,this},e.prototype.getUUID=function(){return this.UUID},e.prototype.setUUID=function(e){if(!e||"string"!=typeof e||0===e.trim().length)throw new Error("Missing uuid parameter. Provide a valid string uuid");return this.UUID=e,this},e.prototype.getFilterExpression=function(){return this.filterExpression},e.prototype.setFilterExpression=function(e){return this.filterExpression=e,this},e.prototype.getPresenceTimeout=function(){return this._presenceTimeout},e.prototype.setPresenceTimeout=function(e){return e>=20?this._presenceTimeout=e:(this._presenceTimeout=20,console.log("WARNING: Presence timeout is less than the minimum. Using minimum value: ",this._presenceTimeout)),this.setHeartbeatInterval(this._presenceTimeout/2-1),this},e.prototype.setProxy=function(e){this.proxy=e},e.prototype.getHeartbeatInterval=function(){return this._heartbeatInterval},e.prototype.setHeartbeatInterval=function(e){return this._heartbeatInterval=e,this},e.prototype.getSubscribeTimeout=function(){return this._subscribeRequestTimeout},e.prototype.setSubscribeTimeout=function(e){return this._subscribeRequestTimeout=e,this},e.prototype.getTransactionTimeout=function(){return this._transactionalRequestTimeout},e.prototype.setTransactionTimeout=function(e){return this._transactionalRequestTimeout=e,this},e.prototype.isSendBeaconEnabled=function(){return this._useSendBeacon},e.prototype.setSendBeaconConfig=function(e){return this._useSendBeacon=e,this},e.prototype.getVersion=function(){return"7.0.1"},e.prototype._addPnsdkSuffix=function(e,t){this._PNSDKSuffix[e]=t},e.prototype._getPnsdkSuffix=function(e){var t=this;return Object.keys(this._PNSDKSuffix).reduce((function(n,r){return n+e+t._PNSDKSuffix[r]}),"")},e}(),_=_||function(e,t){var n={},r=n.lib={},i=function(){},o=r.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},s=r.WordArray=o.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes;if(e=e.sigBytes,this.clamp(),r%4)for(var i=0;i<e;i++)t[r+i>>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535<n.length)for(i=0;i<e;i+=4)t[r+i>>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r<t;r+=4)n.push(4294967296*e.random()|0);return new s.init(n,t)}}),a=n.enc={},u=a.Hex={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++){var i=t[r>>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new s.init(n,t/2)}},c=a.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r<e;r++)n.push(String.fromCharCode(t[r>>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r<t;r++)n[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new s.init(n,t)}},l=a.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},p=r.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new s.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,o=this.blockSize,a=i/(4*o);if(t=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*o,i=e.min(4*t,i),t){for(var u=0;u<t;u+=o)this._doProcessBlock(r,u);u=r.splice(0,t),n.sigBytes-=i}return new s.init(u,i)},clone:function(){var e=o.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});r.Hasher=p.extend({cfg:o.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){p.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new h.HMAC.init(e,n).finalize(t)}}});var h=n.algo={};return n}(Math);!function(e){for(var t=_,n=(i=t.lib).WordArray,r=i.Hasher,i=t.algo,o=[],s=[],a=function(e){return 4294967296*(e-(0|e))|0},u=2,c=0;64>c;){var l;e:{l=u;for(var p=e.sqrt(l),h=2;h<=p;h++)if(!(l%h)){l=!1;break e}l=!0}l&&(8>c&&(o[c]=a(e.pow(u,.5))),s[c]=a(e.pow(u,1/3)),c++),u++}var f=[];i=i.SHA256=r.extend({_doReset:function(){this._hash=new n.init(o.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],o=n[2],a=n[3],u=n[4],c=n[5],l=n[6],p=n[7],h=0;64>h;h++){if(16>h)f[h]=0|e[t+h];else{var d=f[h-15],g=f[h-2];f[h]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+f[h-7]+((g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10)+f[h-16]}d=p+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&l)+s[h]+f[h],g=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&o^i&o),p=l,l=c,c=u,u=a+d|0,a=o,o=i,i=r,r=d+g|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+o|0,n[3]=n[3]+a|0,n[4]=n[4]+u|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+p|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return n[i>>>5]|=128<<24-i%32,n[14+(i+64>>>9<<4)]=e.floor(r/4294967296),n[15+(i+64>>>9<<4)]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=r._createHelper(i),t.HmacSHA256=r._createHmacHelper(i)}(Math),f=(h=_).enc.Utf8,h.algo.HMAC=h.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=f.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),s=i.words,a=o.words,u=0;u<n;u++)s[u]^=1549556828,a[u]^=909522486;i.sigBytes=o.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}}),g=(d=_).lib.WordArray,d.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp(),e=[];for(var i=0;i<n;i+=3)for(var o=(t[i>>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,s=0;4>s&&i+.75*s<n;s++)e.push(r.charAt(o>>>6*(3-s)&63));if(t=r.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,n=this._map;(r=n.charAt(64))&&-1!=(r=e.indexOf(r))&&(t=r);for(var r=[],i=0,o=0;o<t;o++)if(o%4){var s=n.indexOf(e.charAt(o-1))<<o%4*2,a=n.indexOf(e.charAt(o))>>>6-o%4*2;r[i>>>2]|=(s|a)<<24-i%4*8,i++}return g.create(r,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(e){function t(e,t,n,r,i,o,s){return((e=e+(t&n|~t&r)+i+s)<<o|e>>>32-o)+t}function n(e,t,n,r,i,o,s){return((e=e+(t&r|n&~r)+i+s)<<o|e>>>32-o)+t}function r(e,t,n,r,i,o,s){return((e=e+(t^n^r)+i+s)<<o|e>>>32-o)+t}function i(e,t,n,r,i,o,s){return((e=e+(n^(t|~r))+i+s)<<o|e>>>32-o)+t}for(var o=_,s=(u=o.lib).WordArray,a=u.Hasher,u=o.algo,c=[],l=0;64>l;l++)c[l]=4294967296*e.abs(e.sin(l+1))|0;u=u.MD5=a.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,o){for(var s=0;16>s;s++){var a=e[u=o+s];e[u]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}s=this._hash.words;var u=e[o+0],l=(a=e[o+1],e[o+2]),p=e[o+3],h=e[o+4],f=e[o+5],d=e[o+6],g=e[o+7],y=e[o+8],b=e[o+9],v=e[o+10],m=e[o+11],_=e[o+12],O=e[o+13],P=e[o+14],S=e[o+15],w=t(w=s[0],N=s[1],k=s[2],T=s[3],u,7,c[0]),T=t(T,w,N,k,a,12,c[1]),k=t(k,T,w,N,l,17,c[2]),N=t(N,k,T,w,p,22,c[3]);w=t(w,N,k,T,h,7,c[4]),T=t(T,w,N,k,f,12,c[5]),k=t(k,T,w,N,d,17,c[6]),N=t(N,k,T,w,g,22,c[7]),w=t(w,N,k,T,y,7,c[8]),T=t(T,w,N,k,b,12,c[9]),k=t(k,T,w,N,v,17,c[10]),N=t(N,k,T,w,m,22,c[11]),w=t(w,N,k,T,_,7,c[12]),T=t(T,w,N,k,O,12,c[13]),k=t(k,T,w,N,P,17,c[14]),w=n(w,N=t(N,k,T,w,S,22,c[15]),k,T,a,5,c[16]),T=n(T,w,N,k,d,9,c[17]),k=n(k,T,w,N,m,14,c[18]),N=n(N,k,T,w,u,20,c[19]),w=n(w,N,k,T,f,5,c[20]),T=n(T,w,N,k,v,9,c[21]),k=n(k,T,w,N,S,14,c[22]),N=n(N,k,T,w,h,20,c[23]),w=n(w,N,k,T,b,5,c[24]),T=n(T,w,N,k,P,9,c[25]),k=n(k,T,w,N,p,14,c[26]),N=n(N,k,T,w,y,20,c[27]),w=n(w,N,k,T,O,5,c[28]),T=n(T,w,N,k,l,9,c[29]),k=n(k,T,w,N,g,14,c[30]),w=r(w,N=n(N,k,T,w,_,20,c[31]),k,T,f,4,c[32]),T=r(T,w,N,k,y,11,c[33]),k=r(k,T,w,N,m,16,c[34]),N=r(N,k,T,w,P,23,c[35]),w=r(w,N,k,T,a,4,c[36]),T=r(T,w,N,k,h,11,c[37]),k=r(k,T,w,N,g,16,c[38]),N=r(N,k,T,w,v,23,c[39]),w=r(w,N,k,T,O,4,c[40]),T=r(T,w,N,k,u,11,c[41]),k=r(k,T,w,N,p,16,c[42]),N=r(N,k,T,w,d,23,c[43]),w=r(w,N,k,T,b,4,c[44]),T=r(T,w,N,k,_,11,c[45]),k=r(k,T,w,N,S,16,c[46]),w=i(w,N=r(N,k,T,w,l,23,c[47]),k,T,u,6,c[48]),T=i(T,w,N,k,g,10,c[49]),k=i(k,T,w,N,P,15,c[50]),N=i(N,k,T,w,f,21,c[51]),w=i(w,N,k,T,_,6,c[52]),T=i(T,w,N,k,p,10,c[53]),k=i(k,T,w,N,v,15,c[54]),N=i(N,k,T,w,a,21,c[55]),w=i(w,N,k,T,y,6,c[56]),T=i(T,w,N,k,S,10,c[57]),k=i(k,T,w,N,d,15,c[58]),N=i(N,k,T,w,O,21,c[59]),w=i(w,N,k,T,h,6,c[60]),T=i(T,w,N,k,m,10,c[61]),k=i(k,T,w,N,l,15,c[62]),N=i(N,k,T,w,b,21,c[63]);s[0]=s[0]+w|0,s[1]=s[1]+N|0,s[2]=s[2]+k|0,s[3]=s[3]+T|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;n[i>>>5]|=128<<24-i%32;var o=e.floor(r/4294967296);for(n[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),n[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(n.length+1),this._process(),n=(t=this._hash).words,r=0;4>r;r++)i=n[r],n[r]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8);return t},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}}),o.MD5=a._createHelper(u),o.HmacMD5=a._createHmacHelper(u)}(Math),function(){var e,t=_,n=(e=t.lib).Base,r=e.WordArray,i=(e=t.algo).EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(a=this.cfg).hasher.create(),i=r.create(),o=i.words,s=a.keySize,a=a.iterations;o.length<s;){u&&n.update(u);var u=n.update(e).finalize(t);n.reset();for(var c=1;c<a;c++)u=n.finalize(u),n.reset();i.concat(u)}return i.sigBytes=4*s,i}});t.EvpKDF=function(e,t,n){return i.create(n).compute(e,t)}}(),_.lib.Cipher||function(e){var t=(f=_).lib,n=t.Base,r=t.WordArray,i=t.BufferedBlockAlgorithm,o=f.enc.Base64,s=f.algo.EvpKDF,a=t.Cipher=i.extend({cfg:n.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,n){this.cfg=this.cfg.extend(n),this._xformMode=e,this._key=t,this.reset()},reset:function(){i.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(e){return{encrypt:function(t,n,r){return("string"==typeof n?d:h).encrypt(e,t,n,r)},decrypt:function(t,n,r){return("string"==typeof n?d:h).decrypt(e,t,n,r)}}}});t.StreamCipher=a.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var u=f.mode={},c=function(e,t,n){var r=this._iv;r?this._iv=undefined:r=this._prevBlock;for(var i=0;i<n;i++)e[t+i]^=r[i]},l=(t.BlockCipherMode=n.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}})).extend();l.Encryptor=l.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize;c.call(this,e,t,r),n.encryptBlock(e,t),this._prevBlock=e.slice(t,t+r)}}),l.Decryptor=l.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=e.slice(t,t+r);n.decryptBlock(e,t),c.call(this,e,t,r),this._prevBlock=i}}),u=u.CBC=l,l=(f.pad={}).Pkcs7={pad:function(e,t){for(var n,i=(n=(n=4*t)-e.sigBytes%n)<<24|n<<16|n<<8|n,o=[],s=0;s<n;s+=4)o.push(i);n=r.create(o,n),e.concat(n)},unpad:function(e){e.sigBytes-=255&e.words[e.sigBytes-1>>>2]}},t.BlockCipher=a.extend({cfg:a.cfg.extend({mode:u,padding:l}),reset:function(){a.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var p=t.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),h=(u=(f.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?r.create([1398893684,1701076831]).concat(e).concat(t):t).toString(o)},parse:function(e){var t=(e=o.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=r.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return p.create({ciphertext:e,salt:n})}},t.SerializableCipher=n.extend({cfg:n.extend({format:u}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r);return t=i.finalize(t),i=i.cfg,p.create({ciphertext:t,key:n,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),f=(f.kdf={}).OpenSSL={execute:function(e,t,n,i){return i||(i=r.random(8)),e=s.create({keySize:t+n}).compute(e,i),n=r.create(e.words.slice(t),4*n),e.sigBytes=4*t,p.create({key:e,iv:n,salt:i})}},d=t.PasswordBasedCipher=h.extend({cfg:h.cfg.extend({kdf:f}),encrypt:function(e,t,n,r){return n=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize),r.iv=n.iv,(e=h.encrypt.call(this,e,t,n.key,r)).mixIn(n),e},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),n=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),r.iv=n.iv,h.decrypt.call(this,e,t,n.key,r)}})}(),function(){for(var e=_,t=e.lib.BlockCipher,n=e.algo,r=[],i=[],o=[],s=[],a=[],u=[],c=[],l=[],p=[],h=[],f=[],d=0;256>d;d++)f[d]=128>d?d<<1:d<<1^283;var g=0,y=0;for(d=0;256>d;d++){var b=(b=y^y<<1^y<<2^y<<3^y<<4)>>>8^255&b^99;r[g]=b,i[b]=g;var v=f[g],m=f[v],O=f[m],P=257*f[b]^16843008*b;o[g]=P<<24|P>>>8,s[g]=P<<16|P>>>16,a[g]=P<<8|P>>>24,u[g]=P,P=16843009*O^65537*m^257*v^16843008*g,c[b]=P<<24|P>>>8,l[b]=P<<16|P>>>16,p[b]=P<<8|P>>>24,h[b]=P,g?(g=v^f[f[f[O^v]]],y^=f[f[y]]):g=y=1}var S=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),i=this._keySchedule=[],o=0;o<n;o++)if(o<t)i[o]=e[o];else{var s=i[o-1];o%t?6<t&&4==o%t&&(s=r[s>>>24]<<24|r[s>>>16&255]<<16|r[s>>>8&255]<<8|r[255&s]):(s=r[(s=s<<8|s>>>24)>>>24]<<24|r[s>>>16&255]<<16|r[s>>>8&255]<<8|r[255&s],s^=S[o/t|0]<<24),i[o]=i[o-t]^s}for(e=this._invKeySchedule=[],t=0;t<n;t++)o=n-t,s=t%4?i[o]:i[o-4],e[t]=4>t||4>=o?s:c[r[s>>>24]]^l[r[s>>>16&255]]^p[r[s>>>8&255]]^h[r[255&s]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,s,a,u,r)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,c,l,p,h,i),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,o,s,a){for(var u=this._nRounds,c=e[t]^n[0],l=e[t+1]^n[1],p=e[t+2]^n[2],h=e[t+3]^n[3],f=4,d=1;d<u;d++){var g=r[c>>>24]^i[l>>>16&255]^o[p>>>8&255]^s[255&h]^n[f++],y=r[l>>>24]^i[p>>>16&255]^o[h>>>8&255]^s[255&c]^n[f++],b=r[p>>>24]^i[h>>>16&255]^o[c>>>8&255]^s[255&l]^n[f++];h=r[h>>>24]^i[c>>>16&255]^o[l>>>8&255]^s[255&p]^n[f++],c=g,l=y,p=b}g=(a[c>>>24]<<24|a[l>>>16&255]<<16|a[p>>>8&255]<<8|a[255&h])^n[f++],y=(a[l>>>24]<<24|a[p>>>16&255]<<16|a[h>>>8&255]<<8|a[255&c])^n[f++],b=(a[p>>>24]<<24|a[h>>>16&255]<<16|a[c>>>8&255]<<8|a[255&l])^n[f++],h=(a[h>>>24]<<24|a[c>>>16&255]<<16|a[l>>>8&255]<<8|a[255&p])^n[f++],e[t]=g,e[t+1]=y,e[t+2]=b,e[t+3]=h},keySize:8});e.AES=t._createHelper(n)}(),_.mode.ECB=((y=_.lib.BlockCipherMode.extend()).Encryptor=y.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),y.Decryptor=y.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),y);var O=_;function P(e){var t,n=[];for(t=0;t<e.length;t+=1)n[t/4|0]|=e[t]<<24-8*t;return O.lib.WordArray.create(n,e.length)}var S=function(){function e(e){var t=e.config;this._config=t,this._iv="0123456789012345",this._allowedKeyEncodings=["hex","utf8","base64","binary"],this._allowedKeyLengths=[128,256],this._allowedModes=["ecb","cbc"],this._defaultOptions={encryptKey:!0,keyEncoding:"utf8",keyLength:256,mode:"cbc"}}return e.prototype.HMACSHA256=function(e){return O.HmacSHA256(e,this._config.secretKey).toString(O.enc.Base64)},e.prototype.SHA256=function(e){return O.SHA256(e).toString(O.enc.Hex)},e.prototype._parseOptions=function(e){var t=e||{};return t.hasOwnProperty("encryptKey")||(t.encryptKey=this._defaultOptions.encryptKey),t.hasOwnProperty("keyEncoding")||(t.keyEncoding=this._defaultOptions.keyEncoding),t.hasOwnProperty("keyLength")||(t.keyLength=this._defaultOptions.keyLength),t.hasOwnProperty("mode")||(t.mode=this._defaultOptions.mode),-1===this._allowedKeyEncodings.indexOf(t.keyEncoding.toLowerCase())&&(t.keyEncoding=this._defaultOptions.keyEncoding),-1===this._allowedKeyLengths.indexOf(parseInt(t.keyLength,10))&&(t.keyLength=this._defaultOptions.keyLength),-1===this._allowedModes.indexOf(t.mode.toLowerCase())&&(t.mode=this._defaultOptions.mode),t},e.prototype._decodeKey=function(e,t){return"base64"===t.keyEncoding?O.enc.Base64.parse(e):"hex"===t.keyEncoding?O.enc.Hex.parse(e):e},e.prototype._getPaddedKey=function(e,t){return e=this._decodeKey(e,t),t.encryptKey?O.enc.Utf8.parse(this.SHA256(e).slice(0,32)):e},e.prototype._getMode=function(e){return"ecb"===e.mode?O.mode.ECB:O.mode.CBC},e.prototype._getIV=function(e){return"cbc"===e.mode?O.enc.Utf8.parse(this._iv):null},e.prototype._getRandomIV=function(){return O.lib.WordArray.random(16)},e.prototype.encrypt=function(e,t,n){return this._config.customEncrypt?this._config.customEncrypt(e):this.pnEncrypt(e,t,n)},e.prototype.decrypt=function(e,t,n){return this._config.customDecrypt?this._config.customDecrypt(e):this.pnDecrypt(e,t,n)},e.prototype.pnEncrypt=function(e,t,n){if(!t&&!this._config.cipherKey)return e;n=this._parseOptions(n);var r=this._getMode(n),i=this._getPaddedKey(t||this._config.cipherKey,n);if(this._config.useRandomIVs){var o=this._getRandomIV(),s=O.AES.encrypt(e,i,{iv:o,mode:r}).ciphertext;return o.clone().concat(s.clone()).toString(O.enc.Base64)}var a=this._getIV(n);return O.AES.encrypt(e,i,{iv:a,mode:r}).ciphertext.toString(O.enc.Base64)||e},e.prototype.pnDecrypt=function(e,t,n){if(!t&&!this._config.cipherKey)return e;n=this._parseOptions(n);var r=this._getMode(n),i=this._getPaddedKey(t||this._config.cipherKey,n);if(this._config.useRandomIVs){var o=P((u=Buffer.from(e,"base64")).slice(0,16)),s=P(u.slice(16));try{var a=O.AES.decrypt({ciphertext:s},i,{iv:o,mode:r}).toString(O.enc.Utf8);return JSON.parse(a)}catch(e){return null}}else{o=this._getIV(n);try{var u=O.enc.Base64.parse(e);a=O.AES.decrypt({ciphertext:u},i,{iv:o,mode:r}).toString(O.enc.Utf8);return JSON.parse(a)}catch(e){return null}}},e}(),w=function(){function e(e){var t=e.timeEndpoint;this._timeEndpoint=t}return e.prototype.onReconnection=function(e){this._reconnectionCallback=e},e.prototype.startPolling=function(){this._timeTimer=setInterval(this._performTimeLoop.bind(this),3e3)},e.prototype.stopPolling=function(){clearInterval(this._timeTimer)},e.prototype._performTimeLoop=function(){var e=this;this._timeEndpoint((function(t){t.error||(clearInterval(e._timeTimer),e._reconnectionCallback())}))},e}(),T=function(){function e(e){var t=e.config;this.hashHistory=[],this._config=t}return e.prototype.getKey=function(e){var t=function(e){var t=0;if(0===e.length)return t;for(var n=0;n<e.length;n+=1)t=(t<<5)-t+e.charCodeAt(n),t&=t;return t}(JSON.stringify(e.payload)).toString(),n=e.publishMetaData.publishTimetoken;return"".concat(n,"-").concat(t)},e.prototype.isDuplicate=function(e){return this.hashHistory.includes(this.getKey(e))},e.prototype.addEntry=function(e){this.hashHistory.length>=this._config.maximumCacheSize&&this.hashHistory.shift(),this.hashHistory.push(this.getKey(e))},e.prototype.clearHistory=function(){this.hashHistory=[]},e}();function k(e){return encodeURIComponent(e).replace(/[!~*'()]/g,(function(e){return"%".concat(e.charCodeAt(0).toString(16).toUpperCase())}))}function N(e){return function(e){var t=[];return Object.keys(e).forEach((function(e){return t.push(e)})),t}(e).sort()}var C={signPamFromParams:function(e){return N(e).map((function(t){return"".concat(t,"=").concat(k(e[t]))})).join("&")},endsWith:function(e,t){return-1!==e.indexOf(t,this.length-t.length)},createPromise:function(){var e,t;return{promise:new Promise((function(n,r){e=n,t=r})),reject:t,fulfill:e}},encodeString:k},E={PNNetworkUpCategory:"PNNetworkUpCategory",PNNetworkDownCategory:"PNNetworkDownCategory",PNNetworkIssuesCategory:"PNNetworkIssuesCategory",PNTimeoutCategory:"PNTimeoutCategory",PNBadRequestCategory:"PNBadRequestCategory",PNAccessDeniedCategory:"PNAccessDeniedCategory",PNUnknownCategory:"PNUnknownCategory",PNReconnectedCategory:"PNReconnectedCategory",PNConnectedCategory:"PNConnectedCategory",PNRequestMessageCountExceededCategory:"PNRequestMessageCountExceededCategory"},A=function(){function e(e){var t=e.subscribeEndpoint,n=e.leaveEndpoint,r=e.heartbeatEndpoint,i=e.setStateEndpoint,o=e.timeEndpoint,s=e.getFileUrl,a=e.config,u=e.crypto,c=e.listenerManager;this._listenerManager=c,this._config=a,this._leaveEndpoint=n,this._heartbeatEndpoint=r,this._setStateEndpoint=i,this._subscribeEndpoint=t,this._getFileUrl=s,this._crypto=u,this._channels={},this._presenceChannels={},this._heartbeatChannels={},this._heartbeatChannelGroups={},this._channelGroups={},this._presenceChannelGroups={},this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[],this._currentTimetoken=0,this._lastTimetoken=0,this._storedTimetoken=null,this._subscriptionStatusAnnounced=!1,this._isOnline=!0,this._reconnectionManager=new w({timeEndpoint:o}),this._dedupingManager=new T({config:a})}return e.prototype.adaptStateChange=function(e,t){var n=this,r=e.state,i=e.channels,o=void 0===i?[]:i,s=e.channelGroups,a=void 0===s?[]:s;return o.forEach((function(e){e in n._channels&&(n._channels[e].state=r)})),a.forEach((function(e){e in n._channelGroups&&(n._channelGroups[e].state=r)})),this._setStateEndpoint({state:r,channels:o,channelGroups:a},t)},e.prototype.adaptPresenceChange=function(e){var t=this,n=e.connected,r=e.channels,i=void 0===r?[]:r,o=e.channelGroups,s=void 0===o?[]:o;n?(i.forEach((function(e){t._heartbeatChannels[e]={state:{}}})),s.forEach((function(e){t._heartbeatChannelGroups[e]={state:{}}}))):(i.forEach((function(e){e in t._heartbeatChannels&&delete t._heartbeatChannels[e]})),s.forEach((function(e){e in t._heartbeatChannelGroups&&delete t._heartbeatChannelGroups[e]})),!1===this._config.suppressLeaveEvents&&this._leaveEndpoint({channels:i,channelGroups:s},(function(e){t._listenerManager.announceStatus(e)}))),this.reconnect()},e.prototype.adaptSubscribeChange=function(e){var t=this,n=e.timetoken,r=e.channels,i=void 0===r?[]:r,o=e.channelGroups,s=void 0===o?[]:o,a=e.withPresence,u=void 0!==a&&a,c=e.withHeartbeats,l=void 0!==c&&c;this._config.subscribeKey&&""!==this._config.subscribeKey?(n&&(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=n),"0"!==this._currentTimetoken&&0!==this._currentTimetoken&&(this._storedTimetoken=this._currentTimetoken,this._currentTimetoken=0),i.forEach((function(e){t._channels[e]={state:{}},u&&(t._presenceChannels[e]={}),(l||t._config.getHeartbeatInterval())&&(t._heartbeatChannels[e]={}),t._pendingChannelSubscriptions.push(e)})),s.forEach((function(e){t._channelGroups[e]={state:{}},u&&(t._presenceChannelGroups[e]={}),(l||t._config.getHeartbeatInterval())&&(t._heartbeatChannelGroups[e]={}),t._pendingChannelGroupSubscriptions.push(e)})),this._subscriptionStatusAnnounced=!1,this.reconnect()):console&&console.log&&console.log("subscribe key missing; aborting subscribe")},e.prototype.adaptUnsubscribeChange=function(e,t){var n=this,r=e.channels,i=void 0===r?[]:r,o=e.channelGroups,s=void 0===o?[]:o,a=[],u=[];i.forEach((function(e){e in n._channels&&(delete n._channels[e],a.push(e),e in n._heartbeatChannels&&delete n._heartbeatChannels[e]),e in n._presenceChannels&&(delete n._presenceChannels[e],a.push(e))})),s.forEach((function(e){e in n._channelGroups&&(delete n._channelGroups[e],u.push(e),e in n._heartbeatChannelGroups&&delete n._heartbeatChannelGroups[e]),e in n._presenceChannelGroups&&(delete n._presenceChannelGroups[e],u.push(e))})),0===a.length&&0===u.length||(!1!==this._config.suppressLeaveEvents||t||this._leaveEndpoint({channels:a,channelGroups:u},(function(e){e.affectedChannels=a,e.affectedChannelGroups=u,e.currentTimetoken=n._currentTimetoken,e.lastTimetoken=n._lastTimetoken,n._listenerManager.announceStatus(e)})),0===Object.keys(this._channels).length&&0===Object.keys(this._presenceChannels).length&&0===Object.keys(this._channelGroups).length&&0===Object.keys(this._presenceChannelGroups).length&&(this._lastTimetoken=0,this._currentTimetoken=0,this._storedTimetoken=null,this._region=null,this._reconnectionManager.stopPolling()),this.reconnect())},e.prototype.unsubscribeAll=function(e){this.adaptUnsubscribeChange({channels:this.getSubscribedChannels(),channelGroups:this.getSubscribedChannelGroups()},e)},e.prototype.getHeartbeatChannels=function(){return Object.keys(this._heartbeatChannels)},e.prototype.getHeartbeatChannelGroups=function(){return Object.keys(this._heartbeatChannelGroups)},e.prototype.getSubscribedChannels=function(){return Object.keys(this._channels)},e.prototype.getSubscribedChannelGroups=function(){return Object.keys(this._channelGroups)},e.prototype.reconnect=function(){this._startSubscribeLoop(),this._registerHeartbeatTimer()},e.prototype.disconnect=function(){this._stopSubscribeLoop(),this._stopHeartbeatTimer(),this._reconnectionManager.stopPolling()},e.prototype._registerHeartbeatTimer=function(){this._stopHeartbeatTimer(),0!==this._config.getHeartbeatInterval()&&void 0!==this._config.getHeartbeatInterval()&&(this._performHeartbeatLoop(),this._heartbeatTimer=setInterval(this._performHeartbeatLoop.bind(this),1e3*this._config.getHeartbeatInterval()))},e.prototype._stopHeartbeatTimer=function(){this._heartbeatTimer&&(clearInterval(this._heartbeatTimer),this._heartbeatTimer=null)},e.prototype._performHeartbeatLoop=function(){var e=this,t=this.getHeartbeatChannels(),n=this.getHeartbeatChannelGroups(),r={};if(0!==t.length||0!==n.length){this.getSubscribedChannels().forEach((function(t){var n=e._channels[t].state;Object.keys(n).length&&(r[t]=n)})),this.getSubscribedChannelGroups().forEach((function(t){var n=e._channelGroups[t].state;Object.keys(n).length&&(r[t]=n)}));this._heartbeatEndpoint({channels:t,channelGroups:n,state:r},function(t){t.error&&e._config.announceFailedHeartbeats&&e._listenerManager.announceStatus(t),t.error&&e._config.autoNetworkDetection&&e._isOnline&&(e._isOnline=!1,e.disconnect(),e._listenerManager.announceNetworkDown(),e.reconnect()),!t.error&&e._config.announceSuccessfulHeartbeats&&e._listenerManager.announceStatus(t)}.bind(this))}},e.prototype._startSubscribeLoop=function(){var e=this;this._stopSubscribeLoop();var t={},n=[],r=[];if(Object.keys(this._channels).forEach((function(r){var i=e._channels[r].state;Object.keys(i).length&&(t[r]=i),n.push(r)})),Object.keys(this._presenceChannels).forEach((function(e){n.push("".concat(e,"-pnpres"))})),Object.keys(this._channelGroups).forEach((function(n){var i=e._channelGroups[n].state;Object.keys(i).length&&(t[n]=i),r.push(n)})),Object.keys(this._presenceChannelGroups).forEach((function(e){r.push("".concat(e,"-pnpres"))})),0!==n.length||0!==r.length){var i={channels:n,channelGroups:r,state:t,timetoken:this._currentTimetoken,filterExpression:this._config.filterExpression,region:this._region};this._subscribeCall=this._subscribeEndpoint(i,this._processSubscribeResponse.bind(this))}},e.prototype._processSubscribeResponse=function(e,t){var n=this;if(e.error){if(e.errorData&&"Aborted"===e.errorData.message)return;e.category===E.PNTimeoutCategory?this._startSubscribeLoop():e.category===E.PNNetworkIssuesCategory?(this.disconnect(),e.error&&this._config.autoNetworkDetection&&this._isOnline&&(this._isOnline=!1,this._listenerManager.announceNetworkDown()),this._reconnectionManager.onReconnection((function(){n._config.autoNetworkDetection&&!n._isOnline&&(n._isOnline=!0,n._listenerManager.announceNetworkUp()),n.reconnect(),n._subscriptionStatusAnnounced=!0;var t={category:E.PNReconnectedCategory,operation:e.operation,lastTimetoken:n._lastTimetoken,currentTimetoken:n._currentTimetoken};n._listenerManager.announceStatus(t)})),this._reconnectionManager.startPolling(),this._listenerManager.announceStatus(e)):e.category===E.PNBadRequestCategory?(this._stopHeartbeatTimer(),this._listenerManager.announceStatus(e)):this._listenerManager.announceStatus(e)}else{if(this._storedTimetoken?(this._currentTimetoken=this._storedTimetoken,this._storedTimetoken=null):(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=t.metadata.timetoken),!this._subscriptionStatusAnnounced){var r={};r.category=E.PNConnectedCategory,r.operation=e.operation,r.affectedChannels=this._pendingChannelSubscriptions,r.subscribedChannels=this.getSubscribedChannels(),r.affectedChannelGroups=this._pendingChannelGroupSubscriptions,r.lastTimetoken=this._lastTimetoken,r.currentTimetoken=this._currentTimetoken,this._subscriptionStatusAnnounced=!0,this._listenerManager.announceStatus(r),this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[]}var i=t.messages||[],o=this._config,s=o.requestMessageCountThreshold,a=o.dedupeOnSubscribe;if(s&&i.length>=s){var u={};u.category=E.PNRequestMessageCountExceededCategory,u.operation=e.operation,this._listenerManager.announceStatus(u)}i.forEach((function(e){var t=e.channel,r=e.subscriptionMatch,i=e.publishMetaData;if(t===r&&(r=null),a){if(n._dedupingManager.isDuplicate(e))return;n._dedupingManager.addEntry(e)}if(C.endsWith(e.channel,"-pnpres"))(u={channel:null,subscription:null}).actualChannel=null!=r?t:null,u.subscribedChannel=null!=r?r:t,t&&(u.channel=t.substring(0,t.lastIndexOf("-pnpres"))),r&&(u.subscription=r.substring(0,r.lastIndexOf("-pnpres"))),u.action=e.payload.action,u.state=e.payload.data,u.timetoken=i.publishTimetoken,u.occupancy=e.payload.occupancy,u.uuid=e.payload.uuid,u.timestamp=e.payload.timestamp,e.payload.join&&(u.join=e.payload.join),e.payload.leave&&(u.leave=e.payload.leave),e.payload.timeout&&(u.timeout=e.payload.timeout),n._listenerManager.announcePresence(u);else if(1===e.messageType){(u={channel:null,subscription:null}).channel=t,u.subscription=r,u.timetoken=i.publishTimetoken,u.publisher=e.issuingClientId,e.userMetadata&&(u.userMetadata=e.userMetadata),u.message=e.payload,n._listenerManager.announceSignal(u)}else if(2===e.messageType){(u={channel:null,subscription:null}).channel=t,u.subscription=r,u.timetoken=i.publishTimetoken,u.publisher=e.issuingClientId,e.userMetadata&&(u.userMetadata=e.userMetadata),u.message={event:e.payload.event,type:e.payload.type,data:e.payload.data},n._listenerManager.announceObjects(u),"user"===e.payload.type?n._listenerManager.announceUser(u):"space"===e.payload.type?n._listenerManager.announceSpace(u):"membership"===e.payload.type&&n._listenerManager.announceMembership(u)}else if(3===e.messageType){(u={}).channel=t,u.subscription=r,u.timetoken=i.publishTimetoken,u.publisher=e.issuingClientId,u.data={messageTimetoken:e.payload.data.messageTimetoken,actionTimetoken:e.payload.data.actionTimetoken,type:e.payload.data.type,uuid:e.issuingClientId,value:e.payload.data.value},u.event=e.payload.event,n._listenerManager.announceMessageAction(u)}else if(4===e.messageType){(u={}).channel=t,u.subscription=r,u.timetoken=i.publishTimetoken,u.publisher=e.issuingClientId;var o=e.payload;if(n._config.cipherKey){var s=n._crypto.decrypt(e.payload);"object"==typeof s&&null!==s&&(o=s)}e.userMetadata&&(u.userMetadata=e.userMetadata),u.message=o.message,u.file={id:o.file.id,name:o.file.name,url:n._getFileUrl({id:o.file.id,name:o.file.name,channel:t})},n._listenerManager.announceFile(u)}else{var u;(u={channel:null,subscription:null}).actualChannel=null!=r?t:null,u.subscribedChannel=null!=r?r:t,u.channel=t,u.subscription=r,u.timetoken=i.publishTimetoken,u.publisher=e.issuingClientId,e.userMetadata&&(u.userMetadata=e.userMetadata),n._config.cipherKey?u.message=n._crypto.decrypt(e.payload):u.message=e.payload,n._listenerManager.announceMessage(u)}})),this._region=t.metadata.region,this._startSubscribeLoop()}},e.prototype._stopSubscribeLoop=function(){this._subscribeCall&&("function"==typeof this._subscribeCall.abort&&this._subscribeCall.abort(),this._subscribeCall=null)},e}(),M={PNTimeOperation:"PNTimeOperation",PNHistoryOperation:"PNHistoryOperation",PNDeleteMessagesOperation:"PNDeleteMessagesOperation",PNFetchMessagesOperation:"PNFetchMessagesOperation",PNMessageCounts:"PNMessageCountsOperation",PNSubscribeOperation:"PNSubscribeOperation",PNUnsubscribeOperation:"PNUnsubscribeOperation",PNPublishOperation:"PNPublishOperation",PNSignalOperation:"PNSignalOperation",PNAddMessageActionOperation:"PNAddActionOperation",PNRemoveMessageActionOperation:"PNRemoveMessageActionOperation",PNGetMessageActionsOperation:"PNGetMessageActionsOperation",PNCreateUserOperation:"PNCreateUserOperation",PNUpdateUserOperation:"PNUpdateUserOperation",PNDeleteUserOperation:"PNDeleteUserOperation",PNGetUserOperation:"PNGetUsersOperation",PNGetUsersOperation:"PNGetUsersOperation",PNCreateSpaceOperation:"PNCreateSpaceOperation",PNUpdateSpaceOperation:"PNUpdateSpaceOperation",PNDeleteSpaceOperation:"PNDeleteSpaceOperation",PNGetSpaceOperation:"PNGetSpacesOperation",PNGetSpacesOperation:"PNGetSpacesOperation",PNGetMembersOperation:"PNGetMembersOperation",PNUpdateMembersOperation:"PNUpdateMembersOperation",PNGetMembershipsOperation:"PNGetMembershipsOperation",PNUpdateMembershipsOperation:"PNUpdateMembershipsOperation",PNListFilesOperation:"PNListFilesOperation",PNGenerateUploadUrlOperation:"PNGenerateUploadUrlOperation",PNPublishFileOperation:"PNPublishFileOperation",PNGetFileUrlOperation:"PNGetFileUrlOperation",PNDownloadFileOperation:"PNDownloadFileOperation",PNGetAllUUIDMetadataOperation:"PNGetAllUUIDMetadataOperation",PNGetUUIDMetadataOperation:"PNGetUUIDMetadataOperation",PNSetUUIDMetadataOperation:"PNSetUUIDMetadataOperation",PNRemoveUUIDMetadataOperation:"PNRemoveUUIDMetadataOperation",PNGetAllChannelMetadataOperation:"PNGetAllChannelMetadataOperation",PNGetChannelMetadataOperation:"PNGetChannelMetadataOperation",PNSetChannelMetadataOperation:"PNSetChannelMetadataOperation",PNRemoveChannelMetadataOperation:"PNRemoveChannelMetadataOperation",PNSetMembersOperation:"PNSetMembersOperation",PNSetMembershipsOperation:"PNSetMembershipsOperation",PNPushNotificationEnabledChannelsOperation:"PNPushNotificationEnabledChannelsOperation",PNRemoveAllPushNotificationsOperation:"PNRemoveAllPushNotificationsOperation",PNWhereNowOperation:"PNWhereNowOperation",PNSetStateOperation:"PNSetStateOperation",PNHereNowOperation:"PNHereNowOperation",PNGetStateOperation:"PNGetStateOperation",PNHeartbeatOperation:"PNHeartbeatOperation",PNChannelGroupsOperation:"PNChannelGroupsOperation",PNRemoveGroupOperation:"PNRemoveGroupOperation",PNChannelsForGroupOperation:"PNChannelsForGroupOperation",PNAddChannelsToGroupOperation:"PNAddChannelsToGroupOperation",PNRemoveChannelsFromGroupOperation:"PNRemoveChannelsFromGroupOperation",PNAccessManagerGrant:"PNAccessManagerGrant",PNAccessManagerGrantToken:"PNAccessManagerGrantToken",PNAccessManagerAudit:"PNAccessManagerAudit",PNAccessManagerRevokeToken:"PNAccessManagerRevokeToken",PNHandshakeOperation:"PNHandshakeOperation",PNReceiveMessagesOperation:"PNReceiveMessagesOperation"},R=function(){function e(e){this._maximumSamplesCount=100,this._trackedLatencies={},this._latencies={},this._maximumSamplesCount=e.maximumSamplesCount||this._maximumSamplesCount}return e.prototype.operationsLatencyForRequest=function(){var e=this,t={};return Object.keys(this._latencies).forEach((function(n){var r=e._latencies[n],i=e._averageLatency(r);i>0&&(t["l_".concat(n)]=i)})),t},e.prototype.startLatencyMeasure=function(e,t){e!==M.PNSubscribeOperation&&t&&(this._trackedLatencies[t]=Date.now())},e.prototype.stopLatencyMeasure=function(e,t){if(e!==M.PNSubscribeOperation&&t){var n=this._endpointName(e),r=this._latencies[n],i=this._trackedLatencies[t];r||(this._latencies[n]=[],r=this._latencies[n]),r.push(Date.now()-i),r.length>this._maximumSamplesCount&&r.splice(0,r.length-this._maximumSamplesCount),delete this._trackedLatencies[t]}},e.prototype._averageLatency=function(e){return Math.floor(e.reduce((function(e,t){return e+t}),0)/e.length)},e.prototype._endpointName=function(e){var t=null;switch(e){case M.PNPublishOperation:t="pub";break;case M.PNSignalOperation:t="sig";break;case M.PNHistoryOperation:case M.PNFetchMessagesOperation:case M.PNDeleteMessagesOperation:case M.PNMessageCounts:t="hist";break;case M.PNUnsubscribeOperation:case M.PNWhereNowOperation:case M.PNHereNowOperation:case M.PNHeartbeatOperation:case M.PNSetStateOperation:case M.PNGetStateOperation:t="pres";break;case M.PNAddChannelsToGroupOperation:case M.PNRemoveChannelsFromGroupOperation:case M.PNChannelGroupsOperation:case M.PNRemoveGroupOperation:case M.PNChannelsForGroupOperation:t="cg";break;case M.PNPushNotificationEnabledChannelsOperation:case M.PNRemoveAllPushNotificationsOperation:t="push";break;case M.PNCreateUserOperation:case M.PNUpdateUserOperation:case M.PNDeleteUserOperation:case M.PNGetUserOperation:case M.PNGetUsersOperation:case M.PNCreateSpaceOperation:case M.PNUpdateSpaceOperation:case M.PNDeleteSpaceOperation:case M.PNGetSpaceOperation:case M.PNGetSpacesOperation:case M.PNGetMembersOperation:case M.PNUpdateMembersOperation:case M.PNGetMembershipsOperation:case M.PNUpdateMembershipsOperation:t="obj";break;case M.PNAddMessageActionOperation:case M.PNRemoveMessageActionOperation:case M.PNGetMessageActionsOperation:t="msga";break;case M.PNAccessManagerGrant:case M.PNAccessManagerAudit:t="pam";break;case M.PNAccessManagerGrantToken:case M.PNAccessManagerRevokeToken:t="pamv3";break;default:t="time"}return t},e}(),j=function(){function e(e,t,n){this._payload=e,this._setDefaultPayloadStructure(),this.title=t,this.body=n}return Object.defineProperty(e.prototype,"payload",{get:function(){return this._payload},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"title",{set:function(e){this._title=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"subtitle",{set:function(e){this._subtitle=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"body",{set:function(e){this._body=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"badge",{set:function(e){this._badge=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"sound",{set:function(e){this._sound=e},enumerable:!1,configurable:!0}),e.prototype._setDefaultPayloadStructure=function(){},e.prototype.toObject=function(){return{}},e}(),U=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return t(r,e),Object.defineProperty(r.prototype,"configurations",{set:function(e){e&&e.length&&(this._configurations=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"notification",{get:function(){return this._payload.aps},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"title",{get:function(){return this._title},set:function(e){e&&e.length&&(this._payload.aps.alert.title=e,this._title=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"subtitle",{get:function(){return this._subtitle},set:function(e){e&&e.length&&(this._payload.aps.alert.subtitle=e,this._subtitle=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"body",{get:function(){return this._body},set:function(e){e&&e.length&&(this._payload.aps.alert.body=e,this._body=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"badge",{get:function(){return this._badge},set:function(e){null!=e&&(this._payload.aps.badge=e,this._badge=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"sound",{get:function(){return this._sound},set:function(e){e&&e.length&&(this._payload.aps.sound=e,this._sound=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"silent",{set:function(e){this._isSilent=e},enumerable:!1,configurable:!0}),r.prototype._setDefaultPayloadStructure=function(){this._payload.aps={alert:{}}},r.prototype.toObject=function(){var e=this,t=n({},this._payload),r=t.aps,i=r.alert;if(this._isSilent&&(r["content-available"]=1),"apns2"===this._apnsPushType){if(!this._configurations||!this._configurations.length)throw new ReferenceError("APNS2 configuration is missing");var o=[];this._configurations.forEach((function(t){o.push(e._objectFromAPNS2Configuration(t))})),o.length&&(t.pn_push=o)}return i&&Object.keys(i).length||delete r.alert,this._isSilent&&(delete r.alert,delete r.badge,delete r.sound,i={}),this._isSilent||Object.keys(i).length?t:null},r.prototype._objectFromAPNS2Configuration=function(e){var t=this;if(!e.targets||!e.targets.length)throw new ReferenceError("At least one APNS2 target should be provided");var n=[];e.targets.forEach((function(e){n.push(t._objectFromAPNSTarget(e))}));var r=e.collapseId,i=e.expirationDate,o={auth_method:"token",targets:n,version:"v2"};return r&&r.length&&(o.collapse_id=r),i&&(o.expiration=i.toISOString()),o},r.prototype._objectFromAPNSTarget=function(e){if(!e.topic||!e.topic.length)throw new TypeError("Target 'topic' undefined.");var t=e.topic,n=e.environment,r=void 0===n?"development":n,i=e.excludedDevices,o=void 0===i?[]:i,s={topic:t,environment:r};return o.length&&(s.excluded_devices=o),s},r}(j),x=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return t(r,e),Object.defineProperty(r.prototype,"backContent",{get:function(){return this._backContent},set:function(e){e&&e.length&&(this._payload.back_content=e,this._backContent=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"backTitle",{get:function(){return this._backTitle},set:function(e){e&&e.length&&(this._payload.back_title=e,this._backTitle=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"count",{get:function(){return this._count},set:function(e){null!=e&&(this._payload.count=e,this._count=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"title",{get:function(){return this._title},set:function(e){e&&e.length&&(this._payload.title=e,this._title=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"type",{get:function(){return this._type},set:function(e){e&&e.length&&(this._payload.type=e,this._type=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"subtitle",{get:function(){return this.backTitle},set:function(e){this.backTitle=e},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"body",{get:function(){return this.backContent},set:function(e){this.backContent=e},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"badge",{get:function(){return this.count},set:function(e){this.count=e},enumerable:!1,configurable:!0}),r.prototype.toObject=function(){return Object.keys(this._payload).length?n({},this._payload):null},r}(j),D=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return t(r,e),Object.defineProperty(r.prototype,"notification",{get:function(){return this._payload.notification},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"data",{get:function(){return this._payload.data},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"title",{get:function(){return this._title},set:function(e){e&&e.length&&(this._payload.notification.title=e,this._title=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"body",{get:function(){return this._body},set:function(e){e&&e.length&&(this._payload.notification.body=e,this._body=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"sound",{get:function(){return this._sound},set:function(e){e&&e.length&&(this._payload.notification.sound=e,this._sound=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"icon",{get:function(){return this._icon},set:function(e){e&&e.length&&(this._payload.notification.icon=e,this._icon=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"tag",{get:function(){return this._tag},set:function(e){e&&e.length&&(this._payload.notification.tag=e,this._tag=e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"silent",{set:function(e){this._isSilent=e},enumerable:!1,configurable:!0}),r.prototype._setDefaultPayloadStructure=function(){this._payload.notification={},this._payload.data={}},r.prototype.toObject=function(){var e=n({},this._payload.data),t=null,r={};if(Object.keys(this._payload).length>2){var i=this._payload;i.notification,i.data;var o=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}(i,["notification","data"]);e=n(n({},e),o)}return this._isSilent?e.notification=this._payload.notification:t=this._payload.notification,Object.keys(e).length&&(r.data=e),t&&Object.keys(t).length&&(r.notification=t),Object.keys(r).length?r:null},r}(j),I=function(){function e(e,t){this._payload={apns:{},mpns:{},fcm:{}},this._title=e,this._body=t,this.apns=new U(this._payload.apns,e,t),this.mpns=new x(this._payload.mpns,e,t),this.fcm=new D(this._payload.fcm,e,t)}return Object.defineProperty(e.prototype,"debugging",{set:function(e){this._debugging=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"title",{get:function(){return this._title},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"body",{get:function(){return this._body},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"subtitle",{get:function(){return this._subtitle},set:function(e){this._subtitle=e,this.apns.subtitle=e,this.mpns.subtitle=e,this.fcm.subtitle=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"badge",{get:function(){return this._badge},set:function(e){this._badge=e,this.apns.badge=e,this.mpns.badge=e,this.fcm.badge=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"sound",{get:function(){return this._sound},set:function(e){this._sound=e,this.apns.sound=e,this.mpns.sound=e,this.fcm.sound=e},enumerable:!1,configurable:!0}),e.prototype.buildPayload=function(e){var t={};if(e.includes("apns")||e.includes("apns2")){this.apns._apnsPushType=e.includes("apns")?"apns":"apns2";var n=this.apns.toObject();n&&Object.keys(n).length&&(t.pn_apns=n)}if(e.includes("mpns")){var r=this.mpns.toObject();r&&Object.keys(r).length&&(t.pn_mpns=r)}if(e.includes("fcm")){var i=this.fcm.toObject();i&&Object.keys(i).length&&(t.pn_gcm=i)}return Object.keys(t).length&&this._debugging&&(t.pn_debug=!0),t},e}(),G=function(){function e(){this._listeners=[]}return e.prototype.addListener=function(e){this._listeners.push(e)},e.prototype.removeListener=function(e){var t=[];this._listeners.forEach((function(n){n!==e&&t.push(n)})),this._listeners=t},e.prototype.removeAllListeners=function(){this._listeners=[]},e.prototype.announcePresence=function(e){this._listeners.forEach((function(t){t.presence&&t.presence(e)}))},e.prototype.announceStatus=function(e){this._listeners.forEach((function(t){t.status&&t.status(e)}))},e.prototype.announceMessage=function(e){this._listeners.forEach((function(t){t.message&&t.message(e)}))},e.prototype.announceSignal=function(e){this._listeners.forEach((function(t){t.signal&&t.signal(e)}))},e.prototype.announceMessageAction=function(e){this._listeners.forEach((function(t){t.messageAction&&t.messageAction(e)}))},e.prototype.announceFile=function(e){this._listeners.forEach((function(t){t.file&&t.file(e)}))},e.prototype.announceObjects=function(e){this._listeners.forEach((function(t){t.objects&&t.objects(e)}))},e.prototype.announceUser=function(e){this._listeners.forEach((function(t){t.user&&t.user(e)}))},e.prototype.announceSpace=function(e){this._listeners.forEach((function(t){t.space&&t.space(e)}))},e.prototype.announceMembership=function(e){this._listeners.forEach((function(t){t.membership&&t.membership(e)}))},e.prototype.announceNetworkUp=function(){var e={};e.category=E.PNNetworkUpCategory,this.announceStatus(e)},e.prototype.announceNetworkDown=function(){var e={};e.category=E.PNNetworkDownCategory,this.announceStatus(e)},e}(),K=function(){function e(e,t){this._config=e,this._cbor=t}return e.prototype.setToken=function(e){e&&e.length>0?this._token=e:this._token=void 0},e.prototype.getToken=function(){return this._token},e.prototype.extractPermissions=function(e){var t={read:!1,write:!1,manage:!1,delete:!1,get:!1,update:!1,join:!1};return 128==(128&e)&&(t.join=!0),64==(64&e)&&(t.update=!0),32==(32&e)&&(t.get=!0),8==(8&e)&&(t.delete=!0),4==(4&e)&&(t.manage=!0),2==(2&e)&&(t.write=!0),1==(1&e)&&(t.read=!0),t},e.prototype.parseToken=function(e){var t=this,n=this._cbor.decodeToken(e);if(void 0!==n){var r=n.res.uuid?Object.keys(n.res.uuid):[],i=Object.keys(n.res.chan),o=Object.keys(n.res.grp),s=n.pat.uuid?Object.keys(n.pat.uuid):[],a=Object.keys(n.pat.chan),u=Object.keys(n.pat.grp),c={version:n.v,timestamp:n.t,ttl:n.ttl,authorized_uuid:n.uuid},l=r.length>0,p=i.length>0,h=o.length>0;(l||p||h)&&(c.resources={},l&&(c.resources.uuids={},r.forEach((function(e){c.resources.uuids[e]=t.extractPermissions(n.res.uuid[e])}))),p&&(c.resources.channels={},i.forEach((function(e){c.resources.channels[e]=t.extractPermissions(n.res.chan[e])}))),h&&(c.resources.groups={},o.forEach((function(e){c.resources.groups[e]=t.extractPermissions(n.res.grp[e])}))));var f=s.length>0,d=a.length>0,g=u.length>0;return(f||d||g)&&(c.patterns={},f&&(c.patterns.uuids={},s.forEach((function(e){c.patterns.uuids[e]=t.extractPermissions(n.pat.uuid[e])}))),d&&(c.patterns.channels={},a.forEach((function(e){c.patterns.channels[e]=t.extractPermissions(n.pat.chan[e])}))),g&&(c.patterns.groups={},u.forEach((function(e){c.patterns.groups[e]=t.extractPermissions(n.pat.grp[e])})))),Object.keys(n.meta).length>0&&(c.meta=n.meta),c.signature=n.sig,c}},e}(),F=function(e){function n(t,n){var r=this.constructor,i=e.call(this,t)||this;return i.name=i.constructor.name,i.status=n,i.message=t,Object.setPrototypeOf(i,r.prototype),i}return t(n,e),n}(Error);function L(e){return(t={message:e}).type="validationError",t.error=!0,t;var t}function B(e,t,n){return e.usePost&&e.usePost(t,n)?e.postURL(t,n):e.usePatch&&e.usePatch(t,n)?e.patchURL(t,n):e.useGetFile&&e.useGetFile(t,n)?e.getFileURL(t,n):e.getURL(t,n)}function H(e){if(e.sdkName)return e.sdkName;var t="PubNub-JS-".concat(e.sdkFamily);e.partnerId&&(t+="-".concat(e.partnerId)),t+="/".concat(e.getVersion());var n=e._getPnsdkSuffix(" ");return n.length>0&&(t+=n),t}function q(e,t,n){return t.usePost&&t.usePost(e,n)?"POST":t.usePatch&&t.usePatch(e,n)?"PATCH":t.useDelete&&t.useDelete(e,n)?"DELETE":t.useGetFile&&t.useGetFile(e,n)?"GETFILE":"GET"}function z(e,t,n,r,i){var o=e.config,s=e.crypto,a=q(e,i,r);n.timestamp=Math.floor((new Date).getTime()/1e3),"PNPublishOperation"===i.getOperation()&&i.usePost&&i.usePost(e,r)&&(a="GET"),"GETFILE"===a&&(a="GET");var u="".concat(a,"\n").concat(o.publishKey,"\n").concat(t,"\n").concat(C.signPamFromParams(n),"\n");if("POST"===a)u+="string"==typeof(c=i.postPayload(e,r))?c:JSON.stringify(c);else if("PATCH"===a){var c;u+="string"==typeof(c=i.patchPayload(e,r))?c:JSON.stringify(c)}var l="v2.".concat(s.HMACSHA256(u));l=(l=(l=l.replace(/\+/g,"-")).replace(/\//g,"_")).replace(/=+$/,""),n.signature=l}function V(e,t){for(var r=[],i=2;i<arguments.length;i++)r[i-2]=arguments[i];var o=e.networking,s=e.config,a=e.telemetryManager,u=e.tokenManager,c=v(),l=null,p=null,h={};t.getOperation()===M.PNTimeOperation||t.getOperation()===M.PNChannelGroupsOperation?l=r[0]:(h=r[0],l=r[1]),"undefined"==typeof Promise||l||(p=C.createPromise());var f=t.validateParams(e,h);if(f)return l?l(L(f)):p?(p.reject(new F("Validation failed, check status for details",L(f))),p.promise):void 0;var d,g=t.prepareParams(e,h),y=B(t,e,h),b={url:y,operation:t.getOperation(),timeout:t.getRequestTimeout(e),headers:t.getRequestHeaders?t.getRequestHeaders():{},ignoreBody:"function"==typeof t.ignoreBody&&t.ignoreBody(e),forceBuffered:"function"==typeof t.forceBuffered?t.forceBuffered(e,h):null,abortSignal:"function"==typeof t.getAbortSignal?t.getAbortSignal(e,h):null};g.uuid=s.UUID,g.pnsdk=H(s);var m=a.operationsLatencyForRequest();if(Object.keys(m).length&&(g=n(n({},g),m)),s.useInstanceId&&(g.instanceid=s.instanceId),s.useRequestId&&(g.requestid=c),t.isAuthSupported()){var _=u.getToken()||s.getAuthKey();_&&(g.auth=_)}s.secretKey&&z(e,y,g,h,t);var O=function(n,r){if(n.error)return t.handleError&&t.handleError(e,h,n),void(l?l(n):p&&p.reject(new F("PubNub call failed, check status for details",n)));a.stopLatencyMeasure(t.getOperation(),c);var i=t.handleResponse(e,r,h);"function"!=typeof(null==i?void 0:i.then)&&(i=Promise.resolve(i)),i.then((function(e){l?l(n,e):p&&p.fulfill(e)})).catch((function(e){if(l){var n=e;t.getOperation()===M.PNSubscribeOperation&&(n={statusCode:400,error:!0,operation:t.getOperation(),errorData:e,category:E.PNUnknownCategory}),l(n,null)}else p&&p.reject(new F("PubNub call failed, check status for details",e))}))};if(a.startLatencyMeasure(t.getOperation(),c),"POST"===q(e,t,h)){var P=t.postPayload(e,h);d=o.POST(g,P,b,O)}else if("PATCH"===q(e,t,h)){P=t.patchPayload(e,h);d=o.PATCH(g,P,b,O)}else d="DELETE"===q(e,t,h)?o.DELETE(g,b,O):"GETFILE"===q(e,t,h)?o.GETFILE(g,b,O):o.GET(g,b,O);return t.getOperation()===M.PNSubscribeOperation?d:p?p.promise:void 0}var J=Object.freeze({__proto__:null,getOperation:function(){return M.PNAddChannelsToGroupOperation},validateParams:function(e,t){var n=t.channels,r=t.channelGroup,i=e.config;return r?n&&0!==n.length?i.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channels":"Missing Channel Group"},getURL:function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(C.encodeString(n))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n=t.channels;return{add:(void 0===n?[]:n).join(",")}},handleResponse:function(){return{}}});var W=Object.freeze({__proto__:null,getOperation:function(){return M.PNRemoveChannelsFromGroupOperation},validateParams:function(e,t){var n=t.channels,r=t.channelGroup,i=e.config;return r?n&&0!==n.length?i.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channels":"Missing Channel Group"},getURL:function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(C.encodeString(n))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n=t.channels;return{remove:(void 0===n?[]:n).join(",")}},handleResponse:function(){return{}}});var X=Object.freeze({__proto__:null,getOperation:function(){return M.PNRemoveGroupOperation},validateParams:function(e,t){var n=t.channelGroup,r=e.config;return n?r.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channel Group"},getURL:function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(C.encodeString(n),"/remove")},isAuthSupported:function(){return!0},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},prepareParams:function(){return{}},handleResponse:function(){return{}}});var $=Object.freeze({__proto__:null,getOperation:function(){return M.PNChannelGroupsOperation},validateParams:function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},getURL:function(e){var t=e.config;return"/v1/channel-registration/sub-key/".concat(t.subscribeKey,"/channel-group")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(){return{}},handleResponse:function(e,t){return{groups:t.payload.groups}}});var Q=Object.freeze({__proto__:null,getOperation:function(){return M.PNChannelsForGroupOperation},validateParams:function(e,t){var n=t.channelGroup,r=e.config;return n?r.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channel Group"},getURL:function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(C.encodeString(n))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(){return{}},handleResponse:function(e,t){return{channels:t.payload.channels}}});var Y=Object.freeze({__proto__:null,getOperation:function(){return M.PNPushNotificationEnabledChannelsOperation},validateParams:function(e,t){var n=t.device,r=t.pushGateway,i=t.channels,o=t.topic,s=e.config;return n?r?"apns2"!==r||o?i&&0!==i.length?s.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channels":"Missing APNS2 topic":"Missing GW Type (pushGateway: gcm, apns or apns2)":"Missing Device ID (device)"},getURL:function(e,t){var n=t.device,r=t.pushGateway,i=e.config;return"apns2"===r?"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n):"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var r=t.pushGateway,i=t.channels,o=void 0===i?[]:i,s=t.environment,a=void 0===s?"development":s,u=t.topic,c={type:r,add:o.join(",")};return"apns2"===r&&delete(c=n(n({},c),{environment:a,topic:u})).type,c},handleResponse:function(){return{}}});var Z=Object.freeze({__proto__:null,getOperation:function(){return M.PNPushNotificationEnabledChannelsOperation},validateParams:function(e,t){var n=t.device,r=t.pushGateway,i=t.channels,o=t.topic,s=e.config;return n?r?"apns2"!==r||o?i&&0!==i.length?s.subscribeKey?void 0:"Missing Subscribe Key":"Missing Channels":"Missing APNS2 topic":"Missing GW Type (pushGateway: gcm, apns or apns2)":"Missing Device ID (device)"},getURL:function(e,t){var n=t.device,r=t.pushGateway,i=e.config;return"apns2"===r?"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n):"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var r=t.pushGateway,i=t.channels,o=void 0===i?[]:i,s=t.environment,a=void 0===s?"development":s,u=t.topic,c={type:r,remove:o.join(",")};return"apns2"===r&&delete(c=n(n({},c),{environment:a,topic:u})).type,c},handleResponse:function(){return{}}});var ee=Object.freeze({__proto__:null,getOperation:function(){return M.PNPushNotificationEnabledChannelsOperation},validateParams:function(e,t){var n=t.device,r=t.pushGateway,i=t.topic,o=e.config;return n?r?"apns2"!==r||i?o.subscribeKey?void 0:"Missing Subscribe Key":"Missing APNS2 topic":"Missing GW Type (pushGateway: gcm, apns or apns2)":"Missing Device ID (device)"},getURL:function(e,t){var n=t.device,r=t.pushGateway,i=e.config;return"apns2"===r?"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n):"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var r=t.pushGateway,i=t.environment,o=void 0===i?"development":i,s=t.topic,a={type:r};return"apns2"===r&&delete(a=n(n({},a),{environment:o,topic:s})).type,a},handleResponse:function(e,t){return{channels:t}}});var te=Object.freeze({__proto__:null,getOperation:function(){return M.PNRemoveAllPushNotificationsOperation},validateParams:function(e,t){var n=t.device,r=t.pushGateway,i=t.topic,o=e.config;return n?r?"apns2"!==r||i?o.subscribeKey?void 0:"Missing Subscribe Key":"Missing APNS2 topic":"Missing GW Type (pushGateway: gcm, apns or apns2)":"Missing Device ID (device)"},getURL:function(e,t){var n=t.device,r=t.pushGateway,i=e.config;return"apns2"===r?"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n,"/remove"):"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n,"/remove")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var r=t.pushGateway,i=t.environment,o=void 0===i?"development":i,s=t.topic,a={type:r};return"apns2"===r&&delete(a=n(n({},a),{environment:o,topic:s})).type,a},handleResponse:function(){return{}}});var ne=Object.freeze({__proto__:null,getOperation:function(){return M.PNUnsubscribeOperation},validateParams:function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},getURL:function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=i.length>0?i.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(C.encodeString(o),"/leave")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i={};return r.length>0&&(i["channel-group"]=r.join(",")),i},handleResponse:function(){return{}}});var re=Object.freeze({__proto__:null,getOperation:function(){return M.PNWhereNowOperation},validateParams:function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},getURL:function(e,t){var n=e.config,r=t.uuid,i=void 0===r?n.UUID:r;return"/v2/presence/sub-key/".concat(n.subscribeKey,"/uuid/").concat(C.encodeString(i))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(){return{}},handleResponse:function(e,t){return t.payload?{channels:t.payload.channels}:{channels:[]}}});var ie=Object.freeze({__proto__:null,getOperation:function(){return M.PNHeartbeatOperation},validateParams:function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},getURL:function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=i.length>0?i.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(C.encodeString(o),"/heartbeat")},isAuthSupported:function(){return!0},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},prepareParams:function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i=t.state,o=void 0===i?{}:i,s=e.config,a={};return r.length>0&&(a["channel-group"]=r.join(",")),a.state=JSON.stringify(o),a.heartbeat=s.getPresenceTimeout(),a},handleResponse:function(){return{}}});var oe=Object.freeze({__proto__:null,getOperation:function(){return M.PNGetStateOperation},validateParams:function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},getURL:function(e,t){var n=e.config,r=t.uuid,i=void 0===r?n.UUID:r,o=t.channels,s=void 0===o?[]:o,a=s.length>0?s.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(C.encodeString(a),"/uuid/").concat(i)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i={};return r.length>0&&(i["channel-group"]=r.join(",")),i},handleResponse:function(e,t,n){var r=n.channels,i=void 0===r?[]:r,o=n.channelGroups,s=void 0===o?[]:o,a={};return 1===i.length&&0===s.length?a[i[0]]=t.payload:a=t.payload,{channels:a}}});var se=Object.freeze({__proto__:null,getOperation:function(){return M.PNSetStateOperation},validateParams:function(e,t){var n=e.config,r=t.state,i=t.channels,o=void 0===i?[]:i,s=t.channelGroups,a=void 0===s?[]:s;return r?n.subscribeKey?0===o.length&&0===a.length?"Please provide a list of channels and/or channel-groups":void 0:"Missing Subscribe Key":"Missing State"},getURL:function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=i.length>0?i.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(C.encodeString(o),"/uuid/").concat(C.encodeString(n.UUID),"/data")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n=t.state,r=t.channelGroups,i=void 0===r?[]:r,o={};return o.state=JSON.stringify(n),i.length>0&&(o["channel-group"]=i.join(",")),o},handleResponse:function(e,t){return{state:t.payload}}});var ae=Object.freeze({__proto__:null,getOperation:function(){return M.PNHereNowOperation},validateParams:function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},getURL:function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=t.channelGroups,s=void 0===o?[]:o,a="/v2/presence/sub-key/".concat(n.subscribeKey);if(i.length>0||s.length>0){var u=i.length>0?i.join(","):",";a+="/channel/".concat(C.encodeString(u))}return a},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var r=t.channelGroups,i=void 0===r?[]:r,o=t.includeUUIDs,s=void 0===o||o,a=t.includeState,u=void 0!==a&&a,c=t.queryParameters,l=void 0===c?{}:c,p={};return s||(p.disable_uuids=1),u&&(p.state=1),i.length>0&&(p["channel-group"]=i.join(",")),p=n(n({},p),l)},handleResponse:function(e,t,n){var r=n.channels,i=void 0===r?[]:r,o=n.channelGroups,s=void 0===o?[]:o,a=n.includeUUIDs,u=void 0===a||a,c=n.includeState,l=void 0!==c&&c;return i.length>1||s.length>0||0===s.length&&0===i.length?function(){var e={};return e.totalChannels=t.payload.total_channels,e.totalOccupancy=t.payload.total_occupancy,e.channels={},Object.keys(t.payload.channels).forEach((function(n){var r=t.payload.channels[n],i=[];return e.channels[n]={occupants:i,name:n,occupancy:r.occupancy},u&&r.uuids.forEach((function(e){l?i.push({state:e.state,uuid:e.uuid}):i.push({state:null,uuid:e})})),e})),e}():function(){var e={},n=[];return e.totalChannels=1,e.totalOccupancy=t.occupancy,e.channels={},e.channels[i[0]]={occupants:n,name:i[0],occupancy:t.occupancy},u&&t.uuids&&t.uuids.forEach((function(e){l?n.push({state:e.state,uuid:e.uuid}):n.push({state:null,uuid:e})})),e}()},handleError:function(e,t,n){402!==n.statusCode||this.getURL(e,t).includes("channel")||(n.errorData.message="You have tried to perform a Global Here Now operation, your keyset configuration does not support that. Please provide a channel, or enable the Global Here Now feature from the Portal.")}});var ue=Object.freeze({__proto__:null,getOperation:function(){return M.PNAddMessageActionOperation},validateParams:function(e,t){var n=e.config,r=t.action,i=t.channel;return t.messageTimetoken?n.subscribeKey?i?r?r.value?r.type?r.type.length>15?"Action.type value exceed maximum length of 15":void 0:"Missing Action.type":"Missing Action.value":"Missing Action":"Missing message channel":"Missing Subscribe Key":"Missing message timetoken"},usePost:function(){return!0},postURL:function(e,t){var n=e.config,r=t.channel,i=t.messageTimetoken;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(C.encodeString(r),"/message/").concat(i)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},getRequestHeaders:function(){return{"Content-Type":"application/json"}},isAuthSupported:function(){return!0},prepareParams:function(){return{}},postPayload:function(e,t){return t.action},handleResponse:function(e,t){return{data:t.data}}});var ce=Object.freeze({__proto__:null,getOperation:function(){return M.PNRemoveMessageActionOperation},validateParams:function(e,t){var n=e.config,r=t.channel,i=t.actionTimetoken;return t.messageTimetoken?i?n.subscribeKey?r?void 0:"Missing message channel":"Missing Subscribe Key":"Missing action timetoken":"Missing message timetoken"},useDelete:function(){return!0},getURL:function(e,t){var n=e.config,r=t.channel,i=t.actionTimetoken,o=t.messageTimetoken;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(C.encodeString(r),"/message/").concat(o,"/action/").concat(i)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(){return{}},handleResponse:function(e,t){return{data:t.data}}});var le=Object.freeze({__proto__:null,getOperation:function(){return M.PNGetMessageActionsOperation},validateParams:function(e,t){var n=e.config,r=t.channel;return n.subscribeKey?r?void 0:"Missing message channel":"Missing Subscribe Key"},getURL:function(e,t){var n=e.config,r=t.channel;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(C.encodeString(r))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n=t.limit,r=t.start,i=t.end,o={};return n&&(o.limit=n),r&&(o.start=r),i&&(o.end=i),o},handleResponse:function(e,t){var n={data:t.data,start:null,end:null};return n.data.length&&(n.end=n.data[n.data.length-1].actionTimetoken,n.start=n.data[0].actionTimetoken),n}}),pe={getOperation:function(){return M.PNListFilesOperation},validateParams:function(e,t){if(!(null==t?void 0:t.channel))return"channel can't be empty"},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(C.encodeString(t.channel),"/files")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n={};return t.limit&&(n.limit=t.limit),t.next&&(n.next=t.next),n},handleResponse:function(e,t){return{status:t.status,data:t.data,next:t.next,count:t.count}}},he={getOperation:function(){return M.PNGenerateUploadUrlOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.name)?void 0:"name can't be empty":"channel can't be empty"},usePost:function(){return!0},postURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(C.encodeString(t.channel),"/generate-upload-url")},postPayload:function(e,t){return{name:t.name}},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(){return{}},handleResponse:function(e,t){return{status:t.status,data:t.data,file_upload_request:t.file_upload_request}}},fe={getOperation:function(){return M.PNPublishFileOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.fileId)?(null==t?void 0:t.fileName)?void 0:"file name can't be empty":"file id can't be empty":"channel can't be empty"},getURL:function(e,t){var n=e.config,r=n.publishKey,i=n.subscribeKey,o=function(e,t){var n=e.crypto,r=e.config,i=JSON.stringify(t);return r.cipherKey&&(i=n.encrypt(i),i=JSON.stringify(i)),i||""}(e,{message:t.message,file:{name:t.fileName,id:t.fileId}});return"/v1/files/publish-file/".concat(r,"/").concat(i,"/0/").concat(C.encodeString(t.channel),"/0/").concat(C.encodeString(o))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n={};return t.ttl&&(n.ttl=t.ttl),void 0!==t.storeInHistory&&(n.store=t.storeInHistory?"1":"0"),t.meta&&"object"==typeof t.meta&&(n.meta=JSON.stringify(t.meta)),n},handleResponse:function(e,t){return{timetoken:t[2]}}},de=function(e){var t=function(e){var t=this,n=e.generateUploadUrl,o=e.publishFile,s=e.modules,a=s.PubNubFile,u=s.config,c=s.cryptography,l=s.networking;return function(e){var s=e.channel,p=e.file,h=e.message,f=e.cipherKey,d=e.meta,g=e.ttl,y=e.storeInHistory;return r(t,void 0,void 0,(function(){var e,t,r,b,v,m,_,O,P,S,w,T,k,N,C,E,A,M,R,j,U,x,D,I,G,K,B,H;return i(this,(function(i){switch(i.label){case 0:if(!s)throw new F("Validation failed, check status for details",L("channel can't be empty"));if(!p)throw new F("Validation failed, check status for details",L("file can't be empty"));return e=a.create(p),[4,n({channel:s,name:e.name})];case 1:return t=i.sent(),r=t.file_upload_request,b=r.url,v=r.form_fields,m=t.data,_=m.id,O=m.name,a.supportsEncryptFile&&(null!=f?f:u.cipherKey)?[4,c.encryptFile(null!=f?f:u.cipherKey,e,a)]:[3,3];case 2:e=i.sent(),i.label=3;case 3:P=v,e.mimeType&&(P=v.map((function(t){return"Content-Type"===t.key?{key:t.key,value:e.mimeType}:t}))),i.label=4;case 4:return i.trys.push([4,18,,20]),a.supportsFileUri&&p.uri?(T=(w=l).POSTFILE,k=[b,P],[4,e.toFileUri()]):[3,7];case 5:return[4,T.apply(w,k.concat([i.sent()]))];case 6:return S=i.sent(),[3,17];case 7:return a.supportsFile?(C=(N=l).POSTFILE,E=[b,P],[4,e.toFile()]):[3,10];case 8:return[4,C.apply(N,E.concat([i.sent()]))];case 9:return S=i.sent(),[3,17];case 10:return a.supportsBuffer?(M=(A=l).POSTFILE,R=[b,P],[4,e.toBuffer()]):[3,13];case 11:return[4,M.apply(A,R.concat([i.sent()]))];case 12:return S=i.sent(),[3,17];case 13:return a.supportsBlob?(U=(j=l).POSTFILE,x=[b,P],[4,e.toBlob()]):[3,16];case 14:return[4,U.apply(j,x.concat([i.sent()]))];case 15:return S=i.sent(),[3,17];case 16:throw new Error("Unsupported environment");case 17:return[3,20];case 18:return D=i.sent(),[4,(q=D.response,new Promise((function(e){var t="";q.on("data",(function(e){t+=e.toString("utf8")})),q.on("end",(function(){e(t)}))})))];case 19:throw I=i.sent(),G=/<Message>(.*)<\/Message>/gi.exec(I),new F(G?"Upload to bucket failed: ".concat(G[1]):"Upload to bucket failed.",D);case 20:if(204!==S.status)throw new F("Upload to bucket was unsuccessful",S);K=u.fileUploadPublishRetryLimit,B=!1,H={timetoken:"0"},i.label=21;case 21:return i.trys.push([21,23,,24]),[4,o({channel:s,message:h,fileId:_,fileName:O,meta:d,storeInHistory:y,ttl:g})];case 22:return H=i.sent(),B=!0,[3,24];case 23:return i.sent(),K-=1,[3,24];case 24:if(!B&&K>0)return[3,21];i.label=25;case 25:if(B)return[2,{timetoken:H.timetoken,id:_,name:O}];throw new F("Publish failed. You may want to execute that operation manually using pubnub.publishFile",{channel:s,id:_,name:O})}var q}))}))}}(e);return function(e,n){var r=t(e);return"function"==typeof n?(r.then((function(e){return n(null,e)})).catch((function(e){return n(e,null)})),r):r}},ge=function(e,t){var n=t.channel,r=t.id,i=t.name,o=e.config,s=e.networking;if(!n)throw new F("Validation failed, check status for details",L("channel can't be empty"));if(!r)throw new F("Validation failed, check status for details",L("file id can't be empty"));if(!i)throw new F("Validation failed, check status for details",L("file name can't be empty"));var a="/v1/files/".concat(o.subscribeKey,"/channels/").concat(C.encodeString(n),"/files/").concat(r,"/").concat(i),u={};u.uuid=o.getUUID(),u.pnsdk=H(o),o.getAuthKey()&&(u.auth=o.getAuthKey()),o.secretKey&&z(e,a,u,{},{getOperation:function(){return"PubNubGetFileUrlOperation"}});var c=Object.keys(u).map((function(e){return"".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(u[e]))})).join("&");return""!==c?"".concat(s.getStandardOrigin()).concat(a,"?").concat(c):"".concat(s.getStandardOrigin()).concat(a)},ye={getOperation:function(){return M.PNDownloadFileOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.name)?(null==t?void 0:t.id)?void 0:"id can't be empty":"name can't be empty":"channel can't be empty"},useGetFile:function(){return!0},getFileURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(C.encodeString(t.channel),"/files/").concat(t.id,"/").concat(t.name)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},ignoreBody:function(){return!0},forceBuffered:function(){return!0},prepareParams:function(){return{}},handleResponse:function(e,t,n){var o=e.PubNubFile,s=e.config,a=e.cryptography;return r(void 0,void 0,void 0,(function(){var e,r,u,c;return i(this,(function(i){switch(i.label){case 0:return e=t.response.body,o.supportsEncryptFile&&(null!==(r=n.cipherKey)&&void 0!==r?r:s.cipherKey)?[4,a.decrypt(null!==(u=n.cipherKey)&&void 0!==u?u:s.cipherKey,e)]:[3,2];case 1:e=i.sent(),i.label=2;case 2:return[2,o.create({data:e,name:null!==(c=t.response.name)&&void 0!==c?c:n.name,mimeType:t.response.type})]}}))}))}},be={getOperation:function(){return M.PNListFilesOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.id)?(null==t?void 0:t.name)?void 0:"file name can't be empty":"file id can't be empty":"channel can't be empty"},useDelete:function(){return!0},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(C.encodeString(t.channel),"/files/").concat(t.id,"/").concat(t.name)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(){return{}},handleResponse:function(e,t){return{status:t.status}}},ve={getOperation:function(){return M.PNGetAllUUIDMetadataOperation},validateParams:function(){},getURL:function(e){var t=e.config;return"/v2/objects/".concat(t.subscribeKey,"/uuids")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n,r,i,o,a,u,c,l,p,h={};return(null===(n=null==t?void 0:t.include)||void 0===n?void 0:n.customFields)&&(h.include="custom"),(null===(r=null==t?void 0:t.include)||void 0===r?void 0:r.totalCount)&&(h.count=null===(i=t.include)||void 0===i?void 0:i.totalCount),(null===(o=null==t?void 0:t.page)||void 0===o?void 0:o.next)&&(h.start=null===(a=t.page)||void 0===a?void 0:a.next),(null===(u=null==t?void 0:t.page)||void 0===u?void 0:u.prev)&&(h.end=null===(c=t.page)||void 0===c?void 0:c.prev),(null==t?void 0:t.filter)&&(h.filter=t.filter),h.limit=null!==(l=null==t?void 0:t.limit)&&void 0!==l?l:100,(null==t?void 0:t.sort)&&(h.sort=Object.entries(null!==(p=t.sort)&&void 0!==p?p:{}).map((function(e){var t=s(e,2),n=t[0],r=t[1];return"asc"===r||"desc"===r?"".concat(n,":").concat(r):n}))),h},handleResponse:function(e,t){return{status:t.status,data:t.data,totalCount:t.totalCount,next:t.next,prev:t.prev}}},me={getOperation:function(){return M.PNGetUUIDMetadataOperation},validateParams:function(){},getURL:function(e,t){var n,r=e.config;return"/v2/objects/".concat(r.subscribeKey,"/uuids/").concat(C.encodeString(null!==(n=null==t?void 0:t.uuid)&&void 0!==n?n:r.getUUID()))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n,r,i,o=e.config;return{uuid:null!==(n=null==t?void 0:t.uuid)&&void 0!==n?n:o.getUUID(),include:(null===(i=null===(r=null==t?void 0:t.include)||void 0===r?void 0:r.customFields)||void 0===i||i)&&"custom"}},handleResponse:function(e,t){return{status:t.status,data:t.data}}},_e={getOperation:function(){return M.PNSetUUIDMetadataOperation},validateParams:function(e,t){if(!(null==t?void 0:t.data))return"Data cannot be empty"},usePatch:function(){return!0},patchURL:function(e,t){var n,r=e.config;return"/v2/objects/".concat(r.subscribeKey,"/uuids/").concat(C.encodeString(null!==(n=t.uuid)&&void 0!==n?n:r.getUUID()))},patchPayload:function(e,t){return t.data},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n,r,i,o=e.config;return{uuid:null!==(n=null==t?void 0:t.uuid)&&void 0!==n?n:o.getUUID(),include:(null===(i=null===(r=null==t?void 0:t.include)||void 0===r?void 0:r.customFields)||void 0===i||i)&&"custom"}},handleResponse:function(e,t){return{status:t.status,data:t.data}}},Oe={getOperation:function(){return M.PNRemoveUUIDMetadataOperation},validateParams:function(){},getURL:function(e,t){var n,r=e.config;return"/v2/objects/".concat(r.subscribeKey,"/uuids/").concat(C.encodeString(null!==(n=null==t?void 0:t.uuid)&&void 0!==n?n:r.getUUID()))},useDelete:function(){return!0},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n,r=e.config;return{uuid:null!==(n=null==t?void 0:t.uuid)&&void 0!==n?n:r.getUUID()}},handleResponse:function(e,t){return{status:t.status,data:t.data}}},Pe={getOperation:function(){return M.PNGetAllChannelMetadataOperation},validateParams:function(){},getURL:function(e){var t=e.config;return"/v2/objects/".concat(t.subscribeKey,"/channels")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n,r,i,o,a,u,c,l,p,h={};return(null===(n=null==t?void 0:t.include)||void 0===n?void 0:n.customFields)&&(h.include="custom"),(null===(r=null==t?void 0:t.include)||void 0===r?void 0:r.totalCount)&&(h.count=null===(i=t.include)||void 0===i?void 0:i.totalCount),(null===(o=null==t?void 0:t.page)||void 0===o?void 0:o.next)&&(h.start=null===(a=t.page)||void 0===a?void 0:a.next),(null===(u=null==t?void 0:t.page)||void 0===u?void 0:u.prev)&&(h.end=null===(c=t.page)||void 0===c?void 0:c.prev),(null==t?void 0:t.filter)&&(h.filter=t.filter),h.limit=null!==(l=null==t?void 0:t.limit)&&void 0!==l?l:100,(null==t?void 0:t.sort)&&(h.sort=Object.entries(null!==(p=t.sort)&&void 0!==p?p:{}).map((function(e){var t=s(e,2),n=t[0],r=t[1];return"asc"===r||"desc"===r?"".concat(n,":").concat(r):n}))),h},handleResponse:function(e,t){return{status:t.status,data:t.data,totalCount:t.totalCount,prev:t.prev,next:t.next}}},Se={getOperation:function(){return M.PNGetChannelMetadataOperation},validateParams:function(e,t){if(!(null==t?void 0:t.channel))return"Channel cannot be empty"},getURL:function(e,t){var n=e.config;return"/v2/objects/".concat(n.subscribeKey,"/channels/").concat(C.encodeString(t.channel))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n,r;return{include:(null===(r=null===(n=null==t?void 0:t.include)||void 0===n?void 0:n.customFields)||void 0===r||r)&&"custom"}},handleResponse:function(e,t){return{status:t.status,data:t.data}}},we={getOperation:function(){return M.PNSetChannelMetadataOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.data)?void 0:"Data cannot be empty":"Channel cannot be empty"},usePatch:function(){return!0},patchURL:function(e,t){var n=e.config;return"/v2/objects/".concat(n.subscribeKey,"/channels/").concat(C.encodeString(t.channel))},patchPayload:function(e,t){return t.data},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n,r;return{include:(null===(r=null===(n=null==t?void 0:t.include)||void 0===n?void 0:n.customFields)||void 0===r||r)&&"custom"}},handleResponse:function(e,t){return{status:t.status,data:t.data}}},Te={getOperation:function(){return M.PNRemoveChannelMetadataOperation},validateParams:function(e,t){if(!(null==t?void 0:t.channel))return"Channel cannot be empty"},getURL:function(e,t){var n=e.config;return"/v2/objects/".concat(n.subscribeKey,"/channels/").concat(C.encodeString(t.channel))},useDelete:function(){return!0},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(){return{}},handleResponse:function(e,t){return{status:t.status,data:t.data}}},ke={getOperation:function(){return M.PNGetMembersOperation},validateParams:function(e,t){if(!(null==t?void 0:t.channel))return"UUID cannot be empty"},getURL:function(e,t){var n=e.config;return"/v2/objects/".concat(n.subscribeKey,"/channels/").concat(C.encodeString(t.channel),"/uuids")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n,r,i,o,a,u,c,l,p,h,f,d,g={};return(null==t?void 0:t.include)&&(g.include=[],(null===(n=t.include)||void 0===n?void 0:n.customFields)&&g.include.push("custom"),(null===(r=t.include)||void 0===r?void 0:r.customUUIDFields)&&g.include.push("uuid.custom"),(null===(o=null===(i=t.include)||void 0===i?void 0:i.UUIDFields)||void 0===o||o)&&g.include.push("uuid"),g.include=g.include.join(",")),(null===(a=null==t?void 0:t.include)||void 0===a?void 0:a.totalCount)&&(g.count=null===(u=t.include)||void 0===u?void 0:u.totalCount),(null===(c=null==t?void 0:t.page)||void 0===c?void 0:c.next)&&(g.start=null===(l=t.page)||void 0===l?void 0:l.next),(null===(p=null==t?void 0:t.page)||void 0===p?void 0:p.prev)&&(g.end=null===(h=t.page)||void 0===h?void 0:h.prev),(null==t?void 0:t.filter)&&(g.filter=t.filter),g.limit=null!==(f=null==t?void 0:t.limit)&&void 0!==f?f:100,(null==t?void 0:t.sort)&&(g.sort=Object.entries(null!==(d=t.sort)&&void 0!==d?d:{}).map((function(e){var t=s(e,2),n=t[0],r=t[1];return"asc"===r||"desc"===r?"".concat(n,":").concat(r):n}))),g},handleResponse:function(e,t){return{status:t.status,data:t.data,totalCount:t.totalCount,prev:t.prev,next:t.next}}},Ne={getOperation:function(){return M.PNSetMembersOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.uuids)&&0!==(null==t?void 0:t.uuids.length)?void 0:"UUIDs cannot be empty":"Channel cannot be empty"},usePatch:function(){return!0},patchURL:function(e,t){var n=e.config;return"/v2/objects/".concat(n.subscribeKey,"/channels/").concat(C.encodeString(t.channel),"/uuids")},patchPayload:function(e,t){var n;return(n={set:[],remove:[]})[t.type]=t.uuids.map((function(e){return"string"==typeof e?{uuid:{id:e}}:{uuid:{id:e.id},custom:e.custom}})),n},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n,r,i,o,a,u,c,l,p,h={};return(null==t?void 0:t.include)&&(h.include=[],(null===(n=t.include)||void 0===n?void 0:n.customFields)&&h.include.push("custom"),(null===(r=t.include)||void 0===r?void 0:r.customUUIDFields)&&h.include.push("uuid.custom"),(null===(i=t.include)||void 0===i?void 0:i.UUIDFields)&&h.include.push("uuid"),h.include=h.include.join(",")),(null===(o=null==t?void 0:t.include)||void 0===o?void 0:o.totalCount)&&(h.count=!0),(null===(a=null==t?void 0:t.page)||void 0===a?void 0:a.next)&&(h.start=null===(u=t.page)||void 0===u?void 0:u.next),(null===(c=null==t?void 0:t.page)||void 0===c?void 0:c.prev)&&(h.end=null===(l=t.page)||void 0===l?void 0:l.prev),(null==t?void 0:t.filter)&&(h.filter=t.filter),(null==t?void 0:t.limit)&&(h.limit=t.limit),(null==t?void 0:t.sort)&&(h.sort=Object.entries(null!==(p=t.sort)&&void 0!==p?p:{}).map((function(e){var t=s(e,2),n=t[0],r=t[1];return"asc"===r||"desc"===r?"".concat(n,":").concat(r):n}))),h},handleResponse:function(e,t){return{status:t.status,data:t.data,totalCount:t.totalCount,prev:t.prev,next:t.next}}},Ce={getOperation:function(){return M.PNGetMembershipsOperation},validateParams:function(){},getURL:function(e,t){var n,r=e.config;return"/v2/objects/".concat(r.subscribeKey,"/uuids/").concat(C.encodeString(null!==(n=null==t?void 0:t.uuid)&&void 0!==n?n:r.getUUID()),"/channels")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n,r,i,o,a,u,c,l,p,h,f,d={};return(null==t?void 0:t.include)&&(d.include=[],(null===(n=t.include)||void 0===n?void 0:n.customFields)&&d.include.push("custom"),(null===(r=t.include)||void 0===r?void 0:r.customChannelFields)&&d.include.push("channel.custom"),(null===(i=t.include)||void 0===i?void 0:i.channelFields)&&d.include.push("channel"),d.include=d.include.join(",")),(null===(o=null==t?void 0:t.include)||void 0===o?void 0:o.totalCount)&&(d.count=null===(a=t.include)||void 0===a?void 0:a.totalCount),(null===(u=null==t?void 0:t.page)||void 0===u?void 0:u.next)&&(d.start=null===(c=t.page)||void 0===c?void 0:c.next),(null===(l=null==t?void 0:t.page)||void 0===l?void 0:l.prev)&&(d.end=null===(p=t.page)||void 0===p?void 0:p.prev),(null==t?void 0:t.filter)&&(d.filter=t.filter),d.limit=null!==(h=null==t?void 0:t.limit)&&void 0!==h?h:100,(null==t?void 0:t.sort)&&(d.sort=Object.entries(null!==(f=t.sort)&&void 0!==f?f:{}).map((function(e){var t=s(e,2),n=t[0],r=t[1];return"asc"===r||"desc"===r?"".concat(n,":").concat(r):n}))),d},handleResponse:function(e,t){return{status:t.status,data:t.data,totalCount:t.totalCount,prev:t.prev,next:t.next}}},Ee={getOperation:function(){return M.PNSetMembershipsOperation},validateParams:function(e,t){if(!(null==t?void 0:t.channels)||0===(null==t?void 0:t.channels.length))return"Channels cannot be empty"},usePatch:function(){return!0},patchURL:function(e,t){var n,r=e.config;return"/v2/objects/".concat(r.subscribeKey,"/uuids/").concat(C.encodeString(null!==(n=t.uuid)&&void 0!==n?n:r.getUUID()),"/channels")},patchPayload:function(e,t){var n;return(n={set:[],remove:[]})[t.type]=t.channels.map((function(e){return"string"==typeof e?{channel:{id:e}}:{channel:{id:e.id},custom:e.custom}})),n},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n,r,i,o,a,u,c,l,p,h={};return(null==t?void 0:t.include)&&(h.include=[],(null===(n=t.include)||void 0===n?void 0:n.customFields)&&h.include.push("custom"),(null===(r=t.include)||void 0===r?void 0:r.customChannelFields)&&h.include.push("channel.custom"),(null===(i=t.include)||void 0===i?void 0:i.channelFields)&&h.include.push("channel"),h.include=h.include.join(",")),(null===(o=null==t?void 0:t.include)||void 0===o?void 0:o.totalCount)&&(h.count=!0),(null===(a=null==t?void 0:t.page)||void 0===a?void 0:a.next)&&(h.start=null===(u=t.page)||void 0===u?void 0:u.next),(null===(c=null==t?void 0:t.page)||void 0===c?void 0:c.prev)&&(h.end=null===(l=t.page)||void 0===l?void 0:l.prev),(null==t?void 0:t.filter)&&(h.filter=t.filter),(null==t?void 0:t.limit)&&(h.limit=t.limit),(null==t?void 0:t.sort)&&(h.sort=Object.entries(null!==(p=t.sort)&&void 0!==p?p:{}).map((function(e){var t=s(e,2),n=t[0],r=t[1];return"asc"===r||"desc"===r?"".concat(n,":").concat(r):n}))),h},handleResponse:function(e,t){return{status:t.status,data:t.data,totalCount:t.totalCount,prev:t.prev,next:t.next}}};var Ae=Object.freeze({__proto__:null,getOperation:function(){return M.PNAccessManagerAudit},validateParams:function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},getURL:function(e){var t=e.config;return"/v2/auth/audit/sub-key/".concat(t.subscribeKey)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!1},prepareParams:function(e,t){var n=t.channel,r=t.channelGroup,i=t.authKeys,o=void 0===i?[]:i,s={};return n&&(s.channel=n),r&&(s["channel-group"]=r),o.length>0&&(s.auth=o.join(",")),s},handleResponse:function(e,t){return t.payload}});var Me=Object.freeze({__proto__:null,getOperation:function(){return M.PNAccessManagerGrant},validateParams:function(e,t){var n=e.config;return n.subscribeKey?n.publishKey?n.secretKey?null==t.uuids||t.authKeys?null==t.uuids||null==t.channels&&null==t.channelGroups?void 0:"Both channel/channelgroup and uuid cannot be used in the same request":"authKeys are required for grant request on uuids":"Missing Secret Key":"Missing Publish Key":"Missing Subscribe Key"},getURL:function(e){var t=e.config;return"/v2/auth/grant/sub-key/".concat(t.subscribeKey)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!1},prepareParams:function(e,t){var n=t.channels,r=void 0===n?[]:n,i=t.channelGroups,o=void 0===i?[]:i,s=t.uuids,a=void 0===s?[]:s,u=t.ttl,c=t.read,l=void 0!==c&&c,p=t.write,h=void 0!==p&&p,f=t.manage,d=void 0!==f&&f,g=t.get,y=void 0!==g&&g,b=t.join,v=void 0!==b&&b,m=t.update,_=void 0!==m&&m,O=t.authKeys,P=void 0===O?[]:O,S=t.delete,w={};return w.r=l?"1":"0",w.w=h?"1":"0",w.m=d?"1":"0",w.d=S?"1":"0",w.g=y?"1":"0",w.j=v?"1":"0",w.u=_?"1":"0",r.length>0&&(w.channel=r.join(",")),o.length>0&&(w["channel-group"]=o.join(",")),P.length>0&&(w.auth=P.join(",")),a.length>0&&(w["target-uuid"]=a.join(",")),(u||0===u)&&(w.ttl=u),w},handleResponse:function(){return{}}});function Re(e){var t=0;return e.join&&(t|=128),e.update&&(t|=64),e.get&&(t|=32),e.delete&&(t|=8),e.manage&&(t|=4),e.write&&(t|=2),e.read&&(t|=1),t}var je=Object.freeze({__proto__:null,getOperation:function(){return M.PNAccessManagerGrantToken},extractPermissions:Re,validateParams:function(e,t){var n=e.config;return n.subscribeKey?n.publishKey?n.secretKey?t.resources||t.patterns?(!t.resources||t.resources.uuids&&0!==Object.keys(t.resources.uuids).length||t.resources.channels&&0!==Object.keys(t.resources.channels).length||t.resources.groups&&0!==Object.keys(t.resources.groups).length)&&(!t.patterns||t.patterns.uuids&&0!==Object.keys(t.patterns.uuids).length||t.patterns.channels&&0!==Object.keys(t.patterns.channels).length||t.patterns.groups&&0!==Object.keys(t.patterns.groups).length)?void 0:"Missing values for either Resources or Patterns.":"Missing either Resources or Patterns.":"Missing Secret Key":"Missing Publish Key":"Missing Subscribe Key"},postURL:function(e){var t=e.config;return"/v3/pam/".concat(t.subscribeKey,"/grant")},usePost:function(){return!0},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!1},prepareParams:function(){return{}},postPayload:function(e,t){return function(e,t){var n=t.ttl,r=t.resources,i=t.patterns,o=t.meta,s=t.authorized_uuid,a={ttl:0,permissions:{resources:{channels:{},groups:{},uuids:{},users:{},spaces:{}},patterns:{channels:{},groups:{},uuids:{},users:{},spaces:{}},meta:{}}};if(r){var u=r.uuids,c=r.channels,l=r.groups;u&&Object.keys(u).forEach((function(e){a.permissions.resources.uuids[e]=Re(u[e])})),c&&Object.keys(c).forEach((function(e){a.permissions.resources.channels[e]=Re(c[e])})),l&&Object.keys(l).forEach((function(e){a.permissions.resources.groups[e]=Re(l[e])}))}if(i){var p=i.uuids,h=i.channels,f=i.groups;p&&Object.keys(p).forEach((function(e){a.permissions.patterns.uuids[e]=Re(p[e])})),h&&Object.keys(h).forEach((function(e){a.permissions.patterns.channels[e]=Re(h[e])})),f&&Object.keys(f).forEach((function(e){a.permissions.patterns.groups[e]=Re(f[e])}))}return(n||0===n)&&(a.ttl=n),o&&(a.permissions.meta=o),s&&(a.permissions.uuid="".concat(s)),a}(0,t)},handleResponse:function(e,t){return t.data.token}}),Ue={getOperation:function(){return M.PNAccessManagerRevokeToken},validateParams:function(e,t){return e.config.secretKey?t?void 0:"token can't be empty":"Missing Secret Key"},getURL:function(e,t){var n=e.config;return"/v3/pam/".concat(n.subscribeKey,"/grant/").concat(C.encodeString(t))},useDelete:function(){return!0},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!1},prepareParams:function(e){return{uuid:e.config.getUUID()}},handleResponse:function(e,t){return{status:t.status,data:t.data}}};function xe(e,t){var n=e.crypto,r=e.config,i=JSON.stringify(t);return r.cipherKey&&(i=n.encrypt(i),i=JSON.stringify(i)),i}var De=Object.freeze({__proto__:null,getOperation:function(){return M.PNPublishOperation},validateParams:function(e,t){var n=e.config,r=t.message;return t.channel?r?n.subscribeKey?void 0:"Missing Subscribe Key":"Missing Message":"Missing Channel"},usePost:function(e,t){var n=t.sendByPost;return void 0!==n&&n},getURL:function(e,t){var n=e.config,r=t.channel,i=xe(e,t.message);return"/publish/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(C.encodeString(r),"/0/").concat(C.encodeString(i))},postURL:function(e,t){var n=e.config,r=t.channel;return"/publish/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(C.encodeString(r),"/0")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},postPayload:function(e,t){return xe(e,t.message)},prepareParams:function(e,t){var n=t.meta,r=t.replicate,i=void 0===r||r,o=t.storeInHistory,s=t.ttl,a={};return null!=o&&(a.store=o?"1":"0"),s&&(a.ttl=s),!1===i&&(a.norep="true"),n&&"object"==typeof n&&(a.meta=JSON.stringify(n)),a},handleResponse:function(e,t){return{timetoken:t[2]}}});var Ie=Object.freeze({__proto__:null,getOperation:function(){return M.PNSignalOperation},validateParams:function(e,t){var n=e.config,r=t.message;return t.channel?r?n.subscribeKey?void 0:"Missing Subscribe Key":"Missing Message":"Missing Channel"},getURL:function(e,t){var n,r=e.config,i=t.channel,o=t.message,s=(n=o,JSON.stringify(n));return"/signal/".concat(r.publishKey,"/").concat(r.subscribeKey,"/0/").concat(C.encodeString(i),"/0/").concat(C.encodeString(s))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(){return{}},handleResponse:function(e,t){return{timetoken:t[2]}}});function Ge(e,t){var n=e.config,r=e.crypto;if(!n.cipherKey)return t;try{return r.decrypt(t)}catch(e){return t}}var Ke=Object.freeze({__proto__:null,getOperation:function(){return M.PNHistoryOperation},validateParams:function(e,t){var n=t.channel,r=e.config;return n?r.subscribeKey?void 0:"Missing Subscribe Key":"Missing channel"},getURL:function(e,t){var n=t.channel,r=e.config;return"/v2/history/sub-key/".concat(r.subscribeKey,"/channel/").concat(C.encodeString(n))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n=t.start,r=t.end,i=t.reverse,o=t.count,s=void 0===o?100:o,a=t.stringifiedTimeToken,u=void 0!==a&&a,c=t.includeMeta,l=void 0!==c&&c,p={include_token:"true"};return p.count=s,n&&(p.start=n),r&&(p.end=r),u&&(p.string_message_token="true"),null!=i&&(p.reverse=i.toString()),l&&(p.include_meta="true"),p},handleResponse:function(e,t){var n={messages:[],startTimeToken:t[1],endTimeToken:t[2]};return Array.isArray(t[0])&&t[0].forEach((function(t){var r={timetoken:t.timetoken,entry:Ge(e,t.message)};t.meta&&(r.meta=t.meta),n.messages.push(r)})),n}});var Fe=Object.freeze({__proto__:null,getOperation:function(){return M.PNDeleteMessagesOperation},validateParams:function(e,t){var n=t.channel,r=e.config;return n?r.subscribeKey?void 0:"Missing Subscribe Key":"Missing channel"},useDelete:function(){return!0},getURL:function(e,t){var n=t.channel,r=e.config;return"/v3/history/sub-key/".concat(r.subscribeKey,"/channel/").concat(C.encodeString(n))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n=t.start,r=t.end,i={};return n&&(i.start=n),r&&(i.end=r),i},handleResponse:function(e,t){return t.payload}});var Le=Object.freeze({__proto__:null,getOperation:function(){return M.PNMessageCounts},validateParams:function(e,t){var n=t.channels,r=t.timetoken,i=t.channelTimetokens,o=e.config;return n?r&&i?"timetoken and channelTimetokens are incompatible together":r&&i&&i.length>1&&n.length!==i.length?"Length of channelTimetokens and channels do not match":o.subscribeKey?void 0:"Missing Subscribe Key":"Missing channel"},getURL:function(e,t){var n=t.channels,r=e.config,i=n.join(",");return"/v3/history/sub-key/".concat(r.subscribeKey,"/message-counts/").concat(C.encodeString(i))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n=t.timetoken,r=t.channelTimetokens,i={};if(r&&1===r.length){var o=s(r,1)[0];i.timetoken=o}else r?i.channelsTimetoken=r.join(","):n&&(i.timetoken=n);return i},handleResponse:function(e,t){return{channels:t.channels}}});var Be=Object.freeze({__proto__:null,getOperation:function(){return M.PNFetchMessagesOperation},validateParams:function(e,t){var n=t.channels,r=t.includeMessageActions,i=void 0!==r&&r,o=e.config;if(!n||0===n.length)return"Missing channels";if(!o.subscribeKey)return"Missing Subscribe Key";if(i&&n.length>1)throw new TypeError("History can return actions data for a single channel only. Either pass a single channel or disable the includeMessageActions flag.")},getURL:function(e,t){var n=t.channels,r=void 0===n?[]:n,i=t.includeMessageActions,o=void 0!==i&&i,s=e.config,a=o?"history-with-actions":"history",u=r.length>0?r.join(","):",";return"/v3/".concat(a,"/sub-key/").concat(s.subscribeKey,"/channel/").concat(C.encodeString(u))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n=t.channels,r=t.start,i=t.end,o=t.includeMessageActions,s=t.count,a=t.stringifiedTimeToken,u=void 0!==a&&a,c=t.includeMeta,l=void 0!==c&&c,p=t.includeUuid,h=t.includeUUID,f=void 0===h||h,d=t.includeMessageType,g=void 0===d||d,y={};return y.max=s||(n.length>1||!0===o?25:100),r&&(y.start=r),i&&(y.end=i),u&&(y.string_message_token="true"),l&&(y.include_meta="true"),f&&!1!==p&&(y.include_uuid="true"),g&&(y.include_message_type="true"),y},handleResponse:function(e,t){var n={channels:{}};return Object.keys(t.channels||{}).forEach((function(r){n.channels[r]=[],(t.channels[r]||[]).forEach((function(t){var i={};i.channel=r,i.timetoken=t.timetoken,i.message=function(e,t){var n=e.config,r=e.crypto;if(!n.cipherKey)return t;try{return r.decrypt(t)}catch(e){return t}}(e,t.message),i.messageType=t.message_type,i.uuid=t.uuid,t.actions&&(i.actions=t.actions,i.data=t.actions),t.meta&&(i.meta=t.meta),n.channels[r].push(i)}))})),t.more&&(n.more=t.more),n}});var He=Object.freeze({__proto__:null,getOperation:function(){return M.PNTimeOperation},getURL:function(){return"/time/0"},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},prepareParams:function(){return{}},isAuthSupported:function(){return!1},handleResponse:function(e,t){return{timetoken:t[0]}},validateParams:function(){}});var qe=Object.freeze({__proto__:null,getOperation:function(){return M.PNSubscribeOperation},validateParams:function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},getURL:function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=i.length>0?i.join(","):",";return"/v2/subscribe/".concat(n.subscribeKey,"/").concat(C.encodeString(o),"/0")},getRequestTimeout:function(e){return e.config.getSubscribeTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n=e.config,r=t.state,i=t.channelGroups,o=void 0===i?[]:i,s=t.timetoken,a=t.filterExpression,u=t.region,c={heartbeat:n.getPresenceTimeout()};return o.length>0&&(c["channel-group"]=o.join(",")),a&&a.length>0&&(c["filter-expr"]=a),Object.keys(r).length&&(c.state=JSON.stringify(r)),s&&(c.tt=s),u&&(c.tr=u),c},handleResponse:function(e,t){var n=[];t.m.forEach((function(e){var t={publishTimetoken:e.p.t,region:e.p.r},r={shard:parseInt(e.a,10),subscriptionMatch:e.b,channel:e.c,messageType:e.e,payload:e.d,flags:e.f,issuingClientId:e.i,subscribeKey:e.k,originationTimetoken:e.o,userMetadata:e.u,publishMetaData:t};n.push(r)}));var r={timetoken:t.t.t,region:t.t.r};return{messages:n,metadata:r}}}),ze={getOperation:function(){return M.PNHandshakeOperation},validateParams:function(e,t){if(!(null==t?void 0:t.channels)&&!(null==t?void 0:t.channelGroups))return"channels and channleGroups both should not be empty"},getURL:function(e,t){var n=e.config,r=t.channels?t.channels.join(","):",";return"/v2/subscribe/".concat(n.subscribeKey,"/").concat(C.encodeString(r),"/0")},getRequestTimeout:function(e){return e.config.getSubscribeTimeout()},isAuthSupported:function(){return!0},prepareParams:function(e,t){var n={};return t.channelGroups&&t.channelGroups.length>0&&(n["channel-group"]=t.channelGroups.join(",")),n.tt=0,n},handleResponse:function(e,t){return{region:t.t.r,timetoken:t.t.t}}},Ve={getOperation:function(){return M.PNReceiveMessagesOperation},validateParams:function(e,t){return(null==t?void 0:t.channels)||(null==t?void 0:t.channelGroups)?(null==t?void 0:t.timetoken)?(null==t?void 0:t.region)?void 0:"region can not be empty":"timetoken can not be empty":"channels and channleGroups both should not be empty"},getURL:function(e,t){var n=e.config,r=t.channels?t.channels.join(","):",";return"/v2/subscribe/".concat(n.subscribeKey,"/").concat(C.encodeString(r),"/0")},getRequestTimeout:function(e){return e.config.getSubscribeTimeout()},isAuthSupported:function(){return!0},getAbortSignal:function(e,t){return t.abortSignal},prepareParams:function(e,t){var n={};return t.channelGroups&&t.channelGroups.length>0&&(n["channel-group"]=t.channelGroups.join(",")),n.tt=t.timetoken,n.tr=t.region,n},handleResponse:function(e,t){var n=[];return t.m.forEach((function(e){var t={shard:parseInt(e.a,10),subscriptionMatch:e.b,channel:e.c,messageType:e.e,payload:e.d,flags:e.f,issuingClientId:e.i,subscribeKey:e.k,originationTimetoken:e.o,publishMetaData:{timetoken:e.p.t,region:e.p.r}};n.push(t)})),{messages:n,metadata:{region:t.t.r,timetoken:t.t.t}}}},Je=function(){function e(e){void 0===e&&(e=!1),this.sync=e,this.listeners=new Set}return e.prototype.subscribe=function(e){var t=this;return this.listeners.add(e),function(){t.listeners.delete(e)}},e.prototype.notify=function(e){var t=this,n=function(){t.listeners.forEach((function(t){t(e)}))};this.sync?n():setTimeout(n,0)},e}(),We=function(){function e(e){this.label=e,this.transitionMap=new Map,this.enterEffects=[],this.exitEffects=[]}return e.prototype.transition=function(e,t){var n;if(this.transitionMap.has(t.type))return null===(n=this.transitionMap.get(t.type))||void 0===n?void 0:n(e,t)},e.prototype.on=function(e,t){return this.transitionMap.set(e,t),this},e.prototype.with=function(e,t){return[this,e,null!=t?t:[]]},e.prototype.onEnter=function(e){return this.enterEffects.push(e),this},e.prototype.onExit=function(e){return this.exitEffects.push(e),this},e}(),Xe=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n.prototype.describe=function(e){return new We(e)},n.prototype.start=function(e,t){this.currentState=e,this.currentContext=t,this.notify({type:"engineStarted",state:e,context:t})},n.prototype.transition=function(e){var t,n,r,i,a,u;if(!this.currentState)throw new Error("Start the engine first");this.notify({type:"eventReceived",event:e});var c=this.currentState.transition(this.currentContext,e);if(c){var l=s(c,3),p=l[0],h=l[1],f=l[2];try{for(var d=o(this.currentState.exitEffects),g=d.next();!g.done;g=d.next()){var y=g.value;this.notify({type:"invocationDispatched",invocation:y(this.currentContext)})}}catch(e){t={error:e}}finally{try{g&&!g.done&&(n=d.return)&&n.call(d)}finally{if(t)throw t.error}}var b=this.currentState;this.currentState=p;var v=this.currentContext;this.currentContext=h,this.notify({type:"transitionDone",fromState:b,fromContext:v,toState:p,toContext:h,event:e});try{for(var m=o(f),_=m.next();!_.done;_=m.next()){y=_.value;this.notify({type:"invocationDispatched",invocation:y})}}catch(e){r={error:e}}finally{try{_&&!_.done&&(i=m.return)&&i.call(m)}finally{if(r)throw r.error}}try{for(var O=o(this.currentState.enterEffects),P=O.next();!P.done;P=O.next()){y=P.value;this.notify({type:"invocationDispatched",invocation:y(this.currentContext)})}}catch(e){a={error:e}}finally{try{P&&!P.done&&(u=O.return)&&u.call(O)}finally{if(a)throw a.error}}}},n}(Je),$e=function(){function e(e){this.dependencies=e,this.instances=new Map,this.handlers=new Map}return e.prototype.on=function(e,t){this.handlers.set(e,t)},e.prototype.dispatch=function(e){if("CANCEL"!==e.type){var t=this.handlers.get(e.type);if(!t)throw new Error("Unhandled invocation '".concat(e.type,"'"));var n=t(e.payload,this.dependencies);e.managed&&this.instances.set(e.type,n),n.start()}else if(this.instances.has(e.payload)){var r=this.instances.get(e.payload);null==r||r.cancel(),this.instances.delete(e.payload)}},e}();function Qe(e,t){var n=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return{type:e,payload:null==t?void 0:t.apply(void 0,a([],s(n),!1))}};return n.type=e,n}function Ye(e,t){var n=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return{type:e,payload:t.apply(void 0,a([],s(n),!1)),managed:!0}};return n.type=e,n.cancel={type:"CANCEL",payload:e,managed:!1},n}var Ze,et,tt,nt=function(e){function n(){var t=this.constructor,n=e.call(this,"The operation was aborted.")||this;return n.name="AbortError",Object.setPrototypeOf(n,t.prototype),n}return t(n,e),n}(Error),rt=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t._aborted=!1,t}return t(n,e),Object.defineProperty(n.prototype,"aborted",{get:function(){return this._aborted},enumerable:!1,configurable:!0}),n.prototype.throwIfAborted=function(){if(this._aborted)throw new nt},n.prototype.abort=function(){this._aborted=!0,this.notify(new nt)},n}(Je),it=function(e){function n(t,n,r){var i=e.call(this,t,n)||this;return i.asyncFunction=r,i.abortSignal=new rt,i}return t(n,e),n.prototype.start=function(){this.asyncFunction(this.payload,this.abortSignal,this.dependencies)},n.prototype.cancel=function(){this.abortSignal.abort()},n}((function(e,t){this.payload=e,this.dependencies=t})),ot=function(e){return function(t,n){return new it(t,n,e)}},st=Ye("HANDSHAKE",(function(e,t){return{channels:e,groups:t}})),at=Ye("RECEIVE_EVENTS",(function(e,t,n){return{channels:e,groups:t,cursor:n}})),ut=(et=function(e){return e},tt=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return{type:Ze,payload:et.apply(void 0,a([],s(e),!1)),managed:!1}},tt.type=Ze="EMIT_EVENTS",tt),ct=Ye("RECONNECT",(function(e){return e})),lt=Ye("HANDSHAKE_RECONNECT",(function(e){return e})),pt=Qe("SUBSCRIPTION_CHANGE",(function(e,t){return{channels:e,groups:t}})),ht=Qe("DISCONNECT",(function(){return{}})),ft=Qe("RECONNECT",(function(){return{}}));Qe("RESTORE",(function(e,t,n,r){return{channels:e,groups:t,timetoken:n,region:r}}));var dt=Qe("HANDSHAKING_SUCCESS",(function(e){return e})),gt=Qe("HANDSHAKING_FAILURE",(function(e){return e})),yt=Qe("HANDSHAKING_RECONNECTING_SUCCESS",(function(e){return{cursor:e}})),bt=Qe("HANDSHAKING_RECONNECTING_FAILURE",(function(e){return e})),vt=Qe("HANDSHAKING_RECONNECTING_GIVEUP",(function(){return{}})),mt=Qe("HANDSHAKING_RECONNECTING_RETRY",(function(){return{}})),_t=Qe("RECEIVING_SUCCESS",(function(e,t){return{cursor:e,events:t}})),Ot=Qe("RECEIVING_FAILURE",(function(e){return e})),Pt=Qe("RECONNECTING_SUCCESS",(function(e,t){return{cursor:e,events:t}})),St=Qe("RECONNECTING_FAILURE",(function(e){return e})),wt=Qe("RECONNECTING_GIVEUP",(function(){return{}})),Tt=Qe("RECONNECTING_RETRY",(function(){return{}})),kt=function(e){function n(t,n){var o=e.call(this,n)||this;return o.on(st.type,ot((function(e,n,s){var a=s.handshake;return r(o,void 0,void 0,(function(){var r,o;return i(this,(function(i){switch(i.label){case 0:n.throwIfAborted(),i.label=1;case 1:return i.trys.push([1,3,,4]),[4,a({abortSignal:n,channels:e.channels,channelGroups:e.groups})];case 2:return r=i.sent(),t.transition(dt(r)),[3,4];case 3:return(o=i.sent())instanceof Error&&"Aborted"===o.message?[2]:o instanceof F?[2,t.transition(gt(o))]:[3,4];case 4:return[2]}}))}))}))),o.on(at.type,ot((function(e,n,s){var a=s.receiveEvents;return r(o,void 0,void 0,(function(){var r,o;return i(this,(function(i){switch(i.label){case 0:n.throwIfAborted(),i.label=1;case 1:return i.trys.push([1,3,,4]),[4,a({abortSignal:n,channels:e.channels,channelGroups:e.groups,timetoken:e.cursor.timetoken,region:e.cursor.region})];case 2:return r=i.sent(),t.transition(_t(r.metadata,r.messages)),[3,4];case 3:return(o=i.sent())instanceof Error&&"Aborted"===o.message?[2]:o instanceof F?[2,t.transition(Ot(o))]:[3,4];case 4:return[2]}}))}))}))),o.on(ut.type,ot((function(e,t,n){return n.receiveEvents,r(o,void 0,void 0,(function(){return i(this,(function(t){return e.length>0&&console.log(e),[2]}))}))}))),o.on(ct.type,ot((function(e,n,s){var a=s.receiveEvents,u=s.shouldRetry,c=s.getRetryDelay,l=s.delay;return r(o,void 0,void 0,(function(){var r,o;return i(this,(function(i){switch(i.label){case 0:return u(e.reason,e.attempts)?(n.throwIfAborted(),[4,l(c(e.attempts))]):[2,t.transition(wt())];case 1:i.sent(),n.throwIfAborted(),i.label=2;case 2:return i.trys.push([2,4,,5]),[4,a({abortSignal:n,channels:e.channels,channelGroups:e.groups,timetoken:e.cursor.timetoken,region:e.cursor.region})];case 3:return r=i.sent(),[2,t.transition(Pt(r.metadata,r.messages))];case 4:return(o=i.sent())instanceof Error&&"Aborted"===o.message?[2]:o instanceof F?[2,t.transition(St(o))]:[3,5];case 5:return[2]}}))}))}))),o.on(lt.type,ot((function(e,n,s){var a=s.handshake,u=s.shouldRetry,c=s.getRetryDelay,l=s.delay;return r(o,void 0,void 0,(function(){var r,o;return i(this,(function(i){switch(i.label){case 0:return u(e.reason,e.attempts)?(n.throwIfAborted(),[4,l(c(e.attempts))]):[2,t.transition(vt())];case 1:i.sent(),n.throwIfAborted(),i.label=2;case 2:return i.trys.push([2,4,,5]),[4,a({abortSignal:n,channels:e.channels,channelGroups:e.groups})];case 3:return r=i.sent(),[2,t.transition(yt(r.metadata))];case 4:return(o=i.sent())instanceof Error&&"Aborted"===o.message?[2]:o instanceof F?[2,t.transition(bt(o))]:[3,5];case 5:return[2]}}))}))}))),o}return t(n,e),n}($e),Nt=new We("STOPPED");Nt.on(pt.type,(function(e,t){return Nt.with({channels:t.payload.channels,groups:t.payload.groups})})),Nt.on(ft.type,(function(e){return Ut.with(n({},e))}));var Ct=new We("HANDSHAKE_FAILURE");Ct.on(mt.type,(function(e){return jt.with(n(n({},e),{attempts:0}))})),Ct.on(ht.type,(function(e){return Nt.with({channels:e.channels,groups:e.groups})}));var Et=new We("STOPPED");Et.on(pt.type,(function(e,t){return Et.with({channels:t.payload.channels,groups:t.payload.groups,cursor:e.cursor})})),Et.on(ft.type,(function(e){return Rt.with(n({},e))}));var At=new We("RECEIVE_FAILURE");At.on(Tt.type,(function(e){return Mt.with(n(n({},e),{attempts:0}))})),At.on(ht.type,(function(e){return Et.with({channels:e.channels,groups:e.groups,cursor:e.cursor})}));var Mt=new We("RECEIVE_RECONNECTING");Mt.onEnter((function(e){return ct(e)})),Mt.onExit((function(){return ct.cancel})),Mt.on(Pt.type,(function(e,t){return Rt.with({channels:e.channels,groups:e.groups,cursor:t.payload.cursor},[ut(t.payload.events)])})),Mt.on(St.type,(function(e,t){return Mt.with(n(n({},e),{attempts:e.attempts+1,reason:t.payload}))})),Mt.on(wt.type,(function(e){return At.with({groups:e.groups,channels:e.channels,cursor:e.cursor,reason:e.reason})})),Mt.on(ht.type,(function(e){return Et.with({channels:e.channels,groups:e.groups,cursor:e.cursor})}));var Rt=new We("RECEIVING");Rt.onEnter((function(e){return at(e.channels,e.groups,e.cursor)})),Rt.onExit((function(){return at.cancel})),Rt.on(_t.type,(function(e,t){return Rt.with(n(n({},e),{cursor:t.payload.cursor}),[ut(t.payload.events)])})),Rt.on(pt.type,(function(e,t){return 0===t.payload.channels.length&&0===t.payload.groups.length?xt.with(void 0):Rt.with(n(n({},e),{channels:t.payload.channels,groups:t.payload.groups}))})),Rt.on(Ot.type,(function(e,t){return Mt.with(n(n({},e),{attempts:0,reason:t.payload}))})),Rt.on(ht.type,(function(e){return Et.with({channels:e.channels,groups:e.groups,cursor:e.cursor})}));var jt=new We("HANDSHAKE_RECONNECTING");jt.onEnter((function(e){return lt(e)})),jt.onExit((function(){return ct.cancel})),jt.on(Pt.type,(function(e,t){return Rt.with({channels:e.channels,groups:e.groups,cursor:t.payload.cursor},[ut(t.payload.events)])})),jt.on(St.type,(function(e,t){return jt.with(n(n({},e),{attempts:e.attempts+1,reason:t.payload}))})),jt.on(wt.type,(function(e){return Ct.with({groups:e.groups,channels:e.channels,reason:e.reason})})),jt.on(ht.type,(function(e){return Nt.with({channels:e.channels,groups:e.groups})}));var Ut=new We("HANDSHAKING");Ut.onEnter((function(e){return st(e.channels,e.groups)})),Ut.onExit((function(){return st.cancel})),Ut.on(pt.type,(function(e,t){return 0===t.payload.channels.length&&0===t.payload.groups.length?xt.with(void 0):Ut.with({channels:t.payload.channels,groups:t.payload.groups})})),Ut.on(dt.type,(function(e,t){return Rt.with({channels:e.channels,groups:e.groups,cursor:t.payload})})),Ut.on(gt.type,(function(e,t){return jt.with(n(n({},e),{attempts:0,reason:t.payload}))})),Ut.on(ht.type,(function(e){return Nt.with({channels:e.channels,groups:e.groups})}));var xt=new We("UNSUBSCRIBED");xt.on(pt.type,(function(e,t){return Ut.with({channels:t.payload.channels,groups:t.payload.groups})}));var Dt=function(){function e(e){var t=this;this.engine=new Xe,this.channels=[],this.groups=[],this.dispatcher=new kt(this.engine,e),this.engine.subscribe((function(e){"invocationDispatched"===e.type&&t.dispatcher.dispatch(e.invocation)})),this.engine.start(xt,void 0)}return Object.defineProperty(e.prototype,"_engine",{get:function(){return this.engine},enumerable:!1,configurable:!0}),e.prototype.subscribe=function(e){var t=e.channels,n=e.groups;this.channels=a(a([],s(this.channels),!1),s(null!=t?t:[]),!1),this.groups=a(a([],s(this.groups),!1),s(null!=n?n:[]),!1),this.engine.transition(pt(this.channels,this.groups))},e.prototype.unsubscribe=function(e){var t=e.channels,n=e.groups;this.channels=this.channels.filter((function(e){var n;return null===(n=!(null==t?void 0:t.includes(e)))||void 0===n||n})),this.groups=this.groups.filter((function(e){var t;return null===(t=!(null==n?void 0:n.includes(e)))||void 0===t||t})),this.engine.transition(pt(this.channels.slice(0),this.groups.slice(0)))},e.prototype.unsubscribeAll=function(){this.channels=[],this.groups=[],this.engine.transition(pt(this.channels.slice(0),this.groups.slice(0)))},e.prototype.reconnect=function(){this.engine.transition(ft())},e.prototype.disconnect=function(){this.engine.transition(ht())},e}(),It=function(){function e(e){var t=this,r=e.networking,i=e.cbor,o=new m({setup:e});this._config=o;var u=new S({config:o}),c=e.cryptography;r.init(o);var l=new K(o,i);this._tokenManager=l;var p=new R({maximumSamplesCount:6e4});this._telemetryManager=p;var h={config:o,networking:r,crypto:u,cryptography:c,tokenManager:l,telemetryManager:p,PubNubFile:e.PubNubFile};this.File=e.PubNubFile,this.encryptFile=function(e,n){return c.encryptFile(e,n,t.File)},this.decryptFile=function(e,n){return c.decryptFile(e,n,t.File)};var f=V.bind(this,h,He),d=V.bind(this,h,ne),g=V.bind(this,h,ie),y=V.bind(this,h,se),b=V.bind(this,h,qe),v=new G;if(this._listenerManager=v,this.iAmHere=V.bind(this,h,ie),this.iAmAway=V.bind(this,h,ne),this.setPresenceState=V.bind(this,h,se),this.handshake=V.bind(this,h,ze),this.receiveMessages=V.bind(this,h,Ve),!0===o.enableSubscribeBeta){var _=new Dt({handshake:this.handshake,receiveEvents:this.receiveMessages});this.subscribe=_.subscribe.bind(_),this.unsubscribe=_.unsubscribe.bind(_),this.eventEngine=_}else{var O=new A({timeEndpoint:f,leaveEndpoint:d,heartbeatEndpoint:g,setStateEndpoint:y,subscribeEndpoint:b,crypto:h.crypto,config:h.config,listenerManager:v,getFileUrl:function(e){return ge(h,e)}});this.subscribe=O.adaptSubscribeChange.bind(O),this.unsubscribe=O.adaptUnsubscribeChange.bind(O),this.disconnect=O.disconnect.bind(O),this.reconnect=O.reconnect.bind(O),this.unsubscribeAll=O.unsubscribeAll.bind(O),this.getSubscribedChannels=O.getSubscribedChannels.bind(O),this.getSubscribedChannelGroups=O.getSubscribedChannelGroups.bind(O),this.setState=O.adaptStateChange.bind(O),this.presence=O.adaptPresenceChange.bind(O),this.destroy=function(e){O.unsubscribeAll(e),O.disconnect()}}this.addListener=v.addListener.bind(v),this.removeListener=v.removeListener.bind(v),this.removeAllListeners=v.removeAllListeners.bind(v),this.parseToken=l.parseToken.bind(l),this.setToken=l.setToken.bind(l),this.getToken=l.getToken.bind(l),this.channelGroups={listGroups:V.bind(this,h,$),listChannels:V.bind(this,h,Q),addChannels:V.bind(this,h,J),removeChannels:V.bind(this,h,W),deleteGroup:V.bind(this,h,X)},this.push={addChannels:V.bind(this,h,Y),removeChannels:V.bind(this,h,Z),deleteDevice:V.bind(this,h,te),listChannels:V.bind(this,h,ee)},this.hereNow=V.bind(this,h,ae),this.whereNow=V.bind(this,h,re),this.getState=V.bind(this,h,oe),this.grant=V.bind(this,h,Me),this.grantToken=V.bind(this,h,je),this.audit=V.bind(this,h,Ae),this.revokeToken=V.bind(this,h,Ue),this.publish=V.bind(this,h,De),this.fire=function(e,n){return e.replicate=!1,e.storeInHistory=!1,t.publish(e,n)},this.signal=V.bind(this,h,Ie),this.history=V.bind(this,h,Ke),this.deleteMessages=V.bind(this,h,Fe),this.messageCounts=V.bind(this,h,Le),this.fetchMessages=V.bind(this,h,Be),this.addMessageAction=V.bind(this,h,ue),this.removeMessageAction=V.bind(this,h,ce),this.getMessageActions=V.bind(this,h,le),this.listFiles=V.bind(this,h,pe);var P=V.bind(this,h,he);this.publishFile=V.bind(this,h,fe),this.sendFile=de({generateUploadUrl:P,publishFile:this.publishFile,modules:h}),this.getFileUrl=function(e){return ge(h,e)},this.downloadFile=V.bind(this,h,ye),this.deleteFile=V.bind(this,h,be),this.objects={getAllUUIDMetadata:V.bind(this,h,ve),getUUIDMetadata:V.bind(this,h,me),setUUIDMetadata:V.bind(this,h,_e),removeUUIDMetadata:V.bind(this,h,Oe),getAllChannelMetadata:V.bind(this,h,Pe),getChannelMetadata:V.bind(this,h,Se),setChannelMetadata:V.bind(this,h,we),removeChannelMetadata:V.bind(this,h,Te),getChannelMembers:V.bind(this,h,ke),setChannelMembers:function(e){for(var r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];return V.call.apply(V,a([t,h,Ne,n({type:"set"},e)],s(r),!1))},removeChannelMembers:function(e){for(var r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];return V.call.apply(V,a([t,h,Ne,n({type:"delete"},e)],s(r),!1))},getMemberships:V.bind(this,h,Ce),setMemberships:function(e){for(var r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];return V.call.apply(V,a([t,h,Ee,n({type:"set"},e)],s(r),!1))},removeMemberships:function(e){for(var r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];return V.call.apply(V,a([t,h,Ee,n({type:"delete"},e)],s(r),!1))}},this.createUser=function(e){return t.objects.setUUIDMetadata({uuid:e.userId,data:e.data,include:e.include})},this.updateUser=this.createUser,this.removeUser=function(e){return t.objects.removeUUIDMetadata({uuid:null==e?void 0:e.userId})},this.fetchUser=function(e){return t.objects.getUUIDMetadata({uuid:null==e?void 0:e.userId,include:null==e?void 0:e.include})},this.fetchUsers=this.objects.getAllUUIDMetadata,this.createSpace=function(e){return t.objects.setChannelMetadata({channel:e.spaceId,data:e.data,include:e.include})},this.updateSpace=this.createSpace,this.removeSpace=function(e){return t.objects.removeChannelMetadata({channel:e.spaceId})},this.fetchSpace=function(e){return t.objects.getChannelMetadata({channel:e.spaceId,include:e.include})},this.fetchSpaces=this.objects.getAllChannelMetadata,this.time=f,this.stop=this.destroy,this.encrypt=u.encrypt.bind(u),this.decrypt=u.decrypt.bind(u),this.getAuthKey=h.config.getAuthKey.bind(h.config),this.setAuthKey=h.config.setAuthKey.bind(h.config),this.setCipherKey=h.config.setCipherKey.bind(h.config),this.getUUID=h.config.getUUID.bind(h.config),this.setUUID=h.config.setUUID.bind(h.config),this.getFilterExpression=h.config.getFilterExpression.bind(h.config),this.setFilterExpression=h.config.setFilterExpression.bind(h.config),this.setHeartbeatInterval=h.config.setHeartbeatInterval.bind(h.config),r.hasModule("proxy")&&(this.setProxy=function(e){h.config.setProxy(e),t.reconnect()})}return e.prototype.getVersion=function(){return this._config.getVersion()},e.prototype._addPnsdkSuffix=function(e,t){this._config._addPnsdkSuffix(e,t)},e.prototype.networkDownDetected=function(){this._listenerManager.announceNetworkDown(),this._config.restore?this.disconnect():this.destroy(!0)},e.prototype.networkUpDetected=function(){this._listenerManager.announceNetworkUp(),this.reconnect()},e.notificationPayload=function(e,t){return new I(e,t)},e.generateUUID=function(){return v()},e.OPERATIONS=M,e.CATEGORIES=E,e}(),Gt=function(){function e(e){var t=this;this._modules={},Object.keys(e).forEach((function(n){t._modules[n]=e[n].bind(t)}))}return e.prototype.init=function(e){this._config=e,Array.isArray(this._config.origin)?this._currentSubDomain=Math.floor(Math.random()*this._config.origin.length):this._currentSubDomain=0,this._coreParams={},this.shiftStandardOrigin()},e.prototype.nextOrigin=function(){var e=this._config.secure?"https://":"http://";if("string"==typeof this._config.origin)return"".concat(e).concat(this._config.origin);this._currentSubDomain+=1,this._currentSubDomain>=this._config.origin.length&&(this._currentSubDomain=0);var t=this._config.origin[this._currentSubDomain];return"".concat(e).concat(t)},e.prototype.hasModule=function(e){return e in this._modules},e.prototype.shiftStandardOrigin=function(){return this._standardOrigin=this.nextOrigin(),this._standardOrigin},e.prototype.getStandardOrigin=function(){return this._standardOrigin},e.prototype.POSTFILE=function(e,t,n){return this._modules.postfile(e,t,n)},e.prototype.GETFILE=function(e,t,n){return this._modules.getfile(e,t,n)},e.prototype.POST=function(e,t,n,r){return this._modules.post(e,t,n,r)},e.prototype.PATCH=function(e,t,n,r){return this._modules.patch(e,t,n,r)},e.prototype.GET=function(e,t,n){return this._modules.get(e,t,n)},e.prototype.DELETE=function(e,t,n){return this._modules.del(e,t,n)},e.prototype._detectErrorCategory=function(e){if("ENOTFOUND"===e.code)return E.PNNetworkIssuesCategory;if("ECONNREFUSED"===e.code)return E.PNNetworkIssuesCategory;if("ECONNRESET"===e.code)return E.PNNetworkIssuesCategory;if("EAI_AGAIN"===e.code)return E.PNNetworkIssuesCategory;if(0===e.status||e.hasOwnProperty("status")&&void 0===e.status)return E.PNNetworkIssuesCategory;if(e.timeout)return E.PNTimeoutCategory;if("ETIMEDOUT"===e.code)return E.PNNetworkIssuesCategory;if(e.response){if(e.response.badRequest)return E.PNBadRequestCategory;if(e.response.forbidden)return E.PNAccessDeniedCategory}return E.PNUnknownCategory},e}(),Kt=function(){function e(e,t){this._base64ToBinary=t,this._decode=e}return e.prototype.decodeToken=function(e){var t="";e.length%4==3?t="=":e.length%4==2&&(t="==");var n=e.replace(/-/gi,"+").replace(/_/gi,"/")+t,r=this._decode(this._base64ToBinary(n));if("object"==typeof r)return r},e}(),Ft={exports:{}},Lt={exports:{}};!function(e){function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}e.exports=t,t.prototype.on=t.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},t.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},t.prototype.off=t.prototype.removeListener=t.prototype.removeAllListeners=t.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var i=0;i<r.length;i++)if((n=r[i])===t||n.fn===t){r.splice(i,1);break}return 0===r.length&&delete this._callbacks["$"+e],this},t.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){r=0;for(var i=(n=n.slice(0)).length;r<i;++r)n[r].apply(this,t)}return this},t.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},t.prototype.hasListeners=function(e){return!!this.listeners(e).length}}(Lt);var Bt=Wt;Wt.default=Wt,Wt.stable=Yt,Wt.stableStringify=Yt;var Ht="[...]",qt="[Circular]",zt=[],Vt=[];function Jt(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function Wt(e,t,n,r){var i;void 0===r&&(r=Jt()),$t(e,"",0,[],void 0,0,r);try{i=0===Vt.length?JSON.stringify(e,t,n):JSON.stringify(e,en(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==zt.length;){var o=zt.pop();4===o.length?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return i}function Xt(e,t,n,r){var i=Object.getOwnPropertyDescriptor(r,n);void 0!==i.get?i.configurable?(Object.defineProperty(r,n,{value:e}),zt.push([r,n,t,i])):Vt.push([t,n,e]):(r[n]=e,zt.push([r,n,t]))}function $t(e,t,n,r,i,o,s){var a;if(o+=1,"object"==typeof e&&null!==e){for(a=0;a<r.length;a++)if(r[a]===e)return void Xt(qt,e,t,i);if(void 0!==s.depthLimit&&o>s.depthLimit)return void Xt(Ht,e,t,i);if(void 0!==s.edgesLimit&&n+1>s.edgesLimit)return void Xt(Ht,e,t,i);if(r.push(e),Array.isArray(e))for(a=0;a<e.length;a++)$t(e[a],a,a,r,e,o,s);else{var u=Object.keys(e);for(a=0;a<u.length;a++){var c=u[a];$t(e[c],c,a,r,e,o,s)}}r.pop()}}function Qt(e,t){return e<t?-1:e>t?1:0}function Yt(e,t,n,r){void 0===r&&(r=Jt());var i,o=Zt(e,"",0,[],void 0,0,r)||e;try{i=0===Vt.length?JSON.stringify(o,t,n):JSON.stringify(o,en(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==zt.length;){var s=zt.pop();4===s.length?Object.defineProperty(s[0],s[1],s[3]):s[0][s[1]]=s[2]}}return i}function Zt(e,t,n,r,i,o,s){var a;if(o+=1,"object"==typeof e&&null!==e){for(a=0;a<r.length;a++)if(r[a]===e)return void Xt(qt,e,t,i);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==s.depthLimit&&o>s.depthLimit)return void Xt(Ht,e,t,i);if(void 0!==s.edgesLimit&&n+1>s.edgesLimit)return void Xt(Ht,e,t,i);if(r.push(e),Array.isArray(e))for(a=0;a<e.length;a++)Zt(e[a],a,a,r,e,o,s);else{var u={},c=Object.keys(e).sort(Qt);for(a=0;a<c.length;a++){var l=c[a];Zt(e[l],l,a,r,e,o,s),u[l]=e[l]}if(void 0===i)return u;zt.push([i,t,e]),i[t]=u}r.pop()}}function en(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(Vt.length>0)for(var r=0;r<Vt.length;r++){var i=Vt[r];if(i[1]===t&&i[0]===n){n=i[2],Vt.splice(r,1);break}}return e.call(this,t,n)}}var tn=String.prototype.replace,nn=/%20/g,rn="RFC3986",on={default:rn,formatters:{RFC1738:function(e){return tn.call(e,nn,"+")},RFC3986:function(e){return String(e)}},RFC1738:"RFC1738",RFC3986:rn},sn=on,an=Object.prototype.hasOwnProperty,un=Array.isArray,cn=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),ln=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r<e.length;++r)void 0!==e[r]&&(n[r]=e[r]);return n},pn={arrayToObject:ln,assign:function(e,t){return Object.keys(t).reduce((function(e,n){return e[n]=t[n],e}),e)},combine:function(e,t){return[].concat(e,t)},compact:function(e){for(var t=[{obj:{o:e},prop:"o"}],n=[],r=0;r<t.length;++r)for(var i=t[r],o=i.obj[i.prop],s=Object.keys(o),a=0;a<s.length;++a){var u=s[a],c=o[u];"object"==typeof c&&null!==c&&-1===n.indexOf(c)&&(t.push({obj:o,prop:u}),n.push(c))}return function(e){for(;e.length>1;){var t=e.pop(),n=t.obj[t.prop];if(un(n)){for(var r=[],i=0;i<n.length;++i)void 0!==n[i]&&r.push(n[i]);t.obj[t.prop]=r}}}(t),e},decode:function(e,t,n){var r=e.replace(/\+/g," ");if("iso-8859-1"===n)return r.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(r)}catch(e){return r}},encode:function(e,t,n,r,i){if(0===e.length)return e;var o=e;if("symbol"==typeof e?o=Symbol.prototype.toString.call(e):"string"!=typeof e&&(o=String(e)),"iso-8859-1"===n)return escape(o).replace(/%u[0-9a-f]{4}/gi,(function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"}));for(var s="",a=0;a<o.length;++a){var u=o.charCodeAt(a);45===u||46===u||95===u||126===u||u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||i===sn.RFC1738&&(40===u||41===u)?s+=o.charAt(a):u<128?s+=cn[u]:u<2048?s+=cn[192|u>>6]+cn[128|63&u]:u<55296||u>=57344?s+=cn[224|u>>12]+cn[128|u>>6&63]+cn[128|63&u]:(a+=1,u=65536+((1023&u)<<10|1023&o.charCodeAt(a)),s+=cn[240|u>>18]+cn[128|u>>12&63]+cn[128|u>>6&63]+cn[128|63&u])}return s},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(un(e)){for(var n=[],r=0;r<e.length;r+=1)n.push(t(e[r]));return n}return t(e)},merge:function e(t,n,r){if(!n)return t;if("object"!=typeof n){if(un(t))t.push(n);else{if(!t||"object"!=typeof t)return[t,n];(r&&(r.plainObjects||r.allowPrototypes)||!an.call(Object.prototype,n))&&(t[n]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(n);var i=t;return un(t)&&!un(n)&&(i=ln(t,r)),un(t)&&un(n)?(n.forEach((function(n,i){if(an.call(t,i)){var o=t[i];o&&"object"==typeof o&&n&&"object"==typeof n?t[i]=e(o,n,r):t.push(n)}else t[i]=n})),t):Object.keys(n).reduce((function(t,i){var o=n[i];return an.call(t,i)?t[i]=e(t[i],o,r):t[i]=o,t}),i)}},hn=pn,fn=on,dn=Object.prototype.hasOwnProperty,gn={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},yn=Array.isArray,bn=String.prototype.split,vn=Array.prototype.push,mn=function(e,t){vn.apply(e,yn(t)?t:[t])},_n=Date.prototype.toISOString,On=fn.default,Pn={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:hn.encode,encodeValuesOnly:!1,format:On,formatter:fn.formatters[On],indices:!1,serializeDate:function(e){return _n.call(e)},skipNulls:!1,strictNullHandling:!1},Sn=function e(t,n,r,i,o,s,a,u,c,l,p,h,f,d){var g,y=t;if("function"==typeof a?y=a(n,y):y instanceof Date?y=l(y):"comma"===r&&yn(y)&&(y=hn.maybeMap(y,(function(e){return e instanceof Date?l(e):e}))),null===y){if(i)return s&&!f?s(n,Pn.encoder,d,"key",p):n;y=""}if("string"==typeof(g=y)||"number"==typeof g||"boolean"==typeof g||"symbol"==typeof g||"bigint"==typeof g||hn.isBuffer(y)){if(s){var b=f?n:s(n,Pn.encoder,d,"key",p);if("comma"===r&&f){for(var v=bn.call(String(y),","),m="",_=0;_<v.length;++_)m+=(0===_?"":",")+h(s(v[_],Pn.encoder,d,"value",p));return[h(b)+"="+m]}return[h(b)+"="+h(s(y,Pn.encoder,d,"value",p))]}return[h(n)+"="+h(String(y))]}var O,P=[];if(void 0===y)return P;if("comma"===r&&yn(y))O=[{value:y.length>0?y.join(",")||null:void 0}];else if(yn(a))O=a;else{var S=Object.keys(y);O=u?S.sort(u):S}for(var w=0;w<O.length;++w){var T=O[w],k="object"==typeof T&&void 0!==T.value?T.value:y[T];if(!o||null!==k){var N=yn(y)?"function"==typeof r?r(n,T):n:n+(c?"."+T:"["+T+"]");mn(P,e(k,N,r,i,o,s,a,u,c,l,p,h,f,d))}}return P},wn=pn,Tn=Object.prototype.hasOwnProperty,kn=Array.isArray,Nn={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:wn.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},Cn=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},En=function(e,t){return e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},An=function(e,t,n,r){if(e){var i=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,s=n.depth>0&&/(\[[^[\]]*])/.exec(i),a=s?i.slice(0,s.index):i,u=[];if(a){if(!n.plainObjects&&Tn.call(Object.prototype,a)&&!n.allowPrototypes)return;u.push(a)}for(var c=0;n.depth>0&&null!==(s=o.exec(i))&&c<n.depth;){if(c+=1,!n.plainObjects&&Tn.call(Object.prototype,s[1].slice(1,-1))&&!n.allowPrototypes)return;u.push(s[1])}return s&&u.push("["+i.slice(s.index)+"]"),function(e,t,n,r){for(var i=r?t:En(t,n),o=e.length-1;o>=0;--o){var s,a=e[o];if("[]"===a&&n.parseArrays)s=[].concat(i);else{s=n.plainObjects?Object.create(null):{};var u="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,c=parseInt(u,10);n.parseArrays||""!==u?!isNaN(c)&&a!==u&&String(c)===u&&c>=0&&n.parseArrays&&c<=n.arrayLimit?(s=[])[c]=i:"__proto__"!==u&&(s[u]=i):s={0:i}}i=s}return i}(u,t,n,r)}},Mn={formats:on,parse:function(e,t){var n=function(e){if(!e)return Nn;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?Nn.charset:e.charset;return{allowDots:void 0===e.allowDots?Nn.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:Nn.allowPrototypes,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:Nn.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:Nn.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:Nn.comma,decoder:"function"==typeof e.decoder?e.decoder:Nn.decoder,delimiter:"string"==typeof e.delimiter||wn.isRegExp(e.delimiter)?e.delimiter:Nn.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:Nn.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:Nn.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:Nn.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:Nn.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:Nn.strictNullHandling}}(t);if(""===e||null==e)return n.plainObjects?Object.create(null):{};for(var r="string"==typeof e?function(e,t){var n,r={},i=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,o=t.parameterLimit===1/0?void 0:t.parameterLimit,s=i.split(t.delimiter,o),a=-1,u=t.charset;if(t.charsetSentinel)for(n=0;n<s.length;++n)0===s[n].indexOf("utf8=")&&("utf8=%E2%9C%93"===s[n]?u="utf-8":"utf8=%26%2310003%3B"===s[n]&&(u="iso-8859-1"),a=n,n=s.length);for(n=0;n<s.length;++n)if(n!==a){var c,l,p=s[n],h=p.indexOf("]="),f=-1===h?p.indexOf("="):h+1;-1===f?(c=t.decoder(p,Nn.decoder,u,"key"),l=t.strictNullHandling?null:""):(c=t.decoder(p.slice(0,f),Nn.decoder,u,"key"),l=wn.maybeMap(En(p.slice(f+1),t),(function(e){return t.decoder(e,Nn.decoder,u,"value")}))),l&&t.interpretNumericEntities&&"iso-8859-1"===u&&(l=Cn(l)),p.indexOf("[]=")>-1&&(l=kn(l)?[l]:l),Tn.call(r,c)?r[c]=wn.combine(r[c],l):r[c]=l}return r}(e,n):e,i=n.plainObjects?Object.create(null):{},o=Object.keys(r),s=0;s<o.length;++s){var a=o[s],u=An(a,r[a],n,"string"==typeof e);i=wn.merge(i,u,n)}return wn.compact(i)},stringify:function(e,t){var n,r=e,i=function(e){if(!e)return Pn;if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||Pn.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var n=fn.default;if(void 0!==e.format){if(!dn.call(fn.formatters,e.format))throw new TypeError("Unknown format option provided.");n=e.format}var r=fn.formatters[n],i=Pn.filter;return("function"==typeof e.filter||yn(e.filter))&&(i=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:Pn.addQueryPrefix,allowDots:void 0===e.allowDots?Pn.allowDots:!!e.allowDots,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:Pn.charsetSentinel,delimiter:void 0===e.delimiter?Pn.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:Pn.encode,encoder:"function"==typeof e.encoder?e.encoder:Pn.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:Pn.encodeValuesOnly,filter:i,format:n,formatter:r,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:Pn.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:Pn.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:Pn.strictNullHandling}}(t);"function"==typeof i.filter?r=(0,i.filter)("",r):yn(i.filter)&&(n=i.filter);var o,s=[];if("object"!=typeof r||null===r)return"";o=t&&t.arrayFormat in gn?t.arrayFormat:t&&"indices"in t?t.indices?"indices":"repeat":"indices";var a=gn[o];n||(n=Object.keys(r)),i.sort&&n.sort(i.sort);for(var u=0;u<n.length;++u){var c=n[u];i.skipNulls&&null===r[c]||mn(s,Sn(r[c],c,a,i.strictNullHandling,i.skipNulls,i.encode?i.encoder:null,i.filter,i.sort,i.allowDots,i.serializeDate,i.format,i.formatter,i.encodeValuesOnly,i.charset))}var l=s.join(i.delimiter),p=!0===i.addQueryPrefix?"?":"";return i.charsetSentinel&&("iso-8859-1"===i.charset?p+="utf8=%26%2310003%3B&":p+="utf8=%E2%9C%93&"),l.length>0?p+l:""}};function Rn(e){return Rn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Rn(e)}var jn=function(e){return null!==e&&"object"===Rn(e)};function Un(e){return Un="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Un(e)}var xn=jn,Dn=In;function In(e){if(e)return function(e){for(var t in In.prototype)Object.prototype.hasOwnProperty.call(In.prototype,t)&&(e[t]=In.prototype[t]);return e}(e)}In.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},In.prototype.parse=function(e){return this._parser=e,this},In.prototype.responseType=function(e){return this._responseType=e,this},In.prototype.serialize=function(e){return this._serializer=e,this},In.prototype.timeout=function(e){if(!e||"object"!==Un(e))return this._timeout=e,this._responseTimeout=0,this._uploadTimeout=0,this;for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response;break;case"upload":this._uploadTimeout=e.upload;break;default:console.warn("Unknown timeout option",t)}return this},In.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};var Gn=new Set(["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"]),Kn=new Set([408,413,429,500,502,503,504,521,522,524]);In.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&Kn.has(t.status))return!0;if(e){if(e.code&&Gn.has(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},In.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},In.prototype.then=function(e,t){var n=this;if(!this._fullfilledPromise){var r=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise((function(e,t){r.on("abort",(function(){if(!(n._maxRetries&&n._maxRetries>n._retries))if(n.timedout&&n.timedoutError)t(n.timedoutError);else{var e=new Error("Aborted");e.code="ABORTED",e.status=n.status,e.method=n.method,e.url=n.url,t(e)}})),r.end((function(n,r){n?t(n):e(r)}))}))}return this._fullfilledPromise.then(e,t)},In.prototype.catch=function(e){return this.then(void 0,e)},In.prototype.use=function(e){return e(this),this},In.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},In.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},In.prototype.get=function(e){return this._header[e.toLowerCase()]},In.prototype.getHeader=In.prototype.get,In.prototype.set=function(e,t){if(xn(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},In.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},In.prototype.field=function(e,t){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(xn(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.field(n,e[n]);return this}if(Array.isArray(t)){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&this.field(e,t[r]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=String(t)),this._getFormData().append(e,t),this},In.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},In.prototype._auth=function(e,t,n,r){switch(n.type){case"basic":this.set("Authorization","Basic ".concat(r("".concat(e,":").concat(t))));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer ".concat(e))}return this},In.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},In.prototype.redirects=function(e){return this._maxRedirects=e,this},In.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},In.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},In.prototype.send=function(e){var t=xn(e),n=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(t&&xn(this._data))for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(this._data[r]=e[r]);else"string"==typeof e?(n||this.type("form"),(n=this._header["content-type"])&&(n=n.toLowerCase().trim()),this._data="application/x-www-form-urlencoded"===n?this._data?"".concat(this._data,"&").concat(e):e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},In.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},In.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.includes("?")?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.slice(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.slice(0,t)+"?"+n.join("&")}}},In.prototype._appendQueryString=function(){console.warn("Unsupported")},In.prototype._timeoutError=function(e,t,n){if(!this._aborted){var r=new Error("".concat(e+t,"ms exceeded"));r.timeout=t,r.code="ECONNABORTED",r.errno=n,this.timedout=!0,this.timedoutError=r,this.abort(),this.callback(r)}},In.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout((function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")}),this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout((function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")}),this._responseTimeout))};var Fn={};function Ln(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Bn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Bn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function Bn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}Fn.type=function(e){return e.split(/ *; */).shift()},Fn.params=function(e){var t,n={},r=Ln(e.split(/ *; */));try{for(r.s();!(t=r.n()).done;){var i=t.value.split(/ *= */),o=i.shift(),s=i.shift();o&&s&&(n[o]=s)}}catch(e){r.e(e)}finally{r.f()}return n},Fn.parseLinks=function(e){var t,n={},r=Ln(e.split(/ *, */));try{for(r.s();!(t=r.n()).done;){var i=t.value.split(/ *; */),o=i[0].slice(1,-1);n[i[1].split(/ *= */)[1].slice(1,-1)]=o}}catch(e){r.e(e)}finally{r.f()}return n},Fn.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e};var Hn=Fn,qn=zn;function zn(e){if(e)return function(e){for(var t in zn.prototype)Object.prototype.hasOwnProperty.call(zn.prototype,t)&&(e[t]=zn.prototype[t]);return e}(e)}function Vn(e){return function(e){if(Array.isArray(e))return Jn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Jn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Jn(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Jn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Wn(){this._defaults=[]}zn.prototype.get=function(e){return this.header[e.toLowerCase()]},zn.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=Hn.type(t);var n=Hn.params(t);for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(this[r]=n[r]);this.links={};try{e.link&&(this.links=Hn.parseLinks(e.link))}catch(e){}},zn.prototype._setStatusProperties=function(e){var t=e/100|0;this.statusCode=e,this.status=this.statusCode,this.statusType=t,this.info=1===t,this.ok=2===t,this.redirect=3===t,this.clientError=4===t,this.serverError=5===t,this.error=(4===t||5===t)&&this.toError(),this.created=201===e,this.accepted=202===e,this.noContent=204===e,this.badRequest=400===e,this.unauthorized=401===e,this.notAcceptable=406===e,this.forbidden=403===e,this.notFound=404===e,this.unprocessableEntity=422===e},["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"].forEach((function(e){Wn.prototype[e]=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return this._defaults.push({fn:e,args:n}),this}})),Wn.prototype._setDefaults=function(e){this._defaults.forEach((function(t){e[t.fn].apply(e,Vn(t.args))}))};var Xn=Wn;!function(e,t){function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}var r;"undefined"!=typeof window?r=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),r=void 0):r=self;var i=Lt.exports,o=Bt,s=Mn,a=Dn,u=jn,c=qn,l=Xn;function p(){}e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1===arguments.length?new t.Request("GET",e):new t.Request(e,n)};var h=t=e.exports;t.Request=m,h.getXHR=function(){if(r.XMLHttpRequest&&(!r.location||"file:"!==r.location.protocol||!r.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw new Error("Browser-only version of superagent could not find XHR")};var f="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function d(e){if(!u(e))return e;var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&g(t,n,e[n]);return t.join("&")}function g(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n))n.forEach((function(n){g(e,t,n)}));else if(u(n))for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&g(e,"".concat(t,"[").concat(r,"]"),n[r]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function y(e){for(var t,n,r={},i=e.split("&"),o=0,s=i.length;o<s;++o)-1===(n=(t=i[o]).indexOf("="))?r[decodeURIComponent(t)]="":r[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return r}function b(e){return/[/+]json($|[^-\w])/i.test(e)}function v(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!==this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;var t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.headers=function(e){for(var t,n,r,i,o=e.split(/\r?\n/),s={},a=0,u=o.length;a<u;++a)-1!==(t=(n=o[a]).indexOf(":"))&&(r=n.slice(0,t).toLowerCase(),i=f(n.slice(t+1)),s[r]=i);return s}(this.xhr.getAllResponseHeaders()),this.header=this.headers,this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"===this.req.method?null:this._parseBody(this.text?this.text:this.xhr.response)}function m(e,t){var n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",(function(){var e,t=null,r=null;try{r=new v(n)}catch(e){return(t=new Error("Parser is unable to parse the response")).parse=!0,t.original=e,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",r);try{n._isResponseOK(r)||(e=new Error(r.statusText||r.text||"Unsuccessful HTTP response"))}catch(t){e=t}e?(e.original=t,e.response=r,e.status=r.status,n.callback(e,r)):n.callback(null,r)}))}function _(e,t,n){var r=h("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r}h.serializeObject=d,h.parseString=y,h.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},h.serialize={"application/x-www-form-urlencoded":s.stringify,"application/json":o},h.parse={"application/x-www-form-urlencoded":y,"application/json":JSON.parse},c(v.prototype),v.prototype._parseBody=function(e){var t=h.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&b(this.type)&&(t=h.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},v.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,r="cannot ".concat(t," ").concat(n," (").concat(this.status,")"),i=new Error(r);return i.status=this.status,i.method=t,i.url=n,i},h.Response=v,i(m.prototype),a(m.prototype),m.prototype.type=function(e){return this.set("Content-Type",h.types[e]||e),this},m.prototype.accept=function(e){return this.set("Accept",h.types[e]||e),this},m.prototype.auth=function(e,t,r){1===arguments.length&&(t=""),"object"===n(t)&&null!==t&&(r=t,t=""),r||(r={type:"function"==typeof btoa?"basic":"auto"});var i=function(e){if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")};return this._auth(e,t,r,i)},m.prototype.query=function(e){return"string"!=typeof e&&(e=d(e)),e&&this._query.push(e),this},m.prototype.attach=function(e,t,n){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},m.prototype._getFormData=function(){return this._formData||(this._formData=new r.FormData),this._formData},m.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();var n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},m.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},m.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},m.prototype.ca=m.prototype.agent,m.prototype.buffer=m.prototype.ca,m.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},m.prototype.pipe=m.prototype.write,m.prototype._isHost=function(e){return e&&"object"===n(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},m.prototype.end=function(e){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=e||p,this._finalizeQueryString(),this._end()},m.prototype._setUploadTimeout=function(){var e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout((function(){e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")}),this._uploadTimeout))},m.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));var e=this;this.xhr=h.getXHR();var t=this.xhr,n=this._formData||this._data;this._setTimeouts(),t.onreadystatechange=function(){var n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4===n){var r;try{r=t.status}catch(e){r=0}if(!r){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var r=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100,100===n.percent&&clearTimeout(e._uploadTimeoutTimer)),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.addEventListener("progress",r.bind(null,"download")),t.upload&&t.upload.addEventListener("progress",r.bind(null,"upload"))}catch(e){}t.upload&&this._setUploadTimeout();try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!==this.method&&"HEAD"!==this.method&&"string"!=typeof n&&!this._isHost(n)){var i=this._header["content-type"],o=this._serializer||h.serialize[i?i.split(";")[0]:""];!o&&b(i)&&(o=h.serialize["application/json"]),o&&(n=o(n))}for(var s in this.header)null!==this.header[s]&&Object.prototype.hasOwnProperty.call(this.header,s)&&t.setRequestHeader(s,this.header[s]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},h.agent=function(){return new l},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach((function(e){l.prototype[e.toLowerCase()]=function(t,n){var r=new h.Request(e,t);return this._setDefaults(r),n&&r.end(n),r}})),l.prototype.del=l.prototype.delete,h.get=function(e,t,n){var r=h("GET",e);return"function"==typeof t&&(n=t,t=null),t&&r.query(t),n&&r.end(n),r},h.head=function(e,t,n){var r=h("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&r.query(t),n&&r.end(n),r},h.options=function(e,t,n){var r=h("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},h.del=_,h.delete=_,h.patch=function(e,t,n){var r=h("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},h.post=function(e,t,n){var r=h("POST",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},h.put=function(e,t,n){var r=h("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r}}(Ft,Ft.exports);var $n=Ft.exports;function Qn(e){var t=(new Date).getTime(),n=(new Date).toISOString(),r=console&&console.log?console:window&&window.console&&window.console.log?window.console:console;r.log("<<<<<"),r.log("[".concat(n,"]"),"\n",e.url,"\n",e.qs),r.log("-----"),e.on("response",(function(n){var i=(new Date).getTime()-t,o=(new Date).toISOString();r.log(">>>>>>"),r.log("[".concat(o," / ").concat(i,"]"),"\n",e.url,"\n",e.qs,"\n",n.text),r.log("-----")}))}function Yn(e,t,n){var r=this;this._config.logVerbosity&&(e=e.use(Qn)),this._config.proxy&&this._modules.proxy&&(e=this._modules.proxy.call(this,e)),this._config.keepAlive&&this._modules.keepAlive&&(e=this._modules.keepAlive(e));var i=e;if(t.abortSignal)var o=t.abortSignal.subscribe((function(){i.abort(),o()}));return!0===t.forceBuffered?i="undefined"==typeof Blob?i.buffer().responseType("arraybuffer"):i.responseType("arraybuffer"):!1===t.forceBuffered&&(i=i.buffer(!1)),(i=i.timeout(t.timeout)).on("abort",(function(){return n({category:E.PNUnknownCategory,error:!0,operation:t.operation,errorData:new Error("Aborted")},null)})),i.end((function(e,i){var o,s={};if(s.error=null!==e,s.operation=t.operation,i&&i.status&&(s.statusCode=i.status),e){if(e.response&&e.response.text&&!r._config.logVerbosity)try{s.errorData=JSON.parse(e.response.text)}catch(t){s.errorData=e}else s.errorData=e;return s.category=r._detectErrorCategory(e),n(s,null)}if(t.ignoreBody)o={headers:i.headers,redirects:i.redirects,response:i};else try{o=JSON.parse(i.text)}catch(e){return s.errorData=i,s.error=!0,n(s,null)}return o.error&&1===o.error&&o.status&&o.message&&o.service?(s.errorData=o,s.statusCode=o.status,s.error=!0,s.category=r._detectErrorCategory(s),n(s,null)):(o.error&&o.error.message&&(s.errorData=o.error),n(s,o))})),i}function Zn(e,t,n){return r(this,void 0,void 0,(function(){var r;return i(this,(function(i){switch(i.label){case 0:return r=$n.post(e),t.forEach((function(e){var t=e.key,n=e.value;r=r.field(t,n)})),r.attach("file",n,{contentType:"application/octet-stream"}),[4,r];case 1:return[2,i.sent()]}}))}))}function er(e,t,n){var r=$n.get(this.getStandardOrigin()+t.url).set(t.headers).query(e);return Yn.call(this,r,t,n)}function tr(e,t,n){var r=$n.get(this.getStandardOrigin()+t.url).set(t.headers).query(e);return Yn.call(this,r,t,n)}function nr(e,t,n,r){var i=$n.post(this.getStandardOrigin()+n.url).query(e).set(n.headers).send(t);return Yn.call(this,i,n,r)}function rr(e,t,n,r){var i=$n.patch(this.getStandardOrigin()+n.url).query(e).set(n.headers).send(t);return Yn.call(this,i,n,r)}function ir(e,t,n){var r=$n.delete(this.getStandardOrigin()+t.url).set(t.headers).query(e);return Yn.call(this,r,t,n)}function or(e,t){var n=new Uint8Array(e.byteLength+t.byteLength);return n.set(new Uint8Array(e),0),n.set(new Uint8Array(t),e.byteLength),n.buffer}var sr,ar=function(){function e(){}return Object.defineProperty(e.prototype,"algo",{get:function(){return"aes-256-cbc"},enumerable:!1,configurable:!0}),e.prototype.encrypt=function(e,t){return r(this,void 0,void 0,(function(){var n;return i(this,(function(r){switch(r.label){case 0:return[4,this.getKey(e)];case 1:if(n=r.sent(),t instanceof ArrayBuffer)return[2,this.encryptArrayBuffer(n,t)];if("string"==typeof t)return[2,this.encryptString(n,t)];throw new Error("Cannot encrypt this file. In browsers file encryption supports only string or ArrayBuffer")}}))}))},e.prototype.decrypt=function(e,t){return r(this,void 0,void 0,(function(){var n;return i(this,(function(r){switch(r.label){case 0:return[4,this.getKey(e)];case 1:if(n=r.sent(),t instanceof ArrayBuffer)return[2,this.decryptArrayBuffer(n,t)];if("string"==typeof t)return[2,this.decryptString(n,t)];throw new Error("Cannot decrypt this file. In browsers file decryption supports only string or ArrayBuffer")}}))}))},e.prototype.encryptFile=function(e,t,n){return r(this,void 0,void 0,(function(){var r,o,s;return i(this,(function(i){switch(i.label){case 0:return[4,this.getKey(e)];case 1:return r=i.sent(),[4,t.toArrayBuffer()];case 2:return o=i.sent(),[4,this.encryptArrayBuffer(r,o)];case 3:return s=i.sent(),[2,n.create({name:t.name,mimeType:"application/octet-stream",data:s})]}}))}))},e.prototype.decryptFile=function(e,t,n){return r(this,void 0,void 0,(function(){var r,o,s;return i(this,(function(i){switch(i.label){case 0:return[4,this.getKey(e)];case 1:return r=i.sent(),[4,t.toArrayBuffer()];case 2:return o=i.sent(),[4,this.decryptArrayBuffer(r,o)];case 3:return s=i.sent(),[2,n.create({name:t.name,data:s})]}}))}))},e.prototype.getKey=function(e){return r(this,void 0,void 0,(function(){var t,n,r;return i(this,(function(i){switch(i.label){case 0:return t=Buffer.from(e),[4,crypto.subtle.digest("SHA-256",t.buffer)];case 1:return n=i.sent(),r=Buffer.from(Buffer.from(n).toString("hex").slice(0,32),"utf8").buffer,[2,crypto.subtle.importKey("raw",r,"AES-CBC",!0,["encrypt","decrypt"])]}}))}))},e.prototype.encryptArrayBuffer=function(e,t){return r(this,void 0,void 0,(function(){var n,r,o;return i(this,(function(i){switch(i.label){case 0:return n=crypto.getRandomValues(new Uint8Array(16)),r=or,o=[n.buffer],[4,crypto.subtle.encrypt({name:"AES-CBC",iv:n},e,t)];case 1:return[2,r.apply(void 0,o.concat([i.sent()]))]}}))}))},e.prototype.decryptArrayBuffer=function(e,t){return r(this,void 0,void 0,(function(){var n;return i(this,(function(r){return n=t.slice(0,16),[2,crypto.subtle.decrypt({name:"AES-CBC",iv:n},e,t.slice(16))]}))}))},e.prototype.encryptString=function(e,t){return r(this,void 0,void 0,(function(){var n,r,o,s;return i(this,(function(i){switch(i.label){case 0:return n=crypto.getRandomValues(new Uint8Array(16)),r=Buffer.from(t).buffer,[4,crypto.subtle.encrypt({name:"AES-CBC",iv:n},e,r)];case 1:return o=i.sent(),s=or(n.buffer,o),[2,Buffer.from(s).toString("utf8")]}}))}))},e.prototype.decryptString=function(e,t){return r(this,void 0,void 0,(function(){var n,r,o,s;return i(this,(function(i){switch(i.label){case 0:return n=Buffer.from(t),r=n.slice(0,16),o=n.slice(16),[4,crypto.subtle.decrypt({name:"AES-CBC",iv:r},e,o)];case 1:return s=i.sent(),[2,Buffer.from(s).toString("utf8")]}}))}))},e.IV_LENGTH=16,e}(),ur=(sr=function(){function e(e){if(e instanceof File)this.data=e,this.name=this.data.name,this.mimeType=this.data.type;else if(e.data){var t=e.data;this.data=new File([t],e.name,{type:e.mimeType}),this.name=e.name,e.mimeType&&(this.mimeType=e.mimeType)}if(void 0===this.data)throw new Error("Couldn't construct a file out of supplied options.");if(void 0===this.name)throw new Error("Couldn't guess filename out of the options. Please provide one.")}return e.create=function(e){return new this(e)},e.prototype.toBuffer=function(){return r(this,void 0,void 0,(function(){return i(this,(function(e){throw new Error("This feature is only supported in Node.js environments.")}))}))},e.prototype.toStream=function(){return r(this,void 0,void 0,(function(){return i(this,(function(e){throw new Error("This feature is only supported in Node.js environments.")}))}))},e.prototype.toFileUri=function(){return r(this,void 0,void 0,(function(){return i(this,(function(e){throw new Error("This feature is only supported in react native environments.")}))}))},e.prototype.toBlob=function(){return r(this,void 0,void 0,(function(){return i(this,(function(e){return[2,this.data]}))}))},e.prototype.toArrayBuffer=function(){return r(this,void 0,void 0,(function(){var e=this;return i(this,(function(t){return[2,new Promise((function(t,n){var r=new FileReader;r.addEventListener("load",(function(){if(r.result instanceof ArrayBuffer)return t(r.result)})),r.addEventListener("error",(function(){n(r.error)})),r.readAsArrayBuffer(e.data)}))]}))}))},e.prototype.toString=function(){return r(this,void 0,void 0,(function(){var e=this;return i(this,(function(t){return[2,new Promise((function(t,n){var r=new FileReader;r.addEventListener("load",(function(){if("string"==typeof r.result)return t(r.result)})),r.addEventListener("error",(function(){n(r.error)})),r.readAsBinaryString(e.data)}))]}))}))},e.prototype.toFile=function(){return r(this,void 0,void 0,(function(){return i(this,(function(e){return[2,this.data]}))}))},e}(),sr.supportsFile="undefined"!=typeof File,sr.supportsBlob="undefined"!=typeof Blob,sr.supportsArrayBuffer="undefined"!=typeof ArrayBuffer,sr.supportsBuffer=!1,sr.supportsStream=!1,sr.supportsString=!0,sr.supportsEncryptFile=!0,sr.supportsFileUri=!1,sr);function cr(e){if(!navigator||!navigator.sendBeacon)return!1;navigator.sendBeacon(e)}function lr(e){for(var t=O.enc.Base64.parse(e).words,n=new ArrayBuffer(4*t.length),r=new Uint8Array(n),i=0,o=0,s=0;s<t.length;s+=1){var a=t[s];r[o=4*s]=(4278190080&a)>>24,r[o+1]=(16711680&a)>>16,r[o+2]=(65280&a)>>8,r[o+3]=255&a}for(var u=o+3;u>=o;u-=1)0===r[u]&&i<3&&(i+=1);return i>0?r.buffer.slice(0,r.byteLength-i):r.buffer}function pr(e){var t=function(e){return e&&"object"==typeof e&&e.constructor===Object};if(!t(e))return e;var n={};return Object.keys(e).forEach((function(r){var i=function(e){return"string"==typeof e||e instanceof String}(r),o=r,s=e[r];Array.isArray(r)||i&&r.indexOf(",")>=0?o=(i?r.split(","):r).reduce((function(e,t){return e+=String.fromCharCode(t)}),""):(function(e){return"number"==typeof e&&isFinite(e)}(r)||i&&!isNaN(r))&&(o=String.fromCharCode(i?parseInt(r,10):10));n[o]=t(s)?pr(s):s})),n}var hr=function(e){function n(t){var n=this,r=t.listenToBrowserNetworkEvents,i=void 0===r||r;return t.sdkFamily="Web",t.networking=new Gt({del:ir,get:tr,post:nr,patch:rr,sendBeacon:cr,getfile:er,postfile:Zn}),t.cbor=new Kt((function(e){return pr(l.decode(e))}),lr),t.PubNubFile=ur,t.cryptography=new ar,n=e.call(this,t)||this,i&&(window.addEventListener("offline",(function(){n.networkDownDetected()})),window.addEventListener("online",(function(){n.networkUpDetected()}))),n}return t(n,e),n}(It);return hr}));
19018
19144
 
19019
19145
  }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
19020
- },{"buffer":39}],57:[function(require,module,exports){
19146
+ },{"buffer":40}],58:[function(require,module,exports){
19021
19147
  (function (global){
19022
19148
  /*! https://mths.be/punycode v1.4.1 by @mathias */
19023
19149
  ;(function(root) {
@@ -19554,7 +19680,7 @@ process.umask = function() { return 0; };
19554
19680
  }(this));
19555
19681
 
19556
19682
  }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
19557
- },{}],58:[function(require,module,exports){
19683
+ },{}],59:[function(require,module,exports){
19558
19684
  (function (process){
19559
19685
  // vim:ts=4:sts=4:sw=4:
19560
19686
  /*!
@@ -21606,7 +21732,7 @@ return Q;
21606
21732
  });
21607
21733
 
21608
21734
  }).call(this,require('_process'))
21609
- },{"_process":55}],59:[function(require,module,exports){
21735
+ },{"_process":56}],60:[function(require,module,exports){
21610
21736
  // Copyright Joyent, Inc. and other Node contributors.
21611
21737
  //
21612
21738
  // Permission is hereby granted, free of charge, to any person obtaining a
@@ -21692,7 +21818,7 @@ var isArray = Array.isArray || function (xs) {
21692
21818
  return Object.prototype.toString.call(xs) === '[object Array]';
21693
21819
  };
21694
21820
 
21695
- },{}],60:[function(require,module,exports){
21821
+ },{}],61:[function(require,module,exports){
21696
21822
  // Copyright Joyent, Inc. and other Node contributors.
21697
21823
  //
21698
21824
  // Permission is hereby granted, free of charge, to any person obtaining a
@@ -21779,16 +21905,16 @@ var objectKeys = Object.keys || function (obj) {
21779
21905
  return res;
21780
21906
  };
21781
21907
 
21782
- },{}],61:[function(require,module,exports){
21908
+ },{}],62:[function(require,module,exports){
21783
21909
  'use strict';
21784
21910
 
21785
21911
  exports.decode = exports.parse = require('./decode');
21786
21912
  exports.encode = exports.stringify = require('./encode');
21787
21913
 
21788
- },{"./decode":59,"./encode":60}],62:[function(require,module,exports){
21914
+ },{"./decode":60,"./encode":61}],63:[function(require,module,exports){
21789
21915
  module.exports = require('./lib/_stream_duplex.js');
21790
21916
 
21791
- },{"./lib/_stream_duplex.js":63}],63:[function(require,module,exports){
21917
+ },{"./lib/_stream_duplex.js":64}],64:[function(require,module,exports){
21792
21918
  // Copyright Joyent, Inc. and other Node contributors.
21793
21919
  //
21794
21920
  // Permission is hereby granted, free of charge, to any person obtaining a
@@ -21920,7 +22046,7 @@ Duplex.prototype._destroy = function (err, cb) {
21920
22046
 
21921
22047
  pna.nextTick(cb, err);
21922
22048
  };
21923
- },{"./_stream_readable":65,"./_stream_writable":67,"core-util-is":43,"inherits":71,"process-nextick-args":54}],64:[function(require,module,exports){
22049
+ },{"./_stream_readable":66,"./_stream_writable":68,"core-util-is":44,"inherits":72,"process-nextick-args":55}],65:[function(require,module,exports){
21924
22050
  // Copyright Joyent, Inc. and other Node contributors.
21925
22051
  //
21926
22052
  // Permission is hereby granted, free of charge, to any person obtaining a
@@ -21968,7 +22094,7 @@ function PassThrough(options) {
21968
22094
  PassThrough.prototype._transform = function (chunk, encoding, cb) {
21969
22095
  cb(null, chunk);
21970
22096
  };
21971
- },{"./_stream_transform":66,"core-util-is":43,"inherits":71}],65:[function(require,module,exports){
22097
+ },{"./_stream_transform":67,"core-util-is":44,"inherits":72}],66:[function(require,module,exports){
21972
22098
  (function (process,global){
21973
22099
  // Copyright Joyent, Inc. and other Node contributors.
21974
22100
  //
@@ -22990,7 +23116,7 @@ function indexOf(xs, x) {
22990
23116
  return -1;
22991
23117
  }
22992
23118
  }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
22993
- },{"./_stream_duplex":63,"./internal/streams/BufferList":68,"./internal/streams/destroy":69,"./internal/streams/stream":70,"_process":55,"core-util-is":43,"events":44,"inherits":71,"isarray":72,"process-nextick-args":54,"safe-buffer":73,"string_decoder/":74,"util":38}],66:[function(require,module,exports){
23119
+ },{"./_stream_duplex":64,"./internal/streams/BufferList":69,"./internal/streams/destroy":70,"./internal/streams/stream":71,"_process":56,"core-util-is":44,"events":45,"inherits":72,"isarray":73,"process-nextick-args":55,"safe-buffer":74,"string_decoder/":75,"util":39}],67:[function(require,module,exports){
22994
23120
  // Copyright Joyent, Inc. and other Node contributors.
22995
23121
  //
22996
23122
  // Permission is hereby granted, free of charge, to any person obtaining a
@@ -23205,7 +23331,7 @@ function done(stream, er, data) {
23205
23331
 
23206
23332
  return stream.push(null);
23207
23333
  }
23208
- },{"./_stream_duplex":63,"core-util-is":43,"inherits":71}],67:[function(require,module,exports){
23334
+ },{"./_stream_duplex":64,"core-util-is":44,"inherits":72}],68:[function(require,module,exports){
23209
23335
  (function (process,global){
23210
23336
  // Copyright Joyent, Inc. and other Node contributors.
23211
23337
  //
@@ -23893,7 +24019,7 @@ Writable.prototype._destroy = function (err, cb) {
23893
24019
  cb(err);
23894
24020
  };
23895
24021
  }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
23896
- },{"./_stream_duplex":63,"./internal/streams/destroy":69,"./internal/streams/stream":70,"_process":55,"core-util-is":43,"inherits":71,"process-nextick-args":54,"safe-buffer":73,"util-deprecate":91}],68:[function(require,module,exports){
24022
+ },{"./_stream_duplex":64,"./internal/streams/destroy":70,"./internal/streams/stream":71,"_process":56,"core-util-is":44,"inherits":72,"process-nextick-args":55,"safe-buffer":74,"util-deprecate":95}],69:[function(require,module,exports){
23897
24023
  'use strict';
23898
24024
 
23899
24025
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -23972,7 +24098,7 @@ if (util && util.inspect && util.inspect.custom) {
23972
24098
  return this.constructor.name + ' ' + obj;
23973
24099
  };
23974
24100
  }
23975
- },{"safe-buffer":73,"util":38}],69:[function(require,module,exports){
24101
+ },{"safe-buffer":74,"util":39}],70:[function(require,module,exports){
23976
24102
  'use strict';
23977
24103
 
23978
24104
  /*<replacement>*/
@@ -24057,10 +24183,10 @@ module.exports = {
24057
24183
  destroy: destroy,
24058
24184
  undestroy: undestroy
24059
24185
  };
24060
- },{"process-nextick-args":54}],70:[function(require,module,exports){
24186
+ },{"process-nextick-args":55}],71:[function(require,module,exports){
24061
24187
  module.exports = require('events').EventEmitter;
24062
24188
 
24063
- },{"events":44}],71:[function(require,module,exports){
24189
+ },{"events":45}],72:[function(require,module,exports){
24064
24190
  if (typeof Object.create === 'function') {
24065
24191
  // implementation from standard node.js 'util' module
24066
24192
  module.exports = function inherits(ctor, superCtor) {
@@ -24089,9 +24215,9 @@ if (typeof Object.create === 'function') {
24089
24215
  }
24090
24216
  }
24091
24217
 
24092
- },{}],72:[function(require,module,exports){
24093
- arguments[4][40][0].apply(exports,arguments)
24094
- },{"dup":40}],73:[function(require,module,exports){
24218
+ },{}],73:[function(require,module,exports){
24219
+ arguments[4][41][0].apply(exports,arguments)
24220
+ },{"dup":41}],74:[function(require,module,exports){
24095
24221
  /* eslint-disable node/no-deprecated-api */
24096
24222
  var buffer = require('buffer')
24097
24223
  var Buffer = buffer.Buffer
@@ -24155,7 +24281,7 @@ SafeBuffer.allocUnsafeSlow = function (size) {
24155
24281
  return buffer.SlowBuffer(size)
24156
24282
  }
24157
24283
 
24158
- },{"buffer":39}],74:[function(require,module,exports){
24284
+ },{"buffer":40}],75:[function(require,module,exports){
24159
24285
  // Copyright Joyent, Inc. and other Node contributors.
24160
24286
  //
24161
24287
  // Permission is hereby granted, free of charge, to any person obtaining a
@@ -24452,10 +24578,10 @@ function simpleWrite(buf) {
24452
24578
  function simpleEnd(buf) {
24453
24579
  return buf && buf.length ? this.write(buf) : '';
24454
24580
  }
24455
- },{"safe-buffer":73}],75:[function(require,module,exports){
24581
+ },{"safe-buffer":74}],76:[function(require,module,exports){
24456
24582
  module.exports = require('./readable').PassThrough
24457
24583
 
24458
- },{"./readable":76}],76:[function(require,module,exports){
24584
+ },{"./readable":77}],77:[function(require,module,exports){
24459
24585
  exports = module.exports = require('./lib/_stream_readable.js');
24460
24586
  exports.Stream = exports;
24461
24587
  exports.Readable = exports;
@@ -24464,13 +24590,13 @@ exports.Duplex = require('./lib/_stream_duplex.js');
24464
24590
  exports.Transform = require('./lib/_stream_transform.js');
24465
24591
  exports.PassThrough = require('./lib/_stream_passthrough.js');
24466
24592
 
24467
- },{"./lib/_stream_duplex.js":63,"./lib/_stream_passthrough.js":64,"./lib/_stream_readable.js":65,"./lib/_stream_transform.js":66,"./lib/_stream_writable.js":67}],77:[function(require,module,exports){
24593
+ },{"./lib/_stream_duplex.js":64,"./lib/_stream_passthrough.js":65,"./lib/_stream_readable.js":66,"./lib/_stream_transform.js":67,"./lib/_stream_writable.js":68}],78:[function(require,module,exports){
24468
24594
  module.exports = require('./readable').Transform
24469
24595
 
24470
- },{"./readable":76}],78:[function(require,module,exports){
24596
+ },{"./readable":77}],79:[function(require,module,exports){
24471
24597
  module.exports = require('./lib/_stream_writable.js');
24472
24598
 
24473
- },{"./lib/_stream_writable.js":67}],79:[function(require,module,exports){
24599
+ },{"./lib/_stream_writable.js":68}],80:[function(require,module,exports){
24474
24600
 
24475
24601
  /**
24476
24602
  * Reduce `arr` with `fn`.
@@ -24495,7 +24621,7 @@ module.exports = function(arr, fn, initial){
24495
24621
 
24496
24622
  return curr;
24497
24623
  };
24498
- },{}],80:[function(require,module,exports){
24624
+ },{}],81:[function(require,module,exports){
24499
24625
  // Copyright Joyent, Inc. and other Node contributors.
24500
24626
  //
24501
24627
  // Permission is hereby granted, free of charge, to any person obtaining a
@@ -24624,9 +24750,9 @@ Stream.prototype.pipe = function(dest, options) {
24624
24750
  return dest;
24625
24751
  };
24626
24752
 
24627
- },{"events":44,"inherits":81,"readable-stream/duplex.js":62,"readable-stream/passthrough.js":75,"readable-stream/readable.js":76,"readable-stream/transform.js":77,"readable-stream/writable.js":78}],81:[function(require,module,exports){
24628
- arguments[4][71][0].apply(exports,arguments)
24629
- },{"dup":71}],82:[function(require,module,exports){
24753
+ },{"events":45,"inherits":82,"readable-stream/duplex.js":63,"readable-stream/passthrough.js":76,"readable-stream/readable.js":77,"readable-stream/transform.js":78,"readable-stream/writable.js":79}],82:[function(require,module,exports){
24754
+ arguments[4][72][0].apply(exports,arguments)
24755
+ },{"dup":72}],83:[function(require,module,exports){
24630
24756
  var ClientRequest = require('./lib/request')
24631
24757
  var extend = require('xtend')
24632
24758
  var statusCodes = require('builtin-status-codes')
@@ -24701,7 +24827,7 @@ http.METHODS = [
24701
24827
  'UNLOCK',
24702
24828
  'UNSUBSCRIBE'
24703
24829
  ]
24704
- },{"./lib/request":84,"builtin-status-codes":41,"url":90,"xtend":94}],83:[function(require,module,exports){
24830
+ },{"./lib/request":85,"builtin-status-codes":42,"url":94,"xtend":98}],84:[function(require,module,exports){
24705
24831
  (function (global){
24706
24832
  exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableByteStream)
24707
24833
 
@@ -24745,7 +24871,7 @@ function isFunction (value) {
24745
24871
  xhr = null // Help gc
24746
24872
 
24747
24873
  }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
24748
- },{}],84:[function(require,module,exports){
24874
+ },{}],85:[function(require,module,exports){
24749
24875
  (function (process,global,Buffer){
24750
24876
  // var Base64 = require('Base64')
24751
24877
  var capability = require('./capability')
@@ -25027,7 +25153,7 @@ var unsafeHeaders = [
25027
25153
  ]
25028
25154
 
25029
25155
  }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
25030
- },{"./capability":83,"./response":85,"_process":55,"buffer":39,"foreach":46,"indexof":49,"inherits":86,"object-keys":51,"stream":80}],85:[function(require,module,exports){
25156
+ },{"./capability":84,"./response":86,"_process":56,"buffer":40,"foreach":47,"indexof":50,"inherits":87,"object-keys":52,"stream":81}],86:[function(require,module,exports){
25031
25157
  (function (process,global,Buffer){
25032
25158
  var capability = require('./capability')
25033
25159
  var foreach = require('foreach')
@@ -25204,9 +25330,9 @@ IncomingMessage.prototype._onXHRProgress = function () {
25204
25330
  }
25205
25331
 
25206
25332
  }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
25207
- },{"./capability":83,"_process":55,"buffer":39,"foreach":46,"inherits":86,"stream":80}],86:[function(require,module,exports){
25208
- arguments[4][71][0].apply(exports,arguments)
25209
- },{"dup":71}],87:[function(require,module,exports){
25333
+ },{"./capability":84,"_process":56,"buffer":40,"foreach":47,"inherits":87,"stream":81}],87:[function(require,module,exports){
25334
+ arguments[4][72][0].apply(exports,arguments)
25335
+ },{"dup":72}],88:[function(require,module,exports){
25210
25336
  var nargs = /\{([0-9a-zA-Z_]+)\}/g
25211
25337
 
25212
25338
  module.exports = template
@@ -25244,13 +25370,15 @@ function template(string) {
25244
25370
  })
25245
25371
  }
25246
25372
 
25247
- },{}],88:[function(require,module,exports){
25373
+ },{}],89:[function(require,module,exports){
25248
25374
  /**
25249
25375
  * Module dependencies.
25250
25376
  */
25251
25377
 
25252
25378
  var Emitter = require('emitter');
25253
25379
  var reduce = require('reduce');
25380
+ var requestBase = require('./request-base');
25381
+ var isObject = require('./is-object');
25254
25382
 
25255
25383
  /**
25256
25384
  * Root reference for iframes.
@@ -25272,28 +25400,10 @@ if (typeof window !== 'undefined') { // Browser window
25272
25400
  function noop(){};
25273
25401
 
25274
25402
  /**
25275
- * Check if `obj` is a host object,
25276
- * we don't want to serialize these :)
25277
- *
25278
- * TODO: future proof, move to compoent land
25279
- *
25280
- * @param {Object} obj
25281
- * @return {Boolean}
25282
- * @api private
25403
+ * Expose `request`.
25283
25404
  */
25284
25405
 
25285
- function isHost(obj) {
25286
- var str = {}.toString.call(obj);
25287
-
25288
- switch (str) {
25289
- case '[object File]':
25290
- case '[object Blob]':
25291
- case '[object FormData]':
25292
- return true;
25293
- default:
25294
- return false;
25295
- }
25296
- }
25406
+ var request = module.exports = require('./request').bind(null, Request);
25297
25407
 
25298
25408
  /**
25299
25409
  * Determine XHR.
@@ -25325,18 +25435,6 @@ var trim = ''.trim
25325
25435
  ? function(s) { return s.trim(); }
25326
25436
  : function(s) { return s.replace(/(^\s*|\s*$)/g, ''); };
25327
25437
 
25328
- /**
25329
- * Check if `obj` is an object.
25330
- *
25331
- * @param {Object} obj
25332
- * @return {Boolean}
25333
- * @api private
25334
- */
25335
-
25336
- function isObject(obj) {
25337
- return obj === Object(obj);
25338
- }
25339
-
25340
25438
  /**
25341
25439
  * Serialize the given `obj`.
25342
25440
  *
@@ -25351,8 +25449,8 @@ function serialize(obj) {
25351
25449
  for (var key in obj) {
25352
25450
  if (null != obj[key]) {
25353
25451
  pushEncodedKeyValuePair(pairs, key, obj[key]);
25354
- }
25355
- }
25452
+ }
25453
+ }
25356
25454
  return pairs.join('&');
25357
25455
  }
25358
25456
 
@@ -25370,6 +25468,11 @@ function pushEncodedKeyValuePair(pairs, key, val) {
25370
25468
  return val.forEach(function(v) {
25371
25469
  pushEncodedKeyValuePair(pairs, key, v);
25372
25470
  });
25471
+ } else if (isObject(val)) {
25472
+ for(var subkey in val) {
25473
+ pushEncodedKeyValuePair(pairs, key + '[' + subkey + ']', val[subkey]);
25474
+ }
25475
+ return;
25373
25476
  }
25374
25477
  pairs.push(encodeURIComponent(key)
25375
25478
  + '=' + encodeURIComponent(val));
@@ -25392,13 +25495,18 @@ function pushEncodedKeyValuePair(pairs, key, val) {
25392
25495
  function parseString(str) {
25393
25496
  var obj = {};
25394
25497
  var pairs = str.split('&');
25395
- var parts;
25396
25498
  var pair;
25499
+ var pos;
25397
25500
 
25398
25501
  for (var i = 0, len = pairs.length; i < len; ++i) {
25399
25502
  pair = pairs[i];
25400
- parts = pair.split('=');
25401
- obj[decodeURIComponent(parts[0])] = decodeURIComponent(parts[1]);
25503
+ pos = pair.indexOf('=');
25504
+ if (pos == -1) {
25505
+ obj[decodeURIComponent(pair)] = '';
25506
+ } else {
25507
+ obj[decodeURIComponent(pair.slice(0, pos))] =
25508
+ decodeURIComponent(pair.slice(pos + 1));
25509
+ }
25402
25510
  }
25403
25511
 
25404
25512
  return obj;
@@ -25582,15 +25690,15 @@ function Response(req, options) {
25582
25690
  ? this.xhr.responseText
25583
25691
  : null;
25584
25692
  this.statusText = this.req.xhr.statusText;
25585
- this.setStatusProperties(this.xhr.status);
25693
+ this._setStatusProperties(this.xhr.status);
25586
25694
  this.header = this.headers = parseHeader(this.xhr.getAllResponseHeaders());
25587
25695
  // getAllResponseHeaders sometimes falsely returns "" for CORS requests, but
25588
25696
  // getResponseHeader still works. so we get content-type even if getting
25589
25697
  // other headers fails.
25590
25698
  this.header['content-type'] = this.xhr.getResponseHeader('content-type');
25591
- this.setHeaderProperties(this.header);
25699
+ this._setHeaderProperties(this.header);
25592
25700
  this.body = this.req.method != 'HEAD'
25593
- ? this.parseBody(this.text ? this.text : this.xhr.response)
25701
+ ? this._parseBody(this.text ? this.text : this.xhr.response)
25594
25702
  : null;
25595
25703
  }
25596
25704
 
@@ -25618,7 +25726,7 @@ Response.prototype.get = function(field){
25618
25726
  * @api private
25619
25727
  */
25620
25728
 
25621
- Response.prototype.setHeaderProperties = function(header){
25729
+ Response.prototype._setHeaderProperties = function(header){
25622
25730
  // content-type
25623
25731
  var ct = this.header['content-type'] || '';
25624
25732
  this.type = type(ct);
@@ -25639,8 +25747,11 @@ Response.prototype.setHeaderProperties = function(header){
25639
25747
  * @api private
25640
25748
  */
25641
25749
 
25642
- Response.prototype.parseBody = function(str){
25750
+ Response.prototype._parseBody = function(str){
25643
25751
  var parse = request.parse[this.type];
25752
+ if (!parse && isJSON(this.type)) {
25753
+ parse = request.parse['application/json'];
25754
+ }
25644
25755
  return parse && str && (str.length || str instanceof Object)
25645
25756
  ? parse(str)
25646
25757
  : null;
@@ -25667,7 +25778,7 @@ Response.prototype.parseBody = function(str){
25667
25778
  * @api private
25668
25779
  */
25669
25780
 
25670
- Response.prototype.setStatusProperties = function(status){
25781
+ Response.prototype._setStatusProperties = function(status){
25671
25782
  // handle IE9 bug: http://stackoverflow.com/questions/10046972/msie-returns-status-code-of-1223-for-ajax-request
25672
25783
  if (status === 1223) {
25673
25784
  status = 204;
@@ -25735,12 +25846,11 @@ request.Response = Response;
25735
25846
 
25736
25847
  function Request(method, url) {
25737
25848
  var self = this;
25738
- Emitter.call(this);
25739
25849
  this._query = this._query || [];
25740
25850
  this.method = method;
25741
25851
  this.url = url;
25742
- this.header = {};
25743
- this._header = {};
25852
+ this.header = {}; // preserves header name case
25853
+ this._header = {}; // coerces header names to lowercase
25744
25854
  this.on('end', function(){
25745
25855
  var err = null;
25746
25856
  var res = null;
@@ -25753,6 +25863,8 @@ function Request(method, url) {
25753
25863
  err.original = e;
25754
25864
  // issue #675: return the raw response if the response parsing fails
25755
25865
  err.rawResponse = self.xhr && self.xhr.responseText ? self.xhr.responseText : null;
25866
+ // issue #876: return the http status code if the response parsing fails
25867
+ err.statusCode = self.xhr && self.xhr.status ? self.xhr.status : null;
25756
25868
  return self.callback(err);
25757
25869
  }
25758
25870
 
@@ -25762,140 +25874,32 @@ function Request(method, url) {
25762
25874
  return self.callback(err, res);
25763
25875
  }
25764
25876
 
25765
- if (res.status >= 200 && res.status < 300) {
25766
- return self.callback(err, res);
25767
- }
25877
+ try {
25878
+ if (res.status >= 200 && res.status < 300) {
25879
+ return self.callback(err, res);
25880
+ }
25768
25881
 
25769
- var new_err = new Error(res.statusText || 'Unsuccessful HTTP response');
25770
- new_err.original = err;
25771
- new_err.response = res;
25772
- new_err.status = res.status;
25882
+ var new_err = new Error(res.statusText || 'Unsuccessful HTTP response');
25883
+ new_err.original = err;
25884
+ new_err.response = res;
25885
+ new_err.status = res.status;
25773
25886
 
25774
- self.callback(new_err, res);
25887
+ self.callback(new_err, res);
25888
+ } catch(e) {
25889
+ self.callback(e); // #985 touching res may cause INVALID_STATE_ERR on old Android
25890
+ }
25775
25891
  });
25776
25892
  }
25777
25893
 
25778
25894
  /**
25779
- * Mixin `Emitter`.
25895
+ * Mixin `Emitter` and `requestBase`.
25780
25896
  */
25781
25897
 
25782
25898
  Emitter(Request.prototype);
25783
-
25784
- /**
25785
- * Allow for extension
25786
- */
25787
-
25788
- Request.prototype.use = function(fn) {
25789
- fn(this);
25790
- return this;
25899
+ for (var key in requestBase) {
25900
+ Request.prototype[key] = requestBase[key];
25791
25901
  }
25792
25902
 
25793
- /**
25794
- * Set timeout to `ms`.
25795
- *
25796
- * @param {Number} ms
25797
- * @return {Request} for chaining
25798
- * @api public
25799
- */
25800
-
25801
- Request.prototype.timeout = function(ms){
25802
- this._timeout = ms;
25803
- return this;
25804
- };
25805
-
25806
- /**
25807
- * Clear previous timeout.
25808
- *
25809
- * @return {Request} for chaining
25810
- * @api public
25811
- */
25812
-
25813
- Request.prototype.clearTimeout = function(){
25814
- this._timeout = 0;
25815
- clearTimeout(this._timer);
25816
- return this;
25817
- };
25818
-
25819
- /**
25820
- * Abort the request, and clear potential timeout.
25821
- *
25822
- * @return {Request}
25823
- * @api public
25824
- */
25825
-
25826
- Request.prototype.abort = function(){
25827
- if (this.aborted) return;
25828
- this.aborted = true;
25829
- this.xhr.abort();
25830
- this.clearTimeout();
25831
- this.emit('abort');
25832
- return this;
25833
- };
25834
-
25835
- /**
25836
- * Set header `field` to `val`, or multiple fields with one object.
25837
- *
25838
- * Examples:
25839
- *
25840
- * req.get('/')
25841
- * .set('Accept', 'application/json')
25842
- * .set('X-API-Key', 'foobar')
25843
- * .end(callback);
25844
- *
25845
- * req.get('/')
25846
- * .set({ Accept: 'application/json', 'X-API-Key': 'foobar' })
25847
- * .end(callback);
25848
- *
25849
- * @param {String|Object} field
25850
- * @param {String} val
25851
- * @return {Request} for chaining
25852
- * @api public
25853
- */
25854
-
25855
- Request.prototype.set = function(field, val){
25856
- if (isObject(field)) {
25857
- for (var key in field) {
25858
- this.set(key, field[key]);
25859
- }
25860
- return this;
25861
- }
25862
- this._header[field.toLowerCase()] = val;
25863
- this.header[field] = val;
25864
- return this;
25865
- };
25866
-
25867
- /**
25868
- * Remove header `field`.
25869
- *
25870
- * Example:
25871
- *
25872
- * req.get('/')
25873
- * .unset('User-Agent')
25874
- * .end(callback);
25875
- *
25876
- * @param {String} field
25877
- * @return {Request} for chaining
25878
- * @api public
25879
- */
25880
-
25881
- Request.prototype.unset = function(field){
25882
- delete this._header[field.toLowerCase()];
25883
- delete this.header[field];
25884
- return this;
25885
- };
25886
-
25887
- /**
25888
- * Get case-insensitive header `field` value.
25889
- *
25890
- * @param {String} field
25891
- * @return {String}
25892
- * @api private
25893
- */
25894
-
25895
- Request.prototype.getHeader = function(field){
25896
- return this._header[field.toLowerCase()];
25897
- };
25898
-
25899
25903
  /**
25900
25904
  * Set Content-Type to `type`, mapping values from `request.types`.
25901
25905
  *
@@ -25924,16 +25928,22 @@ Request.prototype.type = function(type){
25924
25928
  };
25925
25929
 
25926
25930
  /**
25927
- * Force given parser
25931
+ * Set responseType to `val`. Presently valid responseTypes are 'blob' and
25932
+ * 'arraybuffer'.
25928
25933
  *
25929
- * Sets the body parser no matter type.
25934
+ * Examples:
25930
25935
  *
25931
- * @param {Function}
25936
+ * req.get('/')
25937
+ * .responseType('blob')
25938
+ * .end(callback);
25939
+ *
25940
+ * @param {String} val
25941
+ * @return {Request} for chaining
25932
25942
  * @api public
25933
25943
  */
25934
25944
 
25935
- Request.prototype.parse = function(fn){
25936
- this._parser = fn;
25945
+ Request.prototype.responseType = function(val){
25946
+ this._responseType = val;
25937
25947
  return this;
25938
25948
  };
25939
25949
 
@@ -25967,13 +25977,29 @@ Request.prototype.accept = function(type){
25967
25977
  *
25968
25978
  * @param {String} user
25969
25979
  * @param {String} pass
25980
+ * @param {Object} options with 'type' property 'auto' or 'basic' (default 'basic')
25970
25981
  * @return {Request} for chaining
25971
25982
  * @api public
25972
25983
  */
25973
25984
 
25974
- Request.prototype.auth = function(user, pass){
25975
- var str = btoa(user + ':' + pass);
25976
- this.set('Authorization', 'Basic ' + str);
25985
+ Request.prototype.auth = function(user, pass, options){
25986
+ if (!options) {
25987
+ options = {
25988
+ type: 'basic'
25989
+ }
25990
+ }
25991
+
25992
+ switch (options.type) {
25993
+ case 'basic':
25994
+ var str = btoa(user + ':' + pass);
25995
+ this.set('Authorization', 'Basic ' + str);
25996
+ break;
25997
+
25998
+ case 'auto':
25999
+ this.username = user;
26000
+ this.password = pass;
26001
+ break;
26002
+ }
25977
26003
  return this;
25978
26004
  };
25979
26005
 
@@ -25997,35 +26023,13 @@ Request.prototype.query = function(val){
25997
26023
  return this;
25998
26024
  };
25999
26025
 
26000
- /**
26001
- * Write the field `name` and `val` for "multipart/form-data"
26002
- * request bodies.
26003
- *
26004
- * ``` js
26005
- * request.post('/upload')
26006
- * .field('foo', 'bar')
26007
- * .end(callback);
26008
- * ```
26009
- *
26010
- * @param {String} name
26011
- * @param {String|Blob|File} val
26012
- * @return {Request} for chaining
26013
- * @api public
26014
- */
26015
-
26016
- Request.prototype.field = function(name, val){
26017
- if (!this._formData) this._formData = new root.FormData();
26018
- this._formData.append(name, val);
26019
- return this;
26020
- };
26021
-
26022
26026
  /**
26023
26027
  * Queue the given `file` as an attachment to the specified `field`,
26024
26028
  * with optional `filename`.
26025
26029
  *
26026
26030
  * ``` js
26027
26031
  * request.post('/upload')
26028
- * .attach(new Blob(['<a id="a"><b id="b">hey!</b></a>'], { type: "text/html"}))
26032
+ * .attach('content', new Blob(['<a id="a"><b id="b">hey!</b></a>'], { type: "text/html"}))
26029
26033
  * .end(callback);
26030
26034
  * ```
26031
26035
  *
@@ -26037,77 +26041,15 @@ Request.prototype.field = function(name, val){
26037
26041
  */
26038
26042
 
26039
26043
  Request.prototype.attach = function(field, file, filename){
26040
- if (!this._formData) this._formData = new root.FormData();
26041
- this._formData.append(field, file, filename || file.name);
26044
+ this._getFormData().append(field, file, filename || file.name);
26042
26045
  return this;
26043
26046
  };
26044
26047
 
26045
- /**
26046
- * Send `data` as the request body, defaulting the `.type()` to "json" when
26047
- * an object is given.
26048
- *
26049
- * Examples:
26050
- *
26051
- * // manual json
26052
- * request.post('/user')
26053
- * .type('json')
26054
- * .send('{"name":"tj"}')
26055
- * .end(callback)
26056
- *
26057
- * // auto json
26058
- * request.post('/user')
26059
- * .send({ name: 'tj' })
26060
- * .end(callback)
26061
- *
26062
- * // manual x-www-form-urlencoded
26063
- * request.post('/user')
26064
- * .type('form')
26065
- * .send('name=tj')
26066
- * .end(callback)
26067
- *
26068
- * // auto x-www-form-urlencoded
26069
- * request.post('/user')
26070
- * .type('form')
26071
- * .send({ name: 'tj' })
26072
- * .end(callback)
26073
- *
26074
- * // defaults to x-www-form-urlencoded
26075
- * request.post('/user')
26076
- * .send('name=tobi')
26077
- * .send('species=ferret')
26078
- * .end(callback)
26079
- *
26080
- * @param {String|Object} data
26081
- * @return {Request} for chaining
26082
- * @api public
26083
- */
26084
-
26085
- Request.prototype.send = function(data){
26086
- var obj = isObject(data);
26087
- var type = this.getHeader('Content-Type');
26088
-
26089
- // merge
26090
- if (obj && isObject(this._data)) {
26091
- for (var key in data) {
26092
- this._data[key] = data[key];
26093
- }
26094
- } else if ('string' == typeof data) {
26095
- if (!type) this.type('form');
26096
- type = this.getHeader('Content-Type');
26097
- if ('application/x-www-form-urlencoded' == type) {
26098
- this._data = this._data
26099
- ? this._data + '&' + data
26100
- : data;
26101
- } else {
26102
- this._data = (this._data || '') + data;
26103
- }
26104
- } else {
26105
- this._data = data;
26048
+ Request.prototype._getFormData = function(){
26049
+ if (!this._formData) {
26050
+ this._formData = new root.FormData();
26106
26051
  }
26107
-
26108
- if (!obj || isHost(data)) return this;
26109
- if (!type) this.type('json');
26110
- return this;
26052
+ return this._formData;
26111
26053
  };
26112
26054
 
26113
26055
  /**
@@ -26148,7 +26090,7 @@ Request.prototype.crossDomainError = function(){
26148
26090
  * @api private
26149
26091
  */
26150
26092
 
26151
- Request.prototype.timeoutError = function(){
26093
+ Request.prototype._timeoutError = function(){
26152
26094
  var timeout = this._timeout;
26153
26095
  var err = new Error('timeout of ' + timeout + 'ms exceeded');
26154
26096
  err.timeout = timeout;
@@ -26156,19 +26098,18 @@ Request.prototype.timeoutError = function(){
26156
26098
  };
26157
26099
 
26158
26100
  /**
26159
- * Enable transmission of cookies with x-domain requests.
26101
+ * Compose querystring to append to req.url
26160
26102
  *
26161
- * Note that for this to work the origin must not be
26162
- * using "Access-Control-Allow-Origin" with a wildcard,
26163
- * and also must set "Access-Control-Allow-Credentials"
26164
- * to "true".
26165
- *
26166
- * @api public
26103
+ * @api private
26167
26104
  */
26168
26105
 
26169
- Request.prototype.withCredentials = function(){
26170
- this._withCredentials = true;
26171
- return this;
26106
+ Request.prototype._appendQueryString = function(){
26107
+ var query = this._query.join('&');
26108
+ if (query) {
26109
+ this.url += ~this.url.indexOf('?')
26110
+ ? '&' + query
26111
+ : '?' + query;
26112
+ }
26172
26113
  };
26173
26114
 
26174
26115
  /**
@@ -26183,7 +26124,6 @@ Request.prototype.withCredentials = function(){
26183
26124
  Request.prototype.end = function(fn){
26184
26125
  var self = this;
26185
26126
  var xhr = this.xhr = request.getXHR();
26186
- var query = this._query.join('&');
26187
26127
  var timeout = this._timeout;
26188
26128
  var data = this._formData || this._data;
26189
26129
 
@@ -26200,8 +26140,8 @@ Request.prototype.end = function(fn){
26200
26140
  try { status = xhr.status } catch(e) { status = 0; }
26201
26141
 
26202
26142
  if (0 == status) {
26203
- if (self.timedout) return self.timeoutError();
26204
- if (self.aborted) return;
26143
+ if (self.timedout) return self._timeoutError();
26144
+ if (self._aborted) return;
26205
26145
  return self.crossDomainError();
26206
26146
  }
26207
26147
  self.emit('end');
@@ -26237,24 +26177,23 @@ Request.prototype.end = function(fn){
26237
26177
  }
26238
26178
 
26239
26179
  // querystring
26240
- if (query) {
26241
- query = request.serializeObject(query);
26242
- this.url += ~this.url.indexOf('?')
26243
- ? '&' + query
26244
- : '?' + query;
26245
- }
26180
+ this._appendQueryString();
26246
26181
 
26247
26182
  // initiate request
26248
- xhr.open(this.method, this.url, true);
26183
+ if (this.username && this.password) {
26184
+ xhr.open(this.method, this.url, true, this.username, this.password);
26185
+ } else {
26186
+ xhr.open(this.method, this.url, true);
26187
+ }
26249
26188
 
26250
26189
  // CORS
26251
26190
  if (this._withCredentials) xhr.withCredentials = true;
26252
26191
 
26253
26192
  // body
26254
- if ('GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !isHost(data)) {
26193
+ if ('GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {
26255
26194
  // serialize stuff
26256
- var contentType = this.getHeader('Content-Type');
26257
- var serialize = this._parser || request.serialize[contentType ? contentType.split(';')[0] : ''];
26195
+ var contentType = this._header['content-type'];
26196
+ var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];
26258
26197
  if (!serialize && isJSON(contentType)) serialize = request.serialize['application/json'];
26259
26198
  if (serialize) data = serialize(data);
26260
26199
  }
@@ -26265,6 +26204,10 @@ Request.prototype.end = function(fn){
26265
26204
  xhr.setRequestHeader(field, this.header[field]);
26266
26205
  }
26267
26206
 
26207
+ if (this._responseType) {
26208
+ xhr.responseType = this._responseType;
26209
+ }
26210
+
26268
26211
  // send stuff
26269
26212
  this.emit('request', this);
26270
26213
 
@@ -26274,19 +26217,6 @@ Request.prototype.end = function(fn){
26274
26217
  return this;
26275
26218
  };
26276
26219
 
26277
- /**
26278
- * Faux promise support
26279
- *
26280
- * @param {Function} fulfill
26281
- * @param {Function} reject
26282
- * @return {Request}
26283
- */
26284
-
26285
- Request.prototype.then = function (fulfill, reject) {
26286
- return this.end(function(err, res) {
26287
- err ? reject(err) : fulfill(res);
26288
- });
26289
- }
26290
26220
 
26291
26221
  /**
26292
26222
  * Expose `Request`.
@@ -26294,35 +26224,6 @@ Request.prototype.then = function (fulfill, reject) {
26294
26224
 
26295
26225
  request.Request = Request;
26296
26226
 
26297
- /**
26298
- * Issue a request:
26299
- *
26300
- * Examples:
26301
- *
26302
- * request('GET', '/users').end(callback)
26303
- * request('/users').end(callback)
26304
- * request('/users', callback)
26305
- *
26306
- * @param {String} method
26307
- * @param {String|Function} url or callback
26308
- * @return {Request}
26309
- * @api public
26310
- */
26311
-
26312
- function request(method, url) {
26313
- // callback
26314
- if ('function' == typeof url) {
26315
- return new Request('GET', method).end(url);
26316
- }
26317
-
26318
- // url first
26319
- if (1 == arguments.length) {
26320
- return new Request('GET', method);
26321
- }
26322
-
26323
- return new Request(method, url);
26324
- }
26325
-
26326
26227
  /**
26327
26228
  * GET `url` with optional callback `fn(res)`.
26328
26229
  *
@@ -26359,6 +26260,24 @@ request.head = function(url, data, fn){
26359
26260
  return req;
26360
26261
  };
26361
26262
 
26263
+ /**
26264
+ * OPTIONS query to `url` with optional callback `fn(res)`.
26265
+ *
26266
+ * @param {String} url
26267
+ * @param {Mixed|Function} data or fn
26268
+ * @param {Function} fn
26269
+ * @return {Request}
26270
+ * @api public
26271
+ */
26272
+
26273
+ request.options = function(url, data, fn){
26274
+ var req = request('OPTIONS', url);
26275
+ if ('function' == typeof data) fn = data, data = null;
26276
+ if (data) req.send(data);
26277
+ if (fn) req.end(fn);
26278
+ return req;
26279
+ };
26280
+
26362
26281
  /**
26363
26282
  * DELETE `url` with optional callback `fn(res)`.
26364
26283
  *
@@ -26431,13 +26350,404 @@ request.put = function(url, data, fn){
26431
26350
  return req;
26432
26351
  };
26433
26352
 
26353
+ },{"./is-object":90,"./request":92,"./request-base":91,"emitter":43,"reduce":80}],90:[function(require,module,exports){
26434
26354
  /**
26435
- * Expose `request`.
26355
+ * Check if `obj` is an object.
26356
+ *
26357
+ * @param {Object} obj
26358
+ * @return {Boolean}
26359
+ * @api private
26360
+ */
26361
+
26362
+ function isObject(obj) {
26363
+ return null !== obj && 'object' === typeof obj;
26364
+ }
26365
+
26366
+ module.exports = isObject;
26367
+
26368
+ },{}],91:[function(require,module,exports){
26369
+ /**
26370
+ * Module of mixed-in functions shared between node and client code
26371
+ */
26372
+ var isObject = require('./is-object');
26373
+
26374
+ /**
26375
+ * Clear previous timeout.
26376
+ *
26377
+ * @return {Request} for chaining
26378
+ * @api public
26379
+ */
26380
+
26381
+ exports.clearTimeout = function _clearTimeout(){
26382
+ this._timeout = 0;
26383
+ clearTimeout(this._timer);
26384
+ return this;
26385
+ };
26386
+
26387
+ /**
26388
+ * Override default response body parser
26389
+ *
26390
+ * This function will be called to convert incoming data into request.body
26391
+ *
26392
+ * @param {Function}
26393
+ * @api public
26394
+ */
26395
+
26396
+ exports.parse = function parse(fn){
26397
+ this._parser = fn;
26398
+ return this;
26399
+ };
26400
+
26401
+ /**
26402
+ * Override default request body serializer
26403
+ *
26404
+ * This function will be called to convert data set via .send or .attach into payload to send
26405
+ *
26406
+ * @param {Function}
26407
+ * @api public
26408
+ */
26409
+
26410
+ exports.serialize = function serialize(fn){
26411
+ this._serializer = fn;
26412
+ return this;
26413
+ };
26414
+
26415
+ /**
26416
+ * Set timeout to `ms`.
26417
+ *
26418
+ * @param {Number} ms
26419
+ * @return {Request} for chaining
26420
+ * @api public
26421
+ */
26422
+
26423
+ exports.timeout = function timeout(ms){
26424
+ this._timeout = ms;
26425
+ return this;
26426
+ };
26427
+
26428
+ /**
26429
+ * Promise support
26430
+ *
26431
+ * @param {Function} resolve
26432
+ * @param {Function} reject
26433
+ * @return {Request}
26434
+ */
26435
+
26436
+ exports.then = function then(resolve, reject) {
26437
+ if (!this._fullfilledPromise) {
26438
+ var self = this;
26439
+ this._fullfilledPromise = new Promise(function(innerResolve, innerReject){
26440
+ self.end(function(err, res){
26441
+ if (err) innerReject(err); else innerResolve(res);
26442
+ });
26443
+ });
26444
+ }
26445
+ return this._fullfilledPromise.then(resolve, reject);
26446
+ }
26447
+
26448
+ /**
26449
+ * Allow for extension
26450
+ */
26451
+
26452
+ exports.use = function use(fn) {
26453
+ fn(this);
26454
+ return this;
26455
+ }
26456
+
26457
+
26458
+ /**
26459
+ * Get request header `field`.
26460
+ * Case-insensitive.
26461
+ *
26462
+ * @param {String} field
26463
+ * @return {String}
26464
+ * @api public
26465
+ */
26466
+
26467
+ exports.get = function(field){
26468
+ return this._header[field.toLowerCase()];
26469
+ };
26470
+
26471
+ /**
26472
+ * Get case-insensitive header `field` value.
26473
+ * This is a deprecated internal API. Use `.get(field)` instead.
26474
+ *
26475
+ * (getHeader is no longer used internally by the superagent code base)
26476
+ *
26477
+ * @param {String} field
26478
+ * @return {String}
26479
+ * @api private
26480
+ * @deprecated
26436
26481
  */
26437
26482
 
26483
+ exports.getHeader = exports.get;
26484
+
26485
+ /**
26486
+ * Set header `field` to `val`, or multiple fields with one object.
26487
+ * Case-insensitive.
26488
+ *
26489
+ * Examples:
26490
+ *
26491
+ * req.get('/')
26492
+ * .set('Accept', 'application/json')
26493
+ * .set('X-API-Key', 'foobar')
26494
+ * .end(callback);
26495
+ *
26496
+ * req.get('/')
26497
+ * .set({ Accept: 'application/json', 'X-API-Key': 'foobar' })
26498
+ * .end(callback);
26499
+ *
26500
+ * @param {String|Object} field
26501
+ * @param {String} val
26502
+ * @return {Request} for chaining
26503
+ * @api public
26504
+ */
26505
+
26506
+ exports.set = function(field, val){
26507
+ if (isObject(field)) {
26508
+ for (var key in field) {
26509
+ this.set(key, field[key]);
26510
+ }
26511
+ return this;
26512
+ }
26513
+ this._header[field.toLowerCase()] = val;
26514
+ this.header[field] = val;
26515
+ return this;
26516
+ };
26517
+
26518
+ /**
26519
+ * Remove header `field`.
26520
+ * Case-insensitive.
26521
+ *
26522
+ * Example:
26523
+ *
26524
+ * req.get('/')
26525
+ * .unset('User-Agent')
26526
+ * .end(callback);
26527
+ *
26528
+ * @param {String} field
26529
+ */
26530
+ exports.unset = function(field){
26531
+ delete this._header[field.toLowerCase()];
26532
+ delete this.header[field];
26533
+ return this;
26534
+ };
26535
+
26536
+ /**
26537
+ * Write the field `name` and `val` for "multipart/form-data"
26538
+ * request bodies.
26539
+ *
26540
+ * ``` js
26541
+ * request.post('/upload')
26542
+ * .field('foo', 'bar')
26543
+ * .end(callback);
26544
+ * ```
26545
+ *
26546
+ * @param {String} name
26547
+ * @param {String|Blob|File|Buffer|fs.ReadStream} val
26548
+ * @return {Request} for chaining
26549
+ * @api public
26550
+ */
26551
+ exports.field = function(name, val) {
26552
+ this._getFormData().append(name, val);
26553
+ return this;
26554
+ };
26555
+
26556
+ /**
26557
+ * Abort the request, and clear potential timeout.
26558
+ *
26559
+ * @return {Request}
26560
+ * @api public
26561
+ */
26562
+ exports.abort = function(){
26563
+ if (this._aborted) {
26564
+ return this;
26565
+ }
26566
+ this._aborted = true;
26567
+ this.xhr && this.xhr.abort(); // browser
26568
+ this.req && this.req.abort(); // node
26569
+ this.clearTimeout();
26570
+ this.emit('abort');
26571
+ return this;
26572
+ };
26573
+
26574
+ /**
26575
+ * Enable transmission of cookies with x-domain requests.
26576
+ *
26577
+ * Note that for this to work the origin must not be
26578
+ * using "Access-Control-Allow-Origin" with a wildcard,
26579
+ * and also must set "Access-Control-Allow-Credentials"
26580
+ * to "true".
26581
+ *
26582
+ * @api public
26583
+ */
26584
+
26585
+ exports.withCredentials = function(){
26586
+ // This is browser-only functionality. Node side is no-op.
26587
+ this._withCredentials = true;
26588
+ return this;
26589
+ };
26590
+
26591
+ /**
26592
+ * Set the max redirects to `n`. Does noting in browser XHR implementation.
26593
+ *
26594
+ * @param {Number} n
26595
+ * @return {Request} for chaining
26596
+ * @api public
26597
+ */
26598
+
26599
+ exports.redirects = function(n){
26600
+ this._maxRedirects = n;
26601
+ return this;
26602
+ };
26603
+
26604
+ /**
26605
+ * Convert to a plain javascript object (not JSON string) of scalar properties.
26606
+ * Note as this method is designed to return a useful non-this value,
26607
+ * it cannot be chained.
26608
+ *
26609
+ * @return {Object} describing method, url, and data of this request
26610
+ * @api public
26611
+ */
26612
+
26613
+ exports.toJSON = function(){
26614
+ return {
26615
+ method: this.method,
26616
+ url: this.url,
26617
+ data: this._data
26618
+ };
26619
+ };
26620
+
26621
+ /**
26622
+ * Check if `obj` is a host object,
26623
+ * we don't want to serialize these :)
26624
+ *
26625
+ * TODO: future proof, move to compoent land
26626
+ *
26627
+ * @param {Object} obj
26628
+ * @return {Boolean}
26629
+ * @api private
26630
+ */
26631
+
26632
+ exports._isHost = function _isHost(obj) {
26633
+ var str = {}.toString.call(obj);
26634
+
26635
+ switch (str) {
26636
+ case '[object File]':
26637
+ case '[object Blob]':
26638
+ case '[object FormData]':
26639
+ return true;
26640
+ default:
26641
+ return false;
26642
+ }
26643
+ }
26644
+
26645
+ /**
26646
+ * Send `data` as the request body, defaulting the `.type()` to "json" when
26647
+ * an object is given.
26648
+ *
26649
+ * Examples:
26650
+ *
26651
+ * // manual json
26652
+ * request.post('/user')
26653
+ * .type('json')
26654
+ * .send('{"name":"tj"}')
26655
+ * .end(callback)
26656
+ *
26657
+ * // auto json
26658
+ * request.post('/user')
26659
+ * .send({ name: 'tj' })
26660
+ * .end(callback)
26661
+ *
26662
+ * // manual x-www-form-urlencoded
26663
+ * request.post('/user')
26664
+ * .type('form')
26665
+ * .send('name=tj')
26666
+ * .end(callback)
26667
+ *
26668
+ * // auto x-www-form-urlencoded
26669
+ * request.post('/user')
26670
+ * .type('form')
26671
+ * .send({ name: 'tj' })
26672
+ * .end(callback)
26673
+ *
26674
+ * // defaults to x-www-form-urlencoded
26675
+ * request.post('/user')
26676
+ * .send('name=tobi')
26677
+ * .send('species=ferret')
26678
+ * .end(callback)
26679
+ *
26680
+ * @param {String|Object} data
26681
+ * @return {Request} for chaining
26682
+ * @api public
26683
+ */
26684
+
26685
+ exports.send = function(data){
26686
+ var obj = isObject(data);
26687
+ var type = this._header['content-type'];
26688
+
26689
+ // merge
26690
+ if (obj && isObject(this._data)) {
26691
+ for (var key in data) {
26692
+ this._data[key] = data[key];
26693
+ }
26694
+ } else if ('string' == typeof data) {
26695
+ // default to x-www-form-urlencoded
26696
+ if (!type) this.type('form');
26697
+ type = this._header['content-type'];
26698
+ if ('application/x-www-form-urlencoded' == type) {
26699
+ this._data = this._data
26700
+ ? this._data + '&' + data
26701
+ : data;
26702
+ } else {
26703
+ this._data = (this._data || '') + data;
26704
+ }
26705
+ } else {
26706
+ this._data = data;
26707
+ }
26708
+
26709
+ if (!obj || this._isHost(data)) return this;
26710
+
26711
+ // default to json
26712
+ if (!type) this.type('json');
26713
+ return this;
26714
+ };
26715
+
26716
+ },{"./is-object":90}],92:[function(require,module,exports){
26717
+ // The node and browser modules expose versions of this with the
26718
+ // appropriate constructor function bound as first argument
26719
+ /**
26720
+ * Issue a request:
26721
+ *
26722
+ * Examples:
26723
+ *
26724
+ * request('GET', '/users').end(callback)
26725
+ * request('/users').end(callback)
26726
+ * request('/users', callback)
26727
+ *
26728
+ * @param {String} method
26729
+ * @param {String|Function} url or callback
26730
+ * @return {Request}
26731
+ * @api public
26732
+ */
26733
+
26734
+ function request(RequestConstructor, method, url) {
26735
+ // callback
26736
+ if ('function' == typeof url) {
26737
+ return new RequestConstructor('GET', method).end(url);
26738
+ }
26739
+
26740
+ // url first
26741
+ if (2 == arguments.length) {
26742
+ return new RequestConstructor('GET', method);
26743
+ }
26744
+
26745
+ return new RequestConstructor(method, url);
26746
+ }
26747
+
26438
26748
  module.exports = request;
26439
26749
 
26440
- },{"emitter":42,"reduce":79}],89:[function(require,module,exports){
26750
+ },{}],93:[function(require,module,exports){
26441
26751
  (function (Buffer){
26442
26752
  "0.50.0";
26443
26753
  /*
@@ -34634,7 +34944,7 @@ TinCan client library
34634
34944
  }());
34635
34945
 
34636
34946
  }).call(this,require("buffer").Buffer)
34637
- },{"buffer":39,"querystring":61,"xhr2":93}],90:[function(require,module,exports){
34947
+ },{"buffer":40,"querystring":62,"xhr2":97}],94:[function(require,module,exports){
34638
34948
  // Copyright Joyent, Inc. and other Node contributors.
34639
34949
  //
34640
34950
  // Permission is hereby granted, free of charge, to any person obtaining a
@@ -35343,7 +35653,7 @@ function isNullOrUndefined(arg) {
35343
35653
  return arg == null;
35344
35654
  }
35345
35655
 
35346
- },{"punycode":57,"querystring":61}],91:[function(require,module,exports){
35656
+ },{"punycode":58,"querystring":62}],95:[function(require,module,exports){
35347
35657
  (function (global){
35348
35658
 
35349
35659
  /**
@@ -35414,7 +35724,7 @@ function config (name) {
35414
35724
  }
35415
35725
 
35416
35726
  }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
35417
- },{}],92:[function(require,module,exports){
35727
+ },{}],96:[function(require,module,exports){
35418
35728
  /*!
35419
35729
  * validate.js 0.9.0
35420
35730
  *
@@ -36502,7 +36812,7 @@ function config (name) {
36502
36812
  typeof module !== 'undefined' ? /* istanbul ignore next */ module : null,
36503
36813
  typeof define !== 'undefined' ? /* istanbul ignore next */ define : null);
36504
36814
 
36505
- },{}],93:[function(require,module,exports){
36815
+ },{}],97:[function(require,module,exports){
36506
36816
  (function (process,Buffer){
36507
36817
  // Generated by CoffeeScript 1.6.3
36508
36818
  (function() {
@@ -37340,7 +37650,7 @@ function config (name) {
37340
37650
  }).call(this);
37341
37651
 
37342
37652
  }).call(this,require('_process'),require("buffer").Buffer)
37343
- },{"_process":55,"buffer":39,"http":82,"https":47,"os":53,"url":90}],94:[function(require,module,exports){
37653
+ },{"_process":56,"buffer":40,"http":83,"https":48,"os":54,"url":94}],98:[function(require,module,exports){
37344
37654
  module.exports = extend
37345
37655
 
37346
37656
  var hasOwnProperty = Object.prototype.hasOwnProperty;