[AppleSignIn] Potentionally wrong value stored in TAppleIDCredentials.AuthorizationCode

When signing in with Apple, the TAuthorizationControllerDelegate stores the received authorization credentials to a TAppleIDCredentials record. However, it seems you've accidentally stored the wrong value in one of the records fields:
{ DW.AuthenticationServices.iOS.pas:151 }
LCredentials.AuthorizationCode := NSStrToStr(LAppleIDCredential.email);

Should it not be the value LAppleIDCredential.authorizationCode? Something like this, considering it is of type NSData:
if LAppleIDCredential.authorizationCode <> nil then
begin
  var
  LAuthCode := TNSString.Wrap(TNSString.Alloc.initWithData(LAppleIDCredential.authorizationCode, NSUTF8StringEncoding));
  if LAuthCode <> nil then
    LCredentials.AuthorizationCode := NSStrToStr(LAuthCode);
end;

Weird.. not sure how I missed that.. thanks!


Use release version instead of current version in spring sample projects

Hi, @saragluna , @JimSuplizio .
Please review. 🙏

@saragluna

will the versions in the sample projects be updated too when running the update_version script now?

Yes, this command will update versions in sample projects:
python eng/versioning/update_versions.py --ut library --bt client --sr

@JimSuplizio

I would like to start seeing descriptions in your PRs. This one is relatively straightforward, at least for the version changes, but I had to exhaustively go though to your changes to the scripts to effectively see what was going on there.

I write some information in the commit message. Like:

The changes to both the update_versions.py and set_versions.py consist of 1 spelling error (externaly to external ), some formatting changes and some rearranging of the from/import (which is no more consistent to what was actually there). If there was a bug fix that would be fine but there isn't and as such, these changes do no belong in this PR. If you feel the need to reformat and update these then please do it in a separate PR.

Actually, for the scripts, there is not logic change, just format code or fix typo. I added message in the commit info.
When merge the PR, if the commits will not been squashed, I think it's OK to merge.
Since the commit info will be squashed, I'll recover the scripts in this PR.

Hey @JimSuplizio, @chenrujun has tested these changes locally and the dependency versions could be updated correctly when we perform releases. So I'm going to approve this PR now and plan to merge it tomorrow. Let me know if you have any concerns.


⚠ Bofrost.lu has degraded performance

In b0e9cc5, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2159 ms

Resolved: Bofrost.lu performance has improved in 73b150b after 9 minutes.


Update jQuery on website

Motivation and context

This PR updates jQuery on the site. To do this, the head.html template moved to the repository and replaced the link to jQuery (line 26)
How has this been tested?

Checklist

[x] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG file
[x] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (read github docs)
[ ] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[ ] I have updated the license header for each file (see an example below)

# Copyright (C) 2021 Intel Corporation
#
# SPDX-License-Identifier: MIT

@TOsmanov
Generally, why do we need to update jquery?

@TOsmanov
Generally, why do we need to update jquery?

@bsekachev
This related with https://github.com/openvinotoolkit/datumaro/pull/420#issuecomment-902600654. For example on CVAT documentation site because of this issue didn't work search.


Doge Meme link broken

In the social section https://github.com/public-apis/public-apis#social doge-meme link is broken

Hi @huzefarana
Thanks for opening this issue ;)
We have some problems with Public APIs, so we won't be able to review/add this improvement right now.
Read this issue for more information, please: https://github.com/public-apis/public-apis/issues/3104


Support macs

Opening this just to get the ball rolling. I'm trying to use this on mac and I think I'm succeeding with these changes but the cmdline part seems a bit sketchy, I haven't looked into it much. In any case as you probably guessed,, I have a mac so I can try out things on my machine.

The changes on where to find cmdline_tools looks more correct after your changes.
ie. After installing latest cmdline-tools via Android Studio, I see it's placed it here: J:\Android\Sdk\cmdline-tools\latest\bin\d8.bat
If you've tested the automatic finding of the Android Studio install path on your machine, then I'm happy to merge this in.

Yes, I managed to build an apk using this project on mac. It didn't install since it complained about wrong architecture of the native libraries (even though it's actually correct) but this is unrelated.


[Workaround] Kodi connection problem - cookie related

Hi All,
This is just to share findings and workaround identified.
Problem description:

Cast Kodi was showing yellow triangle stating it can't connect to working Kodi,
Kodi side settings all configured as required,
tcp/HTTP level / GET /jsonrpc request was sent and tcp ACK returned by Kodi, but nothing else - it was sort of ignored at HTTP level.

Environment:

Firefox 74.0 (Linux),
Cast Kodi - 4.16.0,
Kodi 18.5 / Leia (CoreElec based though this shouldn't matter).
other web services running on same IP, different ports though.

Further investigation shown that running FF from fresh profile connects well to the same Kodi without any changes at other end.
Details investigation of the GET request sent to Kodi from original FF profile and compared to the one sent from fresh profile revealed that cookies for other service on the same IP has been sent:
    [truncated]Cookie: portainer
        Cookie pair: portainer
        Cookie pair: portainer
        Cookie pair [truncated]: portainer
        Cookie pair: portainer
        Cookie pair: portainer
        Cookie pair: portainer
        Cookie pair: PHPSESSID=123

Workaround:
Cookies were flushed and Cast Kodi was able to successfully connect to the Kodi.
Question:
Why would Firefox send some unrelated cookies to a different port even if same IP?
This is most probably Firefox issue, though exposed to me only due to problems with Cast Kodi and given that it is Cast Kodi behind the request, question is being raised here.
Merci pour le plugin génial.

Thanks for the detailed problem, you may have found the cause of the issues https://github.com/regseb/castkodi/issues/13 and https://github.com/regseb/castkodi/issues/15. I've reproduced the issue and the problem does come from the cookies that increase the size of the HTTP request. Kodi's TCP server doesn't accept requests bigger than 1024 bytes.
This is not a bug in Firefox, cookies must be shared between the different ports of an address. (bugzilla#469287). Cast Kodi shouldn't send cookies, but this isn't possible because there are no options in the WebSocket client (I proposed this feature to https://github.com/whatwg/html/issues/5437). At the moment I don't know how to fix this problem. 😕

Kodi "Matrix" 19.2 (released in October 2021 🎉) has increased the size of accepted requests to 64 Kio (before the limit was 1 Kio). With this new value, there should be no more problems with large requests due to cookies.


Take the CRD Validation Expression Language into use

What would you like to be added:
In kube 1.25, the CRD validation expression language was graduated into beta. I think SPO should take advantage of this feature for cases where e.g. we need to limit the resource name so that the resource is usable as a label value without having to resort to webhook.s
Why is this needed:
We have a couple of hacks in the code where we just throw an error or use hashed names. These are user-unfriendly.
User story covered
As an application SRE, Rajesh needs to be able to see the state of the installed profile(s) and verify that it has indeed been installed on the system.

this would be covered by not using the hashes better.

Some links to the feature:

https://github.com/kubernetes/enhancements/issues/2876
https://sysdig.com/blog/kubernetes-1-23-whats-new/#2876

/remove-lifecycle rotten

/remove-lifecycle rotten


ci: Read build matrix JSON explicitly

Because we used require() to read build-matrix.json, the file could be replaced with build-matrix.json.js, allowing code injection into our CI pipelines. This fixes this vulnerability by reading the JSON text with the fs module, then explicitly parsing it, rather than relying on require().
This exploit was discovered by a researcher, and the researcher's activity was spotted within hours.  Workflows were immediately suspended.  No evidence has been found of any tampering in this repository or its releases.
Issue #216

Workflows are still suspended, but functionality has been verified on my fork.


Speculation over syscall on ARM.

Tested on Cavium and Raspberry Pi.

Incomplete review. Before we consider merging this, I'd like to make sure it's clear in the demo what this does and doesn't do, and look for ways to remove accidental complexity.
I know the background here was testing for Meltdown-XD and getting a deceptively positive result. But unless we're trying to show that specific path-dependent result, I think we can find much more straightforward syscalls to use.
And is our goal here to demonstrate speculating over a system call, or speculating past an indirect call that happens to have a syscall as its intended effect? How do we show it's one or the other?

What syscall do you consider more straightforward and still implementable with the same reliability? I can rewrite the syscalls using asm volatile but it will put inline assembly outside of the instr.* files. The indirect calls induced by Spectre v2 can never reach the 40 hit boundary from cache_sidechannel.cc unless I intentionally make them to do so. Therefore this tests just the speculation over SVC instruction.

What syscall do you consider more straightforward and still implementable with the same reliability?

A few ideas off the top of my head:

use ptrace to skip past some instructions, but show they were executed speculatively
raise() (kill self)
create a new thread that calls pthread_exit before performing architecturally-dead reads, then join on that thread and show the reads actually happened speculatively. (Will involve some trickery for the compiler not to optimize out code after pthread_exit. May also require going straight to syscall(SYS_exit, 0); or even doing raw threads with clone if pthread adds too much overhead and exhausts the speculation window.)

The indirect calls induced by Spectre v2 can never reach the 40 hit boundary from cache_sidechannel.cc unless I intentionally make them to do so

If we are totally confident this is true, let's add a comment to that effect (so folks know there are sharp edges here and we've taken care not to get false results). But I admit I'd be more comfortable if, knowing there is fragility here (don't ever remove that +40!), we wrote different code that avoided it.


Clean up handling of ndarray-like data in TCMPS

Every multidimensional array in TCMPS is passed as four arguments: a float pointer for data, an array size, an int pointer for shape, and size for dimensionality. This leads to function signatures such as:
  void Forward(void *_Nonnull ptr, size_t sz, int64_t *_Nonnull shape, int dim,
               void *_Nonnull label_ptr, size_t label_sz, int64_t *_Nonnull label_shape, int label_dim,
               void *_Nonnull weight_ptr, size_t weight_sz, int64_t *_Nonnull weight_shape, int weight_dim,
               bool loss_image_required, bool is_train,
               float *_Nonnull out);

