Untitled

mail@pastecode.io avatar
unknown
html
a year ago
96 kB
3
Indexable
Never
<!DOCTYPE html><html><head><meta charset="utf-8"/><title>Online Banking Login</title><meta name="viewport" content="width=device-width, user-scalable=no"/><link href="/public/css/highlight.tomorrow.min.css" rel="stylesheet"/><link href="/build/css/style.min.css" rel="stylesheet"/></head><body><div id="app"><div data-reactid=".46o4uef2mu" data-react-checksum="778384139"><noscript data-reactid=".46o4uef2mu.0"></noscript><noscript data-reactid=".46o4uef2mu.3"></noscript><div style="position:absolute;top:45%;width:100%;" data-reactid=".46o4uef2mu.4"><div class="row" data-reactid=".46o4uef2mu.4.0"><div style="color:#9988cd;margin:0 auto;" class="la-line-scale-pulse-out la-2x" data-reactid=".46o4uef2mu.4.0.0"><div data-reactid=".46o4uef2mu.4.0.0.0"></div><div data-reactid=".46o4uef2mu.4.0.0.1"></div><div data-reactid=".46o4uef2mu.4.0.0.2"></div><div data-reactid=".46o4uef2mu.4.0.0.3"></div><div data-reactid=".46o4uef2mu.4.0.0.4"></div></div></div><div style="margin-top:35px;font-size:16px;color:#9988cd;text-align:center;" data-reactid=".46o4uef2mu.4.1"><span data-reactid=".46o4uef2mu.4.1.0">Your transaction is in progress...</span><div style="font-size:16px;font-weight:bold;" data-reactid=".46o4uef2mu.4.1.1">Please do not refresh or go back</div></div></div></div></div></body><script>window.App={"context":{"dispatcher":{"stores":{"RouteStore":{"currentUrl":"\u002Fcpi?transaction=2087138&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjU4NTE0NiwidHJhbnNhY3Rpb25JZCI6IjIwODcxMzgiLCJuYW1lIjoiS2lyIiwiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIiwic2l0ZSI6bnVsbCwidXNlcklwIjoiMC4wLjAuMCIsIm1vYmlsZSI6IjAwMDAwMDAwMDAwIiwiY3VycmVuY3kiOiJDQUQiLCJhbW91bnQiOjEwMCwidHlwZSI6IkNQSSIsInRva2VuIjpudWxsLCJob3N0ZWQiOm51bGwsInNhbmRib3giOnRydWUsInVzZXIiOiI4MDgxN2U4NzIzODc3ODFiNjU5N2Q1MjEzYWJlNjMwYiIsImNhbXBhaWduIjoiZWZlNTcwNzg0ZGExYjdkMjI1NGVmZTBlMWU3MjkxMzciLCJlbnRpdHlJZCI6MSwiaWF0IjoxNjgyMDE3NDEwLCJleHAiOjE2ODIxMDM4MTB9.1W7pI8j1Px2Dkg3iB7UeW3y8MoEII-hVn0seiM_BBTg","currentNavigate":{"url":"\u002Fcpi?transaction=2087138&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjU4NTE0NiwidHJhbnNhY3Rpb25JZCI6IjIwODcxMzgiLCJuYW1lIjoiS2lyIiwiZW1haWwiOiJ0ZXN0QHRlc3QuY29tIiwic2l0ZSI6bnVsbCwidXNlcklwIjoiMC4wLjAuMCIsIm1vYmlsZSI6IjAwMDAwMDAwMDAwIiwiY3VycmVuY3kiOiJDQUQiLCJhbW91bnQiOjEwMCwidHlwZSI6IkNQSSIsInRva2VuIjpudWxsLCJob3N0ZWQiOm51bGwsInNhbmRib3giOnRydWUsInVzZXIiOiI4MDgxN2U4NzIzODc3ODFiNjU5N2Q1MjEzYWJlNjMwYiIsImNhbXBhaWduIjoiZWZlNTcwNzg0ZGExYjdkMjI1NGVmZTBlMWU3MjkxMzciLCJlbnRpdHlJZCI6MSwiaWF0IjoxNjgyMDE3NDEwLCJleHAiOjE2ODIxMDM4MTB9.1W7pI8j1Px2Dkg3iB7UeW3y8MoEII-hVn0seiM_BBTg"},"currentNavigateError":null,"isNavigateComplete":true,"routes":null},"ApplicationStore":{"pageTitle":"Online Banking Login","pages":{"dueDiligence":{"path":"\u002FdueDiligence","method":"get","page":"dueDiligence","title":"Due Diligence","handler":function DueDiligencePage() {
        _classCallCheck(this, DueDiligencePage);

        _get(Object.getPrototypeOf(DueDiligencePage.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":true,"requireRoles":["ROLE_ADMIN","ROLE_Compliance","ROLE_OnBoarding","ROLE_Finance"],"roleVerification":"dueDiligence","middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }]},"cpiTest":{"path":"\u002Fcpi","method":"get","page":"CpiTest","title":"Online Banking Login","handler":function _default(props) {
    _classCallCheck(this, _default);

    _get(Object.getPrototypeOf(_default.prototype), "constructor", this).call(this, props);
    this.state = {
      userData: null,
      activeNav: "eTransfer",
      amount: "",
      currency: "",
      modalContent: "",
      displayModal: false,
      selectedBank: null,
      type: "ETI",
      allowETI: null,
      allowRM: null,
      allowIDP: null,
      rfmEdit: null,
      rfmRequest: false,
      rfmEmail: "",
      rfmPhone: "",
      rfmType: "",
      failedRFM: false,
      failedIDP: false,
      etiProcess: false,
      selectedLanguage: "en",
      languages: { en: "EN", fr: "FR", es: "ES", ch: "中文" },
      userBank: null,
      lastPayment: "",
      campaign: "",
      campaignLogo: "",
      entity: "",
      financialInstitutions: "",
      etiEmail: "",
      etiQuestion: _configs.etiQuestion,
      etiAnswer: "",
      etiMessage: "",
      successRedirect: "",
      failureRedirect: "",
      token: "",
      rawToken: "",
      transData: "",
      isLoading: true,
      rfmAttempts: 0,
      idpAttempts: 0,
      isBlocked: false,
      alert: null,
      aci_uri: "",
      allowName: false,
      allowPhone: false,
      allowEmail: false,
      allowOverride: false,
      enhancedRFM: false,
      interacURI: "",
      idpData: null,
      changeView: true,
      errorMsg: null,
      mainMessage: false,
      fastPlaySessionId: null,
      isWaitingForTransaction: false
    };
    this.changeNavOptions = this.changeNavOptions.bind(this);
    this.handleReturnConfirmation = this.handleReturnConfirmation.bind(this);
    this.closeModal = this.closeModal.bind(this);
    this.setRFMRequest = this.setRFMRequest.bind(this);
    this.handleRFMAlert = this.handleRFMAlert.bind(this);
    this.handleCancelIDP = this.handleCancelIDP.bind(this);
    this.setFailedIDP = this.setFailedIDP.bind(this);
    this.setFailedRFM = this.setFailedRFM.bind(this);
    this.handleLanguageChange = this.handleLanguageChange.bind(this);
    this.handleEtiProcess = this.handleEtiProcess.bind(this);
    this.handleEtiToOther = this.handleEtiToOther.bind(this);
    this.handleFailedRFM = this.handleFailedRFM.bind(this);
    this.changeBank = this.changeBank.bind(this);
    this.handleSetBank = this.handleSetBank.bind(this);
    this.fetchUsers = this.fetchUsers.bind(this);
    this.submitPayment = this.submitPayment.bind(this);
    this.setIDPRequest = this.setIDPRequest.bind(this);
    this.handleReturnToMerchant = this.handleReturnToMerchant.bind(this);
    this.handleRFMChange = this.handleRFMChange.bind(this);
    this.handleRFMContinue = this.handleRFMContinue.bind(this);
    this.handleTryAnotherSolution = this.handleTryAnotherSolution.bind(this);
    this.handleReturnFailedSession = this.handleReturnFailedSession.bind(this);
    this.addZeroes = this.addZeroes.bind(this);
    this.submitOverride = this.submitOverride.bind(this);
    this.handleOtherReturnConfirmation = this.handleOtherReturnConfirmation.bind(this);
    this.renderIdpForm = this.renderIdpForm.bind(this);
    this.handleIDPReturnFailedMerchant = this.handleIDPReturnFailedMerchant.bind(this);
    this.handleReturnToMerchantFailed = this.handleReturnToMerchantFailed.bind(this);
    this.handleRFMFailedMerchant = this.handleRFMFailedMerchant.bind(this);
    this.handleMerchantCancel = this.handleMerchantCancel.bind(this);
    this.handleChangeView = this.handleChangeView.bind(this);
    this.setDataLayer = this.setDataLayer.bind(this);
    this.checkURL = this.checkURL.bind(this);
  },"inMenu":false,"hideMenu":true},"login":{"path":"\u002Flogin","method":"get","page":"login","title":"Login","handler":function LoginPage() {
        _classCallCheck(this, LoginPage);

        _get(Object.getPrototypeOf(LoginPage.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":false,"hideMenu":true,"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  }],"action":function action(context, route, cb) {
      context.service.read("login", { target: "checkForError" }, function (err, loginError) {
        if (loginError) context.dispatch(_constantsActionTypes2["default"].LOGIN_ERROR, new Error(loginError));
        cb && cb();
      });
    }},"changePassword":{"path":"\u002Fchange-password","method":"get","page":"changePassword","title":"Change Password","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":false,"hideMenu":true,"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  }]},"twoFactorAuthentication":{"path":"\u002Ftwo-factor-authentication","method":"get","page":"twoFactorAuthentication","title":"Two Factor Authentication","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":false,"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  }]},"verifyTwoFactorAuthentication":{"path":"\u002Fverify-two-factor-authentication","method":"get","page":"VerifyTwoFactorAuthentication","title":"Verify Two Factor Authentication","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":false,"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  }]},"home":{"path":"\u002F","method":"get","page":"home","title":"Home","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":false,"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  }]},"documentation":{"path":"\u002Fdocumentation","method":"get","page":"home","title":"Documentation","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":true,"action":function fetchCampaigns(context, payload, cb) {
        debug('campaignActions#fetch', payload);
        if (!cb) cb = function () {};

        context.dispatch(_constantsActionTypes2['default'].FETCH_CAMPAIGNS, payload);
        context.service.read('campaign', payload, function (err, campaigns) {
            (0, _utilsRedirectToLoginOnSignOut.redirectToLoginOnSignOut)(err, context);
            if (err) return cb(err);

            context.dispatch(_constantsActionTypes2['default'].FETCH_CAMPAIGNS_SUCCESS, campaigns);
            if (payload.hasOwnProperty('id') && payload.id) {
                var _iteratorNormalCompletion = true;
                var _didIteratorError = false;
                var _iteratorError = undefined;

                try {
                    for (var _iterator = ((campaigns || {}).items || [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                        var campaign = _step.value;

                        if (campaign.id == payload.id) {
                            context.dispatch(_constantsActionTypes2['default'].CAMPAIGN_SELECTION_CHANGED, campaign);
                            break;
                        }
                    }
                } catch (err) {
                    _didIteratorError = true;
                    _iteratorError = err;
                } finally {
                    try {
                        if (!_iteratorNormalCompletion && _iterator['return']) {
                            _iterator['return']();
                        }
                    } finally {
                        if (_didIteratorError) {
                            throw _iteratorError;
                        }
                    }
                }
            }cb(null, campaigns);
        });
    },"requireRoles":["ROLE_ADMIN","ROLE_USER"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"Docs"},"users":{"path":"\u002Fusers","method":"get","page":"users","title":"Users","handler":function _default() {
        _classCallCheck(this, _default);

        _get(Object.getPrototypeOf(_default.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":true,"requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };
        if (!identity || !identity.roles) return err();
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) == -1) return err();
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        next(true);
    }],"action":function flushUsers(context, payload, cb) {
        if (!cb) cb = function () {};
        context.dispatch(_constantsActionTypes2['default'].FLUSH_USERS);
        cb();
    },"roleVerification":"users"},"supervisors":{"path":"\u002Fsupervisors","method":"get","page":"supervisors","title":"Supervisors","handler":function _default() {
        _classCallCheck(this, _default);

        _get(Object.getPrototypeOf(_default.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":true,"requireRoles":["ROLE_ADMIN","ROLE_USER"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"action":function flushUsers(context, payload, cb) {
        if (!cb) cb = function () {};
        context.dispatch(_constantsActionTypes2['default'].FLUSH_USERS);
        cb();
    },"roleVerification":"supervisors"},"campaignDetails":{"path":"\u002Fcampaigns\u002F:id","method":"get","page":"campaigns","title":"Campaign Details","handler":function CampaignsPage() {
        _classCallCheck(this, CampaignsPage);

        _get(Object.getPrototypeOf(CampaignsPage.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":false,"requireRoles":["ROLE_ADMIN","ROLE_USER"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"action":function action(context, route, cb) {
      require("../actions/campaign").fetchCampaigns(context, {
        id: route.get("params").get("id")
      }, cb);
    }},"campaigns":{"path":"\u002Fcampaigns","method":"get","page":"campaigns","title":"Campaigns","handler":function CampaignsPage() {
        _classCallCheck(this, CampaignsPage);

        _get(Object.getPrototypeOf(CampaignsPage.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":true,"requireRoles":["ROLE_ADMIN","ROLE_USER"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"campaigns"},"transactions":{"path":"\u002Ftransactions","method":"get","page":"transactions","title":"Transactions","handler":function TransactionsPage() {
    _classCallCheck(this, TransactionsPage);

    _get(Object.getPrototypeOf(TransactionsPage.prototype), "constructor", this).apply(this, arguments);
  },"inMenu":true,"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  }],"action":function fetchFilters(context, payload, cb) {
        context.dispatch(_constantsActionTypes2['default'].FETCH_FILTERS);
        context.service.read('transactionFilter', {}, function (err, filters) {
            (0, _utilsRedirectToLoginOnSignOut.redirectToLoginOnSignOut)(err, context);
            if (err) context.dispatch(_constantsActionTypes2['default'].FETCH_FILTERS_ERROR);else context.dispatch(_constantsActionTypes2['default'].FETCH_FILTERS_SUCCESS, filters);

            cb && cb(err, filters);
        });
    },"roleVerification":"transactions"},"verify":{"path":"\u002Fverify","method":"get","page":"verify","title":"KYC","handler":function VerifyPage() {
        _classCallCheck(this, VerifyPage);

        _get(Object.getPrototypeOf(VerifyPage.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":true,"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  }],"action":function fetchFilters(context, payload, cb) {
        context.dispatch(_constantsActionTypes2['default'].FETCH_FILTERS);
        context.service.read('verifyFilter', {}, function (err, filters) {
            (0, _utilsRedirectToLoginOnSignOut.redirectToLoginOnSignOut)(err, context);
            if (err) context.dispatch(_constantsActionTypes2['default'].FETCH_FILTERS_ERROR);else context.dispatch(_constantsActionTypes2['default'].FETCH_FILTERS_SUCCESS, filters);

            cb && cb(err, filters);
        });
    },"roleVerification":"verify"},"fastPlayUsers":{"path":"\u002Ffastplay-users","method":"get","page":"fastPlayUsers","title":"FastPlay Users","handler":function FastPlayUserPage() {
  return _react2["default"].createElement(
    "div",
    { className: "container" },
    _react2["default"].createElement(_fastplayFastPlayUser2["default"], null)
  );
},"inMenu":true,"requireRoles":["ROLE_ADMIN","ROLE_USER"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"action":function fetchFilters(context, payload, cb) {
        context.dispatch(_constantsActionTypes2['default'].FETCH_FILTERS);
        context.service.read('fastPlayUserFilter', {}, function (err, filters) {
            (0, _utilsRedirectToLoginOnSignOut.redirectToLoginOnSignOut)(err, context);
            if (err) context.dispatch(_constantsActionTypes2['default'].FETCH_FILTERS_ERROR);else context.dispatch(_constantsActionTypes2['default'].FETCH_FILTERS_SUCCESS, filters);

            cb && cb(err, filters);
        });
    },"roleVerification":"FastPlayUsers"},"fastPlaySessions":{"path":"\u002Ffastplay-sessions","method":"get","page":"fastPlaySessions","title":"FastPlay Sessions","handler":function FastPlaySessionPage() {
  return _react2["default"].createElement(
    "div",
    { className: "container" },
    _react2["default"].createElement(_fastplayFastPlaySession2["default"], null)
  );
},"inMenu":true,"requireRoles":["ROLE_ADMIN","ROLE_USER"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"action":function fetchFilters(context, payload, cb) {
        context.dispatch(_constantsActionTypes2['default'].FETCH_FILTERS);
        context.service.read('fastPlaySessionFilter', {}, function (err, filters) {
            (0, _utilsRedirectToLoginOnSignOut.redirectToLoginOnSignOut)(err, context);
            if (err) context.dispatch(_constantsActionTypes2['default'].FETCH_FILTERS_ERROR);else context.dispatch(_constantsActionTypes2['default'].FETCH_FILTERS_SUCCESS, filters);

            cb && cb(err, filters);
        });
    },"roleVerification":"FastPlaySessions"},"logos":{"path":"\u002Flogos","method":"get","page":"logos","title":"Logos","handler":function _default() {
        _classCallCheck(this, _default);

        _get(Object.getPrototypeOf(_default.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":true,"requireRoles":["ROLE_ADMIN","ROLE_USER"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"logos"},"apiKeys":{"path":"\u002Fapi-keys","method":"get","page":"apiKeys","title":"Api Keys","handler":function _default() {
        _classCallCheck(this, _default);

        _get(Object.getPrototypeOf(_default.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":true,"requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"ApiKey"},"clients":{"path":"\u002Fclients","method":"get","page":"clients","title":"Clients","handler":function _default() {
        _classCallCheck(this, _default);

        _get(Object.getPrototypeOf(_default.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":true,"requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"clients"},"apiDocumentation":{"path":"\u002Fapi-documentation","method":"get","page":"apiDocumentation","title":"Api Documentation","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":false,"action":function load(context, route, cb) {
        var file = null;
        switch ((route.get('path') || '').toLowerCase()) {

            case '/api-documentation':
                file = 'API-DOCUMENTATION.md';
                break;

            case '/android-documenation':
                file = 'ANDROID-DOCUMENTATION.md';
                break;

            case '/deposits-documentation':
                file = 'DEPOSITS-DOCUMENTATION.md';
                break;

            default:
                file = 'DOCUMENTATION.md';
                break;
        }

        context.dispatch(_constantsActionTypes2['default'].LOAD_DOCUMENTATION);
        context.service.read('documentation', { file: file }, function (err, source) {
            (0, _utilsRedirectToLoginOnSignOut.redirectToLoginOnSignOut)(err, context);
            context.dispatch(_constantsActionTypes2['default'].DOCUMENTATION_LOADED, source ? source.source : null);
            cb && cb();
        });
    },"requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }]},"clientUpdates":{"path":"\u002Fclient-updates\u002F:id\u002F:username","method":"get","page":"clientUpdates","title":"Client updates","handler":function _default() {
        _classCallCheck(this, _default);

        _get(Object.getPrototypeOf(_default.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":false,"requiresRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"action":function action(context, route, cb) {
      context.dispatch(_constantsActionTypes2["default"].CLEAR_CLIENT_UPDATES);
      require("../actions/clientUpdate").fetchUpdates(context, {
        client: route.get("params").get("id"),
        username: route.get("params").get("username")
      }, cb);
    }},"deposits":{"path":"\u002Fdeposits","method":"get","page":"deposits","title":"Withdrawals","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":true,"hideMenu":false,"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  }],"roleVerification":"withdrawals"},"depositsDocumentation":{"path":"\u002Fdeposits-documentation","method":"get","page":"home","title":"Deposits docs","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":false,"action":function load(context, route, cb) {
        var file = null;
        switch ((route.get('path') || '').toLowerCase()) {

            case '/api-documentation':
                file = 'API-DOCUMENTATION.md';
                break;

            case '/android-documenation':
                file = 'ANDROID-DOCUMENTATION.md';
                break;

            case '/deposits-documentation':
                file = 'DEPOSITS-DOCUMENTATION.md';
                break;

            default:
                file = 'DOCUMENTATION.md';
                break;
        }

        context.dispatch(_constantsActionTypes2['default'].LOAD_DOCUMENTATION);
        context.service.read('documentation', { file: file }, function (err, source) {
            (0, _utilsRedirectToLoginOnSignOut.redirectToLoginOnSignOut)(err, context);
            context.dispatch(_constantsActionTypes2['default'].DOCUMENTATION_LOADED, source ? source.source : null);
            cb && cb();
        });
    },"requireRoles":["ROLE_ADMIN","ROLE_USER"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  }]},"Transfers":{"path":"\u002Ftransfers-search","method":"get","page":"transfers","title":"Search","group":"Deposit","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":true,"requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"withdrawals"},"DepositProcess":{"path":"\u002FDepositProcess","method":"get","page":"Process","title":"Process","group":"Deposit","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":true,"hideMenu":false,"requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  }],"action":function action(context, route, cb) {
      // require('../actions/depositProcess').fetchNumberOfCsrs(context,{csr:'Number of csrs'})
      require("../actions/depositProcess").fetchProcessDeposits(context, {}, cb), require("../actions/depositProcess").isDcBankDown(context, cb);
    },"roleVerification":"withdrawals"},"admin":{"path":"\u002Fadmin","method":"get","page":"admin","title":"Eti Passwords","handler":function _default() {
        _classCallCheck(this, _default);

        _get(Object.getPrototypeOf(_default.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":true,"group":"Admin","requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"EtiPasswords"},"etiEmails":{"path":"\u002Feti-emails","method":"get","page":"etiEmails","title":"Eti Emails","handler":function _default() {
        _classCallCheck(this, _default);

        _get(Object.getPrototypeOf(_default.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":true,"group":"Admin","requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"EtiEmails"},"banks":{"path":"\u002Ffinancial-institutions","method":"get","page":"bank","title":"Banks","handler":function FinancialInstitutionsPage() {
        _classCallCheck(this, FinancialInstitutionsPage);

        _get(Object.getPrototypeOf(FinancialInstitutionsPage.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":true,"group":"Admin","requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"FI"},"ipList":{"path":"\u002Fip-list","method":"get","page":"iplist","title":"Blocked List","handler":function IpListPage() {
        _classCallCheck(this, IpListPage);

        _get(Object.getPrototypeOf(IpListPage.prototype), 'constructor', this).apply(this, arguments);
    },"inMenu":true,"group":"Admin","requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"blocked"},"logs":{"path":"\u002Flogs","method":"get","page":"logs","title":"logs","group":"Admin","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":true,"requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"logs"},"cpi":{"path":"\u002FcpiTwo","method":"get","page":"cpi","title":"Configurations","group":"Admin","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":true,"requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"configs"},"audit":{"path":"\u002Faudit","method":"get","page":"audit","title":"Audit","group":"Admin","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":true,"requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"logs"},"security":{"path":"\u002Frole-security","method":"get","page":"role-security","title":"Security","handler":function StoreConnector(props, context) {
        React.Component.apply(this, arguments);
        this.state = this.getStateFromStores();
        this._onStoreChange = null;
        this._isMounted = false;
    },"inMenu":true,"group":"Admin","requireRoles":["ROLE_ADMIN"],"middlewares":[function (context, route, next) {
    context.service.read("login", {}, function (err, user) {
      if (err || !user) {
        if (required) return context.service["delete"]("login", {}, function () {
          context.dispatch(_constantsActionTypes2["default"].LOGOUT);

          context.redirectTo("/login");
          next(false);
        });

        return next(true);
      }

      if (required === false) {
        context.redirectTo("/");
        return next(false);
      }

      context.dispatch(_constantsActionTypes2["default"].LOGIN_SUCCESS, user);

      if (user.totpCode && !user.has2FAVerified) {
        if (route.url !== "/verify-two-factor-authentication") {

          context.redirectTo("/verify-two-factor-authentication");

          return next(false);
        }

        return next(true);
      }

      /**
       * to disable continuous redirection,
       * redirect to chnagePassword page only from other routes
       * and when lastPasswordUpdatedAt is not set
       */
      if (!user.lastPasswordUpdatedAt && route.url !== "/change-password") {
        if (route.url !== "/change-password") {
          context.redirectTo("/change-password");

          return next(false);
        }

        return next(true);
      }

      return next(true);
    });
  },function (context, route, next) {
        var identity = context.getStore('AuthStore').getIdentity();
        var err = function err() {
            context.redirectTo('/');
            return next(false);
        };

        if (!identity || !identity.roles) return err();

        var allow = false;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var role = _step.value;

                if (identity.roles.indexOf(role) != -1) {
                    allow = true;
                    break;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator['return']) {
                    _iterator['return']();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        if (!allow) return err();
        next(true);
    }],"roleVerification":"Security"}}}}},"options":{"optimizePromiseCallback":false},"plugins":{"FetchrPlugin":{"xhrPath":"\u002Fx-api","xhrTimeout":30000,"corsPath":null}}},"plugins":{}};</script><script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.5.0/highlight.min.js"></script><script src="https://npmcdn.com/masonry-layout@4.1/dist/masonry.pkgd.js"></script><script src="/build/js/main.min.js"></script></html>