{"id":16567505,"url":"https://github.com/jdhitsolutions/psquizmaster","last_synced_at":"2026-07-07T21:00:32.271Z","repository":{"id":186604977,"uuid":"192408905","full_name":"jdhitsolutions/PSQuizMaster","owner":"jdhitsolutions","description":":grey_question: A module for creating and running quizzes to learn PowerShell. :brain:","archived":false,"fork":false,"pushed_at":"2024-10-17T17:51:15.000Z","size":415,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-01T23:36:41.377Z","etag":null,"topics":["powershell"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jdhitsolutions.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-17T19:47:12.000Z","updated_at":"2025-10-03T22:23:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"8ab97079-4e3a-4b98-a5e2-a4128feca088","html_url":"https://github.com/jdhitsolutions/PSQuizMaster","commit_stats":null,"previous_names":["jdhitsolutions/psquizmaster"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/jdhitsolutions/PSQuizMaster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdhitsolutions%2FPSQuizMaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdhitsolutions%2FPSQuizMaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdhitsolutions%2FPSQuizMaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdhitsolutions%2FPSQuizMaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jdhitsolutions","download_url":"https://codeload.github.com/jdhitsolutions/PSQuizMaster/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdhitsolutions%2FPSQuizMaster/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35242497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-07T02:00:07.222Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["powershell"],"created_at":"2024-10-11T21:06:46.152Z","updated_at":"2026-07-07T21:00:32.248Z","avatar_url":"https://github.com/jdhitsolutions.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PSQuizMaster\n\n[![PSGallery Version](https://img.shields.io/powershellgallery/v/PSQuizMaster.png?style=for-the-badge\u0026label=PowerShell%20Gallery)](https://www.powershellgallery.com/packages/PSQuizMaster/) [![PSGallery Downloads](https://img.shields.io/powershellgallery/dt/PSQuizMaster.png?style=for-the-badge\u0026label=Downloads)](https://www.powershellgallery.com/packages/PSQuizMaster/)\n\n![Photo by Leeloo The First from Pexels: https://www.pexels.com/photo/question-marks-on-paper-crafts-5428836/](assets/pexels-leeloo-thefirst-5428833.jpg)\n\nThis PowerShell module consists of two parts, commands to generate quizzes or testing material, and commands for taking a quiz. Quiz files are stored as JSON documents. As of version 2.0.0, this module requires a PowerShell 7 platform. If you must use Windows PowerShell, install version 1.3.0 from the PowerShell Gallery, although that version lacks new features such as the DSL and theme support.\n\n## Installation\n\nThe recommended installation is through the PowerShell Gallery.\n\n```powershell\nInstall-Module PSQuizMaster\n```\n\nor\n\n```powershell\nInstall-PSResource PSQuizMaster -Repository PSGallery -TrustRepository\n```\n\n## Module Commands\n\n| Name | Alias | Synopsis |\n| ------ | ------- | ---------- |\n| [Copy-PSSampleQuiz](docs/Copy-PSSampleQuiz.md) | | Copy module sample quiz files. |\n| [Get-PSQuiz](docs/Get-PSQuiz.md) | | Get quizzes from the default quiz path. |\n| [Invoke-PSQuickQuiz](docs/Invoke-PSQuickQuiz.md) | | Run a PowerShell quiz |\n| [Invoke-PSQuiz](docs/Invoke-PSQuiz.md) | *Start-PSQuiz* | Start a PowerShell quiz |\n| [New-PSQuiz](docs/New-PSQuiz.md) | *Make-PSQuiz* | Create a new quiz. |\n| [New-PSQuizFile](docs/New-PSQuizFile.md) | | Create an empty quiz file |\n| [New-PSQuizFixture](docs/New-PSQuizFixture.md) | | Create a new PSQuiz fixture script |\n| [New-PSQuizQuestion](docs/New-PSQuizQuestion.md) | | Create a new quiz question. |\n| [Protect-PSQuizFile](docs/Protect-PSQuizFile.md) | | Mask answers and distractors in a PSQuiz file. |\n| [Question](docs/Question.md) | | A PSQuiz DSL command to create a quiz question |\n| [Quiz](docs/Quiz.md) | | A PSQuiz DSL command to define a quiz |\n| [Remove-PSQuizSetting](docs/Remove-PSQuizSetting.md) | | Remove the PSQuizPath settings file. |\n| [Set-PSQuizFile](docs/Set-PSQuizFile.md) | | Update a quiz file. |\n| [Set-PSQuizPath](docs/Set-PSQuizPath.md) | *Save-PSQuizSettings* | Save the user's PSQuizPath and psQuizTheme settings to a file. |\n| [Unprotect-PSQuizFile](docs/Unprotect-PSQuizFile.md) | | Unmask answers in a PSQuiz file. |\n| [Update-PSQuizSchema](docs/Update-PSQuizSchema.md) | | Update the schema for a PSQuiz file. |\n\nMost commands should work cross-platform.\n\nBeginning with v2.0.0, the [pwshSpectreConsole](https://pwshspectreconsole.com/) module is now a dependency and will be installed from the PowerShell Gallery if not found.\n\n## Design\n\nQuizzes are stored as JSON files. Each quiz has a set of questions which includes a set of distractors. You can add a note to each question to provide additional insights or information.\n\nThe module commands will look for quiz files in the location defined in the global variable `$PSQuizPath`. The default value is the `Quizzes` folder in the module directory.\n\n## Creating a Quiz\n\nThe easiest way to create a quiz is to use the `New-PSQuiz` command. This will guide you through the process of creating a quiz file.\n\n```powershell\nPS C:\\\u003e New-PSQuiz\nWhat is the full name of your quiz?: PowerShell Remoting\nWhat is the short quiz name? This will be used as part of the file name: remoting\nEnter a quiz description. You can always edit this later: A short quiz on PowerShell remoting\nEnter the author name: Jeff Hicks\nEnter the question: What command should you run to enter an interactive remoting session?\nEnter the answer: Enter-PSSession\nEnter a comma-separated list of distractors: New-PSSession,New-CimSession,Enter-CimSession,Winrm\nEnter any notes for this question: Do not confuse PSSessions with CimSessions.\nAdd another question? (Y/N): y\nEnter the question: What is the default PowerShell remoting port?\nEnter the answer: 5985\nEnter a comma-separated list of distractors: 5986,22,80,443\nEnter any notes for this question: When using SSL, the default port will be 5986.\nAdd another question? (Y/N): n\n\nName        : PowerShell Remoting\nAuthor      : Jeff Hicks\nVersion     : 0.1.0\nDescription : A short quiz on PowerShell remoting concepts.\nQuestions   : 2\nUpdated     : 6/19/2026 10:21:21 AM\nPath        : C:\\Scripts\\PSQuizMaster\\quizzes\\remoting.quiz.json\n```\n\nThis will create this JSON file.\n\n```JSON\n{\n    \"$schema\": \"https://raw.githubusercontent.com/jdhitsolutions/PSQuizMaster/main/psquiz.schema-v2.json\",\n  \"metadata\": {\n    \"name\": \"PowerShell Remoting\",\n    \"author\": \"Jeff Hicks\",\n    \"description\": \"A short quiz on PowerShell remoting concepts.\",\n    \"version\": \"0.1.0\",\n    \"id\": \"32248289-3ca9-4fb6-acde-524c809bf50e\",\n    \"updated\": \"2026-06-19 14:21:21Z\"\n  },\n  \"logo\": \"\",\n  \"questions\": [\n    {\n      \"question\": \"What command should you run to enter an interactive remoting session?\",\n      \"answer\": \"Enter-PSSession\",\n      \"distractors\": [\n        \"New-PSSession\",\n        \"New-CimSession\",\n        \"Enter-CimSession\",\n        \"Winrm\"\n      ],\n      \"note\": \"Do not confuse PSSessions with CimSessions.\"\n    },\n    {\n      \"question\": \"What is the default PowerShell remoting port?\",\n      \"answer\": \"5985\",\n      \"distractors\": [\n        \"5986\",\n        \"22\",\n        \"80\",\n        \"443\"\n      ],\n      \"note\": \"When using SSL, the default port will be 5986.\"\n    }\n  ]\n}\n```\n\nQuiz files should follow the naming convention of `\u003cshortname\u003e.quiz.json`.\n\nYou can also use the `New-PSQuizFile` command to create a quiz file and then use `New-PSQuizQuestion` to create questions. Add the questions to the file using [`Set-PSQuizFile`](docs/Set-PSQuizFile.md).\n\n## Protecting Quizzes\n\nBecause quizzes are stored as plaintext JSON files, the answers are easily discovered. If you want to deter casual \"cheating\" you can use `Protect-PSQuizFile` to mask the answers. The technique used to hide the answer isn't complicated or fancy. You can use `Unprotect-PSQuizFile` to revert the process. Version 1.3.0 and later of this module also protects distractors.\n\nWhen you run the these commands, a new JSON metadata setting called `protected` will be set.\n\nEven though you can mask individual questions, it is recommended that if you want to hide the answer, then protect the entire file. You can use the VSCode editor integrations to mask and unmask individual items.\n\n## Quiz Theming and Style\n\nVersion 2.0 added the pwshSpectreConsole module as a dependency to make it easier to support themes and styles. Earlier versions of the module used console colors with `Write-Host` to display quiz elements such as the title and notes. Now, when you import the module, a `PSQuizTheme` object is created and saved as the global variable `$PSQuizTheme`.\n\n```powershell\nPS C:\\\u003e $PSQuizTheme\n\nTitle       : PaleTurquoise1 bold         #The quiz title style\nQuestion    : SeaGreen2                   #The question number style\nCorrect     : Chartreuse1                 #The style for Correct\nIncorrect   : DeepPink2                   #The style for Incorrect\nBorderColor : PaleGreen1                  #The border and horizontal line color\nNote        : LightGoldenrod2_2 Underline #The note header style\nDefaultLogo : C:\\scripts\\PSQuizMaster\\assets\\MsPowerShell.jpg\n```\n\nThe object has a method called `Show()` which will display the SpectreConsole values using the corresponding values.\n\n![Show PSQuizTheme](assets/psquiztheme-show.png)\n\nYou can modify any of the properties using any valid SpectreConsole color that you see with `Get-SpectreDemoColors`. If you want to include a style add it like this:\n\n```powershell\n$PSQuizTheme.title = \"LightSteelBlue1 Italic\"\n```\n\nTo keep them as your default, run `Set-PSQuizPath` or its alias `Save-PSQuizSettings` to store them in the settings JSON file.\n\nYou can use SpectreConsole styles in your quiz file to add emphasis. Don't forget the closing `[/]`.\n\n```JSON\n {\n  \"question\": \"What PSDrive shows PowerShell aliases?\",\n  \"answer\": \"Alias\",\n  \"distractors\": [\n    \"A:\",\n    \"$Alias\",\n    \"psalias\",\n    \"$PSAliasDrive\"\n  ],\n  \"note\": \"Remember,the drive name [fuchsia italic]does not[/] include the colon (:).\"\n}\n```\n\n\u003e *If you want to protect your quiz, add style settings before masking items.*\n\n### Logo Images\n\nQuizzes now display a formatted quiz header with a default image displayed inside a panel. The quiz title will be displayed at about the center of the image. All quizzes will use a default logo from the module.\n\n![default quiz logo](assets/default-quiz-logo.png)\n\nHowever, you can define a logo image on a __per-quiz__ basis by editing or adding the `logo` property.\n\n```JSON\n\"questions\": [\n],\n\"logo\": \"c:\\\\scripts\\\\db.png\"\n```\n\nThe value must be the full path to the image file. You should avoid using variables and PSDrives. Remember to escape the slashes in JSON.\n\nNote that the image will be scaled to a maximum width of 10.\n\n![Using a custom logo](assets/custom-logo.png)\n\nIf the image file is not found or defined, the default module logo will be used.\n\n### Design Recommendations\n\nWhen using `New-PSQuizQuestion` or `New-PSQuiz`, __do not__ include SpectreConsole styling in your questions and answers. Manually add styling after creating the quiz by editing the JSON file. One thing to be careful of is that if any part of your quiz uses square brackets, like `[DateTime]`, in the JSON file it must be saved as `[[DateTime]]`.\n\nWhen you run a quiz, it will use the settings in `$PSQuizTheme` and any settings in the quiz JSON file.\n\n![Styled PSQuiz](assets/psquiz-styled.png)\n\n\u003e *You can control the panel border and horizontal line colors by setting the `BorderColor`*.\n\n## Using the DSL\n\nA Domain Specific Language (DSL) was added to version 2.0.0. The DSL has two commands to make it easier to create a quiz file. The concept is that you create a PowerShell script using the DSL that when executed will create the quiz JSON file.\n\nTo simplify the process even further, you can run [`New-PSQuizFixture`](docs/New-PSQuizFixture.md) to create the DSL script file outline.\n\n```powershell\nNew-PSQuizFixture -Name \"PowerShell 7 Basics Quiz\" -Path c:\\temp\\ps7quiz.ps1 -questions 5 -Protect\n```\n\nThe command will create this PowerShell script file.\n\n```powershell\n#requires -version 7.6\n#requires -module PSQuizMaster\n\n#This is a fixture for a new quiz file\n\n#usage: c:\\temp\\ps7quiz.ps1\n\n\u003c#\n  Use -protect to mask all answers, distractors, and notes\n  Do not include SpectreConsole formatting in the quiz data\n  here. You also can insert formatting in the quiz JSON file.\n  You also do not need to escape square brackets. That will\n  be handled when the JSON file is created.\n#\u003e\n\nQuiz 'PowerShell 7 Basics Quiz' -protect @(\n    @{\n        Path        = # specify the full path to the quiz JSON file, e.g. c:\\quizzes\\subject.quiz.json\n        Author      = Jeff\n        Description = # add a meaningful one-line description\n    }\n    Question  @{\n        Question    = #What is your question\n        Answer      = #what is the correct answer\n        Distractors = #enter a comma-separated list of distractors\n        Note        = #enter an optional note with more information\n    }\n    Question  @{\n        Question    = #What is your question\n        Answer      = #what is the correct answer\n        Distractors = #enter a comma-separated list of distractors\n        Note        = #enter an optional note with more information\n    }\n    Question  @{\n        Question    = #What is your question\n        Answer      = #what is the correct answer\n        Distractors = #enter a comma-separated list of distractors\n        Note        = #enter an optional note with more information\n    }\n    Question  @{\n        Question    = #What is your question\n        Answer      = #what is the correct answer\n        Distractors = #enter a comma-separated list of distractors\n        Note        = #enter an optional note with more information\n    }\n    Question  @{\n        Question    = #What is your question\n        Answer      = #what is the correct answer\n        Distractors = #enter a comma-separated list of distractors\n        Note        = #enter an optional note with more information\n    }\n\n    \u003c#\n        You can delete Note if not used\n        At least 4 distractors are recommended\n        You can delete this comment\n    #\u003e\n)\n```\n\nAll you need to do is define the quiz metadata and the questions.\n\nIf you import the module in the VS Code integrated editor and run `New-PSQuizFixture`, you can use the dynamic parameter `-UseEditor` which will open the new file in VS Code.\n\nRead the help topic [about_PSQuizDSL](docs/about_PSQuizDSL.md) to learn more on using the DSL.\n\n## Editor Integrations\n\nThe module includes several editor-related features that you might find helpful. Especially if you find it easier or faster to create a quiz file by editing the JSON file directly. To use, you must __import this module__ in the integrated VSCode terminal running PowerShell 7.6 or later.\n\n### Schema\n\nThe JSON file includes a public schema. If you open the quiz JSON file in VS Code, you can get tab completion and assistance in adding questions to the file or adjusting the metadata. There is no reason to remove the schema reference in the file.\n\n#### Updating to Version 2\n\nVersion 2.0 of this module introduced new features and a new schema version. Quizzes created with this version of the module will use the new schema. If you have existing quizzes, you may want to update the schema. There are several options.\n\nFirst, if you protect with `Protect-PSQuizFile` or unprotect with `Unprotect-PSQuizFile`, the schema setting automatically be updated to v2.\n\nYour other option is to use the [`Update-PSQuizSchema`](docs/Update-PSQuizSchema.md) command. In addition to updating the schema setting, you can opt to the `protected` metadata setting and the new `logo` setting. You should verify the `protected` setting is accurate. You will need to manually enter to complete path to the logo image file.\n\nIf you update the schema, you should update the internal version number of your quiz.\n\n### Editor Shortcuts\n\nThe other editor shortcuts are intended for users who want to edit the JSON quiz file directly.\n\nOpen a quiz JSON file and then open the VSCode command palette (Ctrl+Shift+S). Select `PowerShell Show Additional Commands...`\n\n![PowerShell Show Additional Commands](assets/vscode-command-palette.png)\n\nYou will then see a menu of commands added to VSCode. In the JSON file select an answer, distractor, or note. You can manually mask the item.\n\n![Masking an item](assets/vscode-mask.png)\n\nFollow the same process to unmask using the `Unmask Quiz Item` command. Although if you are masking and unmasking in the same editing session, use the `Ctrl+Z` shortcut to toggle. If you encounter problems, you can use the command palette to reload the window, which will also force you to re-import the module. Or restart VSCode.\n\nWhen editing a quiz JSON file, the `Updated` property needs to follow a specific format. In the JSON metadata, you can select the `updated` value and use the `Insert PSQuiz date` integrated command.\n\n\u003e In previous module versions that support Windows PowerShell, when using the PowerShell ISE, importing this module will create an Add-ons menu called `Insert Quiz UTC Date` that will achieve the same result.\n\nYou can also manually add the JSON for a new question directly in the file using `Insert Quiz item`. The command will insert this JSON at your cursor.\n\n```JSON\n    {\n    \"question\" : \"\u003center your question\u003e\",\n    \"answer\" : \"\u003cthe correct answer\u003e\",\n    \"distractors\" : [\n        \"\u003cdistractor #1\u003e\",\n        \"\u003cdistractor #2\u003e\",\n        \"\u003cdistractor #3\u003e\",\n        \"\u003cdistractor #4\u003e\"\n        ],\n    \"note\" : \"\u003center an optional note or delete this line\u003e\"\n    }\n```\n\nDon't forget to manually insert commas as necessary.\n\nThese commands are for advanced users who want to modify the JSON file directly.\n\n### UseEditor\n\nWhen using this module in the PowerShell (v1.3.0) or VS Code, when running [`New-PSQuiz`](docs/New-PSQuiz.md) or [`New-PSQuizFile`](docs/New-PSQuizFile.md), you can use the `UseEditor` dynamic parameter. This will open the quiz JSON file in the current editor.\n\n```powershell\nNew-PSQuizFile -Name \"Using CIM\" -ShortName cim -Path c:\\work\\quizzes -Author \"Jeff Hicks\" -Description \"A quiz on using CIM in PowerShell\" -UseEditor\n```\n\n![editor integration](assets/editor-integration.png)\n\nYou could then use code like this to generate quiz questions.\n\n```PowerShell\n New-PSQuizQuestion | ConvertTo-JSON | Set-Clipboard\n```\n\nPaste the question into the JSON file and repeat.\n\n## PSQuizMaster Settings\n\nThe default quiz location is determined by the value of the global `$PSQuizPath` variable. If you don't want to be constantly updating this variable every time you import the module, you can run `Set-PSQuizPath` and specify a new location.\n\n```powershell\nSet-PSQuizPath c:\\work\\quizzes\n```\n\nThis will create a file under $HOME called `.psquizsettings.json` The path will be stored in this file. The next time you import the module, if this file exists, the module will use the saved location. You should not need to edit or do anything with this file. If you want to remove it, you should use `Remove-PSQuizSetting` which will delete the settings file and set the value of `$PSQuizPath` back to the module default.\n\nIf the settings JSON file does not exist, the value will be set to the `Quizzes` folder under the module. If you don't want to use the settings file, import the module in your profile script and then set a new value for `$PSQuizPath`.\n\nBeginning with version 2.0.0, the module also supports style customizations through the pwshSpectreConsole module. A new hashtable, $psQuizTheme, is created when you load the module. You can manually change theme settings. Running this command will also save the theme settings to the JSON file. The next time you import the module, the saved theme settings will also be imported.\n\nThis command has an alias of `Save-PSQuizSettings` to reflect this change in functionality.\n\n## Sample Quizzes\n\nThe module contains several sample quizzes you can find in the [Quizzes](quizzes) folder. If you don't change the value of `$PSQuizPath` you should be able to find them with `Get-PSQuiz`.\n\nIf you have changed the default path location, you can use `Copy-PSSampleQuiz` to copy the samples to the new destination.\n\n## Taking a Quiz\n\nTo take a quiz, use `Invoke-PSQuiz`. You need to specify the full path to the JSON file. By default, the function will tab-complete quiz files found in `$PSQuizPath`.\n\n![Invoke-PSQuiz](assets/Invoke-PSQuiz.png)\n\nThe quiz is presented interactively. Questions and answers are presented in random order.\n\nWhen you are done, you will see a summary of your results.\n\n![Quiz results](assets/quiz-results.png)\n\n## PSQuickQuiz\n\nThe module contains a command to dynamically generate a quiz based on commands found in one or more modules. This is a great way to test your knowledge of PowerShell commands.\n\n```powershell\nPS C:\\\u003e Invoke-PSQuickQuiz -Module Microsoft.PowerShell.*\n```\n\nThis will generate a dynamic quiz based on the commands found in the specified modules.\n\n![PSQuickQuiz](assets/psquickquiz.png)\n\n## Ideas and Project Road Map\n\n- Check for the latest version of questions from a GitHub repository or path, including a UNC.\n- Store long-term test results somewhere. Maybe use a database like SQLite, or maybe a JSON file.\n- Create WPF or TUI front-ends for creating and taking quizzes.\n\n## Related Modules\n\nThis module was created with PowerShell beginners in mind. You might also be interested in the [PSIntro](https://github.com/jdhitsolutions/PSIntro) module. The module includes a command to display a welcome splash screen of useful links. The module also includes a set of interactive tutorials on fundamental PowerShell topics.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdhitsolutions%2Fpsquizmaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdhitsolutions%2Fpsquizmaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdhitsolutions%2Fpsquizmaster/lists"}