// Code generated by qtc from "export.qtpl". DO NOT EDIT.
// See https://github.com/valyala/quicktemplate for details.

//line app/vmselect/prometheus/export.qtpl:1
package prometheus

//line app/vmselect/prometheus/export.qtpl:1
import (
	"bytes"
	"math"
	"strings"
	"time"

	"github.com/VictoriaMetrics/VictoriaMetrics/lib/querytracer"
	"github.com/VictoriaMetrics/VictoriaMetrics/lib/storage"
	"github.com/valyala/quicktemplate"
)

//line app/vmselect/prometheus/export.qtpl:14
import (
	qtio422016 "io"

	qt422016 "github.com/valyala/quicktemplate"
)

//line app/vmselect/prometheus/export.qtpl:14
var (
	_ = qtio422016.Copy
	_ = qt422016.AcquireByteBuffer
)

//line app/vmselect/prometheus/export.qtpl:14
func StreamExportCSVLine(qw422016 *qt422016.Writer, xb *exportBlock, fieldNames []string) {
//line app/vmselect/prometheus/export.qtpl:15
	if len(xb.timestamps) == 0 || len(fieldNames) == 0 {
//line app/vmselect/prometheus/export.qtpl:15
		return
//line app/vmselect/prometheus/export.qtpl:15
	}
//line app/vmselect/prometheus/export.qtpl:16
	for i, timestamp := range xb.timestamps {
//line app/vmselect/prometheus/export.qtpl:17
		value := xb.values[i]

//line app/vmselect/prometheus/export.qtpl:18
		streamexportCSVField(qw422016, xb.mn, fieldNames[0], timestamp, value)
//line app/vmselect/prometheus/export.qtpl:19
		for _, fieldName := range fieldNames[1:] {
//line app/vmselect/prometheus/export.qtpl:19
			qw422016.N().S(`,`)
//line app/vmselect/prometheus/export.qtpl:21
			streamexportCSVField(qw422016, xb.mn, fieldName, timestamp, value)
//line app/vmselect/prometheus/export.qtpl:22
		}
//line app/vmselect/prometheus/export.qtpl:23
		qw422016.N().S(`
`)
//line app/vmselect/prometheus/export.qtpl:24
	}
//line app/vmselect/prometheus/export.qtpl:25
}

//line app/vmselect/prometheus/export.qtpl:25
func WriteExportCSVLine(qq422016 qtio422016.Writer, xb *exportBlock, fieldNames []string) {
//line app/vmselect/prometheus/export.qtpl:25
	qw422016 := qt422016.AcquireWriter(qq422016)
//line app/vmselect/prometheus/export.qtpl:25
	StreamExportCSVLine(qw422016, xb, fieldNames)
//line app/vmselect/prometheus/export.qtpl:25
	qt422016.ReleaseWriter(qw422016)
//line app/vmselect/prometheus/export.qtpl:25
}

//line app/vmselect/prometheus/export.qtpl:25
func ExportCSVLine(xb *exportBlock, fieldNames []string) string {
//line app/vmselect/prometheus/export.qtpl:25
	qb422016 := qt422016.AcquireByteBuffer()
//line app/vmselect/prometheus/export.qtpl:25
	WriteExportCSVLine(qb422016, xb, fieldNames)
//line app/vmselect/prometheus/export.qtpl:25
	qs422016 := string(qb422016.B)
//line app/vmselect/prometheus/export.qtpl:25
	qt422016.ReleaseByteBuffer(qb422016)
//line app/vmselect/prometheus/export.qtpl:25
	return qs422016
//line app/vmselect/prometheus/export.qtpl:25
}

//line app/vmselect/prometheus/export.qtpl:27
func streamexportCSVField(qw422016 *qt422016.Writer, mn *storage.MetricName, fieldName string, timestamp int64, value float64) {
//line app/vmselect/prometheus/export.qtpl:28
	if fieldName == "__value__" {
//line app/vmselect/prometheus/export.qtpl:29
		qw422016.N().F(value)
//line app/vmselect/prometheus/export.qtpl:30
		return
//line app/vmselect/prometheus/export.qtpl:31
	}
//line app/vmselect/prometheus/export.qtpl:32
	if fieldName == "__timestamp__" {
//line app/vmselect/prometheus/export.qtpl:33
		qw422016.N().DL(timestamp)
//line app/vmselect/prometheus/export.qtpl:34
		return
//line app/vmselect/prometheus/export.qtpl:35
	}
//line app/vmselect/prometheus/export.qtpl:36
	if strings.HasPrefix(fieldName, "__timestamp__:") {
//line app/vmselect/prometheus/export.qtpl:37
		timeFormat := fieldName[len("__timestamp__:"):]

//line app/vmselect/prometheus/export.qtpl:38
		switch timeFormat {
//line app/vmselect/prometheus/export.qtpl:39
		case "unix_s":
//line app/vmselect/prometheus/export.qtpl:40
			qw422016.N().DL(timestamp / 1000)
//line app/vmselect/prometheus/export.qtpl:41
		case "unix_ms":
//line app/vmselect/prometheus/export.qtpl:42
			qw422016.N().DL(timestamp)
//line app/vmselect/prometheus/export.qtpl:43
		case "unix_ns":
//line app/vmselect/prometheus/export.qtpl:44
			qw422016.N().DL(timestamp * 1e6)
//line app/vmselect/prometheus/export.qtpl:45
		case "rfc3339":
//line app/vmselect/prometheus/export.qtpl:47
			bb := quicktemplate.AcquireByteBuffer()
			bb.B = time.Unix(timestamp/1000, (timestamp%1000)*1e6).AppendFormat(bb.B[:0], time.RFC3339)

//line app/vmselect/prometheus/export.qtpl:50
			qw422016.N().Z(bb.B)
//line app/vmselect/prometheus/export.qtpl:52
			quicktemplate.ReleaseByteBuffer(bb)

//line app/vmselect/prometheus/export.qtpl:54
		default:
//line app/vmselect/prometheus/export.qtpl:55
			if strings.HasPrefix(timeFormat, "custom:") {
//line app/vmselect/prometheus/export.qtpl:57
				layout := timeFormat[len("custom:"):]
				bb := quicktemplate.AcquireByteBuffer()
				bb.B = time.Unix(timestamp/1000, (timestamp%1000)*1e6).AppendFormat(bb.B[:0], layout)

//line app/vmselect/prometheus/export.qtpl:61
				if bytes.ContainsAny(bb.B, `"`+",\n") {
//line app/vmselect/prometheus/export.qtpl:62
					qw422016.E().QZ(bb.B)
//line app/vmselect/prometheus/export.qtpl:63
				} else {
//line app/vmselect/prometheus/export.qtpl:64
					qw422016.N().Z(bb.B)
//line app/vmselect/prometheus/export.qtpl:65
				}
//line app/vmselect/prometheus/export.qtpl:67
				quicktemplate.ReleaseByteBuffer(bb)

//line app/vmselect/prometheus/export.qtpl:69
			} else {
//line app/vmselect/prometheus/export.qtpl:69
				qw422016.N().S(`Unsupported timeFormat=`)
//line app/vmselect/prometheus/export.qtpl:70
				qw422016.N().S(timeFormat)
//line app/vmselect/prometheus/export.qtpl:71
			}
//line app/vmselect/prometheus/export.qtpl:72
		}
//line app/vmselect/prometheus/export.qtpl:73
		return
//line app/vmselect/prometheus/export.qtpl:74
	}
//line app/vmselect/prometheus/export.qtpl:75
	v := mn.GetTagValue(fieldName)

//line app/vmselect/prometheus/export.qtpl:76
	if bytes.ContainsAny(v, `"`+",\n") {
//line app/vmselect/prometheus/export.qtpl:77
		qw422016.N().QZ(v)
//line app/vmselect/prometheus/export.qtpl:78
	} else {
//line app/vmselect/prometheus/export.qtpl:79
		qw422016.N().Z(v)
//line app/vmselect/prometheus/export.qtpl:80
	}
//line app/vmselect/prometheus/export.qtpl:81
}

//line app/vmselect/prometheus/export.qtpl:81
func writeexportCSVField(qq422016 qtio422016.Writer, mn *storage.MetricName, fieldName string, timestamp int64, value float64) {
//line app/vmselect/prometheus/export.qtpl:81
	qw422016 := qt422016.AcquireWriter(qq422016)
//line app/vmselect/prometheus/export.qtpl:81
	streamexportCSVField(qw422016, mn, fieldName, timestamp, value)
//line app/vmselect/prometheus/export.qtpl:81
	qt422016.ReleaseWriter(qw422016)
//line app/vmselect/prometheus/export.qtpl:81
}

//line app/vmselect/prometheus/export.qtpl:81
func exportCSVField(mn *storage.MetricName, fieldName string, timestamp int64, value float64) string {
//line app/vmselect/prometheus/export.qtpl:81
	qb422016 := qt422016.AcquireByteBuffer()
//line app/vmselect/prometheus/export.qtpl:81
	writeexportCSVField(qb422016, mn, fieldName, timestamp, value)
//line app/vmselect/prometheus/export.qtpl:81
	qs422016 := string(qb422016.B)
//line app/vmselect/prometheus/export.qtpl:81
	qt422016.ReleaseByteBuffer(qb422016)
//line app/vmselect/prometheus/export.qtpl:81
	return qs422016
//line app/vmselect/prometheus/export.qtpl:81
}

//line app/vmselect/prometheus/export.qtpl:83
func StreamExportPrometheusLine(qw422016 *qt422016.Writer, xb *exportBlock) {
//line app/vmselect/prometheus/export.qtpl:84
	if len(xb.timestamps) == 0 {
//line app/vmselect/prometheus/export.qtpl:84
		return
//line app/vmselect/prometheus/export.qtpl:84
	}
//line app/vmselect/prometheus/export.qtpl:85
	bb := quicktemplate.AcquireByteBuffer()

//line app/vmselect/prometheus/export.qtpl:86
	writeprometheusMetricName(bb, xb.mn)

//line app/vmselect/prometheus/export.qtpl:87
	for i, ts := range xb.timestamps {
//line app/vmselect/prometheus/export.qtpl:88
		qw422016.N().Z(bb.B)
//line app/vmselect/prometheus/export.qtpl:88
		qw422016.N().S(` `)
//line app/vmselect/prometheus/export.qtpl:89
		qw422016.N().F(xb.values[i])
//line app/vmselect/prometheus/export.qtpl:89
		qw422016.N().S(` `)
//line app/vmselect/prometheus/export.qtpl:90
		qw422016.N().DL(ts)
//line app/vmselect/prometheus/export.qtpl:90
		qw422016.N().S(`
`)
//line app/vmselect/prometheus/export.qtpl:91
	}
//line app/vmselect/prometheus/export.qtpl:92
	quicktemplate.ReleaseByteBuffer(bb)

//line app/vmselect/prometheus/export.qtpl:93
}

//line app/vmselect/prometheus/export.qtpl:93
func WriteExportPrometheusLine(qq422016 qtio422016.Writer, xb *exportBlock) {
//line app/vmselect/prometheus/export.qtpl:93
	qw422016 := qt422016.AcquireWriter(qq422016)
//line app/vmselect/prometheus/export.qtpl:93
	StreamExportPrometheusLine(qw422016, xb)
//line app/vmselect/prometheus/export.qtpl:93
	qt422016.ReleaseWriter(qw422016)
//line app/vmselect/prometheus/export.qtpl:93
}