An ndarray abstraction at this level would simplify the code, making it more readable and less error-prone. This would also be useful for the CoreML export interface, which currently relies on populating an opaque table:
  std::unordered_map<std::string,
                     std::tuple<std::string, float *, int, std::vector<int>>>
      table_;

This is also a good opportunity to converge this library towards Objective C, since C++ isn't currently adding much value (given that it wraps a pure Objective-C API and exposes a pure C API to the Python layer).

I like this. For the same reason FloatArray was introduced because passing configs (key-value storage with NDArrays) around caused really verbose function signatures. This didn't need shapes though, so it only has size. If we just introduce shape into FloatArray, then we can use it for this purpose as well.


HOF sharing (suggestion)

Hello,
it isn’t an issue, but more like question or suggestion. It would be nice to create a function or some shared cloud, when people can share their crawled HOF so others don’t have to. It would be quicker, especially if you need to crawl a fusion server which can take hours by itself, and beneficial so people don’t create lots of dummy accounts.

Yeah, that would in fact be amazing and I thought about that, but the problem becomes, that this becomes a legal headache, that I try to stay away from for the moment. When I did crawling of websites at my university, we had to consult our legal department and the main points were:

You are not allowed to crawl data as a whole and distribute that, even for free, or research. Only some percentage
Given that this is to some extend user created data, I need to provide a way for people to be removed from the dataset (Recht auf Vergessen)
When I presumably host this crawled data on my own servers, I am to some extend hosting data/knowledge owned/controled by playa games, which would give them at least a some legal justification to send me a cease and desist letter, which I would really like to not receive
The servers for the game are hosted in different countries with different regulation. Storing all of them in one location could be problematic, given that EU user data has some issues being exported outside and that might be true for other places.

There are some ways to make this less bad, namely:

Remove all duplicate (same or less equipment and higher level) characters from the dataset to get below the crawling threshold.
Have my email somewhere for people to write to when they want to be removed and hope that never happens

Currently I am studying for my German-IT-law exam, so I just see possible issues everywhere. In practice I dont think anybody actually cares about a few json files with usernames and a few numbers hosted somewhere, but for the time being I don't want to take the chance, especially, since "a friend of mine" has already been banned from github for uploading crawled data, so I will try to stay away from that stuff for now...
Anyways, if you, or anyone else that reads this issue has more experience, or knowledge about this sort of legal EU stuff and can provide me with something to change my understanding, feel free to let me know. It is very possible, that I overlooked or misinterpreted something

Alternatively it might be possible to crawl the data and have it hidden on a server, that only provides an API to query the best players to attack, given an input scrapbook. I think there would be less issues, but at that point

I would see which players use this tool
I would still run into some of the issues listed above

Of course, if you or anyone else creates a shared GDrive, or OneDrive folder and spreads that in the community on their own, that is fine by me. I just can't promote/share that here, or in the tool itself I think

Oh, okay. You had totally different opinion on the topic. I didn’t think about it like that, but can only agree with you. I see your point. Maybe I will try some distribution on my own so you have nothing to do with it.


Crossbuild

Hi, instead of creating my own version I decided to use yours,
we have both applications in 2.10 and 2.11 thats why I made it build for both 2.10 and 2.11
Cheers

The silence says enough, closing the pull request, and detaching fork


Improve cloudformation check logic

Now the CFN task does creation as well as updates, check for those events
too
When checking for an update, ensure that the stackname is what we expect

This also should fix the premature completion seen with nested stacks @tackley

:+1:


Device Based Activation information?

I can't find anywhere on docs.microsoft.com information about Office 365 Device Based Activation. The best resource I can find is https://blogs.technet.microsoft.com/nzedu/2017/05/03/device-based-activation-for-office365-proplus-great-for-education/ Can some updated info be developed and added to deployment details here?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b314dc73-e63b-9712-a4b1-9171ad6b7e82
Version Independent ID: d3b16d76-6883-4e52-9c32-4699379d40c8
Content: Plan your enterprise deployment of Office 365 ProPlus
Content Source: DeployOffice/plan-office-365-proplus.md
Service: o365-administration
GitHub Login: @jwhit-MSFT
Microsoft Alias: jwhit

Device based activation is only available in the US and only for EDU customers. That's why we don't cover it in our enterprise deployment content for Office 365 ProPlus that's on docs.microsoft.com. The blog post that you reference and https://aka.ms/officedba are probably your best resources for information about it.


onChange not called with event object

1.0.0 dropdown returns an event and the 2.0.0  dropdown returns a velue
so that this
 onChange={onChange}

needs to be changed to this in order to remain somewhat compatible with 1.0.0
onChange={value => onChange({ value })}

the 1.0.0 version is better imo, because emitting the full event gives the handler more control over both the value and the event

prefer
onChange={event => onChange(value, event)}

event as second argument as the old version never returned an event
https://github.com/fraserxu/react-dropdown/blob/master/index.js#L94

if you mean always returning an object instead of potentially a string/number, that is a different case

you are right @lwhiteley


how can I use redirect in a response?

I want to redirect my response to an url rather than returning something. At the moment, I am doing it this way:
return request.Response(headers={'Refresh': '0; url=https://github.com/squeaky-pl/japronto'})
Is there any better way?

Just use standard HTTP way Location header and 30x responses: https://en.wikipedia.org/wiki/URL_redirection#HTTP_status_codes_3xx

return request.Response(headers={'Location': '/login'}, code=302)
return request.Response(headers={'Location': '/'}, code=302)


Avoid overly broad operator typing

The ufunc machinery could type operators even between scalars, though in pure Python it wouldn't apply

Do we need a unit test to verify the operation of this change?

Well, the point is actually to fix some failures that happened in some weird cases...

Yeah, I guess I'm curious there is a test that illustrates one of these cases.  :)

@liuzhenhai, you're right. I've simplified the code accordingly.

I guess I'm curious there is a test that illustrates one of these cases

The code inversion in typing/context.py would trigger deterministic failures if not for the refinement in npydecl.py. For example bool + bool on scalars would then be typed according to np.add and return a bool, while it should return an int (i.e. True + True gives 2, not True).


QueryBuilder for embed

Diesel: 1.4.5

It would be nice to use #[diesel(embed)] in a normal Queryable and to let it fill with load it a inner_join was used during QueryBuilder
e.g.
#[derive(Debug, Queryable)]
#[table_name="users"]
pub struct User {
    pub first_name: String,
    pub last_name: String,
}

#[derive(Debug, Queryable)]
#[table_name="posts"]
pub struct PostsWithUser {
    pub title: String,
    pub body: String,
    #[diesel(embed)]
    pub user_name: Option<User>,
}

Duplicate of #860


Preferences page needs to be implemented

I am currently working on one that will feature a color picker, notification settings and some other tools


Removed composer.lock from vcs

Since this is a package meant to be used into other projects, there is no point into putting the composer.lock into the version control

Thanks!


Update event location: Decoding Token Economics

Please update event location
Event: Decoding Token Economics: A Token Engineering and Token Economy Design Workshop
Event date: Thursday, September 6, 2018
Event time: 1:00 PM to 5:00 PM
New Location: betahaus, Köpenicker Str. 154 · Berlin
DON'T MAKE CHANGES BELOW THIS LINE!

Please use the current content of the event: copy everything, edit your issue with the updates, save, and leave a new comment so I get notified.

###########
SEO
###########
The title of the page, displayed by the browser on the title of the window.
Ideally this is the same as the name of the event.
title: 'Decoding Token Economics: A Token Engineering and Token Economy Design
Workshop'
Description for this event. This will be rendered as a  tag in the HTML,
and displayed on the /events page. Keep it short.
Linebreaks are ignored, but they must start with two spaces.
description: Join us for a comprehensive workshop featuring the token experts
of OST and Ocean Protocol sharing their knowledge on the best ways to design
and engineer a token economy as well as optimal use cases for implementing a
token economy.
#####################
EVENT DETAILS
#####################
The name of the event you're creating.
Ideally this is the same as the title.
name: 'Decoding Token Economics: A Token Engineering and Token Economy Design
Workshop'
There needs to be one hyphen before each paragraph.
Linebreaks are ignored, but they must start with two spaces.
Indentation is crucial:
Two spaces before the hyphen, four spaces before the text. No tabs allowed.
Add or remove paragraphs as needed, but remember the hyphen before each entry.
synopsis:
Join us for a comprehensive workshop featuring the token experts of OST
  and Ocean Protocol sharing their knowledge on the best ways to design and
  engineer a token economy as well as optimal use cases for implementing a
  token economy.

'We will cover a wide range of topics including:'
list:

How tokens can incentivize global collaboration
What types of businesses and environments provide the best climate for
tokenization
Best practices and models for token engineering frameworks
How to align your business goals to design a token economy

