Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop
This commit is contained in:
commit
db9ec0194b
20 files changed
+285
-60
No files matched your search
+2
-2
@@ -3,8 +3,8 @@
|
||||
"pageNumber": "2",
|
||||
"type": "Getting Started Tutorials Plugin Workspace",
|
||||
"definition": {
|
||||
"text": "This workspace is the first point of contact with Superalgos. It's purpose is to get new users familiar with all the basic aspects of Superalgos.",
|
||||
"updated": 1616145473343
|
||||
"text": "This workspace is the first point of contact with Superalgos. Its purpose is to get new users familiar with all the basic aspects of Superalgos.",
|
||||
"updated": 1630066493238
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
+2
-2
@@ -13,8 +13,8 @@
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "List",
|
||||
"text": "You may earn Superalgos SA Tokens and reputation by contributing to the project.",
|
||||
"updated": 1629834397651
|
||||
"text": "You may earn Superalgos SA Tokens and Reputation by contributing to the project.",
|
||||
"updated": 1630065210887
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
|
||||
+34
-38
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"type": "Workspace",
|
||||
"name": "Token-Distribution-Foundations-Project",
|
||||
"config": "{\n \"docsLanguage\": \"EN\",\n \"currentBranch\": \"master\",\n \"contributionsBranch\": \"develop\"\n}",
|
||||
"config": "{\n \"docsLanguage\": \"EN\",\n \"contributionsBranch\": \"develop\"\n}",
|
||||
"rootNodes": [
|
||||
{
|
||||
"type": "Design Space",
|
||||
@@ -30,7 +30,9 @@
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {}
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"spaceSettings": {
|
||||
@@ -56,7 +58,9 @@
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {}
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "f8485ce5-67f3-4476-b9e2-80994e49c318",
|
||||
@@ -92,32 +96,6 @@
|
||||
"type": "APIs",
|
||||
"name": "New APIs",
|
||||
"project": "Foundations",
|
||||
"githubAPI": {
|
||||
"type": "Github API",
|
||||
"name": "New Github API",
|
||||
"config": "{\n \"username\": \"Luis-Fernando-Molina\",\n \"token\": \"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\"\n}",
|
||||
"project": "Foundations",
|
||||
"id": "90d121ab-9f19-4437-a051-1222287085fc",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
"x": 30630.458333333332,
|
||||
"y": 10730.006707946337
|
||||
},
|
||||
"targetPosition": {
|
||||
"x": 30330.458333333332,
|
||||
"y": 10730.006707946337
|
||||
},
|
||||
"floatingObject": {
|
||||
"isPinned": false,
|
||||
"isFrozen": false,
|
||||
"isCollapsed": true,
|
||||
"angleToParent": 1,
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {}
|
||||
}
|
||||
},
|
||||
"id": "23021bb7-9997-4fe6-8199-71ebf70aef76",
|
||||
"savedPayload": {
|
||||
"position": {
|
||||
@@ -168,7 +146,9 @@
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {}
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "db380c52-cf90-475b-87df-c005dd51cdf6",
|
||||
@@ -221,7 +201,9 @@
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {}
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"spaceSettings": {
|
||||
@@ -247,7 +229,9 @@
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {}
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "016e464a-2b86-4c73-b79b-35c95751c339",
|
||||
@@ -300,7 +284,9 @@
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {}
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"spaces": {
|
||||
@@ -325,7 +311,9 @@
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {}
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"mines": {
|
||||
@@ -350,7 +338,9 @@
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {}
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"trading": {
|
||||
@@ -375,7 +365,9 @@
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {}
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"learning": {
|
||||
@@ -400,7 +392,9 @@
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {}
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"otherHierarchies": {
|
||||
@@ -425,7 +419,9 @@
|
||||
"distanceToParent": 3,
|
||||
"arrangementStyle": 0
|
||||
},
|
||||
"uiObject": {}
|
||||
"uiObject": {
|
||||
"isRunning": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"id": "cf9f8b3b-77c6-43c6-b01f-95cf366a91f6",
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"type": "Reputation Power",
|
||||
"definition": {
|
||||
"text": "Reputation Power is added to the Token Power you direct into the Voting Program to increase your Voting Power. Reputation power comes from the Reputation in your Governance Address.",
|
||||
"updated": 1630065079427
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Right click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
{
|
||||
"type": "Reputation",
|
||||
"definition": {
|
||||
"text": "The tokens you earn when contributing to the project determine your reputation. You may leverage reputation to increase your Voting Power! ",
|
||||
"updated": 1630061607470
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Only the tokens you get for contributing to the project grant you reputation. Reputation is not transferable, so the tokens you acquire by any other means (buying, swapping, borrowing, trading, etc.) do not carry a reputation value."
|
||||
},
|
||||
{
|
||||
"style": "Title",
|
||||
"text": "The Utility of Reputation"
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Superalgos SA Tokens in your Governance Address determine the Token Power you may use throughout the Governance System."
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Your reputation grants you Reputation Power, which is added to the Token Power you direct into the Voting Program. That is, reputation augments your Voting Power."
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "Reputation may only be leveraged within the Voting Program. The rationale behind this is that Superalgos wishes contributors to have a bigger voice in the direction of development, but not an advantage to participate in financial programs or any other program for that matter."
|
||||
},
|
||||
{
|
||||
"style": "Title",
|
||||
"text": "How Reputation is Determined"
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "The way the system determines the reputation in your User Profile is by checking how many tokens your Governance Address ever got from the Treasury Account."
|
||||
},
|
||||
{
|
||||
"style": "Callout",
|
||||
"text": "A Governance Address holds as much reputation as tokens it may have received from the Treasury Account, or as tokens it may currently have in its balance, whichever is the lesser."
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Let's unwrap the above statement with an example.",
|
||||
"updated": 1630064638172
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Let's say you contributed fixing a bug and you got 1,000 SA Tokens for your contribution in the latest distribution event. You now have 1,000 SA Tokens in your Governance Address. Because all of the tokens came from the Treasury Account, your reputation is equal to 1,000."
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Now, let's assume you send 100 SA Tokens to a friend to get him interested in the project and sell another 400 SA Tokens in the market."
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Your Governance Address now has 500 SA Tokens in the balance, so your reputation is now 500. Notice that the total number of SA Tokens you ever got from the Treasury Account is still 1,000, but because you decided to part with some of them, your reputation is now indicated by the balance of your Governance Address, which is lesser.",
|
||||
"updated": 1630064707717
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Imagine your friend comes to Superalgos and uses his existing address with the 100 SA Tokens you sent him to set up his User Profile. Because those 100 Tokens did not come from the Treasury Account, his Governance Address features 0 reputation, despite his balance is 100. In this case, the number of tokens the address got from the Treasury Account is lesser than the number of tokens in the balance."
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Let's close the circle. Let's say you go to the market and buy 1,000 SA Tokens and send them to your Governance Address. The balance is now 1,500 SA Tokens, but because you only ever got 1,000 from the Treasury Account, your reputation is back to 1,000.",
|
||||
"updated": 1630064784130
|
||||
},
|
||||
{
|
||||
"style": "Title",
|
||||
"text": "The Rationale"
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Superalgos values contributions above everything else, that is why only contributors acquire reputation."
|
||||
},
|
||||
{
|
||||
"style": "Note",
|
||||
"text": "Once you have contributed to Superalgos, you should always be able to leverage your reputation in Governance. However, if you divest your Superalgos SA Token holdings, that is, if you remove some skin from the game, then your reputation will go down too. That said, you can always get your reputation back by putting the skin back in the game.",
|
||||
"updated": 1630065338721
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "That is the game theory behind the reputation system.",
|
||||
"updated": 1630064881383
|
||||
}
|
||||
]
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"type": "Treasury Account",
|
||||
"definition": {
|
||||
"text": "The Treasury Account is the address or addresses the Superalgos Project uses to hold the tokens that are yet to be distributed.",
|
||||
"updated": 1630065643067
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "In the current deployment of the Superalgos SA Token in the Binance Smart Chain (BSC) the Treasury Account is:",
|
||||
"updated": 1630065743586
|
||||
},
|
||||
{
|
||||
"style": "Json",
|
||||
"text": "0x8d4d2557ce99f83f658adf61eef3e61e04c2ac2c",
|
||||
"updated": 1630065789468
|
||||
},
|
||||
{
|
||||
"style": "Link",
|
||||
"text": "Browse the Treasury Acount on BSCScan!->bscscan.com/token/0xfb981ed9a92377ca4d75d924b9ca06df163924fd?a=0x8d4d2557ce99f83f658adf61eef3e61e04c2ac2c",
|
||||
"updated": 1630065914276
|
||||
}
|
||||
]
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"type": "User Profile Votes",
|
||||
"definition": {
|
||||
"text": "You may use User Profile Votes to delegate Voting Power to other users.",
|
||||
"updated": 1630055800416
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Right click and Edit to enter edit mode and change this text. ENTER to write new paragraphs. ESC to exit edit mode. Then you can use docs.save to save your changes and app.contribute to send it to the main repository."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"type": "Claims Program",
|
||||
"definition": {
|
||||
"text": "This node helps define the section of the User Profile hierarchy that is going to be used to define the claims users make for the contributions they have done. These claims need later to be voted by other users in order to be considered during the token distribution process.",
|
||||
"updated": 1629702697773
|
||||
"text": "This node helps define the section of the User Profile hierarchy used to define the claims users make for the contributions they have done. Other users may vote for this claims so that they are computed during the token distribution process.",
|
||||
"updated": 1630056746833
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"type": "Financial Programs",
|
||||
"definition": {
|
||||
"text": "Use this node to spawn the Staking Program and the Delegation Program.",
|
||||
"updated": 1630056638318
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Right click and select the pencil button to enter edit mode."
|
||||
}
|
||||
]
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"type": "Governance Project",
|
||||
"definition": {
|
||||
"text": "The Governance Project is the section of the Superalgos Platform that enables the distributed governance of the Superalgos Project.",
|
||||
"updated": 1630067351210
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Use this hierarchy to spawn project definition hierarchies such as the Pools, Positions, Features and Assets Hierarchies.",
|
||||
"updated": 1630067423070
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "This is also where you find the option to spawn the Profile Constructor node."
|
||||
}
|
||||
]
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"type": "Onboarding Programs",
|
||||
"definition": {
|
||||
"text": "These programs incentivize Superalgos users to take the first couple of steps to participate in governance and start giving back to the project. They make earning the first few tokens a breeze and allow every user to become invested!",
|
||||
"updated": 1630056526452
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Right click and select the pencil button to enter edit mode."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -52,7 +52,7 @@
|
||||
"text": "each hierarchy may be better visualized in different workspaces in which they may interact with other definitions; etc."
|
||||
},
|
||||
{
|
||||
"style": "Subtitle",
|
||||
"style": "Title",
|
||||
"text": "Superalgos Pools"
|
||||
},
|
||||
{
|
||||
@@ -64,7 +64,7 @@
|
||||
"text": "Many of the Pool nodes defined in this hierarchy link to further definitions on other hierarchies. "
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"style": "Note",
|
||||
"text": "The configuration of the top-level node in the hierarchy determines how many tokens will be distributed in the release."
|
||||
},
|
||||
{
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"type": "Profile Constructor",
|
||||
"definition": {
|
||||
"text": "The Profile Constructor is a device used to build a User Profile.",
|
||||
"updated": 1630067504742
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "The use of the Profile Constructor is explained in the Creating Your User Profile Tutorial, and covered in the Building Your Profile page of the User Profile topic.",
|
||||
"updated": 1630067647178
|
||||
}
|
||||
]
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"type": "Votes And Claims Programs",
|
||||
"definition": {
|
||||
"text": "Use this node to spawn the Claims Program and the Voting Program.",
|
||||
"updated": 1630056577950
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "Right click and select the pencil button to enter edit mode."
|
||||
}
|
||||
]
|
||||
}
|
||||
+2
-2
@@ -9,8 +9,8 @@
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "To participate in governance, community members leverage their Superalgos SA Token holdings, exerting influence proportional to their Token Power. The combined influence of all token holders participating in governance determines, among other things:",
|
||||
"updated": 1624697450404
|
||||
"text": "To participate in governance, community members leverage their Superalgos SA Token holdings, exerting influence proportional to their Token Power and their Reputation. The combined influence of all token holders participating in governance determines, among other things:",
|
||||
"updated": 1630065456504
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
|
||||
+2
-1
@@ -22,7 +22,8 @@
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Profile Votes allow you to delegate your Voting Power to other users, so that people you trust may vote on topics you are not well versed on, using your power."
|
||||
"text": "User Profile Votes allow you to delegate your Voting Power to other users, so that people you trust may vote on topics you are not well versed on, using your power.",
|
||||
"updated": 1630055605861
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
|
||||
+2
-2
@@ -9,8 +9,8 @@
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "This is another feature with characteristics inspired in liquid democracy, and also plays an important societal function: new Contributors need Claims Power to place their first claims, but -- given that they are new to Superalgos -- they may hold no tokens. ",
|
||||
"updated": 1624705768151
|
||||
"text": "This is another feature with characteristics inspired in liquid democracy, and also plays an important societal function: new Contributors need Claims Power to place their first claims, but — given that they are new to Superalgos — they may hold no tokens.",
|
||||
"updated": 1630056075583
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
|
||||
+7
-1
@@ -14,7 +14,13 @@
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "You may participate in the Staking Program with the votes that you haven’t used for other purposes. All you need to do is establish a reference from the Staking Program node in your User Profile to the Staking Rewards Pool. You will get a number of Superalgos SA Tokens proportional to the Staking Power you direct to the pool."
|
||||
"text": "You may participate in the Staking Program with the Token Power that you haven’t used for other purposes. All you need to do is spawn the program from within the Financials Program node and let some Token Power flow into it.",
|
||||
"updated": 1630056267000
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
"text": "You will get a tokens from the Staking Rewards Pool proportional to the Staking Power you direct to the program.",
|
||||
"updated": 1630056331489
|
||||
}
|
||||
]
|
||||
}
|
||||
+21
-8
@@ -3,26 +3,38 @@
|
||||
"pageNumber": "1",
|
||||
"type": "Building Your Profile",
|
||||
"definition": {
|
||||
"text": "Your Governance Address is a Superalgos SA Token address generated from within Superalgos, using the Profile Constructor. The tokens you hold in this address confer you Token Power, that you may use from within your User Profile to participate in governance.",
|
||||
"updated": 1624722284024
|
||||
"text": "Building your User Profile involves linking your Governance Address to your identity in Github.com, using the Profile Constructor. ",
|
||||
"updated": 1630067747645
|
||||
},
|
||||
"paragraphs": [
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "This guide will get you up to speed in just a few minutes. This is what you’ll need:",
|
||||
"updated": 1624721971524
|
||||
"text": "This guide will get you up to speed in just a few minutes. This is what you’ll need (requirements):",
|
||||
"updated": 1630066775182
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "The latest version of Superalgos in the develop branch."
|
||||
"text": "Up-to-date software: the latest version of the Superalgos Platform in the Develop branch.",
|
||||
"updated": 1630067794445
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Trust Wallet, or any wallet that may import a Binance Smart Chain (BSC) private key."
|
||||
"text": "Prior knowledge: a basic understanding of how the Superalgos Platform works. If you haven't yet, make sure you do the tutorials in the Getting Started Tutorials Plugin Workspace before diving into the Governance Project.",
|
||||
"updated": 1630067826681
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Your GitHub.com username."
|
||||
"text": "Identity: your GitHub.com username.",
|
||||
"updated": 1630066924264
|
||||
},
|
||||
{
|
||||
"style": "List",
|
||||
"text": "Optional: Trust Wallet, or any wallet that may import a Binance Smart Chain (BSC) private key."
|
||||
},
|
||||
{
|
||||
"style": "Success",
|
||||
"text": "The process described below is covered, step by step, in the Creating Your User Profile Tutorial. Doing the tutorial is highly recommended. If you do, then you do not need to follow the below instructions.",
|
||||
"updated": 1630067119898
|
||||
},
|
||||
{
|
||||
"style": "Title",
|
||||
@@ -34,7 +46,8 @@
|
||||
},
|
||||
{
|
||||
"style": "Text",
|
||||
"text": "You may start with this Plugin Workspace so that you may later interact with the top-level Superalgos Project definitions."
|
||||
"text": "You may start with the Token Distribution Superalgos Plugin Workspace so that you may later interact with the top-level Superalgos Project definitions.",
|
||||
"updated": 1630067911494
|
||||
},
|
||||
{
|
||||
"style": "Subtitle",
|
||||
|
||||
@@ -33,7 +33,9 @@ let nodeModulesDirs = [
|
||||
path.join( process.cwd(), "Projects", "Foundations", "TS", "Bot-Modules", "Trading-Bot", "Announcements"),
|
||||
path.join( process.cwd(), "Projects", "Foundations", "TS", "Bot-Modules", "Trading-Bot", "Low-Frequency-Trading", "APIs"),
|
||||
path.join( process.cwd(), "Projects", "Foundations", "TS", "Task-Modules"),
|
||||
/* Aug-27-21 - TensorFlow dependency integration undergoing modifications. Should be resolved within a day or two:
|
||||
path.join( process.cwd(), "Projects", "TensorFlow", "TS", "Bot-Modules", "Learning-Bot", "Low-Frequency-Learning")
|
||||
*/
|
||||
];
|
||||
|
||||
console.log('');
|
||||
|
||||
Reference in new issue
Block a user