tek-wallet 0.0.32 → 0.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/api/auth/[...nextauth]/route.js +2 -2
- package/dist/{app/api/auth/[...nextauth] → handlers/auth}/functions/refreshTokenKeycloak.d.ts +1 -1
- package/dist/{app/api/auth/[...nextauth] → handlers/auth}/functions/refreshTokenKeycloak.js +1 -1
- package/dist/{app/api/tek-wallet/auth/import/route.d.ts → handlers/auth/import/index.d.ts} +1 -1
- package/dist/{app/api/tek-wallet/auth/import/route.js → handlers/auth/import/index.js} +1 -1
- package/dist/{app/api/tek-wallet/auth/login/route.js → handlers/auth/login/index.js} +1 -1
- package/dist/{app/api/tek-wallet/auth/signout/route.d.ts → handlers/auth/signout/index.d.ts} +2 -2
- package/dist/{app/api/tek-wallet/auth/signout/route.js → handlers/auth/signout/index.js} +2 -2
- package/dist/handlers/index.d.ts +5 -0
- package/dist/handlers/index.js +70 -0
- package/dist/index.d.ts +2 -5
- package/dist/index.js +3 -9
- package/dist/services/axios/login-internal/loginIntenalService.d.ts +1 -1
- package/dist/services/axios/login-internal copy/loginIntenalService.d.ts +3 -0
- package/dist/services/axios/login-internal copy/loginIntenalService.js +55 -0
- package/dist/services/axios/sign-out-internal/loginIntenalService.d.ts +1 -1
- package/dist/store/auth/authSlice.d.ts +1 -1
- package/dist/store/auth/authSlice.js +3 -1
- package/dist/store/auth/authThunk.d.ts +2 -2
- package/dist/store/auth/type.d.ts +1 -1
- package/package.json +1 -1
- /package/dist/{app/api/tek-wallet → handlers}/auth/functions/clearLoginInfo.d.ts +0 -0
- /package/dist/{app/api/tek-wallet → handlers}/auth/functions/clearLoginInfo.js +0 -0
- /package/dist/{app/api/tek-wallet → handlers}/auth/functions/getLoginInfoFromCookies.d.ts +0 -0
- /package/dist/{app/api/tek-wallet → handlers}/auth/functions/getLoginInfoFromCookies.js +0 -0
- /package/dist/{app/api/tek-wallet → handlers}/auth/functions/isExpired.d.ts +0 -0
- /package/dist/{app/api/tek-wallet → handlers}/auth/functions/isExpired.js +0 -0
- /package/dist/{app/api/tek-wallet → handlers}/auth/functions/setLoginInfoToCookies.d.ts +0 -0
- /package/dist/{app/api/tek-wallet → handlers}/auth/functions/setLoginInfoToCookies.js +0 -0
- /package/dist/{app/api/tek-wallet/auth/login/route.d.ts → handlers/auth/login/index.d.ts} +0 -0
- /package/dist/{app/api/tek-wallet → handlers}/const.d.ts +0 -0
- /package/dist/{app/api/tek-wallet → handlers}/const.js +0 -0
- /package/dist/{app/api/tek-wallet → handlers}/type.d.ts +0 -0
- /package/dist/{app/api/tek-wallet → handlers}/type.js +0 -0
|
@@ -42,8 +42,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
42
42
|
var next_auth_1 = __importDefault(require("next-auth"));
|
|
43
43
|
var credentials_1 = __importDefault(require("next-auth/providers/credentials"));
|
|
44
44
|
var importWalletExternalService_1 = __importDefault(require("../../../../services/axios/import-wallet-service/importWalletExternalService"));
|
|
45
|
-
var refreshTokenKeycloak_1 = __importDefault(require("
|
|
46
|
-
var type_1 = require("
|
|
45
|
+
var refreshTokenKeycloak_1 = __importDefault(require("../../../../handlers/auth/functions/refreshTokenKeycloak"));
|
|
46
|
+
var type_1 = require("../../../../handlers/type");
|
|
47
47
|
var handler = (0, next_auth_1.default)({
|
|
48
48
|
providers: [
|
|
49
49
|
(0, credentials_1.default)({
|
|
@@ -40,7 +40,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
40
40
|
};
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
42
|
var axios_1 = __importDefault(require("axios"));
|
|
43
|
-
var type_1 = require("
|
|
43
|
+
var type_1 = require("../../type");
|
|
44
44
|
var refreshTokenKeycloak = function (token) { return __awaiter(void 0, void 0, void 0, function () {
|
|
45
45
|
var response, data, error_1;
|
|
46
46
|
var _a;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from "next/server";
|
|
2
|
-
declare const importWalletHandler: (req: NextRequest) => Promise<NextResponse<import("
|
|
2
|
+
declare const importWalletHandler: (req: NextRequest) => Promise<NextResponse<import("../../../services/axios/import-wallet-service/type").ImportWalletServiceResponse> | NextResponse<{
|
|
3
3
|
status: number;
|
|
4
4
|
message: string;
|
|
5
5
|
}>>;
|
|
@@ -39,7 +39,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
40
|
};
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
var importWalletExternalService_1 = __importDefault(require("
|
|
42
|
+
var importWalletExternalService_1 = __importDefault(require("../../../services/axios/import-wallet-service/importWalletExternalService"));
|
|
43
43
|
var server_1 = require("next/server");
|
|
44
44
|
var setLoginInfoToCookies_1 = __importDefault(require("../functions/setLoginInfoToCookies"));
|
|
45
45
|
var importWalletHandler = function (req) { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -43,7 +43,7 @@ var getLoginInfoFromCookies_1 = __importDefault(require("../functions/getLoginIn
|
|
|
43
43
|
var server_1 = require("next/server");
|
|
44
44
|
var isExpired_1 = __importDefault(require("../functions/isExpired"));
|
|
45
45
|
var type_1 = require("../../type");
|
|
46
|
-
var refreshTokenKeycloak_1 = __importDefault(require("
|
|
46
|
+
var refreshTokenKeycloak_1 = __importDefault(require("../functions/refreshTokenKeycloak"));
|
|
47
47
|
var const_1 = require("../../const");
|
|
48
48
|
var setLoginInfoToCookies_1 = __importDefault(require("../functions/setLoginInfoToCookies"));
|
|
49
49
|
var clearLoginInfo_1 = __importDefault(require("../functions/clearLoginInfo"));
|
package/dist/{app/api/tek-wallet/auth/signout/route.d.ts → handlers/auth/signout/index.d.ts}
RENAMED
|
@@ -4,5 +4,5 @@ export interface SignOutResponse {
|
|
|
4
4
|
success: boolean;
|
|
5
5
|
message?: string;
|
|
6
6
|
}
|
|
7
|
-
declare const
|
|
8
|
-
export default
|
|
7
|
+
declare const signoutHandler: () => Promise<NextResponse<SignOutResponse | ResponseError>>;
|
|
8
|
+
export default signoutHandler;
|
|
@@ -41,7 +41,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
42
|
var server_1 = require("next/server");
|
|
43
43
|
var clearLoginInfo_1 = __importDefault(require("../functions/clearLoginInfo"));
|
|
44
|
-
var
|
|
44
|
+
var signoutHandler = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
45
45
|
var err_1;
|
|
46
46
|
return __generator(this, function (_a) {
|
|
47
47
|
switch (_a.label) {
|
|
@@ -65,4 +65,4 @@ var loginHandler = function () { return __awaiter(void 0, void 0, void 0, functi
|
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
67
|
}); };
|
|
68
|
-
exports.default =
|
|
68
|
+
exports.default = signoutHandler;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var server_1 = require("next/server");
|
|
43
|
+
var import_1 = __importDefault(require("./auth/import"));
|
|
44
|
+
var signout_1 = __importDefault(require("./auth/signout"));
|
|
45
|
+
var login_1 = __importDefault(require("./auth/login"));
|
|
46
|
+
var tekWalletHandler = function (req) { return __awaiter(void 0, void 0, void 0, function () {
|
|
47
|
+
var pathname;
|
|
48
|
+
return __generator(this, function (_a) {
|
|
49
|
+
pathname = req.nextUrl.pathname;
|
|
50
|
+
switch (pathname) {
|
|
51
|
+
case "/auth/import": {
|
|
52
|
+
(0, import_1.default)(req);
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
case "/auth/signout": {
|
|
56
|
+
(0, signout_1.default)();
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
case "/auth/login": {
|
|
60
|
+
(0, login_1.default)();
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
default: {
|
|
64
|
+
return [2 /*return*/, server_1.NextResponse.json({ error: "Not found" }, { status: 404 })];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return [2 /*return*/];
|
|
68
|
+
});
|
|
69
|
+
}); };
|
|
70
|
+
exports.default = tekWalletHandler;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import TekWalletProvider from "./providers/TekWalletProvider";
|
|
2
|
-
import handler from "./app/api/auth/[...nextauth]/route";
|
|
3
2
|
import RequireConnect from "./components/ui/RequireConnect";
|
|
4
3
|
import useTekWallet from "./hooks/useTekWallet";
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
import signOutHandler from "./app/api/tek-wallet/auth/signout/route";
|
|
8
|
-
export { TekWalletProvider, handler, RequireConnect, useTekWallet, importWalletHandler, loginHandler, signOutHandler, };
|
|
4
|
+
import tekWalletHandler from "./handlers";
|
|
5
|
+
export { TekWalletProvider, RequireConnect, useTekWallet, tekWalletHandler };
|
package/dist/index.js
CHANGED
|
@@ -3,18 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.tekWalletHandler = exports.useTekWallet = exports.RequireConnect = exports.TekWalletProvider = void 0;
|
|
7
7
|
var TekWalletProvider_1 = __importDefault(require("./providers/TekWalletProvider"));
|
|
8
8
|
exports.TekWalletProvider = TekWalletProvider_1.default;
|
|
9
|
-
var route_1 = __importDefault(require("./app/api/auth/[...nextauth]/route"));
|
|
10
|
-
exports.handler = route_1.default;
|
|
11
9
|
var RequireConnect_1 = __importDefault(require("./components/ui/RequireConnect"));
|
|
12
10
|
exports.RequireConnect = RequireConnect_1.default;
|
|
13
11
|
var useTekWallet_1 = __importDefault(require("./hooks/useTekWallet"));
|
|
14
12
|
exports.useTekWallet = useTekWallet_1.default;
|
|
15
|
-
var
|
|
16
|
-
exports.
|
|
17
|
-
var route_3 = __importDefault(require("./app/api/tek-wallet/auth/login/route"));
|
|
18
|
-
exports.loginHandler = route_3.default;
|
|
19
|
-
var route_4 = __importDefault(require("./app/api/tek-wallet/auth/signout/route"));
|
|
20
|
-
exports.signOutHandler = route_4.default;
|
|
13
|
+
var handlers_1 = __importDefault(require("./handlers"));
|
|
14
|
+
exports.tekWalletHandler = handlers_1.default;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var generalInternalRequest_1 = __importDefault(require("../clients/generalInternalRequest"));
|
|
43
|
+
var loginInternalService = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
44
|
+
var response;
|
|
45
|
+
return __generator(this, function (_a) {
|
|
46
|
+
switch (_a.label) {
|
|
47
|
+
case 0: return [4 /*yield*/, generalInternalRequest_1.default.get("/auth/import")];
|
|
48
|
+
case 1:
|
|
49
|
+
response = _a.sent();
|
|
50
|
+
console.warn("🚀 ~ response:", response);
|
|
51
|
+
return [2 /*return*/, response === null || response === void 0 ? void 0 : response.data];
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}); };
|
|
55
|
+
exports.default = loginInternalService;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AuthState } from "./type";
|
|
2
|
-
import { LoginInfoResponse } from "../../
|
|
2
|
+
import { LoginInfoResponse } from "../../handlers/type";
|
|
3
3
|
export declare const setIsAuthenticated: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "auth/setIsAuthenticated">, setIsLoading: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "auth/setIsLoading">, setSession: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<LoginInfoResponse | undefined, "auth/setSession">;
|
|
4
4
|
declare const _default: import("redux").Reducer<AuthState>;
|
|
5
5
|
export default _default;
|
|
@@ -31,13 +31,15 @@ var authSlice = (0, toolkit_1.createSlice)({
|
|
|
31
31
|
state.isLoading = true;
|
|
32
32
|
});
|
|
33
33
|
builder.addCase(authThunk_1.update.fulfilled, function (state, action) {
|
|
34
|
-
var _a, _b;
|
|
34
|
+
var _a, _b, _c, _d;
|
|
35
35
|
if ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.success) {
|
|
36
36
|
state.session = (_b = action.payload) === null || _b === void 0 ? void 0 : _b.data;
|
|
37
|
+
(0, userClientRequest_1.setAuthToken)(((_d = (_c = action.payload) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.accessToken) || "");
|
|
37
38
|
state.isAuthenticated = true;
|
|
38
39
|
}
|
|
39
40
|
else {
|
|
40
41
|
state.session = undefined;
|
|
42
|
+
(0, userClientRequest_1.setAuthToken)("");
|
|
41
43
|
state.isAuthenticated = false;
|
|
42
44
|
}
|
|
43
45
|
state.isLoading = false;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const update: import("@reduxjs/toolkit").AsyncThunk<import("../../
|
|
1
|
+
export declare const update: import("@reduxjs/toolkit").AsyncThunk<import("../../handlers/auth/login").LoginResponse | undefined, void, {
|
|
2
2
|
state?: unknown;
|
|
3
3
|
dispatch?: import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").UnknownAction>;
|
|
4
4
|
extra?: unknown;
|
|
@@ -8,7 +8,7 @@ export declare const update: import("@reduxjs/toolkit").AsyncThunk<import("../..
|
|
|
8
8
|
fulfilledMeta?: unknown;
|
|
9
9
|
rejectedMeta?: unknown;
|
|
10
10
|
}>;
|
|
11
|
-
export declare const disconnectWallet: import("@reduxjs/toolkit").AsyncThunk<import("../../
|
|
11
|
+
export declare const disconnectWallet: import("@reduxjs/toolkit").AsyncThunk<import("../../handlers/auth/signout").SignOutResponse, void, {
|
|
12
12
|
state?: unknown;
|
|
13
13
|
dispatch?: import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").UnknownAction>;
|
|
14
14
|
extra?: unknown;
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|