package runtime
type lockRank int
const (
lockRankUnknown lockRank = iota
lockRankSysmon
lockRankScavenge
lockRankForcegc
lockRankDefer
lockRankSweepWaiters
lockRankAssistQueue
lockRankSweep
lockRankTestR
lockRankTestW
lockRankTimerSend
lockRankAllocmW
lockRankExecW
lockRankCpuprof
lockRankPollCache
lockRankPollDesc
lockRankWakeableSleep
lockRankHchan
lockRankAllocmR
lockRankExecR
lockRankSched
lockRankAllg
lockRankAllp
lockRankNotifyList
lockRankSudog
lockRankTimers
lockRankTimer
lockRankNetpollInit
lockRankRoot
lockRankItab
lockRankReflectOffs
lockRankUserArenaState
lockRankTraceBuf
lockRankTraceStrings
lockRankFin
lockRankSpanSetSpine
lockRankMspanSpecial
lockRankTraceTypeTab
lockRankGcBitsArenas
lockRankProfInsert
lockRankProfBlock
lockRankProfMemActive
lockRankProfMemFuture
lockRankGscan
lockRankStackpool
lockRankStackLarge
lockRankHchanLeaf
lockRankWbufSpans
lockRankMheap
lockRankMheapSpecial
lockRankGlobalAlloc
lockRankTrace
lockRankTraceStackTab
lockRankPanic
lockRankDeadlock
lockRankRaceFini
lockRankAllocmRInternal
lockRankExecRInternal
lockRankTestRInternal
)
const lockRankLeafRank lockRank = 1000
var lockNames = []string {
lockRankSysmon : "sysmon" ,
lockRankScavenge : "scavenge" ,
lockRankForcegc : "forcegc" ,
lockRankDefer : "defer" ,
lockRankSweepWaiters : "sweepWaiters" ,
lockRankAssistQueue : "assistQueue" ,
lockRankSweep : "sweep" ,
lockRankTestR : "testR" ,
lockRankTestW : "testW" ,
lockRankTimerSend : "timerSend" ,
lockRankAllocmW : "allocmW" ,
lockRankExecW : "execW" ,
lockRankCpuprof : "cpuprof" ,
lockRankPollCache : "pollCache" ,
lockRankPollDesc : "pollDesc" ,
lockRankWakeableSleep : "wakeableSleep" ,
lockRankHchan : "hchan" ,
lockRankAllocmR : "allocmR" ,
lockRankExecR : "execR" ,
lockRankSched : "sched" ,
lockRankAllg : "allg" ,
lockRankAllp : "allp" ,
lockRankNotifyList : "notifyList" ,
lockRankSudog : "sudog" ,
lockRankTimers : "timers" ,
lockRankTimer : "timer" ,
lockRankNetpollInit : "netpollInit" ,
lockRankRoot : "root" ,
lockRankItab : "itab" ,
lockRankReflectOffs : "reflectOffs" ,
lockRankUserArenaState : "userArenaState" ,
lockRankTraceBuf : "traceBuf" ,
lockRankTraceStrings : "traceStrings" ,
lockRankFin : "fin" ,
lockRankSpanSetSpine : "spanSetSpine" ,
lockRankMspanSpecial : "mspanSpecial" ,
lockRankTraceTypeTab : "traceTypeTab" ,
lockRankGcBitsArenas : "gcBitsArenas" ,
lockRankProfInsert : "profInsert" ,
lockRankProfBlock : "profBlock" ,
lockRankProfMemActive : "profMemActive" ,
lockRankProfMemFuture : "profMemFuture" ,
lockRankGscan : "gscan" ,
lockRankStackpool : "stackpool" ,
lockRankStackLarge : "stackLarge" ,
lockRankHchanLeaf : "hchanLeaf" ,
lockRankWbufSpans : "wbufSpans" ,
lockRankMheap : "mheap" ,
lockRankMheapSpecial : "mheapSpecial" ,
lockRankGlobalAlloc : "globalAlloc" ,
lockRankTrace : "trace" ,
lockRankTraceStackTab : "traceStackTab" ,
lockRankPanic : "panic" ,
lockRankDeadlock : "deadlock" ,
lockRankRaceFini : "raceFini" ,
lockRankAllocmRInternal : "allocmRInternal" ,
lockRankExecRInternal : "execRInternal" ,
lockRankTestRInternal : "testRInternal" ,
}
func (rank lockRank ) String () string {
if rank == 0 {
return "UNKNOWN"
}
if rank == lockRankLeafRank {
return "LEAF"
}
if rank < 0 || int (rank ) >= len (lockNames ) {
return "BAD RANK"
}
return lockNames [rank ]
}
var lockPartialOrder [][]lockRank = [][]lockRank {
lockRankSysmon : {},
lockRankScavenge : {lockRankSysmon },
lockRankForcegc : {lockRankSysmon },
lockRankDefer : {},
lockRankSweepWaiters : {},
lockRankAssistQueue : {},
lockRankSweep : {},
lockRankTestR : {},
lockRankTestW : {},
lockRankTimerSend : {},
lockRankAllocmW : {},
lockRankExecW : {},
lockRankCpuprof : {},
lockRankPollCache : {},
lockRankPollDesc : {},
lockRankWakeableSleep : {},
lockRankHchan : {lockRankSysmon , lockRankScavenge , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankWakeableSleep , lockRankHchan },
lockRankAllocmR : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan },
lockRankExecR : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan },
lockRankSched : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR },
lockRankAllg : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched },
lockRankAllp : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched },
lockRankNotifyList : {},
lockRankSudog : {lockRankSysmon , lockRankScavenge , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankWakeableSleep , lockRankHchan , lockRankNotifyList },
lockRankTimers : {lockRankSysmon , lockRankScavenge , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankTimers },
lockRankTimer : {lockRankSysmon , lockRankScavenge , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankTimers },
lockRankNetpollInit : {lockRankSysmon , lockRankScavenge , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankTimers , lockRankTimer },
lockRankRoot : {},
lockRankItab : {},
lockRankReflectOffs : {lockRankItab },
lockRankUserArenaState : {},
lockRankTraceBuf : {lockRankSysmon , lockRankScavenge },
lockRankTraceStrings : {lockRankSysmon , lockRankScavenge , lockRankTraceBuf },
lockRankFin : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankTimers , lockRankTimer , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings },
lockRankSpanSetSpine : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankTimers , lockRankTimer , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings },
lockRankMspanSpecial : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankTimers , lockRankTimer , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings },
lockRankTraceTypeTab : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankTimers , lockRankTimer , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings },
lockRankGcBitsArenas : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankTimers , lockRankTimer , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings , lockRankMspanSpecial },
lockRankProfInsert : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankTimers , lockRankTimer , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings },
lockRankProfBlock : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankTimers , lockRankTimer , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings },
lockRankProfMemActive : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankTimers , lockRankTimer , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings },
lockRankProfMemFuture : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankTimers , lockRankTimer , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings , lockRankProfMemActive },
lockRankGscan : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankTimers , lockRankTimer , lockRankNetpollInit , lockRankRoot , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings , lockRankFin , lockRankSpanSetSpine , lockRankMspanSpecial , lockRankGcBitsArenas , lockRankProfInsert , lockRankProfBlock , lockRankProfMemActive , lockRankProfMemFuture },
lockRankStackpool : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankTimers , lockRankTimer , lockRankNetpollInit , lockRankRoot , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings , lockRankFin , lockRankSpanSetSpine , lockRankMspanSpecial , lockRankGcBitsArenas , lockRankProfInsert , lockRankProfBlock , lockRankProfMemActive , lockRankProfMemFuture , lockRankGscan },
lockRankStackLarge : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankTimers , lockRankTimer , lockRankNetpollInit , lockRankRoot , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings , lockRankFin , lockRankSpanSetSpine , lockRankMspanSpecial , lockRankGcBitsArenas , lockRankProfInsert , lockRankProfBlock , lockRankProfMemActive , lockRankProfMemFuture , lockRankGscan },
lockRankHchanLeaf : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankTimers , lockRankTimer , lockRankNetpollInit , lockRankRoot , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings , lockRankFin , lockRankSpanSetSpine , lockRankMspanSpecial , lockRankGcBitsArenas , lockRankProfInsert , lockRankProfBlock , lockRankProfMemActive , lockRankProfMemFuture , lockRankGscan , lockRankHchanLeaf },
lockRankWbufSpans : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankDefer , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollCache , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankSudog , lockRankTimers , lockRankTimer , lockRankNetpollInit , lockRankRoot , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings , lockRankFin , lockRankSpanSetSpine , lockRankMspanSpecial , lockRankGcBitsArenas , lockRankProfInsert , lockRankProfBlock , lockRankProfMemActive , lockRankProfMemFuture , lockRankGscan },
lockRankMheap : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankDefer , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollCache , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankSudog , lockRankTimers , lockRankTimer , lockRankNetpollInit , lockRankRoot , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings , lockRankFin , lockRankSpanSetSpine , lockRankMspanSpecial , lockRankGcBitsArenas , lockRankProfInsert , lockRankProfBlock , lockRankProfMemActive , lockRankProfMemFuture , lockRankGscan , lockRankStackpool , lockRankStackLarge , lockRankWbufSpans },
lockRankMheapSpecial : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankDefer , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollCache , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankSudog , lockRankTimers , lockRankTimer , lockRankNetpollInit , lockRankRoot , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings , lockRankFin , lockRankSpanSetSpine , lockRankMspanSpecial , lockRankGcBitsArenas , lockRankProfInsert , lockRankProfBlock , lockRankProfMemActive , lockRankProfMemFuture , lockRankGscan , lockRankStackpool , lockRankStackLarge , lockRankWbufSpans , lockRankMheap },
lockRankGlobalAlloc : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankDefer , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollCache , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankSudog , lockRankTimers , lockRankTimer , lockRankNetpollInit , lockRankRoot , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings , lockRankFin , lockRankSpanSetSpine , lockRankMspanSpecial , lockRankGcBitsArenas , lockRankProfInsert , lockRankProfBlock , lockRankProfMemActive , lockRankProfMemFuture , lockRankGscan , lockRankStackpool , lockRankStackLarge , lockRankWbufSpans , lockRankMheap , lockRankMheapSpecial },
lockRankTrace : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankDefer , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollCache , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankSudog , lockRankTimers , lockRankTimer , lockRankNetpollInit , lockRankRoot , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings , lockRankFin , lockRankSpanSetSpine , lockRankMspanSpecial , lockRankGcBitsArenas , lockRankProfInsert , lockRankProfBlock , lockRankProfMemActive , lockRankProfMemFuture , lockRankGscan , lockRankStackpool , lockRankStackLarge , lockRankWbufSpans , lockRankMheap },
lockRankTraceStackTab : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankDefer , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollCache , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR , lockRankExecR , lockRankSched , lockRankAllg , lockRankAllp , lockRankNotifyList , lockRankSudog , lockRankTimers , lockRankTimer , lockRankNetpollInit , lockRankRoot , lockRankItab , lockRankReflectOffs , lockRankUserArenaState , lockRankTraceBuf , lockRankTraceStrings , lockRankFin , lockRankSpanSetSpine , lockRankMspanSpecial , lockRankGcBitsArenas , lockRankProfInsert , lockRankProfBlock , lockRankProfMemActive , lockRankProfMemFuture , lockRankGscan , lockRankStackpool , lockRankStackLarge , lockRankWbufSpans , lockRankMheap , lockRankTrace },
lockRankPanic : {},
lockRankDeadlock : {lockRankPanic , lockRankDeadlock },
lockRankRaceFini : {lockRankPanic },
lockRankAllocmRInternal : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankAllocmW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankAllocmR },
lockRankExecRInternal : {lockRankSysmon , lockRankScavenge , lockRankForcegc , lockRankSweepWaiters , lockRankAssistQueue , lockRankSweep , lockRankTestR , lockRankTimerSend , lockRankExecW , lockRankCpuprof , lockRankPollDesc , lockRankWakeableSleep , lockRankHchan , lockRankExecR },
lockRankTestRInternal : {lockRankTestR , lockRankTestW },
}
The pages are generated with Golds v0.7.0-preview . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds .