Replicating Bloomberg's zero rates bootstrapping

I'm interested in manually replicating the bootstrapping procedure that Bloomberg uses to built ICVS179 (RUB vs MosPrime 3M) curve up to a two years tenor as of October 12th 2021.

These are the market instruments that were taken for curve construction, their market rates, zero rates and discounts as they are given in the Bloomberg terminal: These are the results of my own bootstrapping which are quite close but don't precisely match Bloomberg's results: In order to obtain the first discount implied from the cash rate I'm taking $$P(0, T_1) = \frac{1}{1+R_1\cdot\delta(0, T_1)},$$ where $$R_1$$ is the corresponding market rate.

Then I use $$P(0,T_2) = \frac{P(0, T_1)}{1+R_2\cdot\delta(T_1, T_2)}$$ and $$P(0,T_3) = \frac{P(0, T_2)}{1+R_3\cdot\delta(T_2, T_3)}$$ to calculate the discounts implied from FRAs.

The remaining discounts are obtained from IRS via $$P(0,T_4) = \frac{1-R_4\sum_{i=1}^3\delta(T_{i-1},T_i)\cdot P(0,T_i)}{1+R_4\cdot\delta(T_3,T_4)}$$ $$P(0,T_5) = \frac{1-R_5\sum_{i=1}^4\delta(T_{i-1},T_i)\cdot P(0,T_i)}{1+R_5\cdot\delta(T_4,T_5)}$$

The corresponding zero rates are derived from discounts by $$L_i = -\frac{\ln P(0,T_i)}{\delta(0,T_i)}$$

One can see that my results are pretty close to Bloomberg's but for whatever reason do not exactly match them. Am I using the correct bootstrapping procedure? I'm wondering whether it's possible to precisely match Bloomberg's numbers and if not then how close would be "close enough" so that my curve will provide the same pricing as the one in the Bloomberg?