//line app/vmselect/prometheus/export.qtpl:93
func ExportPrometheusLine(xb *exportBlock) string {
//line app/vmselect/prometheus/export.qtpl:93
	qb422016 := qt422016.AcquireByteBuffer()
//line app/vmselect/prometheus/export.qtpl:93
	WriteExportPrometheusLine(qb422016, xb)
//line app/vmselect/prometheus/export.qtpl:93
	qs422016 := string(qb422016.B)
//line app/vmselect/prometheus/export.qtpl:93
	qt422016.ReleaseByteBuffer(qb422016)
//line app/vmselect/prometheus/export.qtpl:93
	return qs422016
//line app/vmselect/prometheus/export.qtpl:93
}

//line app/vmselect/prometheus/export.qtpl:95
func StreamExportJSONLine(qw422016 *qt422016.Writer, xb *exportBlock) {
//line app/vmselect/prometheus/export.qtpl:96
	if len(xb.timestamps) == 0 {
//line app/vmselect/prometheus/export.qtpl:96
		return
//line app/vmselect/prometheus/export.qtpl:96
	}
//line app/vmselect/prometheus/export.qtpl:96
	qw422016.N().S(`{"metric":`)
//line app/vmselect/prometheus/export.qtpl:98
	streammetricNameObject(qw422016, xb.mn)
//line app/vmselect/prometheus/export.qtpl:98
	qw422016.N().S(`,"values":[`)
//line app/vmselect/prometheus/export.qtpl:100
	if len(xb.values) > 0 {
//line app/vmselect/prometheus/export.qtpl:101
		values := xb.values

//line app/vmselect/prometheus/export.qtpl:102
		streamconvertValueToSpecialJSON(qw422016, values[0])
//line app/vmselect/prometheus/export.qtpl:103
		values = values[1:]

//line app/vmselect/prometheus/export.qtpl:104
		for _, v := range values {
//line app/vmselect/prometheus/export.qtpl:104
			qw422016.N().S(`,`)
//line app/vmselect/prometheus/export.qtpl:105
			streamconvertValueToSpecialJSON(qw422016, v)
//line app/vmselect/prometheus/export.qtpl:106
		}
//line app/vmselect/prometheus/export.qtpl:107
	}
//line app/vmselect/prometheus/export.qtpl:107
	qw422016.N().S(`],"timestamps":[`)
//line app/vmselect/prometheus/export.qtpl:110
	if len(xb.timestamps) > 0 {
//line app/vmselect/prometheus/export.qtpl:111
		timestamps := xb.timestamps

//line app/vmselect/prometheus/export.qtpl:112
		qw422016.N().DL(timestamps[0])
//line app/vmselect/prometheus/export.qtpl:113
		timestamps = timestamps[1:]

//line app/vmselect/prometheus/export.qtpl:114
		for _, ts := range timestamps {
//line app/vmselect/prometheus/export.qtpl:114
			qw422016.N().S(`,`)
//line app/vmselect/prometheus/export.qtpl:115
			qw422016.N().DL(ts)
//line app/vmselect/prometheus/export.qtpl:116
		}
//line app/vmselect/prometheus/export.qtpl:117
	}
//line app/vmselect/prometheus/export.qtpl:117
	qw422016.N().S(`]}`)
//line app/vmselect/prometheus/export.qtpl:119
	qw422016.N().S(`
`)
//line app/vmselect/prometheus/export.qtpl:120
}

//line app/vmselect/prometheus/export.qtpl:120
func WriteExportJSONLine(qq422016 qtio422016.Writer, xb *exportBlock) {
//line app/vmselect/prometheus/export.qtpl:120
	qw422016 := qt422016.AcquireWriter(qq422016)
//line app/vmselect/prometheus/export.qtpl:120
	StreamExportJSONLine(qw422016, xb)
//line app/vmselect/prometheus/export.qtpl:120
	qt422016.ReleaseWriter(qw422016)
//line app/vmselect/prometheus/export.qtpl:120
}

//line app/vmselect/prometheus/export.qtpl:120
func ExportJSONLine(xb *exportBlock) string {
//line app/vmselect/prometheus/export.qtpl:120
	qb422016 := qt422016.AcquireByteBuffer()
//line app/vmselect/prometheus/export.qtpl:120
	WriteExportJSONLine(qb422016, xb)
//line app/vmselect/prometheus/export.qtpl:120
	qs422016 := string(qb422016.B)
//line app/vmselect/prometheus/export.qtpl:120
	qt422016.ReleaseByteBuffer(qb422016)
//line app/vmselect/prometheus/export.qtpl:120
	return qs422016
//line app/vmselect/prometheus/export.qtpl:120
}

//line app/vmselect/prometheus/export.qtpl:122
func StreamExportPromAPILine(qw422016 *qt422016.Writer, xb *exportBlock) {
//line app/vmselect/prometheus/export.qtpl:122
	qw422016.N().S(`{"metric":`)
//line app/vmselect/prometheus/export.qtpl:124
	streammetricNameObject(qw422016, xb.mn)
//line app/vmselect/prometheus/export.qtpl:124
	qw422016.N().S(`,"values":`)
//line app/vmselect/prometheus/export.qtpl:125
	streamvaluesWithTimestamps(qw422016, xb.values, xb.timestamps)
//line app/vmselect/prometheus/export.qtpl:125
	qw422016.N().S(`}`)
//line app/vmselect/prometheus/export.qtpl:127
}

//line app/vmselect/prometheus/export.qtpl:127
func WriteExportPromAPILine(qq422016 qtio422016.Writer, xb *exportBlock) {
//line app/vmselect/prometheus/export.qtpl:127
	qw422016 := qt422016.AcquireWriter(qq422016)
//line app/vmselect/prometheus/export.qtpl:127
	StreamExportPromAPILine(qw422016, xb)
//line app/vmselect/prometheus/export.qtpl:127
	qt422016.ReleaseWriter(qw422016)
//line app/vmselect/prometheus/export.qtpl:127
}

//line app/vmselect/prometheus/export.qtpl:127
func ExportPromAPILine(xb *exportBlock) string {
//line app/vmselect/prometheus/export.qtpl:127
	qb422016 := qt422016.AcquireByteBuffer()
//line app/vmselect/prometheus/export.qtpl:127
	WriteExportPromAPILine(qb422016, xb)
//line app/vmselect/prometheus/export.qtpl:127
	qs422016 := string(qb422016.B)
//line app/vmselect/prometheus/export.qtpl:127
	qt422016.ReleaseByteBuffer(qb422016)
//line app/vmselect/prometheus/export.qtpl:127
	return qs422016
//line app/vmselect/prometheus/export.qtpl:127
}

//line app/vmselect/prometheus/export.qtpl:129
func StreamExportPromAPIHeader(qw422016 *qt422016.Writer) {
//line app/vmselect/prometheus/export.qtpl:129
	qw422016.N().S(`{"status":"success","data":{"resultType":"matrix","result":[`)
//line app/vmselect/prometheus/export.qtpl:135
}

//line app/vmselect/prometheus/export.qtpl:135
func WriteExportPromAPIHeader(qq422016 qtio422016.Writer) {
//line app/vmselect/prometheus/export.qtpl:135
	qw422016 := qt422016.AcquireWriter(qq422016)
//line app/vmselect/prometheus/export.qtpl:135
	StreamExportPromAPIHeader(qw422016)
//line app/vmselect/prometheus/export.qtpl:135
	qt422016.ReleaseWriter(qw422016)
//line app/vmselect/prometheus/export.qtpl:135
}