The date should be in the format year-month-day (ISO 8601).
Example: 2018-02-28
date: 2018-09-06
Leave this field empty if the event is held only during one day.
endDate: 2018-09-06
Set the time in 24 hours format, surrounded by quotes.
Only the starting time!
Example: '18:00'
time: '13:00'
endTime: '17:00'
The URL where to acquire the tickets. Can be left empty.
tickets: https://www.meetup.com/de-DE/Token-Engineering/events/253174971/
If the entrance is free, set zero (0) as the price, or leave it empty.
Don't write the currency symbol (Euro symbol will be used).
price: 0
The name of the venue where the event will be held. Can be left empty.
venue: Ocean Protocol
The address to link to a Google map. Please test the address on Google Maps.
Example: Skalitzer Strasse 85-86, 10997 Berlin, Germany
address: betahaus, Köpenicker Str. 154 · Berlin
The category of the event. Valid options:
- conference
- event
- hackaton
- panel
- workshop
Use only one, and don't capitalize.
category: workshop
#################
SPEAKERS
#################
There needs to be one hyphen before each entry.
Linebreaks are ignored, but they must start with two spaces.
Indentation is crucial:
Two spaces before the hyphen, four spaces before the text. No tabs allowed.
Add or remove speakers as needed, but remember the hyphen before each entry.
speakers:
name: Dimitri De Jonghe
title: Head of Product and Research
company: Ocean Protocol
companyURL: https://oceanprotocol.com/
twitter:
website:
bio:

name: Trent McConaghy
title: Founder
company: Ocean Protocol
companyURL: https://oceanprotocol.com/
twitter:
website:
bio:
name: Mohit Anand
title: Director of Blockchain Strategy Consultancy
company: OST
companyURL: https://ost.com/
twitter:
website:
bio:
name: Benjamin Bollen
title: Founder and Chief Blockchain Strategist
company: OST
companyURL: https://ost.com/
twitter:
website:
bio:

DON'T MAKE CHANGES BELOW THIS LINE!


Cannot add Windows 10 node to existing cluster

I'm trying to add a Windows 10 machine to my existing Microk8s server (ubuntu) by following these instructions: https://microk8s.io/docs/add-a-windows-worker-node-to-microk8s
I'm able to install all the components and technically everything is running, however, I can't see the node listed when I run "microk8s kubectl get nodes". I can't see any issues in the logs either, can anyone confirm if my OS is actually supported please?

@Gabyx92, from what you describe kubelet running on the windows node is not registering with the API server running the control plane (on the Linux node). Do you see anything on on the logs of kubelet and the apiserver?

@Gabyx92 Did you make sure your windows worker node's OS is Windows Server 2019?


Formatted type

Follow-up on https://github.com/maputnik/editor/issues/481
https://docs.mapbox.com/mapbox-gl-js/style-spec/#types-formatted

This is now supported by the expressions UI, closed by PR #620


[Bug]: Override raid times not updating after raid

Discord Username
No response
What happened?
Currently on SPT 3.9.5, and previously had recalled the raid time update working on 3.9.4, but currently I have observed that  running sequential raids without restarting the SPT Server results in individual map's raid times not being recalculated at raid end.
Activating debugging I can see that the recalculation does occur for Reserve and Lighthouse train times, but not the raid time portion that for my install only runs at raid start.
I have it set to override Scav raids as well. Attached is the server log for a single SPT Server instance with one completed Scav raid.
SPT Version
3.9.1
Server Log
Commit hash: e4ba92b4a64210a105b2f4e0d0980a28d5d1f484
Build date:<PHONE_NUMBER>036
┌─────────────────────────────────────────┐
│ SPT 3.9.5 │
│ https://discord.sp-tarkov.com │
│ │
│ This work is free of charge │
│ If you paid money, you were scammed │
│ Commercial use is prohibited │
└─────────────────────────────────────────┘
ModLoader: loading: 41 server mods...

