|
|
|
|
|
|
|
An HFSQL view corresponds to a "memory image" of an HFSQL data file... |
|
|
|
|
|
|
An HFSQL application can operate in network mode or in Client/Server mode... |
|
|
|
|
|
|
The analysis proposes two types of Unicode items... |
|
|
|
|
|
|
Several HFSQL functions are used to manage the HFSQL Client/Server data... |
|
|
|
|
|
|
Starting with version 2024, you can store and manipulate geometric and geographic data in HFSQL databases... |
|
|
|
|
|
|
WINDEV, WEBDEV and WINDEV Mobile include a module for assisted management of HFSQL errors... |
|
|
|
|
|
|
Several HFSQL functions are used to manage the HFSQL Client/Server data... |
|
|
|
|
|
|
You have the ability to create applications that access the HFSQL Client/Server databases... |
|
|
|
|
|
|
Checks that the data contained in the index file (.NDX file) correctly references the data contained in the HFSQL Client/Server data file (.FIC file). This new function is available from WINDEV Suite SaaS 2025 - Update 2. |
|
|
|
|
|
|
List of functions for HFSQL management |
|
|
|
|
|
|
The "Key" items are used to organize the records in a data file in order to optimize the browse or the search... |
|
|
|
|
|
|
List of functions for HFSQL management |
|
|
|
|
|
|
There are two methods to convert HFSQL Classic databases to HFSQL Client/Server in WINDEV, WEBDEV and WINDEV Mobile... |
|
|
|
|
|
|
Checks the structural integrity of memos in an HFSQL Client/Server data file. This new function is available from WINDEV Suite SaaS 2025 - Update 2. |
|
|
|
|
|
|
The ODBC driver for HFSQL Classic (single-user or multi-user) is used to access an HFSQL Classic database from an external database software that supports the accesses by ODBC... |
|
|
|
|
|
|
The ODBC driver for HFSQL Classic (single-user or multi-user) is used to access an HFSQL Classic database from an external database software that supports the accesses by ODBC... |
|
|
|
|
|
|
The stored procedures are used to simplify the development and the maintenance of your applications by factorizing the code... |
|
|
|
|
|
|
Returns the date of the last update for the index statistics. |
|
|
|
|
|
|
Defines and enables a filter on a data file, view or query. |
|
|
|
|
|
|
Enables or disables log management on a file. |
|
|
|
|
|
|
Checks that the data contained in the index file (.NDX file) correctly references the data contained in the HFSQL Client/Server data file (.FIC file). This new function is available from WINDEV Suite SaaS 2025 - Update 2. |
|
|
|
|
|
|
Validates the current transaction: - the modifications performed on the data file since the start of transaction (HTransactionStart) are validated.
- the transaction file is deleted (if the transaction is the last transaction in progress for a network application)
- the records locked in read-only by the transaction are unlocked.
|
|
|
|
|
|
|
Starts a transaction on the data files (HFSQL or accessed via Native Access) and creates the transaction file. |
|
|
|
|
|
|
Exports the records found in a data file (HFSQL or OLE DB), view or query to an XML file. |
|
|
|
|
|
|
Exports the records found in a data file (HFSQL or OLE DB), a view or a query to a CSV file. |
|
|
|
|
|
|
WINDEV allows you to easily run queries in SQL code... |
|
|
|
|
|
|
Used to check whether a lock error occurred. |
|
|
|
|
|
|
Checks the structural integrity of memos in an HFSQL data file. |
|
|
|
|
|
|
Describes a data file programmatically. |
|
|
|
|
|
|
Describes a full-text index of data file created programmatically. |
|
|
|
|
|
|
Enables or disables the management of transactions for one or more files. |
|
|
|
|
|
|
Restores the previously saved context of a file (function HSavePosition): record in progress, filter, playback pointers. |
|
|
|
|
|
|
Exports the records from a data file (HFSQL or OLE DB), view or query to a JSON string. |
|
|
|
|
|
|
Converts the content of the current record to string (in a data file, HFSQL view, query, etc.).
|
|
|
|
|
|
|
Exports the records found in a data file (HFSQL or OLE DB), view or query to an XML file. |
|
|
|
|
|
|
Imports a Text file into an HFSQL Classic or Client/Server data file. This data file must have been defined in the data model editor, or declared with HDeclare, HDeclareExternal or HDescribeFile). |
|
|
|
|
|
|
Exports the records found in a data file (HFSQL or OLE DB), a view or a query to a CSV file. |
|
|
|
|
|
|
Unlocks a file that was locked by the same program with HNoModif. |
|
|
|
|
|
|
Describes a data file programmatically. |
|
|
|
|
|
|
Returns the spatial keys of a data file (used in a query or view) recognized by the HFSQL engine. |
|
|
|
|
|
|
Closes either a data file or all data files opened by the current user: all corresponding physical data files are closed for the current user. |
|
|
|
|
|
|
A Link Description variable is used to describe a link between two data files programmatically. |
|
|
|
|
|
|
Imports an XLS file into an HFSQL Classic or Client/Server data file. This data file must have been defined in the data model editor, or declared with HDeclare, HDeclareExternal or HDescribeFile). |
|
|
|
|
|
|
Stops the log process of a file. |
|
|
|
|
|
|
Customizes the management of HFSQL errors. |
|
|
|
|
|
|
Forbids all the modifications on a data file (for all the programs, including the one that requested the no-modification policy). |
|
|
|
|
|
|
Enables or disables the automatic security mechanism on one or more data files. |
|
|
|
|
|
|
Deletes all records from a data file, an HFSQL view or a query. |
|
|
|
|
|
|
Imports a Text file into an HFSQL Classic or Client/Server data file. This data file must have been defined in the data model editor, or declared with HDeclare, HDeclareExternal or HDescribeFile). |
|
|
|
|
|
|
Enables or disables the management of transactions for one or more files. |
|
|
|
|
|
|
Deletes a record from a data file (query or view). |
|
|
|
|
|
|
Sets the position on the previous record of the data file according to a browse item. |
|
|
|
|
|
|
Stops the log process of a file. |
|
|
|
|
|
|
Stores the current file context (current record, filter, pointers). |
|
|
|
|
|
|
Converts the content of the current record to string (in a data file, HFSQL view, query, etc.). |
|
|
|
|
|
|
Returns the status of a record during a modification conflict. |
|
|
|
|
|
|
Defines the mode for comparing data files. |
|
|
|
|
|
|
Used to find out whether a transaction is in progress. |
|
|
|
|
|
|
Returns the approximate position of current record in the data file.
|
|
|
|
|
|
|
WDHFDiff is a tool used to compare HFSQL data files... |
|
|
|
|
|
|
Positions on the first file record whose value for a specific item is greater than or equal to a sought value. |
|
|
|
|
|
|
Deletes a record from a data file (query or view). |
|
|
|
|
|
|
Lists the words of the current record that will be taken into account by the full-text indexing. |
|
|
|
|
|
|
Returns the approximate position of current record in the data file.
|
|
|
|
|
|
|
Allows you to: - return the value of a record item if a modification conflict occurs.
- check if a modification conflict occurred.
|
|
|
|
|
|
|
Forbids all the modifications on a data file (for all the programs, including the one that requested the no-modification policy). |
|
|
|
|
|
|
Exports records from a data file (HFSQL or OLE DB), view or query to an Excel file (XLSX). |
|
|
|
|
|
|
Returns the date of the last update for the index statistics. |
|
|
|
|
|
|
Used to handle the idle periods of a software (period without processes) to optimize the queries and the browses that will be run thereafter. |
|
|
|
|
|
|
REP files contain the list of data files handled by the application. |
|
|
|
|
|
|
Sets the position on the first record whose value for a specific item is greater than or equal to a sought value (generic search). |
|
|
|
|
|
|
Creates an HFSQL view. This function uses the former view mechanism. |
|
|
|
|
|
|
Sets the position on the last record of a data file according to a browse item. |
|
|
|
|
|
|
Lists the words of the current record that will be taken into account by the full-text indexing. |
|
|
|
|
|
|
Declares a query created in the query editor to the HFSQL engine and runs this query. |
|
|
|
|
|
|
Sets the position on the first record of a data file according to the specified browse item. |
|
|
|
|
|
|
Positions on the first file record whose value for a specific item is greater than or equal to a sought value. |
|
|
|
|
|
|
Imports an XLS file into an HFSQL Classic or Client/Server data file. This data file must have been defined in the data model editor, or declared with HDeclare, HDeclareExternal or HDescribeFile). |
|
|
|
|
|
|
Used to check whether a duplicate error occurred. |
|
|
|
|
|
|
Exports the records from a data file (HFSQL or OLE DB), view or query to a JSON string. |
|
|
|
|
|
|
A log is a special file that contains the history of all changes made to one or more data files over a given period of time (date the file was created, last automatic data modification, last backup created with WDLog, etc.) |
|
|
|
|
|
|
Sets the position on a record, based on the approximate position of one of its items. |
|
|
|
|
|
|
Closes the current analysis (or all current analyses in the case of a project with multiple analyses). |
|
|
|
|
|
|
Transforms all "in transaction" records into "Normal" records if they do not belong to an ongoing transaction. |
|
|
|
|
|
|
Customizes the management of HFSQL errors. |
|
|
|
|
|
|
Used to modify the management mode of memo items. |
|
|
|
|
|
|
Indicates that a reindex operation is currently performed on an HFSQL data file and returns the percentage of reindexing already performed. |
|
|
|
|
|
|
Restores the previously saved context of a file (function HSavePosition): record in progress, filter, playback pointers. |
|
|
|
|
|
|
Enables or disables the management of an integrity constraint on a file link. |
|
|
|
|
|
|
Returns the list of synonyms used by a full-text index. |
|
|
|
|
|
|
Initializes: - one or all variables of file items with their default values.
- one or all items of a Record variable with their default values.
|
|
|
|
|
|
|
Sets the position on the first record whose value for a specific item is greater than or equal to a sought value (generic search). |
|
|
|
|
|
|
Returns the time of the last update for the index statistics. |
|
|
|
|
|
|
Writes a record into a data file without updating the indexes corresponding to all keys used in the file. |
|
|
|
|
|
|
Closes either a data file or all data files opened by the current user: all corresponding physical data files are closed for the current user. |
|
|
|
|
|
|
Used to find out whether the record on which you want to be positioned is located outside the data file, filter, view or query. |
|
|
|
|
|
|
Stores the current context of a data file: current record, filter, read pointers. |
|
|
|
|
|
|
Exports the records found in a data file (HFSQL or OLE DB), view or query to a JSON file. |
|
|
|
|
|
|
Sets the position on the last file record whose value for a specific item is less than or equal to a sought value. |
|
|
|
|
|
|
Enables or disables the automatic security mechanism on one or more data files. |
|
|
|
|
|
|
Sets the position on the next data file record according to a browse item. |
|
|
|
|
|
|
Checks whether the data found in the index file (.NDX file) properly refers the data found in the data file (.FIC file). |
|
|
|
|
|
|
Returns an estimate regarding the number of entries for a given key item in a given interval of values. |
|
|
|
|
|
|
Enables or disables the management of duplicates on a unique key. |
|
|
|
|
|
|
A composite key is a key item containing several other items... |
|
|
|
|
|
|
Describes a file item programmatically. |
|
|
|
|
|
|
Restarts the logging process on a file. |
|
|
|
|
|
|
After the execution of a read or write function in a data file, used to find out whether an error caused by a wrong password occurred on this data file.
|
|
|
|
|
|
|
Deletes all records from a data file, an HFSQL view or a query. |
|
|
|
|
|
|
Enables or disables log management on a file. |
|
|
|
|
|
|
Recreates the subscriber replica description file (universal replication only) based on the information of the master replica (.rpm and .syn files). |
|
|
|
|
|
|
Sets the position on the next data file record according to a browse item. |
|
|
|
|
|
|
Returns the list of data file bindings (Merise type) present:- in the current analysis,
- in ongoing analyses (projects with multiple analyses).
- in a specific analysis.
|
|
|
|
|
|
|
Sets the position on the next data file record according to a browse item. |
|
|
|
|
|
|
Returns an estimate regarding the number of entries for a given key item in a given interval of values. |
|
|
|
|
|
|
Returns the list of links (Merise) in the current analysis or in a specific analysis. |
|
|
|
|
|
|
Defines and enables a filter on a data file, view or query. |
|
|
|
|
|
|
Returns the list of full-text indexes of a file (a query or a view) recognized by the HFSQL engine. |
|
|
|
|
|
|
Declares a query created in the query editor to the HFSQL engine and runs this query. |
|
|
|
|
|
|
Enables or disables the management of triggers. |
|
|
|
|
|
|
Sets the position on the last file record whose value for a specific item is less than or equal to a sought value. |
|
|
|
|
|
|
You can start developing your application as soon as the WINDEV project is defined as being a Java project... |
|
|
|
|
|
|
Used to find out whether a transaction was interrupted (the transaction was neither validated nor canceled). |
|
|
|
|
|
|
Unlocks a file that was locked by the same program with HNoModif. |
|
|
|
|
|
|
Crosses a record in a data file. |
|
|
|
|
|
|
Used to check whether an integrity error occurred. |
|
|
|
|
|
|
Imports a CSV file into an HFSQL Classic or Client/Server data file. This data file must have been defined in the data model editor, or declared with HDeclare, HDeclareExternal or HDescribeFile). |
|
|
|
|
|
|
Link functions are used to link the interface with the data files and vice versa. |
|
|
|
|
|
|
Enables or disables the management of duplicates on a unique key. |
|
|
|
|
|
|
Creates an HFSQL view. This function uses the former view mechanism. |
|
|
|
|
|
|
Moves backward several records from the current position in the data file, according to a specified item. |
|
|
|
|
|
|
This document presents the different access modes to databases from a WINDEV Java application... |
|
|
|
|
|
|
Returns the value of a record item when a modification conflict occurs..
|
|
|
|
|
|
|
Adds or modifies a trigger on an HFSQL data file. |
|
|
|
|
|
|
Checks the structural integrity of memos in an HFSQL Client/Server data file. This new function is available from WINDEV Suite SaaS 2025 - Update 2. |
|
|
|
|
|
|
Returns the list of WINDEV or WEBDEV analyses (in HFSQL Classic format) available in a given directory. |
|
|
|
|
|
|
The aliases are used to handle... |
|
|
|
|
|
|
Checks whether the data found in the index file (.NDX file) properly refers the data found in the data file (.FIC file). |
|
|
|
|
|
|
Exports the records found in a data file (HFSQL or OLE DB), view or query to a JSON file. |
|
|
|
|
|
|
Used to handle the idle periods of a software (period without processes) to optimize the queries and the browses that will be run thereafter. |
|
|
|
|
|
|
Returns the content of the current record (in a file, a view or a query, ...). |
|
|
|
|
|
|
Restarts the logging process on a file. |
|
|
|
|
|
|
Creates the description file of a Master Replica (logged replication or universal replication). |
|
|
|
|
|
|
Returns the content of the current record (in a file, a view or a query, ...). |
|
|
|
|
|
|
Rolls the transaction back to the savepoint. |
|
|
|
|
|
|
Crosses a record in a data file. |
|
|
|
|
|
|
Sets the position on the previous record of a file according to a browse item. |
|
|
|
|
|
|
Temporarily disables the filter on a data file (view or query). |
|
|
|
|
|
|
WINDEV and WEBDEV support different SQL query execution modes depending on how the database was accessed.... |
|
|
|
|
|
|
Allows you to find out whether the record on which you want to be positioned is located outside the data file, filter, view or query. |
|
|
|
|
|
|
Starts a transaction on the data files (HFSQL or accessed via a Native Connector) and creates the transaction file. |
|
|
|
|
|
|
"Password" items are used to securely store passwords by using a salt and a hash algorithm... |
|
|
|
|
|
|
The Alias type is used to declare and handle a logical alias for a data file or query. |
|
|
|
|
|
|
Sets the position on a record, based on the approximate position of one of its items. |
|
|
|
|
|
|
Positions on the first record of the data file whose value for a specific item is greater than or equal to a search value (generic search by default). |
|
|
|
|
|
|
Checks whether the current record corresponds to the current filter or search. |
|
|
|
|
|
|
Rolls the transaction back to the savepoint. |
|
|
|
|
|
|
Returns the number of duplicates for a given key item. |
|
|
|
|
|
|
Transforms all "in transaction" records into "normal" records if they do not belong to a transaction currently in progress. |
|
|
|
|
|
|
A "spare" server is a target server in a unidirectional automatic replication... |
|
|
|
|
|
|
Validates the current transaction: - the modifications performed on the data file since the start of transaction (HTransactionStart) are validated.
- the transaction file is deleted (if the transaction is the last transaction in progress for a network application)
- the records locked in read-only by the transaction are unlocked.
|
|
|
|
|
|
|
The File Description variable is used to programmatically describe data files. |
|
|
|
|
|
|
Returns the number of duplicates for a given key item. |
|
|
|
|
|
|
Sets the position on the first record whose value for a specific item is strictly equal to a sought value (exact-match search). |
|
|
|
|
|
|
Returns the number of the last error triggered by the HFSQL engine. |
|
|
|
|
|
|
Returns the status of a record during a modification conflict. |
|
|
|
|
|
|
Migrates the values of the linked composite keys coming from a file in Hyper File 5.5 format to the HFSQL Classic format. |
|
|
|
|
|
|
Enables or disables the management of an integrity constraint on a file link. |
|
|
|
|
|
|
Reads a record in a file according to a given record number. |
|
|
|
|
|
|
Used to modify the management mode of memo items. |
|
|
|
|
|
|
Returns the list of full-text indexes of a file (a query or a view) recognized by the HFSQL engine. |
|
|
|
|
|
|
Declares a transaction savepoint. |
|
|
|
|
|
|
Unlocks the records of a data file:- locked by HLockFile.
- individually locked by a locking read function.
|
|
|
|
|
|
|
Writes a record into a data file without updating the indexes corresponding to all keys used in the file. |
|
|
|
|
|
|
Returns the list of stop words used by a full-text index. |
|
|
|
|
|
|
Executes a SELECT query asynchronously. |
|
|
|
|
|
|
Unlocks a record locked by: - HLockRecNum,
- a read function used with a locking parameter (HRead associated with the hLockWrite or hLockReadWrite constant for example).
|
|
|
|
|
|
|
Adds or modifies a trigger on an HFSQL data file. |
|
|
|
|
|
|
Returns a detailed information about the last error triggered by the HFSQL engine. |
|
|
|
|
|
|
Positions on the first record of the data file whose value for a specific item is greater than or equal to a search value (generic search by default). |
|
|
|
|
|
|
Sets the position on the last record whose value for a specific item is less than or equal to a sought value (exact-match search). |
|
|
|
|
|
|
Returns the list of keys in a data file (query or view) recognized by the HFSQL engine. |
|
|
|
|
|
|
Exports records from a data file (HFSQL or OLE DB), view or query to an Excel file (XLSX). |
|
|
|
|
|
|
Returns the list of items:- found in a data file ( a query or a view) known to the HFSQL engine. The data files defined by HDeclare, HDeclareExternal and HDescribeFile are taken into account.
- found in a Record variable.
|
|
|
|
|
|
|
Initializes: - one or all variables of file items with their default values.
- one or all items of a Record variable with their default values.
|
|
|
|
|
|
|
Temporarily disables the filter on a data file (view or query). |
|
|
|
|
|
|
Describes a link between two data files programmatically. |
|
|
|
|
|
|
Returns the list of synonyms used by a full-text index. |
|
|
|
|
|
|
Checks whether the current record corresponds to the current filter or search. |
|
|
|
|
|
|
Declares a transaction savepoint. |
|
|
|
|
|
|
Defines the mode for comparing data files. |
|
|
|
|
|
|
Sets the position on the previous record of a file according to a browse item. |
|
|
|
|
|
|
Unlocks the records of a data file:- locked by HLockFile.
- individually locked by a locking read function.
|
|
|
|
|
|
|
Sets the position on the first record whose value for a specific item is strictly equal to a sought value (exact-match search). |
|
|
|
|
|
|
Link functions are used to link the interface with the data files and vice versa. These functions are as follows: |
|
|
|
|
|
|
A trigger is a WLanguage procedure automatically called by the HFSQL engine whenever a modification is performed (addition, deletion, modification, ...) on a record of a data file. |
|
|
|
|
|
|
An Item Description variable is used to describe one or more items in a data file programmatically. |
|
|
|
|
|
|
Reads a record in a file according to a given record number. |
|
|
|
|
|
|
Imports a Hyper File 5.5 file into an HFSQL Classic file. |
|
|
|
|
|
|
Starts a transaction on the data files (HFSQL or accessed via a Native Connector) and creates the transaction file. |
|
|
|
|
|
|
Returns the list of keys in a data file (query or view) recognized by the HFSQL engine. |
|
|
|
|
|
|
A filter is used to define through programming a selection of records corresponding to one or more criteria... |
|
|
|
|
|
|
Sets the position on the last record of a data file according to a browse item. |
|
|
|
|
|
|
Imports a Hyper File 5.5 file into an HFSQL Classic file. |
|
|
|
|
|
|
Returns the time of the last update for the index statistics. |
|
|
|
|
|
|
Unlocks a record locked by: - HLockRecNum,
- a read function used with a locking parameter (HRead associated with the hLockWrite or hLockReadWrite constant for example).
|
|
|
|
|
|
|
Sets the position on the previous record of the data file according to a browse item. |
|
|
|
|
|
|
Returns the spatial keys of a data file (used in a query or view) recognized by the HFSQL engine. |
|
|
|
|
|
|
Indicates that a reindex operation is currently performed on an HFSQL data file and returns the percentage of reindexing already performed. |
|
|
|
|
|
|
Moves backward several records from the current position in the data file, according to a specified item. |
|
|
|
|
|
|
Checks the structural integrity of memos in an HFSQL data file. |
|
|
|
|
|
|
Starts a transaction on the data files (HFSQL or accessed via Native Access) and creates the transaction file. |
|
|
|
|
|
|
Sets the position on the last record whose value for a specific item is less than or equal to a sought value (exact-match search). |
|
|
|
|
|
|
Imports a CSV file into an HFSQL Classic or Client/Server data file. This data file must have been defined in the data model editor, or declared with HDeclare, HDeclareExternal or HDescribeFile). |
|
|
|
|
|
|
Returns the list of triggers applied to one or more HFSQL data files. |
|
|
|
|
|
|
Migrates the values of the linked composite keys coming from a file in Hyper File 5.5 format to the HFSQL Classic format. |
|
|
|
|
|
|
Sets the position on the next data file record according to a browse item. |
|
|
|
|
|
|
Sets the position on the first record of a data file according to the specified browse item. |
|
|
|
|
|
|
Executes a SELECT query asynchronously. |
|
|
|
|
|
|
Deletes a scheduled task from an HFSQL Client/Server server.... |
|
|
|
|
|
|
Modifies the rights granted to a user or to a group on a HFSQL server. |
|
|
|
|
|
|
Modifies the properties of an HFSQL data file located on a server. |
|
|
|
|
|
|
Modifies a scheduled task on the HFSQL server defined by the connection. |
|
|
|
|
|
|
The FOR EACH statement is used to run different types of HFSQL loops... |
|
|
|
|
|
|
Modifies the rights granted to a user or to a group on an HFSQL server. |
|
|
|
|
|
|
Deletes a query (used by stored procedures) from an HFSQL server. |
|
|
|
|
|
|
Returns the list of automatic operations in progress on an HFSQL server. |
|
|
|
|
|
|
Modifies some parameters of an existing replication between two HFSQL servers. |
|
|
|
|
|
|
Deletes a query (used by stored procedures) from an HFSQL server. |
|
|
|
|
|
|
Deletes a scheduled backup from an HFSQL Client/Server server.... |
|
|
|
|
|
|
Disables a HFSQL Client/Server server trigger on a server.... |
|
|
|
|
|
|
Configures the isolation mode of transactions for a connection to an HFSQL server. |
|
|
|
|
|
|
WDHFDiff is used to compare...... |
|
|
|
|
|
|
by a Native Connector or HFSQL Client/Server.
about an item accessed by a Native Connector or HFSQL... |
|
|
|
|
|
|
All the Control Centers provided with WINDEV, WEBDEV and WINDEV Mobile use the same database...... |
|
|
|
|
|
|
Enables or disables a scheduled task on an HFSQL Client/Server server.... |
|
|
|
|
|
|
Used to find out and modify some settings of HFSQL Client/Server server.... |
|
|
|
|
|
|
Starts an HFSQL cluster. This cluster was stopped beforehand (by HClusterStop for example). |
|
|
|
|
|
|
Adds an optimization task of HFSQL Client/Server data files.... |
|
|
|
|
|
|
Lists the full and differential backups that have been scheduled on HFSQL Client/Server.... |
|
|
|
|
|
|
Modifies a scheduled optimization task on the HFSQL server defined by the connection. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|