//line app/vmselect/prometheus/export.qtpl:135
func ExportPromAPIHeader() string {
//line app/vmselect/prometheus/export.qtpl:135
	qb422016 := qt422016.AcquireByteBuffer()
//line app/vmselect/prometheus/export.qtpl:135
	WriteExportPromAPIHeader(qb422016)
//line app/vmselect/prometheus/export.qtpl:135
	qs422016 := string(qb422016.B)
//line app/vmselect/prometheus/export.qtpl:135
	qt422016.ReleaseByteBuffer(qb422016)
//line app/vmselect/prometheus/export.qtpl:135
	return qs422016
//line app/vmselect/prometheus/export.qtpl:135
}

//line app/vmselect/prometheus/export.qtpl:137
func StreamExportPromAPIFooter(qw422016 *qt422016.Writer, qt *querytracer.Tracer) {
//line app/vmselect/prometheus/export.qtpl:137
	qw422016.N().S(`]}`)
//line app/vmselect/prometheus/export.qtpl:141
	qt.Donef("export format=promapi")

//line app/vmselect/prometheus/export.qtpl:143
	streamdumpQueryTrace(qw422016, qt)
//line app/vmselect/prometheus/export.qtpl:143
	qw422016.N().S(`}`)
//line app/vmselect/prometheus/export.qtpl:145
}

//line app/vmselect/prometheus/export.qtpl:145
func WriteExportPromAPIFooter(qq422016 qtio422016.Writer, qt *querytracer.Tracer) {
//line app/vmselect/prometheus/export.qtpl:145
	qw422016 := qt422016.AcquireWriter(qq422016)
//line app/vmselect/prometheus/export.qtpl:145
	StreamExportPromAPIFooter(qw422016, qt)
//line app/vmselect/prometheus/export.qtpl:145
	qt422016.ReleaseWriter(qw422016)
//line app/vmselect/prometheus/export.qtpl:145
}

//line app/vmselect/prometheus/export.qtpl:145
func ExportPromAPIFooter(qt *querytracer.Tracer) string {
//line app/vmselect/prometheus/export.qtpl:145
	qb422016 := qt422016.AcquireByteBuffer()
//line app/vmselect/prometheus/export.qtpl:145
	WriteExportPromAPIFooter(qb422016, qt)
//line app/vmselect/prometheus/export.qtpl:145
	qs422016 := string(qb422016.B)
//line app/vmselect/prometheus/export.qtpl:145
	qt422016.ReleaseByteBuffer(qb422016)
//line app/vmselect/prometheus/export.qtpl:145
	return qs422016
//line app/vmselect/prometheus/export.qtpl:145
}

//line app/vmselect/prometheus/export.qtpl:147
func streamprometheusMetricName(qw422016 *qt422016.Writer, mn *storage.MetricName) {
//line app/vmselect/prometheus/export.qtpl:148
	qw422016.N().Z(mn.MetricGroup)
//line app/vmselect/prometheus/export.qtpl:149
	if len(mn.Tags) > 0 {
//line app/vmselect/prometheus/export.qtpl:149
		qw422016.N().S(`{`)
//line app/vmselect/prometheus/export.qtpl:151
		tags := mn.Tags

//line app/vmselect/prometheus/export.qtpl:152
		qw422016.N().Z(tags[0].Key)
//line app/vmselect/prometheus/export.qtpl:152
		qw422016.N().S(`=`)
//line app/vmselect/prometheus/export.qtpl:152
		qw422016.N().QZ(tags[0].Value)
//line app/vmselect/prometheus/export.qtpl:153
		tags = tags[1:]

//line app/vmselect/prometheus/export.qtpl:154
		for i := range tags {
//line app/vmselect/prometheus/export.qtpl:155
			tag := &tags[i]

//line app/vmselect/prometheus/export.qtpl:155
			qw422016.N().S(`,`)
//line app/vmselect/prometheus/export.qtpl:156
			qw422016.N().Z(tag.Key)
//line app/vmselect/prometheus/export.qtpl:156
			qw422016.N().S(`=`)
//line app/vmselect/prometheus/export.qtpl:156
			qw422016.N().QZ(tag.Value)
//line app/vmselect/prometheus/export.qtpl:157
		}
//line app/vmselect/prometheus/export.qtpl:157
		qw422016.N().S(`}`)
//line app/vmselect/prometheus/export.qtpl:159
	}
//line app/vmselect/prometheus/export.qtpl:160
}