[Rexana's Multitool] ------------------------------------------------------------------------
[Rexana's Multitool] Pre-Alpha development build
[Rexana's Multitool] Developers: Rexana
[Rexana's Multitool] "Best Father's Day gift ever"
[Rexana's Multitool] ------------------------------------------------------------------------
[RAID-REVIEW] New log file created for session '1725681128008_raid_review.log', this can be found in the '/logs' directory of the mod folder.
[RAID-REVIEW] File created: J:\SPT394\user\mods\raid_review__0.2.0\src\Controllers\FileSystem/../../../data/logs/1725681128008_raid_review.log
Realism: Questing Bots Detected, Making Adjustments
Realism: SAIN Detected, Making Adjustments
===> Loading Custom Quests v3.2.3
Custom Quests: api exposed under 'globalThis.CustomQuestsAPI'
Trap's Baba Yaga: debug mode enabled
===> Loading Trap's Baba Yaga v2.2.1
Server: executing startup callbacks...
Importing database...
Database import finished
[InsuranceTweaks] Applied insurance settings
[Questing Bots] Applying debug options...
[Gilded Key Storage] : Mod loading
[Gilded Key Storage] : Secure Key Box loaded! Hooray!
[Gilded Key Storage] : Golden Keychain Mk. I loaded! Hooray!
[Gilded Key Storage] : Golden Keychain Mk. II loaded! Hooray!
[Gilded Key Storage] : Golden Keychain Mk. III loaded! Hooray!
[Gilded Key Storage] : Golden Keycard Holder loaded! Hooray!
Adding: Gamma to Peacekeeper
Added: Gamma to Peacekeeper
OpenExtracts: Extracts have successfully adjusted according to the configuration.
[LootingBots-ServerMod] Marking items with DiscardLimits as InsuranceDisabled
[LootingBots-ServerMod] Global config DiscardLimitsEnabled set to false
SpecialSlots config looks correct. Continuing to load mod...
jbs4bmx-SpecialSlots v390.0.2: Cached Successfully
[VCQL] Loaded 9 custom quests.
[VCQL] 0 custom quests were pruned due to date settings.
[VCQL] Loaded 9 custom quest images.
[VCQL] Loaded 0 custom trader images.
[KeysInLoot] MusicManiac-KeysInLoot started loading
[KeysInLoot] 396 keys weights were adjusted
[KeysInLoot] different keys were added 6777 times to jacket/duffle/dead scav loot
[KeysInLoot] MusicManiac-KeysInLoot finished loading
Construction time successfully set to 0.
[SBNV]: Your N-15s can also be mounted on helmets now!
[Better Stack Size] Changing the stack sizes...
[Better Stack Size] Finished changing the stack sizes.
[Better Stack Size] Finished loading items in memory.
[Rexana's Multitool] Database: Loaded 1 custom items.
[Rexana's Multitool] Database: Loading complete.
AllTheLoot v1.0.6 initialized
Global blacklisting removed 88 items from initially 3555 handbook items
AllTheLoot assigned 3467 items to 36 available loot containers
[WTT-Pack 'n' Strap] Database: Loaded 26 custom items.
[WTT-Pack 'n' Strap] Database: Loading complete.
CustomRaidTimes: Customs raid time change from 40 minutes to 45 minutes.
CustomRaidTimes: Factory (Day) raid time change from 20 minutes to 45 minutes.
CustomRaidTimes: Factory (Night) raid time change from 25 minutes to 45 minutes.
CustomRaidTimes: Interchange raid time change from 40 minutes to 45 minutes.
CustomRaidTimes: Laboratory raid time change from 35 minutes to 45 minutes.
CustomRaidTimes: Lighthouse raid time change from 40 minutes to 45 minutes.
CustomRaidTimes: Lighthouse Train Schedule - Earliest: 9.12 minutes, Latest: 30.30 minutes, Wait: 13.00 minutes.
CustomRaidTimes: Reserve raid time change from 40 minutes to 45 minutes.
CustomRaidTimes: Reserve Train Schedule - Earliest: 22.93 minutes, Latest: 37.30 minutes, Wait: 6.00 minutes.
CustomRaidTimes: Ground Zero raid time change from 35 minutes to 45 minutes.
CustomRaidTimes: Ground Zero High raid time change from 35 minutes to 45 minutes.
CustomRaidTimes: Streets of Tarkov raid time change from 50 minutes to 45 minutes.
CustomRaidTimes: Woods raid time change from 40 minutes to 45 minutes.
CustomRaidTimes: Raid times have been successfully adjusted according to the configuration.
Loading: Black Multicam Clothing Pack
Expanded Task Text is loading please wait...
Expanded Task Text startup took 1.6028743000000003 seconds...
[Item Info] Mod compatibility delay enabled (20 seconds), waiting for other mods data to load...

[Questing Bots] Removing blacklisted brain types from being used for PMC's...done. Removed entries: 144
[Questing Bots] Configuring game for bot spawning...
[Questing Bots] Reading default PMC spawn chances: assault: 25-35%, cursedassault: 15-30%, pmcbot: 5-10%, exusec: 5-5%, arenafighter: 0-0%, arenafighterevent: 0-0%, crazyassaultevent: 0-0%,
[Questing Bots] Disabling custom boss waves...
[Questing Bots] Disabling custom Scav waves...
[Questing Bots] Removing SPT Rogue spawn delay...
[Questing Bots] Enabling advanced_eft_bot_count_management will instruct EFT to ignore this mod's PMC's and PScavs when spawning more bots.
[Questing Bots] Original bot counts for Factory Day - SPT: 13, EFT: 20
[Questing Bots] Original bot counts for Factory Night - SPT: 13, EFT: 16
[Questing Bots] Original bot counts for Customs - SPT: 20, EFT: 17
[Questing Bots] Original bot counts for Woods - SPT: 20, EFT: 23 [Questing Bots] Original bot counts for Shoreline - SPT: 22, EFT: 32
[Questing Bots] Original bot counts for Lighthouse - SPT: 22, EFT: 17
[Questing Bots] Original bot counts for Reserve - SPT: 20, EFT: 16 [Questing Bots] Original bot counts for Interchange - SPT: 20, EFT: 19
[Questing Bots] Original bot counts for Labs - SPT: 20, EFT: 14
[Questing Bots] Original bot counts for Streets - SPT: 26, EFT: 23 [Questing Bots] Original bot counts for Ground Zero - SPT: 16, EFT: 20
[Questing Bots] Original bot counts for Ground Zero (20+) - SPT: 16, EFT: 24
[Questing Bots] Updated bot counts for Factory Day - SPT: 26, EFT: 20
[Questing Bots] Updated bot counts for Factory Night - SPT: 13, EFT: 16 [Questing Bots] Updated bot counts for Customs - SPT: 17, EFT: 17
[Questing Bots] Updated bot counts for Woods - SPT: 20, EFT: 23
[Questing Bots] Updated bot counts for Shoreline - SPT: 22, EFT: 32 [Questing Bots] Updated bot counts for Lighthouse - SPT: 21, EFT: 17
[Questing Bots] Updated bot counts for Reserve - SPT: 16, EFT: 16
[Questing Bots] Updated bot counts for Interchange - SPT: 19, EFT: 19 [Questing Bots] Updated bot counts for Labs - SPT: 14, EFT: 14
[Questing Bots] Updated bot counts for Streets - SPT: 19, EFT: 23
[Questing Bots] Updated bot counts for Ground Zero - SPT: 16, EFT: 20
[Questing Bots] Updated bot counts for Ground Zero (20+) - SPT: 16, EFT: 24
[Questing Bots] Updated BotSpawnPeriodCheck for Factory Day : 45
[Questing Bots] Updated BotSpawnPeriodCheck for Factory Night : 45
[Questing Bots] Updated BotSpawnPeriodCheck for Customs : 45 [Questing Bots] Updated BotSpawnPeriodCheck for Woods : 45
[Questing Bots] Updated BotSpawnPeriodCheck for Shoreline : 45
[Questing Bots] Updated BotSpawnPeriodCheck for Lighthouse : 45 [Questing Bots] Updated BotSpawnPeriodCheck for Reserve : 45
[Questing Bots] Updated BotSpawnPeriodCheck for Interchange : 45
[Questing Bots] Updated BotSpawnPeriodCheck for Labs : 45
[Questing Bots] Updated BotSpawnPeriodCheck for Streets : 42 [Questing Bots] Updated BotSpawnPeriodCheck for Ground Zero : 42
[Questing Bots] Updated BotSpawnPeriodCheck for Ground Zero (20+) : 42
[Questing Bots] Configuring game for bot spawning...done.
[RAID-REVIEW] Database Path: J:\SPT394\user\mods\raid_review__0.2.0\src\Database/../../data/raid_review_mod.db
[RAID-REVIEW] Migration Paths: J:\SPT394\user\mods\raid_review__0.2.0\src\Database/migrations
=> Custom Quests: skipped 'extraquests.disabled' quest directory
=> Custom Quests: skipped 'trap.disabled' quest directory
=> Custom Quests: 4 quests loaded
===> Successfully loaded Custom Quests v3.2.3
=> Custom Quests API: 201 quests loaded
Trap's Baba Yaga: loaded 'Baba Yaga: Kill contracts' quest!
===> Successfully loaded Trap's Baba Yaga v2.2.1
DoorBreacher added to: mag_mr153_izhmeh_12g_8 in weaponPropName: Cartridges DoorBreacher added to: mag_mc255_ckib_mc255_cylinder_std_12g_5 in weaponPropName: Cartridges
DoorBreacher added to: camora_000 in weaponPropName: camora_000 DoorBreacher added to: camora_001 in weaponPropName: camora_001 DoorBreacher added to: camora_002 in weaponPropName: camora_002 DoorBreacher added to: camora_003 in weaponPropName: camora_003 DoorBreacher added to: camora_004 in weaponPropName: camora_004 DoorBreacher added to: mag_mr153_izhmeh_12g_7 in weaponPropName: Cartridges
DoorBreacher added to: mag_mr153_izhmeh_12g_5 in weaponPropName: Cartridges DoorBreacher added to: mag_mr133_izhmeh_12g_8 in weaponPropName: Cartridges
DoorBreacher added to: mag_mr133_izhmeh_12g_6 in weaponPropName: Cartridges DoorBreacher added to: mag_mr153_izhmeh_12g_4 in weaponPropName: Cartridges
DoorBreacher added to: mag_m3_benelli_std_12g_7 in weaponPropName: Cartridges DoorBreacher added to: mag_mr153_izhmeh_12g_6 in weaponPropName: Cartridges
DoorBreacher added to: mag_m3_benelli_magazine_cap_12g_5 in weaponPropName: Cartridges DoorBreacher added to: mag_m3_benelli_magazine_extension_12g_9 in weaponPropName: Cartridges
DoorBreacher added to: mag_590_mossberg_magazie_cap_12g_8 in weaponPropName: Cartridges DoorBreacher added to: mag_saiga12_izhmash_Sb5_12x76_5 in weaponPropName: Cartridges
DoorBreacher added to: mag_mp155_kalashnikov_12g_6 in weaponPropName: Cartridges DoorBreacher added to: mag_m3_benelli_magazine_extension_12g_13 in weaponPropName: Cartridges DoorBreacher added to: mag_saiga12_pro_mag_sai_02_12x76_10 in weaponPropName: Cartridges DoorBreacher added to: mag_870_remington_magazie_extension_12g_10 in weaponPropName: Cartridges
DoorBreacher added to: mag_saiga12_maxrounds_powermag_20_12x76_20 in weaponPropName: Cartridges DoorBreacher added to: mag_870_remington_magazie_extension_12g_7 in weaponPropName: Cartridges
DoorBreacher added to: mag_m3_benelli_magazine_extension_12g_11 in weaponPropName: Cartridges DoorBreacher added to: mag_870_remington_magazie_cap_12g_4 in weaponPropName: Cartridges
DoorBreacher added to: weapon_izhmeh_mr153_12g in weaponPropName: Chambers DoorBreacher added to: weapon_benelli_m3_s90_12g in weaponPropName: Chambers
DoorBreacher added to: weapon_izhmeh_mr133_12g in weaponPropName: Chambers DoorBreacher added to: weapon_izhmash_saiga12k_10_12g in weaponPropName: Chambers DoorBreacher added to: weapon_izhmeh_mr43_sawed_off_12g in weaponPropName: Chambers DoorBreacher added to: weapon_izhmeh_mr43_sawed_off_12g in weaponPropName: Chambers
DoorBreacher added to: weapon_mossberg_590a1_12g in weaponPropName: Chambers DoorBreacher added to: weapon_kalashnikov_mp155_12g in weaponPropName: Chambers DoorBreacher added to: weapon_izhmeh_mr43e-1c_12g in weaponPropName: Chambers DoorBreacher added to: weapon_izhmeh_mr43e-1c_12g in weaponPropName: Chambers DoorBreacher added to: weapon_remington_model_870_12g in weaponPropName: Chambers
DoorBreacher added to: weapon_izhmash_saiga12k_10_12g in weaponPropName: Chambers DoorBreacher added to: weapon_benelli_m3_s90_12g in weaponPropName: Chambers
DoorBreacher: Finished Modifying Ammo Properties for Weapons
Started webserver at http://<IP_ADDRESS>:6969
Started websocket at ws://<IP_ADDRESS>:6969
Server is running, do not close while playing SPT, Happy playing!!
[RAID-REVIEW] Database Connected
[RAID-REVIEW] Starting 'Missing main player' check.
[RAID-REVIEW] All raids appear to be healthy, nice!
[RAID-REVIEW] Garbage collector deleting old raids, only keeping data for the last '5' raids.
[RAID-REVIEW] All good, no old raids to purge.
[RAID-REVIEW] SPT Server Connected.
[RAID-REVIEW] Websocket Server Listening on 'ws://<IP_ADDRESS>:7828'.
[RAID-REVIEW] Web Server is running at 'http://<IP_ADDRESS>:7829'.
[Client Request] /launcher/server/connect
[Client Request] /launcher/ping
[Client Request] /launcher/server/version
[Client Request] /files/launcher/bg.png
[Client Request] /launcher/ping
[Client Request] /launcher/profiles
[Client Request] /launcher/server/version
[Client Request] /files/launcher/side_usec.png
[Client Request] /launcher/profile/login
[Client Request] /launcher/profile/get
[Client Request] /launcher/profile/info
[Client Request] /launcher/server/version
[Client Request] /launcher/server/loadedServerMods
[Client Request] /launcher/server/serverModsUsedByProfile
[Client Request] /launcher/profile/login
[Client Request] /launcher/profile/get
[Client Request] /launcher/profile/info
[Client Request] /launcher/server/version
[Client Request] /launcher/profile/login
[Client Request] /launcher/profile/get
[Client Request] /launcher/profile/info
[Client Request] /launcher/server/version (x2)
[Item Info] Database data is loaded, working...
[Item Info] Finished processing items, enjoy!
[Client Request] /QuestingBots/GetConfig
[Client Request] /QuestingBots/AdjustPMCConversionChances/0/False
[Questing Bots] Adjusting PMC spawn chances (0): assault: 0-0%, cursedassault: 0-0%, pmcbot: 0-0%, exusec: 0-0%, arenafighter: 0-0%, arenafighterevent: 0-0%, crazyassaultevent: 0-0%,
[Client Request] /singleplayer/bossconvert
[RAID-REVIEW] Web Socket Client Connected
[Client Request] /RealismMod/GetInfo
[Client Request] /singleplayer/settings/version
[Client Request] /singleplayer/release
[Client Request] /singleplayer/enableBSGlogging
[Client Request] /MoreCheckmarksRoutes/quests
MoreCheckmarks making quest data request
Got quests
[Client Request] /MoreCheckmarksRoutes/items
MoreCheckmarks making item data request
[Client Request] /MoreCheckmarksRoutes/assorts
MoreCheckmarks making trader assort data request
[Client Request] /MoreCheckmarksRoutes/productions
MoreCheckmarks making productions request
[Client Request] /singleplayer/bundles
[Client Request] /singleplayer/settings/version
[Client Request] /client/menu/locale/en
[Client Request] /client/game/mode
[Client Request] /client/game/start
Custom Quests: game started!
[RAID-REVIEW] Registered player '669bd16900007233da915a35' to the session manager.

[Client Request] /client/location/getLocalloot
skipping quest key 5780cfa52459777dfb276eb1 because it's already a requirement of the quest Chemical Part 1
Found incomplete item requirements. type: quest, itemId: 5734758f24597738025ee253, amountRequired: 3
Found incomplete item requirements. type: quest, itemId: 59e7708286f7742cbd762753, amountRequired: 2
Found incomplete item requirements. type: quest, itemId: 5aa2b9ede5b5b000137b758b, amountRequired: 2 Found incomplete item requirements. type: quest, itemId: 5ae9a25386f7746dd946e6d9, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 59e358a886f7741776641ac3, amountRequired: 2
Found incomplete item requirements. type: quest, itemId: 59e3556c86f7741776641ac2, amountRequired: 2 Found incomplete item requirements. type: quest, itemId: 60915994c49cf53e4772cc38, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 60a3b6359c427533db36cf84, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 60a3b65c27adf161da7b6e14, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5d357d6b86f7745b606e3508, amountRequired: 1 Found incomplete item requirements. type: gunsmith, itemId: 544a37c44bdc2d25388b4567, amountRequired: 1
Found incomplete item requirements. type: gunsmith, itemId: 55d35ee94bdc2d61338b4568, amountRequired: 1 Found incomplete item requirements. type: gunsmith, itemId: 55d6190f4bdc2d87028b4567, amountRequired: 1
Found incomplete item requirements. type: gunsmith, itemId: 56ea8d2fd2720b7c698b4570, amountRequired: 1 Found incomplete item requirements. type: gunsmith, itemId: 5a339805c4a2826c6e06d73d, amountRequired: 1
Found incomplete item requirements. type: gunsmith, itemId: 5c78f2792e221600106f4683, amountRequired: 1
Found incomplete item requirements. type: gunsmith, itemId: 651a8e529829226ceb67c319, amountRequired: 1
Found incomplete item requirements. type: questKey, itemId: 5780cf7f2459777de4559322, amountRequired: 1 Found incomplete item requirements. type: hideout, itemId: 59e35cbb86f7741778269d83, amountRequired: 6
Found incomplete item requirements. type: quest, itemId: 60391b0fb847c71012789415, amountRequired: 3
Found incomplete item requirements. type: quest, itemId: 5bc9c1e2d4351e00367fbcf0, amountRequired: 1 Found incomplete item requirements. type: quest, itemId: 60b0f6c058e0b0481a09ad11, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 62a09ec84f842e1bd12da3f2, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 62a09d79de7ac81993580530, amountRequired: 1 Found incomplete item requirements. type: quest, itemId: 62a091170b9d3c46de5b6cf2, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5857a8bc2459772bad15db29, amountRequired: 2
Found incomplete item requirements. type: hideout, itemId: 5bc9bc53d4351e00367fbcee, amountRequired: 1 Found incomplete item requirements. type: hideout, itemId: 590c346786f77423e50ed342, amountRequired: 2
Found incomplete item requirements. type: hideout, itemId: 5d1b2fa286f77425227d1674, amountRequired: 6
Found incomplete item requirements. type: hideout, itemId: 590a3cd386f77436f20848cb, amountRequired: 6 Found incomplete item requirements. type: quest, itemId: 60c080eb991ac167ad1c3ad4, amountRequired: 1
Found incomplete item requirements. type: questKey, itemId: 5d9f1fa686f774726974a992, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 638cbc68a63f1b49be6a3010, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5c052e6986f7746b207bc3c9, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5b4c72c686f77462ac37e907, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5b4c72fb86f7745cef1cffc5, amountRequired: 1
Found incomplete item requirements. type: questKey, itemId: 5a145d7b86f7744cbb6f4a13, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5a6860d886f77411cd3a9e47, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 608c22a003292f4ba43f8a1a, amountRequired: 1 Found incomplete item requirements. type: quest, itemId: 60a3b5b05f84d429b732e934, amountRequired: 1
Found incomplete item requirements. type: questKey, itemId: 5d947d3886f774447b415893, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 638e0057ab150a5f56238960, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5939e5a786f77461f11c0098, amountRequired: 1 Found incomplete item requirements. type: quest, itemId: 5780cfa52459777dfb276eb1, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 619268de2be33f2604340159, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 619268ad78f4fa33f173dbe5, amountRequired: 1 Found incomplete item requirements. type: quest, itemId: 5b4391a586f7745321235ab2, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5b4391a586f7745321235ab2, amountRequired: 1 Found incomplete item requirements. type: hideout, itemId: 5d1b2fa286f77425227d1674, amountRequired: 4
Found incomplete item requirements. type: quest, itemId: 5ac78a9b86f7741cca0bbd8d, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 63a943cead5cc12f22161ff7, amountRequired: 1
Found incomplete item requirements. type: hideout, itemId: 5df8a77486f77412672a1e3f, amountRequired: 1 Found incomplete item requirements. type: hideout, itemId: 5df8a72c86f77412640e2e83, amountRequired: 1
Found incomplete item requirements. type: hideout, itemId: 5df8a6a186f77412640e2e80, amountRequired: 1
Calculated new drop rate raid multiplier for 5734758f24597738025ee253: 1.5
Calculated new drop rate raid multiplier for 59e7708286f7742cbd762753: 2
Calculated new drop rate raid multiplier for 5aa2b9ede5b5b000137b758b: 2
Calculated new drop rate raid multiplier for 5ae9a25386f7746dd946e6d9: 2.25
Calculated new drop rate raid multiplier for 59e358a886f7741776641ac3: 3.25 Calculated new drop rate raid multiplier for 59e3556c86f7741776641ac2: 3.25
Calculated new drop rate raid multiplier for 60915994c49cf53e4772cc38: 3.5
Calculated new drop rate raid multiplier for 60a3b6359c427533db36cf84: 3.5 Calculated new drop rate raid multiplier for 60a3b65c27adf161da7b6e14: 3.5
Calculated new drop rate raid multiplier for 5d357d6b86f7745b606e3508: 3.75
Calculated new drop rate raid multiplier for 544a37c44bdc2d25388b4567: 4
Calculated new drop rate raid multiplier for 55d35ee94bdc2d61338b4568: 4
Calculated new drop rate raid multiplier for 55d6190f4bdc2d87028b4567: 4 Calculated new drop rate raid multiplier for 56ea8d2fd2720b7c698b4570: 4
Calculated new drop rate raid multiplier for 5a339805c4a2826c6e06d73d: 4
Calculated new drop rate raid multiplier for 5c78f2792e221600106f4683: 4 Calculated new drop rate raid multiplier for 651a8e529829226ceb67c319: 4
Calculated new drop rate raid multiplier for 5780cf7f2459777de4559322: 4.5
Calculated new drop rate raid multiplier for 59e35cbb86f7741778269d83: 4.5 Calculated new drop rate raid multiplier for 60391b0fb847c71012789415: 8.25
Calculated new drop rate raid multiplier for 5bc9c1e2d4351e00367fbcf0: 8.25
Calculated new drop rate raid multiplier for 60b0f6c058e0b0481a09ad11: 8.25 Calculated new drop rate raid multiplier for 62a09ec84f842e1bd12da3f2: 8.25
Calculated new drop rate raid multiplier for 62a09d79de7ac81993580530: 8.25
Calculated new drop rate raid multiplier for 62a091170b9d3c46de5b6cf2: 8.25
Calculated new drop rate raid multiplier for 5857a8bc2459772bad15db29: 8.25
Calculated new drop rate raid multiplier for 5bc9bc53d4351e00367fbcee: 8.25
Calculated new drop rate raid multiplier for 590c346786f77423e50ed342: 8.25 Calculated new drop rate raid multiplier for 5d1b2fa286f77425227d1674: 26.5
Calculated new drop rate raid multiplier for 590a3cd386f77436f20848cb: 8.5
Calculated new drop rate raid multiplier for 60c080eb991ac167ad1c3ad4: 9.5
Calculated new drop rate raid multiplier for 5d9f1fa686f774726974a992: 9.5
Calculated new drop rate raid multiplier for 638cbc68a63f1b49be6a3010: 10.25 Calculated new drop rate raid multiplier for 5c052e6986f7746b207bc3c9: 10.5
Calculated new drop rate raid multiplier for 5b4c72c686f77462ac37e907: 10.5
Calculated new drop rate raid multiplier for 5b4c72fb86f7745cef1cffc5: 10.5 Calculated new drop rate raid multiplier for 5a145d7b86f7744cbb6f4a13: 10.5
Calculated new drop rate raid multiplier for 5a6860d886f77411cd3a9e47: 11.25 Calculated new drop rate raid multiplier for 608c22a003292f4ba43f8a1a: 13
Calculated new drop rate raid multiplier for 60a3b5b05f84d429b732e934: 13
Calculated new drop rate raid multiplier for 5d947d3886f774447b415893: 13
Calculated new drop rate raid multiplier for 638e0057ab150a5f56238960: 13 Calculated new drop rate raid multiplier for 5939e5a786f77461f11c0098: 13
Calculated new drop rate raid multiplier for 5780cfa52459777dfb276eb1: 13 Calculated new drop rate raid multiplier for 619268de2be33f2604340159: 13.5
Calculated new drop rate raid multiplier for 619268ad78f4fa33f173dbe5: 13.5 Calculated new drop rate raid multiplier for 5b4391a586f7745321235ab2: 29
Calculated new drop rate raid multiplier for 5ac78a9b86f7741cca0bbd8d: 19.25
Calculated new drop rate raid multiplier for 63a943cead5cc12f22161ff7: 20 Calculated new drop rate raid multiplier for 5df8a77486f77412672a1e3f: 37.25
Calculated new drop rate raid multiplier for 5df8a72c86f77412640e2e83: 37.25 Calculated new drop rate raid multiplier for 5df8a6a186f77412640e2e80: 37.25
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5c78f2792e221600106f4683, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Invalid location found develop
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5c78f2792e221600106f4683, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Invalid location found hideout
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5c78f2792e221600106f4683, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5c78f2792e221600106f4683, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Invalid location found privatearea
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5c78f2792e221600106f4683, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5c78f2792e221600106f4683, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Invalid location found suburbs
Invalid location found terminal Invalid location found town
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 5c78f2792e221600106f4683, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d89086f77472591234a0, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 56ea8d2fd2720b7c698b4570, baseProbability: 999
Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5a339805c4a2826c6e06d73d, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 5c78f2792e221600106f4683, baseProbability: 999 Adding gunsmith item to loot tables. container: 5909d76c86f77471e53d2adf, itemId: 651a8e529829226ceb67c319, baseProbability: 999
Pity loot location updates took: 1265.634699999995 ms
A total of 2073 static items spawned
A total of: 611 static containers generated
A total of: 532 dynamic items spawned
Generated location: rezervbase
[Client Request] /client/raid/configuration
skipping quest key 5780cfa52459777dfb276eb1 because it's already a requirement of the quest Chemical Part 1
Found incomplete item requirements. type: quest, itemId: 5734758f24597738025ee253, amountRequired: 3
Found incomplete item requirements. type: quest, itemId: 59e7708286f7742cbd762753, amountRequired: 2
Found incomplete item requirements. type: quest, itemId: 5aa2b9ede5b5b000137b758b, amountRequired: 2 Found incomplete item requirements. type: quest, itemId: 5ae9a25386f7746dd946e6d9, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 59e358a886f7741776641ac3, amountRequired: 2
Found incomplete item requirements. type: quest, itemId: 59e3556c86f7741776641ac2, amountRequired: 2 Found incomplete item requirements. type: quest, itemId: 60915994c49cf53e4772cc38, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 60a3b6359c427533db36cf84, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 60a3b65c27adf161da7b6e14, amountRequired: 1 Found incomplete item requirements. type: quest, itemId: 5d357d6b86f7745b606e3508, amountRequired: 1
Found incomplete item requirements. type: gunsmith, itemId: 544a37c44bdc2d25388b4567, amountRequired: 1 Found incomplete item requirements. type: gunsmith, itemId: 55d35ee94bdc2d61338b4568, amountRequired: 1
Found incomplete item requirements. type: gunsmith, itemId: 55d6190f4bdc2d87028b4567, amountRequired: 1
Found incomplete item requirements. type: gunsmith, itemId: 56ea8d2fd2720b7c698b4570, amountRequired: 1 Found incomplete item requirements. type: gunsmith, itemId: 5a339805c4a2826c6e06d73d, amountRequired: 1
Found incomplete item requirements. type: gunsmith, itemId: 5c78f2792e221600106f4683, amountRequired: 1
Found incomplete item requirements. type: gunsmith, itemId: 651a8e529829226ceb67c319, amountRequired: 1
Found incomplete item requirements. type: questKey, itemId: 5780cf7f2459777de4559322, amountRequired: 1 Found incomplete item requirements. type: hideout, itemId: 59e35cbb86f7741778269d83, amountRequired: 6
Found incomplete item requirements. type: quest, itemId: 60391b0fb847c71012789415, amountRequired: 3 Found incomplete item requirements. type: quest, itemId: 5bc9c1e2d4351e00367fbcf0, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 60b0f6c058e0b0481a09ad11, amountRequired: 1 Found incomplete item requirements. type: quest, itemId: 62a09ec84f842e1bd12da3f2, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 62a09d79de7ac81993580530, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 62a091170b9d3c46de5b6cf2, amountRequired: 1 Found incomplete item requirements. type: quest, itemId: 5857a8bc2459772bad15db29, amountRequired: 2
Found incomplete item requirements. type: hideout, itemId: 5bc9bc53d4351e00367fbcee, amountRequired: 1 Found incomplete item requirements. type: hideout, itemId: 590c346786f77423e50ed342, amountRequired: 2
Found incomplete item requirements. type: hideout, itemId: 5d1b2fa286f77425227d1674, amountRequired: 6 Found incomplete item requirements. type: hideout, itemId: 590a3cd386f77436f20848cb, amountRequired: 6 Found incomplete item requirements. type: quest, itemId: 60c080eb991ac167ad1c3ad4, amountRequired: 1
Found incomplete item requirements. type: questKey, itemId: 5d9f1fa686f774726974a992, amountRequired: 1 Found incomplete item requirements. type: quest, itemId: 638cbc68a63f1b49be6a3010, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5c052e6986f7746b207bc3c9, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5b4c72c686f77462ac37e907, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5b4c72fb86f7745cef1cffc5, amountRequired: 1
Found incomplete item requirements. type: questKey, itemId: 5a145d7b86f7744cbb6f4a13, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5a6860d886f77411cd3a9e47, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 608c22a003292f4ba43f8a1a, amountRequired: 1 Found incomplete item requirements. type: quest, itemId: 60a3b5b05f84d429b732e934, amountRequired: 1
Found incomplete item requirements. type: questKey, itemId: 5d947d3886f774447b415893, amountRequired: 1 Found incomplete item requirements. type: quest, itemId: 638e0057ab150a5f56238960, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5939e5a786f77461f11c0098, amountRequired: 1 Found incomplete item requirements. type: quest, itemId: 5780cfa52459777dfb276eb1, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 619268de2be33f2604340159, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 619268ad78f4fa33f173dbe5, amountRequired: 1 Found incomplete item requirements. type: quest, itemId: 5b4391a586f7745321235ab2, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 5b4391a586f7745321235ab2, amountRequired: 1 Found incomplete item requirements. type: hideout, itemId: 5d1b2fa286f77425227d1674, amountRequired: 4
Found incomplete item requirements. type: quest, itemId: 5ac78a9b86f7741cca0bbd8d, amountRequired: 1
Found incomplete item requirements. type: quest, itemId: 63a943cead5cc12f22161ff7, amountRequired: 1 Found incomplete item requirements. type: hideout, itemId: 5df8a77486f77412672a1e3f, amountRequired: 1
Found incomplete item requirements. type: hideout, itemId: 5df8a72c86f77412640e2e83, amountRequired: 1
Found incomplete item requirements. type: hideout, itemId: 5df8a6a186f77412640e2e80, amountRequired: 1
Calculated new drop rate raid multiplier for 5734758f24597738025ee253: 1.5
Calculated new drop rate raid multiplier for 59e7708286f7742cbd762753: 2 Calculated new drop rate raid multiplier for 5aa2b9ede5b5b000137b758b: 2
Calculated new drop rate raid multiplier for 5ae9a25386f7746dd946e6d9: 2.25
Calculated new drop rate raid multiplier for 59e358a886f7741776641ac3: 3.25 Calculated new drop rate raid multiplier for 59e3556c86f7741776641ac2: 3.25
Calculated new drop rate raid multiplier for 60915994c49cf53e4772cc38: 3.5 Calculated new drop rate raid multiplier for 60a3b6359c427533db36cf84: 3.5
Calculated new drop rate raid multiplier for 60a3b65c27adf161da7b6e14: 3.5
Calculated new drop rate raid multiplier for 5d357d6b86f7745b606e3508: 3.75
Calculated new drop rate raid multiplier for 544a37c44bdc2d25388b4567: 4
Calculated new drop rate raid multiplier for 55d35ee94bdc2d61338b4568: 4 Calculated new drop rate raid multiplier for 55d6190f4bdc2d87028b4567: 4
Calculated new drop rate raid multiplier for 56ea8d2fd2720b7c698b4570: 4
Calculated new drop rate raid multiplier for 5a339805c4a2826c6e06d73d: 4 Calculated new drop rate raid multiplier for 5c78f2792e221600106f4683: 4
Calculated new drop rate raid multiplier for 651a8e529829226ceb67c319: 4 Calculated new drop rate raid multiplier for 5780cf7f2459777de4559322: 4.5
Calculated new drop rate raid multiplier for 59e35cbb86f7741778269d83: 4.5 Calculated new drop rate raid multiplier for 60391b0fb847c71012789415: 8.25
Calculated new drop rate raid multiplier for 5bc9c1e2d4351e00367fbcf0: 8.25 Calculated new drop rate raid multiplier for 60b0f6c058e0b0481a09ad11: 8.25
Calculated new drop rate raid multiplier for 62a09ec84f842e1bd12da3f2: 8.25
Calculated new drop rate raid multiplier for 62a09d79de7ac81993580530: 8.25
Calculated new drop rate raid multiplier for 62a091170b9d3c46de5b6cf2: 8.25 Calculated new drop rate raid multiplier for 5857a8bc2459772bad15db29: 8.25
Calculated new drop rate raid multiplier for 5bc9bc53d4351e00367fbcee: 8.25
Calculated new drop rate raid multiplier for 590c346786f77423e50ed342: 8.25 Calculated new drop rate raid multiplier for 5d1b2fa286f77425227d1674: 26.5
Calculated new drop rate raid multiplier for 590a3cd386f77436f20848cb: 8.5 Calculated new drop rate raid multiplier for 60c080eb991ac167ad1c3ad4: 9.5
Calculated new drop rate raid multiplier for 5d9f1fa686f774726974a992: 9.5 Calculated new drop rate raid multiplier for 638cbc68a63f1b49be6a3010: 10.25
Calculated new drop rate raid multiplier for 5c052e6986f7746b207bc3c9: 10.5
Calculated new drop rate raid multiplier for 5b4c72c686f77462ac37e907: 10.5 Calculated new drop rate raid multiplier for 5b4c72fb86f7745cef1cffc5: 10.5
Calculated new drop rate raid multiplier for 5a145d7b86f7744cbb6f4a13: 10.5
Calculated new drop rate raid multiplier for 5a6860d886f77411cd3a9e47: 11.25 Calculated new drop rate raid multiplier for 608c22a003292f4ba43f8a1a: 13
Calculated new drop rate raid multiplier for 60a3b5b05f84d429b732e934: 13 Calculated new drop rate raid multiplier for 5d947d3886f774447b415893: 13
Calculated new drop rate raid multiplier for 638e0057ab150a5f56238960: 13
Calculated new drop rate raid multiplier for 5939e5a786f77461f11c0098: 13 Calculated new drop rate raid multiplier for 5780cfa52459777dfb276eb1: 13
Calculated new drop rate raid multiplier for 619268de2be33f2604340159: 13.5
Calculated new drop rate raid multiplier for 619268ad78f4fa33f173dbe5: 13.5 Calculated new drop rate raid multiplier for 5b4391a586f7745321235ab2: 29
Calculated new drop rate raid multiplier for 5ac78a9b86f7741cca0bbd8d: 19.25
Calculated new drop rate raid multiplier for 63a943cead5cc12f22161ff7: 20
Calculated new drop rate raid multiplier for 5df8a77486f77412672a1e3f: 37.25
Calculated new drop rate raid multiplier for 5df8a72c86f77412640e2e83: 37.25 Calculated new drop rate raid multiplier for 5df8a6a186f77412640e2e80: 37.25
Pity loot bot updates took: 23.402900000015507 ms
Avg. Player Level = 29
Map Name = RezervBase Map Type = urban
Time 06:30:28
Time of Day = day
[Client Request] /singleplayer/settings/bot/difficulties
[Client Request] /singleplayer/settings/bot/difficulty/core/core
[Client Request] /singleplayer/settings/bot/maxCap/RezervBase
[Client Request] /QuestingBots/GetAllQuestTemplates
[Client Request] /QuestingBots/GetEFTQuestSettings
[Client Request] /QuestingBots/GetZoneAndItemQuestPositions
[Client Request] /QuestingBots/GetScavRaidSettings
[Client Request] /QuestingBots/AdjustPMCConversionChances/0/True
[Client Request] /singleplayer/settings/bot/limit/assault (x3)
[Client Request] /singleplayer/settings/bot/limit/pmcBot
[Client Request] /singleplayer/settings/bot/limit/bossGluhar
[Client Request] /singleplayer/settings/bot/limit/followerGluharAssault
[Client Request] /singleplayer/settings/bot/limit/followerGluharSecurity
[Client Request] /singleplayer/settings/bot/limit/followerGluharScout
[Client Request] /QuestingBots/GenerateBot/0 (x10)
[Client Request] /QuestingBots/AdjustPMCConversionChances/0/True
[Client Request] /QuestingBots/GenerateBot/100 (x16)
[Client Request] /vcql/zones/get
[RAID-REVIEW] Recieved 'START' trigger.
[RAID-REVIEW] Registered raid '093a29da-c94c-4f83-b9fd-7a73025e9465' for player(s) '669bd16900007233da915a35'.

[RAID-REVIEW] New log file created for session '1725681952704_raid_review.log', this can be found in the '/logs' directory of the mod folder.
[RAID-REVIEW] File created: J:\SPT394\user\mods\raid_review__0.2.0\src\Controllers\FileSystem/../../../data/logs/1725681952704_raid_review.log
[RAID-REVIEW] Starting 'Missing main player' check.
[RAID-REVIEW] Enabled Post Processing: Raid Finished
[RAID-REVIEW] All raids appear to be healthy, nice!
[Client Request] /raid/profile/save
Unable to migrate post-raid quest: 66bb802d6715227d0100000a data to profile, cannot find quest in profile
Unable to migrate post-raid quest: 66bf8286a96632b5df00000e data to profile, cannot find quest in profile
Unable to migrate post-raid quest: 66c0d9d37916fdb0cc00000f data to profile, cannot find quest in profile
Unable to migrate post-raid quest: 66c48db0654f5b4614000015 data to profile, cannot find quest in profile
Unable to migrate post-raid quest: 66c9203df16e22b88d00000e data to profile, cannot find quest in profile
Unable to migrate post-raid quest: 66ca7aa2cc6ea5a48200000b data to profile, cannot find quest in profile
Unable to migrate post-raid quest: 66cf2a37ebf3921047000015 data to profile, cannot find quest in profile
Unable to migrate post-raid quest: 66d08aaffbe8b0fade00000e data to profile, cannot find quest in profile
Unable to migrate post-raid quest: 66d1e8220b31d9c13400000c data to profile, cannot find quest in profile
Unable to migrate post-raid quest: 66d7179b4202df798200000c data to profile, cannot find quest in profile
Unable to migrate post-raid quest: 66d86cd2a0fc77dd5c000010 data to profile, cannot find quest in profile
Realism Mod: Fleamarket Tier 5 Unlocked
[Client Request] /client/match/offline/end
CustomRaidTimes: CustomRaidTimesMatchEnd route has been triggered.
CustomRaidTimes: Lighthouse Train Schedule - Earliest: 15.52 minutes, Latest: 37.30 minutes, Wait: 6.00 minutes.
CustomRaidTimes: Reserve Train Schedule - Earliest: 21.82 minutes, Latest: 35.30 minutes, Wait: 8.00 minutes.
CustomRaidTimes: Raid times have been successfully adjusted according to the configuration.
[WS] Player: Aufreri (669bd16900007233da915a35) has connected
WebSocketHandler "SPT WebSocket Handler" connected
[Client Request] /client/game/profile/list
[Client Request] /client/game/profile/select
[Client Request] /MoreCheckmarksRoutes/quests
MoreCheckmarks making quest data request
Got quests
[Client Request] /MoreCheckmarksRoutes/assorts
MoreCheckmarks making trader assort data request
[Client Request] /MoreCheckmarksRoutes/productions
MoreCheckmarks making productions request
[Client Request] /client/items/prices/54cb50c76803fa8b248b4571
[Client Request] /client/items/prices/54cb57776803fa99248b456e
[Client Request] /client/items/prices/5935c25fb3acc3127c3d8cd9
[Client Request] /client/items/prices/54cb57776803fa99248b456e
[Client Request] /client/items/prices/58330581ace78e27b8b10cee
[Client Request] /client/items/prices/5ac3b934156ae10c4430e83c
[Client Request] /client/items/prices/5935c25fb3acc3127c3d8cd9
[Client Request] /client/items/prices/5a7c2eca46aef81a7ca2145d
[Client Request] /client/items/prices/5ac3b934156ae10c4430e83c
[Client Request] /client/items/prices/54cb50c76803fa8b248b4571
[Client Request] /client/items/prices/5a7c2eca46aef81a7ca2145d
[Client Request] /client/items/prices/579dc571d53a0658a154fbec (x2)
[Client Request] /client/items/prices/5c0647fdd443bc2504c2d371 (x2)
[Client Request] /client/items/prices/58330581ace78e27b8b10cee
[Client Request] /client/items/prices/638f541a29ffd1183d187f57
[Client Request] /client/items/prices/656f0f98d80a697f855d34b1 (x2)
[Client Request] /client/profile/status
[Client Request] /client/items/prices/6617beeaa9cfa777ca915b7c (x2)
[Client Request] /client/quest/list
[Client Request] /client/repeatalbeQuests/activityPeriods
[Client Request] /client/achievement/statistic
[Client Request] /client/achievement/list
[Client Request] /client/game/profile/items/moving
[Client Request] /launcher/profile/info
[Client Request] /launcher/server/version
[Client Request] /client/game/profile/items/moving
[Client Request] /launcher/profile/info
[Client Request] /launcher/server/version
[Client Request] /client/game/profile/items/moving
[Client Request] /launcher/profile/info
[Client Request] /launcher/server/version
[Client Request] /client/items/prices/579dc571d53a0658a154fbec
[Client Request] /client/trading/api/getTraderAssort/579dc571d53a0658a154fbec
[Client Request] /client/game/profile/items/moving
[Client Request] /client/game/profile/savage/regenerate
[Client Request] /client/items

Here is my current .json5 config file.
`{
general: {
enabled: true,
    // Enables verbose logging for debugging. And I mean *verbose*... It will log *everything*; raid times, train
    // schedules, and every existing and newly created bot spawn wave in the system.
    debug: true,
},

raidTimes: {
    // Override raid times for all locations, ignoring custom times set for individual locations.
    overrideAll: true,

    // Override raid times options. Used for all maps, but only when the above `overrideAll` is set to `true`.
    //
    // These are examples of how to use the various options. If more than one option is provided, the weights are
    // used to determine how often each object is used. The higher the weight, the more often it is used relative to
    // the others.
    //
    // The minutes and weight options can be a single number, or an object with min and max values which will be
    // used to generate a random number between the two.
    //
    // You can also use a single number for the override option, which will be used for all locations, all the time:
    // override: 300, // Five hour raids
    //
    override: [
        { minutes: { min: 45, max: 70 }, weight: 3 }, // 60 minute raid, used 10 times more often than a weight of 1.
        { minutes: { min: 27, max: 45 }, weight: 1 }, // 30 minute raid, used 2-5 times more often than a weight of 1.
        // { minutes: { min: 15, max: 25 }, weight: 1 }, // 15-20 minute raid, used as often as any other weight of 1.

        // If all you want is a single long raid time, you can uncomment the following line and comment out or
        // delete the three other lines above.
        // { minutes: 360, weight: 1 }, // 6 hour raid (360 minutes).
    ],

    // Custom raid times for specific locations. Used when `overrideAll` is set to `false`.
    // The option can be a number, or an object containing minutes and weight options as described above.
    customTimes: {
        customs: 60,
        factoryDay: 39,
        factoryNight: 55,
        interchange: 60,
        laboratory: 55,
        lighthouse: 60,
        reserve: 60,
        groundZero: 47,
		groundZeroHigh: 47,
        shoreline: 55,
        streets: 70,
        woods: 60,
    },

    // Override scav raid times?
    overrideScav: true,
},

trainSchedule: {
    // Enables the automatic train schedule feature. This automatically generates a schedule for the train that fits
    // within the raid time, and ensures the train arrives with enough time for players to extract. It's *highly*
    // recommended to leave this enabled.
    auto: true,

    static: {
        // All of the following train schedule options are only used when `auto` is set to `false`.
        //
        // WARNING:
        // - If you don't know what you're doing, don't touch these options. Use the auto schedule feature instead.
        // - If the sum of the latest arrival time, wait time, train amimation time, and extraction time is greater
        //   than the resolved raid time, the train will not arrive in time for you to exit the raid.
        // - ABSOLUTLY NO SUPPORT WILL BE PROVIDED FOR USING THIS FEATURE.
        // - Setting `trainWaitSeconds` to 120 will have the train wait 120 seconds after arriving before departing.
        // - The mod will do it's best to ensure that the latest arrival time lands within the raid time if it's
        //   been set to a time later than the raid time, but I make no guarantee it will work.
        // - To have the train arrive at a specific time, every time, set `arriveEarliestMinutes` and
        //   `arriveLatestMinutes` to the same value.
        // - The defaults are the same as live; 20, 25, 420.
        arriveEarliestMinutes: 20,
        arriveLatestMinutes: 25,
        trainWaitSeconds: 420,
    },
},

}
`


[UI] add visibility rules functionality

The UI spring boot app will expose to UI an endpoint that will return an array of components ID to be displayed according to the roles of authenticated user.
endpoint : /api/users/components

fixed


feat(#196): rename add to create

Fixes #196

Current dependencies on/for this PR:

main

PR #197   👈

This stack of pull requests is managed by Graphite.

Merge activity

Jan 22, 10:27 AM: @MartinBernstorff merged this pull request with Graphite.


[C/CPP] Improve cppbuild/cppbuild

Set BUILD_CONFIG/BUILD_DIR for Debug build.
-DAERON_SYSTEM_TESTS=OFF not necessary for slow-system-tests, we can use --no-system-tests instead

Checks were not successful.
Also, do not change cppbuild defaults by removing setting of AERON_SYSTEM_TESTS.

As I said in gitter, the checks not caused by me, you may need have a look at the failure


Countdown does not work for looped items.

@xs-nayeem
Thank you for bringing this to our attention! We apologize for any inconvenience you're facing with countdowns for looped items.
We appreciate your patience and understanding. If you have any additional details or specific scenarios that could help us better understand and address the issue, please feel free to share them.
Thank you for your understanding.


async methods added in the library

Getting an error running the non-async .run()

/Users/bucky/Desktop/Projects/prompt-layer-library/venv/bin/python /Users/bucky/Desktop/Projects/prompt-layer-library/samples/run.py
Traceback (most recent call last):
  File "/Users/bucky/Desktop/Projects/prompt-layer-library/samples/run.py", line 10, in <module>
    response = pl.run(
               ^^^^^^^
  File "/Users/bucky/Desktop/Projects/prompt-layer-library/promptlayer/promptlayer.py", line 209, in run
    result = self._run_internal(
             ^^^^^^^^^^^^^^^^^^^
  File "/Users/bucky/Desktop/Projects/prompt-layer-library/promptlayer/promptlayer.py", line 145, in _run_internal
    request_log = self._track_request_log(
                  ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bucky/Desktop/Projects/prompt-layer-library/promptlayer/promptlayer.py", line 171, in _track_request_log
    track_request_kwargs = self._prepare_track_request_kwargs(
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bucky/Desktop/Projects/prompt-layer-library/promptlayer/promptlayer_mixins.py", line 217, in _prepare_track_request_kwargs
    "function_name": request_params["function_name"],
                     ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable

Process finished with exit code 1

I just tested this out with the regular run method
Using this version makes my tracked request blank. I switched to the current main branch code and it works normally.


pyspread: init at 1.99.5

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/448

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/448


[Question] AssertionError when combining discrete and continious action space

Question
Hi all,
I have a gymnasium environment with a combiation of a discrete and a continious action space. So actually there are 3 actions to take. The first 2 ones are discrete in the range between 0 and timeslots_for_state_load_percentages_costs. The third one is a continious action between 0 and 50.
The observation space is continious with the dimensionality 2 * timeslots_for_state_load_percentages_costs. Each value can be between 0 and 1.
Here is the code of a (not really meaningful) test example:
import gymnasium as gym
from gymnasium import Env
from gymnasium.spaces import Discrete, Box, Tuple, MultiDiscrete, space
import numpy as np
import os

timeslots_for_state_load_percentages_costs = 4

class DSM_Env_RL2(Env):
    def __init__(self):

        int_action_space = Discrete(timeslots_for_state_load_percentages_costs)
        cont_action_space = Box(low=0, high=50, shape=(1,), dtype=np.float32)

        # Combined action space
        self.action_space = Tuple((int_action_space, int_action_space, cont_action_space))

        #Specify observation space
        low = np.zeros(2 * timeslots_for_state_load_percentages_costs)
        high = np.ones(2 * timeslots_for_state_load_percentages_costs)

        # Create the observation space
        observation_space = gym.spaces.Box(low=low, high=high, dtype=np.float64)
        self.observation_space = observation_space

    def reset (self, **kwargs):
        super().reset(**kwargs)
        info = {}
        obs = np.zeros(timeslots_for_state_load_percentages_costs)

        return  obs, info

    def render (self):

        pass

    def step(self, action ):

        # Execute the action in the external simulation and return the next observation, reward, done, and info
        action_from_timeslot = action[0]
        action_to_timeslot = action[1]
        action_shifting_percentage = action[2]

        #External environment is not used in this test example
        #result_costs, result_peak, result_DC, results_dict, percentage_array_loads_per_timeslot_highest_prices_shortened, percentage_array_loads_per_timeslot_lowest_prices_shortened = Run_Simulations_Help.execute_single_modification_operator_decision_RL2(current_solution, action_from_timeslot, action_to_timeslot, action_shifting_percentage, self.read_RL_data_day, timeslots_for_state_load_percentages_costs )

        percentage_array_loads_per_timeslot_highest_prices_shortened =np.zeros(timeslots_for_state_load_percentages_costs)
        percentage_array_loads_per_timeslot_lowest_prices_shortened  =np.zeros(timeslots_for_state_load_percentages_costs)
        #calculate state
        state_array = np.concatenate((percentage_array_loads_per_timeslot_highest_prices_shortened, percentage_array_loads_per_timeslot_lowest_prices_shortened))
        observation_space= state_array

        reward = 1
        done = False

        info = {}
        print("")
        return observation_space, reward, done, False, info

#Use Stable Baselines 3 to apply a RL algorithm on the environmetn
from stable_baselines3 import A2C

gym.register("dsm-env-v1", lambda: DSM_Env_RL2())
env = gym.make("dsm-env-v1")

#Ceck environment
check_environment = False
if check_environment == True:
    from gymnasium.utils.env_checker import check_env
    check_env(env.unwrapped)
    from stable_baselines3.common.env_checker import check_env
    check_env(env)

#Create the files of the model
models_dir = r"C:\Users\wi9632\Desktop\Ergebnisse\DSM\RL\RL_Models\A2C"
logdir = r"C:\Users\wi9632\Desktop\Ergebnisse\DSM\RL\RL_Logs\A2C"
if not os.path.exists(models_dir):
    os.makedirs(models_dir)
if not os.path.exists(logdir):
    os.makedirs(logdir)

#Define the model
model = A2C('MlpPolicy', env, verbose=1)

#train and save the model
model.learn(total_timesteps=1000)
model.save(os.path.join(models_dir, 'trained_a2c_model'))

When running it I get an assertion error from the gynasium environment checker with the message:
AssertionError: The algorithm only supports (<class 'gymnasium.spaces.box.Box'>, <class 'gymnasium.spaces.discrete.Discrete'>, <class 'gymnasium.spaces.multi_discrete.MultiDiscrete'>, <class 'gymnasium.spaces.multi_binary.MultiBinary'>) as action spaces but Tuple(Discrete(4), Discrete(4), Box(0.0, 50.0, (1,), float32)) was provided
I have problems understanding the error message. As far as I see it I define the correct action space by using `        int_action_space = Discrete(timeslots_for_state_load_percentages_costs)
cont_action_space = Box(low=0, high=50, shape=(1,), dtype=np.float32)
    # Combined action space
    self.action_space = Tuple((int_action_space, int_action_space, cont_action_space))`

and then in the step function I get the different values of the action space using:
        action_from_timeslot = action[0]
        action_to_timeslot = action[1]
        action_shifting_percentage = action[2]

Does anyone know why I get this error and how to solve this issue?

The issue is with SB3 not gymnasium, it is their algorithm that doesn't support a tuple.
It might be possible to change your observation space to a Box  that you convert the first two values to int in step


[Bug]: GitHub Action deployment fails

What happened?

What browsers are you seeing the problem on?
 That workflow uses concurrency controls, so if you make a push that triggers the workflow before the previous run has finished, the previous run gets cancelled; see the message on the cancelled workflow:
https://stackoverflow.com/a/75988696/11155942
So I guess there is no way around this...