diff --git a/tips/TIP-0039/tip-0039.md b/tips/TIP-0039/tip-0039.md
index 14ec4e707..32ec024bf 100644
--- a/tips/TIP-0039/tip-0039.md
+++ b/tips/TIP-0039/tip-0039.md
@@ -60,20 +60,21 @@ It is an essential element of the IOTA protocol, as it is used:
- [**Stored Mana**](#stored-mana) is Mana that is stored in UTXOs and can consequently be moved on the UTXO ledger,
which allows for Mana Market development.
-- [**Potential Mana**](#potential-mana) is generated by holding IOTA coins. The longer the IOTA coins were unspent, the
- more Potential Mana is generated. When an output is spent, its Potential Mana is released and can be transitioned to
- one of its more explicit forms, i.e. Stored Mana or Block Issuance Credits.
-- [**Block Issuance Credit**](#block-issuance-credit) (BIC) is the form of Mana that can be used to issue blocks. During
- a transaction, Stored or Potential Mana can be _allotted_ which moves the Mana off the UTXO ledger and converts it to
- BIC. Only this form of Mana can be used to issue blocks.
-- [**Mana Rewards**](#mana-rewards) reward participation in staking for validation and delegating IOTA coins. The Mana
- rewarded from these activities is not registered in the UTXO ledger and must be moved to it when claiming rewards as
- described in [TIP-40](../TIP-0040/tip-0040.md##mana-rewards).
+- [**Potential Mana**](#potential-mana) is generated by holding IOTA coins.
+ The longer the IOTA coins were unspent, the more Potential Mana is generated.
+ When an output is spent, its Potential Mana is released and can be transitioned to one of its more explicit forms, i.e. Stored Mana or Block Issuance Credits.
+ Note that the Potential Mana is a quatity not explicitly tracked in the ledger state, but easily derived from it.
+- [**Block Issuance Credit**](#block-issuance-credit) (BIC) is the form of Mana used as an anti-spam mechanism to the block issuance process.
+ During a transaction, Stored or Potential Mana can be _allotted as BIC_, which moves the Mana off the UTXO ledger and converts it to Block Issuance Credits.
+ Only this form of Mana can be burnt to issue blocks.
+- [**Mana Rewards**](#mana-rewards) reward participation in staking for validation and delegating IOTA coins.
+ The Mana rewarded from these activities is not registered automatically in the UTXO ledger; thus, rewards must be claimed, as described in [TIP-40](../TIP-0040/tip-0040.md##mana-rewards).
+
+The **Mana holdings** of a user are the sum of all the Potential Mana and Stored Mana in their Account Output that they use to issue blocks.
## Mana Burn
-The **Mana holdings** of a user are the sum of all the Potential Mana and Stored Mana (but not the Mana Rewards) in
-their Account Output that they use to issue blocks. According to the congestion control mechanism, during each block
+According to the congestion control mechanism, during each block
issuance, the block issuer needs to burn a certain amount of Mana dictated by the work score of the block and the
Reference Mana Cost (RMC). The Mana burned by the block is subtracted from the block issuer's BIC balance. Users who
overspend Mana (i.e., try to issue more blocks than their Mana Holdings allow) will have their account locked until
@@ -81,22 +82,22 @@ their debt is paid.
### Reference Mana Cost
-_Reference Mana Cost (RMC)_ is used to decide how much Mana should be burned from BIC by each block in that slot. RMC is
-computed according to an algorithm based on recent traffic activity: the algorithm counts the number of blocks in slots
-that are _Maximum Committable Age (MCA)_ slots in the past so that all nodes agree on that value of RMC and know this
-value in advance (before issuing the block).
+The _Reference Mana Cost (RMC)_ of a slot is used to decide how much Mana should be burned from the user's BIC each time a block is issued in that slot.
+The RMC is computed according to an algorithm based on the recent traffic activity.
+Note that the algorithm takes as in input the number of blocks in certain slots older than _Maximum Committable Age (MCA)_, meaning that all nodes know and agree on the RMC of a slot in advance (even before issuing the block).
From a high-level perspective, the RMC algorithm works as follows:
- If the number of blocks in slot `i - MCA` is larger than a given threshold, then the RMC increases.
-- Otherwise, if the activity is low, the RMC decreases.
-- The rate at which the RMC decreases is higher than its increase to tackle situations where the price suddenly becomes
- too large for the majority of users, and activity drops.
+- Otherwise (i.e., if the activity is low), the RMC decreases.
+- The rate at which the RMC decreases is higher than its increase to tackle situations where the price suddenly becomes too large for the majority of users, and activity drops. (TO DO: update with the final price dynamic design)
+
+To limit fluctuations in the RMC, it is recommended
+to update its value at least every MCA slots.
The RMC update only takes into account the blocks issued by accounts having non-negative BIC balances to avoid price
-manipulations by malicious actors. Note that blocks from issuers with negative BIC balances are excluded with respect to
-the RMC calculation, but they do make part of the slot commitment. To limit fluctuations in the RMC, it is recommended
-to update its value every MCA slot at least.
+manipulations by malicious actors. Note that even though blocks from issuers with negative BIC balances are excluded with respect to
+the RMC calculation, they do make part of the slot commitment.
## Mana Decay
@@ -106,8 +107,10 @@ non-gameability (e.g., splitting accounts or other behaviors that are not helpfu
the fairness of Mana, the same global decay factor needs to be applied to all the above-mentioned forms of Mana.
As the exact formulas in which the decay factor will be applied might differ among the Mana types, it is essential to
-point out that all of them are based on the same exponential decay with the same parameter `β`. The Incentives
-Whitepaper (TODO: Link) provides the specific formula for the decay function in Appendix A.
+point out that all of them are based on the same exponential decay with the same parameter `β`. The [Incentives
+Whitepaper](https://files.iota.org/papers/IOTA_2.0_Incentives_And_Tokenomics_Whitepaper.pdf) provides the specific formula for the decay function in Appendix A.
+To make the formulas and code more intuitive, we define in this TIP an `Annual Decay` multiplicative factor that is mathematically equivalent to the decay mechanism introduced in the Whitepaper.
+This new parameter is defined such that `Annual Decay = exp(-β)`.
Applying decay for the generation of new Mana and staking rewards is conceptually straightforward since it is done at
the time of storing this Mana. Similarly, applying the decay on the already stored Mana happens during the UTXO
@@ -115,7 +118,7 @@ spending. In any of those cases, the node must calculate the decay based on epoc
2Slots Per Epoch Exponent
slots, the epoch changes, meaning that every set of consecutive
2Slots Per Epoch Exponent
slots will be in the same epoch.
-The decay parameter `β` (together with the Mana generation parameter `Mana Structure::Generation Rate`) was set so the
+The decay parameter `Annual Decay` (together with the Mana generation parameter `Mana Structure::Generation Rate`) was set so the
maximum theoretical Mana in the system is smaller than 2Bits Count - 1
, where `Bits Count`
refers to the `Mana Structure::Bits Count` protocol parameter. This means that, even though Mana is stored as a uint64,
it effectively uses less than 64 bits (in the case of BIC, it uses at most `Bits Count + 1` bits, `Bits Count` for the
@@ -127,7 +130,7 @@ unreasonably large value in practice to avoid overflowing of the variables even
### Mana Decay Parameters
The tables below describe the key parameters used for the Mana decay calculations in the next sections of this TIP.
-Notice that the parameters in the first table are only used in the explanations in this TIP, but not in the code.
+Notice that the parameters in the first table are only used in the explanations in this TIP, but not explicitly in the code.
@@ -135,9 +138,9 @@ Notice that the parameters in the first table are only used in the explanations
Description |
- β |
+ Annual Decay |
- Global exponential decay parameter.
+ Global annual decay parameter.
|
@@ -156,6 +159,13 @@ Notice that the parameters in the first table are only used in the explanations
Additionally, we use the protocol parameters, as defined in [TIP-49], and `Decay Factors Length`, defined as the length
of the lookup Table `Decay Factors`.
+We also use an auxiliary `Decay per Epoch` factor, derived from `Annual Decay` and other protocol parameters using the following relation:
+
+Decay per Epoch = Annual Decay(Seconds per Epoch/Seconds per Year)
+
+where
+- `Seconds per Year = 60*60*24*365`
+- Seconds per Epoch = Slot Duration In Seconds * 2Slots Per Epoch Exponent
## Mana and fixed point arithmetics
@@ -171,9 +181,9 @@ point arithmetics.
In the last section of this TIP, we introduce a lookup table that will be used in the rest of this TIP (and possibly
other TIPs), as a tool to perform calculations that would otherwise be done with floating point operations.
Specifically, the [lookup table](#lookup-table) introduced is an integer approximation of 2Decay Factors
-Exponentexp(-βΔn)
, for different values of `n` ranging from 1 to `Decay Factors Length`. For the lookup
+ExponentDecay per Epochn, for different values of `n` ranging from 1 to `Decay Factors Length`. For the lookup
table in this document, we set `Decay Factors Exponent` = 32, `Slots Per Epoch Exponent` = 13,
-`Slot Duration in Seconds` = 10, (which implies that `Δ = 0.002597666159`), and `β = 1/3` per year.
+`Slot Duration in Seconds` = 10, and `Annual Decay` = 0,7.
### How to use the lookup table
@@ -222,11 +232,7 @@ necessarily corresponds to the `epochIndexDiff`th entry of the table.
Other implementations of the functions above are possible; however, one must be careful with the order of operations,
which must be done as defined above. Having a well-defined order is crucial since sequences of divisions and
-multiplications with integers might lead to different results when the order is altered. Example: suppose one needs to
-calculate 1002 * 99 / 100 *21 / 100. Following the left-to-right order, this would result in 1002 _ 99 / 100 _ 21 / 100
-= 99198 / 100 _ 21 / 100 = 991 _ 21 / 100 = 20811 / 100 = 208. If someone did this operation in a different order, let's
-say 1002 _ 21 / 100 _ 99 / 100, the result would be 1002 _ 21 / 100 _ 99 / 100 = 21042 / 100 _ 99 / 100 = 210 _ 99 / 100
-= 20790 / 100 = 207.
+multiplications with integers variables might lead to different results when the order is altered.
## Potential Mana
@@ -238,7 +244,7 @@ transaction that created the UTXO.
### Rationale behind the Potential Mana formulas
We model the potential Mana generated by an output holding `S` IOTA coins as the combination of a fixed generation per
-slot `γS` and a decay equivalent to a multiplication by exp(-βΔ)
every time an epoch ends.
+slot `γS` and a decay equivalent to a multiplication by Decay per Epoch
every time an epoch ends.
![](./img/slots_potential_mana-2.png)
@@ -248,34 +254,36 @@ decayed `n` times. The Mana generated in epoch `i+1` "crosses" n-1 decay boundar
and so on, until the Mana generated in epoch `j`, which is not decayed at all. Adding these values, we find the
following formulas (where d is the number of slots in an epoch):
-Potential Mana = γSd1 exp(-βΔn) + ΣγSd exp(-βΔi) + γSd2
, where the summation is over
+Potential Mana = γSd1 Decay per Epochn + ΣγSd Decay per Epochi + γSd2
, where the summation is over
i = 1,...,n-1
.
Solving the sum, this results:
-Potential Mana = γSd1 exp(-βΔn) + γSd2 + γSd exp(-βΔ) (1 - exp(-βΔ(n-1))) /
-(1-exp(-βΔ))
,
+Potential Mana = γSd1 Decay per Epochn + γSd2 + γSd Decay per Epoch (1 - Decay per Epochn-1) /
+(1-Decay per Epoch)
,
-Analogously, if `n=1`, Potential Mana = γSd1 exp(-βΔ) + γSd2
; if `n=0`,
+Analogously, if `n=1`, Potential Mana = γSd1 Decay per Epoch + γSd2
; if `n=0`,
Potential Mana = γSδ
, where δ
is the difference between the creation and consumption slots.
### Potential Mana formulas with fixed point arithmetics
The formulas found in the last section are the exact formulas for the model proposed. However, we must not use floating
point arithmetics, so these formulas must be adapted for the implementation. We begin by rearranging the formula for
-n>1, noticing that we already approximated 2 `Decay Factors Exponent` exp(-βΔi)
by
+n>1, noticing that we already approximated 2 `Decay Factors Exponent` Decay per Epochi
by
`Decay Factors(i)`, where `Decay Factors Exponent` is the precision of the [lookup table](#lookup-table) used. The
parameter `γ` is then represented as `Generation Rate`*2-`Generation Rate Exponent`
, and
-exp(-βΔ)/(1 - exp(-βΔ))
is approximated by
+Decay per Epoch/(1 - Decay per Epoch)
is approximated by
`Decay Factor Epochs Sum`*2-`Decay Factor Epochs Sum Exponent`
. For additional explanations
-about these approximations, see the Incentives Whitepaper.
+about these approximations, see the [Incentives
+Whitepaper](https://files.iota.org/papers/IOTA_2.0_Incentives_And_Tokenomics_Whitepaper.pdf).
We begin by defining an auxiliary procedure `Generate Mana` that (intuitively) generates Mana without applying any type
of decay (note that we use some of the procedures and constants defined in the last sections):
- `Generate Mana(value,slotIndexDiff)` returns the generated mana from holding `value` tokens for `slotIndexDiff` slots,
- without applying any decay: _ if `slotIndexDiff` == 0 or `Generation Rate` == 0, the procedure returns `0` _
- otherwise, it returns `Multiplication And Shift(value, slotIndexDiff * Generation Rate, Generation Rate Exponent)`.
+ without applying any decay:
+ - if `slotIndexDiff` == 0 or `Generation Rate` == 0, the procedure returns `0`
+ - otherwise, it returns `Multiplication And Shift(value, slotIndexDiff * Generation Rate, Generation Rate Exponent)`.
Now we define the procedure `Potential Mana` that actually calculates the Potential Mana using the formulas defined in
the last section (including the decays):
@@ -445,7 +453,7 @@ and underflows.
## Lookup Table
-Lookup Table: Decays for Mana in decay index granularity scaled to 232
+Lookup Table: Decays for Mana in epoch granularity scaled to 232
n |
Type |
@@ -453,1828 +461,1828 @@ and underflows.
1
- | uint32 |
- 4291249941 |
+ uint32 |
+ 4290989755 |
2
- | uint32 |
- 4287535805 |
+ uint32 |
+ 4287015898 |
3
- | uint32 |
- 4283824883 |
+ uint32 |
+ 4283045721 |
4
- | uint32 |
- 4280117173 |
+ uint32 |
+ 4279079221 |
5
- | uint32 |
- 4276412671 |
+ uint32 |
+ 4275116394 |
6
- | uint32 |
- 4272711377 |
+ uint32 |
+ 4271157237 |
7
- | uint32 |
- 4269013285 |
+ uint32 |
+ 4267201747 |
8
- | uint32 |
- 4265318395 |
+ uint32 |
+ 4263249920 |
9
- | uint32 |
- 4261626702 |
+ uint32 |
+ 4259301752 |
10
- | uint32 |
- 4257938205 |
+ uint32 |
+ 4255357241 |
11
- | uint32 |
- 4254252900 |
+ uint32 |
+ 4251416383 |
12
- | uint32 |
- 4250570785 |
+ uint32 |
+ 4247479175 |
13
- | uint32 |
- 4246891856 |
+ uint32 |
+ 4243545613 |
14
- | uint32 |
- 4243216112 |
+ uint32 |
+ 4239615693 |
15
- | uint32 |
- 4239543550 |
+ uint32 |
+ 4235689414 |
16
- | uint32 |
- 4235874166 |
+ uint32 |
+ 4231766770 |
17
- | uint32 |
- 4232207957 |
+ uint32 |
+ 4227847759 |
18
- | uint32 |
- 4228544922 |
+ uint32 |
+ 4223932377 |
19
- | uint32 |
- 4224885058 |
+ uint32 |
+ 4220020622 |
20
- | uint32 |
- 4221228361 |
+ uint32 |
+ 4216112489 |
21
- | uint32 |
- 4217574829 |
+ uint32 |
+ 4212207975 |
22
- | uint32 |
- 4213924459 |
+ uint32 |
+ 4208307077 |
23
- | uint32 |
- 4210277249 |
+ uint32 |
+ 4204409792 |
24
- | uint32 |
- 4206633195 |
+ uint32 |
+ 4200516116 |
25
- | uint32 |
- 4202992295 |
+ uint32 |
+ 4196626046 |
26
- | uint32 |
- 4199354547 |
+ uint32 |
+ 4192739579 |
27
- | uint32 |
- 4195719947 |
+ uint32 |
+ 4188856710 |
28
- | uint32 |
- 4192088493 |
+ uint32 |
+ 4184977438 |
29
- | uint32 |
- 4188460182 |
+ uint32 |
+ 4181101758 |
30
- | uint32 |
- 4184835011 |
+ uint32 |
+ 4177229668 |
31
- | uint32 |
- 4181212978 |
+ uint32 |
+ 4173361163 |
32
- | uint32 |
- 4177594080 |
+ uint32 |
+ 4169496241 |
33
- | uint32 |
- 4173978314 |
+ uint32 |
+ 4165634898 |
34
- | uint32 |
- 4170365677 |
+ uint32 |
+ 4161777132 |
35
- | uint32 |
- 4166756168 |
+ uint32 |
+ 4157922938 |
36
- | uint32 |
- 4163149782 |
+ uint32 |
+ 4154072313 |
37
- | uint32 |
- 4159546518 |
+ uint32 |
+ 4150225254 |
38
- | uint32 |
- 4155946372 |
+ uint32 |
+ 4146381758 |
39
- | uint32 |
- 4152349343 |
+ uint32 |
+ 4142541822 |
40
- | uint32 |
- 4148755427 |
+ uint32 |
+ 4138705441 |
41
- | uint32 |
- 4145164621 |
+ uint32 |
+ 4134872614 |
42
- | uint32 |
- 4141576923 |
+ uint32 |
+ 4131043336 |
43
- | uint32 |
- 4137992331 |
+ uint32 |
+ 4127217604 |
44
- | uint32 |
- 4134410840 |
+ uint32 |
+ 4123395415 |
45
- | uint32 |
- 4130832450 |
+ uint32 |
+ 4119576766 |
46
- | uint32 |
- 4127257157 |
+ uint32 |
+ 4115761654 |
47
- | uint32 |
- 4123684959 |
+ uint32 |
+ 4111950074 |
48
- | uint32 |
- 4120115852 |
+ uint32 |
+ 4108142024 |
49
- | uint32 |
- 4116549834 |
+ uint32 |
+ 4104337501 |
50
- | uint32 |
- 4112986903 |
+ uint32 |
+ 4100536502 |
51
- | uint32 |
- 4109427055 |
+ uint32 |
+ 4096739022 |
52
- | uint32 |
- 4105870289 |
+ uint32 |
+ 4092945060 |
53
- | uint32 |
- 4102316601 |
+ uint32 |
+ 4089154610 |
54
- | uint32 |
- 4098765988 |
+ uint32 |
+ 4085367672 |
55
- | uint32 |
- 4095218449 |
+ uint32 |
+ 4081584240 |
56
- | uint32 |
- 4091673981 |
+ uint32 |
+ 4077804312 |
57
- | uint32 |
- 4088132580 |
+ uint32 |
+ 4074027884 |
58
- | uint32 |
- 4084594244 |
+ uint32 |
+ 4070254954 |
59
- | uint32 |
- 4081058971 |
+ uint32 |
+ 4066485518 |
60
- | uint32 |
- 4077526757 |
+ uint32 |
+ 4062719573 |
61
- | uint32 |
- 4073997601 |
+ uint32 |
+ 4058957115 |
62
- | uint32 |
- 4070471499 |
+ uint32 |
+ 4055198142 |
63
- | uint32 |
- 4066948449 |
+ uint32 |
+ 4051442650 |
64
- | uint32 |
- 4063428449 |
+ uint32 |
+ 4047690636 |
65
- | uint32 |
- 4059911495 |
+ uint32 |
+ 4043942097 |
66
- | uint32 |
- 4056397585 |
+ uint32 |
+ 4040197029 |
67
- | uint32 |
- 4052886716 |
+ uint32 |
+ 4036455429 |
68
- | uint32 |
- 4049378886 |
+ uint32 |
+ 4032717295 |
69
- | uint32 |
- 4045874092 |
+ uint32 |
+ 4028982622 |
70
- | uint32 |
- 4042372332 |
+ uint32 |
+ 4025251408 |
71
- | uint32 |
- 4038873602 |
+ uint32 |
+ 4021523650 |
72
- | uint32 |
- 4035377901 |
+ uint32 |
+ 4017799344 |
73
- | uint32 |
- 4031885225 |
+ uint32 |
+ 4014078486 |
74
- | uint32 |
- 4028395572 |
+ uint32 |
+ 4010361075 |
75
- | uint32 |
- 4024908939 |
+ uint32 |
+ 4006647106 |
76
- | uint32 |
- 4021425325 |
+ uint32 |
+ 4002936577 |
77
- | uint32 |
- 4017944725 |
+ uint32 |
+ 3999229484 |
78
- | uint32 |
- 4014467138 |
+ uint32 |
+ 3995525824 |
79
- | uint32 |
- 4010992560 |
+ uint32 |
+ 3991825594 |
80
- | uint32 |
- 4007520990 |
+ uint32 |
+ 3988128791 |
81
- | uint32 |
- 4004052425 |
+ uint32 |
+ 3984435412 |
82
- | uint32 |
- 4000586862 |
+ uint32 |
+ 3980745453 |
83
- | uint32 |
- 3997124298 |
+ uint32 |
+ 3977058911 |
84
- | uint32 |
- 3993664731 |
+ uint32 |
+ 3973375783 |
85
- | uint32 |
- 3990208159 |
+ uint32 |
+ 3969696066 |
86
- | uint32 |
- 3986754578 |
+ uint32 |
+ 3966019757 |
87
- | uint32 |
- 3983303986 |
+ uint32 |
+ 3962346853 |
88
- | uint32 |
- 3979856381 |
+ uint32 |
+ 3958677350 |
89
- | uint32 |
- 3976411760 |
+ uint32 |
+ 3955011245 |
90
- | uint32 |
- 3972970120 |
+ uint32 |
+ 3951348535 |
91
- | uint32 |
- 3969531459 |
+ uint32 |
+ 3947689218 |
92
- | uint32 |
- 3966095774 |
+ uint32 |
+ 3944033289 |
93
- | uint32 |
- 3962663063 |
+ uint32 |
+ 3940380746 |
94
- | uint32 |
- 3959233323 |
+ uint32 |
+ 3936731586 |
95
- | uint32 |
- 3955806551 |
+ uint32 |
+ 3933085805 |
96
- | uint32 |
- 3952382745 |
+ uint32 |
+ 3929443400 |
97
- | uint32 |
- 3948961903 |
+ uint32 |
+ 3925804369 |
98
- | uint32 |
- 3945544021 |
+ uint32 |
+ 3922168708 |
99
- | uint32 |
- 3942129098 |
+ uint32 |
+ 3918536413 |
100
- | uint32 |
- 3938717130 |
+ uint32 |
+ 3914907483 |
101
- | uint32 |
- 3935308116 |
+ uint32 |
+ 3911281913 |
102
- | uint32 |
- 3931902052 |
+ uint32 |
+ 3907659701 |
103
- | uint32 |
- 3928498936 |
+ uint32 |
+ 3904040843 |
104
- | uint32 |
- 3925098765 |
+ uint32 |
+ 3900425337 |
105
- | uint32 |
- 3921701537 |
+ uint32 |
+ 3896813179 |
106
- | uint32 |
- 3918307250 |
+ uint32 |
+ 3893204366 |
107
- | uint32 |
- 3914915900 |
+ uint32 |
+ 3889598896 |
108
- | uint32 |
- 3911527486 |
+ uint32 |
+ 3885996764 |
109
- | uint32 |
- 3908142004 |
+ uint32 |
+ 3882397968 |
110
- | uint32 |
- 3904759453 |
+ uint32 |
+ 3878802505 |
111
- | uint32 |
- 3901379829 |
+ uint32 |
+ 3875210372 |
112
- | uint32 |
- 3898003131 |
+ uint32 |
+ 3871621566 |
113
- | uint32 |
- 3894629355 |
+ uint32 |
+ 3868036083 |
114
- | uint32 |
- 3891258499 |
+ uint32 |
+ 3864453920 |
115
- | uint32 |
- 3887890560 |
+ uint32 |
+ 3860875075 |
116
- | uint32 |
- 3884525537 |
+ uint32 |
+ 3857299544 |
117
- | uint32 |
- 3881163426 |
+ uint32 |
+ 3853727325 |
118
- | uint32 |
- 3877804224 |
+ uint32 |
+ 3850158414 |
119
- | uint32 |
- 3874447931 |
+ uint32 |
+ 3846592808 |
120
- | uint32 |
- 3871094542 |
+ uint32 |
+ 3843030504 |
121
- | uint32 |
- 3867744056 |
+ uint32 |
+ 3839471499 |
122
- | uint32 |
- 3864396469 |
+ uint32 |
+ 3835915790 |
123
- | uint32 |
- 3861051780 |
+ uint32 |
+ 3832363374 |
124
- | uint32 |
- 3857709986 |
+ uint32 |
+ 3828814248 |
125
- | uint32 |
- 3854371084 |
+ uint32 |
+ 3825268408 |
126
- | uint32 |
- 3851035072 |
+ uint32 |
+ 3821725853 |
127
- | uint32 |
- 3847701948 |
+ uint32 |
+ 3818186578 |
128
- | uint32 |
- 3844371708 |
+ uint32 |
+ 3814650580 |
129
- | uint32 |
- 3841044351 |
+ uint32 |
+ 3811117858 |
130
- | uint32 |
- 3837719873 |
+ uint32 |
+ 3807588407 |
131
- | uint32 |
- 3834398273 |
+ uint32 |
+ 3804062225 |
132
- | uint32 |
- 3831079548 |
+ uint32 |
+ 3800539308 |
133
- | uint32 |
- 3827763695 |
+ uint32 |
+ 3797019654 |
134
- | uint32 |
- 3824450713 |
+ uint32 |
+ 3793503259 |
135
- | uint32 |
- 3821140597 |
+ uint32 |
+ 3789990121 |
136
- | uint32 |
- 3817833347 |
+ uint32 |
+ 3786480237 |
137
- | uint32 |
- 3814528959 |
+ uint32 |
+ 3782973602 |
138
- | uint32 |
- 3811227431 |
+ uint32 |
+ 3779470216 |
139
- | uint32 |
- 3807928760 |
+ uint32 |
+ 3775970074 |
140
- | uint32 |
- 3804632945 |
+ uint32 |
+ 3772473173 |
141
- | uint32 |
- 3801339982 |
+ uint32 |
+ 3768979511 |
142
- | uint32 |
- 3798049869 |
+ uint32 |
+ 3765489084 |
143
- | uint32 |
- 3794762604 |
+ uint32 |
+ 3762001889 |
144
- | uint32 |
- 3791478184 |
+ uint32 |
+ 3758517924 |
145
- | uint32 |
- 3788196607 |
+ uint32 |
+ 3755037186 |
146
- | uint32 |
- 3784917870 |
+ uint32 |
+ 3751559671 |
147
- | uint32 |
- 3781641970 |
+ uint32 |
+ 3748085377 |
148
- | uint32 |
- 3778368907 |
+ uint32 |
+ 3744614300 |
149
- | uint32 |
- 3775098676 |
+ uint32 |
+ 3741146437 |
150
- | uint32 |
- 3771831275 |
+ uint32 |
+ 3737681787 |
151
- | uint32 |
- 3768566702 |
+ uint32 |
+ 3734220344 |
152
- | uint32 |
- 3765304955 |
+ uint32 |
+ 3730762108 |
153
- | uint32 |
- 3762046031 |
+ uint32 |
+ 3727307074 |
154
- | uint32 |
- 3758789928 |
+ uint32 |
+ 3723855240 |
155
- | uint32 |
- 3755536643 |
+ uint32 |
+ 3720406602 |
156
- | uint32 |
- 3752286174 |
+ uint32 |
+ 3716961158 |
157
- | uint32 |
- 3749038518 |
+ uint32 |
+ 3713518905 |
158
- | uint32 |
- 3745793673 |
+ uint32 |
+ 3710079840 |
159
- | uint32 |
- 3742551636 |
+ uint32 |
+ 3706643960 |
160
- | uint32 |
- 3739312405 |
+ uint32 |
+ 3703211262 |
161
- | uint32 |
- 3736075978 |
+ uint32 |
+ 3699781742 |
162
- | uint32 |
- 3732842352 |
+ uint32 |
+ 3696355399 |
163
- | uint32 |
- 3729611525 |
+ uint32 |
+ 3692932229 |
164
- | uint32 |
- 3726383494 |
+ uint32 |
+ 3689512229 |
165
- | uint32 |
- 3723158258 |
+ uint32 |
+ 3686095396 |
166
- | uint32 |
- 3719935812 |
+ uint32 |
+ 3682681728 |
167
- | uint32 |
- 3716716156 |
+ uint32 |
+ 3679271221 |
168
- | uint32 |
- 3713499286 |
+ uint32 |
+ 3675863872 |
169
- | uint32 |
- 3710285201 |
+ uint32 |
+ 3672459679 |
170
- | uint32 |
- 3707073897 |
+ uint32 |
+ 3669058639 |
171
- | uint32 |
- 3703865373 |
+ uint32 |
+ 3665660748 |
172
- | uint32 |
- 3700659626 |
+ uint32 |
+ 3662266004 |
173
- | uint32 |
- 3697456653 |
+ uint32 |
+ 3658874404 |
174
- | uint32 |
- 3694256453 |
+ uint32 |
+ 3655485944 |
175
- | uint32 |
- 3691059023 |
+ uint32 |
+ 3652100623 |
176
- | uint32 |
- 3687864360 |
+ uint32 |
+ 3648718437 |
177
- | uint32 |
- 3684672462 |
+ uint32 |
+ 3645339383 |
178
- | uint32 |
- 3681483326 |
+ uint32 |
+ 3641963459 |
179
- | uint32 |
- 3678296951 |
+ uint32 |
+ 3638590661 |
180
- | uint32 |
- 3675113334 |
+ uint32 |
+ 3635220986 |
181
- | uint32 |
- 3671932472 |
+ uint32 |
+ 3631854432 |
182
- | uint32 |
- 3668754363 |
+ uint32 |
+ 3628490996 |
183
- | uint32 |
- 3665579005 |
+ uint32 |
+ 3625130675 |
184
- | uint32 |
- 3662406395 |
+ uint32 |
+ 3621773465 |
185
- | uint32 |
- 3659236531 |
+ uint32 |
+ 3618419365 |
186
- | uint32 |
- 3656069411 |
+ uint32 |
+ 3615068371 |
187
- | uint32 |
- 3652905032 |
+ uint32 |
+ 3611720480 |
188
- | uint32 |
- 3649743392 |
+ uint32 |
+ 3608375690 |
189
- | uint32 |
- 3646584488 |
+ uint32 |
+ 3605033997 |
190
- | uint32 |
- 3643428318 |
+ uint32 |
+ 3601695399 |
191
- | uint32 |
- 3640274880 |
+ uint32 |
+ 3598359893 |
192
- | uint32 |
- 3637124172 |
+ uint32 |
+ 3595027476 |
193
- | uint32 |
- 3633976190 |
+ uint32 |
+ 3591698145 |
194
- | uint32 |
- 3630830933 |
+ uint32 |
+ 3588371897 |
195
- | uint32 |
- 3627688398 |
+ uint32 |
+ 3585048730 |
196
- | uint32 |
- 3624548583 |
+ uint32 |
+ 3581728640 |
197
- | uint32 |
- 3621411486 |
+ uint32 |
+ 3578411625 |
198
- | uint32 |
- 3618277104 |
+ uint32 |
+ 3575097682 |
199
- | uint32 |
- 3615145434 |
+ uint32 |
+ 3571786808 |
200
- | uint32 |
- 3612016476 |
+ uint32 |
+ 3568479000 |
201
- | uint32 |
- 3608890225 |
+ uint32 |
+ 3565174255 |
202
- | uint32 |
- 3605766680 |
+ uint32 |
+ 3561872571 |
203
- | uint32 |
- 3602645839 |
+ uint32 |
+ 3558573944 |
204
- | uint32 |
- 3599527699 |
+ uint32 |
+ 3555278373 |
205
- | uint32 |
- 3596412257 |
+ uint32 |
+ 3551985853 |
206
- | uint32 |
- 3593299512 |
+ uint32 |
+ 3548696383 |
207
- | uint32 |
- 3590189461 |
+ uint32 |
+ 3545409959 |
208
- | uint32 |
- 3587082102 |
+ uint32 |
+ 3542126578 |
209
- | uint32 |
- 3583977433 |
+ uint32 |
+ 3538846238 |
210
- | uint32 |
- 3580875450 |
+ uint32 |
+ 3535568936 |
211
- | uint32 |
- 3577776153 |
+ uint32 |
+ 3532294669 |
212
- | uint32 |
- 3574679537 |
+ uint32 |
+ 3529023435 |
213
- | uint32 |
- 3571585602 |
+ uint32 |
+ 3525755230 |
214
- | uint32 |
- 3568494345 |
+ uint32 |
+ 3522490051 |
215
- | uint32 |
- 3565405764 |
+ uint32 |
+ 3519227897 |
216
- | uint32 |
- 3562319855 |
+ uint32 |
+ 3515968763 |
217
- | uint32 |
- 3559236618 |
+ uint32 |
+ 3512712648 |
218
- | uint32 |
- 3556156049 |
+ uint32 |
+ 3509459548 |
219
- | uint32 |
- 3553078146 |
+ uint32 |
+ 3506209461 |
220
- | uint32 |
- 3550002907 |
+ uint32 |
+ 3502962384 |
221
- | uint32 |
- 3546930330 |
+ uint32 |
+ 3499718314 |
222
- | uint32 |
- 3543860413 |
+ uint32 |
+ 3496477248 |
223
- | uint32 |
- 3540793152 |
+ uint32 |
+ 3493239183 |
224
- | uint32 |
- 3537728546 |
+ uint32 |
+ 3490004118 |
225
- | uint32 |
- 3534666593 |
+ uint32 |
+ 3486772048 |
226
- | uint32 |
- 3531607290 |
+ uint32 |
+ 3483542972 |
227
- | uint32 |
- 3528550634 |
+ uint32 |
+ 3480316886 |
228
- | uint32 |
- 3525496624 |
+ uint32 |
+ 3477093788 |
229
- | uint32 |
- 3522445258 |
+ uint32 |
+ 3473873674 |
230
- | uint32 |
- 3519396533 |
+ uint32 |
+ 3470656543 |
231
- | uint32 |
- 3516350446 |
+ uint32 |
+ 3467442391 |
232
- | uint32 |
- 3513306995 |
+ uint32 |
+ 3464231216 |
233
- | uint32 |
- 3510266179 |
+ uint32 |
+ 3461023014 |
234
- | uint32 |
- 3507227995 |
+ uint32 |
+ 3457817784 |
235
- | uint32 |
- 3504192440 |
+ uint32 |
+ 3454615522 |
236
- | uint32 |
- 3501159513 |
+ uint32 |
+ 3451416225 |
237
- | uint32 |
- 3498129210 |
+ uint32 |
+ 3448219892 |
238
- | uint32 |
- 3495101531 |
+ uint32 |
+ 3445026518 |
239
- | uint32 |
- 3492076472 |
+ uint32 |
+ 3441836102 |
240
- | uint32 |
- 3489054031 |
+ uint32 |
+ 3438648641 |
241
- | uint32 |
- 3486034206 |
+ uint32 |
+ 3435464131 |
242
- | uint32 |
- 3483016995 |
+ uint32 |
+ 3432282571 |
243
- | uint32 |
- 3480002395 |
+ uint32 |
+ 3429103957 |
244
- | uint32 |
- 3476990404 |
+ uint32 |
+ 3425928286 |
245
- | uint32 |
- 3473981020 |
+ uint32 |
+ 3422755557 |
246
- | uint32 |
- 3470974241 |
+ uint32 |
+ 3419585766 |
247
- | uint32 |
- 3467970065 |
+ uint32 |
+ 3416418910 |
248
- | uint32 |
- 3464968488 |
+ uint32 |
+ 3413254987 |
249
- | uint32 |
- 3461969510 |
+ uint32 |
+ 3410093995 |
250
- | uint32 |
- 3458973127 |
+ uint32 |
+ 3406935929 |
251
- | uint32 |
- 3455979337 |
+ uint32 |
+ 3403780789 |
252
- | uint32 |
- 3452988139 |
+ uint32 |
+ 3400628570 |
253
- | uint32 |
- 3449999530 |
+ uint32 |
+ 3397479270 |
254
- | uint32 |
- 3447013507 |
+ uint32 |
+ 3394332887 |
255
- | uint32 |
- 3444030069 |
+ uint32 |
+ 3391189418 |
256
- | uint32 |
- 3441049213 |
+ uint32 |
+ 3388048860 |
257
- | uint32 |
- 3438070937 |
+ uint32 |
+ 3384911211 |
258
- | uint32 |
- 3435095238 |
+ uint32 |
+ 3381776467 |
259
- | uint32 |
- 3432122115 |
+ uint32 |
+ 3378644627 |
260
- | uint32 |
- 3429151566 |
+ uint32 |
+ 3375515686 |
261
- | uint32 |
- 3426183587 |
+ uint32 |
+ 3372389644 |
262
- | uint32 |
- 3423218178 |
+ uint32 |
+ 3369266496 |
263
- | uint32 |
- 3420255335 |
+ uint32 |
+ 3366146241 |
264
- | uint32 |
- 3417295056 |
+ uint32 |
+ 3363028875 |
265
- | uint32 |
- 3414337339 |
+ uint32 |
+ 3359914396 |
266
- | uint32 |
- 3411382183 |
+ uint32 |
+ 3356802802 |
267
- | uint32 |
- 3408429584 |
+ uint32 |
+ 3353694089 |
268
- | uint32 |
- 3405479541 |
+ uint32 |
+ 3350588256 |
269
- | uint32 |
- 3402532051 |
+ uint32 |
+ 3347485298 |
270
- | uint32 |
- 3399587112 |
+ uint32 |
+ 3344385214 |
271
- | uint32 |
- 3396644722 |
+ uint32 |
+ 3341288001 |
272
- | uint32 |
- 3393704878 |
+ uint32 |
+ 3338193657 |
273
- | uint32 |
- 3390767579 |
+ uint32 |
+ 3335102178 |
274
- | uint32 |
- 3387832823 |
+ uint32 |
+ 3332013562 |
275
- | uint32 |
- 3384900606 |
+ uint32 |
+ 3328927806 |
276
- | uint32 |
- 3381970927 |
+ uint32 |
+ 3325844909 |
277
- | uint32 |
- 3379043784 |
+ uint32 |
+ 3322764866 |
278
- | uint32 |
- 3376119175 |
+ uint32 |
+ 3319687675 |
279
- | uint32 |
- 3373197097 |
+ uint32 |
+ 3316613335 |
280
- | uint32 |
- 3370277548 |
+ uint32 |
+ 3313541841 |
281
- | uint32 |
- 3367360525 |
+ uint32 |
+ 3310473192 |
282
- | uint32 |
- 3364446028 |
+ uint32 |
+ 3307407385 |
283
- | uint32 |
- 3361534053 |
+ uint32 |
+ 3304344417 |
284
- | uint32 |
- 3358624598 |
+ uint32 |
+ 3301284286 |
285
- | uint32 |
- 3355717662 |
+ uint32 |
+ 3298226988 |
286
- | uint32 |
- 3352813241 |
+ uint32 |
+ 3295172522 |
287
- | uint32 |
- 3349911335 |
+ uint32 |
+ 3292120885 |
288
- | uint32 |
- 3347011940 |
+ uint32 |
+ 3289072074 |
289
- | uint32 |
- 3344115054 |
+ uint32 |
+ 3286026086 |
290
- | uint32 |
- 3341220676 |
+ uint32 |
+ 3282982919 |
291
- | uint32 |
- 3338328803 |
+ uint32 |
+ 3279942570 |
292
- | uint32 |
- 3335439433 |
+ uint32 |
+ 3276905037 |
293
- | uint32 |
- 3332552563 |
+ uint32 |
+ 3273870317 |
294
- | uint32 |
- 3329668193 |
+ uint32 |
+ 3270838408 |
295
- | uint32 |
- 3326786318 |
+ uint32 |
+ 3267809306 |
296
- | uint32 |
- 3323906939 |
+ uint32 |
+ 3264783010 |
297
- | uint32 |
- 3321030051 |
+ uint32 |
+ 3261759516 |
298
- | uint32 |
- 3318155653 |
+ uint32 |
+ 3258738822 |
299
- | uint32 |
- 3315283743 |
+ uint32 |
+ 3255720926 |
300
- | uint32 |
- 3312414319 |
+ uint32 |
+ 3252705824 |
301
- | uint32 |
- 3309547378 |
+ uint32 |
+ 3249693515 |
302
- | uint32 |
- 3306682918 |
+ uint32 |
+ 3246683996 |
303
- | uint32 |
- 3303820938 |
+ uint32 |
+ 3243677263 |
304
- | uint32 |
- 3300961435 |
+ uint32 |
+ 3240673315 |
305
- | uint32 |
- 3298104407 |
+ uint32 |
+ 3237672149 |
306
- | uint32 |
- 3295249852 |
+ uint32 |
+ 3234673763 |
307
- | uint32 |
- 3292397767 |
+ uint32 |
+ 3231678153 |
308
- | uint32 |
- 3289548151 |
+ uint32 |
+ 3228685317 |
309
- | uint32 |
- 3286701001 |
+ uint32 |
+ 3225695253 |
310
- | uint32 |
- 3283856315 |
+ uint32 |
+ 3222707958 |
311
- | uint32 |
- 3281014092 |
+ uint32 |
+ 3219723430 |
312
- | uint32 |
- 3278174328 |
+ uint32 |
+ 3216741666 |
313
- | uint32 |
- 3275337023 |
+ uint32 |
+ 3213762662 |
314
- | uint32 |
- 3272502173 |
+ uint32 |
+ 3210786418 |
315
- | uint32 |
- 3269669777 |
+ uint32 |
+ 3207812930 |
316
- | uint32 |
- 3266839832 |
+ uint32 |
+ 3204842196 |
317
- | uint32 |
- 3264012336 |
+ uint32 |
+ 3201874213 |
318
- | uint32 |
- 3261187288 |
+ uint32 |
+ 3198908979 |
319
- | uint32 |
- 3258364685 |
+ uint32 |
+ 3195946490 |
320
- | uint32 |
- 3255544525 |
+ uint32 |
+ 3192986746 |
321
- | uint32 |
- 3252726806 |
+ uint32 |
+ 3190029742 |
322
- | uint32 |
- 3249911526 |
+ uint32 |
+ 3187075477 |
323
- | uint32 |
- 3247098682 |
+ uint32 |
+ 3184123947 |
324
- | uint32 |
- 3244288273 |
+ uint32 |
+ 3181175151 |
325
- | uint32 |
- 3241480296 |
+ uint32 |
+ 3178229086 |
326
- | uint32 |
- 3238674749 |
+ uint32 |
+ 3175285749 |
327
- | uint32 |
- 3235871631 |
+ uint32 |
+ 3172345138 |
328
- | uint32 |
- 3233070939 |
+ uint32 |
+ 3169407251 |
329
- | uint32 |
- 3230272671 |
+ uint32 |
+ 3166472084 |
330
- | uint32 |
- 3227476825 |
+ uint32 |
+ 3163539635 |
331
- | uint32 |
- 3224683399 |
+ uint32 |
+ 3160609902 |
332
- | uint32 |
- 3221892391 |
+ uint32 |
+ 3157682882 |
333
- | uint32 |
- 3219103798 |
+ uint32 |
+ 3154758573 |
334
- | uint32 |
- 3216317619 |
+ uint32 |
+ 3151836972 |
335
- | uint32 |
- 3213533851 |
+ uint32 |
+ 3148918077 |
336
- | uint32 |
- 3210752492 |
+ uint32 |
+ 3146001885 |
337
- | uint32 |
- 3207973541 |
+ uint32 |
+ 3143088393 |
338
- | uint32 |
- 3205196995 |
+ uint32 |
+ 3140177600 |
339
- | uint32 |
- 3202422853 |
+ uint32 |
+ 3137269503 |
340
- | uint32 |
- 3199651111 |
+ uint32 |
+ 3134364098 |
341
- | uint32 |
- 3196881768 |
+ uint32 |
+ 3131461384 |
342
- | uint32 |
- 3194114823 |
+ uint32 |
+ 3128561359 |
343
- | uint32 |
- 3191350272 |
+ uint32 |
+ 3125664019 |
344
- | uint32 |
- 3188588114 |
+ uint32 |
+ 3122769362 |
345
- | uint32 |
- 3185828346 |
+ uint32 |
+ 3119877387 |
346
- | uint32 |
- 3183070967 |
+ uint32 |
+ 3116988089 |
347
- | uint32 |
- 3180315975 |
+ uint32 |
+ 3114101467 |
348
- | uint32 |
- 3177563367 |
+ uint32 |
+ 3111217518 |
349
- | uint32 |
- 3174813142 |
+ uint32 |
+ 3108336240 |
350
- | uint32 |
- 3172065297 |
+ uint32 |
+ 3105457631 |
351
- | uint32 |
- 3169319830 |
+ uint32 |
+ 3102581687 |
352
- | uint32 |
- 3166576739 |
+ uint32 |
+ 3099708407 |
353
- | uint32 |
- 3163836023 |
+ uint32 |
+ 3096837788 |
354
- | uint32 |
- 3161097679 |
+ uint32 |
+ 3093969827 |
355
- | uint32 |
- 3158361705 |
+ uint32 |
+ 3091104522 |
356
- | uint32 |
- 3155628099 |
+ uint32 |
+ 3088241871 |
357
- | uint32 |
- 3152896859 |
+ uint32 |
+ 3085381870 |
358
- | uint32 |
- 3150167982 |
+ uint32 |
+ 3082524519 |
359
- | uint32 |
- 3147441468 |
+ uint32 |
+ 3079669813 |
360
- | uint32 |
- 3144717314 |
+ uint32 |
+ 3076817752 |
361
- | uint32 |
- 3141995517 |
+ uint32 |
+ 3073968331 |
362
- | uint32 |
- 3139276076 |
+ uint32 |
+ 3071121550 |
363
- | uint32 |
- 3136558989 |
+ uint32 |
+ 3068277404 |
364
- | uint32 |
- 3133844253 |
+ uint32 |
+ 3065435893 |
365
- | uint32 |
- 3131131867 |
+ uint32 |
+ 3062597013 |