//line app/vmselect/prometheus/export.qtpl:160
func writeprometheusMetricName(qq422016 qtio422016.Writer, mn *storage.MetricName) {
//line app/vmselect/prometheus/export.qtpl:160
	qw422016 := qt422016.AcquireWriter(qq422016)
//line app/vmselect/prometheus/export.qtpl:160
	streamprometheusMetricName(qw422016, mn)
//line app/vmselect/prometheus/export.qtpl:160
	qt422016.ReleaseWriter(qw422016)
//line app/vmselect/prometheus/export.qtpl:160
}

//line app/vmselect/prometheus/export.qtpl:160
func prometheusMetricName(mn *storage.MetricName) string {
//line app/vmselect/prometheus/export.qtpl:160
	qb422016 := qt422016.AcquireByteBuffer()
//line app/vmselect/prometheus/export.qtpl:160
	writeprometheusMetricName(qb422016, mn)
//line app/vmselect/prometheus/export.qtpl:160
	qs422016 := string(qb422016.B)
//line app/vmselect/prometheus/export.qtpl:160
	qt422016.ReleaseByteBuffer(qb422016)
//line app/vmselect/prometheus/export.qtpl:160
	return qs422016
//line app/vmselect/prometheus/export.qtpl:160
}

//line app/vmselect/prometheus/export.qtpl:162
func streamconvertValueToSpecialJSON(qw422016 *qt422016.Writer, v float64) {
//line app/vmselect/prometheus/export.qtpl:163
	if math.IsNaN(v) {
//line app/vmselect/prometheus/export.qtpl:163
		qw422016.N().S(`null`)
//line app/vmselect/prometheus/export.qtpl:165
	} else if math.IsInf(v, 0) {
//line app/vmselect/prometheus/export.qtpl:166
		if v > 0 {
//line app/vmselect/prometheus/export.qtpl:166
			qw422016.N().S(`"Infinity"`)
//line app/vmselect/prometheus/export.qtpl:168
		} else {
//line app/vmselect/prometheus/export.qtpl:168
			qw422016.N().S(`"-Infinity"`)
//line app/vmselect/prometheus/export.qtpl:170
		}
//line app/vmselect/prometheus/export.qtpl:171
	} else {
//line app/vmselect/prometheus/export.qtpl:172
		qw422016.N().F(v)
//line app/vmselect/prometheus/export.qtpl:173
	}
//line app/vmselect/prometheus/export.qtpl:174
}

//line app/vmselect/prometheus/export.qtpl:174
func writeconvertValueToSpecialJSON(qq422016 qtio422016.Writer, v float64) {
//line app/vmselect/prometheus/export.qtpl:174
	qw422016 := qt422016.AcquireWriter(qq422016)
//line app/vmselect/prometheus/export.qtpl:174
	streamconvertValueToSpecialJSON(qw422016, v)
//line app/vmselect/prometheus/export.qtpl:174
	qt422016.ReleaseWriter(qw422016)
//line app/vmselect/prometheus/export.qtpl:174
}

//line app/vmselect/prometheus/export.qtpl:174
func convertValueToSpecialJSON(v float64) string {
//line app/vmselect/prometheus/export.qtpl:174
	qb422016 := qt422016.AcquireByteBuffer()
//line app/vmselect/prometheus/export.qtpl:174
	writeconvertValueToSpecialJSON(qb422016, v)
//line app/vmselect/prometheus/export.qtpl:174
	qs422016 := string(qb422016.B)
//line app/vmselect/prometheus/export.qtpl:174
	qt422016.ReleaseByteBuffer(qb422016)
//line app/vmselect/prometheus/export.qtpl:174
	return qs422016
//line app/vmselect/prometheus/export.qtpl:174
}