If configuring dpkg doesn’t work, and you get the same error again and again, execute
$ sudo rm /var/lib/apt/lists/lock
$ sudo rm /var/cache/apt/archives/lock
$ cd /var/lib/dpkg/updates
$ sudo rm *
$ sudo apt-get update
These commands generall are a permanent fix.
Did a workaround by going to .dbtools/filters/project.filters and passed the script below inside the body:
export_type <> 'APEX_APPLICATIONS'
@Gus I've included those definitions
Don’t sanitize the Vulkan/graphics parts: build your app with ASan but disable it for modules that load the Vulkan ICD (set(CMAKE_EXE_LINKER_FLAGS “… -Wl,-wrap=…”) is NOT enough; prefer per-target properties).
Exclude ASan for the executable that creates the VkInstance/Device; use ASan only for your libraries/tests.
Use LD_PRELOAD filtering: avoid preloading libasan when running the Vulkan app; run tests separately with ASan.
Try UBSan-only or -fsanitize=address,undefined but add ASAN_OPTIONS=allocator_may_return_null=1,detect_leaks=0.
Ensure you’re not mixing Mesa and NVIDIA ICDs; set VK_ICD_FILENAMES to the single ICD json for your driver.
If you must keep ASan: link static libasan and preload order after Vulkan loader sometimes helps, but is brittle.
same problem for me in android studio
showing video unavailable error code 15
YouTubePlayerView youTubePlayerView = findViewById(R.id.youtubePlayerView);
getLifecycle().addObserver(youTubePlayerView);
youTubePlayerView.addYouTubePlayerListener(new AbstractYouTubePlayerListener() {
@Override
public void onReady(YouTubePlayer youTubePlayer) {
String videoId = "dQw4w9WgXcQ";
youTubePlayer.loadVideo(videoId, 0);
}
});
The error message “playbook-vault error: Please pip install hvac to use the hashi_vault lookup module” indicates that the hvac Python package is missing. To fix this, you just need to install it using the following command:
pip install hvac
This information was provided by the professional team at AC Maintenance UAE.
Please, check this sample on how to use pdfHtml ConvertToElements, this is exactly what you are asking for. https://github.com/itext/itext-publications-samples-dotnet/blob/develop/itext/itext.publications/itext.publications.htmlsamples/itext/samples/htmlsamples/chapter07/C07E02_CombineHtml2.cs
To change the sender address when sending an email using TIdSMTP (Indy components in Delphi), you must set the From and Sender properties of the TIdMessage object before calling TIdSMTP.Send.
At iDigitalArpita, we simplify such tech and marketing integrations while offering the best digital marketing services in Odisha to help your business grow efficiently.
Go to APIs & Services → Quotas in Google Cloud Console, find Generative Language API, select Predict long-running requests per project per day, and click Request increase.
After reloading VsCode's workspace, a new target/ folder was created in a wrong path that was conflicting with the original one.
Removing the newly created target/ folder fixed the issue.
Paths in toml files should be checked
on other hands, some time git or whatever text editor you are using, changes the end line of .sh files from LF to CRLF, when this happens docker can't find the file because linux, so you should to change the file to LF and save. That happened to me🤒
If you use vs code you can change it at the below bar.
check this invisibility issue is due to the the darkmode. set isDarkModeEnabled={false} then check whether the date will display or not
Also add the the display prop to the style, this may solve the blank picker issue.
check this out:
react-native-modal-datetime-picker showing only current date
The problem here is with the something's in your question. Those somethings are kind of important. Is it a circle? a sphere? a cylinder? a triangle? an AABB? an OBB? a plane?
The basic principle is to start from two equations; one for a point on the ray, and one for the something.
Sometimes we can use simultaneous equations directly to say:
RayPos + RayDir * d - EquationForPointOnTheSomething == 0
Or, you use a distance test:
std::distance((RayPos + RayDir * d), (EquationForPointOnTheSomething)) == 0
In both cases, you need to solve for 'd' (Which hopefully will boil down to something nice to solve, like a quadratic equation). In some cases, you may find you need to solve a multivariate equation, e.g.
RayPos + RayDir * d - BezierPatchEquation(u, v) == 0
In this case, you'll need to solve for d, u, & v at the same time. Assuming that this is in 3D, that should work nicely using a JacobianMatrix.
RayCircle example
Equation for a circle at the origin: x^2 + y^2 = r^2
Equation for point on a ray: RayPos + RayDir * d
Combined:
(RayPos.x + RayDir.x * d)^2 + (RayPos.y + RayDir.y * d)^2 = r^2
Now expand out the brackets:
RayPos.x^2 + 2*RayPos.x*RayDir.x*d + RayDir.x^2*d^2 +
RayPos.y^2 + 2*RayPos.y*RayDir.y*d + RayDir.y^2*d^2 - r^2 = 0
Factoring out d^2, d, and the constants:
d^2 * (RayDir.x^2 + RayDir.y^2) +
d * (2*(RayPos.x*RayDir.x + RayPos.y*RayDir.y)) +
1 * (RayPos.x^2 + RayPos.y^2 - r^2) = 0
We can simplify further, by noticing that these are dot products:
d^2 * dot(RayDir, RayDir) +
d * 2*dot(RayDir, RayPos) +
1 * (dot(RayPos, RayPos) - r^2) = 0
So now we have a standard quadratic polynomial, of the form ax^2 + bx + c = 0, where a,b,c are:
a = dot(RayDir, RayDir)
b = 2*dot(RayDir, RayPos)
c = dot(RayPos, RayPos) - r^2
Pass into the quadratic formula, voila!
Interestingly, if you use the dot product form, this would also work for a Ray/Sphere test. If you want to ray test against a circle that is not at the origin, subtract the circle position from the ray position first.
Now for the complicated part....
Your game world will be constructed from a large soup of differing primitives: Spheres, Planes, Boxes, triangles, quads, etc.
To find the closest intersection, you need to test the Ray against ALL of those primitives, to find the one with the closest intersection. As your game world complexity increases, the computation time will typically rise exponentially.
How to fix that??
Typically you need to start with some form of spatial partitioning scheme. (E.g. BSP trees, Quad trees, Oct Trees, Kd Trees, AABB trees, Portals, and many many more!). With any luck, that spatial partitioning scheme should be able to reduce the amount of objects you need to test against, hopefully keeping you within a reasonable CPU budget.
With a lot of work, you can usually find a way to batch up similar ray test types, potentially optimize them with SIMD, or throw in batches at a GPU compute shader.
The other alternative, is to simply use an existing physics engine (e.g. Havok, PhysX, Bullet), because they've already done the hard work for you!
This question is old, but people still see issues in generating war file for external tomcat, for this i have created the project which will generate the war for external tomcat. it has docx file as well for the changes.
Thanks for helping with an answer.
Just to clarify this question a bit more.
The 2 steps in my input `Supplier` do not run SEPARATELY FOR EACH REQUEST. Like, when 10 concurrent requests come, suppose the `read from cache` for request 1 runs, then the `read from cache` for request 2, then their `write in cache` steps. I want READ-THEN-WRITE separately for each request.
This website explains almost everything there is about raycasting, including how it works and the math behind it:
https://lodev.org/cgtutor/raycasting.html
You could also check out some YouTube videos on it, but that website should answer nearly anything about raycasting.
hi i developed this effect fade at edge you can try it
Update, on Safari, this work. But not for Chrome and Edge on macOS
video::-webkit-media-text-track-display-backdrop {
background-color: transparent;
}
hi i developed this effect fade at edge you can try it
Possible workaround:
Check for the key combination in FormKeyDown and remove the text to the left of the cursor position
Remove the special character in position 1 in the FormKeyUp
However, should just work by default :-)
Since I solved it, let me share how to fix this issue.
At very beginning, I tried to install Boost library through vcpkg(i.e. vcpkg install boost). With this, both configure and build are working. But I got an error when this code↓ run. So I decided to complie boost by myself.
desc.add_options()("memory-lock", po::bool_switch()->default_value(false),"Lock memory pages to prevent swapping");
According to the command line used when compiling Boost manually, I updated my VS2022 settings↓.
1. Configuration Properties → Advanced → Use of MFC → Use MFC in a Static Library
2. Configuration Properties → Advanced → Use Debug Libraries → Yes
3. Configuration Properties → C/C++ → Code Generation → Runtime Library → Multi-threaded Debug DLL
Then no error comes out when building my project.
And I don't recommend using Boost Debug installed by vcpkg...
This dumb shit didn’t even work why the fuck would you make me add eggs fuck this shit I’m playing kahhot and another thing why the fuck would you make me make acc for this shit this damn thing don’t even work and the review are god damn WORNG I’m sueing meet me in court hoe and also I hate the way you look yeah dusty ass how you look like shit just like those damn eggs this shit I will get my money when I see you in court hoe 1.2 billion dollars cha Ching
Press CTL+Shift+P for Windows for Opening VSCode Control Panel, select Ask Github Copilot
Alternatively pression Ctrl+Alt+I from vscode window
Finally I reached a solution, which maybe dumb but the easiest way to escape the problem.
>>> `import rpy2`
>>> try:
>>> `from rpy2.robjects.packages import importr`
>>> finally:
>>> `from rpy2.robjects.packages import importr`
The try will test the code. Of course, it fails with the same error message. If the code without a try then it will stop there and all code after that won't run. Now a try & finally lines will repeat the code two times to guarantee the lines after finally will run without stops or other error messages.
After some trial and error, I discovered that Android Studio's Android view only appears once the android-ui module builds successfully. If the module fails to sync or compile, the IDE doesn't recognize it as an Android module, and the Android view disappears. The key changes were to use agp = "8.13.0" and kotlin = "2.0.21". Even though Kotlin warns that AGP 8.13.0 is beyond tested range, these warnings can be suppressed. Once the android-ui module built successfully, Android Studio recognized it and restored the Android view. This behavior seems tied to plugin resolution and Gradle sync, it was very disconcerting.
idk fecfecve efvefvcvvvvvvvvvvvvvvvvvvvvvvvv ffffffffffffffffffffffffffffffffffffeeefcec
try it this code and some thingI'm developing a b2c ecommerce in Medusa js for my degree exam, it is the first approach with this technology and
Just mentioning we are experiencing the same issue. At this stage we don't have a solution but will be trying to redeploy and will update once it's done.
I created Parall, a macOS utility that lets you run multiple independent instances of any app, including Qt Creator.
Each shortcut bundle made with Parall launches the target app in its own isolated environment - separate HOME directory, environment variables, and settings. That means you can open several Qt Creator instances at the same time, each with different projects, plugins, or configurations, and they won't interfere with each other.
It requires no Terminal commands or duplicated app folders - just create the shortcut and launch.
The app is available in the Mac App Store and approved by Apple.
I am also facing the same issue with eclipe. I am trying to run a cucumber feature file and it is throwing error "Failed to run behave for validation. Check that behave is installed and the behave command is configured correctly in preferences." I am not working with Behave. Rather, i am trying to run Cucumber framework.
If you run https://onlinegdb.com/H4h7KQMcIo which uses A() ? B() ? C() : D() : E() it prints A first and then B and then C
Yay! @mmann It works now! Installed without a hitch. Please let me know when you update to 3.14; I will hold off on updating my Python install until then.
Posted a question. How to detect use of std::string short string optimization? As a question How to detect use of std::string short string optimization? As a question
I got this error:
Error: Cannot find module @rollup/rollup-linux-x64-gnu. npm has a bug related to optional dependencies
And this one worked for me:
rm -rf node_modules package-lock.json
I was going crazy over this, thanks
Using datetime
import datetime
mjd = 51_544 + (datetime.datetime(2018,1,16, 2,19,40, 195) - datetime.datetime(2000, 1, 1)) / datetime.timedelta(1)
# 58134.096990743
jd = 2_451_545 + (datetime.datetime(2018,1,16, 2,19,40, 195) - datetime.datetime(2000, 1, 1, 12)) / datetime.timedelta(1)
# 2458134.596990743
For the reverse conversion from JD to UTC see https://stackoverflow.com/a/79807419/11769765.
Django Rest Framework use DjangoModelPermissions on ListAPIView
That's where the answer was, but I did not recognize it at first. So basically, DjangoModelPermissions does not check view_model, and simply allows all GET, OPTION and HEAD requests, regardless of permissions.
So, to rotate the image by 90 degrees clockwise, the idea is to manually place each pixel in its new position. You’d first create a new blank image with the dimensions swapped from the original—so if the original is 360x480, the new one will be 480x360. Then, for each pixel in the original image, you figure out where it should go in the rotated version. The pixel at position (x, y) in the original moves to (y, width-1-x) in the new image. This way, you get the 90-degree rotation.
The tricky part is making sure you don’t end up with coordinates that are out of bounds in the new image. While your approach works, it's not the most efficient for larger images since you’re manually moving each pixel. A faster way would be to use something like the Pillow library, which has built-in functions for rotating images more efficiently.
I have solved this problem.
I still don't know why calling arecord with the device plughw:0,0 produced audio from the microphone at that time, however, first of all I recognized the real sound card(card 1, hence hw:1 or plughw:1), and also based on the previous answer from user @user31256271, I removed the setting of the internal buffer size and the data transfer period (I thought that in fact these are the values that I should work with when reading data: buffer size in bytes, etc.).
Try running explicitly with bash:
bash ./subscript.sh
@ThomA I see that some discussions get up/downvotes somehow, seems unrelated to the thumbs up/down - how does one vote on them?
"help you build a static HTML document" from what? Data? Code? An example of what you are trying to do would go a long way toward making your question more answerable.
If anyone just wants to try it locally, you can downgrade the APM Server version in the YAML file to any version before 8 — for example, version 7.x.
The main issue is that in version 8, the template can’t be generated, whereas it works in version 7.
"Here is a snippet of my ngspice code"
You will do better on this site if you include your complete code.
I added a function to create variable width buffers in pygeoops: pygeoops.buffer_by_m.
It is based on the function I wrote above, but made a bit more robust, and it uses the Z or M values present in a shapely LineString for the distances.
I also has support for multilines and very experimental support for polygons.
It is a very first version, so most likely there will be bugs... but feedback is very welcome.
Since your dedicated GPU broke, the emulator's default settings for hardware acceleration are probably incompatible with your new integrated graphics setup, causing the "endless load loop" and boot failure. You need to force the emulator to use a more compatible software rendering mode or a different hardware rendering setting.
There is another possibility that in .gitconfig, there is a user configuration for another account (in my case, my corporate account instead of the personal one); just make sure that user has ownership of the inputted access token.
@Loki are you being blocked from re-asking as a question now? Perhaps because this wall-of-noise has the same title?
Can't seem to delete. Have flagged to moderators.
Want to re-ask as a question. I have a solution.
I had the same problem but it was solved by these steps:
1: composer clear-cache
2: composer self-update
3: composer install
check the vs code cache and also remove the vs code temp data and restrat the system it might work
I'm doing the same project but I using STM32F1, standard periph lib and keilc. I configured I2S but I cannot see pulse in SCK pin (PB13). Can u help me to fix this, I can not read the signal from inmp441
This worked for me, thank you so much!
I appreciate your frustration, especially in the deleted comment. That's why SO has relied on [mre] for its entire existance. Please read : Why should I provide a Minimal Reproducible Example, even for a very simple SQL query?
running pod update inside the ios dir worked for me
Creating a Modern Team Site using the SP API via App Only Tokens does not work. In order to create a Modern Team Site you must use Microsoft Graph API to do this. So use our Graph module instead of the SP Module.
You can see the Microsoft docs here.
In case this link goes bad, it says: "Creating modern team sites does not support app-only when you use the SharePoint API for it."
We've noted this in our docs as well.
https://pnp.github.io/pnpjs/sp/sites/#create-a-modern-team-site
You need to say ADD FOREIGN KEY, not just FOREIGN KEY. (See https://www.w3schools.com/mysql/mysql_foreignkey.asp). It will probably look like
ALTER TABLE course
ADD FOREIGN KEY (student_id)
REFERENCES students(student_id);
My apologies, that was a mistake on my part. The result calculated by SymPy is correct. See https://mathworld.wolfram.com/QuadraticInvariant.html.
Hello did you find solution for this ? im in the same situation right now
Silly mistake. The issue is on this line:
Write-Host "::vso[task.setvariable variable=SolutionName;]$SolutionName"
Which should be:
Write-Host "##vso[task.setvariable variable=SolutionName;]$SolutionName"
Not sure why I was using colons...
Might encoding the client_id in the state Parameter
From what i see, your loop is driven by the "5" cell, so when input < 5 you keep decrementing past 0 and it wraps to 255. Drive the loop with the input cell instead. Stop when input hits 0, then check what's left in the "5" cell.
Tiny Brainfuck core (cell0 = numeric 0–9, cell1 = 5):
<+++++ set cell1 = 5 (assumes youre on cell1; adjust moves as needed)
< back to input (cell0)
[ while input > 0
- input--
>- five--
< back to input
]
> now on five
[ if five > 0 => input < 5
/* MENOR */
[-]
]
< back to input
> go to five again
<[ if five == 0 => input >= 5
/* MAIOR */
]>
If you're reading a digit, subtract 48 first to get 0–9, then try running this
Andrus, the orientation thats internally handled might change from picture to picture, depending on the settings of the camera that has taken the image.
You can try HTML::Tiny — it’s lightweight, clean, and perfect for building static HTML without messy string concatenation. Also check out HTML::Element if you want a full DOM-style builder.
Harbor is generating HTTP URLs because it doesn’t know TLS ends at your load balancer. Fix: tell Harbor it’s behind HTTPS.
In your Helm values, add:
proxy:
https:
enabled: true
proxyHeader: X-Forwarded-Proto
Then redeploy.
After that, pushes will use HTTPS instead of port 80 and work fine.
function myFunction(myObject, myArray) {
const value = myArray.pop();
const lastKey = myArray.pop();
const innerObject = myArray.reduce((obj, key) => {
if (!(obj[key] instanceof Object)) {
obj[key] = {};
}
return obj[key];
}, myObject);
innerObject[lastKey] = value;
}
Go to Code Runner extension page
Click on settings icon you (you'll now be on different page)
Check the box for Run in Terminal
The answer from Benedict is working but there is a litte thing missing. In the LinearLayout you have so set the drawable background to the round background.
Personally, I believe that the only scenario where this would be acceptable is if there is a high probability that a certain function will not be used by the user.
Thanks! I agree, and separating my code from the presentation is exactly what I am trying to do. I basically wrote my own template library, so now I am just trying to clean that code up a bit. After I posted I dug a little harder and found that you could use HTML::TreeBuilder/HTML::Element (push_content) to create HTML documents as well. But I took a look at CGI:HTML as you suggested and it suggested HTML::Tiny, and that looks exactly like what I am looking for. In my application in some places I also generate HTML and then use HTMLDOC to convert it to a PDF, so this will come in handy there as well.
The new version of gcc-16 (trunk) fixed this issue. The original example now works (though you need to export the new operator for this to work).
As others have suggested, you should really look into OLE automation. It is the easiest way to work with MS Office files in your code.
Anyway, if you want to stick with OleDb and SQL, open an OdbcConnection and use an UPDATE statement. Here is a good starting point on how to do it:
No, at this time opinionated posts cannot be converted to traditional Q&A posts (or vice versa), @James . You'll need to delete and repost your question.
--output-model-type pydantic_v2.BaseModel fixed it for me
display(results)
is crashing GRPC, please use results.show() instead.
Because auto_route migrated to a new syntax.
@AutoRouterConfig()
class AppRouter extends RootStackRouter {
AppRouter() : super();
@override
List<AutoRoute> get routes {
return ...
}
}
Find the doc: https://pub.dev/packages/auto_route#setup-and-usage
In my case there was VPC endpoint already created by another team member for SSM which I was not aware of. I simply added an inbound rule in Security Group attached to that VPC endpoint to allow 443 from Security group attached to EC2 instance.
In Next.JS what fixed it for me was adding the __experimental__naiveDimensions option. It is not listed in the docs as of now.
<ReactLenis root options={{ __experimental__naiveDimensions: true }} />
what relevance does orientation have to the question of removing color?
I appreciate your help 🙂 when applying your suggested changes to the Dockerfile, creating the dev container and running make build-serverI still see the following output:
go: downloading github.com/natefinch/atomic v1.0.1
go: downloading github.com/cli/browser v1.3.0
go: downloading github.com/cenkalti/backoff/v4 v4.3.0
go: downloading github.com/fsnotify/fsnotify v1.7.0
go: downloading golang.org/x/sync v0.16.0
go: downloading github.com/a-h/parse v0.0.0-20250122154542-74294addb73e
go: downloading golang.org/x/mod v0.26.0
go: downloading github.com/andybalholm/brotli v1.1.0
go: downloading golang.org/x/net v0.42.0
go: downloading github.com/mattn/go-colorable v0.1.13
go: downloading golang.org/x/tools v0.35.0
go: downloading golang.org/x/sys v0.34.0
That still looks to me as if Go would download the dependencies, no? 🤔
you acces a methode of a class from other class you can not do this.
Why not:
var select = document.getElementById(select_id);
select.scrollTop = select[select.selectedIndex].offsetTop;
@dale K I would like a concrete answer, correct. Did I start a discussion? Some new format in SO, can this be changed?
MS requested a new deployment of the tasks
https://github.com/microsoft/azure-devops-extension-tasks/issues/1484
Sclang runs on a single thread. If you want to multithread, you can do the calculations using UGens and use SuperNova. Or you can fork entirely separate processes using .unixcmd. That could be another instance of sclang or it could be C++, python or whatever you like.
You can manage I/O with temp files, OSC messaging, or returning data using the action function for .unixcmd.
See https://scsynth.org/t/parallel-processing-in-sclang/12509/2 more more information.
Note that if you want to distribute your code, you can't rely on any particular interpreter being installed on their system - not everyone has python or even java. Compiled code is generally not cross platform. They will have sclang, but starting a new instance of the interpreter involves compiling the entire class library and has relatively high overhead.
🤖 AhaChat AI Ecosystem is here!
💬 AI Response – Auto-reply to customers 24/7
🎯 AI Sales – Smart assistant that helps close more deals
🔍 AI Trigger – Understands message context & responds instantly
🎨 AI Image – Generate or analyze images with one command
🎤 AI Voice – Turn text into natural, human-like speech
📊 AI Funnel – Qualify & nurture your best leads automatically
Figured it out, it was related to the work sizes.
By setting the local_work_size to NULL I think it's iterating single process through the seed_ranges, if you set the global_work_size to 28 (number of cores) and the local_work_size to 1 then it will fully utilise the CPU.
I didn't change the work_dim though.
uint64_t global = num_seed_ranges; // 28 in my case
uint64_t local = 1;
error = clEnqueueNDRangeKernel(
commands, //command queue
ko_part_b, // kernel
1, NULL, // work dimension stuff
&global, // global work size (num of cores)
&local, // local work size (1)
0, NULL, NULL // event queue stuff
);
Final Results:
C Single thread - 4 mins
C OpenMP - 23 seconds
C OpenCL - 9 seconds
Rust single threaded - 1.5 mins
Rust rayon multiprocess - 7 seconds
Cuda 3072 cores (2000 series) - 9 seconds
It is possible to use nested switch statements in JS. Buth they are generally not considered a best practice. They:
The better approach is to extract each case into separate private methods.
if someone has same issue please refer below link
https://www.youtube.com/watch?v=so6MbkVJOSQ
Is this what you want?
$number = 9;
$bin_no = decbin($number);
$bin_arr = array_map('intval', str_split($bin_no));
@Kevin But it might slow down the function only on the first call, since each module is only imported once per interpreter session.
Easy enough,
First, create a measure named "SUM Amount",
SUM Amount = SUM( 'DATATABLE'[Amount] )
then,
_Amount =
VAR __r =
RANK(
ALLSELECTED( 'DATATABLE'[State], 'DATATABLE'[Company] ),
ORDERBY( [SUM Amount], DESC, 'DATATABLE'[Company], DESC ),
PARTITIONBY( 'DATATABLE'[State] )
)
RETURN
IF( __r <= 3, [SUM Amount] )
Most likely your problem is in this line:const cmd = message.split(");since you are not dividing by a space, if you do so:const cmd = message.split(' ');then everything should work
Turns out the code wasn't the problem, I just messed up the SQL Room dependencies.
A couple issues off the top of my head:
When you call the function if the library is large it might slow down your algorithm. Whether it matters or not depends on the context and end user. This drawback could be a gain if the goal is to reduce initial script loading time.
If the library isn't installed your code may only fail when the function is called, which could cause a delay in failure. It is often better to fail as soon as the script is loaded so you immediately know there is a problem.
It's easier to read and debug code that adheres to formatting standards.
Potential linter implications.
In the end the drawbacks depend on the context entirely. I think the more important thing to consider is what you can accomplish by doing this, which often is very little.
There is a domain specific language for your problem:
https://docs.askalot.io/guide/qml-syntax/
Questionnaire Markup Language (QML)
You should try it with some math:
https://docs.askalot.io/theory/questionnaire-analysis/
Have you tried QML (Questionnaire Markup Language)?
https://docs.askalot.io