ionic-vhframeworks 2.8.3 → 2.8.7
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/bundles/ionic-vhframeworks.umd.js +1 -1
- package/bundles/ionic-vhframeworks.umd.js.map +1 -1
- package/bundles/ionic-vhframeworks.umd.min.js +1 -1
- package/bundles/ionic-vhframeworks.umd.min.js.map +1 -1
- package/fesm2015/ionic-vhframeworks.js.map +1 -1
- package/ionic-vhframeworks.metadata.json +1 -1
- package/lib/ionic-vhframeworks.service.d.ts +75 -119
- package/package.json +1 -1
|
@@ -1717,7 +1717,7 @@ export declare class VhQueryCafe {
|
|
|
1717
1717
|
private observableLocalSuppliers;
|
|
1718
1718
|
/**
|
|
1719
1719
|
* @example:
|
|
1720
|
-
* this.observableSupplier = this.
|
|
1720
|
+
* this.observableSupplier = this.vhQueryCafe.getObservableLocalSuppliers().subscribe((localSuppliers:any) => {
|
|
1721
1721
|
do something...
|
|
1722
1722
|
})
|
|
1723
1723
|
|
|
@@ -2414,31 +2414,17 @@ export declare class VhQueryCafe {
|
|
|
2414
2414
|
*/
|
|
2415
2415
|
getPatternMenus(): Promise<unknown>;
|
|
2416
2416
|
/**
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
* Luu ý: chỉ có 2 trường hợp, hoặc là thêm thành công, hoặc là báo lỗi error
|
|
2429
|
-
*/
|
|
2430
|
-
addDebtAtBeginningCustomer(id_customer: string, id_branch: string, debt: number): Promise<unknown>;
|
|
2431
|
-
/**
|
|
2432
|
-
* @example:
|
|
2433
|
-
* this.vhQueryCafe.updateDebtAtBeginningCustomer('5fb6780ca2148e09806c5b01', 2000000)
|
|
2434
|
-
.then((bool)=>{
|
|
2435
|
-
console.log('updateDebtAtBeginningCustomer', bool);
|
|
2436
|
-
})
|
|
2437
|
-
* @param id_debtatbeginningcustomer
|
|
2438
|
-
* @param debt
|
|
2439
|
-
* @return Promise => bool = true or false
|
|
2440
|
-
*/
|
|
2441
|
-
updateDebtAtBeginningCustomer(id_debtatbeginningcustomer: string, debt: number): Promise<unknown>;
|
|
2417
|
+
* @example:
|
|
2418
|
+
* this.vhQueryCafe.updateDebtAtBeginningCustomer('5fb6780ca2148e09806c5b01', '56345gy34t12tf12', 2000000)
|
|
2419
|
+
.then((bool)=>{
|
|
2420
|
+
console.log('updateDebtAtBeginningCustomer', bool);
|
|
2421
|
+
})
|
|
2422
|
+
* @param id_customer
|
|
2423
|
+
* @param id_branch
|
|
2424
|
+
* @param debt_beginning
|
|
2425
|
+
* @return Promise => bool = true or false
|
|
2426
|
+
*/
|
|
2427
|
+
updateDebtAtBeginningCustomer(id_customer: string, id_branch: string, debt_beginning: number): Promise<unknown>;
|
|
2442
2428
|
/**
|
|
2443
2429
|
* @example
|
|
2444
2430
|
* this.vhQueryCafe.getDebtAtBeginningCustomers_byIDcustomer()
|
|
@@ -2448,7 +2434,7 @@ export declare class VhQueryCafe {
|
|
|
2448
2434
|
* @param id_customer
|
|
2449
2435
|
* @return Promise => array(object) = [{},{},..]
|
|
2450
2436
|
*/
|
|
2451
|
-
getDebtAtBeginningCustomers_byIDcustomer
|
|
2437
|
+
private getDebtAtBeginningCustomers_byIDcustomer;
|
|
2452
2438
|
/**
|
|
2453
2439
|
* @example
|
|
2454
2440
|
* this.vhQueryCafe.getDebtAtBeginningCustomers_byIDbranch()
|
|
@@ -2458,7 +2444,7 @@ export declare class VhQueryCafe {
|
|
|
2458
2444
|
* @param id_customer
|
|
2459
2445
|
* @return Promise => array(object) = [{},{},..]
|
|
2460
2446
|
*/
|
|
2461
|
-
getDebtAtBeginningCustomers_byIDbranch
|
|
2447
|
+
private getDebtAtBeginningCustomers_byIDbranch;
|
|
2462
2448
|
/**
|
|
2463
2449
|
* @example
|
|
2464
2450
|
* this.vhQueryCafe.getDebtAtBeginningCustomers_byIDcustomer_byIDbranch('3546235ytrhdghyw465', 'i5455234trgxi8675eg')
|
|
@@ -2468,7 +2454,7 @@ export declare class VhQueryCafe {
|
|
|
2468
2454
|
* @param id_customer
|
|
2469
2455
|
* @return Promise => array(object) = [{},{},..]
|
|
2470
2456
|
*/
|
|
2471
|
-
getDebtAtBeginningCustomers_byIDcustomer_byIDbranch
|
|
2457
|
+
private getDebtAtBeginningCustomers_byIDcustomer_byIDbranch;
|
|
2472
2458
|
/**
|
|
2473
2459
|
* @example
|
|
2474
2460
|
* this.vhQueryCafe.getDebtAtBeginningCustomers()
|
|
@@ -2477,33 +2463,19 @@ export declare class VhQueryCafe {
|
|
|
2477
2463
|
})
|
|
2478
2464
|
* @return Promise => array(object) = [{},{},..]
|
|
2479
2465
|
*/
|
|
2480
|
-
getDebtAtBeginningCustomers
|
|
2466
|
+
private getDebtAtBeginningCustomers;
|
|
2481
2467
|
/**
|
|
2482
2468
|
* @example:
|
|
2483
|
-
* this.vhQueryCafe.
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
console.log('error', error);
|
|
2488
|
-
})
|
|
2469
|
+
* this.vhQueryCafe.updateDebtAtBeginningSupplier('5fb6780ca2148e09806c5b01', '56345gy34t12tf12', 2000000)
|
|
2470
|
+
.then((bool)=>{
|
|
2471
|
+
console.log('updateDebtAtBeginningSupplier', bool);
|
|
2472
|
+
})
|
|
2489
2473
|
* @param id_supplier
|
|
2490
2474
|
* @param id_branch
|
|
2491
|
-
* @param
|
|
2492
|
-
* @return Promise =>
|
|
2493
|
-
* Luu ý: chỉ có 2 trường hợp, hoặc là thêm thành công, hoặc là báo lỗi error
|
|
2494
|
-
*/
|
|
2495
|
-
addDebtAtBeginningSupplier(id_supplier: string, id_branch: string, debt: number): Promise<unknown>;
|
|
2496
|
-
/**
|
|
2497
|
-
* @example:
|
|
2498
|
-
* this.vhQueryCafe.updateDebtAtBeginningSupplier('5fb6780ca2148e09806c5b01', 2000000)
|
|
2499
|
-
.then((bool)=>{
|
|
2500
|
-
console.log('updateDebtAtBeginningSupplier', bool);
|
|
2501
|
-
})
|
|
2502
|
-
* @param id_debtatbeginningsupplier
|
|
2503
|
-
* @param debt
|
|
2504
|
-
* @return Promise => bool = true or false
|
|
2475
|
+
* @param debt_beginning
|
|
2476
|
+
* @return Promise => bool = true or false
|
|
2505
2477
|
*/
|
|
2506
|
-
updateDebtAtBeginningSupplier(
|
|
2478
|
+
updateDebtAtBeginningSupplier(id_supplier: string, id_branch: string, debt_beginning: number): Promise<unknown>;
|
|
2507
2479
|
/**
|
|
2508
2480
|
* @example
|
|
2509
2481
|
* this.vhQueryCafe.getDebtAtBeginningSuppliers_byIDsupplier()
|
|
@@ -2513,7 +2485,7 @@ export declare class VhQueryCafe {
|
|
|
2513
2485
|
* @param id_supplier
|
|
2514
2486
|
* @return Promise => array(object) = [{},{},..]
|
|
2515
2487
|
*/
|
|
2516
|
-
getDebtAtBeginningSuppliers_byIDsupplier
|
|
2488
|
+
private getDebtAtBeginningSuppliers_byIDsupplier;
|
|
2517
2489
|
/**
|
|
2518
2490
|
* @example
|
|
2519
2491
|
* this.vhQueryCafe.getDebtAtBeginningSuppliers_byIDbranch()
|
|
@@ -2523,7 +2495,7 @@ export declare class VhQueryCafe {
|
|
|
2523
2495
|
* @param id_branch
|
|
2524
2496
|
* @return Promise => array(object) = [{},{},..]
|
|
2525
2497
|
*/
|
|
2526
|
-
getDebtAtBeginningSuppliers_byIDbranch
|
|
2498
|
+
private getDebtAtBeginningSuppliers_byIDbranch;
|
|
2527
2499
|
/**
|
|
2528
2500
|
* @example
|
|
2529
2501
|
* this.vhQueryCafe.getDebtAtBeginningSuppliers_byIDsupplier_byIDbranch('4ye5r6tyhdfdfaenm', '576dfgbdshdmiret3')
|
|
@@ -2534,7 +2506,7 @@ export declare class VhQueryCafe {
|
|
|
2534
2506
|
* @param id_branch
|
|
2535
2507
|
* @return Promise => array(object) = [{},{},..]
|
|
2536
2508
|
*/
|
|
2537
|
-
getDebtAtBeginningSuppliers_byIDsupplier_byIDbranch
|
|
2509
|
+
private getDebtAtBeginningSuppliers_byIDsupplier_byIDbranch;
|
|
2538
2510
|
/**
|
|
2539
2511
|
* @example
|
|
2540
2512
|
* this.vhQueryCafe.getDebtAtBeginningSuppliers()
|
|
@@ -2543,7 +2515,7 @@ export declare class VhQueryCafe {
|
|
|
2543
2515
|
})
|
|
2544
2516
|
* @return Promise => array(object) = [{},{},..]
|
|
2545
2517
|
*/
|
|
2546
|
-
getDebtAtBeginningSuppliers
|
|
2518
|
+
private getDebtAtBeginningSuppliers;
|
|
2547
2519
|
setDefaultBranch(id_branch: any): void;
|
|
2548
2520
|
getDefaultBranch(): any;
|
|
2549
2521
|
clearDefaultBranch(): void;
|
|
@@ -6974,7 +6946,7 @@ export declare class VhQuerySales {
|
|
|
6974
6946
|
* let suppliers = this.vhQuerySales.getlocalWallets();
|
|
6975
6947
|
* @return Array(object) => array = [{},{},...]
|
|
6976
6948
|
*/
|
|
6977
|
-
getlocalSuppliers(): any;
|
|
6949
|
+
getlocalSuppliers(): any[];
|
|
6978
6950
|
/**
|
|
6979
6951
|
* this.vhQuerySales.refreshLocalSuppliers()
|
|
6980
6952
|
.then(()=>{
|
|
@@ -7692,30 +7664,16 @@ export declare class VhQuerySales {
|
|
|
7692
7664
|
getAddresss(): Promise<unknown>;
|
|
7693
7665
|
/**
|
|
7694
7666
|
* @example:
|
|
7695
|
-
* this.vhQuerySales.
|
|
7696
|
-
.then((
|
|
7697
|
-
console.log('
|
|
7698
|
-
},error=>{
|
|
7699
|
-
console.log('error', error);
|
|
7667
|
+
* this.vhQuerySales.updateDebtAtBeginningCustomer('5fb6780ca2148e09806c5b01', '56345gy34t12tf12', 2000000)
|
|
7668
|
+
.then((bool)=>{
|
|
7669
|
+
console.log('updateDebtAtBeginningCustomer', bool);
|
|
7700
7670
|
})
|
|
7701
7671
|
* @param id_customer
|
|
7702
7672
|
* @param id_branch
|
|
7703
|
-
* @param
|
|
7704
|
-
* @return
|
|
7705
|
-
* Luu ý: chỉ có 2 trường hợp, hoặc là thêm thành công, hoặc là báo lỗi error
|
|
7673
|
+
* @param debt_beginning
|
|
7674
|
+
* @return Promise => bool = true or false
|
|
7706
7675
|
*/
|
|
7707
|
-
|
|
7708
|
-
/**
|
|
7709
|
-
* @example:
|
|
7710
|
-
* this.vhQuerySales.updateDebtAtBeginningCustomer('5fb6780ca2148e09806c5b01', 2000000)
|
|
7711
|
-
.then((bool)=>{
|
|
7712
|
-
console.log('updateDebtAtBeginningCustomer', bool);
|
|
7713
|
-
})
|
|
7714
|
-
* @param id_debtatbeginningcustomer
|
|
7715
|
-
* @param debt
|
|
7716
|
-
* @return Promise => bool = true or false
|
|
7717
|
-
*/
|
|
7718
|
-
updateDebtAtBeginningCustomer(id_debtatbeginningcustomer: string, debt: number): Promise<unknown>;
|
|
7676
|
+
updateDebtAtBeginningCustomer(id_customer: string, id_branch: string, debt_beginning: number): Promise<unknown>;
|
|
7719
7677
|
/**
|
|
7720
7678
|
* @example
|
|
7721
7679
|
* this.vhQuerySales.getDebtAtBeginningCustomers_byIDcustomer()
|
|
@@ -7757,30 +7715,16 @@ export declare class VhQuerySales {
|
|
|
7757
7715
|
getDebtAtBeginningCustomers(): Promise<unknown>;
|
|
7758
7716
|
/**
|
|
7759
7717
|
* @example:
|
|
7760
|
-
* this.vhQuerySales.
|
|
7761
|
-
.then((debtatbeginning)=>{
|
|
7762
|
-
console.log('addDebtAtBeginningSupplier', debtatbeginning);
|
|
7763
|
-
},error=>{
|
|
7764
|
-
console.log('error', error);
|
|
7765
|
-
})
|
|
7766
|
-
* @param id_supplier
|
|
7767
|
-
* @param id_branch
|
|
7768
|
-
* @param debt
|
|
7769
|
-
* @return Promise => obj = {}
|
|
7770
|
-
* Luu ý: chỉ có 2 trường hợp, hoặc là thêm thành công, hoặc là báo lỗi error
|
|
7771
|
-
*/
|
|
7772
|
-
addDebtAtBeginningSupplier(id_supplier: string, id_branch: string, debt: number): Promise<unknown>;
|
|
7773
|
-
/**
|
|
7774
|
-
* @example:
|
|
7775
|
-
* this.vhQuerySales.updateDebtAtBeginningSupplier('5fb6780ca2148e09806c5b01', 2000000)
|
|
7718
|
+
* this.vhQuerySales.updateDebtAtBeginningSupplier('5fb6780ca2148e09806c5b01', '56345gy34t12tf12', 2000000)
|
|
7776
7719
|
.then((bool)=>{
|
|
7777
7720
|
console.log('updateDebtAtBeginningSupplier', bool);
|
|
7778
7721
|
})
|
|
7779
|
-
* @param
|
|
7780
|
-
* @param
|
|
7722
|
+
* @param id_supplier
|
|
7723
|
+
* @param id_branch
|
|
7724
|
+
* @param debt_beginning
|
|
7781
7725
|
* @return Promise => bool = true or false
|
|
7782
7726
|
*/
|
|
7783
|
-
updateDebtAtBeginningSupplier(
|
|
7727
|
+
updateDebtAtBeginningSupplier(id_supplier: string, id_branch: string, debt_beginning: number): Promise<unknown>;
|
|
7784
7728
|
/**
|
|
7785
7729
|
* @example
|
|
7786
7730
|
* this.vhQuerySales.getDebtAtBeginningSuppliers_byIDsupplier()
|
|
@@ -7800,7 +7744,7 @@ export declare class VhQuerySales {
|
|
|
7800
7744
|
* @param id_branch
|
|
7801
7745
|
* @return Promise => array(object) = [{},{},..]
|
|
7802
7746
|
*/
|
|
7803
|
-
getDebtAtBeginningSuppliers_byIDbranch
|
|
7747
|
+
private getDebtAtBeginningSuppliers_byIDbranch;
|
|
7804
7748
|
/**
|
|
7805
7749
|
* @example
|
|
7806
7750
|
* this.vhQuerySales.getDebtAtBeginningSuppliers_byIDsupplier_byIDbranch('4ye5r6tyhdfdfaenm', '576dfgbdshdmiret3')
|
|
@@ -8095,8 +8039,8 @@ export declare class VhQuerySales {
|
|
|
8095
8039
|
console.log("success");
|
|
8096
8040
|
})
|
|
8097
8041
|
* @param id_bill
|
|
8098
|
-
* @param bill
|
|
8099
|
-
* @param bill_details
|
|
8042
|
+
* @param bill (bill phải đủ các field)
|
|
8043
|
+
* @param bill_details (bill_details phải đủ các field)
|
|
8100
8044
|
* @returns
|
|
8101
8045
|
*/
|
|
8102
8046
|
updateBill_Billdetail(id_bill: any, bill: any, bill_details: any): any;
|
|
@@ -8792,7 +8736,9 @@ export declare class VhQuerySales {
|
|
|
8792
8736
|
* @Notice bill_type = [1,10,15,30,2,3,9,31]
|
|
8793
8737
|
*/
|
|
8794
8738
|
getReportInputOutputInventory_byTime_byIDProduct(starttime: any, endtime: any, IDproduct: any, IDbranch?: any): Promise<any>;
|
|
8739
|
+
syncInventoryEveryDay_StockBeginning(): Promise<any>;
|
|
8795
8740
|
syncInventoryEveryDay(): Promise<any>;
|
|
8741
|
+
private syncInventoryEveryDay1;
|
|
8796
8742
|
/**
|
|
8797
8743
|
* Hàm này dùng trong page Tồn kho, giá trị tồn kho, doanh số, chi phí nhập hàng tại một thời điểm endtime nào đó
|
|
8798
8744
|
* @example:
|
|
@@ -9061,17 +9007,14 @@ export declare class VhQuerySales {
|
|
|
9061
9007
|
getReportIncomeExpenditureDiary(starttime: any, endtime: any, id_wallet: any, id_employee: any, array_bill_type: any, IDbranch?: string): Promise<unknown>;
|
|
9062
9008
|
/**
|
|
9063
9009
|
* VhQuerySales:
|
|
9010
|
+
* @param starttime
|
|
9011
|
+
* @param endtime
|
|
9012
|
+
* @param IDsuppiler: id_supplier hoặc 'all'
|
|
9064
9013
|
* @param IDbranch: id_branch hoặc 'all'
|
|
9065
9014
|
* @return JSON(Array) => json.docs = [{id, name, index, debt, payment, rest,...},{},....]
|
|
9066
9015
|
* Lưu ý: giá trị này trả về dạng array
|
|
9067
9016
|
*/
|
|
9068
|
-
getDebtSuppliers(IDbranch?: string): Promise<any>;
|
|
9069
|
-
/**
|
|
9070
|
-
* VhQuerySales:
|
|
9071
|
-
* @param id_supplier
|
|
9072
|
-
* @param IDbranch: id_branch hoặc 'all'
|
|
9073
|
-
*/
|
|
9074
|
-
getDebtSupplier_Detail(id_supplier: string, IDbranch?: string): Promise<any>;
|
|
9017
|
+
getDebtSuppliers(starttime: any, endtime: any, IDsuppiler: string, IDbranch?: string): Promise<any>;
|
|
9075
9018
|
/**
|
|
9076
9019
|
* VhQuerySales:
|
|
9077
9020
|
* @example:
|
|
@@ -9084,20 +9027,14 @@ export declare class VhQuerySales {
|
|
|
9084
9027
|
* @return JSON(Array) => json.docs = [{id, name, index, debt, payment, rest,...},{},....]
|
|
9085
9028
|
* Lưu ý: giá trị này trả về dạng array
|
|
9086
9029
|
*/
|
|
9087
|
-
getDebtCustomers(IDbranch?: string): Promise<any>;
|
|
9030
|
+
getDebtCustomers(starttime: any, endtime: any, IDcustomer: string, IDbranch?: string): Promise<any>;
|
|
9088
9031
|
/**
|
|
9089
|
-
|
|
9090
|
-
|
|
9091
|
-
|
|
9092
|
-
|
|
9093
|
-
|
|
9094
|
-
|
|
9095
|
-
* lấy về 1 bảng báo cáo (report) theo cấu trúc json ở dưới
|
|
9096
|
-
* @example:
|
|
9097
|
-
* this.vhQuerySales.getReportInventoryTime_byTimes('hNCda0obCvrX6qC3PZ0N')
|
|
9098
|
-
.then((reports)=>{
|
|
9099
|
-
console.log('reports',reports);
|
|
9100
|
-
})
|
|
9032
|
+
* lấy về 1 bảng báo cáo (report) theo cấu trúc json ở dưới
|
|
9033
|
+
* @example:
|
|
9034
|
+
* this.vhQuerySales.getReportInventoryTime_byTimes('hNCda0obCvrX6qC3PZ0N')
|
|
9035
|
+
.then((reports)=>{
|
|
9036
|
+
console.log('reports',reports);
|
|
9037
|
+
})
|
|
9101
9038
|
* @param id_inventorytime
|
|
9102
9039
|
* @return Promise json = {docs(array), empty(boolean), size(number), total_stock(number), total_inventorynotes(array)}
|
|
9103
9040
|
* docs(array) --> {id(string), data()(object), stock(number), inventorynotes(array)}
|
|
@@ -9139,6 +9076,15 @@ export declare class VhQuerySCclient {
|
|
|
9139
9076
|
constructor(vhmongo_firebase: Vhmongo_firebase, vhQuery: VhQuery, vhAuth: VhAuth, vhAlgorithm: VhAlgorithm);
|
|
9140
9077
|
startLocalStorage(): Promise<any>;
|
|
9141
9078
|
private getEUtokenfromDatabase;
|
|
9079
|
+
/**
|
|
9080
|
+
*
|
|
9081
|
+
* @param licensecam
|
|
9082
|
+
* @param camplaybackURL
|
|
9083
|
+
* @param starttime
|
|
9084
|
+
* @param endtime
|
|
9085
|
+
* @return Promise => array(string) = [,,..]
|
|
9086
|
+
*/
|
|
9087
|
+
getPlaybackListCamByEndUser(licensecam: string, camplaybackURL: string, starttime: any, endtime: any): Promise<unknown>;
|
|
9142
9088
|
/**
|
|
9143
9089
|
* @example:
|
|
9144
9090
|
* let cloudcam = this.vhQuerySecurityCam.getlocalCloudCam('5fb6780ca2148e09806c5b01');
|
|
@@ -9558,7 +9504,7 @@ export declare class VhQuerySCclient {
|
|
|
9558
9504
|
getMainboards(): Promise<unknown>;
|
|
9559
9505
|
/**
|
|
9560
9506
|
* @example
|
|
9561
|
-
* this.
|
|
9507
|
+
* this.vhQuerySCclient.getMainboards_byFields({name:{$eq:'name abc'}}, {},{},0)
|
|
9562
9508
|
.then((mainboards)=>{
|
|
9563
9509
|
console.log('getMainboards_byFields', mainboards);
|
|
9564
9510
|
})
|
|
@@ -10403,6 +10349,16 @@ export declare class VhQuerySecurityCam {
|
|
|
10403
10349
|
* @return Promise => array(object) = [{},{},..]
|
|
10404
10350
|
*/
|
|
10405
10351
|
getPages_byIDdistrict(id_district: string): Promise<unknown>;
|
|
10352
|
+
/**
|
|
10353
|
+
* @example
|
|
10354
|
+
* this.vhQuerySecurityCam.getPages_byIDemployee('hjkhklf8f90we8')
|
|
10355
|
+
.then((pages)=>{
|
|
10356
|
+
console.log('getPages_byIDemployee', pages);
|
|
10357
|
+
})
|
|
10358
|
+
* @param id_employee
|
|
10359
|
+
* @return Promise => array(object) = [{},{},..]
|
|
10360
|
+
*/
|
|
10361
|
+
getPages_byIDemployee(id_employee: string): Promise<unknown>;
|
|
10406
10362
|
private publishObservableEventAreas;
|
|
10407
10363
|
private observableLocalAreas;
|
|
10408
10364
|
/**
|